Popin 3P Events Documentation
Popin provides JavaScript events via window.popinEvent
to help track user actions, permissions, and call activities on the widget.
🔧 Integration
Place the following snippet below the Popin integration script:
window.popinEvent = (event, data) => {
if (event === "popin_captured") {
// Example: Call FB event function here
fbq("trackCustom", "popinCapture", {
name: data.name,
mobile: data.mobile,
});
}
};
Each event is triggered with a specific payload. You can integrate these events with your analytics, backend systems, or third-party tools.
📘 Event Reference
1. nudge_show
nudge_show
Description: Triggered when a nudge popup is displayed to the user.
Payload:
{
"uid": "string"
}
2. nudge_open
nudge_open
Description: Triggered when the user opens the nudge popup.
Payload:
{
"uid": "string"
}
3. nudge_close
nudge_close
Description: Triggered when the user closes the nudge popup.
Payload:
{
"uid": "string"
}
4. popin_permission_given
popin_permission_given
Description: Triggered when the user grants microphone and/or camera permissions.
Payload:
{
"uid": "string",
"audio": "boolean",
"video": "boolean"
}
5. popin_permission_denied
popin_permission_denied
Description: Triggered when the user denies microphone and/or camera permissions.
Payload:
{
"uid": "string",
"audio": "boolean",
"video": "boolean"
}
6. popin_expert_busy
popin_expert_busy
Description: Triggered when the expert is busy and cannot take the call.
Payload:
{
"uid": "string"
}
7. popin_rating_done
popin_rating_done
Description: Triggered when the user submits a rating and optional feedback after a call.
Payload:
{
"uid": "string",
"rating": "integer",
"comment": "string"
}
8. popin_schedule_created
popin_schedule_created
Description: Triggered when the user schedules a call.
Payload:
{
"uid": "string",
"timezone": "string",
"time": "string"
}
9. popin_call_end
popin_call_end
Description: Triggered when a call ends.
Payload:
{
"uid": "string",
"callId": "string",
"invited": "boolean"
}
10. popin_captured
popin_captured
Description: Triggered when a new user/lead is captured via the widget. Empty or null fields are automatically filtered out.
Payload:
{
"name": "string",
"email": "string",
"country": "string",
"mobile": "string",
"city": "string",
"pin_code": "string",
"group": "string",
"uid": "string"
}
11. popin_navigated
popin_navigated
Description: Triggered when the user navigates to different screens.
Payload:
{
"uid": "string",
"screen": "string"
}
📺 Available Screens:
SCREEN_CAPTURE_USER_INFO
Screen that captures user info like name, number, email, etc.
SCREEN_CONNECT_OR_SCHEDULE
Screen to choose live call or scheduling a call.
SCREEN_CONNECT_GATE_QUEUE
Permission screen.
SCREEN_SCHEDULE_CALLBACK
Callback booking screen.
PRODUCT_CART
Cart page to add products.
SCREEN_EVENT_LIST
Lists all events.
SCREEN_RECENT_PRODUCTS
Shows recently viewed and other products.
SCREEN_SCHEDULE_CALENDAR
Lets users pick a date and time.
SCREEN_FAQ_VIEW
Frequently Asked Questions view.
SCREEN_ASK_QUESTION_INPUT
Input screen for posting a question.
SCREEN_ASK_QUESTION_CONFIRM
Confirmation screen after posting a question.
SCREEN_FAQ_SELECTIVE
Allows users to select a video FAQ to play.
SCREEN_RETURNING_USER
Seen when a customer reopens after a call.
SCREEN_SCHEDULE_SLOTS
Selects time slot for call scheduling.
SCREEN_EXPERTS_BUSY
Displayed when all experts are busy.
SCREEN_VIDEO_CALL
Video calling screen.
SCREEN_CHAT
Chat window with an agent.
SCREEN_REVIEW_AGENT
Post-call review screen.
SCREEN_SCHEDULE_WAITING
Shown after scheduling when reopened.
SCREEN_INVITE_CALL_EXPIRED
Displayed when joining an expired group call.
12. popin_auto_captured
popin_auto_captured
Description: Triggered on auto-capture or logged-in flows.
Payload:
{
"uid": "string",
"captured": "object"
}
13. popin_open
popin_open
Description: Triggered when the Popin widget opens.
Payload:
{
"uid": "string"
}
14. popin_close
popin_close
Description: Triggered when the Popin widget closes.
Payload:
{
"uid": "string"
}
📝 Notes
All events include a
uid
field that identifies the user session.Payloads may vary depending on:
User input
Permissions granted
Widget configuration
Handle optional fields gracefully — they may be omitted if not provided by the user.
Last updated