Popin Webhook Integration Guide

Popin Webhook Integration Guide

Overview

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

  1. Log in to your Popin Dashboard

  2. Navigate to Settings > Developers > Webhook

  3. Click Setup

  4. Enter your webhook URL where Popin should send event notifications

  5. (Optional) Add an API key for authentication

  6. Save your settings

Once configured, Popin will POST event data to your specified URL whenever the supported events occur.

Supported Events and Payloads

1. Call Successful

Event name: popin_call_successful

Triggered when a call is successfully completed.

Payload:

  1. {
      "event": "popin_call_successful",
      "user_id": "string",
      "email": "string",
      "country_code": "string",
      "phone_number": "string",
      "properties": {
        "customer_name": "string",
        "call_duration": "string",
        "url": "string",
        "agent_name": "string"
      }
    }

2. Call Missed

Event name: popin_call_missed

Triggered when a call is missed.

Payload:

  1. {
      "event": "popin_call_missed",
      "user_id": "string",
      "email": "string",
      "country_code": "string",
      "phone_number": "string",
      "properties": {
        "customer_name": "string"
      }
    }

3. Call Remark Added

Event name: popin_call_remark_added

Triggered when a remark is added to a call.

Payload:

  1. {
      "event": "popin_call_remark_added",
      "user_id": "string",
      "email": "string",
      "country_code": "string",
      "phone_number": "string",
      "properties": {
        "customer_name": "string",
        "call_duration": "string",
        "url": "string",
        "remark": "string"
      }
    }

4. Scheduled Call Created

Event name: popin_scheduled_created

Triggered when a call is scheduled.

Payload:

  1. {
      "event": "popin_scheduled_created",
      "user_id": "string",
      "email": "string",
      "country_code": "string",
      "phone_number": "string",
      "properties": {
        "customer_name": "string",
        "scheduled_time": "string (format: h:i A)",
        "scheduled_date": "string (format: d-M-Y)",
        "url": "string",
        "agent_name": "string"
      }
    }

5. Missed Call Invited

Event name: popin_missed_notification

Triggered when a user is notified about a missed call.

Payload:

  1. {
      "event": "popin_missed_notification",  
      "user_id": "string",
      "email": "string",
      "country_code": "string",
      "phone_number": "string",
      "properties": {
        "customer_name": "string",
        "url": "string",
        "agent_name": "string"
      }
    }

6. Scheduled Call Notified

Event name: popin_scheduled_notification

Triggered when a user is notified about an upcoming scheduled call.

Payload:

  1. {
      "event": "popin_scheduled_notification",
      "user_id": "string",
      "email": "string",
      "country_code": "string",
      "phone_number": "string",
      "properties": {
        "customer_name": "string",
        "scheduled_time": "string (format: h:i A)",
        "scheduled_date": "string (format: d-M-Y)",
        "url": "string",
        "agent_name": "string"
      }
    }

7. Schedule Call Pre-Notified

Event name: popin_prescheduled_notification

Triggered when a user receives a pre-notification about an upcoming scheduled call.

Payload:

  1. {
      "event": "popin_prescheduled_notification",
      "user_id": "string",
      "email": "string",
      "country_code": "string",
      "phone_number": "string",
      "properties": {
        "customer_name": "string",
        "scheduled_time": "string (format: h:i A)",
        "scheduled_date": "string (format: d-M-Y)",
        "url": "string",
        "agent_name": "string"
      }
    }

8. User Captured

Event name: popin_user_captured

Triggered when user details are captured.

Payload:

  1. {
      "event": "popin_user_captured",
      "user_id": "string",
      "email": "string",
      "country_code": "string",
      "phone_number": "string",
      "properties": {
        "customer_name": "string"
      }
    }

9. Call Rated

Event name: popin_call_rated

Triggered when a call is rated.

Payload:

  1. {
      "event": "popin_call_rated",
      "user_id": "string",
      "email": "string",
      "country_code": "string",
      "phone_number": "string",
      "properties": {
        "customer_name": "string",
        "rating": "integer",
        "comments": "string",
        "url": "string",
        "agent_name": "string"
      }
    }

Best Practices

  1. Verify the source: Validate that incoming webhooks are from Popin by checking the IP address or using an API key.

  2. Handle duplicates: Implement idempotency in your webhook handler to process the same event multiple times safely.

  3. Respond quickly: Respond to webhooks within a few seconds to prevent timeouts.

  4. Error handling: Implement proper error handling and retry logic for failed webhook deliveries.

Troubleshooting

If you're not receiving webhook notifications:

  1. Verify your webhook URL is correctly entered in the Popin dashboard

  2. Check your server logs for incoming requests

  3. Ensure your endpoint is publicly accessible

  4. Verify any firewall or security settings aren't blocking incoming requests

For further assistance, please contact Popin support.






    • Related Articles

    • Popin Zapier Integration Guide

      Popin Zapier App Integration Overview The Popin Zapier App enables you to integrate Popin with thousands of other applications through Zapier. This guide provides instructions on how to connect Popin to Zapier, configure triggers, and use API ...
    • Popin - Freshsales Integration Guide

      Introduction Integrating Popin with Freshsales allows you to sync leads and activities seamlessly between the two platforms. Follow this guide to set up the integration quickly. Prerequisites You must have an active Popin account. You must have an ...
    • How to integrate your custom CRM on Popin?

      Guide for API Integration with Popin Welcome to the integration guide for the Popin! To enable seamless communication between your e-commerce website and our system, you need to provide two APIs: Lead Submission API - This API will allow us to pass ...
    • Integrating Popin Sales Tracking on Shopify

      To ensure seamless sales tracking with Popin, please follow the steps below to integrate the new Popin sales tracking pixel into your Shopify store. Steps to Integrate Popin Sales Tracking Step 1: Access Your Shopify Admin Panel Log in to your ...
    • How can i set up Popin on my website ?

      SETTING UP POPIN: A STEP-BY-STEP GUIDE 1. Access Your Dashboard * Open your account and log in with your dashboard credentials. * Navigate to the integrations section in your dashboard. 2. Choose Your Script * In the integrations section, you will ...