Close this search box.

Building a Business SMS Airtable Template

Share This Post

Building a Business SMS Airtable Template

VirtualPBX Business SMS Airtable Template HeaderOne of our primary goals at VirtualPBX is to make our phone system features extensible through other tools you might already use at your business. Our latest feature release, Business SMS, lends itself to extension through Airtable templates, so we made a proof of concept for that purpose.

Airtable lets businesses track and organize their daily tasks through an online interface that combines the function of a database with the look of a spreadsheet. It’s an event tracker you can customize through existing Airtable templates and by crafting your own functions. In our case, we built connections to Zapier and the VirtualPBX API to automate the receipt of new text messages and provide an interface for sending individual replies to customers.

Our COO, Lon Baker, provided insight about our build process and the ease of which we can implement this same system at your business to simplify the way your teams handle text messages.

“This opens up a lot of potential for all our customers to leverage SMS beyond simply texting from a phone,” he began.

A Quick Look at the Finished Product

Let’s start at the end and see what an SMS setup in Airtable could look like in your organization. The screenshot here shows you a lot about what the SMS tool does.

Showing Received Messages

Airtable Template Interface of VirtualPBX Business SMS Tool

At the top of the screen, you can see four tabs titled “Messages,” “Outbox,” “Sender,” and “Phone Numbers.” These are filters for specific information you can capture within your database. In our Airtable template in the “Messages” tab, we filter for the sender and receiver, their phone numbers, and the messages received from the sender.

You can also see a button here titled “Reply” that gives the ability to send an SMS message back to the sender. This is the entry point for recognizing an inbound text. We have multiple team members with permissions to access this Airtable setup, and you can do the same with chosen members of your marketing, sales, or customer service departments.

“Adding users and permissions would be available for customers to implement in their own systems,” Baker commented about group access. “What we have build so far is just a basic prototype, but in Airtable you can review the history of tasks, so we could build extra add-ins like a Confirmation dialogue that would keep text replies ordered.”

Filtering Message Types and System Users

The other tabs visible in this Airtable template are self-explanatory in their purpose.

  • “Outbox” filters all the messages sent through Airtable to an individual’s phone
  • “Sender” gives the ability for any user to send a direct message – not a reply – from Airtable by clicking a “Send SMS” button we built
  • “Phone Numbers” tab shows all the messages that have been exchanged between two people

This is a proof of concept but is applicable to production scenarios and configurable to what customers need. You might wish to limit your tabs and message views to these tabs, or you might want to add additional tabs to gain even more fine-grained detail.

Baker noted that “a method of tracking messages through threads could be possible, and there could be additional checks in the system that validate or filter messages.”

“I would expect businesses to push this tool further by adding, for example, sending SMS notifications to team members through Airtable,” he continued. In this way, an Airtable template that manages SMS could be good both for handling customer interactions and for keeping team members informed through internal communication.

Buttons, and Leveraging the VirtualPBX API

The buttons shown and mentioned above are custom. Lon and the VirtualPBX team built them to perform specific functions inside of Airtable and to send data to the VirtualPBX API.

“This is pure JavaScript,” Baker said. “That is it. It’s very simple to use. Airtable has good documentation and a decent community.”

let replyData = {
  'data': {
  'from': fromValue[0],
  'to': phoneNumber,
  'body': reply

Airtable lets you create Apps within your account. You build them with custom scripts that are allowed access to the internal workings of your account and allowed to interface with third-party services. For example, we can build an SMS message with a few pieces of information.

Airtable Message Response Interface of VirtualPBX Business SMS ToolHere, the from, to, and body are populated with strings we will send to VirtualPBX through the phone system’s API. We can customize the look of the reply screen to include or exclude information you need. Our prototype, however, does show the basic information of the SMS being created and gives users a place to insert the body of their message.

When it comes time to send a message, Airtable must speak to the VirtualPBX API and tell the API what information it wants to send. Shown below is the few lines of code it takes to complete that process:

await fetch('', requestOptions)
  .then(response => response.text())
  .then(result => JSON.parse(result))
  .then(result => requestOptions.headers.append('X-Auth-Token', result.auth_token))
  .catch(error => console.log('error', error));

requestOptions.body = JSON.stringify(replyData)

await fetch('{account-id}/sms', requestOptions)
  .then(response => response.text())
  .catch(error => console.log('error', error));

All that’s done here is reaching out to the VirtualPBX API endpoint for SMS, passing it the appropriate login information (the requestOptions variable), modifying the text message data into a JSON string, and sending that string through the VirtualPBX SMS endpoint, which delivers the message.

VirtualPBX API EndpointsCapturing Messages with Zapier and VirtualPBX Webhooks

Still working backward here, you might be asking yourself: How do I receive text messages in the first place?

This job is completed through a Zapier workflow and with Webhooks – a feature available to all VirtualPBX customers. We recently wrote a blog post about how you can use Webhooks to automate your marketing. That post does a great job of introducing you to the concept of hooks and how they move data from one service to another.

As a quick recap, when you use Webhooks, you create a trigger that waits for an action to take place in your VirtualPBX Plan. An SMS hook waits for an inbound text message; then the hook posts information about the message (sender, message body, timestamp, etc.) to a URL you can reference with another service.

Zapier can provide you with a URL to which you attach the hook you create in VirtualPBX. We do that exact task in our own Zapier account to send messages to the Airtable template discussed in this article.

Using an Airtable Template for SMS

At this point, VirtualPBX is offering to help customers build their own SMS integrations with Zapier, Webhooks, Airtable, and the VirtualPBX API. While this may seem like a lot of setup, in reality it should only take a few hours for our team to get you started. Baker confirms:

“We could assist a customer with this in a matter of an hour or two,” he commented about the project. “Once the customer requests assistance, we can update variables for their credentials to make it work.”

Further changes to the interface, like we have pointed out, are possible and could be adjusted per request from the customer. We are happy to discuss your situation and customize the Airtable functions to your liking.

We’re also excited to bring this Airtable template into the Airtable Universe, which would allow the template to be accessible to the public. Your business, and any user of Airtable, could then modify the code on their own without the assistance of VirtualPBX staff.

“We will likely improve this and publish it as a Template in the AirTable Universe in December/January for customers to copy into their account,” Baker concluded.

In any way this setup is accessed and modified, we’re happy to see this integration work well and improve the function of our customers’ businesses.

More To Explore on the VirtualPBX Blog