Recipes · R3
Appointment reminders from a booking system or spreadsheet
Your own scheduled job reads tomorrow's bookings and sends each customer a reminder template.
Goal: Fewer no-shows, with reminders that never go out twice.
What starts it
Your scheduled job
Your cron job, every morning — one run per booking row.
Your values
The customer's phone from the booking.
The customer's name.
Your booking id.
The appointment day.
The appointment time.
Test mode (dry run): every step runs on your account, but nothing changes and nothing is sent.
- Step 1
Find your reminder template
Do this once per run, not per row.
curl -X GET 'https://mcp.wa-api.cloud/v1/templates?status=APPROVED&search=reminder' \ -H "Authorization: Bearer $API_KEY"
Passes on: template_id (from data.0.id)
- Step 2
Make sure the customer is a contact
POSTCreate or update a contact
curl -X POST 'https://mcp.wa-api.cloud/v1/contacts' \ -H "Authorization: Bearer $API_KEY" \ -H 'Content-Type: application/json' \ -H 'Idempotency-Key: booking-bk-5521-contact' \ -d '{ "phone": "+15555550125", "name": "Omar Test" }'Passes on: contact_id (from id)
- Step 3
Send the reminder
The idempotency key is the booking id plus the day, so re-running the job the same day sends nothing new.
curl -X POST 'https://mcp.wa-api.cloud/v1/messages/template' \ -H "Authorization: Bearer $API_KEY" \ -H 'Content-Type: application/json' \ -H 'Idempotency-Key: booking-bk-5521-2026-09-25' \ -d '{ "contact_id": "{{steps.contact.contact_id}}", "template_id": "{{steps.templates.template_id}}", "body_variables": [ "Omar Test", "2026-09-25", "10:30" ] }'
Good to know
Send caps apply; spread large batches over the morning.
Validated against the API spec on every build