There are two mechanisms for triggering Actions in Slingshot:
-
Each action is accessible via a URL of the form
http://yourslingshotserver/action/NameOfYourAction
. For instance, if your Slingshot server were hosted atexample.thoughtcolony.com
and you named your actionMyAwesomeAction
, the URL would behttp://example.thoughtcolony.com/action/MyAwesomeAction
. Spaces in action names are supported, but encoding them as%20
in URLs is recommended (e.g. "My Awesome Action" would becomeMy%20Awesome%Action
). The names themselves are not case-sensitive. This is mostly useful when used with webhooks from other systems: enter the URL for a specific action in the other system and when the other system invokes the webhook, the action specified by the URL will start out with its context initialized to the webhook's payload. -
Slingshot has a system of scheduling the execution of Actions called "Triggers". These provide fine-grained scheduling for either a one-time occurrence (called "at" triggers) or a repeating series (called "every" triggers).
"At" triggers
Every trigger requires a name, a type ("at" or "every"), an action to execute, and some specification of when the trigger should be executed. For "at" triggers, this is simply a specific date and time when the trigger should execute. Through the UI, this date is always shown in the browsers current time zone, while internally (and through the API) this date is stored in UTC.
"Every" triggers
Just like an "at" trigger, an "every" trigger requires a name, a type ("every"), an action to execute, and a specification of the schedule on which the trigger should be executed. Since calendars have several different was to describe series, the "every" specification is more involved than the "at" specification and not all values are required.
N
Coupled with the Period value, this determines the frequency of the event. For instance, an event scheduled for "every other week" would have an N of 2 and a Period of "week". For "every week", you would use an N of 1. N must be greater than 0.
Period
The "unit" of the frequency of the event: minute, hour, day, week, halfMonth (15 days), month, quarter (3 months), year.
Starts At
The starting point of the series. This is typically the first occurrence, assuming that all other criteria match.
Day of Week
For weekly or monthly series, this indicates the day of the week on which the trigger will fire. Optional (may not have any effect) for other Period types.
Week of Month
For monthly series, this indicates which week of the month a trigger will fire. Either this or "day of month" is required; otherwise it is inferred from the "Starts At" value. Coupled with "Day of Week" series like "first Tuesday of every month" can be described.
Day of Month
For monthly series, this inidcates which day of the month. For instance, the 5th of every month.
Month of Year
For yearly series, this indicates during which month the trigger will fire. Typically also coupled with "Day of Month" or "Day of Week" plus "Week of Month".