SharePoint approvals can run entirely over text messages. The recipe in Ultimate Forms: an action sends the manager an SMS when a request is submitted, the manager replies Yes or No from wherever they are, and an import profile reads the reply and sets the approval status, all through Twilio as the messaging provider, with no code anywhere. This guide builds the complete system, list, columns, outbound action, inbound import, in well under an hour, and explains where SMS approvals fit among the other approval patterns in SharePoint.
Why text messages, and when
Approvals move at the speed of the approver's attention, and some approvers are nowhere near an inbox. The warehouse manager on the floor. The regional director driving between sites. The executive whose email queue is measured in days but who answers a text in minutes. For them, the fastest approval channel is the one already buzzing in their pocket.
SMS has three properties no other channel matches: it reaches every phone without any app installed, it gets read almost immediately, and replying costs five seconds. That makes it the right channel for approvals that are simple (a yes or a no), time-sensitive, and headed to people away from their desks. It complements rather than replaces the Approval control: the control owns the structured, multi-stage, in-form process, while the SMS pattern covers the decision that cannot wait for the approver to open SharePoint. Teams-delivered approvals with action buttons sit between the two, for approvers who live in Teams.
The round trip at a glance
The system has four legs:
- A user submits a request through a form built in Form Designer.
- An action sends a text message to the manager's phone through Twilio.
- The manager replies Yes or No.
- An import profile reads the reply and sets the Approval Status column.
Everything runs on SharePoint, Microsoft 365 or on premises, plus Ultimate Forms. Twilio supplies the phone number; Ultimate Forms supplies everything else.
Step 1: the list and the form
Create a list, directly in SharePoint or faster through Form Generator in Ultimate Forms. The demo calls it SMS Approvals; the name is yours:

Four columns carry the whole process:
- Request: single line of text, the thing to be approved.
- Manager: a person column for the approving manager. It can be filled by the requester, or automatically from Entra ID when the reporting structure lives there.
- Phone: a User Property column, attached to the Manager column, fetching the manager's phone number from the user profile automatically. If Entra ID does not carry phone numbers, a plain text column entered manually works just as well:

- Approval Status: a choice column with N/a as the default, plus Approved and Rejected. In Form Designer, add a permission rule making this column always read-only, because its only legitimate author is the incoming text message:

Publish the form. The data side is done; everything that remains is messaging.
Step 2: the outbound message
Create a Twilio account if you do not have one, and collect three values from the Account Dashboard: the Account SID, the Auth token (keep it secure; Ultimate Forms never redisplays it after saving), and the Twilio phone number that will send and receive the messages.
In Ultimate Forms, add a new Call application or service action. On the General tab, set it to run only on Item is added, so the message goes out the moment a request is submitted. On the Action tab, configure the Twilio parameters:

Two settings matter. Phone points at the list column holding the manager's number. Body is the message itself: keep it to the request details plus the reply instruction, "Reply Yes to approve or No to reject." A message the manager can act on without opening anything is the entire point of the channel.
Save the action and test the half you have: enter a request, and the text arrives within a minute or so:

Step 3: the inbound reply
Now the return path. Create an import profile, choose Twilio as the data provider, and enter the same account details:

On the Actions tab of the profile, add an action of type Update list item; this is what turns an incoming message into a decision.
Under Values to set, set Approval Status from the message text. Since managers reply Yes or No, the $If function translates: Yes becomes Approved, anything else becomes Rejected:

Under Item, tell the import which request the reply belongs to. The demo locates it by two facts: the sender's phone number (the From of the incoming message) matching the manager's phone, and the Approval Status still being N/a. The reply flips the status, and the round trip is closed:

Hardening the demo for production
The demo's item-matching is deliberately minimal, and it carries one assumption worth naming: it works cleanly when each manager has one pending request at a time, because the phone number plus pending status is then unambiguous. Real deployments usually want two upgrades.
First, put a request ID in the outbound message and ask for it in the reply, "Reply Yes 1174 or No 1174", and match on the ID during import. Item IDs generated automatically make this painless, and the matching becomes exact regardless of how many requests a manager has pending.
Second, close the loop with the requester: a second action on the status change texts or emails them the decision, so the approval that took the manager five seconds reaches the requester just as fast. And for requests that go unanswered, the same reminder-and-escalation thinking that governs email approvals applies: a timer action can re-send the SMS after a day, or route to a backup.
Where SMS approvals earn their keep
The pattern fits wherever the decision is binary and the decider is mobile. Purchase releases approved by a manager between meetings. Shift swap requests decided by a supervisor on the floor. Access requests cleared by an on-call lead at night. Maintenance go-aheads from a facilities head walking a site. Even importing SMS into SharePoint more generally follows the same inbound mechanics, with the approval case being its sharpest use.
What the pattern deliberately trades away is richness: no form context, no attachments, no multi-stage routing. When the decision needs those, it belongs in the Approval control; when it needs speed and nothing else, it belongs in a text. The two coexist comfortably, often in the same organization and even the same process, with SMS handling the one stage whose approver never sits down. For the full map of approval patterns and how they combine, see the complete guide to SharePoint approval workflows.


