Skip to main content

Elastic Email Destination

Nexla's bi-directional connectors allow data to flow both to and from any location, making it simple to create a FlexFlow data flow that sends data to an Elastic Email location.
elasticemail_api.png

Elastic Email

Create an Elastic Email Destination

  1. Click the + icon on the Nexset that will be sent to the Elastic Email destination, and select the Send to Destination option from the menu.

  2. Select the Elastic Email connector from the list of available destination connectors. Then, select the credential that will be used to connect to the Elastic Email account, and click Next; or, create a new Elastic Email credential for use in this flow.

  3. In Nexla, Elastic Email destinations can be created using pre-built endpoint templates, which expedite destination setup for common Elastic Email write operations. Each template is designed specifically for the corresponding Elastic Email endpoint, making destination configuration easy and efficient.
    • To configure this destination using a template, follow the instructions in Configure Using a Template.

    Elastic Email destinations can also be configured manually, allowing you to send data to Elastic Email endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this destination manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Elastic Email endpoints. Each template is designed specifically for the corresponding Elastic Email endpoint, making destination setup easy and efficient.

  • To configure this destination using a template, select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

    Add Contacts

    Adds one or more new contacts to your Elastic Email account. Use this endpoint to populate your subscriber database from an external CRM, sign-up form, or any other data source in Nexla.

    • This endpoint requires no additional URL parameters. Each record in the Nexset will be serialized as JSON and submitted to the Elastic Email Contacts API.
    • Each contact record sent to this endpoint should include the following fields:

      • Email — The contact's email address (required by Elastic Email).
      • FirstName — The contact's first name (optional).
      • LastName — The contact's last name (optional).
      • Status — The contact's subscription status (e.g., Active, Unsubscribed).
      • Any custom fields defined in your Elastic Email account can also be included.

    For importing large volumes of contacts from a file, consider using the Upload Contacts endpoint, which accepts multipart file uploads and is optimized for bulk imports.

    Update Contact

    Updates an existing contact's fields—such as custom fields, subscription status, or personal details—identified by their email address. Use this endpoint to keep contact records in sync with an external source of truth.

    • Enter the email address of the contact to update in the Email field. This value is appended to the Elastic Email API URL as a path parameter and must exactly match the email address stored in your account. This field is required.

    • The request body sent to this endpoint should contain the fields to be updated in JSON format. Only the fields included in the payload will be modified; other fields remain unchanged.

    Delete Contact

    Permanently deletes a single contact from your Elastic Email account, identified by their email address. This endpoint supports GDPR right-to-erasure workflows where individual contact records must be removed upon request.

    • Enter the email address of the contact to delete in the Email field. This value is used as a path parameter in the API request URL. This field is required.

    warning

    Contact deletion is permanent and cannot be undone. Ensure the correct email address is supplied before activating this destination flow.

    Bulk Delete Contacts

    Deletes multiple contacts in a single API call using a rule-based filter or a list of email addresses. Use this endpoint for mass contact removal operations, such as GDPR erasure campaigns or large-scale list purges.

    • This endpoint accepts a JSON body specifying either a rule string that matches contacts to be deleted, or an explicit list of email addresses. Nexla will serialize each Nexset record as JSON and submit it to this endpoint.
    • No additional URL parameters are required for this endpoint.
    warning

    Bulk contact deletion is permanent. Review your Nexset data and deletion criteria carefully before activating this destination flow.

    Upload Contacts

    Imports contacts from a file into a specified Elastic Email contact list. This endpoint is optimized for bulk contact imports and uses multipart/form-data encoding.

    • The following optional parameters can be configured for this endpoint:

      • List Name — The name of the contact list to import the contacts into. If left blank, contacts are added to the account without being assigned to a specific list.
      • Encoding Name — The character encoding of the uploaded file (e.g., utf-8). Leave blank to use the Elastic Email default encoding detection.

    Add List

    Creates a new contact list in your Elastic Email account. Use this endpoint when you need to programmatically provision segmented subscriber lists from an external system.

    • This endpoint requires no additional URL parameters. Each Nexset record will be serialized as JSON and submitted to the Elastic Email Lists API.
    • Each record should include the following fields:

      • ListName — The name of the new contact list (required by Elastic Email).
      • AllowUnsubscribe — A boolean indicating whether recipients can unsubscribe from this list (optional).

    Update List

    Updates the settings of an existing contact list, such as renaming the list or changing its configuration. Use this endpoint to keep list definitions synchronized with external systems.

    • Enter the current name of the contact list to update in the List Name field. This value is used as a path parameter in the API URL. This field is required.

    • The JSON body should contain the updated list properties to apply.

    Delete List

    Deletes a contact list by name. Deleting a list removes the list definition from your account but does not delete the contacts belonging to that list.

    • Enter the name of the contact list to delete in the List Name field. This value is used as a path parameter in the API URL. This field is required.

    Add Contacts to List

    Adds one or more existing contacts to a specific contact list. Use this endpoint to manage list membership—for example, adding newly qualified leads to a targeted marketing segment.

    • Enter the name of the contact list in the List Name field. This value is used as a path parameter in the API URL. This field is required.

    • The JSON body should contain an array of email addresses to add to the specified list. The contacts must already exist in your Elastic Email account.

    Remove Contacts from List

    Removes one or more contacts from a specific contact list without deleting the contacts themselves. Use this endpoint to manage list segmentation—for example, removing contacts who have completed a campaign workflow from an active segment.

    • Enter the name of the contact list in the List Name field. This value is used as a path parameter in the API URL. This field is required.

    • The JSON body should contain an array of email addresses to remove from the specified list.

    Add Campaign

    Creates a new email campaign with specified recipients, content, and scheduling parameters. Use this endpoint to programmatically launch marketing campaigns from data prepared in Nexla.

    • This endpoint requires no additional URL parameters. Each Nexset record will be serialized as JSON and submitted to the Elastic Email Campaigns API.
    • Campaign records should include the following key fields as required by the Elastic Email API:

      • Name — A unique campaign name (required).
      • Recipients — An object specifying the target lists, segments, or individual email addresses.
      • Content — An array of content objects defining the email subject, body, sender name, and sender email address.
      • Status — The campaign status at creation (e.g., Draft or Selected to schedule immediately).

    For complete campaign object schema and field definitions, see the Elastic Email Campaigns API documentation.

    Update Campaign

    Updates an existing campaign's schedule, content, recipients, or other settings. Use this endpoint to modify campaigns that are in Draft status before they are sent.

    • Enter the name of the campaign to update in the Campaign Name field. This value is used as a path parameter in the API URL and must exactly match the campaign name in your account. This field is required.

    • The JSON body should contain the updated campaign properties to apply.

    Delete Campaign

    Deletes a campaign by name. Use this endpoint to remove campaigns that are no longer needed from your Elastic Email account.

    • Enter the name of the campaign to delete in the Campaign Name field. This value is used as a path parameter in the API URL. This field is required.

    Add Template

    Creates a new email template in your Elastic Email account. Use this endpoint to programmatically provision reusable email designs from content managed in Nexla.

    • This endpoint requires no additional URL parameters. Each Nexset record will be serialized as JSON and submitted to the Elastic Email Templates API.
    • Template records should include the following fields:

      • Name — A unique template name (required).
      • Subject — The default email subject line for the template.
      • Body — An array of content body objects specifying the content type (HTML or PlainText) and the corresponding content string.

    Update Template

    Updates an existing email template's subject, body, or other settings. Use this endpoint to keep email designs synchronized with content managed in an external system.

    • Enter the name of the template to update in the Template Name field. This value is used as a path parameter in the API URL. This field is required.

    • The JSON body should contain the updated template properties to apply.

    Delete Template

    Deletes an email template by name. Use this endpoint to remove templates that are no longer needed from your Elastic Email account.

    • Enter the name of the template to delete in the Template Name field. This value is used as a path parameter in the API URL. This field is required.

    Send Transactional Email

    Sends a transactional email to one or more recipients. Transactional emails are triggered by individual user actions—such as order confirmations, password resets, or account notifications—and are delivered immediately. Use this endpoint to drive event-based messaging from Nexla data flows.

    • This endpoint requires no additional URL parameters. Each Nexset record will be serialized as JSON and submitted to the Elastic Email transactional email endpoint.
    • Transactional email records should include the following fields as required by the Elastic Email API:

      • Recipients — An object specifying the To, CC, and BCC addresses.
      • Content — An object containing the email subject, body (HTML or plain text), sender name, and sender email address, or a reference to a pre-built template by name.

    For complete transactional email object schema and field definitions, see the Elastic Email Transactional Email API documentation.

    Send Bulk Email

    Sends an email message to multiple recipients with support for merge fields and template-based personalization. Use this endpoint to deliver broadcast or semi-personalized messages to a defined set of recipients from Nexla data.

    • This endpoint requires no additional URL parameters. Each Nexset record will be serialized as JSON and submitted to the Elastic Email email sending endpoint.
    • The request body follows the same schema as the Send Transactional Email endpoint and supports merge fields for personalizing content per recipient.

    For complete bulk email object schema and field definitions, see the Elastic Email Emails API documentation.

    Add Domain

    Adds a new sender domain to your Elastic Email account. Sender domains must be added and verified before they can be used to send emails. Use this endpoint to provision domains programmatically.

    • This endpoint requires no additional URL parameters. Each Nexset record will be serialized as JSON and submitted to the Elastic Email Domains API.
    • The record body should include the domain name to register. After adding a domain, use the Verify Domain endpoint to trigger DNS verification.

    Update Domain

    Updates the configuration settings for an existing sender domain, such as tracking settings or default sender information.

    • Enter the domain name to update in the Domain field. This value is used as a path parameter in the API URL. This field is required.

    • The JSON body should contain the updated domain configuration properties.

    Delete Domain

    Removes a sender domain from your Elastic Email account. This operation is typically performed when a domain is no longer in use or needs to be re-added with updated settings.

    • Enter the domain name to delete in the Domain field. This value is used as a path parameter in the API URL. This field is required.

    Verify Domain

    Triggers DNS verification for a sender domain that has already been added to your account. Elastic Email checks your domain's DNS records (SPF, DKIM, and DMARC) and marks the domain as verified if the records are correctly configured.

    • Enter the domain name to verify in the Domain field. This value is used as a path parameter in the API URL. This field is required.

    • Before triggering verification, ensure that the required DNS records (SPF, DKIM, and DMARC) have been added to your domain's DNS configuration at your domain registrar or DNS provider.

    DNS changes can take up to 48 hours to propagate globally. If verification fails, wait for DNS propagation to complete before retrying.

    Add Unsubscribes

    Adds one or more email addresses to the unsubscribe suppression list in your Elastic Email account. Use this endpoint to honor opt-out requests collected outside of Elastic Email—for example, through a custom preference center or third-party unsubscribe system—and ensure those addresses are suppressed from all future sends.

    • This endpoint requires no additional URL parameters. Each Nexset record will be serialized as JSON and submitted to the Elastic Email Suppressions API.
    • The request body should contain an array of email addresses to add to the unsubscribe list.

    Maintaining an accurate unsubscribe suppression list is important for compliance with email regulations such as CAN-SPAM and GDPR. Elastic Email automatically suppresses unsubscribed addresses from all campaign and transactional sends.

