Computed value to basic text value when user interaction triggered by choice component

Hi all,

I have three databases connected with each other, called: Flows, Messages, Buttons.

When an user creates a message they can add new buttons attached to this message and they can select a button that triggers the actual message.

I would like to have the button ID of the button that triggers the actual message in the Messages database. I have achieved this via relation and look up but when using the API we can’t get the computed values.

So we need to store the lookup value as a basic value. I have seen in other topics that this can be done via actions. (user select the button that triggers the actual button → set lookup value to text value). However for some reason this action won’t be executed when there is an user interaction in the Messages database.

The user interaction with the Messages database got triggered when a user select the linked button (that triggers the actual message) via a choice component shown in a custom collection. In this case the user don’t save/submit the change but the lookup value in the Message database gets updated. I also tried to let the user edit the item Message database and save the record but in this case the action didn’t get triggered as well.

I hope this case makes some sense and can someone help us out to set the computed value into a basic text value.

How are buttons added to a message?
Can you just write the button ID to begin with instead of a button name?

1 Like

Hi Jeff,

Thanks for your reply.

The connected buttons are displayed in the specific message overview. So the buttons are added in their own table and are connected to the message table.

On the other hand one of the created buttons in the buttons table can be chosen as ‘linked’ button. This button (attached to another message) will call and show the message that has the linked button set.

Example:

Message 1 has three buttons:
button 1
button 2
button 3

When the user press button 1 → Message 2 will appear
When the user press button 2 → Message 3 will appear.


We use the button name to make the buttons visual for the users to select as ‘linked button’. The user can automatically translate the flows (all messages and buttons) by calling a webhook. Because some buttons might have the same name we need to use the button ID’s to do the translation correctly.

We have connected the "linked buttons’ via relations back into the Message table and with a lookup we are able to see the button ID’s in the Message table but this data can’t be transported via webhook since it is computed.

Sorry, I’m having a hard time following based on your terminology. When you say “button”, are you referring to Collection items that are designed to look and feel like buttons? You’re not referring to actual button components, correct?

Can you share some screenshots showing how you have all of this set up? Just need a better visual of what you are doing.

1 Like

Hi Jeff,

Thanks for you reply. To answer your questions:

  • Indeed we’re not using actual button components.We’re just giving the user the possibility to create/edit buttons we use on another platform.

  • To make it more clear I will talk about the admin who creates the message flows in Glide and I will talk about users who are using the message flows on the other platform.

  • Hereby some screenshots:

Front end:

In this case the admin has created two messages. The first message the user will see is the opening message. The admin created three buttons attached to this message (Welcome, Sign off, Sign up).

The second message will be triggered when the user clicks on the button ‘Welcome’ on the first message, it gives some related Welcome information. This second message has also new buttons (Schedule, Activities, Facilities). The admin can work out the flow by adding new messages that will be triggered when the user clicks on the relevant buttons.

In the back end we have set up this structure. A Message item has the following button related information:

  • Buttons that are attached to the message
  • A Linked button that will trigger the message

Message table:

In the Button database, every button has his own button name, button id and the linked message ID (item ID)
Button database

If the admin creates a message, its quite easy to add new buttons. We created a relation to link the Message with the correct buttons. After the message has been created the admin can select a button as linked button (see the first screenshot). This linked button is attached to another message and when the user clicks on this button the specific message will be triggered. We want to connect this ‘linked button’ correctly in our Message database. Now we are able to put the Button name as basic text value and the Button ID as computed value into the specific message row.

From here we want to use the Glide API to duplicate or translate the messages. For this we need the computed value also as basic text value in to the Message row. And this is the missing part of our structure.

Hopefully you can help us with getting the computed value transferred to a basic text value. There are some community topics that talk about adding an action to fulfill this but for some reason our action won’t get triggered when the admin is selecting a button as linked button in the front end.

Thanks!

You could possibly set up an action flow with a Set Column action, that would take the computed button ID and write it to a basic column, but that will unnecessarily eat through your update quota.

To me, it would make more sense to write the button ID to a basic column in the message table, and make the button name the computed value. It’s also much more future proof if you ever have multiple buttons with the same name. It’s always better to store related IDs instead of names.

1 Like

Hi Jeff,

Very good suggestion, we’re now use the button ID as input look up the other needed details.

Thank you very much for your help!

1 Like

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