Every bot conversation automatically fires a webhook to your automation platform. Log questions to Sheets, trigger CRM updates, send Slack alerts — all from bot chat events.
In Zapier, create a new Zap and choose Webhooks by Zapier as the trigger. Select "Catch Hook". Copy the webhook URL — it looks like https://hooks.zapier.com/hooks/catch/xxxxx/yyyyy/.
From your My Bots dashboard, go to Webhooks for any purchased bot. Paste your webhook URL and choose which events to send: message.sent and/or message.received.
You can also register directly via the API:
POST https://professor.urbot.net/api/webhooks-user
Authorization: Bearer <your-jwt-token>
Content-Type: application/json
{
"bot_slug": "professor",
"webhook_url": "https://hooks.zapier.com/hooks/catch/xxxxx/yyyyy/",
"events": ["message.received"]
}
The response includes a webhook_secret — store it. You will use it to verify incoming requests.
Each time a user sends a message and the bot responds, URBot posts a signed JSON payload to your URL:
{
"event": "message.received",
"timestamp": 1740000000,
"data": {
"bot_slug": "professor",
"user_message": "How do I study for a calculus exam?",
"bot_response": "Great question! Let me walk you through...",
"timestamp": "2026-01-01T00:00:00.000Z"
}
}
Every request includes these headers so you can verify it came from URBot:
| Header | Description |
|---|---|
| X-URBot-Event | The event name, e.g. message.received |
| X-URBot-Signature | hmac-sha256=<hex> — HMAC-SHA256 of the full JSON body using your webhook_secret |
| X-URBot-Timestamp | Unix timestamp when the event fired (seconds) |
// Node.js verification example
const crypto = require('crypto');
const secret = process.env.URBOT_WEBHOOK_SECRET;
function verifySignature(rawBody, signatureHeader) {
const expected = 'hmac-sha256=' +
crypto.createHmac('sha256', secret).update(rawBody).digest('hex');
return crypto.timingSafeEqual(
Buffer.from(expected), Buffer.from(signatureHeader)
);
}
Every professor.urbot.net message lands in a spreadsheet row — perfect for tracking student questions at scale.
n8n batches chat events and posts a digest each morning: top questions, bot confidence scores, unresolved topics.
When your sales bot answers a question, Make automatically creates or updates a HubSpot contact with the conversation context.
Legal bot answers → Zapier sends a confirmation email to the user with a PDF summary via Gmail or Mailchimp.
Escalate unanswered questions to Zendesk or Notion automatically when the bot uses its fallback response.
Push chat data into Looker Studio or Power BI to visualize which topics drive the most bot engagement.
Go to your My Bots dashboard, select a bot, and add your first webhook in under a minute.
Manage Webhooks My Bots