Skip to main content
Webhooks allow you to receive real-time notifications when events occur in your G-Tateth account.

Overview

Instead of polling the API for changes, webhooks push events to your application in real-time. This is more efficient and provides better user experience.

Creating a Webhook

Create a webhook through the API:
Or use the Developer Console in your dashboard.

Supported Events

Conversation Events

  • conversation.created - New conversation created
  • conversation.updated - Conversation updated
  • conversation.assigned - Conversation assigned to agent
  • conversation.closed - Conversation closed

Customer Events

  • customer.created - New customer created
  • customer.updated - Customer updated

Message Events

  • message.sent - Message sent
  • message.received - Message received

User Events

  • user.created - New user created
  • user.updated - User updated

Call Events

  • call.initiated - Call has been initiated
  • call.ringing - Call is ringing
  • call.answered - Call has been answered
  • call.completed - Call has completed
  • call.failed - Call failed
  • call.recording.available - Call recording is available

Webhook Payload

When an event occurs, we’ll send a POST request to your webhook URL:

Signature Verification

Each webhook request includes an X-Webhook-Signature header for verification. Always verify signatures to ensure requests are from G-Tateth.

JavaScript/Node.js

Python

Retry Policy

Webhooks are automatically retried on failure:
  • Max Retries: Configurable (default: 3)
  • Backoff Strategy: linear or exponential (default: exponential)
  • Exponential: 2s, 4s, 8s, 16s…
  • Linear: 5s, 10s, 15s…

Configuring Retry Policy

Testing Webhooks

Test your webhook endpoint:
This sends a test event to your webhook URL.

Delivery Logs

View webhook delivery history:

Best Practices

1. Always Verify Signatures

Never trust requests without signature verification:

2. Respond Quickly

Return 200 within 5 seconds. Process events asynchronously:

3. Handle Duplicates

Events may be delivered multiple times. Make handlers idempotent:

4. Use HTTPS

Webhooks must use HTTPS URLs. HTTP is not supported for security reasons.

5. Idempotency

Make your webhook handlers idempotent - processing the same event multiple times should have the same effect:

Troubleshooting

Webhook Not Receiving Events

  1. Check webhook is active
  2. Verify URL is accessible (HTTPS required)
  3. Check delivery logs for errors
  4. Verify signature verification is working

Webhook Failing

  1. Check response time (must be < 5 seconds)
  2. Verify endpoint returns 200 status
  3. Check server logs for errors
  4. Review retry policy settings

Resources