Configure contact around reservation and usage times
Connect reservation events or appointment-time queries to template messages or AI outbound calls on the workflow canvas, and verify that no duplicate contact occurs.
After this taskOne contact at the intended time correlates to the original event.
Starting conditions and inputs
Define the event, contact timing, template, basis for contact, and test records.
- Configure workflow triggers and steps
- Preview recipients and send a message
- Place an AI outbound call and check its result
Values for this task
entry_url, workflow_id, source_event, template_id, test_customer_id, workflow_run_url
Command sequence
open "$entry_url" && snapshot -i
click "$workflow_row" && snapshot -i
get text body
# Outside browser: Prepare one eligible and one excluded test record. Generate the designated source event once.
open "$workflow_run_url" && snapshot -i
get text bodyRef targets and expected results
| # | Command / ref | Target and verification |
|---|---|---|
| 1 | click $workflow_row | Workflow for the timed-contact test |
| 2 | get text | Read the trigger filter chips, step conditions, and template on the Flow canvas. |
| 3 | Outside browser | Prepare one eligible and one excluded test record. Generate the designated source event once. |
| 4 | open | Workflow run for this event |
| 5 | get text | Compare audience selection, delivery, and exclusion outcomes. |
Check the result
One contact at the intended time correlates to the original event.
Resuming after interruption
Check the original request ID and outcome first. Do not resubmit while its result remains unknown.
Confirmation notices, day-before reminders, and post-visit follow-ups all connect a reservation timing rule to a delivery step.
This guide combines workflow triggers and step filters with message or call templates. It also shows how to verify that rescheduling or cancellation does not cause duplicate sends.
Choose the event and time
First decide whether the contact fires on a state change or at a time offset around the reservation.
| Contact timing | Trigger to use | How to configure the condition |
|---|---|---|
| Immediately after confirmation | db (reservations table insert or update) | Add a Status: confirmed filter chip in source_query so the workflow runs when a reservation enters confirmed status. |
| Day before or shortly before a visit | cron or heartbeat | Use a reservations.list step to query confirmed reservations whose starts_at falls in the target window. |
| After visit completion | db or cron | Trigger on completion status or query completed reservations after the visit window. |
Choose the contact channel
Select template messages or AI outbound calls based on the purpose of the contact.
- Informational notices (confirmation or visit reminder): Use an approved informational template or outbound call script that states the booking time and preparation details.
- Promotional follow-up: Any message offering a discount or promotion requires prior advertising consent for that medium.
- Staff follow-up requests: When a case requires human review instead of automatic sending, create a staff follow-up update rather than a live delivery step.
Connect conditions and sending
On the workflow's Flow tab, connect the target reservations to the delivery step.
- Exclude ineligible records: Add filter chips on the list step or When (
when) conditions on the send step. Excludecanceledreservations, missing phone numbers, and already notified bookings. - Branch by customer type when needed: Add a Decide (
workflows.decide) step to separate first-time visitors from returning visitors. Attach the matching condition chip to each send step. - Bind batch loops (
each): When acronorheartbeatstep lists multiple reservations, set Each on the send step to${steps.step_1.rows}so each reservation is processed once.
Check duplicates and omissions
Before activating the workflow, test one eligible reservation and one excluded reservation (such as a canceled booking).
- Confirmation: Verify that the eligible booking produces one delivery record and the excluded booking is skipped.
- Rescheduling: Change the reservation time and confirm that the old appointment time does not trigger a stale reminder.
- Cancellation: Cancel a reservation and verify in Workflow runs and Deliveries that no reminder is sent.