Integration.app (Membrane) · AsyncAPI Specification
Integration App Webhooks
Version
View Spec
View on GitHub
Agentic IntegrationsAI AgentsConnectorsEmbedded IntegrationsEmbedded iPaaSIntegration MarketplaceMCPSelf-HostingUnified APIA2AAsyncAPIEvents
AsyncAPI Specification
generated: '2026-09-13'
method: searched
source: >-
https://docs.getmembrane.com/docs/managing-membrane/monitoring-troubleshooting/webhook-notifications,
https://docs.getmembrane.com/docs/how-membrane-works/events
asyncapi_published: false
asyncapi_note: >-
No AsyncAPI document is published on any host. Probed /asyncapi.yaml and /asyncapi.json on
api.getmembrane.com and docs.getmembrane.com, and searched the membranehq GitHub org - nothing.
The event surface below is read from the provider's documentation, not fabricated into a spec.
surfaces:
- name: Webhook Notifications
direction: outbound (Membrane -> customer backend)
description: >-
Workspace-level notifications about what is happening INSIDE Membrane - connections coming and
going, flow runs succeeding or failing, alerts opening.
setup: >-
A single webhook URL configured in Console under Settings > Webhook Notifications
(https://console.getmembrane.com/w/0/settings/webhook-notifications). Not configurable via the
published API.
delivery: HTTP POST
envelope:
fields:
- eventType
- data
note: 'data is keyed by event category: data.connection, data.flowRun, data.alert.'
retry: >-
"If your endpoint returns a non-2xx status code, Membrane retries with exponential backoff." No
retry count, ceiling or dead-letter behaviour is published.
signing:
published: false
note: >-
No signature header, shared secret or timestamp-verification scheme is documented for webhook
notifications. A receiver cannot verify the sender from the request alone.
docs: https://docs.getmembrane.com/docs/managing-membrane/monitoring-troubleshooting/webhook-notifications
- name: External Event Subscriptions
direction: outbound (Membrane -> customer backend), per subscription
description: >-
Events originating in the EXTERNAL app (a new HubSpot contact, a Slack message) that Membrane
subscribed to on the customer's behalf and forwards on.
setup: >-
Create an External Event Subscription with a connectionId and externalEventTypeId, then PATCH a
webhookUri onto it; Membrane POSTs each emitted event to that URI. 15 REST operations exist for
this surface (setup, subscribe, resubscribe, unsubscribe, pull, refresh, restore, delete,
download full-sync snapshot).
note: >-
The changelog entry for 2026-08-12 records a BREAKING SDK rename of the webhookUri field to the
outgoing delivery URL; check which name your SDK version uses.
docs: https://docs.getmembrane.com/reference/workspace-elements/external-events/external-event-subscriptions
- name: Flow triggers
direction: internal
description: >-
Events consumed inside Membrane as flow triggers rather than delivered to the customer.
docs: https://docs.getmembrane.com/docs/how-membrane-works/events
events:
- name: connection.created
surface: Webhook Notifications
when: A new connection is established (OAuth completed, API key saved).
payload_keys:
- data.connection.id
- data.connection.integrationId
- data.connection.integrationKey
- data.connection.name
- data.connection.disconnected
- data.connection.customerId
- name: connection.disconnected
surface: Webhook Notifications
when: A connection lost access (token expired, credentials revoked).
- name: connection.reconnected
surface: Webhook Notifications
when: A previously disconnected connection is restored.
- name: connection.deleted
surface: Webhook Notifications
when: A connection is archived.
note: >-
The event is named "deleted" but fires on ARCHIVE, which is reversible - see the reversibility
block in conventions/.
- name: flowRun.queued
surface: Webhook Notifications
when: A flow run is queued for execution.
- name: flowRun.started
surface: Webhook Notifications
when: A flow run begins executing.
- name: flowRun.completed
surface: Webhook Notifications
when: A flow run finishes successfully.
payload_keys:
- data.flowRun.id
- data.flowRun.connectionFlowId
- data.flowRun.integrationFlowId
- data.flowRun.state
- data.flowRun.startTime
- data.flowRun.endTime
- data.flowRun.startNodeKey
- data.flowRun.launchedBy
- name: flowRun.failed
surface: Webhook Notifications
when: A flow run fails with an error.
payload_keys:
- data.flowRun.errors
- name: flowRun.stopped
surface: Webhook Notifications
when: A flow run is manually stopped.
- name: alert.created
surface: Webhook Notifications
when: An alert is created or becomes ongoing.
payload_keys:
- data.alert.id
- data.alert.type
- data.alert.severity
- data.alert.description
- data.alert.status
- data.alert.workspaceId
- data.alert.workspaceUrl
- data.alert.createdAt
- name: data-record-created
surface: External Event Subscriptions / flow triggers
when: A new record appears in the external app's data collection.
- name: data-record-updated
surface: External Event Subscriptions / flow triggers
when: An existing record changes in the external app.
- name: data-record-deleted
surface: External Event Subscriptions / flow triggers
when: A record is removed in the external app.
delivery_mechanics:
detection:
- webhooks from the external app where it supports them
- polling where it does not
polling_defaults:
pull_based_seconds: 300
full_scan_seconds: 10800
polling_minimums:
incremental_pull_seconds: 60
full_sync_minutes: 60
note: >-
The limits page states a 60-minute minimum full-sync interval; the 2026-08-11 changelog entry
records the minimum full-sync interval being raised to 10 minutes. The two statements disagree
and both are the provider's own - recorded as found rather than reconciled.
concurrency:
parallel_incremental_pulls_per_connection: 1
parallel_full_sync_pulls_per_connection: 1
parallel_pulls_per_workspace: 10
source: https://docs.getmembrane.com/docs/managing-membrane/limits
observability:
logs:
- External Webhooks - raw incoming payloads from external apps
- External Event Pulls - each polling cycle
- External Events - processed events with payload and status
- Flow Runs - execution logs per triggered flow
docs: https://docs.getmembrane.com/docs/managing-membrane/monitoring-troubleshooting/logs
event_count: 13
Work with this as data
Every AsyncAPI spec 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 asyncapi
4 MCP tools reach this
find_asyncapisBrowse and filter every AsyncAPI spec 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.
Call it yourself
curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/integration-app-webhooks"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?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.