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

Monitoring Workflow SMS in Brave Tools

See every SMS fired from a HubSpot workflow, filter by status and workflow, and drill into errors and skipped messages. Complement to HubSpot's own workflow history.

Every SMS sent from a HubSpot workflow using the Send SMS (queued), Send SMS (instant), or Send alert SMS action is logged in Brave Tools. The Workflow SMS tab inside SMS Campaigns shows what fired, what was delivered, and what was skipped by a safeguard. Use it as a complement to HubSpot's own workflow history, which often does not explain why an SMS was not sent.

Where to find it

Open Brave Tools and go to SMS Campaigns. Next to Settings you will find a tab called Workflow SMS with a lightning bolt icon. The tab has two sub-tabs: Workflows and Activity log.

The Workflows sub-tab

One row per HubSpot workflow that fired an SMS in the selected period. Columns show:

  • Workflow: the name of the HubSpot workflow (fetched live from the portal). An ID is shown underneath the name.
  • Type: Contact for Send SMS (queued) and Send SMS (instant), Fixed for Send alert SMS to fixed number.
  • Sent: messages that reached 46elks (sent + delivered + failed + rejected).
  • Delivered: messages for which 46elks reported successful delivery. A delivery rate percentage is shown next to the count.
  • Failed: messages that failed at 46elks or at the carrier.
  • Skipped: messages blocked by a safeguard. Click into the Activity log to see which safeguard.
  • Last fired: the most recent message timestamp.
  • Total cost: sum of the cost for this workflow in the selected period.

A thin progress bar under the workflow name shows the delivery rate at a glance. Blue is 95% or better, orange is 80 to 94%, red is below 80%.

Use the period selector in the top right of the table to switch between Last 7 days, Last 30 days, Last 90 days, and Year to date.

The Activity log sub-tab

One row per message, grouped by day. All days start collapsed so you can scan a long period without scrolling through thousands of rows. Click a day header to expand.

Each day header shows the total count, failed count, dry-run count, and total cost for that day.

Filters (left to right):

  • Date range: Today, Last 7 days, Last 30 days, Last 90 days.
  • Phone search: type part of a number to narrow down. Numbers in the list are masked by default. Hover a row and click the eye icon to reveal.
  • Workflow: pick a specific workflow, or leave as All workflows.
  • Status: full list of statuses and skip reasons. Hover the info icon for an explanation of each skip reason.
  • Type: All, Contact (enrolled contact), or Fixed (alert to hard-coded number).
  • Errors only: a red quick-filter chip. When on, the list is narrowed to all failed, rejected, and skipped messages.
  • Show dry-run: a switch in the right corner. Dry-run messages are hidden by default. Turn on to include them.

The top of the tab shows a small strip with today's totals: sent, delivery rate, failed, and skipped (when any).

Drill-down detail

Click any row in the Activity log to open a side panel with the full message. You will see:

  • Recipient number in full (unmasked).
  • The workflow name and a link to open it in HubSpot.
  • The full message body with a character count.
  • Created, sent, and earliest-send-at timestamps.
  • Dedup policy, opt-out property name, and HubSpot callback ID.
  • The 46elks SMS id (copyable) for cross-referencing with 46elks logs.
  • The HubSpot contact ID and a link to the contact.
  • The full error message if the send failed.
  • Badges: Dry-run, Bypass opt-out, Fixed recipient, Contact.

Skip reasons explained

  • Opted out (platform): recipient unsubscribed via the Brave Tools platform link.
  • Opted out (property): the HubSpot opt-out property you picked resolved to No or false.
  • Deduped: the dedup policy (once per enrollment / day / workflow) matched a previous send.
  • Quiet hours: the configured quiet window was active and Skip this send was selected.
  • Floor: recipient: 5 or more sends to the same number in the past 10 minutes. Non-bypassable platform floor.
  • Floor: workflow: per-workflow abuse floor hit (500 per 10 minutes on Instant, 10 000 per hour on Queued). Non-bypassable.
  • Rate-limited: fixed-recipient rate limit hit (your chosen 10 per hour or 100 per day).

Pagination

The Activity log loads 50 messages per page. Use the pagination bar at the bottom to move between pages. Filter changes reset to page 1.

Why workflow names sometimes show as IDs

Workflow names are looked up from HubSpot in real time, which requires the Automation scope on your connected portal. If the scope is missing, a yellow banner will appear at the top of the Workflow SMS tab with a link to reconnect. Reconnecting re-prompts you to approve the Automation scope. Until then, the dashboard keeps working but falls back to showing workflow IDs.

Dry-run messages

Dry-run is a per-enrollment option on the Send SMS (queued) workflow action. When the checkbox is on, the message is enqueued and marked as sent in your activity log, but no real SMS is delivered and no credits are consumed. Use this to test a new workflow before flipping it on for real. Dry-run messages are hidden by default in the Activity log; flip the Show dry-run switch to include them.

Related articles