Skip to content
Elaichi Elaichi

Marketing Automation

Omnisend

Connect Omnisend once and hand every teammate a governed MCP endpoint with 82 tools ready to call from Claude, ChatGPT, Cursor, or any MCP client, inside the same permissions they already have, with every call checked and logged.

Omnisend

Automations & dashboards

From answering questions to doing the work

A person no longer has to ask. A trigger starts the work, inside the same permissions and the same audit log as everything else. Automations and live dashboards ship on the Black plan.

Automations

Put Omnisend work on a schedule.

A trigger starts a sequence of steps: call a Omnisend tool, transform the result, branch, wait, and ask a person when it matters.

Omnisend digest

Run 418 · started 2 minutes ago · on behalf of Emma Laurent

  1. Schedule

    Every weekday at 08:00

    0.2s
  2. Fetch products

    Omnisend

    1.4s
  3. Group by owner

    Transform

    0.1s
  4. Draft the digest

    Agent step

    Ran with 4 tools, returned a structured summary

    6.2s
  5. Approve the digest

    Needs approval

    Assigned to Michael Brennan

    Approve
  6. Post the digest

    Omnisend

    Queued

Collections and dashboards

Report on Omnisend without asking.

Collections hold your own data, written by an automation and read by a dashboard that refreshes on a schedule.

Omnisend health

Refreshed 4 minutes ago · every 15 minutes · from the products collection

Live

Products

1,284 ↓ 12%

Campaigns

96 ↓ 8%

Needs attention

3 ↑ 2

Updated this week

412 ↑ 9%

Products created

Last 14 days

By workspace

Share of activity

Engineering 34%

Product 27%

Support 21%

Sales 18%

AI tools

Omnisend tools for your AI agents

82 tools are ready to call through Elaichi's MCP endpoint the moment you connect Omnisend, governed by the same roles, restrictions, and audit log as everything else in Elaichi.

list_all_omnisend_contacts

List Omnisend contacts with optional filters by email, phone, status, segment, tag, or update date. Returns: id, email, firstName, lastName, gender, birthdate, address, city, state, country, countryCode, postalCode, status, tags, identifiers, consents, optIns, statuses, phone, segments, customProperties, trackingConsents, createdAt, updatedAt. tag and status are mutually exclusive.

create_a_omnisend_contact

Create a new Omnisend contact, or update an existing one if the email identifier already matches. Returns: id, createdAt, updatedAt, name, conditionGroups.

get_single_omnisend_contact_by_id

Get a single Omnisend contact by id. Returns: id, email, firstName, lastName, gender, birthdate, address, city, state, country, countryCode, postalCode, status, tags, identifiers, consents, optIns, statuses, phone, segments, customProperties, trackingConsents, createdAt, updatedAt. Required: id.

update_a_omnisend_contact_by_id

Update an Omnisend contact by id. Returns: id, email, firstName, lastName, gender, birthdate, address, city, state, country, countryCode, postalCode, status, tags, identifiers, consents, optIns, statuses, phone, segments, customProperties, trackingConsents, createdAt, updatedAt. Required: id.

omnisend_contacts_add_tags

Batch add tags to Omnisend contacts by contact IDs, emails, phone numbers, or segment. Tagging is asynchronous so tags may not appear immediately. Returns an empty 202 response on success. Required: tags. At least one of contactIDs, emails, phones, or segmentID must also be provided.

omnisend_contacts_delete_tags

Batch remove tags from Omnisend contacts by contact IDs, emails, phone numbers, or segment. Untagging is asynchronous so tags may not disappear immediately. Returns an empty 202 response on success. Required: tags. At least one of contactIDs, emails, phones, or segmentID must also be provided.

omnisend_contacts_bulk_update

Update an Omnisend contact by email address. Returns: id, createdAt, updatedAt, source, ip, userAgent. Required: email.

omnisend_brands_get_current

Get information about the current Omnisend brand. Returns: brandID, connected, currency, name, platform, timezone, version, website, openapi, info, paths, servers, components.

omnisend_brands_connect_current

Connect your e-commerce store to Omnisend. Returns: brandID, connected, currency, name, platform, timezone, version, website, openapi, info, paths, servers, components. Required: platform, version, website. Only possible via the OAuth flow.

list_all_omnisend_products

