Salesforce Use case · Operations · Bulk

Send one message to a list, and keep every reply on its own record.

Bulk from a Salesforce list view or a CSV, one job record holding delivery status per recipient, and replies that land on the individual contact rather than in a shared pile.

ObjectAny list view, or a CSV upload
Fires onA person sending, or a scheduled job
Reply landsThe individual record, never the job
ChannelSMS across the USA and Canada
01 · What quietly breaks

Bulk messaging usually means losing the replies.

Sending to a few hundred people is the easy half. The half that breaks is what comes back: replies arrive somewhere that is not the record, so the person who can answer never sees them and the person who does see them has no context.

The second problem is proof. Somebody asks whether a depot notice reached a particular customer, and the answer is a screenshot of a send confirmation for six hundred people, which is not an answer about one of them.

And in the USA and Canada there is a third: carrier registration. Send commercial volume from an unregistered number and delivery quietly degrades, with no error to read.

02 · The idea

One job, many conversations. The send is bulk, the record is individual, and the reply belongs to the person who wrote it.

03 · The pattern

Three parts, and none of them is a separate broadcast tool.

Select in Salesforce, send as a job, then let the replies go back where they belong. The list view is the audience.

01

Select the audience where it already lives

A list view is the audience. Filter to who should get the message, then send from the list view button. For an audience that is not in Salesforce yet, a CSV upload does the same thing and still writes each message to a record.

This is the part that saves the argument about which system holds the truth. There is only one list.

In Salesforce FromAny list view, via the Bulk Text buttonOrCSV upload, matched on numberFiltersStandard list view filters, no new toolingPreviewRecipient count and segment count before sending
02

Send as a job, so delivery is per recipient

The job record holds a row per recipient with its delivery status, so a failure is one named contact rather than a percentage. That is what turns "did it reach them" into something you can open.

Long messages split into segments, and the count is shown before the send rather than discovered on the invoice.

In Salesforce CreatesOne bulk job recordHoldsDelivery status per recipientShowsSegments per message, before sendingRetryPer failed recipient, not the whole job
03

Register the number, before the volume arrives

Commercial messaging to US and Canadian numbers runs through carrier registration. It is paperwork rather than engineering, and it is done once, but doing it after launch is how a campaign silently under-delivers.

Get it done while the flows are being built, not the week you want to send.

In Salesforce Applies toCommercial sending to US and Canadian numbersHandled atSetup, with the carrier and the number providerAlternativeBring your own carrier account and its registered numbersSymptom if skippedFalling delivery with no error on the record
Fig 01 · Job 4471 · 612 recipients
Northline service update: the Kitchener depot reopens Monday at 06:00. No action needed. Reply STOP to opt out.
Sent 07:00 · bulk job 4471 · 612 recipients · 1 segment
Does that include the Saturday collection?
Received 07:04 · Task on that Contact only · job unchanged
It does. Saturday collection runs as normal from Monday onward.
Sent 07:11 · sent by dispatch from the Converse view
04 · Replies and exceptions

A reply is a conversation with one person.

Inbound messages never go to the job. They go to the contact who sent them, and the thread continues from the Converse view.

ReplyWhat happensWhere it lands
A question Task on that Contact only. The job is untouched, and dispatch answers on the same thread. Task on Contact
A correction Handled by a person on the record. Nothing bulk fires in response, because one reply is not evidence about six hundred people. Message Bucket on Contact
Undeliverable The job row carries the failure with its reason, so the bad number is a named record you can fix rather than a percentage. Bulk job row, delivery status
STOP Opt-out on the Contact, honoured immediately and on every future job. The opt-out list is shared across the org, not per campaign. Contact.SMS_Opt_Out__c
05 · Guardrails

Four, and at this volume the third one is the expensive one.

ConsentChecked per recipient at send time, not once for the list. A list view is a filter, and a filter has no memory of who agreed to what.
Quiet hoursEvaluated per recipient. A list spanning the USA and Canada spans time zones, and the job respects each one.
SegmentsShown before the send. A message that runs one character past a segment boundary doubles the cost of the whole job, quietly.
Opt-out lineIn the message. At this volume it is not optional, and it is what keeps the number in good standing.
06 · Reporting afterwards

