Omnisend · Arazzo Workflow

Omnisend Track Added-to-Cart Event

Version 1.0.0

Create or update the shopper contact, then send an added-to-cart customer event for them.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub Email MarketingMarketing AutomationE-CommerceSMS MarketingCustomer EngagementSegmentationCampaignsFormsPopupsWeb PushAutomation WorkflowsAnalyticsMCPAgent ReadyTransactional MessagingArazzoWorkflows

Provider

omnisend

Workflows

track-cart-event
Upsert the shopper contact and emit an added-to-cart event for them.
Writes the shopper as a contact and then sends an added-to-cart customer event keyed to that contact's email, since Omnisend exposes carts only through events.
2 steps inputs: apiKey, cartId, email, productId, quantity outputs: cartEventStatus, contactId
1
upsertShopper
{$sourceDescriptions.contactsApi.url}#/paths/~1contacts/post
Create or update the shopper as a contact so the cart event can be attributed to a known profile.
2
sendCartEvent
{$sourceDescriptions.eventsApi.url}#/paths/~1events/post
Send an added-to-cart customer event for the shopper so abandoned-cart automations fire. Returns 202 Accepted when the event is queued.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Omnisend Track Added-to-Cart Event
  summary: Create or update the shopper contact, then send an added-to-cart customer event for them.
  description: >-
    Omnisend tracks carts as customer events, not as a dedicated cart resource,
    so this workflow adapts the "create cart then get cart" theme to the events
    endpoint. It creates or updates the shopper as a contact by email and then
    sends an "added product to cart" event carrying the cart and product
    context, which drives abandoned-cart automations. Every step spells out its
    request inline, including the X-API-KEY header, so the flow can be read and
    executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: contactsApi
  url: ../openapi/omnisend-contacts-api-openapi.yml
  type: openapi
- name: eventsApi
  url: ../openapi/omnisend-events-api-openapi.yml
  type: openapi
workflows:
- workflowId: track-cart-event
  summary: Upsert the shopper contact and emit an added-to-cart event for them.
  description: >-
    Writes the shopper as a contact and then sends an added-to-cart customer
    event keyed to that contact's email, since Omnisend exposes carts only
    through events.
  inputs:
    type: object
    required:
    - apiKey
    - email
    - cartId
    - productId
    properties:
      apiKey:
        type: string
        description: The Omnisend API key sent in the X-API-KEY header.
      email:
        type: string
        description: The shopper email, used as the contact key and event identifier.
      cartId:
        type: string
        description: The store cart id, carried as an event property.
      productId:
        type: string
        description: The product id added to the cart, carried as an event property.
      quantity:
        type: integer
        description: The quantity of the product added to the cart.
  steps:
  - stepId: upsertShopper
    description: >-
      Create or update the shopper as a contact so the cart event can be
      attributed to a known profile.
    operationPath: '{$sourceDescriptions.contactsApi.url}#/paths/~1contacts/post'
    parameters:
    - name: X-API-KEY
      in: header
      value: $inputs.apiKey
    requestBody:
      contentType: application/json
      payload:
        email: $inputs.email
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      contactId: $response.body#/contactID
  - stepId: sendCartEvent
    description: >-
      Send an added-to-cart customer event for the shopper so abandoned-cart
      automations fire. Returns 202 Accepted when the event is queued.
    operationPath: '{$sourceDescriptions.eventsApi.url}#/paths/~1events/post'
    parameters:
    - name: X-API-KEY
      in: header
      value: $inputs.apiKey
    requestBody:
      contentType: application/json
      payload:
        eventName: added product to cart
        email: $inputs.email
        properties:
          cartId: $inputs.cartId
          productId: $inputs.productId
          quantity: $inputs.quantity
    successCriteria:
    - condition: $statusCode == 202
    outputs:
      eventStatus: $statusCode
  outputs:
    contactId: $steps.upsertShopper.outputs.contactId
    cartEventStatus: $steps.sendCartEvent.outputs.eventStatus
x-provenance:
  reviewed: '2026-08-13'
  status: stale
  note: >-
    Authored against the pre-2026-03-15 Omnisend contract (base https://api.omnisend.com/v5,
    X-API-KEY header) using a documentation-derived scaffold spec, which the 2026-08-13 enrichment
    pass superseded with 15 OpenAPI documents harvested from Omnisend's own docs host. The current
    contract uses base https://api.omnisend.com/api, a required Omnisend-Version: 2026-03-15 header
    and Authorization: Omnisend-API-Key {key}. This workflow needs regenerating against
    openapi/omnisend-*-openapi.yml before it will execute.

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/omnisend-track-cart-event-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.