An SMS campaign sends one personalised text message to a list of contacts. The composer walks you through three steps: choose your audience, write the message, then review and launch. Nothing sends until you confirm on the final step.
To start, open SMS Campaigns and click New campaign.
Each workspace can have one active SMS number. That number is requested separately from the default onboarding voice number and becomes available after approval and setup. The New campaign button is disabled until your workspace has an active SMS number — visit the Numbers page to request one.
Choose one of two source modes:
- Upload a file — upload a CSV or Excel file, confirm the detected mobile column, and choose how many valid rows to use.
- Use contacts — pick eligible contacts from your organisation’s contact list. Select individual contacts, use Fill N to grab the first N sendable contacts, or tick the header checkbox to select every sendable contact in your workspace.
The composer keeps the audience count visible while you work. Contacts and rows that cannot be messaged are excluded before launch, not discovered after the fact.
Upload a file
For a file audience, Voqo reads the file and shows one confirmation panel:
- The detected mobile column.
- Valid, invalid, and duplicate counts.
- Available merge-field columns.
- A Use first N valid rows control for smaller test sends or staged rollouts.
If the detected mobile column is wrong, choose a different column before confirming. If no valid mobile numbers are found, the composer blocks you from continuing until you fix the source.
For a contacts audience, pick the people you want to message from your organisation’s contact list. The audience counter at the top of the picker always shows the true number of sendable contacts across your entire database — not just the rows currently on screen — so you always know exactly how many people your campaign will reach.
Contacts without a sendable Australian mobile number, or contacts that are opted out or marked do-not-contact, are excluded from the sendable count.
Selecting contacts
You have three ways to build your audience:
- Tick individual contacts — click the checkbox next to any contact to add them to your campaign.
- Select all N sendable contacts — tick the header checkbox to select every sendable contact in your workspace that matches your current filters. The number shown is the true database total, not the visible page. Untick the header checkbox to clear your selection.
- Fill N — enter a number in the Use first N contacts field and click Fill to select that many sendable contacts from the top of the current sort. If you already have contacts selected, Voqo asks whether to Replace your selection or Add to it.
The Fill button label previews the exact count it will apply (for example, “Fill 200”). If you enter a number higher than the sendable total, Voqo clamps it down so the label never overpromises.
Auto-selection on entry
For small and medium workspaces (up to 500 sendable contacts), Voqo pre-selects your full audience on entry so a single click gets you to the next step. For larger workspaces, nothing is selected by default — you have to opt in via Fill N or Select all so a big send is always a deliberate action, never an accident.
Filtering contacts
Use the filter popover to narrow the contact list before selecting. You can filter by:
- Source — where the contact came from (e.g. SMS Upload, Manual, CRM).
- Contactability — whether the contact is contactable, marked do not contact, or has unsubscribed.
- Has name — contacts with a recorded name versus those without.
Filters stack: applying more than one narrows the list further. Filters on Source shape the audience that Select all and Fill N act on. Filters applied client-side (Contactability, Has name, Exclude previously messaged) narrow only what you can see and tick manually — while those filters are active, the header checkbox falls back to selecting just the visible rows.
Searching contacts
Type in the search bar to find a specific contact by name, email, or mobile. Search is a lens for the table, not a scope for the audience — Select all and Fill N ignore the search term and act on the full filtered audience. Click the × button in the search field to clear it.
Sorting contacts
Use the sort control to reorder contacts by name (A to Z) or by date added (newest first). Fill N takes the first N contacts by the current sort, so change the sort before clicking Fill if you want a different slice.
“Sent before” badges
A contact who has already received a campaign from your workspace shows a Sent before chip on their row. Hover the chip to see the name of the campaign they were sent. This makes it easy to spot people who are already in the middle of a deal conversation before you add them to a new campaign.
Overlap confirmation
If you select contacts who have been previously messaged and click Continue, a confirmation dialog tells you how many of those contacts were messaged before and asks you to confirm. You can confirm and proceed to the message step, or go back and adjust your selection.
When you campaign from a file, the rows you reserve for the campaign are merged into your organisation’s contacts automatically as the audience is confirmed — there is no toggle to turn this on, and it always runs. Voqo keeps one contact per mobile number: a row that matches an existing contact updates that contact (your saved names are preserved), and a new number becomes a new contact. Each imported contact is stamped with the SMS Upload source, so you can filter for exactly these people on the Contacts page. Contacts owned by a connected CRM are never overwritten. Voqo imports only the rows you reserve for this campaign, never the rest of the uploaded file, so imported contacts and campaign recipients stay one-to-one.
A high invalid count is your early warning. If most rows are flagged, check the detected mobile column first; CRM exports often include landline or office-phone columns before mobile numbers.
Step 2 — Write the message
Write one message body, insert merge fields, and preview what a real recipient will receive. There are no AI-generated variants — the words in the message box are the words that will be sent.
Your details (agent name and company name)
Click Set details to enter your name and agency name. These values pre-fill {{agent_name}} and {{company_name}} in your message. Once you’ve filled both fields, Voqo offers to save them as workspace defaults so they’re pre-filled in future campaigns.
Use merge fields
Use {{first_name}} for the recipient name and {{mobile}} for the phone number. Use {{agent_name}} and {{company_name}} for your details (set via the Set details button). If you add any other {{variable}}, map it to a column from the selected CSV before launch. CSV columns are source fields, not reusable template variables by default. If a recipient is missing data for a mapped variable, launch is blocked until you fix the data, change the mapping, or remove that merge field.
Variable chips highlight when already inserted into the message body. The segment counter below the editor turns orange when the message exceeds one SMS segment.
Segment counter
Standard messages fit 160 characters. Emoji or special characters reduce that to 70. Longer messages are split into multiple segments (5 credits per segment per recipient). Tags like {{first_name}} may change the final character count per contact.
Templates and message history
Click Templates & History to open a modal with two tabs:
- History — shows messages you’ve sent in previous campaigns, sorted by most recently used. Select a message to preview it, then click Use this message to fill it into the editor.
- Templates — shows starter templates for common use cases (vendor appraisal, seller check-in, open-home follow-up). Select one to preview, then click Use this message to apply it.
Use the search bar to filter messages by content. The history tab shows how many times each message was used and which campaigns it appeared in.
Starter templates
Below the editor, three starter templates are available for quick selection. Click a template name to fill it into the editor. Hover over a template to preview it in the phone mockup on the right.
Step 3 — Review and launch
The final step shows a summary of your campaign (name, audience count, segments per message) alongside the phone preview. Choose when to send:
- Send now — start dispatching as soon as launch succeeds.
- Schedule — choose a specific date and time.
Click Launch now or Schedule to open the confirmation dialog. The dialog shows recipients, campaign name, and scheduled time (if applicable), then asks you to confirm. Once confirmed, messages begin sending (or are queued for the scheduled time).
Before launch, Voqo checks that the campaign has a message, a confirmed audience, enough credits, and no unresolved merge fields. If anything is missing, the composer shows the reason and blocks launch.
Once launched, open the campaign monitor to watch send status, reply count, failed sends, and pause/resume/cancel actions.
Delete multiple campaigns at once
Old drafts, stale one-offs, and finished campaigns pile up quickly. You can select several campaigns from the SMS Campaigns list and delete them in a single confirmation, on both the active and archived tabs.
To select campaigns:
- In List view, tick the checkbox at the start of each row. Use the checkbox in the header to select every campaign on the current page.
- In Grid view, hover a campaign card and tick the checkbox that appears in the top-left corner. Use the Select all on this page checkbox above the grid to select every campaign visible.
- Press Cmd + A (Mac) or Ctrl + A (Windows) while your focus is on the campaigns list to select every campaign on the current page.
Once you’ve selected at least one campaign, a campaigns selected bar appears above the list with a Clear button and a Delete button. Clicking Delete opens a confirmation dialog that asks you to confirm the action. If any of the selected campaigns are still sending, scheduled, or paused, the dialog warns you that deleting will stop message delivery for those live campaigns.
Deleting is permanent and cannot be undone. Your selected campaigns will be removed from your SMS Campaigns list, and any live sends they were doing will be cancelled. Reply threads that already exist stay in your Inbox so you don’t lose recent conversations.
If a campaign can’t be deleted — for example, because it was already removed from a different browser tab, or an unexpected error occurred — the dialog stays open, lists which campaigns were skipped and why, and confirms how many were successfully deleted. Deleted campaigns disappear from the list at the same time, so you always see the accurate remaining state.
Selection is scoped to the current page and current filter. Changing the search term, status filter, or page clears your selection.
Troubleshooting
Why is this contact greyed out in the picker?
A greyed contact cannot receive your campaign, and the chip next to it tells you why: No mobile number means there is no Australian mobile on file, and Do not contact or Opted out means the contact has been marked do-not-contact or has previously opted out. These contacts are excluded as you select them, so the audience summary is always accurate.
Why are so many of my file rows invalid?
The most common cause is the wrong mobile column — CRM exports often list a landline or fax column before the mobile column. Click Change column mapping and check the selected column contains mobile numbers. Individual rows are invalid when the cell is empty, the number is too short, or it isn’t a valid Australian mobile format.
Why can’t I move past the audience step?
You have no valid recipients yet. Select at least one eligible contact, confirm a file with valid mobile numbers, or reduce Fill N to a value that still leaves sendable recipients.
Why did “Select all” only tick the contacts I can see?
You have a client-side filter active — Contactability, Has name, or Exclude previously messaged. While one of those is on, the header checkbox falls back to selecting just the visible rows so the tick doesn’t silently ignore your filter. Clear those filters and Select all returns to covering the full database audience.
Why aren’t all my contacts pre-selected on entry?
For workspaces with more than 500 sendable contacts, Voqo leaves the selection empty on entry so a giant send is never accidental. Use Fill N to select a batch, or tick the header checkbox to select the full audience.
Where did my uploaded file go?
There is no separate file library. The rows you campaign from a file are merged into your organisation’s contacts automatically (one contact per mobile number) and tagged with the SMS Upload source. To reuse those people in another campaign, switch the source to Use contacts and filter by the SMS Upload source on the picker.
Why is launch blocked for merge fields?
A recipient is missing data for one of your variables. Fix the source data or remove the variable before launching; Voqo will not send messages with unresolved placeholders.
Why is launch blocked?
The composer lists exactly what’s missing: a message, valid recipients, sufficient credits, a valid scheduled time, resolved merge fields, or a selected sender number. Resolve the flagged item and launch again.
If you’re stuck at any step, contact support with your workspace ID and what step you’re on.