Ortto · AsyncAPI Specification
Ortto Webhooks
Version
View Spec
View on GitHub
Marketing AutomationCDPCustomer Data PlatformAnalyticsEmailSMSTransactional EmailWebhookMCPPush NotificationsAsyncAPIWebhooksEvents
AsyncAPI Specification
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