The job is a record, so the answer about one recipient is one click.

Bulk job reporting shows delivery per recipient and replies per job, which is what an audit asks for and what a marketer needs.

Job 4471 · depot reopeningBulk message jobs
Segment of listRecipientsDeliveredReplies
Kitchener21221118
Waterloo1841849
Cambridge1411397
Guelph75754
DELIVEREDPer recipient, from the carrier. The two missing in Cambridge are two named records with a reason, not a rounding error.
REPLIESInbound messages tied back to the job. A high reply rate on an operational notice usually means the notice was unclear.
OPT-OUTSCounted per job. A spike is the message, not the channel, and it is worth reading before the next send.
07 · Implementation note

Where ValueText fits.

ValueText adds the bulk send button to any list view, creates the job record, holds delivery status per recipient, and routes every inbound reply to the individual record. CSV sending and per-recipient retry are in the same place. You can bring your own carrier account, in which case the carrier relationship and the numbers stay yours. The list views, the reports and the records are standard Salesforce and stay if you leave.

Professional edition or above · Carrier registration required for commercial US and Canadian sending · Billed per segment at the published per-country rate
AppExchange review

“We needed a text application that was simple to use and simple to integrate. So far it's been reliable, and bug-free. We have 150 users and they have adopted it with minimal training.”

Jon Levy Jon LevyChief Operating Officer · AppExchange
This page sits underSMS for SalesforceThe channel page: how sending, receiving and billing work for SMS.
In the docs
01 Bulk Messaging from a List ViewSelecting the audience and sending from a list view → 02 Bulk message job reportingDelivery status per recipient and per job → 03 What Is a Sender ID in ValueText?Numbers, sender identity and carrier registration →

Run your messaging inside your CRM.

Rated 4.98 on Salesforce AppExchange
Salesforce Use case · Operations · Bulk

Send one message to a list, and keep every reply on its own record.

Bulk from a Salesforce list view or a CSV, one job record holding delivery status per recipient, and replies that land on the individual contact rather than in a shared pile.

ObjectAny list view, or a CSV upload
Fires onA person sending, or a scheduled job
Reply landsThe individual record, never the job
ChannelSMS across the USA and Canada
01 · What quietly breaks

Bulk messaging usually means losing the replies.

Sending to a few hundred people is the easy half. The half that breaks is what comes back: replies arrive somewhere that is not the record, so the person who can answer never sees them and the person who does see them has no context.

The second problem is proof. Somebody asks whether a depot notice reached a particular customer, and the answer is a screenshot of a send confirmation for six hundred people, which is not an answer about one of them.

And in the USA and Canada there is a third: carrier registration. Send commercial volume from an unregistered number and delivery quietly degrades, with no error to read.

02 · The idea

One job, many conversations. The send is bulk, the record is individual, and the reply belongs to the person who wrote it.

03 · The pattern

Three parts, and none of them is a separate broadcast tool.

Select in Salesforce, send as a job, then let the replies go back where they belong. The list view is the audience.

01

Select the audience where it already lives

A list view is the audience. Filter to who should get the message, then send from the list view button. For an audience that is not in Salesforce yet, a CSV upload does the same thing and still writes each message to a record.

This is the part that saves the argument about which system holds the truth. There is only one list.

In Salesforce FromAny list view, via the Bulk Text buttonOrCSV upload, matched on numberFiltersStandard list view filters, no new toolingPreviewRecipient count and segment count before sending
02

Send as a job, so delivery is per recipient

The job record holds a row per recipient with its delivery status, so a failure is one named contact rather than a percentage. That is what turns "did it reach them" into something you can open.

Long messages split into segments, and the count is shown before the send rather than discovered on the invoice.

In Salesforce CreatesOne bulk job recordHoldsDelivery status per recipientShowsSegments per message, before sendingRetryPer failed recipient, not the whole job
03

