For developers building a system that receives CoReceptionist webhooks. Webhooks is in beta: we will tell you before any change that could break an integration, and the api_version field changes when the format does.
1
How events are sentEach event is an HTTPS POST with a JSON body to the URL you configured. Every request carries these headers. X-CoReceptionist-Delivery is unique per delivery — use it to ignore a request you have already processed.Request headers
Eventsvisitor.checked_in — a visitor checks in at a kiosk, is checked in from the dashboard, or a pre-registered or touchless visitor arrives. visitor.checked_out — self check-out at a kiosk, check-out by staff, or the nightly automatic check-out. delivery.received — a courier signs in a delivery at the kiosk. Each visitor in a group check-in gets their own event. Employee check-ins are not sent.
3
Example: visitor.checked_inThis is a real check-in at our demo company with the default settings, so photos, ID scans, citizenship and temperature answers are left out.JSON body
Fieldsaccount — the company account (for a single-location company it is the same as location). location — the site where the event happened, with its address and timezone. visit — the visit record: visitor type, check-in and check-out times in UTC (ISO 8601), check_out_type (self, manual or auto), and the kiosk used to check in and to check out (they can differ; check_out_device is null for a check-out from the dashboard or the nightly automatic check-out). visitor — name, email, phone, company, photo_url, and fields: every other sign-in answer with the label your form uses. host — the employee being visited, or null. delivery — on delivery.received only: carrier and message. omitted — data categories this webhook is not set to receive.
5
Photos, ID scans and sensitive answersWith Include photos and ID scans turned on, visitor.photo_url and ID-scan fields contain secure links that work for one hour from the moment that delivery is sent; download the file in that time if you need to keep it. With Include citizenship and health answers turned on, those answers appear in fields. When a category is off, it is listed in omitted instead. The visitor's signature and their visitor code are never sent.
6
Respond quicklyReply with any 2xx status within 10 seconds, then do slow work afterwards. Anything else — a different status, a timeout or no connection — is retried after 1 minute, 5 minutes, 30 minutes, 2 hours and 12 hours (six attempts in all). Reply 410 Gone to tell us to stop sending to that URL. Events can arrive out of order and, rarely, more than once — use the timestamps in visit and the X-CoReceptionist-Delivery header.
TIPUse Send test event on the Webhooks page while building — the sample uses your location's real name and sign-in form with a fictional visitor, and is marked "test": true.