Trigger action/workflow based on date/time located in table

Hi - Is it possible to trigger and action/workflow, specifically a text message, on a specific date? I have a “Reminder” date in one of my tables that I would like to use to send a text message to the user who set up the original to-do task. I’ve searched through the AppSheet support and community, but can’t find a thread that addresses this.

Thanks in advance.


Yes you can do that with a scheduled report. Please check this article…


@Aleksi thank you for your response. While I understand the workflow and scheduled report concepts, I am having trouble with the element that will trigger the text. What I am envisioning (and I don’t know if it is possible) is - a user will create a “to do” and will choose a reminder date/time. On this reminder date/time (which may be a week or two down the road), a column formula, either in the Google Sheet or in AppSheet will have logic that says "if “NOW()” is greater than or equal to the reminder date/time, then return “YES”. Once this column says “YES”, it will trigger the text message with the contents of the “to do” to be sent. It doesn’t need to trigger at a specific time (although it would be nice if it could trigger on the reminder time), but I would need it to trigger on the date. I appreciate any advice you have.

You can achieve this by creating a Report that is invoked every day (or every weekday).
The Report would scan the “ToDo” table looking for any record having a matching “to do” date.
The Report would create an SMS for each matching record.


Can we check both data & time at once (Trigger at the exact DateTime column found in table)

Nope. :frowning:

To expand on what Steve correctly said, you cannot trigger at the exact date and time specified in a field of a table. Reports are triggered at the most once a day at the time you specify when you configure the Report.

You could achieve an approximation of triggering at the DateTime found in the table by doing the following:

  1. Create a table that contains one row for each DateTime you wish to trigger at. Let’s call the table “TriggersAt”. Each record would contain a DateTime field called “TriggerAt” which specifies when the thing should be triggered. Also include a DateTime field in each record called “LastTriggeredAt”. Initialize “LastTriggeredAt” to a datetime in the past.
  2. Create a Report that is triggered at a particular time each day, say 8:00 AM daily.
  3. Have that Report check each row in the “TriggersAt” table and sends an email, SMS, notification, or whatever if the “TriggerAt” datetime in the “TriggersAt” table has been reached and the “LastTriggeredAt” is earlier than “TriggerAt”.
  4. Have the Report include a Data Change action that updates the “LastTriggeredAt” field to the current time.
  5. Configure copies of the Report to fire each hour during the day. This would cause the trigger to fire within a hour of the desired time.
  6. The obvious problem with this approach is that the triggering is only as responsive as the frequency with which your configured Reports fire. You can configure more Report instances to make things more responsive but there is a practical limit to how responsive you can make it doing this. I am not sure how to overcome this limitation.

Someone else in the community may have a better suggestion.