Skip to main content
Webhooks allow you to receive real-time notifications of events in your Dots account. You can track Payout Links, Flows, and Transfers by setting up webhooks, enabling your application to respond immediately to changes and updates.

Configuring Webhooks

Each Dots App has its own webhook authentication credentials, which include the Webhook App ID and Webhook Integration Key. To find the webhooks information for your App, follow the steps:
  1. Access the Dots dashboard.
  2. From the sidebar, choose the desired App from your list.
  3. Navigate to the API Management tab for the webhook authentication information.
You will find the Webhook App ID and Webhook Integration Key here. Dots uses Svix to manage webhooks. To configure a new webhook endpoint for your App, follow the steps:
  1. Click on Manage Webhooks in the API Management tab to access the Svix dashboard, where you will find all configured webhooks. Each App you create in Dots will have a different dashboard on the Svix.
  2. Click on + Add Endpoint to add a new webhook.
  3. Provide a URL or use an endpoint generated by Svix. Optionally, add a description to define the purpose of the webhook.
  4. Select the event types to which the endpoint should be subscribed. If no event is selected, the webhook will register for all events.
  5. Optionally, enable a rate limit for the endpoint.
  6. Click Create.
A new endpoint will be created to group all information from the notification received.

Available events

When creating an endpoint on Svix, you can subscribe to a wide list of events to receive notifications. The following accordions list the available events and present webhook notifications examples:
Triggered when an App object is updated.
{
"app_id": "5d9278aa-ddac-4df6-9063-696d32b3baf9"
}
Triggered when ACH transaction details within a flow are updated.
  {
  "event": "flow.transaction_updated",
  "flow_id": "d48d42ca-efdf-4b41-b3a7-aa3cdd6c129f"
  }
Called when a flow has been updated due to a user completing steps.
{
"event": "flow.updated",
"flow_id": "d48d42ca-efdf-4b41-b3a7-aa3cdd6c129f"
}
Triggered when a payment intent object is updated.
{
"payment_intent_id": "0feee270-d3c9-434a-b432-eb6f4ff4a234"
}
Occurs when a payout request changes status.
Triggered when a refund object is updated.
{
"refund_id": "169a5d87-041b-4d49-ba9d-2e45f8fe9183"
}
Triggered when a transfer is completed. This is a terminal state. The complete transfer object will be included in the payload.
{
"transfer": {
  "amount": 123,
  "created": "2023-11-07T05:31:56Z",
  "external_data": {
  "account_id": "<string>",
  "external_id": "<string>",
  "platform": "ach"
  },
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "metadata": "<string>",
  "status": "completed",
  "transactions": [
  {
    "amount": 123,
    "created": "2023-11-07T05:31:56Z",
    "destination_name": "<string>",
    "id": 123,
    "metadata": "<string>",
    "source_name": "<string>",
    "type": "balance"
  }
  ],
  "type": "refill",
  "user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"transfer_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}

Triggered when a transfer fails. This is a terminal state. The complete transfer object will be included in the payload.
{
"transfer": {
  "amount": 123,
  "created": "2023-11-07T05:31:56Z",
  "external_data": {
  "account_id": "<string>",
  "external_id": "<string>",
  "platform": "ach"
  },
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "metadata": "<string>",
  "status": "failed",
  "transactions": [
  {
    "amount": 123,
    "created": "2023-11-07T05:31:56Z",
    "destination_name": "<string>",
    "id": 123,
    "metadata": "<string>",
    "source_name": "<string>",
    "type": "balance"
  }
  ],
  "type": "refill",
  "user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"transfer_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
When there is a change to a transfer status.
{
  "event": "transfer.updated",
  "transfer_id": "68db1237-3953-47b0-86aa-739a201dcb16"
}
Triggered when a user’s background check is completed.
{
  "user_id": "some string"
}
Triggered when a user’s ID is verified.
{
  "user_id": "some string"
}
Triggered when a user’s payout method is updated.
  {
    "user_id": "some string"
  }