Overview
If you have a CRM or other external system that Apollo does not support with a native integration, leverage Apollo's API to build custom solutions and integrations. The API enables you to update custom fields in Apollo programmatically, including pulling your own custom values from a CRM or external system.
API Key Required
If you have not already created an Apollo API key, follow the steps in the Configure Access to the Apollo REST API article to create a key.
Update a Contact's Custom Field Value
This process details how to find the IDs for custom fields and any accompanying picklist values, and then explains how to update those values using the appropriate endpoint. To review reference information for the Apollo API, refer to Apollo's developer documentation.
To update a custom field value for an Apollo contact:
- Call the following endpoint to retrieve a list of all custom fields in Apollo.
GET https://api.apollo.io/v1/typed_custom_fields?api_key=YOUR_API_KEY_HERE
- In the response, find the ID of each field for a contact that you want to update. If you want to update picklist values, collect the IDs for each of the picklist values.
For this example, Apollo is going to update a custom field calledCustom Field Test
, as shown in the following sample response. The ID for the field is5fc8399eb6ae07008cb7702a
, and the ID for theOption 1
picklist value is5fc8399eb6ae07008cb7702d
.
{
"id": "5fc8399eb6ae07008cb7702a",
"modality": "contact",
"name": "Custom Field Test",
"type": "picklist",
"picklist_options": [],
"mapped_crm_field": null,
"additional_mapped_crm_field": null,
"is_readonly_mapped_crm_field": null,
"picklist_options_last_synced_at": "2020-12-03T01:04:44.000+00:00",
"picklist_value_set_id": "5fc8399eb6ae07008cb7702b",
"mirrored": false,
"system_name": null,
"text_field_max_length": null,
"picklist_values": [
{
"_id": "5fc8399eb6ae07008cb7702d",
"mapped_crm_values": {
"5fc8399eb6ae07008cb7702a": null
},
"name": "Option 1",
"id": "5fc8399eb6ae07008cb7702d",
"key": "5fc8399eb6ae07008cb7702d"
},
{
"_id": "5fc8399eb6ae07008cb7702e",
"mapped_crm_values": {
"5fc8399eb6ae07008cb7702a": null
},
"name": "Option 2",
"id": "5fc8399eb6ae07008cb7702e",
"key": "5fc8399eb6ae07008cb7702e"
},
{
"_id": "5fc8399eb6ae07008cb7702f",
"mapped_crm_values": {
"5fc8399eb6ae07008cb7702a": null
},
"name": "Option 3",
"id": "5fc8399eb6ae07008cb7702f",
"key": "5fc8399eb6ae07008cb7702f"
}
] - With the IDs for your chosen field(s) and picklist value(s), call the following endpoint.
Insert the IDs in thePUT https://api.apollo.io/v1/contacts
typed_custom_fields
parameter, as shown in the following example.{
"api_key": "YOUR_API_KEY",
"id": "RECORD_ID",
"typed_custom_fields": {
"5fc8399eb6ae07008cb7702a": [
"5fc8399eb6ae07008cb7702d"
]
}
} - A
200
status code confirms you updated the values successfully. To check, refresh the record in Apollo and review the information in the updated field(s).