List products in your Omnisend store catalog. Returns: categoryIDs, createdAt, currency, defaultImageUrl, description, id, images, status, tags, title, type, updatedAt, url, variants, vendor. Results can be sorted by date, updatedAt, or createdAt.

create_a_omnisend_product

Create a new product in your Omnisend store catalog. Returns the created product id. Required: id, title, url, currency, status. Max 500 variants per product.

get_single_omnisend_product_by_id

Get a single product from your Omnisend store catalog by id. Returns the full product object including id, title, url, currency, status, description, images, variants, categoryIDs, tags, vendor, createdAt, and updatedAt.

update_a_omnisend_product_by_id

Replace a product in your Omnisend store catalog by id with a full product object. Returns the replaced product id. Required: id, title, url, currency, status.

delete_a_omnisend_product_by_id

Delete a product from your Omnisend store catalog by id. Returns an empty 204 response on success.

list_all_omnisend_product_categories

List Omnisend product categories, optionally sorted by title, creation, or update date. Returns: categoryID, createdAt, title, updatedAt. Max 250 per page.

create_a_omnisend_product_category

Create a new product category in Omnisend. Returns: categoryID. Required: categoryID, title.

get_single_omnisend_product_category_by_id

Get a single Omnisend product category by id. Returns: categoryID, createdAt, title, updatedAt. Required: id.

update_a_omnisend_product_category_by_id

Update a product category's title in Omnisend by id. Returns: categoryID. Required: id, title.

delete_a_omnisend_product_category_by_id

Delete a product category in Omnisend by id. Returns an empty 204 response on success. Required: id.

list_all_omnisend_batches

List Omnisend batches filtered by endpoint type. Returns each batch with batchID, status, endpoint, method, totalCount, finishedCount, errorsCount, and timestamps. Required: endpoint.

create_a_omnisend_batch

Create a new batch in Omnisend to asynchronously create or update up to 100 items in a single request. Returns: batchID, totalCount. Required: endpoint, items, method.

get_single_omnisend_batch_by_id

Get a single Omnisend batch by id. Returns the full batch object including batchID, status, endpoint, method, totalCount, finishedCount, errorsCount, and timestamps. Required: id.

list_all_omnisend_campaigns

List Omnisend campaigns with filtering by status, channel, type, name, and date ranges, plus sorting. Returns: id, brandID, channel, content, createdAt, endedAt, language, name, sendingSettings, startedAt, status, type, updatedAt, abTest, boosterSettings.

create_a_omnisend_campaign

Create a new campaign draft in Omnisend supporting regular, abTest, and booster types. Returns the created campaign including id, name, channel, type, status, language, brandID, audience, content, sendingSettings, createdAt, and updatedAt. Required: channel, type. For boosters, boosterSettings.campaignID and boosterSettings.sendTo are also required and each parent campaign supports at most one…

get_single_omnisend_campaign_by_id

Get a single Omnisend campaign by id. Returns the full campaign object including id, name, channel, type, status, audience, content, sendingSettings, createdAt, and updatedAt. Required: id (24-character hexadecimal).

update_a_omnisend_campaign_by_id

Update an Omnisend campaign draft by id. Only campaigns in draft status can be modified; any other status returns 409. Returns the updated campaign including id, name, status, channel, type, content, and sendingSettings. Required: id.

delete_a_omnisend_campaign_by_id

Delete an Omnisend campaign by id. Returns an empty 204 response on success. Required: id. A 409 is returned when the campaign status does not allow deletion.

omnisend_campaigns_cancel

Cancel an Omnisend campaign by campaign_id and mark it as canceled. Only campaigns in scheduled or paused status (all channel types), or started email campaigns, can be canceled; any other state returns 409. Cancellation of started campaigns is best-effort — messages already in flight may still be delivered. Returns an empty 204 response on success. Required: campaign_id.

omnisend_campaigns_copy

Create a draft copy of an Omnisend campaign by campaign_id, copying content, audience, and settings from the original. The new campaign gets its own ID and a name prefixed with 'Copy of: '; the original campaign is left unchanged. Returns the created draft campaign object including id, name, type, channel, status, content, audience, sendingSettings, createdAt, and updatedAt. Required: campaign_id.

omnisend_campaigns_send

Send an Omnisend campaign draft for sending. Only campaigns in 'draft' status can be sent; to send again, copy the campaign and send the copy. Supports email and SMS campaigns with immediate or scheduled sending strategies. Returns an empty 204 response on success. Required: campaign_id.

