An outbound configuration sends a text for each record you choose in a Quickbase table, then writes the results back to the record. This article covers the three outbound-only tabs, Processing, Outbound Setup, and Activity Table, and explains how to find texts that didn't go out. For the Config Info and EsendEx Info tabs, see Create a Text My QB configuration.
Available to: all roles with the Text My QB extension.
To open an outbound configuration, select Edit on its row in the configurations list. It opens in a pop-up window with the header Text My QB Configurator - Outbound. Remember that Save saves all tabs at once, and that you need to save or cancel before you can switch tabs.
How outbound texting works
Something starts a run: a schedule, the Execute On Demand button, or a Quickbase email notification.
Text My QB finds the records to text: every record in your Report to Process (Scheduled and On-Demand), or, for Triggered, the record named in the notification (or the records its query finds).
For each record, it sends the message to the number in your Phone Number Field, from your Esendex Phone Number, with any file attachments.
It writes the date and time of the send attempt, the result (status), the unique message ID, and (optionally) the Esendex number back to the record. This happens whether or not the text went out.
If activity logging is on, it adds one record to your activity table for each recipient.
The configuration must be Enabled (or Test Mode) on the Config Info tab. Disabled configurations don't send anything.
Text My QB reads and updates your records with the user token you chose when you authorized the app. That token's user needs permission to view and modify records in the outbound table, and to add records to the activity table. See Before you start.
Processing tab
Available to: all roles with the Text My QB extension.
Section Processing. Use Processing Mode to choose when texts go out:
Processing Mode | When texts are sent | Which records are texted | Good for |
|---|---|---|---|
On-Demand | When you select Execute On Demand in the configurator. | Every record in the Report to Process. | One-off announcements, manual batches. |
Scheduled | Automatically, at the time and frequency you set. | Every record in the Report to Process at run time. | Daily reminders, weekly digests. |
Triggered | When a Quickbase email notification is sent to Text My QB, for example when a record is added or a field changes. | The one record the notification is about. With query=, every record the query finds. | Instant alerts, "your order has shipped". |
The first option, Select a Processing Mode, means no mode is chosen yet.
On-Demand
On the Outbound Setup tab, choose the Outbound Table and the Report to Process, finish the other settings, and select Save.
On the Processing tab, set Processing Mode to On-Demand and select Save.
Make sure Configuration Status on the Config Info tab is Enabled (or Test Mode) and saved, and that the report has records in it. A Disabled configuration doesn't run.
Under On-Demand Execution, select Execute On Demand. The button is dimmed until an outbound table is selected.
You'll see On-demand execution has been requested. (green). The run is queued and picked up shortly afterward. Every record in the report is texted.
Execute On Demand doesn't save your other changes. Save first.
The request stays pending until the run finishes. If you select the button again before then, you'll see This config still has a pending on-demand execution. (blue) and no second run is queued. Check the Status Field on your records after a few minutes.
If you still see that message long after your request and no texts went out, submit a technical support case so the pending request can be cleared.
Scheduled
Choose Scheduled, then fill in:
Setting | What it does | Values |
|---|---|---|
Processing Time | The time of day the run starts, in Eastern Time (EST/EDT). | Select a Time, then 12:00AM to 9:00AM every hour; 9:00AM to 7:00PM every half hour; 8:00PM to 11:00PM every hour. |
Scheduled Frequency | How often the run happens. | Daily, Weekly, or Monthly. |
Day of Week | Weekly only. The day or days the run happens. | Pick one or more of Sunday to Saturday (placeholder Please select day(s) to run). Pick at least one day. |
Day of Month | Monthly only. The day of the month the run happens. | A number from 1 to 31. If a month has fewer days than the value you specified, it will send on the last day of that month. Ex: 31 will send on the 28th of February. |
Then, on the Outbound Setup tab, choose a Report to Process, set Configuration Status to Enabled, and select Save.
Note
Every record in the report is texted on every run. Filter the report so a record drops out once Text My QB has tried to text it, for example Update Field is blank, or the same people will get the same text again on the next run. The Update Field is filled in after every attempt, including failed ones, so records whose text failed drop out too. To find and resend those, see Find texts that didn't go out.
Triggered
A Triggered configuration texts when Quickbase sends Text My QB an email notification. You set up the notification in your app; its body is the Configuration String, which tells Text My QB which configuration to use and which record to text.
Get the Configuration String
On the Outbound Setup tab, choose the Outbound Table and the other settings, and select Save.
On the Processing tab, set Processing Mode to Triggered and select Save.
Under Configuration String, select Copy. You'll see Configuration string copied to clipboard. (green). If copying fails (Unable to copy to clipboard. Please copy the configuration string manually., red), select the text in the box and copy it yourself.
The string looks like this. Use the one from your configuration, not this sample:
configid=123 recid=[Record ID#] configkey=YOUR-CONFIG-KEY type=textmyqbconfigid: your configuration's ID.
recid=[Record ID#]: a Quickbase field reference to the outbound table's Record ID# field. When the notification is sent, Quickbase replaces it with the ID of the record. The configurator uses the field's current name, so if you renamed Record ID# in your table (for example to Order Number), the string shows recid=[Order Number]. Copy the string as shown; don't retype it.
configkey: your configuration's Config Key.
type=textmyqb: tells Quickbase Extensions the request is for Text My QB.
Instead of a string, the box can show:
Please select an outbound table first.: choose an Outbound Table on the Outbound Setup tab and save.
Save the configuration to generate the config string.: select Save.
The Configuration String is also shown for Scheduled configurations, without recid. You only need it for Triggered processing.
Text several records from one notification (query=)
With recid=, a notification texts only the record it's about. To text several records when one thing happens, for example everyone assigned to a job when the job is rescheduled, replace recid=[…] with query= and a Quickbase query. Text My QB then texts every record in your Outbound Table that the query finds.
configid=123 query={'12'.EX.'[Record ID#]'} configkey=YOUR-CONFIG-KEY type=textmyqbStart from the Configuration String you copied, and replace only the recid=[…] part. Keep configid, configkey, and type=textmyqb exactly as they are.
The query uses the Quickbase query format {'field ID'.operator.'value'}, and several conditions can be joined with AND or OR. The field IDs are those of your Outbound Table. See Components of a Query.
Don't put spaces in the query. The parts of the Configuration String are separated by spaces. Match on IDs and other values without spaces.
With query=, the notification doesn't have to be on the Outbound Table. Put it on the table where the event happens, and use that record's fields in the query.
Example. A Jobs table has child Crew Assignments records, and each assignment has the crew member's mobile number. The Outbound Table is Crew Assignments, and its Related Job reference field has field ID 12. On the Jobs table, create the notification for when a Notify Crew checkbox is checked, with this body:
configid=123 query={'12'.EX.'[Record ID#]'} configkey=YOUR-CONFIG-KEY type=textmyqbWhen the notification goes out for job 57, Quickbase replaces [Record ID#] with 57, and Text My QB texts every crew assignment whose Related Job is 57.
Create the email notification
Create an email notification on your Outbound Table (with query=, it can be on another table; see above). It sends the Configuration String, and nothing else, to textmyqb@mail.quickbasetools.com. For the steps, see Email notification creation. Then make sure Configuration Status is Enabled (or Test Mode) and saved.
Important
After each text, Text My QB updates the record (Update, Status, and message ID fields). If your notification fires on any change to the record, those updates can trigger another text. Always limit the criteria to a specific field changing, such as a checkbox or status field you control.
Outbound Setup tab
Available to: all roles with the Text My QB extension.
Section Outbound Configuration. Choose the fields from dropdowns (first option Select a Table, Select a Report, or Select a Field). The field type column is what we recommend; pick fields of a matching type.
Setting | What it does | Field type needed |
|---|---|---|
Outbound Table | The table that holds the records to text. Its key field is detected for you. Changing it clears the field selections below. | A table in the configuration's app. |
Report to Process | On-Demand and Scheduled only. The report whose records are texted on each run. Filter it to exactly the records that should get a text. | A report on the outbound table. |
Use Static Message | Toggle. Off: the message comes from Message Field on each record. On: everyone gets the same message, typed in Static Message. | — |
Message Field | Shown when Use Static Message is off. The field that contains each record's message. Use a formula field to build personalized text from other fields. If the field is blank on a record, the static message (if any) is sent instead. | Text, Text - Multi-line, or Formula - Text. |
Static Message | Shown when Use Static Message is on. The message to send, exactly as typed. | — (typed in the box) |
Phone Number Field | Required. The field with the number to text. Parentheses, dashes, spaces, and + are removed before sending. To text several people from one record, separate the numbers with a semicolon (;); duplicates are sent once. For numbers outside the US and Canada, enter the country code and the number, for example 447700900123. Don't add 011 yourself: when International DID is on, 011 is added for you to any number that isn't 10 or 11 digits. Texting outside the US and Canada needs an Esendex number for that country or region and International DID turned on. See International texting support. | Phone Number, Text, or Formula - Text. |
Update Field | Set to the date and time of the last send attempt, in your app's time zone, whether or not the text went out. Use it to keep records that have already been tried out of your report. It doesn't tell you whether the text was sent; the Status Field does. | Date/Time. |
Status Field | Set to the result of the send, for example Message Sent Successfully. With several recipients, the results are separated by semicolons. See Status Field values. | Text or Text - Multi-line. |
Unique Message ID Field | Set to the unique ID Esendex gives the text (semicolon-separated for several recipients). Replies carry this ID, which is how an inbound configuration links a reply to this record. | Text. |
Esendex Phone Number Field | Optional. Set to the Esendex number the text was sent from. | Phone Number or Text. |
Send Text Even If File Can't Be Sent | Toggle. On: if an attachment can't be sent, the text still goes out with the other attachments. Off: if any attachment fails, the text and the other attachments aren't sent. | — |
Handle Special Characters | Toggle. On: sends the message in a format that supports special characters such as accented letters. Messages with special characters are also detected automatically. Special characters reduce each message part from 160 to 70 characters. | — |
Verify Phone Number | Toggle. On: the number is checked with Esendex before sending. Invalid numbers and landlines aren't texted: the Status Field is set to Not a valid Mobile Number, and the activity record's Error Checkbox Field is checked. This needs phone verification set up on your Esendex account; reach out to Esendex to have it set up. If phone verification isn't set up, leave Verify Phone Number off. Use it only when the Phone Number Field holds one number per record. | — |
File attachments
Section Attachments Configuration. Send files from the record along with the text, for example a photo, a PDF, or a link to a file.
The left list, Available Fields, shows the outbound table's file attachment and URL fields. The right list, File Attachments, is what's sent.
Move a field between the lists with the arrow buttons between them, or drag and drop it. Use the up and down arrows to change the order of the right list. Files are sent in that order.
Fields that are empty on a record are skipped.
Keep the total size of all files for one text under 1.5 MB. Above that, the recipient's carrier may not deliver the text, and the Status Field is set to Files exceeded 1.5MB; message may not have sent due to recipient's carrier.
Texts with attachments, and long texts, are sent as MMS automatically.
Activity Table tab
Available to: all roles with the Text My QB extension.
Section Activity Logging. An activity table keeps a history of every send attempt: one record per recipient per send. Without it, each outbound record only holds the result of its most recent attempt.
Log Activities?: toggle. On: shows the settings below, and a record is added to the activity table for each recipient. Off: nothing is logged.
We recommend making the activity table a child of the outbound table (a relationship where one outbound record has many activity records), so you can show a record's text history on its form.
Setting | What's written to it | Field type needed |
|---|---|---|
Activity Table | The table where activity records are added. | A table in the configuration's app. |
EsendEx Phone Number Field | The Esendex number the text was sent from. | Phone Number or Text. |
To Phone Number Field | The number the text was sent to. | Phone Number or Text. |
Related Field to Outbound Table | The outbound record's key value, which relates the activity to the outbound record. | The reference field of the relationship to the outbound table (usually Numeric). |
Message Field | The message that was sent. | Text - Multi-line. |
Delivery Status Field | The result of the send for this recipient. See Status Field values. | Text. |
Error Checkbox Field | Checked when the number failed Verify Phone Number. Other send errors are shown in the Delivery Status Field. | Checkbox. |
Text Date/Time Field | The date and time of the send attempt. | Date/Time. |
Unique Message ID Field | The Esendex message ID for this recipient. | Text. |
Configuration ID Field | The ID of the configuration that sent the text. | Numeric or Text. |
Configuration Name Field | The name of the configuration that sent the text. | Text. |
File Size Field | The total size of the text's attachments. | Numeric. |
If you copy a configuration, you can choose a different activity table in the Copy Configuration dialog. See Copy a configuration.
Find texts that didn't go out
The Update Field is filled in after every attempt, so it can't tell you which texts failed. Use the Status Field instead:
On the outbound table, create a report named, for example, Texts that failed, with the filters Update Field is not blank and Status Field does not contain Message Sent Successfully.
For each record, look up the Status value in Status Field values and fix the cause, for example a wrong phone number.
To send the text again on the next Scheduled or On-Demand run, clear the record's Update Field so it's back in your Report to Process. For Triggered, make the notification fire again, for example by checking the trigger checkbox again.
If a record texts several numbers, its Status Field holds one result per number, so the report above misses a record where some numbers worked and others didn't. With activity logging on, report on the activity table instead: Delivery Status Field does not contain Message Sent Successfully. It has one record per recipient.
Numbers rejected by Verify Phone Number have the activity table's Error Checkbox Field checked.
Something not working? See Messages and troubleshooting.