Sunday, May 24, 2015 - 07:24
Written by

When preparing an email newsletter, one part of it that is time consuming is gathering together all the content that is needed. In my experience, virtually all the content already exists elsewhere, such as in the local CMS, in CiviCRM, or on a blog, or some other online source.    So I was thinking how can I make this process easier.  What I did: I created mail merge tokens for CiviCRM that autofill a list of recent blog posts, stories, or any other type or category of CMS content.  So the end-user sees a list of tokens, one for each content type, each term/category, each aggregator feed,  and for each date range. Such as "Content of type 'blog' created in the last 7 days" .  What is particulary powerful about this approach, is that if you are also using a CMS aggregator (such as the aggregator module in Drupal core) then virually any external RSS feed is turned into CMS content, which is now available as a CiviCRM token. (The original blog post about this extension is at: )

Thanks to community involvement (specifically thanks to, there is a new version of the Content Token extension.  This version now supports Joomla, in addition to Drupal7, Drupal6, and WordPress.

The lastest version of the "Content Token" extension can be downloaded from:

If you like this extension, you will also likely enjoy my other extension: the "Fancy Token" extension which provides tokens for upcoming events, contribution pages, profiles, and WebForms. 

I am looking forward to getting feedback on this.

File attachments: 
Image icon content tokens screen print136.82 KB


What a great piece of work! Thank you. Creating email newsletters and suchlike is a big time consumer for many organisations, and this will make things a whole lot easier. 

I'm wondering about the possibility of utlising this approach to deliver tailored content to users driven by their subject interests: e.g.if they aretaggedorin groups based on their subject area interests, could that somehow be leveraged by the token mechanism such that a only content tagged with matching taxonony terms is pulled in? I'm working a client right now who would love for this to be do-able.

This seems like a very interesting idea. What it sounds like you want: If the recipient contact is in a group called "xyz" then include content with taxonomy/category term "xyz". 

Questions:  What would the list of CiviCRM tokens look like when the back-office user clicks "Insert Token" ?  What if the contact is in 59 groups? Should my extension logic attempt to include content from 59 taxonomy terms? 


Congrats on this very useful-looking extension. And cross-cms compatability... cool!

"What would the list of tokens look like?" Good question, and as you point out if there are lots of categories it needs to be able to cope without having an unworkable number of tokens. I guess what I'm thinking about is a token that is itself tokenised (for wnat of a better way of explaining it), so that at the point of creation of the email the intended recipient's subject interests (be that recorded by tag or group) are checked, and the tokenised token is then replaced by the relevant tokens denoting the appropriate taxonomy term, and then each of those tokens pulls in the appropriate content.

Not sure if that helps?

Saved a lot of work  but now I have Civi 4.7 - Wondering If there is a version for 4.7 soon? Also Fancey Tokens?