Send Events to Chekkit Using Webhooks


Chekkit allows you to connect other software using webhooks. This makes it possible to trigger Chekkit automations when something happens in your CRM, scheduling platform, payment processor, or another software system.

For example, another platform can notify Chekkit when a job is completed. Chekkit can then send a thank-you message, review request, or another automated text.

This article covers event information sent from another system into Chekkit.

To send Chekkit SMS and Textchat messages to your CRM or another system, see Send Chekkit Messages to Your CRM Using the Messaging Webhook

What Is a Webhook?

A webhook allows two applications to exchange information when an event occurs.

When something happens in one system, that system sends an HTTP request containing information about the event to a URL provided by another system.

With Chekkit’s Events Webhook:

  1. Your other software sends event information to Chekkit.
  2. Chekkit receives the event data.
  3. Chekkit checks for matching automation rules.
  4. Any matching Chekkit workflow can then be triggered.

Example Uses

You could configure another platform to notify Chekkit when:

  • A job is completed
  • An appointment is scheduled
  • A payment is received
  • An invoice is paid
  • A customer record is created
  • An order changes status

Chekkit can then use the received information to trigger an automated message or workflow.

How to Connect an Events Webhook

  1. Confirm that your other software supports outbound webhooks or HTTP POST requests.
  2. Copy your unique Chekkit Events Webhook URL.
  3. Open the webhook or automation settings in the other platform.
  4. Paste your Chekkit URL into the destination or endpoint field.
  5. Choose the event that should send information to Chekkit.
  6. Configure the request body to use JSON.
  7. Send a test event.
  8. Configure the corresponding automation or workflow in Chekkit.

Once connected, Chekkit will receive the data whenever the selected event occurs.

Your Chekkit Events Webhook URL

Your URL will follow a format similar to:

https://your-event-url.chekkit.io/api/event/123456789X

Use the exact URL provided for your integration.

Requirements

The sending system must:

  • Support HTTP POST requests
  • Send the request body in JSON format
  • Use your complete Chekkit Events Webhook URL
  • Include any information required by your Chekkit workflow
  • Include a valid customer phone number when the workflow will send a text message

No separate authentication is required for the standard endpoint because the URL contains a unique identifier.

When supported by the sending platform, use:

Content-Type: application/json

Example Payload

{
  "name": "John Smith",
  "phone": "+18883213212",
  "email": "john@example.com",
  "event_type": "job_completed"
}

The exact fields can vary depending on the sending platform and the Chekkit workflow being triggered.

Phone numbers should include the country code whenever possible.

Example:

+18883213212

Rate Limits

The following limits apply to requests your system sends into Chekkit’s Events API. They do not apply to Messaging Webhook requests that Chekkit sends to your CRM.

Current approximate limits, per running Chekkit service instance, are:

  • Approximately 10 requests per second for each integration app
  • Approximately 50 requests per second across all traffic reaching the rate-limited event routes

When a request exceeds an applicable limit, Chekkit responds with:

HTTP 429 Too Many Requests

The response includes a small JSON body similar to:

{
  "rateLimited": true
}

The sending system should delay and retry rate-limited requests using backoff.

Security

Treat your Chekkit Events Webhook URL like a password.

Only share it with trusted systems and authorized team members. Do not publish it in public documentation, public code repositories, or client-side website code.

Contact Chekkit Support if you believe your URL has been exposed.

Troubleshooting

When an event does not trigger the expected Chekkit workflow, confirm that:

  • The correct Chekkit Events Webhook URL is being used
  • The sending system is using HTTP POST
  • The request body contains valid JSON
  • The request contains the fields required by the workflow
  • The customer’s phone number includes the correct country code
  • The event value matches the conditions configured in Chekkit
  • The sending system is not receiving an HTTP 429 response

For additional help, contact support@chekkit.io.


Send Chekkit Messages to Your CRM Using the Messaging Webhook

Chekkit’s Messaging Webhook sends customer SMS and Textchat messages from Chekkit to your CRM or another external system.

You can also choose to forward outbound replies sent manually by your team from the Chekkit inbox.

This article covers messages sent from Chekkit to another system.

To send event information from another platform into Chekkit and trigger an automation, see Send Events Into Chekkit Using a Webhook.

What the Messaging Webhook Sends

By default, the Messaging Webhook sends inbound messages received through:

  • SMS
  • Textchat

You can optionally forward outbound messages sent manually by team members from Chekkit.

