Ortto · AsyncAPI Specification

Ortto Webhooks

Version

View Spec View on GitHub Marketing AutomationCDPCustomer Data PlatformAnalyticsEmailSMSTransactional EmailWebhookMCPPush NotificationsAsyncAPIWebhooksEvents

AsyncAPI Specification

Raw ↑
generated: '2026-08-13'
method: searched
source: >-
  https://help.ortto.com/a-251-configuring-a-webhook,
  https://help.ortto.com/a-959-dynamic-webhooks,
  https://help.ortto.com/a-626-how-to-update-contact-data-from-a-webhook-in-a-journey-or-playbook
asyncapi: false
asyncapi_note: >-
  Ortto publishes no AsyncAPI document. Probed the docs host, the API host and
  the autopilot3 GitHub organization; no /asyncapi.yaml, no event-catalog file
  and no channel definitions exist. This artifact captures the webhook surface
  as documented prose instead, and asserts nothing beyond it.
description: >-
  Ortto's event surface is outbound webhooks configured inside the product, not
  a subscribable event API. A webhook is an action placed in a journey,
  playbook or activity, so the "event catalog" is really the set of journey
  actions and activity types a customer wires up rather than a fixed list of
  topics a developer subscribes to. The customer configures the target URL,
  HTTP method, optional basic-auth credentials and optional custom headers, and
  selects up to ten additional person or account fields to include on top of a
  mandatory locked set. Ortto adds no signature: there is no HMAC, no signing
  secret and no verification header documented anywhere, so a receiver's only
  authentication options are the basic-auth credentials or a shared secret the
  customer places in a custom header themselves. Delivery is at-least-once and
  Ortto says so plainly, telling consumers to de-duplicate on campaign_id +
  contact_id + run_id.
direction: outbound
subscription_model: >-
  Configured per journey/playbook/activity action inside the Ortto app. There is
  no API to create, list or manage webhook subscriptions programmatically.
delivery:
  transport: HTTP
  methods:
  - POST
  - GET
  content: customizable HTTP request carrying Ortto data
  at_least_once: true
  deduplication:
    required: true
    key:
    - campaign_id
    - contact_id
    - run_id
    note: >-
      Ortto documents that duplicate deliveries are possible and instructs
      consumers to implement de-duplication using this key combination.
  retries:
    max_attempts: 12
    backoff: escalating intervals from 5 minutes up to 1 day
    retried_status_range: 400-599
    not_retried:
    - 400
    - 401
    - 403
    - 404
    - 405
security:
  signature: false
  hmac: false
  signing_secret: false
  verification_header: null
  basic_auth: optional
  custom_headers: supported
  note: >-
    No cryptographic verification mechanism is documented. Receivers cannot
    prove a payload came from Ortto except by the credentials or secret header
    the customer configured on the webhook itself.
payload:
  mandatory_fields:
  - contact_id
  - email
  - campaign_id
  - campaign_name
  - action_id
  - action_name
  optional_fields:
    limit: 10
    description: Additional person or account fields chosen when configuring the webhook.
  activity_payload:
    included_when: the "Send activity payload if relevant" checkbox is selected
event_sources:
  description: >-
    Activity field ids are documented across these categories; each can trigger
    or be carried by a webhook, but Ortto publishes them as help-center tables
    rather than as a machine-readable catalog.
  categories:
  - email
  - SMS
  - push notifications
  - web sessions
  - audience and tag changes
  - journeys
  - playbooks
  - capture widgets
  - Talk conversations
  - WhatsApp
inbound:
  supported: false
  note: >-
    Ortto has no inbound webhook receiver for third-party events; inbound data
    arrives through the REST API, the tracking code, or a native integration.
summary:
  asyncapi_documents: 0
  webhook_surface: true
  signed: false
  managed_via_api: false