webhookWebhooks

Webhooks let DM Champ automatically notify your other business tools whenever something important happens - such as a new contact being created, an appointment being booked, or a message being received. Instead of manually checking for updates, your connected systems get an instant notification the moment something happens.


What Are Webhooks?

Think of a webhook like an automatic text message between two apps. When something happens in DM Champ (like a new contact signing up), DM Champ instantly sends a notification to another system of your choice. You provide a web address (called a "webhook URL") where these notifications should be sent - this is typically provided by your CRM, automation platform, or developer.

Note: Setting up webhooks involves some technical configuration. If you are not comfortable with this, consider sharing this page with your developer or using an automation platform like Zapier, Make, or Pabbly, which provide webhook URLs with no coding required.

Common uses include:

  • Syncing new contacts to your CRM.

  • Triggering a workflow in Zapier, Make, or Pabbly when a tag is applied.

  • Notifying your team in Slack when a human is alerted.

  • Updating your calendar system when an appointment is booked.

  • Logging conversation summaries to your database.


Setting Up Webhooks

  1. In DM Champ, go to Settings > Webhook.

  2. Enter your Webhook URL - this is the web address where DM Champ will send event notifications. You get this URL from your external system (CRM, automation platform, or custom server).

  3. Select the trigger events you want to listen for (see the full list below).

  4. Optionally, configure tag-based triggers for more granular control.

  5. Click Save to activate your webhook.


Available Trigger Events

You can enable or disable each event independently. When an event fires, DM Champ automatically sends a notification to your webhook URL with the relevant data.

Event
Description

Contact Created

A new contact is added to your DM Champ account (manually, via import, or via API).

Contact Resumed

A paused or stopped contact conversation is resumed.

Contact Paused

A contact conversation is paused (bot stops responding).

Contact Do Not Disturb

A contact's Do Not Disturb setting is turned on, meaning no further automated messages should be sent.

Contact Unarchived

An archived contact sends a new message, bringing them back into your active inbox.

Human Alerted

The AI bot determines it cannot handle a conversation and flags it for human attention.

Appointment Booked

A contact books an appointment through the DM Champ booking system.

New Message

A new message is received from a contact on any channel.

Replies

A contact replies to a message.

Reads

A contact reads a message (on channels that support read receipts).

Deliveries

A message is successfully delivered to a contact.

Credits Spent

Credits are deducted from your account (useful for tracking usage in external systems).

Credits Recharged

Credits are added to your account via auto-recharge or manual purchase.


Tag-Based Webhook Triggers

For more precise control, you can configure webhooks to fire only when specific tags are applied:

  1. In the webhook settings, look for the Tags section.

  2. Select one or more tags.

  3. When any of the selected tags is applied to a contact, the webhook fires with the tagging event data.

This is useful when you want to trigger external workflows only for certain outcomes - for example, only when a contact is tagged as "qualified-lead" or "booked."

Generate Summary for Tagged Contacts

When configuring tag-based triggers, you can check the Generate Summary option. When enabled, DM Champ will automatically generate a conversation summary for the contact at the time the tag is applied. This summary is included in the webhook data, giving your external system full context about the conversation without having to request it separately.


Testing Your Webhook

Before relying on your webhook in production, test it:

  1. Enter your webhook URL in Settings > Webhook.

  2. Click Send Test Event.

  3. Check your external system to confirm it received the test data.

  4. Review the data format to make sure your system can parse it correctly.

For a full end-to-end test:

  • Send yourself a campaign message and trigger one of the configured events.

  • Or use an incoming campaign and send a message to your connected number or channel.

  • Verify the webhook fires and your external system processes it as expected.

Tip: Use a tool like webhook.sitearrow-up-right or RequestBinarrow-up-right during development to inspect the raw webhook data before connecting your production system.


Webhook Data Format

When a webhook fires, DM Champ sends structured data (in JSON format) to your webhook URL. If you are using an automation platform like Zapier or Make, it will parse this data for you automatically. If you are building a custom integration, here is what the data looks like:

Field
Description

event

The type of event that triggered the notification (for example, contact_created, appointment_booked).

timestamp

The date and time when the event occurred.

data

The details of the event (varies depending on what happened).

The data section varies depending on the event. For example, an appointment_booked event includes appointment details like date, time, and attendee information, while a new_message event includes the message text, which channel it came from, and who sent it.


Webhook Reliability

  • DM Champ sends webhooks over a secure connection (HTTPS). Make sure the web address you provide uses HTTPS.

  • If your system returns an error, the delivery is considered failed.

  • Monitor your receiving system's uptime to avoid missing events.

  • For critical workflows, consider building in a fallback mechanism (for example, periodically checking DM Champ for missed events).


Troubleshooting

Problem
Solution

Webhook not firing

Confirm the webhook is saved and the correct events are selected. Check that your URL is reachable from the internet.

Test event works but real events do not

Make sure the specific event type is enabled. For tag-based triggers, confirm the correct tags are selected.

Receiving duplicate events

Check if you have multiple webhook configurations pointing to the same URL.

Data is empty or malformed

Verify your receiving system accepts JSON data. Check your server logs for parsing errors.

Webhook URL returns errors

Test your URL with a tool like Postman or webhook.sitearrow-up-right to confirm it can accept incoming data.


Next Steps

Last updated

Was this helpful?