API reference / Routines and triggers
Change a trigger
Changes a trigger, pauses or resumes it, or gives it to another teammate (agent); send any of them. A paused trigger keeps its events and starts nothing. A new sender needs its own secret. What starts a trigger never changes: make a new trigger for another event. Needs an owner or admin.
/api/v1/triggers/{id}Other ways to call it
troopy triggers updatetroopy_update_triggerIdempotency-Key header. A retry with the same key gets the first answer back, and the operation runs one time.Path parameters
id*stringA 24-character id
Body
application/jsonagentstringThe teammate that it starts from now on
At most 40 characters
namestringAt least 1 characters · At most 80 characters
taskstringWhat the teammate does with each event, as you'd tell the teammate
At least 1 characters · At most 2000 characters
senderenum<string>Who sends the requests: url (no check, the URL is the secret), github, stripe, shopify, standard (Standard Webhooks) or hmac
urlgithubstripeshopifystandardhmac
secretstringThe signing secret that the sender made (stripe, shopify, standard). It goes in and never comes out
At least 1 characters · At most 500 characters
fieldsarray<string>Only these paths of an event reach the teammate. Empty for the whole event
At most 20 items
maxPerDayintegerThe most tasks that it starts in a UTC day
At least 1 · At most 200
eventsPerTaskintegerThe most events that one task holds. Give 1 when a run can do the work of one event only, as the research of a lead
At least 1 · At most 10
pausedbooleanResponse
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