The outbound option does not forward messages sent by:

  • Bots
  • AI Employee
  • Other AI-powered automations

Configure the Messaging Webhook

The Messaging Webhook is configured separately for each Chekkit location.

  1. Sign in to Chekkit.
  2. Select the location you want to configure.
  3. Open Settings.
  4. Under Connections, select Messaging Webhook.
  5. Click Set URL beside Webhook URL.
  6. Enter the HTTPS endpoint where Chekkit should send message events.
  7. Save the URL.

After the URL is saved, Chekkit will begin sending inbound SMS and Textchat message events to the configured endpoint.

Add the Messaging Webhook dashboard screenshot beneath these steps.

Forward Team Replies

To also receive outbound replies sent manually by your staff:

  1. Open Settings.
  2. Select Messaging Webhook under Connections.
  3. Turn on Forward team replies.

When enabled, Chekkit sends outbound team replies to the same webhook URL used for inbound messages.

A separate outbound endpoint is not required.

Identify Inbound and Outbound Events

Chekkit uses an eventType  field to distinguish inbound customer messages from outbound team replies.

Inbound message:

{
  "eventType": "message.inbound"
}

Outbound team reply:

{
  "eventType": "message.outbound"
}

Your integration can use this value to route or process each message appropriately.

Internal confirmation before publishing: Verify that eventType  is already included in the live Textchat payload. The dashboard says that each event includes it, but the current Textchat field list supplied by development does not show it.

Textchat Inbound Payload

For an inbound Textchat message, the confirmed payload fields are:

Field Type Description
name String Customer’s name
phone String Customer’s phone number
message String Inbound message text
source String Message source. The value for Textchat is Textchat
businessName String Name of the Chekkit business or location
businessId String Chekkit business identifier
createdAt Date serialized to JSON Date and time the message was created
customerId String Chekkit customer identifier

Example Textchat Payload

{
  "name": "John Smith",
  "phone": "+18883213212",
  "message": "Hi, I would like to book an appointment.",
  "source": "Textchat",
  "businessName": "Example Business",
  "businessId": "BUSINESS_IDENTIFIER",
  "createdAt": "2026-06-30T17:40:00.000Z",
  "customerId": "CUSTOMER_IDENTIFIER"
}

Field names and values should be treated as case-sensitive.

For example, the Textchat source value is:

Textchat

Customer Mapping

The customerId  identifies the Chekkit customer associated with the message.

For integrations that maintain one conversation thread per customer, customerId  can be used to associate messages with the appropriate customer record or thread.

SMS and Outbound Payloads

SMS messages and outbound team replies are sent to the same configured Messaging Webhook URL.

The exact complete schemas for SMS events and outbound team replies should be confirmed using a live test event before individual fields are made mandatory in your receiving system.

Your integration should allow for additional fields to be added to webhook payloads without causing the request to fail.

Delivery Statuses

The Messaging Webhook does not currently forward carrier delivery-status updates such as:

  • Delivered
  • Failed
  • Undelivered

Chekkit tracks delivery information internally for product functionality, but carrier status callbacks are not currently sent to the Messaging Webhook URL.

The Messaging Webhook should therefore be used for message activity, not as confirmation that a carrier delivered a message.

Webhook Delivery and Retries

Chekkit currently makes one HTTP POST attempt for each Messaging Webhook event.

If the receiving endpoint is unavailable, times out, or does not return a successful response:

  • The failure is logged by Chekkit.
  • There is currently no dedicated automated retry queue.
  • Another delivery attempt is not guaranteed.

Your endpoint should:

  • Use HTTPS
  • Accept HTTP POST requests containing JSON
  • Return a successful 2xx  response promptly
  • Process longer-running tasks asynchronously
  • Log invalid or unsuccessful requests
  • Monitor for periods of downtime

Webhook delivery should be treated as best effort. Extended endpoint outages may result in missing events.

Troubleshooting

When messages are not appearing in your CRM or external system, confirm that:

  • The correct Chekkit location is selected
  • A valid HTTPS URL has been saved
  • The endpoint is publicly accessible
  • The endpoint accepts HTTP POST requests
  • The endpoint accepts JSON
  • The endpoint returns a successful 2xx  response
  • Forward team replies is enabled when testing an outbound staff reply
  • The outbound test message was sent by a team member rather than a bot or AI




For additional help, contact support@chekkit.io

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.