API reference / Tasks and projects
Switch on a trigger template
Makes the trigger of a trigger template for the teammate of its role: each time its event comes in Troopy, the teammate gets a task with the instructions of the template. It hires the role first when nobody holds it. A trigger template that is on already gives its trigger as it is. Change the instructions with PATCH /triggers/{id}. Needs an owner or admin, and the services of the role connected. A routine template, a ready skill and a built-in template give 404.
/api/v1/templates/{id}/triggerOther ways to call it
troopy templates triggertroopy_switch_on_trigger_templateIdempotency-Key header. A retry with the same key gets the first answer back, and the operation runs one time.Path parameters
id*stringA template's id, like weekly-brief or welcome-note. GET /templates lists them
At most 64 characters
Response
200 · application/jsondata*object17 properties
id*stringA 24-character id
agent*stringThe handle of the teammate that it starts
name*stringtask*stringWhat the teammate does with each event
source*enum<string>webhook: a request to its URL starts it. event: something in a product of Troopy starts it
webhookevent
event*enum<string> | nullWhat starts it in Troopy, like customer.cancel_requested. Null for a webhook
customer.signed_upcustomer.trial_startedcustomer.subscribedcustomer.payment_failedcustomer.cancel_requestedcustomer.churnedcustomer.came_backcustomer.risk_raisedfeedback.addeddispute.openeddispute.closedoutreach.replymailbox.mailticket.releasedanalytics.spikeanalytics.drop
option*string | nullWhat narrows its event: for mailbox.mail, the id of one mailbox. For customer.signed_up, work_email. Null for every one
sender*enum<string>Who sends the requests of a webhook. It says how Troopy checks each one
urlgithubstripeshopifystandardhmac
needsSecret*booleanIts sender makes the signing secret, and Troopy does not have it yet. Troopy refuses each request until then
fields*array<string>The paths of an event that reach the teammate, like issue.title. Empty: the whole event
maxPerDay*integerThe most tasks that it starts in a UTC day. Later events of the day are held
eventsPerTask*integerThe most events that one task holds
paused*booleanpausedWhy*string | nullWhy Troopy paused it. Null when a person paused it, or it is on
lastEventAt*string | nulltoday*objectIts events, and the tasks that it started, in this UTC day
2 properties
events*integertasks*integercreatedAt*stringISO 8601 date and time