> For the complete documentation index, see [llms.txt](https://docs.ochats.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ochats.io/module-tutorial/settings/webhooks.md).

# Webhooks

The Webhooks module allows you to send real-time data notifications to external applications whenever specific events occur in your oChats.io workspace (e.g., receiving a new message or updating a ticket status). This enables seamless, instantaneous integration with your own servers or automation platforms like Make or Zapier.

#### Step 1: Navigate to Webhooks Settings

1. Open your oChats.io dashboard.
2. In the left-hand sidebar menu, expand the Settings dropdown and click on Webhooks.

#### Step 2: Open the Creation Modal

1. On the Webhooks management dashboard, click the action button located at the top right (typically labeled Create Webhook or Add Webhook).
2. A configuration pop-up window will appear.

<figure><img src="/files/cG2uKagOBmDaWxos5cAG" alt=""><figcaption></figcaption></figure>

#### Step 3: Configure Your Endpoint & Events

1. Webhook Name: Enter a recognizable name to easily identify this integration later (e.g., *CRM Sync Webhook*).
2. Target URL (Endpoint): Paste the destination URL provided by your external server or automation platform where oChats.io should send the payload data.
3. Select Event Triggers: Check the boxes for the specific system events you want to monitor. Common triggers include:
   * Contact Events
     * `contact.created` (New Contact)
       * Function: Triggers immediately when a completely new contact is added to your database.
       * Common Use Case: Automatically syncing new leads to an external CRM, sending a welcome email via another platform, or logging new users in a database.
     * `contact.updated` (Contact Updated)
       * Function: Triggers whenever an existing contact's details are modified. This includes changes to their name, phone number, email, or custom fields.
       * Common Use Case: Keeping profile data synchronized in real-time between this platform and your third-party software.
     * `contact.tag_updated` (Tag Updated)
       * Function: Specifically fires when a tag is added to or removed from a contact.
       * Common Use Case: Triggering automated marketing flows (e.g., if a "Warm Lead" tag is added, move them to a premium email segment or notify a sales rep).
   * Conversation & Ticket Management

     * `conversation.opened` (Conversation Opened)
       * Function: Triggers when a new chat session begins or an existing, archived conversation is reopened (either by a user sending a message or an agent manually opening it).
       * Common Use Case: Routing the chat to a live agent, starting an automated chatbot greeting, or updating a custom KPI dashboard tracking active chats.
     * `conversation.closed` (Conversation Closed)
       * Function: Triggers when an agent or a system automation marks a conversation as resolved or closed.
       * Common Use Case: Sending an automated customer satisfaction (CSAT) survey link, or archiving the chat log into an external backup system.
     * `contact.assignee_updated` (Assignee Changed)
       * Function: Triggers when the ownership of a conversation changes—meaning it is assigned to a specific team member, transferred to another agent, or unassigned.
       * Common Use Case: Notifying the specific agent on their internal communication tool (like Slack or Microsoft Teams) that a chat has been assigned to them.

     Messaging Events

     * `message.incoming` (Incoming Message)
       * Function: Triggers the moment a customer sends a message to your business (via WhatsApp, SMS, or any connected omnichannel support network).
       * Common Use Case: Passing the customer's text to an external AI engine or custom bot backend to generate a dynamic reply, or triggering instant push notifications for agents.
     * `message.outgoing` (Outgoing Message)
       * Function: Triggers whenever a message is sent *from* your platform to the customer (whether typed by a human agent, sent by a broadcast, or fired by an automated workflow).
       * Common Use Case: Logging audit trails of agent activity, updating external databases with full message logs, or calculating agent response times.
     * `whisper.created` (Whisper Created)
       * Function: Triggers when an internal note ("whisper") is added to a conversation thread. These notes are visible only to team members and are hidden from the end customer.
       * Common Use Case: Syncing internal collaboration notes to a centralized CRM timeline or notifying managers when specific internal flags are raised during a live chat.

<figure><img src="/files/TFCEcq4vaXYgchRbbTNa" alt=""><figcaption></figcaption></figure>

#### Step 4: Save and Active

1. Double-check that your destination URL is accurate.
2. Click Save or Create. The webhook will instantly go live and start listening for your selected event triggers.

<figure><img src="/files/v2IQVz5ln8MttprXC7o4" alt=""><figcaption></figcaption></figure>

### 🛠️ Managing and Secret Keys

* Secret Token: Each webhook generates a unique signing secret. You can use this token on your receiving server to verify that incoming payloads are authentically coming from oChats.io and have not been tampered with.
* Status Toggle: You can temporarily pause a webhook at any time by toggling its status off instead of completely deleting it.