Register the number, before the volume arrives

Commercial messaging to US and Canadian numbers runs through carrier registration. It is paperwork rather than engineering, and it is done once, but doing it after launch is how a campaign silently under-delivers.

Get it done while the flows are being built, not the week you want to send.

In Salesforce Applies toCommercial sending to US and Canadian numbersHandled atSetup, with the carrier and the number providerAlternativeBring your own carrier account and its registered numbersSymptom if skippedFalling delivery with no error on the record
Fig 01 · Job 4471 · 612 recipients
Northline service update: the Kitchener depot reopens Monday at 06:00. No action needed. Reply STOP to opt out.
Sent 07:00 · bulk job 4471 · 612 recipients · 1 segment
Does that include the Saturday collection?
Received 07:04 · Task on that Contact only · job unchanged
It does. Saturday collection runs as normal from Monday onward.
Sent 07:11 · sent by dispatch from the Converse view
04 · Replies and exceptions

A reply is a conversation with one person.

Inbound messages never go to the job. They go to the contact who sent them, and the thread continues from the Converse view.

ReplyWhat happensWhere it lands
A question Task on that Contact only. The job is untouched, and dispatch answers on the same thread. Task on Contact
A correction Handled by a person on the record. Nothing bulk fires in response, because one reply is not evidence about six hundred people. Message Bucket on Contact
Undeliverable The job row carries the failure with its reason, so the bad number is a named record you can fix rather than a percentage. Bulk job row, delivery status
STOP Opt-out on the Contact, honoured immediately and on every future job. The opt-out list is shared across the org, not per campaign. Contact.SMS_Opt_Out__c
05 · Guardrails

Four, and at this volume the third one is the expensive one.

ConsentChecked per recipient at send time, not once for the list. A list view is a filter, and a filter has no memory of who agreed to what.
Quiet hoursEvaluated per recipient. A list spanning the USA and Canada spans time zones, and the job respects each one.
SegmentsShown before the send. A message that runs one character past a segment boundary doubles the cost of the whole job, quietly.
Opt-out lineIn the message. At this volume it is not optional, and it is what keeps the number in good standing.
06 · Reporting afterwards

The job is a record, so the answer about one recipient is one click.

Bulk job reporting shows delivery per recipient and replies per job, which is what an audit asks for and what a marketer needs.

Job 4471 · depot reopeningBulk message jobs
Segment of listRecipientsDeliveredReplies
Kitchener21221118
Waterloo1841849
Cambridge1411397
Guelph75754
DELIVEREDPer recipient, from the carrier. The two missing in Cambridge are two named records with a reason, not a rounding error.
REPLIESInbound messages tied back to the job. A high reply rate on an operational notice usually means the notice was unclear.
OPT-OUTSCounted per job. A spike is the message, not the channel, and it is worth reading before the next send.
07 · Implementation note

Where ValueText fits.

ValueText adds the bulk send button to any list view, creates the job record, holds delivery status per recipient, and routes every inbound reply to the individual record. CSV sending and per-recipient retry are in the same place. You can bring your own carrier account, in which case the carrier relationship and the numbers stay yours. The list views, the reports and the records are standard Salesforce and stay if you leave.

Professional edition or above · Carrier registration required for commercial US and Canadian sending · Billed per segment at the published per-country rate
AppExchange review

“We needed a text application that was simple to use and simple to integrate. So far it's been reliable, and bug-free. We have 150 users and they have adopted it with minimal training.”

Jon Levy Jon LevyChief Operating Officer · AppExchange
This page sits underSMS for SalesforceThe channel page: how sending, receiving and billing work for SMS.
In the docs
01 Bulk Messaging from a List ViewSelecting the audience and sending from a list view → 02 Bulk message job reportingDelivery status per recipient and per job → 03 What Is a Sender ID in ValueText?Numbers, sender identity and carrier registration →

Run your messaging inside your CRM.

Rated 4.98 on Salesforce AppExchange
Salesforce Use case · Operations · Bulk

