Event Notification Overview
Yeastar Workplace utilizes webhook for event-driven notifications, ensuring proactive and timely delivery of notifications to integrated third-party application when specific events occur. This topic provides a comprehensive overview of Yeastar Workplace webhook, including the requirements, the webhook workflow, the webhook timeout and retry mechanism, and a list of the supported webhook events.
Requirements
- The third-party application supports webhook functionality.
- The third-party application MUST be able to process HTTPS request and have a valid HTTPS certificate installed.
Webhook workflow
The following figure shows the webhook workflow:
To receive webhook event notifications from Yeastar Workplace, you need to get a webhook URL from the third-party application, set up a webhook on Yeastar Workplace and subscribe to desired events.
When a subscribed event occurs on Yeastar Workplace, the system will send the event details to the webhook URL using a POST request with a JSON payload.
Webhook timeout and retry mechanism
- Webhook timeout
-
The timeout of Yeastar Workplace webhook request is 60 seconds. If the system does not receive a
200 OK
response from the third-party application within this time period, it indicates that the webhook request is failed. - Retry mechanism
- Yeastar Workplace provides an automatic retry mechanism for webhook. In case of a failed webhook request, such as the third-party responses a 4XX or 5XX error code, or a timeout occurs, the system will resend the request three more times at increasing intervals.
Webhook event types
Event type | Trigger |
---|---|
MEETING_CREATED | A meeting room is booked. |
MEETING_UPDATED | The details of a meeting room booking is modified. Important: If the time of a meeting room booking is
changed, instead of sending a "Meeting Updated" event, the system sends a "Meeting
Deleted" event followed by a "Meeting Created" event.
|
MEETING_DELETED | A meeting room booking is cancelled. |
MEETING_CHECKED_IN | Someone checks in to a meeting. |
MEETING_REACHED_START_TIME | A meeting reaches its start time and no one has checked in. |
MEETING_EXTENDED | A meeting is extended. |
MEETING_CHECKED_OUT | A meeting is ended. |
MEETING_REACHED_END_TIME | A meeting reaches its end time and no one has checked out. |