Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.qflowhub.io/llms.txt

Use this file to discover all available pages before exploring further.

Whenever an attendee is admitted to one of your events — via the check-in scanner app, the dashboard, or POST /checkin/v1/api/guest/checkin — Qflow POSTs a payload to your configured webhook URL. This is distinct from the Comms API webhooks (which report email lifecycle events). One account can configure both.

Configure the URL

The check-in webhook URL is set per-account in the Qflow dashboard under your account / settings → API. Sign in at qflowhub.io and add the receiving URL there. Same URL receives all check-in events for all events under your account.

When it fires

  • A guest is admitted via the scanner app on a phone or kiosk
  • A user clicks “Check in” on the dashboard guest list
  • An integration calls POST /checkin/v1/api/guest/checkin (or batched equivalents)
  • Plus-ones are admitted alongside the main attendee

Payload

{
  "Id":             "<attendee guid>",
  "FirstName":      "Joe",
  "LastName":       "Bloggs",
  "Email":          "joe@example.com",
  "Barcode":        "4GA6965Q1G5EZ0FB",
  "Tags":           "VIP, {tickettype}Main Entry, {session}Keynote",
  "AdditionalInfo": "Card #1234",
  "Admitted":       "2026-04-30T14:30:12Z",
  "CreatedBy":      "API (acme_resowner)",
  "User":           "joe.bloggs@yourcompany.com",
  "EventId":        "<event guid>"
}
Field notes:
FieldNotes
IdThe attendee’s GUID — same as the id you supply when creating via the API
AdmittedUTC timestamp of the check-in event
CreatedByHow the attendee originally got into Qflow (API client name, dashboard user, import)
UserThe team member or staff account who performed the check-in (not the attendee)
TagsComma-separated tags; prefixed tags include their {...} markers — see Tags

Receiving the webhook

A minimal receiver:
app.post('/qflow/checkin', express.json(), (req, res) => {
  const { Id, FirstName, LastName, Email, EventId, Admitted } = req.body;
  console.log(`${FirstName} ${LastName} (${Email}) admitted to ${EventId} at ${Admitted}`);
  // ... your logic ...
  res.sendStatus(200);
});
Return 200 OK on receipt. Non-2xx responses may trigger retries (subject to operational settings).
This webhook is the legacy check-in notification channel and is not currently HMAC-signed. If signature verification is critical for your use case, contact support@qflowhub.io.

Common uses

  • CRM sync — push Admitted events into your CRM as engagement signals
  • Real-time analytics — dashboards showing arrivals as they happen
  • Notifications to staff — alert a host when a VIP is checked in
  • Cross-system mirror — mark the same person attended in another system (badge printer, partner platform)

See also

  • Comms API webhooks — separate channel for email lifecycle events (sent / delivered / bounced / etc.)
  • Tags — understanding the {tickettype}, {session}, etc. markers in the Tags field