Send one message to a list, and keep every reply on its own record.

Bulk from a Salesforce list view or a CSV, one job record holding delivery status per recipient, and replies that land on the individual contact rather than in a shared pile.

ObjectAny list view, or a CSV upload
Fires onA person sending, or a scheduled job
Reply landsThe individual record, never the job
ChannelSMS across the USA and Canada
01 · What quietly breaks

Bulk messaging usually means losing the replies.

Sending to a few hundred people is the easy half. The half that breaks is what comes back: replies arrive somewhere that is not the record, so the person who can answer never sees them and the person who does see them has no context.

The second problem is proof. Somebody asks whether a depot notice reached a particular customer, and the answer is a screenshot of a send confirmation for six hundred people, which is not an answer about one of them.

And in the USA and Canada there is a third: carrier registration. Send commercial volume from an unregistered number and delivery quietly degrades, with no error to read.

02 · The idea

One job, many conversations. The send is bulk, the record is individual, and the reply belongs to the person who wrote it.

03 · The pattern

Three parts, and none of them is a separate broadcast tool.

Select in Salesforce, send as a job, then let the replies go back where they belong. The list view is the audience.

01

Select the audience where it already lives

A list view is the audience. Filter to who should get the message, then send from the list view button. For an audience that is not in Salesforce yet, a CSV upload does the same thing and still writes each message to a record.

This is the part that saves the argument about which system holds the truth. There is only one list.

In Salesforce FromAny list view, via the Bulk Text buttonOrCSV upload, matched on numberFiltersStandard list view filters, no new toolingPreviewRecipient count and segment count before sending
02

Send as a job, so delivery is per recipient

The job record holds a row per recipient with its delivery status, so a failure is one named contact rather than a percentage. That is what turns "did it reach them" into something you can open.

Long messages split into segments, and the count is shown before the send rather than discovered on the invoice.

In Salesforce CreatesOne bulk job recordHoldsDelivery status per recipientShowsSegments per message, before sendingRetryPer failed recipient, not the whole job
03

Register the number, before the volume arrives

Commercial messaging to US and Canadian numbers runs through carrier registration. It is paperwork rather than engineering, and it is done once, but doing it after launch is how a campaign silently under-delivers.

Get it done while the flows are being built, not the week you want to send.

In Salesforce Applies toCommercial sending to US and Canadian numbersHandled atSetup, with the carrier and the number providerAlternativeBring your own carrier account and its registered numbersSymptom if skippedFalling delivery with no error on the record
Fig 01 · Job 4471 · 612 recipients
Northline service update: the Kitchener depot reopens Monday at 06:00. No action needed. Reply STOP to opt out.
Sent 07:00 · bulk job 4471 · 612 recipients · 1 segment
Does that include the Saturday collection?
Received 07:04 · Task on that Contact only · job unchanged
It does. Saturday collection runs as normal from Monday onward.
Sent 07:11 · sent by dispatch from the Converse view
04 · Replies and exceptions

A reply is a conversation with one person.

Inbound messages never go to the job. They go to the contact who sent them, and the thread continues from the Converse view.

ReplyWhat happensWhere it lands
A question Task on that Contact only. The job is untouched, and dispatch answers on the same thread. Task on Contact
A correction Handled by a person on the record. Nothing bulk fires in response, because one reply is not evidence about six hundred people. Message Bucket on Contact
Undeliverable The job row carries the failure with its reason, so the bad number is a named record you can fix rather than a percentage. Bulk job row, delivery status
STOP Opt-out on the Contact, honoured immediately and on every future job. The opt-out list is shared across the org, not per campaign. Contact.SMS_Opt_Out__c
05 · Guardrails

Four, and at this volume the third one is the expensive one.

ConsentChecked per recipient at send time, not once for the list. A list view is a filter, and a filter has no memory of who agreed to what.
Quiet hoursEvaluated per recipient. A list spanning the USA and Canada spans time zones, and the job respects each one.
SegmentsShown before the send. A message that runs one character past a segment boundary doubles the cost of the whole job, quietly.
Opt-out lineIn the message. At this volume it is not optional, and it is what keeps the number in good standing.
06 · Reporting afterwards

