What are Custom Objects?
ActiveCampaign currently supports several standard objects, including Contacts, Accounts, and Deals, to manage your business data. Each object has standard fields, and you can add new fields and tags to adapt these objects to your business needs. You can map data from your business systems and third-party applications onto these standard objects. However, being limited to a small set of standard objects can make managing all your data cumbersome.
Custom Objects enable you to model and manage your data in a way that reflects your unique business. For instance, if you are a music shop who sells instruments and gives lessons, you can build a “Lessons” Custom Object that enables you to manage types of lessons, times, instructors, and customers in an easy way that makes sense to you. You can then trigger automations based on events and data related to your Custom Objects and create more personalized experiences for your customers.
You can combine Custom Object data with other forms of data:
- Third party data sources such as integrated applications (Calendly, etc.)
- Derived behavioral and engagement data
- Manual input
- Your own data imports
You can then use this data to:
- Trigger an automation.
- Create more personalized automated experiences (by having data available to both automation + segmentation logic, actions, and data science models).
- Personalize emails and content for messaging across any channel.
- Empower sales and service professionals with contextual + actionable data views (visible on contact, account and deal records).
Building Custom Objects
From a technical perspective, a Custom Object is a schema that defines a set of related data fields in a database. A record is a unique entry for that Custom Object, such as a Contact signing up for a music lesson. A Custom Object must be associated with the ActiveCampaign Contact standard object.
You define and implement Custom Objects by creating a schema using our Custom Objects API. The primary components of a Custom Object are:
- Schema Properties: these include a unique ID automatically assigned by the system, a unique name that you give the schema, and a set of fields you define for the Custom Object.
- Schema Fields: a list of fields you want to create, including a name for each field and its data type.
- Schema Relationship: the relationship between your new Custom Object and an ActiveCampaign standard object.
In this first iteration of Custom Objects there are some temporary constraints to how they can be built.
- Relationship: Every Custom Object you create must have a one-to-one relationship with the Contact standard object. This is the only type of relationship currently allowed for a Custom Object.
- Deleting a schema also deletes all the records associated with that schema.
When a Custom Object is created, it is automatically displayed in the CRM on the Contact record. Custom Objects are displayed with one tab per Custom Object, below custom contact fields, and above emails, notes, and tasks.
- Custom Object will be displayed if there is a relationship to a Contact, regardless if there is a record associated with the specific contact’s record.
- Up to five tabs will be displayed, any Custom Objects that are not displayed will be available in the menu on the side of the section. Opening the menu will allow for selection of any one of the additional custom objects related to the Contact. (See image below)
- Rows are displayed in descending order based on Created Date, and sort order cannot be changed.
Triggering Automations with Custom Objects
- Create and update triggers: When you create a Custom Object via the API, the system automatically generates associated create and update automation triggers and makes them available in the Select a Trigger modal. If you name your Custom Object “Instrument Rental“ the triggers will be named “Instrument Rental Created” and “Instrument Rental Updated”.
- Custom Object triggers initiate an automation every time a new record is created or updated for that Custom Object. In our example, that could mean every time one of your customers schedules a new “Instrument Rental” with you.
- Custom Object triggers include a filter. You can use the filter to specify if the automation is activated every time a new record is created for the Custom Object, or you can define a segment that defines what values of the new Custom Object record will activate the automation.
Custom Object Segmentation Example
Assume you created a Custom Object named “Instrument Rental” that includes the fields:
- Instrument Type: values could include violin, bass, clarinet, and drum set.
- Rental Type: values could include fall semester, spring semester, and rent to purchase.
You could configure the “Instrument Rental is created” trigger to only activate your automation if the Instrument Type is “violin.”
Inserting a Custom Object Trigger into an Automation
To select and configure a Custom Object trigger and then insert it into your automation:
- Open an automation and click the “Add a start trigger” block.
- In the Select a Trigger modal, click on the “Objects” menu to expand it.
- Select the Custom Object that you want to insert a trigger for.
- Select the associated trigger.
- In the trigger configuration modal, select “All” orders or “Segment” orders.
- If you select “All” then the trigger will activate for every new record associated with the Custom Object.
- If you select “Segment” then you can select a Custom Object field and values to filter which new records activate the automation.
- Select “Save” to insert the trigger into your automation.
In this first iteration of Custom Objects there are a few temporary constraints on how they work with automations.
- Single trigger: When an automation has a Custom Object trigger, that is the only trigger allowed in the automation. We do not currently support multiple Custom Object triggers as an automation or mixing Custom Object triggers with other types of triggers.
- Single filter: You can only use one of the Custom Object’s field values to filter (segment) the new records that will trigger the automation.
- Date/Time not supported in filter: When you create a Custom Object using the API, you can create a Date/Time field. However, when configuring a Custom Object trigger, you cannot currently filter on the Date/Time field.
- Multi-select not supported in filter: When you create a Custom Object using the API, you can create a multi-select field. However, when configuring a Custom Object trigger, you cannot currently select multiple values in a field.
- Create & update records are the only type of triggers we are supporting today.
When you define fields for your Custom Object, the system automatically generates accompanying Personalization tags for each field. This means you can use data from your Custom Object fields to personalize emails and other communications. Custom Object Personalization tags are available in the same places you currently access Personalization tags.
Deleting Custom Objects
Custom Objects can be deleted via the API. Note that currently we only support deleting the entire schema, as opposed to deleting individual fields.
When you delete a Custom Object, the following occurs:
- The Custom Object and its associated triggers will no longer appear in the automation “Select a Trigger” modal.
- Any automations built with that Custom Object trigger will no longer process new events. The trigger itself will not be editable; it must be deleted and a different trigger added if you want to continue sending new Contacts through the automation.
- Contacts that are already running through an automation at the time the Custom Object (and thus the trigger) are deleted will continue to run through the automation. However, be aware the automation may no longer function as you intended. For instance, personalization tags related to the Custom Object will no longer be accessible in emails you created.
- All data in the CRM related to the Custom Object will be deleted.
Test Your Custom Objects for API
- Click on “App Studio” in your sandbox account -- app registration is a requirement at this stage.
- Click “Build A New App” to register your integration. You will receive an App ID
- Create your schemas and test your schemas in a sandbox environment. App ID is required for testing.
Test Your Custom Objects for App Studio
- The creation of a free sandbox account is required.
- Log into your sandbox account, go to “Apps”, then “App Studio”, and then “Build A New App” on the top right hand corner.
- Save your app. Navigate to the “Home” Tab. Click “Start Building”.
- With a valid configuration and schema definition, the app will pass validation checks
- The “Test in Sandbox” button will be enabled when the app is valid. You will be able to test your app including the Custom Object CRM data view, automation triggers, filtering and personalization.
- Partners can submit their CX App with a custom object for review.
Publish your Public Custom Objects Integration
- Associate your schemas to an App ID from your production account/environment
- Publish your schemas attached to an App ID from your production account/environment
- Create a self-guided help document for your Custom Objects integration. Host your help document on your website.
- Complete our Create an App Listing Form to publish app listing in the marketplace
Learn More, Submit Questions, and Get Support!
For more information on creating Custom Object schemas and Records, please see our Custom Objects API Reference. You can also find answers on our developer community forums, or email support at [email protected]
Updated 7 months ago