Wanting to Send SMS Based on INPUT()

Hi,

I’m wanting to send an SMS based on user INPUT().

I set up a column to save the INPUT() result, input_selected

In a “Grouped: execute a sequence of actions” action I:

  1. Save the result to the column input_selected.

  2. Send an SMS based on that value.

Unfortunately it seems that the SMS is being sent before the value is written to the sheet. Is there a workaround or better way to do this?

TY!

1 Like

I am unable to exactly create the same test conditions as yours because I believe AppSheet uses Twilio for SMS messages?

But as an alternative, instead of using group action, you could use a data change bot that sends the SMS when the column input_selected changes through the input action. I tested this with a notification bot that takes the value of input action change before sending the notification.

This approach works with reliability because the bot anyway gets triggered only when the input_selected column has changed.

2 Likes

Suvrutt, Thank you very much for the reply. With regards to the SMS messaging, my wording was incorrect and therefore ambiguous. I meant a simple manual SMS sent via the “External: Start a text message” action, so creating an SMS draft.

So what I was trying to accomplish was to have the draft SMS created based on the user input: The INPUT() gets fired by the user, the value gets sent to the column input_selected then a draft SMS is created based on that input.

The result was that the draft wasn’t picking up the new INPUT() value which seems to be because the SMS draft gets created before the value is read to the sheet.

As a current hack, I’ve separated the process into two buttons, one for the INPUT() and one for creating the draft SMS. Ideally they would be done as a single action.

Thank you for any help with this.

2 Likes

Thank you for the update.

You could still do the needful with a single button. Instead of an input action you could create a LINKTOROW() action. This action could take the user to a custom form view ( this form view will have just one field input_selected and possibly the key column which anyway is non editable) based on the current record. User then fills in the “input_selected” and saves the form . ( You could even make the form auto save after this field is filled in)

Then once the form is saved, the event action on form save will be the second action you need , ““External: Start a text message” action, so creating an SMS draft.”

As a result of this configuration, the user will need to tap on only one action to select the input and save the form that will open the text message pane. In any case, input() action also requires a save button to be tapped by the user, so it is anyway a form in a window.

I tested this suggested approach and works seamlessly.

3 Likes

Thank you for the guidance. Unfortunately I’m very low-skill with Appsheet and a bit stuck with how to implement the solution with LINKTOROW() and a custom form but I know the approach to work on. If you happen to be willing to dig into the specifics a bit, I’m all ears. :slight_smile:

2 Likes

Sure, I can help. Could you share if possible the name of the table where this " input_selected" column is located. We could also use a generic table name but then you may need to again adjust expressions.

Also if possible, please mention the system generated form name on this table and the key column name of the table.

3 Likes
  • The input_selected column is in a Sheet/table named Booked.
  • The key column name is Quote Num.
  • I’m not really sure about the form, but the system generated forms are: A Jobs Slice_Form, and A Jobs Slice_Detail.

I hope that’s what you were after.

1 Like

Thank you. Please try below.

Please

1.create a form view called say “Booked_User_Selected_Input” on the table “Booked”
2. the position of the form should be “ref”
3. Please select only two columns in this form [Quote Num] and [input_selected]

B. Create a LINKTOROW() action on the booked table with the details in the screenshot as shown below

Please have the “Target” setting expression of the action as

LINKTOROW([Quote Num], “Booked_User_Selected_Input”)

C. Let us assume your “External: Start a text message” action is titled " Send_Text_Message”. Now please have this action as an event action in the form “Booked_User_Selected_Input” as event action. The relevant settings of the form “Booked_User_Selected_Input” should be as in the screenshot below

With the above settings, you should be able to allow the user to have the desired functionality with one button.

5 Likes

Suvrutt, This is amazing. I need to do this with a fresh mind and free time so I will leave it until late week. I’ll let you know how it goes. It’s nice to be learning something new and useful. Thank you very much indeed.

3 Likes

@GGL ,

May we know if you were able to try the solution?

1 Like

Suvrutt, My sincere apologies for the delay in getting back to you. This is something I can only do at the weekend and the previous two have had me engaged elsewhere. I’ll go through the steps this long (Easter) weekend and let you know how it goes.

2 Likes

Thank you for the update @GGL .

Please do not apologize. I just wanted to know if you got it working and if yes an update will help any future reader of this post thread. Take your time.

1 Like

The world needs more people like you Suvrutt. I worked through your example. It all works, smooth as. This has been a really good learning experience too. Many many thanks!

3 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.