Omnisend · Arazzo Workflow

Omnisend Track Placed Order Event

Version 1.0.0

Create or update the buyer contact, then send a placed-order 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-placed-order-event
Upsert the buyer contact and emit a placed-order event for them.
Writes the buyer as a contact and then sends a placed-order customer event keyed to that contact's email, since Omnisend has no standalone order resource.
2 steps inputs: apiKey, currency, email, firstName, orderId, orderValue outputs: contactId, orderEventStatus
1
upsertBuyer
{$sourceDescriptions.contactsApi.url}#/paths/~1contacts/post
Create or update the buyer as a contact by email so the order event can be attributed to a known profile.
2
sendOrderEvent
{$sourceDescriptions.eventsApi.url}#/paths/~1events/post
Send a placed-order customer event for the buyer so order automations and analytics fire. Returns 202 Accepted when the event is queued.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Omnisend Track Placed Order Event
  summary: Create or update the buyer contact, then send a placed-order customer event for them.
  description: >-
    Omnisend models orders as customer events rather than as a dedicated order
    resource, so this workflow adapts the "create order" theme to the events
    endpoint. It first creates or updates the buyer as a contact by email, then
    sends a "placed order" event tied to that contact's email so order-based
    automations and reporting are triggered. 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-placed-order-event
  summary: Upsert the buyer contact and emit a placed-order event for them.
  description: >-
    Writes the buyer as a contact and then sends a placed-order customer event
    keyed to that contact's email, since Omnisend has no standalone order
    resource.
  inputs:
    type: object
    required:
    - apiKey
    - email
    - orderId
    properties:
      apiKey:
        type: string
        description: The Omnisend API key sent in the X-API-KEY header.
      email:
        type: string
        description: The buyer email, used both as the contact key and the event identifier.
      firstName:
        type: string
        description: The buyer first name.
      orderId:
        type: string
        description: The originating store order id, carried as an event property.
      orderValue:
        type: number
        description: The total monetary value of the order.
      currency:
        type: string
        description: The ISO currency code for the order value.
  steps:
  - stepId: upsertBuyer
    description: >-
      Create or update the buyer as a contact by email so the order 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
        firstName: $inputs.firstName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      contactId: $response.body#/contactID
  - stepId: sendOrderEvent
    description: >-
      Send a placed-order customer event for the buyer so order automations and
      analytics 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: placed order
        email: $inputs.email
        properties:
          orderId: $inputs.orderId
          value: $inputs.orderValue
          currency: $inputs.currency
    successCriteria:
    - condition: $statusCode == 202
    outputs:
      eventStatus: $statusCode
  outputs:
    contactId: $steps.upsertBuyer.outputs.contactId
    orderEventStatus: $steps.sendOrderEvent.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-order-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.