omnisend_campaigns_ab_test_resume

Resume a stopped A/B test in Omnisend, making automatic winner selection eligible to pick the campaign again. Returns an empty 204 response on success. Required: campaign_id. Available only while the campaign is in stopped status.

omnisend_campaigns_ab_test_stop

Stop the A/B test winner-selection phase for an Omnisend campaign, halting automatic winner selection until it is resumed. Returns an empty 204 response on success. Required: campaign_id. Available only while the campaign is in started status.

omnisend_campaigns_ab_test_winner

Manually select the A/B test winner for an Omnisend campaign, routing the chosen variant into the send pipeline immediately. The campaign must be an A/B parent. Returns an empty 204 response on success. Required: campaign_id, variantID.

omnisend_campaigns_get_utm

Get UTM tag settings for an Omnisend campaign. Returns: tags, variants, statistics. Exactly one of tags or variants is present. Required: campaign_id.

omnisend_campaigns_send_test_email

Send a test email for an Omnisend campaign to up to 5 recipients, rendering the campaign draft for preview. Only email campaigns are supported. Returns an empty 204 response on success. Required: campaign_id, recipients.

omnisend_campaigns_bulk_update

Replace UTM tag settings for an Omnisend campaign. Send a tags object for regular campaigns or a variants object for A/B test campaigns — exactly one must be present. The campaign must be in draft status. Returns: statistics. Required: campaign_id.

list_all_omnisend_segments

List Omnisend segments with cursor-based pagination and single-field sorting. Returns: segmentID, name, conditionGroups, status, isStarred, createdAt, updatedAt, archivedAt. Max 50 per page. Sortable by createdAt or name.

create_a_omnisend_segment

Create a new Omnisend segment with condition-based rules. Returns: name, conditionGroups, createdAt, updatedAt. Required: name, conditionGroups.

get_single_omnisend_segment_by_id

Get a single Omnisend segment by id. Returns: segmentID, name, conditionGroups, status, isStarred, createdAt, updatedAt, archivedAt. Required: id.

update_a_omnisend_segment_by_id

Update an existing Omnisend segment by id. The segment must not be in a building state. Returns: segmentID, name, conditionGroups, status, isStarred, createdAt, updatedAt, archivedAt. Required: id, name, conditionGroups.

delete_a_omnisend_segment_by_id

Delete an Omnisend segment by id. The segment must not be in a building state or a 409 Conflict error is returned. Returns an empty 204 response on success. Required: id.

omnisend_segments_get_statistics

Get statistics for an Omnisend segment including the total number of matching contacts. Returns: contactsCount. Required: segment_id.

get_single_omnisend_email_content_by_id

Get an Omnisend email content object by its ID (same as the template ID returned at template creation). Returns the full content structure including generalSettings (global appearance: logo, body, buttonPresets, textPresets) and sections (top-level containers of rows, columns, and blocks). Required: id.

update_a_omnisend_email_content_by_id

Update (fully replace) Omnisend email content by id. Returns the updated content object including its id, generalSettings, and sections. Required: id. The full content structure must be provided — omitted sections are deleted. Request body limit 1 MB; locked content (during or after a campaign send) returns 409.

omnisend_email_content_render

Render Omnisend email content to HTML by ID for preview. Returns: reports. Required: email_content_id. The content is rendered with an empty data context (no contact, no marketing activity).

list_all_omnisend_email_templates

List Omnisend email templates with cursor-based pagination. Returns: createdAt, id, name, updatedAt. Supports sorting by createdAt or name and filtering by name with nameContains. Max 100 items per page.

create_a_omnisend_email_template

Create a new email template in Omnisend with a hierarchical layout of sections, rows, columns, and blocks. Returns the created template including id, name, createdAt, updatedAt, generalSettings, and sections. Required: name, generalSettings, sections. At least 1 section required; template name 1–255 characters; request body max 1 MB.

get_single_omnisend_email_template_by_id

Get a specific Omnisend email template by id, returning the full template object including its id, name, generalSettings, sections, createdAt, and updatedAt. Required: id (24-character hexadecimal).

update_a_omnisend_email_template_by_id

Fully replace an Omnisend email template by id. Returns the updated template including its id, name, generalSettings, and sections. Required: id and a complete template body.