The job is a record, so the answer about one recipient is one click.

Bulk job reporting shows delivery per recipient and replies per job, which is what an audit asks for and what a marketer needs.

Job 4471 · depot reopeningBulk message jobs
Segment of listRecipientsDeliveredReplies
Kitchener21221118
Waterloo1841849
Cambridge1411397
Guelph75754
DELIVEREDPer recipient, from the carrier. The two missing in Cambridge are two named records with a reason, not a rounding error.
REPLIESInbound messages tied back to the job. A high reply rate on an operational notice usually means the notice was unclear.
OPT-OUTSCounted per job. A spike is the message, not the channel, and it is worth reading before the next send.
07 · Implementation note

Where ValueText fits.

ValueText adds the bulk send button to any list view, creates the job record, holds delivery status per recipient, and routes every inbound reply to the individual record. CSV sending and per-recipient retry are in the same place. You can bring your own carrier account, in which case the carrier relationship and the numbers stay yours. The list views, the reports and the records are standard Salesforce and stay if you leave.

Professional edition or above · Carrier registration required for commercial US and Canadian sending · Billed per segment at the published per-country rate
AppExchange review

“We needed a text application that was simple to use and simple to integrate. So far it's been reliable, and bug-free. We have 150 users and they have adopted it with minimal training.”

Jon Levy Jon LevyChief Operating Officer · AppExchange
This page sits underSMS for SalesforceThe channel page: how sending, receiving and billing work for SMS.
In the docs
01 Bulk Messaging from a List ViewSelecting the audience and sending from a list view → 02 Bulk message job reportingDelivery status per recipient and per job → 03 What Is a Sender ID in ValueText?Numbers, sender identity and carrier registration →

Run your messaging inside your CRM.

Rated 4.98 on Salesforce AppExchange
Salesforce Use case · Operations · Bulk

Send one message to a list, and keep every reply on its own record.

Bulk from a Salesforce list view or a CSV, one job record holding delivery status per recipient, and replies that land on the individual contact rather than in a shared pile.

ObjectAny list view, or a CSV upload
Fires onA person sending, or a scheduled job
Reply landsThe individual record, never the job
ChannelSMS across the USA and Canada
01 · What quietly breaks

Bulk messaging usually means losing the replies.

Sending to a few hundred people is the easy half. The half that breaks is what comes back: replies arrive somewhere that is not the record, so the person who can answer never sees them and the person who does see them has no context.

The second problem is proof. Somebody asks whether a depot notice reached a particular customer, and the answer is a screenshot of a send confirmation for six hundred people, which is not an answer about one of them.

And in the USA and Canada there is a third: carrier registration. Send commercial volume from an unregistered number and delivery quietly degrades, with no error to read.

02 · The idea

One job, many conversations. The send is bulk, the record is individual, and the reply belongs to the person who wrote it.

03 · The pattern

Three parts, and none of them is a separate broadcast tool.

Select in Salesforce, send as a job, then let the replies go back where they belong. The list view is the audience.

01

Select the audience where it already lives

A list view is the audience. Filter to who should get the message, then send from the list view button. For an audience that is not in Salesforce yet, a CSV upload does the same thing and still writes each message to a record.

This is the part that saves the argument about which system holds the truth. There is only one list.

In Salesforce FromAny list view, via the Bulk Text buttonOrCSV upload, matched on numberFiltersStandard list view filters, no new toolingPreviewRecipient count and segment count before sending
02

Send as a job, so delivery is per recipient

The job record holds a row per recipient with its delivery status, so a failure is one named contact rather than a percentage. That is what turns "did it reach them" into something you can open.

Long messages split into segments, and the count is shown before the send rather than discovered on the invoice.

In Salesforce CreatesOne bulk job recordHoldsDelivery status per recipientShowsSegments per message, before sendingRetryPer failed recipient, not the whole job
03