Configure Manually

Elastic Email destinations can be manually configured to send data to any valid Elastic Email API endpoint. Manual configuration provides maximum flexibility for sending data to endpoints not covered by the pre-built templates or when custom request structures are required.

Using manual configuration, you can also configure Nexla to automatically send the response received from the Elastic Email API after each call to a new Nexla webhook data source.

API Method

  1. To manually configure this destination, select the Advanced tab at the top of the configuration screen.

  2. Select the API method that will be used for calls to the Elastic Email API from the Method pulldown menu. Common methods for Elastic Email write operations are:

    • POST: For creating new resources (contacts, campaigns, templates, emails, lists)
    • PUT: For replacing or fully updating existing resources
    • DELETE: For removing resources

Data Format

  1. Select the format in which the Nexset data will be sent to the Elastic Email API from the Content Format pulldown menu. Nexla will automatically convert the data to the selected format for each API call. The Elastic Email v4 API accepts JSON for most endpoints.

API Endpoint URL

  1. Enter the URL of the Elastic Email API endpoint to which you want to send the Nexset data in the URL field. All Elastic Email v4 endpoints use the base URL https://api.elasticemail.com/v4. For example:

    • https://api.elasticemail.com/v4/contacts — add contacts
    • https://api.elasticemail.com/v4/emails/transactional — send transactional email
    • https://api.elasticemail.com/v4/campaigns — create a campaign

    For update or delete operations, include the resource identifier as a path parameter at the end of the URL (e.g., https://api.elasticemail.com/v4/contacts/{email} for updating a specific contact).

Request Headers

Optional
  • If Nexla should include any additional request headers in API calls to this destination, enter the headers & corresponding values as comma-separated pairs in the Request Headers field (e.g., header1:value1,header2:value2).

    You do not need to include the X-ElasticEmail-ApiKey authentication header or any other headers already present in the credential. Authentication headers are automatically applied by Nexla based on your credential configuration.

Exclude Attributes from the Call

Optional
  • If any record attributes in the Nexset should be omitted when sending data to this Elastic Email destination, select the attributes from the Exclude Attributes pulldown menu.

  • Any number of attributes can be selected for exclusion, and all excluded attributes will be shown in the field. To remove an attribute from the list, click the X icon next to the attribute name.

Record Batching

Optional
  1. If records should be sent to this destination in batched API calls, check the box next to Would you like to batch your records together? to enable record batching.

  2. Enter the maximum number of records that should be batched together in a single API call in the Batch Size field. By default, this value is set to 100.

  3. Select the algorithm that will be used to group records into batches from the Grouping Algorithm pulldown menu. The sample request shown in the panel on the right will be updated to reflect the current batching settings. Some algorithms require additional settings—click on an algorithm listed below to view instructions for configuring these settings.

Response Webhook

Optional

Nexla can automatically send the response received from the Elastic Email API after each call to a new Nexla webhook data source. This option allows you to keep track of the status of each API call and any additional information returned after each call—for example, transaction IDs returned after sending an email that can be used for subsequent status lookups.

  • To enable this option, check the box next to Would you like to process the API response as a Nexla Webhook source?.

Sample Request Payload

Sample request payloads containing a portion of the Nexset data that will be sent to the Elastic Email API endpoint based on the current settings are shown in the Sample Payload panel on the right. These samples can be referenced to ensure that the destination and request settings are correctly configured.

  • Click on a sample request payload to expand it and view the complete payload content.
  • Sample payloads are automatically updated with each setting change, making it easy to verify that changes achieve the desired effect.

Endpoint Testing (Manual Configuration)

After all endpoint settings have been configured, Nexla can send a test payload to the Elastic Email API to ensure that the destination is configured correctly.

  1. To send a test payload, select the Test button at the top of the Sample Payload panel, and click on a listed sample payload to expand it.

  2. If any modifications to the sample payload are needed, make the necessary changes directly within the sample window.

  3. Click the Send Test Data button at the top of a sample payload to send the test payload to the Elastic Email API using the current settings.

Save & Activate the Destination

  • Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To begin sending data to the configured Elastic Email endpoint, open the destination resource menu, and select Activate.

    The Nexset data will not be sent to Elastic Email until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.