CRM Contacts
Contacts store individual’s contact details and other customer-specific data (including extended custom fields) that is either collected via the website, manually added via the admin, or created via external API connections.
Contacts form the basis of all users interactions with your CRM and can form connections to various other modules throughout the CMS, including Form Submissions, Event Bookings, Orders, and even other system or custom module items.
Managing Contacts
View
From the Contacts list view you can see all Contacts in a paginated table layout (with pagination controls at the bottom of the table) and a sortable column header for the 'Name' field.
Additionally, you’ll find controls for adding, editing and deleting Contacts, as detailed further below.
Icons, displayed against each Contact row, also indicate the Contact State in which you can see more information on below.
Search/Advanced Search
You can also search the Contact list via the search field at the top of the table, which will search for your keyword/s within the item name and email address.
Additionally, to the right of the search field you can expand open the Advanced Search options. These allow you to display results based on ‘CRM Type’ (whether they are general Contacts or subscribed secure zone members) and ‘Member Type’ (whether the member has successfully been through the email verification process [Confirmed member] or not [Non-confirmed member]).
Regardless of the email verification flow setting (found under ‘Settings’ > ‘Misc’ > ‘CRM Settings’), or the member’s icon in the CRM list, the member’s verification state only becomes ‘verified’ if they have actioned the email verification link sent by Treepl CMS, or a site admin has edited and saved the Contact's password manually.
For more information on Contact/member states, see the documentation for Contact States below.
Import/Export
Found under the main auxiliary menu (), you can import/export data to/from your Contacts. You can further add/update your Contacts in bulk using a spreadsheet application and re-import them in an Excel file format (.xlsx).
Use the "Get Import Template" option from the auxiliary menu, or export the current items, in order to get a template import file you can use for importing new data.
If re-importing to update existing items, be sure to maintain the same 'ID' values from those exported items.
Conflicts & Updating Existing Contacts via Import
When importing Contacts where there is an existing email address, or where you’ve included the existing item ID for updating, a few checks will be performed by the system.
The logic is as follows:
If the import item includes an ID (in the ‘ID’ column of the spreadsheet) but the email address specified in the import is different to the database, the system will first check if the new email address already exists in the database (on another Contact). If it doesn’t, the Contact will be updated with the new email address. However, if it does already exist, the whole item will be skipped with no updates made to that record.
Where no ID is specified, the system will still check all email addresses for duplicates, and if found, will update the existing Contact as per the import file.
New email addresses will, of course, create new Contact records in the database.
Delete
Individual items can be deleted either by clicking the trash can icon () to the right of the item or when on the item's edit page, click the trash can icon () in the lower right of the page.
Additionally, you can make bulk selections from the item list view (by ticking the checkboxes on the left of each item) and click the "DELETE SELECTION" button that will appear at the base of the list view.
Populating Contacts
From the Contacts item list view, click the “ADD NEW CONTACT” button at the top to start creating a new item or click directly on the name (or pencil icon "") of any existing item in the list to view/edit its details.
Upon viewing/editing an item you'll have access to the following data, as detailed below:
Details
The Contacts detail view will display any currently populated system fields, along with all added Advanced CRM Groups.
Clicking “EDIT” at the bottom of the page will allow for editing these fields and adding custom fields.
An explanation of the system fields is as follows:
No password value will be shown here even if there is a password assigned to the contact.
The contact’s `Type` is also available in the Liquid output from both the
CRMContacts
component and the request.currentMember
object, for use in custom Liquid applications.General This is the default Role for a CRM contact and defines the standard behaviour and functionality for a contact record.
Admin User With this Role assigned, the CRM contact gains the following admin permissions when performing website front-end actions:
- Ability to edit another CRM contact’s information or secure zone settings via the ‘Update Member Form’ (found in the Component Manager under ‘Secure Zone’ or rendered by the
member_update_form
component).
Assigning this Admin role to a CRM contact counts towards the site’s Admin User limit.
You can override this need for individual contact data listing and allow all CRM contacts data to be output via the front-end by adjusting the GDPR setting found at 'Settings' > 'Misc' > 'GDPR Settings'.
Custom Fields
You can assign Advanced CRM Groups to an individual Contact by clicking the “+ Add custom fields” link at the bottom of the contact’s edit details page.
For further information on managing custom fields, see the documentation on Advanced CRM Groups.
Form Submissions
This section provides a similar view as per the main ‘CRM’ > ‘Form Submissions’ component of the CRM, but specifically for Form Submissions owned by the Contact currently being viewed.
For more information on viewing these, see the documentation for Form Submissions.
Subscriptions
This section provides an interface for managing the Contact’s Mailing List and Secure Zone subscription status (if applicable for your site plan).
Mailing Lists
If you are using an integrated mailing list solution and have mailing list/s created, you’ll see those lists available here for manually subscribing/unsubscribing the Contact.
See the documentation for more information on mailing lists here.
Secure Zones
If you are using secure zones on your site, you’ll see those secure zones available here for manually subscribing/unsubscribing the Contact, along with setting an expiry date that the secure zone access will be applicable for.
If the secure zone is a paid recurring zone and the current Contact has an active paid subscription, there will also be a “Cancel recurring subscription” link alongside the relevant zone. This enables you to stop the contacts' future payments and remove their secure zone access.
Further options for secure zones include:
“SEND PASSWORD RECOVERY E-MAIL”, allowing you to send the “Password Retrieve Email” system email (which generates the contact’s reset password link).
“SEND LOGIN DETAILS E-MAIL”, allowing you to send the “Secure Zone Login Details” system email (which lists the zones they have access to).
“RESEND VERIFICATION”, allowing you to send the “Confirm Email Notification” system email (which generates a one-time use, tokenised link to verify the validity of the email address being sent to).
This button will not be visible if the member is already verified, or if you have unchecked the ‘Enable email verification flow’ setting (found under ‘Settings’ > ‘Misc’ > ‘CRM Settings’).
See the documentation for more information on System Emails here.
Contact Statuses
Displayed alongside Contact record names you may see various icons.
These icons indicate the current member/admin status for that Contact and can be described as follows:
Front-End Updating Contacts Logic
How a Contact’s CRM fields are updated after a front-end form submission depends on the Contact’s status in the CRM.
For example; existing stored data against a non-verified Contact can be overridden by subsequent form submissions. However, for verified Contacts (with a ‘member’ status), their data should be protected from unauthorised updates.
Below is a table describing when a Contact’s data is or isn’t updated (based on a front-end form submission that isn’t a Secure Zone registration form):
The logic changes slightly for front-end forms that subscribe Contacts to a Secure Zone (assuming current password entered for those Contact's already Members), as described in the table below:
To update a Contact’s CRM fields, of which has a ‘member’ status, it would be best to use the Update Account Form or the ‘member_update_form’ component.
Related Articles
- OpenAPI (Admin)
CRM Contacts API
Create, Retrieve, Update and Delete CRM Contacts via the public API endpoint using "where" filtering as well as retrieve a contact's Bookings, Cases and Orders. The contact's Secure Zone details can also be retrieved and password reset via this API. - Reports
Custom Reports
Custom reports can be used to bring CRM data together, as a spreadsheet, based on your requirements. - OpenAPI (Admin)
Customer Types API
Retrieve Customer Types via the public API endpoint. - CRM
Form Submissions
Form Submissions store the captured data from any form submission made on your website (from a form created under ‘Content’ > ‘Forms’). - CRM
Event Bookings
Event Bookings store all registrations made to an Event item, either via the website front-end or manually allocated via the admin. - CRM
Orders
Orders store accounts of any payments made via the website and provide management for additional payments, invoices, order statuses, tracking info, the products purchased within the order and the details of the form submission used to take the order. - CRM
Advanced CRM Groups
Advanced CRM Groups allow you to extend the data fields within multiple areas of the CRM, either globally or on a per-record basis. - Liquid Components
CRMContacts
This component fetches CRM Record data to use on the front-end via Liquid. - Liquid Components
CRMCustomGroup
This component fetches Advanced CRM Group data attached to CRM Records, Cases, Orders or Event Bookings. - Liquid Components
member_update_form
This component renders a contact update form for a specified CRM contact so that a CRM Admin role, who is logged in to the front-end, can update the specified contact’s CRM info or secure zone subscriptions.
External Resources
There are currently no external resources available.
Please let us know if you have any other contributions or know of any helpful resources you'd like to see added here.
Questions?
We are always happy to help with any questions you may have.
Visit the Treepl Forum for community support and to search previously asked questions or send us a message at support@treepl.co and we will consult you as soon as possible.