Triggers
Trigger scripts are designed to pull data from an external source and return all of the new items since the last run, without resorting to external webhooks. A trigger script is intended to be used with schedules and states (rich objects in JSON, persistent from one run to another) in order to compare the execution to the previous one and process each new item in a for loop. If there are no new items, the flow will be skipped.
By default, adding a trigger will set the schedule to 15 minutes.
Check our pages dedicated to Scheduling and Triggering flows.
States
A state is an object stored as a resource of the resource type state
which is meant to persist across distinct executions of the same script.
Schedules
Scheduling allows you to define schedules for Scripts and Flows, automatically running them at set frequencies.
For loops
Iterate a series of tasks.
Think of this as someone who checks the mailbox every day. If there is a new letter, they will continue to process it - open and read it - and if there is no new letter, they won’t do anything.
The key part is that opened letters are not placed back in the mailbox. In getOperate, a Trigger Script has the job to keep track of what’s processed and what’s not.
Flows can be scheduled through the Flow UI using a CRON expression and then activating the schedule as seen in the image below.
Example of a trigger script watching new Slack posts with a given word in a given channel and the flow sending each of them by email in a for loop:
This flow can be found on getOperate Hub.
Examples of trigger scripts include:
- Trigger every time a new item text on HackerNews match at least one mention
- Notify of new Github repo stars
- Check new uploaded files on Google Drive
The following TypeScript code is an example of the first module of a Flow that checks for new documents in a MongoDB collection on a regular schedule. In this case we query documents that were created after a specific time, expressed with a timestamp. The timestamp is stored with the help of getOperate’s built-in state functions and is updated in each run.
You can find this exact Trigger Script on getOperate Hub, or many more examples here.