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.

FieldTypeRequiredDefaultConstraintsExample
list_id
Emelia list to act on; leave blank to use the list named on the connection.
stringNo——65f0a1b2c3d4e5f6a7b8c9d0
email
Email address of the contact; Emelia matches duplicates on it.
stringNo—email formatjane@example.com
linkedin_url
LinkedIn profile URL of the contact; Emelia matches duplicates on it too.
stringNo—url formathttps://www.linkedin.com/in/janedoe/
first_name
First name of the contact.
stringNo———
last_name
Last name of the contact.
stringNo———
full_name
Full name of the contact, when you do not have the parts separately.
stringNo———
phone
Phone number of the contact.
stringNo———
job_title
Job title of the contact.
stringNo———
seniority
Seniority level of the contact.
stringNo———
department
Department the contact works in.
stringNo———
gender
Gender of the contact, as you record it.
stringNo———
language
Language the contact should be written to in.
stringNo———
country
Country of the contact.
stringNo———
region
Region or state of the contact.
stringNo———
city
City of the contact.
stringNo———
postal_code
Postal code of the contact.
stringNo———
address
Street address of the contact.
stringNo———
timezone
Timezone of the contact, as an IANA name.
stringNo———
fields
Company fields and custom variables as a JSON object; unknown keys create a new custom variable on your Emelia account.
objectNo——{"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.
booleanNofalse——
  • 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

FieldTypeExample
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.