Add Contact To List
emelia.add_contact
ActionEmailconnection required
Calls the Emelia API with the connection's credentials.
Add one contact to a list, and to every campaign that list feeds.
Connection
- Required
- Yes — the node will not save without one
- Auth type
- API key
- Providers
- Emelia
- Secret shape
- the API key, or {"api_key": "…"}
- Config it needs
- list_id
- Resolved by
- config.connection_id, else node.connection_id
Configuration
20 fields, none required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.
| Field | Type | Required | Default | Constraints | Example |
|---|---|---|---|---|---|
list_id Emelia list to act on; leave blank to use the list named on the connection. | string | No | — | — | 65f0a1b2c3d4e5f6a7b8c9d0 |
email Email address of the contact; Emelia matches duplicates on it. | string | No | — | email format | jane@example.com |
linkedin_url LinkedIn profile URL of the contact; Emelia matches duplicates on it too. | string | No | — | url format | https://www.linkedin.com/in/janedoe/ |
first_name First name of the contact. | string | No | — | — | — |
last_name Last name of the contact. | string | No | — | — | — |
full_name Full name of the contact, when you do not have the parts separately. | string | No | — | — | — |
phone Phone number of the contact. | string | No | — | — | — |
job_title Job title of the contact. | string | No | — | — | — |
seniority Seniority level of the contact. | string | No | — | — | — |
department Department the contact works in. | string | No | — | — | — |
gender Gender of the contact, as you record it. | string | No | — | — | — |
language Language the contact should be written to in. | string | No | — | — | — |
country Country of the contact. | string | No | — | — | — |
region Region or state of the contact. | string | No | — | — | — |
city City of the contact. | string | No | — | — | — |
postal_code Postal code of the contact. | string | No | — | — | — |
address Street address of the contact. | string | No | — | — | — |
timezone Timezone of the contact, as an IANA name. | string | No | — | — | — |
fields Company fields and custom variables as a JSON object; unknown keys create a new custom variable on your Emelia account. | object | No | — | — | {"companyName":"Acme Corp","icebreaker":"Loved your last article!"} |
update_if_exists Update the existing contact when the list already holds this email or LinkedIn URL, instead of leaving it untouched. | boolean | No | false | — | — |
- At least one of email, linkedin_url must be set.
Example configuration
Every value below is the contract’s own example or default — nothing invented.
{
"email": "jane@example.com",
"fields": {
"companyName": "Acme Corp",
"icebreaker": "Loved your last article!"
},
"linkedin_url": "https://www.linkedin.com/in/janedoe/",
"list_id": "65f0a1b2c3d4e5f6a7b8c9d0",
"update_if_exists": false
}Output
One shape.
result
| Field | Type | Example |
|---|---|---|
lead_id Id of the contact, new or already existing. | string | — |
list_id The list the contact was added to. | string | — |
duplicate True when the list already held this contact. | boolean | — |
updated True when a duplicate was updated in place. | boolean | — |
company_id Id of the company created, when one was. | string | — |
created_custom_variables Custom variables Emelia created on the fly for unrecognised keys. | array | — |
{
"company_id": "",
"created_custom_variables": [],
"duplicate": false,
"lead_id": "",
"list_id": "",
"updated": false
}Notes
- Emelia matches duplicates on the email address and the LinkedIn URL, so one of the two must be set; re-running the same call is safe.
See Add Contact To List run in a workflow.
In a technical demo we add the Emelia connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.