Webhooks and API
Connect external systems to Wexio with inbound and outbound webhooks
Webhooks are the primary way to connect Wexio to any other system - payment providers, e-commerce platforms, CRMs, no-code tools, and your own backend. Wexio speaks both directions:
- Inbound - external systems POST JSON to a Wexio URL and your flows run in response.
- Outbound - Wexio POSTs JSON to your URL whenever something happens (contact created, message sent, flow reached a custom event).

Access the Webhooks Page
Open Settings, then Webhooks and API, then Webhooks. The same group holds API keys and MCP, each on its own page.
The list shows every inbound and outbound connection with its direction, status, schema version, how many flows use it and when it changed. Use All, Inbound and Outbound to filter, or search by name or endpoint. Click New connection to create one, Open to go to its page, or the row menu for Edit details and Copy (the endpoint URL of an inbound connection).
Owners and Admins can create and change connections. Other roles can view them. On a plan below Pro the page shows a blurred demo with an upgrade prompt.
Connection Limit
Your plan caps how many connections you can have. Inbound and outbound connections count together, and so do paused ones.
| Plan | Connections |
|---|---|
| Pro | Up to 10 |
| Enterprise | Unlimited |
On a plan with a limit, the header of the page shows how many you use, for example 7 of 10 connections.

At the limit, Create connection fails and a message appears as a toast: Your plan allows up to 10 webhook connections. Delete one or upgrade to add more. Delete a connection you no longer need, or move to Enterprise.
Inbound vs Outbound
| Direction | Triggered by | Used for |
|---|---|---|
| Inbound | An external system hitting a Wexio URL | Start a flow when something happens outside Wexio - new payment, new form submission, a Zap completed, a webhook relay from Make/n8n |
| Outbound | Something happening inside Wexio | Notify external systems of events - contact created, chat opened, message delivered, a flow reaching a custom checkpoint |
Combine directions freely, and wire the same inbound connection into multiple flows.
Webhooks need a Pro or Enterprise plan. On a lower plan the connections are kept, but:
- outbound delivery is paused automatically;
- inbound webhooks are rejected;
- creating, editing or reactivating a connection is unavailable.
Listing, viewing, pausing and deleting connections, and reading delivery history, stay available on any plan - so you can still see what happened while you were away. Upgrading resumes delivery within about a minute.
Integration partners register one webhook that receives events for every client organisation they manage, instead of one connection per org. Same event catalogue and signing - see Partner webhooks in the API docs.
The Two Setup Paths
Inbound Path
- Create an inbound connection - Wexio generates a unique URL and a signing secret.
- Configure authentication - pick Shared secret (default), or a provider-specific mode (Stripe, Slack, Svix, Paddle, Revolut, HubSpot, Mailgun, Zendesk, Paystack, Vercel, GitLab, Generic HMAC).
- Configure contact resolution - how to map the incoming payload to a Wexio contact (Chat ID, Phone, Channel User ID, or Email).
- Capture a sample payload - click Capture schema and send one test request; Wexio learns the field shape and populates the variable picker.
- Bind a flow trigger - add a Webhook Received trigger on any flow and pick the connection.
See Inbound Webhooks for the full walkthrough.
Outbound Path
- Create an outbound connection - paste the URL you want Wexio to POST to.
- Configure authentication - none, Bearer token, Basic auth, or HMAC signing.
- Subscribe to events - pick which domain events (contact.created, message.outbound.created, flow.*) you want delivered.
- Optional - emit custom events from flows - drop an Outbound Webhook Event card into any flow to emit
flow.<your-name>events mid-flow.
See Outbound Webhooks for the full walkthrough.
Platform Integrations
Many providers connect directly: a chip under Provider presets prefills the auth fields so you paste your signing secret and go. The few providers Wexio cannot verify yet go through an n8n or Zapier proxy.
Make.com
Bridge Make scenarios to Wexio flows
Zapier
Connect any Zap to Wexio
n8n
Self-hosted automation with Wexio
Stripe
Payments, subscriptions, invoices
Paddle
Paddle Billing v2 notifications
Revolut
Revolut Business webhooks
Slack
Events API, slash commands, interactivity
GitHub
PR events, issues, deploys
Shopify
Orders, carts, products
HubSpot
Webhook subscriptions, signature v3
Clerk & Svix providers
Clerk, Resend and other Svix senders
Custom HMAC
Any provider that signs with HMAC-SHA256
Full integration catalog
All supported platforms at a glance
Observability
Every inbound request and every outbound delivery attempt is logged for 7 days. See Webhook History - open it with Logs on the connection page.

Limits & Defaults
| Limit | Value |
|---|---|
| Inbound payload size | 100 KB |
| History retention | 7 days (inbound + outbound) |
| Outbound retry attempts | Up to 6 per event, exponential backoff from 2 seconds |
| Outbound delivery logs | One row per attempt |
| Idempotency key window | Value of X-Idempotency-Key is deduplicated within 24 hours |
Related
- Inbound webhooks - connect a provider and bind it to a flow.
- Outbound webhooks - send Wexio events to your endpoint.
- Platform integrations - step-by-step guides per provider.
- Delivery history - inspect inbound requests and delivery attempts (view-only).