I am looking to sync CiviCRM Contacts with a content type in Drupal. Basically, I need to relate the contact information, via a 'person' content type, to other entities in Drupal(content types, taxonomies, files, etc). Also need to have it smoothly integrate with SearchAPI/FacetAPI, which having the information synced to a Drupal content type would give me. So far all I can seem to find is information covering how to sync contacts from CiviCRM to 'users' in Drupal, which I do not want to do.

At first, it seemed as though the CiviCRM entity module would work(https://www.drupal.org/project/civicrm_entity), but I don't see an obvious way to add Drupal fields to CiviCRM entities on the Drupal side.


Apologies, I should clarify. I do not need to push any data from Drupal to CiviCRM in this case. I just need to make sure that my 'person' records in Drupal are linked to 'contact' records in CiviCRM in such a way as the person's contact fields in Drupal(first name, last name, email, address, etc) are synced to grab the most recent data from their CiviCRM 'contact' field counterparts. The views integration is great and is working for displaying data from CiviCRM entities, no problems there. What I need is the glue for grabbing the contact field data from CiviCRM into a Drupal content type. Looking into services to see if it will fit for this, thank you.

2 Answers 2


It depends what you are after. You can use CiviCRM Contact Reference Field and this gives you a field on Node that you can then pull in the civi data. Having done that you can then pull in other civi data to that node via Views. You can see an example of this in action here where the Node is the Party, there is a reference field on that node to the Party contact in civi - and then the info about the Party eg Contact details are pulled on the page via Views using a Context Filter for 'nid from current node).

Then the MPs in the list lower on the page are pulled in because they have a Civi relationship to the Party ;-)

The Leaders on the other hand are 'node referenced' to the party in Drupal. And if you click through to a Leader page you get the same deal. The MP page has 'civi reference' field to the MP civi contact. And all the other blocks are pulling in data eg Nodes that are node referencing back to this node.

Hope that gives you some ideas and partially answers your question.


I've also edited my answer, Drupal services module https://www.drupal.org/project/services will do the trick for smooth integration with SearchAPI/FacetAPI.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.