Proof hub / Tutorial sample

Keep outbound SMS gated by approval state.

Goal: let a team prepare customer messages without sending anything until the approval field, consent field, and event ID pass a visible gate.

1. Required fields

  • `event_id`: stable ID used to prevent duplicate sends.
  • `phone`: formatted customer number.
  • `sms_consent`: true or false.
  • `approval_status`: draft, approved, sent, skipped, or failed.
  • `message_body`: approved copy only.

2. Make scenario

Watch rows, filter for `approval_status = approved`, check consent, check duplicate `event_id`, send through the SMS provider, then write the result back to the run log.

3. Run log

event_id, approval_status, sms_consent, send_status, reason
evt_001, approved, true, sent, provider accepted
evt_002, draft, true, skipped, not approved
evt_003, approved, false, skipped, no consent

4. Handoff note

"The system only sends approved rows with consent. Anything else is logged as skipped with a reason. If a row is edited later, the event ID protects against accidental duplicate sends."