Skip to main content

Text Messages

Pickpad can automatically send SMS messages to your customers at key moments in the order journey — no code required. You define scenarios: each one watches for a specific event and fires a customized message when it happens.

How It Works

  1. Go to Text Messages in the sidebar.
  2. Create a scenario: choose a trigger event, write your message template, and save.
  3. That's it — Pickpad sends the SMS automatically when the event occurs.

You can create as many scenarios as you need and have multiple active at the same time.


Trigger Events

Each scenario fires on one of four order events:

EventWhen it fires
Order distributedAn order has been assigned to a Pickpad device and is being prepared
Ready on padThe order is placed on the Pickpad and ready for pickup
Order takenThe customer picks up the order (detected by weight change)
Order finishedThe order is fully completed and the pad is cleared

Choosing the right event

  • Notify the customer their order is being prepared → use Order distributed
  • Tell the customer to come collect → use Ready on pad — this is the most common use case
  • Send a thank-you or review request → use Order taken or Order finished

Message Templates

Templates support variables that are filled in automatically from the order data:

VariableWhat it inserts
{{name}}Customer's first name
{{shortNumber}}Short order number (e.g. #42)
{{promiseTime}}Estimated pickup time (e.g. 2:30 PM)
{{stationName}}Name of the kitchen station
{{locationName}}Name of the location
{{pickpadName}}Name of the Pickpad device

Example templates

Hi {{name}}, your order #{{shortNumber}} is ready at {{locationName}}! Come grab it 🎉
Your order #{{shortNumber}} is being prepared and will be ready at {{promiseTime}}.
Thanks for your order, {{name}}! Hope you enjoy it. Leave us a review ⭐

Formatting tips

  • Keep it short. SMS messages over 160 characters may be split into two messages and billed as two.
  • Always include the order number ({{shortNumber}}) so the customer knows which order you mean.
  • Avoid special characters like &, <, > — they don't add value in SMS and can confuse some carriers.
  • If {{promiseTime}} is empty (the order has no estimated time), it will appear as blank. Only include it if your POS reliably sends pickup times.
  • Phone numbers must be in E.164 format (e.g. +12025551234). Messages to numbers in any other format are silently skipped.

Helpers & conditionals

Templates support a small set of built-in helpers for common formatting needs.

Text case helpers

HelperWhat it doesExample
{{upper variable}}ALL CAPS{{upper name}}JOHN
{{lower variable}}all lowercase{{lower name}}john
{{capitalize variable}}First letter capitalised{{capitalize name}}John
Hi {{capitalize name}}, your order #{{shortNumber}} is ready!

Conditional blocks

Use {{#if variable}} to include text only when a value is present:

Hi {{name}}, your order #{{shortNumber}} is ready!{{#if promiseTime}} Pickup time: {{promiseTime}}.{{/if}}

If promiseTime is empty the pickup-time sentence is omitted entirely. Without the #if, you'd get a trailing Pickup time: . in the message.

Use {{#unless variable}} for the opposite — include text only when a value is absent:

Hi {{name}}, your order is ready!{{#unless pickpadName}} Ask staff for assistance.{{/unless}}

Comparing values

Use {{#if (eq variable "value")}} to branch on a specific value:

{{#if (eq stationName "Drive-Thru")}}Please pull forward to the pickup window.{{else}}Come inside to collect your order.{{/if}}

Combining helpers

Helpers can wrap each other:

Hi {{upper name}}, ORDER #{{shortNumber}} IS READY!
{{#if name}}Hi {{capitalize name}}! {{/if}}Your order #{{shortNumber}} is ready.

Custom Receiver

By default the message is sent to the customer's phone number from the order. If you want all messages for a scenario to go to a fixed number instead — for example, a staff notification — set the Another receiver field when creating or editing the scenario.

This overrides the customer number entirely for that scenario.


Message History

Open Message history (button at the top of the Text Messages page) to see the last 100 messages sent for your account.

Each row shows:

  • Phone number
  • Message text
  • Delivery status: Pending, Delivered, or Failed
  • Time sent

Delivery statuses

StatusMeaning
PendingAccepted by the carrier, waiting for delivery confirmation
DeliveredCarrier confirmed the message reached the handset
FailedDelivery failed (invalid number, carrier rejection, etc.)

Delivery status updates arrive asynchronously — a message may show Pending for a few seconds before flipping to Delivered.