Everlytic Task¶
Overview¶
The Everlytic task creates and updates contacts in Everlytic, the email and SMS marketing platform. Use it to keep an Everlytic mailing list in step with your CRM — subscribing new leads the moment they arrive, and updating subscriber details when they change in BaseCloud.
The task talks to the Everlytic Contacts API (v2.0) and performs one of two actions per run:
| Action | What it does | HTTP call |
|---|---|---|
create |
Adds a contact and subscribes them to a list | POST /api/2.0/contacts |
edit |
Updates an existing contact by its ID | PUT /api/2.0/contacts/{contact_id} |
When to use this task:
- Subscribe a new lead to a newsletter as soon as a Form Submission or Webhook In trigger fires.
- Push updated contact details to Everlytic after an Edit Client task runs.
- Keep a campaign list synchronised with a segment of your CRM.
Sending the email itself
This task manages contacts and list membership. The campaign send is configured in Everlytic. To send mail directly from a workflow instead, use the Email task.
Quick Start¶
- Add an Everlytic task to your workflow.
- Fill in Account URL, Username and API Key from your Everlytic account.
- Set Action to
create. - Provide List ID and Email — both are required to create a contact.
- Map Name, Last name and Mobile from the trigger data.
- Run a test and confirm the contact appears in the Everlytic list.
Configuration¶
Builder fields¶
The Field column is the label as it appears in the task builder; Key is the name the value is stored under and referenced by.
| Field | Key | Type | Default | Notes |
|---|---|---|---|---|
| Action | action |
select | create |
Options: Create Contact · Edit Contact |
| Account URL | account_url |
text | – | |
| Username | username |
text | – | |
| API Key | api_key |
text | – | |
| List ID | list_id |
text | – | |
| Contact ID | contact_id |
text | – | |
email |
text | – | ||
| First Name | name |
text | – | |
| Last Name | lastname |
text | – | |
| Mobile | mobile |
text | – | |
| Additional Fields | _extra_pairs |
dyn-rows | – |
Connection fields¶
These three are required for every action. Without any one of them the task stops before making a request and reports the missing field.
| Field | Required | Default | Notes |
|---|---|---|---|
| Account URL | Yes | https://account.everlytic.net |
Your Everlytic account endpoint. Change it if your account sits on a different host. |
| Username | Yes | – | Everlytic API username. |
| API Key | Yes | – | Everlytic API key. Sent as HTTP Basic auth alongside the username. |
Action fields¶
| Field | Required for | Notes |
|---|---|---|
| Action | both | create or edit. |
| List ID | create |
The Everlytic list the contact is subscribed to. The contact is added with status subscribed. |
create |
The contact's email address — the identifier Everlytic keys on. | |
| Contact ID | edit |
The Everlytic contact ID to update. |
| Name | optional | First name. |
| Last name | optional | Surname. |
| Mobile | optional | Mobile number. Pair with a Phone Formatter task to normalise it first. |
All fields accept workflow variables, so you can map them straight from the trigger:
Email: {{task_46171_customer_email}}
Name: {{task_46171_customer_firstname}}
Last name: {{task_46171_customer_surname}}
Custom fields¶
Any additional mapping you add to the task that is not one of the fields named above is sent through to Everlytic as-is, under its own key. That is how you populate Everlytic custom fields:
| Mapping key | Value | Sent to Everlytic as |
|---|---|---|
company |
{{task_46171_company_name}} |
company |
signup_source |
website-contact-form |
signup_source |
The key must match the custom field name configured in Everlytic exactly.
Output Fields¶
| Field | Description |
|---|---|
{{task_ID_run}} |
true when Everlytic returned a 2xx response, otherwise false. |
{{task_ID_run_text}} |
Successfully created contact. / Successfully edited contact., or the reason it failed. |
{{task_ID_output}} |
On failure only — the full Everlytic response, for debugging. |
On success the fields of Everlytic's response body are merged into the task output, so a contact id returned by the API is available to later tasks as a flattened field.
Rate limits and retries¶
The task sends through BaseCloud's retrying webhook helper. If Everlytic rate-limits the request,
the task is rescheduled rather than failed — it reports
Rate limited — rescheduled for retry., keeps run as true, and the automation queue re-runs
it after the delay Everlytic asked for. No workflow action is needed.
Real-World Examples¶
Subscribe a website lead to a newsletter¶
Form Submission (trigger)
└─ Match to Client look the client up
└─ Everlytic action: create, list_id: 42, email from the form
Map Email, Name and Last name from the form fields, and add a signup_source mapping with
a fixed value so you can segment on it in Everlytic later.
Keep Everlytic in step after a CRM change¶
Store the Everlytic contact id on the BaseCloud contact as a custom field when you first create it, then map that field into Contact ID here.
Best Practices¶
- Store the Everlytic contact ID.
editneeds it, and there is no lookup-by-email step in this task. Save the id returned bycreateonto the CRM record. - Normalise mobile numbers first. Run a Phone Formatter task before this one so Everlytic receives E.164 values.
- Don't hardcode credentials per task. If several workflows write to Everlytic, keep the account URL, username and key consistent so a key rotation is a predictable edit.
- Guard the create path. Pair with Match to Client or an If Statement so you only subscribe contacts who opted in.
Troubleshooting¶
| Message | Cause and fix |
|---|---|
No account URL supplied. |
The Account URL mapping is empty. It has a default — restore https://account.everlytic.net. |
No username supplied. / No api_key supplied. |
Credentials missing. Both are required before any request is made. |
No list_id supplied, it is required to create a contact. |
create needs a list. Add the Everlytic list ID. |
No contact email supplied, it is required to create a contact. |
The email mapping resolved to empty — usually a variable that did not exist on the trigger. Check the upstream task output. |
No contact_id supplied, it is required to edit a contact. |
edit needs the Everlytic contact ID. |
Failed to create contact. / Failed to edit contact. |
Everlytic returned a non-2xx response. Read {{task_ID_output}} for the API's own error. |
No task mapping provided. |
The task has no configuration saved. Reopen it and fill the fields in. |
Frequently Asked Questions¶
Can the task look a contact up by email?
No. edit matches on the Everlytic contact ID only. Keep the id on your CRM record.
What happens if the contact already exists when I use create?
Everlytic decides. The task reports whatever the API returns — check {{task_ID_output}} if the
result is not what you expected.
Can I unsubscribe someone?
Not directly. create subscribes to the given list; there is no unsubscribe action in this task.
Manage unsubscribes in Everlytic, or through their API with a Webhook Out task.
Can I add a contact to more than one list?
Not in a single run — create takes one list ID. Use one Everlytic task per list.
Related Tasks¶
- Email - Send email directly from a workflow instead of through a campaign
- Edit Client - Update the CRM record before syncing it out
- Match to Client - Find the existing client first (it does not create one)
- Phone Formatter - Normalise mobile numbers before sending them
- Webhook Out - Call any other Everlytic API endpoint