Bulk SMS
Pick recipients from your Clients, Leads or Field workers (with filters), or paste or upload a list of phone numbers, write one personalized message, and send it to everyone — with live progress, pause and cancel controls, and a downloadable result list.
Video walkthrough coming soon
Want this one filmed next? Request it
What it is
Bulk SMS sends one text message to a list of people. You choose them straight from your CRM (Clients, Leads or Field workers, narrowed with filters) or paste in phone numbers (or upload a spreadsheet), type the message, pick which of your business numbers it comes from, and press send. Joby then works through the list one message at a time and shows you a live count of what went out.
Open it from the left sidebar: More›Bulk SMS. The page has two tabs — New Campaign and Campaign History.
1. Recipients
Pick clients, leads or field workers with filters, or paste numbers / upload a CSV. Joby cleans them up and flags anything unusable or duplicated.
2. Message
Write the text, use Insert Variable to drop in personal details like the first name, and preview what the first few people will receive.
3. Sending Settings
Choose the pause between messages, the number the text comes from, and how many people are handled per run.
Live progress
Once sending starts, a progress panel appears at the top with Pause, Resume, and Cancel buttons. The campaign keeps running even if you leave the page.
When to use it
- A seasonal promotion or price change going out to past customers.
- A storm, holiday, or closure notice to everyone you serve.
- A "we're in your area this week" message to a neighborhood list.
- A message to every lead in one status, or every client in one city.
- A one-time follow-up to a list of people you exported from somewhere else.
Use Conversations instead when you want a back-and-forth chat with one person. Bulk SMS is a one-time blast, not a conversation tool — although every message it sends does show up as a normal thread in Conversations, so replies come back to you in the usual place.
Before you start
Bulk SMS will not send until all four of these are true.
- Your account is on the Pro plan. On Starter or Free, the Bulk SMS page shows an upgrade prompt instead of the campaign builder. Owners and admins see an Upgrade to Pro button; everyone else is asked to check with the account owner.
- Phone Registration is complete. Go to Settings›Phone Registration. Until it is approved, sending is blocked and you will see the message "SMS sending is disabled. Complete Phone Registration in Settings to enable."
- You have at least one active business number. Check Settings›Phone Numbers. Only numbers marked active appear in the From Number list.
- You have credit available. If your balance runs out mid-list, the campaign pauses with the status Out of credit. It never restarts by itself: top up under Billing›Credits, then press Resume.
Who can use this page
Anyone with the Bulk SMS permission (listed under Marketing in agent permissions) can create and run campaigns. Owners and admins always can. If a team member says they can't find Bulk SMS in the sidebar, that permission is the first thing to check.
Recipients need a phone number on their record (clients, leads and field workers without one are skipped). For pasted or uploaded lists, Bulk SMS accepts US and Canadian numbers written as 10 digits, or 11 digits starting with 1. Anything else is marked invalid.
Step-by-step
Open More›Bulk SMS and stay on the New Campaign tab. Optionally type a Campaign Name at the top so you can recognize this send later in Campaign History. If you leave it blank, Joby names it with the date and time.
1. Recipients
Recipients has four tabs: Clients, Leads, Field workers, and Paste / CSV. Use one source per campaign. A campaign can have up to 10,000 recipients, and the same phone number is texted only once.
- Clients — search by name and narrow the list with the same filters as the Clients page: city, state, customer type, client type, lead source, created date, last activity, has jobs / estimates / invoices, has email, and tags (if your account uses them). Joby shows how many clients will be texted. Clients without a phone number are skipped and counted.
- Leads — use the same filters as the Leads page: status, sub status, service type, lead source, service area, tag, city, state, ZIP, field worker, created and scheduled date, amounts, and custom fields. The Include closed leads switch is off by default, so closed leads are left out unless you turn it on. Leads without a phone number are skipped.
- Field workers — pick people from the list. You can search, use select all (it selects everyone with a phone number), and optionally include inactive workers.
- Paste / CSV — the manual option, described below.
Paste / CSV
- Paste phone numbers — type or paste into the big box, separated by commas or one per line. Click Parse Recipients (or just click outside the box) to process them.
- Upload CSV — click Upload CSV and choose a spreadsheet saved in CSV format. Your first row must be column headings. Joby reads a phone column, and will also pick up first_name, last_name, company, and up to five extra columns named custom1 through custom5. Those extras are what let you personalize the message.
Leave Auto-dedupe switched on so your counts stay accurate — either way, each number is texted at most once per campaign. After processing you'll see four counts — Total, Valid, Invalid, and Duplicates — plus a table listing the first 100 entries with the number you supplied, the cleaned-up +1 version, its status, and a short note explaining anything rejected.
If any came back invalid, click Remove Invalid to strip them out. Only valid numbers are ever sent to. Numbers on your company's STOP / do-not-contact list are skipped automatically when the campaign runs — you don't need to remove them yourself.
2. Message
Type your text in the SMS Message box. Under the box, Joby shows a live characters and segments count. A text up to 160 characters is one segment; longer messages are split into several. For CRM sources the segment total is an estimate, because each person's details change the final length. Every message is billed exactly like a single text you send by hand — per segment, from your credit or plan allowance — so keep an eye on that number.
Click the Insert Variable button to add a tag that is replaced with each person's own details. The tags you can choose depend on the recipient source:
- Clients —
{{Client.*}}fields (including client custom fields and{{Client.portal_link}}) plus{{Company.*}} - Leads —
{{Lead.*}}fields (including lead custom fields and the schedule date with its arrival window) plus{{Company.*}} - Field workers —
{{Subcontractor.first_name}},{{Subcontractor.last_name}},{{Subcontractor.display_name}},{{Subcontractor.email}},{{Subcontractor.phone}}plus{{Company.*}} - Paste / CSV — the CSV column tags (
{{first_name}},{{last_name}},{{company}},{{custom1}}through{{custom5}}) plus{{Company.*}}. Pasted bare phone numbers have no details, so these come out blank.
The short tags {{first_name}}, {{last_name}} and {{full_name}} work for every CRM source.
Values are taken from the record at the moment each text is sent, so an edit you make after starting the campaign is used for everyone not yet reached. If a tag can't be filled for the chosen source, it is flagged in red and the campaign can't start until you fix it.
Leave Append opt-out text (Reply STOP to opt out) switched on. It adds "Reply STOP to opt out" to the end of every message, and that wording counts toward your character and segment total.
Once you have both a list and a message, a Preview appears showing the finished text for the first three recipients. Read it before you go any further.
3. Sending Settings
- Delay between messages (seconds) — the pause between each text. Drag the slider or type a number from 1 to 60. The default is 2 seconds.
- From Number — click the selector and search your active business numbers. Each is shown with its nickname if it has one. This is required; the send button stays greyed out until you choose one.
- Batch Size — how many recipients are handled per run before Joby picks the list back up. The default of 200 suits almost everyone. You can set it from 1 to 1,000.
4. Send
Click Start Campaign. The button shows the exact count it is about to message, for example "Start Campaign (312 recipients)". It stays disabled until you have at least one valid recipient, a message, and a From Number.
There is also a Send Test button next to it. Enter a phone number (your own, for example) and Joby texts it the first recipient's personalized message, exactly as they will receive it. A test is billed as one normal text.
How to check it worked
- Watch the Campaign Progress panel. When the status reads completed and Remaining is 0, the whole list has been worked through.
- Switch to the Campaign History tab. Your campaign is at the top of the list showing its name, status, a Sent / Failed / Total breakdown, the number it came from, and when it was created. The tab keeps your 50 most recent campaigns.
- Click the eye icon on the right of any row to open Campaign Recipients. This lists every single number with its status, the exact time it was sent, and the reason for any failure.
- Click Export CSV inside that window to download the full result list as a spreadsheet — useful for cleaning bad numbers out of your source list.
- Open Conversations. Every message that went out has created or updated a thread, so replies land there like any other text.
A healthy result
Most numbers show sent, and the handful that failed have a clear reason next to them. A large block of failures usually points at one cause — an unregistered sending number, an exhausted credit balance, or a list full of landlines.
Common mistakes
- Skipping Send Test. Send the first recipient's message to your own phone before a big send — it costs one text and shows you exactly what people will receive.
- Using personalization tags with a pasted list. On the Paste / CSV tab,
{{first_name}}only fills in from an uploaded CSV. Pasted numbers produce "Hi ," instead of "Hi Dana,". Clients, Leads and Field workers fill in from their records. Always read the preview. - Ignoring a red tag. A tag the chosen source can't fill (for example a
{{Lead.*}}tag on a Clients campaign) is flagged in red and blocks Start Campaign. Change it with Insert Variable or remove it. - Naming CSV columns something else. A column called "Mobile" or "Cell" is ignored. Name it phone.
- Leaving invalid numbers in the list. They are never sent to, but they inflate your Total. Click Remove Invalid so your counts mean something.
- Turning off Append opt-out text. Do this only if your message already contains its own opt-out wording.
- Forgetting the extra characters. The opt-out line is added to your message, so a text that looks like one segment while you type can tip over into two.
- Starting a big send with a low credit balance. The campaign pauses partway as Out of credit and waits for you. Check Billing›Credits first.
- Cancelling when you meant to pause. Cancel permanently skips everyone remaining. Use Pause if you intend to continue later.
- Expecting a large list to finish in one day. Bulk texts are capped at 1,000 a day per company (shared with Leads/Clients Bulk Action SMS). Bigger lists carry on automatically over the following days.
More detail (5)
Pausing and stopping a send
As soon as a campaign starts, a Campaign Progress panel appears at the top of the New Campaign tab. It updates by itself and shows the current status plus five numbers: Sent, Failed, Skipped, Remaining, and Progress as a percentage. Numbers skipped because they are on your STOP list are counted as Opted out.
The campaign runs in the background, so you can leave the page or close the tab. When you come back to Bulk SMS, the progress panel is still there with Pause, Resume, and Cancel.
- Pause — appears while sending. Stops after the message in flight; everyone not yet reached stays queued.
- Resume — appears once paused. Picks up exactly where it left off.
- Cancel — stops for good. Everyone still waiting is marked as skipped and will never receive the message. This cannot be undone.
Joby paces the sending for you and will slow down on its own if it is going too fast for your account. If a large send goes quiet for a few minutes, it restarts itself automatically — you don't need to do anything.
Daily limit, quiet hours and billing
- Daily limit. Each company can send up to 1,000 bulk texts a day. The limit is shared with Bulk Action›SMS on the Leads and Clients pages, and resets at midnight in your company's timezone. When it is reached, the campaign waits and continues automatically the next morning. Need more? Contact support to raise it.
- Quiet hours. Bulk texts only go out between 8:00 AM and 9:00 PM in your company's timezone. A campaign started (or still running) outside those hours waits and continues automatically at 8:00 AM.
- Billing. Each message costs the same as a single text — per segment, from your credit or plan allowance. If credit runs out, the campaign pauses as Out of credit and stays paused until you add credit and press Resume.
- Trial accounts. Trial accounts are limited the same way as normal texts.
Waiting is not stuck
A campaign waiting for the daily limit to reset or for 8:00 AM picks up on its own — leave it running. Only Out of credit needs you to press Resume.
Opt-outs and consent
When someone replies STOP, STOPALL, UNSUBSCRIBE, or OPTOUT to one of your numbers, Joby records them as opted out of marketing messages. If they later reply START or UNSTOP, they are opted back in. Everyday replies like "cancel my appointment" are treated as normal messages, not opt-outs.
Opted-out numbers are skipped automatically
Any number on your company's STOP / do-not-contact list is left out when the campaign runs, even if that person is among the clients, leads or field workers you picked or in the list you pasted or uploaded. It is counted as Opted out in the results and is not charged.
Get consent first
Only message people who agreed to hear from you. Keep Append opt-out text switched on, identify your business in the message, and stick to reasonable hours. Texting purchased or scraped lists can lead to real penalties and can get your number blocked.
What Bulk SMS does not do
These come up often, so it is worth being clear about what this page leaves out today.
- No scheduling. There is no "send later" option. A campaign starts the moment you click Start Campaign (or at 8:00 AM, if you start it during quiet hours).
- No saved message templates. You type the message fresh each time. Keep your best-performing wording somewhere you can copy from.
- One recipient source per campaign. You can't mix Clients, Leads, Field workers and a pasted list in the same send. Run separate campaigns instead. Each campaign is limited to 10,000 recipients.
- No pictures or attachments. Plain text only.
- No multi-step follow-up. Bulk SMS sends once. If your account includes the Marketing item in the sidebar, that is where multi-step sequences live.
Try a small batch first
Before messaging thousands, run the same campaign against 10 numbers you trust. You will see the real wording, the real segment count, and the real delivery results in Campaign History within a minute — for the price of ten texts.
Quick reference
Where it lives
Sidebar → More → Bulk SMS. Tabs: New Campaign, Campaign History.
Defaults
2-second delay, batch of 200, auto-dedupe on, opt-out text on. Up to 1,000 texts a day, sent 8:00 AM–9:00 PM company time.
CSV columns
phone, first_name, last_name, company, custom1–custom5.
Recipient sources
Clients, Leads, Field workers, Paste / CSV. One source per campaign, up to 10,000 recipients, each phone number texted once.
Variables
Client.*, Lead.*, Subcontractor.* (first_name, last_name, display_name, email, phone), Company.*, and CSV column tags. first_name, last_name and full_name work for every CRM source.
Required first
Pro plan, approved Phone Registration, an active number, and available credit.