delete_a_omnisend_email_template_by_id

Delete an Omnisend email template by id. Returns an empty 204 response on success. Required: id.

omnisend_email_templates_import

Import an Omnisend email template from raw HTML content; the HTML is parsed, styles extracted, and structured into a template. Returns the created template object including id, name, content, createdAt, and updatedAt. Required: name (1–255 characters), html. Request body size limit 1 MB.

omnisend_email_templates_render

Render an Omnisend email template by ID to produce the full HTML body for preview purposes. Returns an object whose property values are rendered content strings. Required: email_template_id.

list_all_omnisend_email_universal_layouts

List Omnisend email universal layouts sorted by creation time (newest first). Returns: id, name, content. Filter by name with nameContains. Max 250 items per page.

create_a_omnisend_email_universal_layout

Create a new reusable email universal layout in Omnisend. Returns the created layout object including its id, name, and content with its rows, columns, and blocks. Required: name, content. All element IDs within the layout must be unique 24-character hex strings; request body must not exceed 1 MB.

get_single_omnisend_email_universal_layout_by_id

Get a single Omnisend email universal layout by id. Returns: id, name, and content (a section containing rows, columns, and blocks). Required: id.

update_a_omnisend_email_universal_layout_by_id

Update (fully replace) a universal email layout in Omnisend by id. Returns the updated layout object including id, name, and content (with its rows, columns, and blocks). Required: id, name, and content. The full layout structure must be supplied — omitted elements are removed.

delete_a_omnisend_email_universal_layout_by_id

Delete an Omnisend email universal layout by id. Returns an empty 204 response on success. Required: id.

list_all_omnisend_images

List images for a brand in Omnisend with cursor-based pagination, sorting, and name filtering. Returns: createdAt, height, id, name, size, type, url, width. Max 250 items per page.

create_a_omnisend_image

Upload an image to Omnisend from a publicly accessible URL. Returns the created image object including id, name, url, type, size, width, height, and createdAt. Required: url.

get_single_omnisend_image_by_id

Get a single image in Omnisend by id. Returns: createdAt, height, id, name, size, type, url, width. Required: id.

delete_a_omnisend_image_by_id

Delete an image in Omnisend by id. Returns an empty 204 response on success. Required: id.

omnisend_images_upload

Upload an image file directly to Omnisend via multipart form data. Returns the created image object including id, name, url, type, size, width, height, and createdAt. Required: file. Supported formats: JPEG, PNG, GIF, WebP, max 5MB.

omnisend_analytics_generate_report

Generate an Omnisend marketing analytics report with aggregated delivery, engagement, and revenue metrics grouped by message send date. Returns: reports. Required: queries (1–4 per request, each with alias, metrics, and dateRange interval). Rate limited to 10 requests/minute and 55/day per brand.

omnisend_analytics_generate_statistics

Generate an Omnisend marketing analytics report with aggregated delivery, engagement, revenue, and audience growth metrics grouped by event date. Returns a statistics array where each result entry includes alias, dimensions, metrics, and rows. Required: queries (each requires alias, metrics, dimensions including timestamp, and dateRange from/to). Up to 4 queries per request; rate limited to 10…

list_all_omnisend_automations

List automation workflows in Omnisend with filtering by name, enabled state, and created/updated date ranges, plus sorting options. Returns: id, name, isEnabled, createdAt, updatedAt. Max 250 per page, default 100.

create_a_omnisend_automation

Create a new automation workflow in Omnisend. Returns the created automation including id, name, blocks, trigger, settings, isEnabled, createdAt, and updatedAt. Required: name, trigger, blocks. Automations are created disabled and must be explicitly enabled before processing trigger events.

get_single_omnisend_automation_by_id

Get a single Omnisend automation workflow by id. Returns the full automation object including id, name, blocks, trigger, settings, exitConditions, isEnabled, brandID, createdAt, updatedAt, enabledAt, and disabledAt. Required: id (24-character hexadecimal).

update_a_omnisend_automation_by_id

Update an Omnisend automation workflow by id, changing only the fields provided in the request body. Returns the full automation object including id, name, isEnabled, blocks, trigger, settings, createdAt, and updatedAt. Required: id. Enabled automations cannot be patched — disable the automation first via the disable endpoint, then re-enable it after making changes.

