Skip to content
  • There are no suggestions because the search field is empty.

How to use Send SMS (queued) in HubSpot workflows

The default workflow action for marketing, reminders, and confirmations. Full safeguards on by default, 5 to 15 second delivery latency.

How to use Send SMS (queued) in workflows

Send SMS (queued) is the default recommended workflow action for sending SMS to HubSpot contacts. It is designed for marketing, reminders, confirmations, and any message where a 5 to 15 second delivery latency is acceptable. All safeguards are on by default so accidental over-sending is hard.

When to use it

  • Marketing messages to lists of contacts enrolled in a workflow.
  • Appointment reminders and confirmation messages.
  • Re-engagement campaigns.
  • Any workflow SMS that is not time-critical (for OTP or security alerts, use Send SMS (instant) instead).

Input fields

Sender (required). The sender name displayed on the SMS. Must exactly match a sender configured under SMS Campaigns > Settings.

Recipient number (optional). Defaults to the enrolled contact's mobile phone. Select a different contact property if you use a custom phone field.

Message (required). The SMS body. You can use HubSpot personalization tokens such as kompis or any contact property.

Opt-out property (required). This is a plain text field by design. You must type the internal name of your HubSpot opt-out property, for example sms_subscription_brave, sms_subscription_pingo, or marketing_consent_sms.

Do NOT use HubSpot's token or property picker that appears when you click into the field. The picker inserts a token that resolves at runtime to the property's value (such as "No") rather than its name. The action will detect this and fail with a clear message, but it is easier to just type the internal name as plain text.

To find the internal name in HubSpot: go to Settings > Properties, search for your property, expand it, and copy the value labelled "Internal name".

Dedup policy (required, dropdown). Default: Once per enrollment (safest). HubSpot's callback ID uniquely identifies each enrollment, so re-runs of the same enrollment are skipped. Other options:

  • Once per day: useful for daily reminders.
  • Once per workflow (ever): one-time announcements to a list.
  • None (allow repeat sends, unsafe): only for alert or monitoring use cases where repeat is intentional. Selecting this reveals a required confirmation checkbox.

Quiet hours (optional). Off by default. Set a start time and end time in HH:MM format (24 hour), an IANA timezone string such as Europe/Stockholm, and choose Delay to next allowed time (recommended) or Skip this send. Leave both time fields empty to disable quiet hours.

Skip unsubscribe footer (optional, default off). Check to omit the unsubscribe footer. Only use for transactional messages the recipient has explicitly requested.

Dry run (optional, default off). When on, the message is enqueued and marked as sent in your activity log, but no real SMS is delivered and no credits are consumed. Useful for testing a new workflow before flipping it on for real.

What the safeguards do

The queued action layers multiple checks before actually sending. If any check fails, the row is logged with a skip reason and the workflow continues without stalling.

  • Platform opt-out: if the recipient unsubscribed via the Brave Tools opt-out link, the message is skipped. This check is unconditional on the queued path and cannot be bypassed.
  • Opt-out property: the HubSpot property you picked is checked before sending. If its value is No, false, or empty, the message is skipped.
  • Dedup: based on the policy you picked.
  • Quiet hours: either the send is delayed until the next allowed time, or skipped, depending on your choice.
  • Platform abuse floors: 5 messages per recipient per 10 minutes, and 10 000 per workflow per hour. These cannot be bypassed.

Output fields

smsSent: true if the message was enqueued or sent, false if skipped.

smsStatus: a short status string. Possible values include queued, sent, skipped_opted_out_platform, skipped_opted_out_property, skipped_dedup, skipped_quiet_hours, skipped_platform_floor_recipient, skipped_platform_floor_workflow.

All skip outcomes return SUCCESS to HubSpot so your workflow does not stall. The reason is surfaced in the workflow's output log and in the Workflow SMS activity dashboard.

Where to see results

All sends appear in Brave Tools under SMS Campaigns > Workflow SMS, grouped by day. See the Workflow SMS dashboard guide.

Related articles