Artegic Elaine
Artegic Elaine (also shown as “Elaine” in their own docs) is an email marketing and marketing-automation platform for real-time, personalised multichannel communication. Zeotap integrates with Elaine through two mutually-exclusive transports, selected when you create the destination:
- Recipient Group (SFTP) — the long-standing audience-sync mode. Zeotap uploads CSV files to Elaine’s ingest SFTP (sieis) folder; Elaine ingests them according to a filename convention and adds or removes members of a numeric recipient group.
- Trigger TAM Event (HTTPS) — trigger a pre-configured TAM (Trigger-Action-Mail) event in Elaine for every inbound row. This is an event-only flow; there is no audience concept beyond “one event per row”.
Prerequisites
- An Elaine account with a sieis SFTP user or a JWT bearer token for the TAM Event API (depending on which mode you pick).
- For SFTP mode: the numeric recipient group ID you want to sync into,
and network reachability from Zeotap to your Elaine SFTP host
(for example
7119.elaine-asp.de). - For TAM mode: the domain URL of your Elaine instance
(for example
https://your-instance.elaine.io) and the event name that has already been configured inside Elaine.
Authentication
Zeotap surfaces two auth methods; pick the one that matches your integration mode.
SFTP — Public/Private Key
Elaine only supports RSA key-based authentication on the sieis account.
- Generate an RSA key pair (or use an existing one). Give the public key to your Elaine administrator so they can register it against your sieis account.
- In Zeotap, enter:
- SFTP Username — the sieis user Elaine provided (for example
7119). - SFTP Private Key — the matching private key in OpenSSH or PEM format.
- SFTP Public Key (optional, for reference) — the public key you sent to Elaine. Stored for your own records only.
- SFTP Username — the sieis user Elaine provided (for example
Zeotap keeps the private key encrypted in its secret store and uses it only to connect to your Elaine SFTP host.
Bearer Token (TAM Events)
The TAM Event API uses a JSON Web Token (JWT) in the Authorization: Bearer
header. Generate the token in your Elaine account and paste it into the
Access Token field.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| Integration Mode | Select | Yes | Recipient Group (SFTP) or Trigger TAM Event (HTTPS). Controls which transport and auth method is used. |
| SFTP Host | Text | Yes (SFTP mode) | Elaine SFTP hostname, e.g. 7119.elaine-asp.de. |
| SFTP Port | Number | No | Defaults to 22. |
| Remote Directory | Text | No | Defaults to /sieis/import/upload/ — Elaine’s well-known ingest folder. Change this only if your Elaine admin has told you otherwise. |
| Skip Deleted Recipients | Select | No | 1 (default) leaves recycle-bin users alone; 0 re-subscribes them on the next add import. Appears in the uploaded filename as skip_deleted=0 / skip_deleted=1. |
| Domain URL | Text | Yes (TAM mode) | Base URL of your Elaine API, e.g. https://your-instance.elaine.io. |
| Event Name | Text | Yes (TAM mode) | The TAM event identifier configured on your Elaine account, e.g. order_shipped. |
Target Settings
Target settings apply only to SFTP mode; TAM events do not use a target object because every row fires its own event.
| Field | Type | Required | Description |
|---|---|---|---|
| Recipient Group ID | Text (numeric) | Yes | Integer Elaine recipient-group ID. Written into the upload filename as add_group=${groupId} or remove_group=${groupId}. |
To find a Recipient Group ID, open your recipient group in the Elaine UI and read the integer ID shown in the group’s properties.
Supported Operations
Sync Modes
Elaine has no key-based upsert for either transport, so Zeotap only advertises insert-shaped sync modes.
| Mode | Supported |
|---|---|
| Insert | Yes (TAM mode posts one event per row; SFTP mode writes rows to an add file) |
| Upsert | No |
| Update | No |
| Mirror | No (regular syncs only — see Audience Sync Modes below) |
Audience Sync Modes
Audience sync modes only apply to the SFTP transport.
| Mode | Supported | Behaviour |
|---|---|---|
| Add | Yes | Uploads add_group=${groupId}_skip-unsubs=0_skip_deleted=${0|1}_${timestamp}.csv. |
| Remove | Yes | Uploads remove_group=${groupId}_${timestamp}.csv. |
| Mirror | Yes | Uses the Zeotap diff to emit one add_group=... file for added/changed rows and one remove_group=... file for removed rows in the same batch. |
| Upsert | No | Elaine has no key-based upsert on CSV ingest. |
If you pick the TAM Event integration mode, set the audience mode to Add;
the writer ignores remove/mirror in that mode and will surface a
per-row error if you force it.
Features
- Field Mapping: Yes
- Schema Introspection: No (custom fields are administered inside Elaine)
Required Mapping Fields
| Field | Description |
|---|---|
c_email | Elaine’s primary identifier — the raw email address. email and raw_email are accepted as aliases and are rewritten to c_email before delivery. |
Default Destination Fields
c_email, c_prename (first name), c_name (last name), c_gender.
Elaine uses prefixes to tell fields apart:
c_*— customer/recipient data fieldse_*— event data fieldst_*— transactional data fields
Create any custom fields you need inside Elaine first, then map your source
columns to the matching c_ / e_ / t_ variable. Zeotap passes
unknown columns through with their lower-cased names; Elaine silently drops
variables it does not recognise.
How It Works
Recipient Group (SFTP)
- Zeotap transforms your audience into rows keyed by Elaine variable
names.
email/raw_email/c_emailare normalised toc_email; the configured default aliases mapfirst_name → c_prename,last_name → c_name,gender → c_gender. - Rows are split according to the sync mode:
- Add / Insert — everything goes to the add file.
- Remove — everything goes to the remove file.
- Mirror — the diff determines which file each row lands in.
- Zeotap opens an SSH session to
${sftp_host}:${sftp_port}using your private key, opens the SFTP subsystem, and uploads the files under${remote_directory}(default/sieis/import/upload/). - Filenames follow Elaine’s convention so the ingest daemon can parse the
intent:
add_group=${groupId}_skip-unsubs=0_skip_deleted=${0|1}_${YYYYMMDD-HHmmss}.csvremove_group=${groupId}_${YYYYMMDD-HHmmss}.csv
- The CSV header row pins
c_emailto the first column; additional mapped columns follow in deterministic (sorted) order.
The SSH session is opened and torn down per batch so no idle sockets are held between syncs.
Trigger TAM Event (HTTPS)
-
For each row, Zeotap builds a payload of the form:
{ "recipientData": { "c_email": "johnsmith@example.com", ... } } -
It POSTs that payload to
${domain_url}/elaine/api/tam/event/${event_name}with anAuthorization: Bearer ${access_token}header. -
Elaine returns a JSON body with
success,messageand adataarray carrying thetransactionIdandmessageIdfor each triggered message. Zeotap counts any row wheresuccessistrueas succeeded and surfaces the API’smessage(or the first per-rowerror) on failures.
Rate Limits
Elaine does not publish formal rate limits. For the TAM Event API,
Zeotap retries on 429 Too Many Requests and 5xx responses with
exponential backoff. For the SFTP transport, Elaine ingests files
asynchronously — uploads are lightweight and sync throughput is bounded by
your network and SFTP concurrency rather than by an HTTP quota.
Best Practices
- Pick SFTP for bulk audience syncs — it’s Elaine’s preferred bulk
channel, scales to several million recipients per file, and accepts
.zip,.gzand.bz2extensions if you ever need compression. - Pick TAM for personalised event triggers — it is not a bulk loader; expect one API call per row.
- Keep
c_emailin every mapping — it is Elaine’s only supported primary identifier for recipient-group ingest. - Set
skip_deleted=0only when you really want recycle-bin users re-subscribed — the default (1) matches Elaine’s safer behaviour. - Create custom fields in Elaine first — Zeotap cannot introspect
your Elaine schema, so any unknown
c_*/e_*/t_*variables are silently dropped by Elaine’s ingest.
Troubleshooting
SSH authentication failed / permission denied
Check that the public key you gave to Elaine matches the private key stored in Zeotap and that it was registered against the same sieis user you entered as SFTP Username. Elaine’s sieis accounts only accept RSA key-based authentication — password auth is not supported.
Remote directory not reachable
The default remote directory is /sieis/import/upload/. If your Elaine
admin has given you a different folder, override the Remote Directory
field. Zeotap will try to mkdir -p the directory, but some sieis
accounts are locked to the default.
Recipient group not updating after upload
Make sure the integer group ID you entered really exists in Elaine and that
the uploaded filename shows the expected prefix (add_group=... or
remove_group=...). Elaine ingests files asynchronously — allow a few
minutes between the upload and the group update being visible in the UI.
Deleted recipients are not being re-subscribed
Check the Skip Deleted Recipients field. The default is 1, which tells
Elaine to leave recycle-bin users alone. Set it to 0 if you want Elaine
to re-subscribe deleted users on the next add import.
TAM event returns 401 / 403
The JWT bearer token is missing, expired or rotated. Regenerate the token inside Elaine and update the Access Token credential.
TAM event returns 404
Either the Domain URL is wrong, or the Event Name does not match a TAM event configured in Elaine. Event identifiers are case-sensitive and must match exactly what your Elaine admin configured.
Custom field not applied
Elaine ignores variables it does not recognise. Confirm the variable name
inside Elaine (Data Fields → your field → variable value — usually
prefixed with c_ or e_) and use that exact string as the destination
field name in the Zeotap mapping.