Register the number, before the volume arrives

Commercial messaging to US and Canadian numbers runs through carrier registration. It is paperwork rather than engineering, and it is done once, but doing it after launch is how a campaign silently under-delivers.

Get it done while the flows are being built, not the week you want to send.

In Salesforce Applies toCommercial sending to US and Canadian numbersHandled atSetup, with the carrier and the number providerAlternativeBring your own carrier account and its registered numbersSymptom if skippedFalling delivery with no error on the record
Fig 01 · Job 4471 · 612 recipients
Northline service update: the Kitchener depot reopens Monday at 06:00. No action needed. Reply STOP to opt out.
Sent 07:00 · bulk job 4471 · 612 recipients · 1 segment
Does that include the Saturday collection?
Received 07:04 · Task on that Contact only · job unchanged
It does. Saturday collection runs as normal from Monday onward.
Sent 07:11 · sent by dispatch from the Converse view
04 · Replies and exceptions

A reply is a conversation with one person.

Inbound messages never go to the job. They go to the contact who sent them, and the thread continues from the Converse view.

ReplyWhat happensWhere it lands
A question Task on that Contact only. The job is untouched, and dispatch answers on the same thread. Task on Contact
A correction Handled by a person on the record. Nothing bulk fires in response, because one reply is not evidence about six hundred people. Message Bucket on Contact
Undeliverable The job row carries the failure with its reason, so the bad number is a named record you can fix rather than a percentage. Bulk job row, delivery status
STOP Opt-out on the Contact, honoured immediately and on every future job. The opt-out list is shared across the org, not per campaign. Contact.SMS_Opt_Out__c
05 · Guardrails

Four, and at this volume the third one is the expensive one.

ConsentChecked per recipient at send time, not once for the list. A list view is a filter, and a filter has no memory of who agreed to what.
Quiet hoursEvaluated per recipient. A list spanning the USA and Canada spans time zones, and the job respects each one.
SegmentsShown before the send. A message that runs one character past a segment boundary doubles the cost of the whole job, quietly.
Opt-out lineIn the message. At this volume it is not optional, and it is what keeps the number in good standing.
06 · Reporting afterwards

The job is a record, so the answer about one recipient is one click.

Bulk job reporting shows delivery per recipient and replies per job, which is what an audit asks for and what a marketer needs.

Job 4471 · depot reopeningBulk message jobs
Segment of listRecipientsDeliveredReplies
Kitchener21221118
Waterloo1841849
Cambridge1411397
Guelph75754
DELIVEREDPer recipient, from the carrier. The two missing in Cambridge are two named records with a reason, not a rounding error.
REPLIESInbound messages tied back to the job. A high reply rate on an operational notice usually means the notice was unclear.
OPT-OUTSCounted per job. A spike is the message, not the channel, and it is worth reading before the next send.
07 · Implementation note

Where ValueText fits.

ValueText adds the bulk send button to any list view, creates the job record, holds delivery status per recipient, and routes every inbound reply to the individual record. CSV sending and per-recipient retry are in the same place. You can bring your own carrier account, in which case the carrier relationship and the numbers stay yours. The list views, the reports and the records are standard Salesforce and stay if you leave.

Professional edition or above · Carrier registration required for commercial US and Canadian sending · Billed per segment at the published per-country rate
AppExchange review

“We needed a text application that was simple to use and simple to integrate. So far it's been reliable, and bug-free. We have 150 users and they have adopted it with minimal training.”

Jon Levy Jon LevyChief Operating Officer · AppExchange
This page sits underSMS for SalesforceThe channel page: how sending, receiving and billing work for SMS.
In the docs
01 Bulk Messaging from a List ViewSelecting the audience and sending from a list view → 02 Bulk message job reportingDelivery status per recipient and per job → 03 What Is a Sender ID in ValueText?Numbers, sender identity and carrier registration →

Run your messaging inside your CRM.

Rated 4.98 on Salesforce AppExchange