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

  1. Open the workflow and click + where the record belongs.
  2. Pick Mark Booking (no-show / completed).
  3. Choose No show, Completed or Canceled.
  4. Leave Booking id blank to use this conversation's own open booking, or name one with a placeholder.
  5. 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.