Triggers, Conditions, Delay and Repeat

A good way to understand how bots work is to use the phrase If this, then that. The first part of the phrase is made up of four pieces: a trigger (something happens); a series of optional conditions; an optional delay (wait some time after the event, or in some cases before the event); and finally, an optional repeat schedule.

Triggers

Bots are triggered based on events in the system and are tied to a specific source, or record type. Each record type has its own set of available triggers, which can be explored in the table below.

There is one special type of trigger that is different that the rest, which is called Matches Conditions. This is a reactive trigger, meaning the bot will watch your database for records that match its conditions and then run. This is useful for, e.g., watching a date field and triggering when it is coming near.

Source Trigger Description
Asset Created An asset is created.

Edited An asset is edited.

Deleted An asset is deleted.

Undeleted An asset is undeleted.

Archived An asset is archived.

Unarchived An asset is unarchived.

Label Applied An asset has a label applied.

Label Removed An asset has a label removed.

File Attached An asset has a file attached.

File Deleted An asset has a file deleted.

Matches Conditions An asset matches the bot's conditions.
Checkout Checked Out A checkout is checked out.

Checked In A checkout is checked in.

Due A checkout is due.

Signed A checkout is signed.

File Attached A checkout has a file attached.

File Deleted A checkout has a file deleted.

Matches Conditions A checkout matches the bot's conditions.
Location Created A location is created.

Edited A location is edited.

Deleted A location is deleted.

Undeleted A location is undeleted.

Archived A location is archived.

Unarchived A location is unarchived.

Label Applied A location has a label applied.

Label Removed A location has a label removed.

File Attached A location has a file attached.

File Deleted A location has a file deleted.

Matches Conditions A location matches the bot's conditions.
Person Created A person is created.

Edited A person is edited.

Deleted A person is deleted.

Undeleted A person is undeleted.

Archived A person is archived.

Unarchived A person is unarchived.

Label Applied A person has a label applied.

Label Removed A person has a label removed.

File Attached A person has a file attached.

File Deleted A person has a file deleted.

Matches Conditions A person matches the bot's conditions.
Repair Requested A repair is requested (i.e., created as Needs Repair).

Started A repair is started (either created as In Repair or updated to In Repair).

Completed A repair is completed.

Canceled A repair is canceled.

Assigned A repair is assigned.

Due A repair is due.

Edited A repair is edited.

Deleted A repair is deleted.

Undeleted A repair is undeleted.

Archived A repair is archived.

Unarchived A repair is unarchived.

Label Applied A repair has a label applied.

Label Removed A repair has a label removed.

File Attached A repair has a file attached.

File Deleted A repair has a file deleted.

Matches Conditions A repair matches the bot's conditions.
Reservation Reserved A reservation is reserved.

Checked Out A reservation is checked out.

Canceled A reservation is canceled.

Begin A reservation is beginning.

End A reservation is ending.

Edited A reservation is edited.

Deleted A reservation is deleted.

Undeleted A reservation is undeleted.

Archived A reservation is archived.

Unarchived A reservation is unarchived.

Label Applied A reservation has a label applied.

Label Removed A reservation has a label removed.

File Attached A reservation has a file attached.

File Deleted A reservation has a file deleted.

Matches Conditions A reservation matches the bot's conditions.

Conditions

Conditions allow you to limit when a bot runs. For example, if you want to trigger an action when the Lost label is applied to an asset, you can create a bot that is triggered when an Asset has a Label Applied, and then add a condition requiring the label to be Lost.

Conditions compare fields to values and are dependent on the event source and type of field being compared.

In some cases, like for CheckoutRepair, and Reservation events, you are also able to add conditions on records related to the event source. For example, you can add a condition to run a bot only when a checkout person has a specific label applied or is a member of a specific department.

Other than field comparisons, some special conditions are available for certain situations:

  • Triggered Label: When the trigger is a Label Applied or Label Removed event, you can add conditions related to the label the triggered the event.
  • Triggered File: When the trigger is a File Attached or File Deleted event, you can add conditions related to the file that triggered the event.
  • Checkout: For some checkout triggers, you can add conditions on whether the checkout came from a reservation or a kiosk.
  • Date Fields: When adding a condition based on a Date or Date Time field, you can add a special Is In The Past comparison. When combined with a Matches Conditions trigger, you can run the bot either before or after the date by using a delay.

Delay

Bots can optionally be configured to run after (or in some cases, before) a delay. The following triggers allow a before delay:

  • Checkout Due
  • Repair Due
  • Reservation Begin or End
  • Any Matches Conditions trigger with a date condition of Is In The Past

Repeat

Bots can be scheduled to repeat after the initial trigger a fixed number of times. This is useful for reminder emails and notifications, for example.

Repeated executions will also re-test any conditions to ensure they are still met before performing any actions.

When Weekdays Only is checked, the bot will run on the next weekday, and future repeats will be scheduled from there. For example, if you have a repeat scheduled for every 2 days and the first execution is on a Thursday, the next execution will be the following Monday, followed by Wednesday.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.