CloseBot has great CRM integration capabilities, but sometimes flexibility and control can be a game changer. That is why CloseBot also offers a blank canvas Webhook source. This doc will break down how to create a webhook source, how to send messages, and what to expect in return!
Creating a Webhook Source
Start by navigating to your organization’s source page and press “Add New Source”:
Select “Webhook” and press next:
While the source name is totally adjustable and only a reference for you, the Webhook URL is very important for the source. This Webhook URL will be the destination CloseBot uses to send all source responses (outbound message responses, contact field updates, etc)
When the settings are confirmed, mark the checkbox and press “Add Source”:
Sending a message to your source
Now that the source is created, we can press the edit source button to view more details:
Here we have the Access Token and Event Endpoint (both required to interact with the source).
We have two message types currently supported by the webhook endpoint:
Inbound Message
Use this to report an inbound message to CloseBot
curl {YOUR EVENT ENDPOINT} \
-H "Content-Type: application/json" \
-d '{
"accessToken": "{YOUR ACCESS TOKEN}",
"kind": "message",
"contactId": "YOU SET THIS",
"body": "Hello!"
}'
Contact Field Update
Use this to report that a field has changed on your end. Helpful if you're using our Delay Variable action to only continue when a variable is filled out, for example.
curl {YOUR EVENT ENDPOINT} \
-H "Content-Type: application/json" \
-d '{
"accessToken": "{YOUR ACCESS TOKEN}",
"kind": "set-field",
"contactId": "YOU SET THIS",
"field": "contact.first_name",
"value": "Sam"
}'
Receiving Responses
Now that CloseBot received the message, if the source is connected to a job flow correctly, you will get events that look like this sent to your listed webhook retrieval endpoint.
{
"kind": "response-generated",
"timestamp": "2025-08-20T03:47:22.5694637Z",
"data": {
"contactId": "MATCHES WHAT YOU SET",
"messageId": "msg_Q8SQ9ZGZJ0SDKGI9",
"body": "Hey there! I appreciate you reaching out. What should I call you?",
}
}
Summary
Put it all together and you now have a fully functional and flexible tool to send messages to your amazing Agents in CloseBot without a CRM connection required. Or, you can use this to do some custom messaging from a CRM to fake a first message for your client. The possibilities are endless!