Mark Booking (no-show / completed)
Finalise this conversation's appointment as completed, a no-show or canceled — the same move the /bookings page's own buttons make, so a webhook or a question the customer answers can record it automatically.
Getting here
Automate → Workflows, open a workflow, click + on the canvas, then pick Mark Booking (no-show / completed) under Add Steps.
Before you start
- An owner, admin or agent can add this step and save the workflow. Publishing that workflow — the thing that makes it run on live conversations — is an owner or admin action.
- Building and running workflows depends on your plan; see pricing.
- This conversation (or the booking id you name) needs a confirmed booking to finalise — nothing else moves.
Set up
- Open the workflow and click + where the record belongs.
- Pick Mark Booking (no-show / completed).
- Choose No show, Completed or Canceled.
- Leave Booking id blank to use this conversation's own open booking, or name one with a placeholder.
- Save the step, then publish the workflow. A saved but unpublished workflow finalises nothing.
Fields
- Status
- No show, Completed or Canceled.
- Default: No show
- Booking id
- A specific booking to finalise, as a placeholder or literal id.
- Default: This conversation's own open booking
- Limits: Left blank, only this conversation's confirmed booking is eligible — never another contact's.
How it works
- Left with no Booking id, the step finds this conversation's own confirmed booking, ordered by start time with the LATEST one first — so if this conversation somehow has two confirmed bookings, a past one and a future one, this step finalises the future one, not necessarily the appointment that already happened.
- Only a booking in confirmed status can move. The move is a single conditional database update, not a read-then-write, so a workflow step and a person clicking a status button on /bookings at the same moment cannot both win — whichever reaches the database first finalises the booking, and the other is told it is already finalized rather than finalising it a second time.
- It reuses the exact same function the /bookings page's own status buttons (labelled Done, No-show and Cancel there — this step's own dropdown uses the fuller words above) call, so a booking finalised by a workflow behaves identically to one a person finalised by hand.
- On success it fires this workspace's Booking Status Changed trigger for follow-up flows — a re-engagement message after a no-show, for example. This is best-effort: if starting that follow-up fails for any reason, the booking's status change already happened and is not undone.
When it fails
- No booking id was given and this conversation has no confirmed booking: the step fails with this conversation has no open booking to mark. A database error looking up that booking fails with the exact same message — the two causes are not distinguishable from the run log.
- The named booking id does not exist in this workspace, or is not currently confirmed (already finalised, or raced by something else): the step fails with Booking not found. or Booking not found or already finalized.
- A database error reading or updating a named booking fails the step with Could not read the booking. or Could not update the booking.
- A failed record does not stop the run: the step is recorded failed and the flow moves straight to the next one, with the booking left exactly as it was.
Limits
- It cannot move a booking that is not confirmed — a booking already marked completed, no-show or canceled cannot be re-marked, in either direction, by this step or by the page.
- Left with no booking id, and with more than one confirmed booking on this conversation, it finalises whichever one starts latest — not necessarily the one that just happened. Name the booking id explicitly when that matters.
- It does not message the customer. Whatever should follow a no-show or a completion is a separate step, or the workflow the Booking Status Changed trigger starts.
- The follow-up trigger only fires when the booking is linked to a conversation; a booking with none records the status change but starts no flow.
Use cases
- Mark Completed after a calendar webhook posts that the appointment finished, then move the contact's lifecycle stage forward.
- Ask "Did you make it to your appointment?" and mark No show on a "no" answer, triggering a reschedule flow.
Related
- Register for Event — Add this contact to an event's list, which is what makes them eligible for its reminders — a named event, or the next published one coming up.
- Record Attendance — Write the outcome — attended, no-show or canceled — onto this contact's event registration, with an optional minutes-attended figure for engagement grading.
- Workflows: how a flow runs — A workflow is one trigger, optional conditions and an ordered list of steps; only a published workflow runs, and this article explains how a run starts, forks, pauses, fails and stops.
Reading this with an AI assistant? Plain Markdown version.