delete_a_omnisend_automation_by_id

Delete a single Omnisend automation workflow by id. This operation is idempotent — deleting a non-existent automation Returns an empty 204 response on success. Returns an empty 204 response on success. Required: id.

omnisend_automations_copy

Copy an Omnisend automation workflow to create a disabled duplicate. Returns: id, createdAt, updatedAt, condition. Required: automation_id. The copy is always created in a disabled state regardless of the source automation's status; an optional name may be provided in the request body.

omnisend_automations_disable

Disable an Omnisend automation workflow so it stops accepting new trigger events. Returns the automation object including id, name, isEnabled, createdAt, updatedAt, and disabledAt. Required: automation_id. The body's contactsInWorkflow option (keep or exit) controls in-flight contacts, and the call is idempotent for already-disabled workflows.

omnisend_automations_enable

Enable an automation workflow in Omnisend so it starts processing trigger events in real time. Returns the automation object including id, name, isEnabled, enabledAt, and blocks. Required: automation_id. The request body is optional — set enrollExisting to true to also enroll contacts who already qualify at enable time.

omnisend_automations_get_utm

Get aggregated UTM tracking tags for all send-action blocks in an Omnisend automation. Returns: blocks, condition. Required: automation_id.

omnisend_automations_get_block_utm

Get UTM tracking tags for a specific Omnisend automation send-action block. Returns: tags, condition. Required: automation_id, block_id. Missing or cleared tags are returned with their default values.

omnisend_automations_update_block_utm

Update UTM tracking tags for a specific Omnisend automation send-action block. Returns: tags, logicalOperator, filters. Required: automation_id, block_id, and tags. All three tag fields are replaced atomically; send an empty string to clear a field.

omnisend_automations_send_block_test_email

Send a test email from a specific Omnisend automation email block to up to 5 recipients. Returns an empty 204 response on success. Required: automation_id, block_id, recipients. The email is rendered and delivered asynchronously.

omnisend_automations_bulk_update

Replace the full block tree for an Omnisend automation workflow. Blocks identified by `id` are updated in place, blocks with `temporaryID` are created, and existing blocks not included are removed. Returns: id, name, blocks, trigger, settings, isEnabled, createdAt, updatedAt. Required: automation_id. Enabled automations cannot be restructured — disable the automation first, then re-enable after…

create_a_omnisend_event

Send a customer event to Omnisend to track behavior and trigger automations. Supports custom events and predefined recommended events. Returns an empty 202 Accepted response on success. Rate limited to 400 requests per minute.

create_a_omnisend_event_metadatum

Create a new brand-custom event schema in Omnisend, identified by the combination of name and origin. Returns the created event including name, displayName, origins, explicitlyDefined, and the nested property tree. Required: name, origin, displayName, properties. Optional metadata fields must be omitted rather than sent as null.

omnisend_event_metadata_query

Query Omnisend event metadata by category, optionally filtered by event names and origins. Returns a list of events each with name, displayName, origins, explicitlyDefined, and optionally the nested property tree. Required: category. Supported categories: automations, events, segments. Set includeProperties to true to include the property tree.

omnisend_event_metadata_bulk_update

Update (merge) an existing brand-custom event schema in Omnisend, identified by name and origin. Only supplied fields are applied; omitted metadata and properties are preserved and no property is deleted. Returns the merged event including name, displayName, origins, explicitlyDefined, and the nested property tree. Required: name, origin. The type of an already explicitly-defined property cannot…

list_all_omnisend_batch_items

List Omnisend batch items for a given batch, showing individual item results including the original request, response, and processing status. Returns: itemID, request, response, responseCode, status. Required: batch_id.

How it works

From Omnisend account to governed MCP endpoint

Connect

Link a Omnisend account through Elaichi's hosted connect flow. Credentials are vaulted, so nobody, including the AI, ever sees them.

Compose

The connection becomes a toolbox instantly. Curate which Omnisend tools are exposed, rename them, or freeze arguments.

Authorize

Point Claude, ChatGPT, Cursor, or any MCP client at the one Elaichi endpoint and sign in with OAuth, governed by roles, restrictions, and audit logs.

Put your agents to work in the tools you already use

Start a 14-day Gold trial. Connect a product, curate a toolbox, and paste a governed MCP endpoint into Claude, ChatGPT, or Cursor in minutes.