When speaking with prospective customers, our sales team is often asked if it is possible to automatically create and update a contact record based on the information entered into a custom entity record.
For example, a university may have a custom parent entity that is used to store information about students’ parents. On certain occasions, the university will want to send emails to these parents, and to do so they must have each parent’s information stored in a lead, contact, or account record. In this blog post, we’ll outline how to set up a pair of workflows that will automatically create and update a contact record for each parent (or any other custom entity) record so that emails can easily be sent out to these parents via the contact records at any time.
To automatically create a contact when a parent is created, and to keep this contact current with any updates to the information on the parent record, you will need two workflows: one that runs when a parent record is created and another that runs when a parent record is updated. We’ll call these the “Create Contact” and “Update Contact” workflows, respectively. Both workflows should have parent as the primary entity and will need a scope that is appropriate to your CRM’s structure. An organizational scope will allow the workflows to run on every parent record in your CRM, though you should check with your CRM admin if you are unsure of what the appropriate scope is for your organization.
Note that while the “Create contact from parent” workflow will always work, the “Update contact from parent” workflow will only work if the parent has a 1:1 or N:1 relationship with contacts. With any other kind of relationship, CRM’s workflow functionality will not be able to access the existing contact via the parent.
The “Create contact from parent” workflow should run when a parent record is created and have a Create Contact step that creates a contact record and uses the workflow’s dynamic values to pull the desired information from the parent record into the contact record. Then, use an Update Record step to update the parent record’s “contact” lookup field with the contact that was just created; this is crucial for the second workflow to function properly.
Here is an example of the overall “Create contact from parent” workflow:
And here is an example of the properties for this workflow’s Create Contact step. Note the dynamic values pulling the email and business phone from the parent record:
And, finally, an example of the update parent step:
The “update contact from parent” workflow should run when a parent record’s fields change. You specify in the workflow which specific fields on the parent record will trigger the workflow when updated. This workflow should use an Update Record step to update the parent’s associated contact with the current info pulled from the parent record. You will need to be sure to use dynamic values to pull information into every important field that may have been updated. This way, no matter which field was updated, all of the current information is brought in.
Here is an example of the overall “Update contact from parent” workflow:
Once you have activated these two workflows, any time a new parent (or any custom entity you have set this up with) is created, a contact will be created, associated to the parent, and filled with the desired information from the parent record. As existing parent records are updated, their contacts will automatically be updated with the current information.
If, after setting this up, you would like to send an email to all of the parent’s contacts, all you need to do is create a marketing list and add every contact that has an associated parent record where email (or any other required field) contains data. You can of course get more specific with your filtering as necessary.