Webhook Guide
This guide explains how to configure and use webhooks to receive real-time updates on application statuses from Carousel.

Creating a Workflow with Data Export
Carousel lets you collect and verify applicant data using a configurable, step-based workflows. You can customize, configure and white label each workflow, directly from the Portal, no code needed.
How to Set It Up
- Log in to the Carousel Portal
- Navigate to: Dashboard → Workflows → Create New Workflow
- Use the drag-and-drop builder to build your flow
- Add a Data Export step at the end
Configuring the Data Export Step
The Data Export step automatically sends collected applicant data to your system using a secure POST request.
Setup Instructions
- Set Export Destination to
Webhook
- Enter your POST URL (the endpoint on your system)
- Click Confirm to save
Once the applicant reaches this step, Carousel will send the workflow data as structured JSON.
Webhook Events
Carousel will automatically send webhook events to your configured POST URL as the applicant progresses through the workflow.
There are two main events:
1. Application Created
Triggered when an applicant first creates an application (logs in with phone number).
Sample Payload
{
"loanApplicationId": "28b25f25-43b7-4871-ab47-239faaefbe10",
"phoneNumber": "+1 (605) 555-5555",
"createdAt": "2025-08-14T20:52:22.589Z",
"system": {
"step": "Loan Product",
"status": "Initializing",
"updatedAt": "2025-08-14T20:52:21.233Z"
},
"application": {
"status": "In Progress",
"updatedAt": "2025-08-14T20:52:21.233Z"
},
"updatedAt": "2025-08-14T20:52:22.589Z"
}
2. Application Completed
Triggered when the applicant finishes the entire workflow. This includes all collected data.
Sample Payload
{
"loanApplicationId": "20ca981e-b94d-426a-a74a-9e17f315c7fc",
"phoneNumber": "+1 (605) 555-5555",
"application": {
"status": "Completed",
"updatedAt": "2025-08-14T20:52:21.233Z"
},
"dataStep": [
{
"step": "Loan Product",
"data": {
"id": "4361048b-5a52-46e6-ade6-a923ce39bb71",
"calculatorConfig": {
"upfrontFee": 0,
"originationFee": 0,
"brokerageFeePercent": 0
},
"calculatorType": 0,
"annualInterest": 5,
"minimumLoanAmount": 500,
"name": "cll",
"amount": 500,
"assignments": [],
"applicationDate": "2025-02-17T16:08:00.304Z",
"approvalDate": "2025-02-17T16:10:09.001Z",
"businessId": "e35cba52-a7f3-53c1-a47c-e539aa26d681",
"externalCustomerId": null,
"detailsOnUseOfFunds": null,
"purposes": ["Inventory"],
"urgencyOfFunds": null
}
},
{
"step": "Identity",
"data": {
"gender": "Male",
"dateOfIssue": "2024-10-10T00:00:00.000Z",
"fullName": "JOHN DOE",
"country": "CAN",
"dateOfBirth": "1998-03-08T00:00:00.000Z",
"dateOfExpiration": "2027-06-30T00:00:00.000Z",
"documentNumber": "H0653-00009-80308",
"province": "ON",
"frontImageUrl": "base64jpeg"
}
},
{
"step": "Bank Account",
"data": {
"loginId": "6433cf6a-0879-4ef0-5a2a-08d91642f9c6",
"bankAccount": [
{
"accountTitle": "Investments",
"accountNumber": "INV00001",
"institutionNumber": "",
"institutionName": "FlinksCapital",
"transitNumber": "",
"category": "Products",
"type": "RRSP",
"currency": "CAD",
"balanceAvailable": 0,
"balanceCurrent": 100000,
"balanceLimit": 0,
"overdraftLimit": 0,
"holder": {
"fullname": "John Doe",
"email": "[email protected]",
"phoneNumber": "(514) 333-7777",
"address": {
"address": "1275 avenue des Canadiens-de-Montréal",
"city": "Montréal",
"province": "QC",
"zipCode": "H3B 5E8",
"country": "CA"
}
}
}
]
}
},
{
"step": "Custom Questionnaire",
"data": {
"questions": [
{
"id": "5bbb1eb4-57c3-4c0c-aa08-b1a4a29eab85",
"name": "What is the full legal name of your company ?",
"answer": "Spheregbs"
},
{
"id": "5f3edc6e-6247-47f1-8a15-be6c271b8788",
"name": "Would you like for the lease to be under your company or personal ?",
"answer": "Company"
},
{
"id": "2de688e5-3ae1-46bb-b587-669f2168652d",
"name": "Address from where vehicle will operate?",
"answer": ""
}
]
}
}
],
"createdAt": "2025-07-22T15:55:23.985Z",
"updatedAt": "2025-07-22T15:55:23.986Z"
}
Support
Need help with:
- Configuring workflows
- Webhook setup
- Payload troubleshooting
- POS launch methods
We're here to help: Speak to Support
Updated 17 days ago