Popin’s webhook functionality allows you to receive real-time notifications about events happening in your Popin widget.
This guide explains how to set up webhooks and describes the event payloads you can expect to receive.
📌 Setting Up Webhooks
Log in to your Popin Dashboard.
Navigate to:
Settings > Integrations > Webhook
Enter your Webhook URL where Popin should send event notifications.
Use an API key for authentication, or . (dot) if an API key is not available.
If configured, the API key will be included in the request header as:
X-API-KEY: your_api_key
✅ Once configured, Popin will POST event data to your specified URL whenever supported events occur.
📦 Supported Events and Payloads
1. Call Successful
Event name: popin_call_successful
Description: Triggered when a call is successfully completed.
Event name: popin_call_missed
Description: Triggered when a call is missed.
3. Call Abandoned
Event name: popin_call_abandoned
Description: Triggered when a call is abandoned before being answered.
4. Call Remark Added
Event name: popin_call_remark_added
Description: Triggered when a remark is added to a call.
5. Scheduled Call Created
Event name: popin_scheduled_created
Description: Triggered when a call is scheduled.
6. Missed Call Invited
Event name: popin_missed_notification
Description: Triggered when a user is notified about a missed call.
7. Scheduled Call Notified
Event name: popin_scheduled_notification
Description: Triggered when a user is notified about an upcoming scheduled call.
8. Scheduled Call Pre-Notified
Event name: popin_prescheduled_notification
Description: Triggered when a user receives a pre-notification about an upcoming scheduled call.
9. User Captured
Event name: popin_user_captured
Description: Triggered when user details are captured.
Event name: popin_call_rated
Description: Triggered when a call is rated.
11. Call Guest Connected
Event name: popin_call_guest_connected
Description: Triggered when a user or agent joins the ongoing call.
meta and extra fields are reserved for additional contextual data.
All payloads include identifiers (user_id, email, phone_number) for mapping with your system.
Timestamps may be formatted differently depending on event type (e.g., d-M-Y, h:i A).
✅ Best Practices
Verify the source: Validate incoming webhooks are from Popin (e.g., check IP or API key).
Handle duplicates: Use idempotency to handle repeated events safely.
Respond quickly: Your endpoint should respond within a few seconds to avoid timeouts.
Error handling: Implement retry logic for failed webhook deliveries.
🔧 Troubleshooting
If you're not receiving webhook notifications:
✅ Verify your webhook URL in the Popin dashboard.
🪵 Check your server logs for incoming requests.
🌍 Ensure your endpoint is publicly accessible.
🔐 Review firewall/security settings that may block requests.