Skip to main content
TroopyDocs
Open Troopy
Troopy

API reference / Tasks and projects

Get a template

One template, with how it works in numbered steps. A ready skill also gives the teammate to ask and the message that asks it to write the skill.

get/api/v1/templates/{id}

Authorization

HeaderAuthorization: Bearer <API key>
Or the headerX-API-Key: <API key>
API keyMake one in Troopy under Settings > API keys. It acts as you, in its workspace.

Other ways to call it

CLItroopy templates get
MCP tooltroopy_get_template
Rate limit60 calls in 60 seconds, for each key

Path parameters

id*string

A template's id, like weekly-brief or welcome-note. GET /templates lists them

At most 64 characters

Response

200 · application/json
data*object
21 properties
id*string

A template's id, like weekly-brief or welcome-note. GET /templates lists them

At most 64 characters

kind*enum<string>

routine: a routine on a schedule that a teammate does by itself. trigger: work that a teammate does each time that something happens in Troopy. skill: a ready skill, which a teammate writes for the troop when you ask it. builtin: work that Troopy does itself, with no schedule

routineskillbuiltintrigger

title*string
about*string

What it does, in one line

role*string

The role that does it, like churn

roleTitle*string
avatar*object

Its face: a bot-avatars body type, colour (#RRGGBB), face and shading, a robot head, or an object with two eyes

6 properties
shape*enum<string>

cloverflowertrianglesquareblobghostcircledropstardroidmechalienhexagoncatcloudpilland 2 more

color*string
face*enum<string>

eyesmouth

shadingenum<string>

How its body is lit; fabric when unset

fabricplasticcrispsmoothflat

robotobject

A TV-headed robot (robot-heads) in place of the bot. shape, color, face and shading stay for the bot

5 properties
shape*enum<string>

rectanglesquarecirclehexagon

shell*string

The colour of its shell

trim*string

The colour of its ears and of the collar of its antenna

screen*string

The colour of the lights on its screen

antenna*boolean
objectobject

An object with two eyes in place of the bot. shape, color, face and shading stay for the bot

2 properties
shape*enum<string>

circlesquaretrianglepilldrophexagonpentagoncloudbeancloverflowersparkleburstapplechatbulband 13 more

color*string

The colour of the object

agent*string | null

The handle of the teammate that does it. Null when nobody holds its role yet

agentName*string | null
skill*string

The skill that it follows. Empty for a built-in template

when*string

A routine: its days and time. A ready skill: when a teammate uses it. A built-in template or a trigger: what starts it

needs*array<object>

Apps its tools read from; it can't work until each is connected (POST /apps/{provider})

3 properties
id*enum<string>

stripeposthoggithubnotionhunterlemonsqueezypolarpaddledodopaymentssearchconsolemetaadsgooglecalendargeminiopenaifalreplicate

name*string
connected*boolean
uses*array<object>

What it uses. ready: the service is connected, a payment provider is connected (payments), or a mailbox has Read all on (mailbox). Null when there is nothing to set up

3 properties
id*enum<string>

braintaskswebbrowserinboxmailboxcrmcampaignsanalyticspaymentsstripedodopaymentspaddleposthogsearchconsolemetaadsand 1 more

name*string
ready*boolean | null
on*boolean

A routine template: its routine exists. A trigger: its trigger exists. A ready skill: the workspace has a skill with its name. A built-in template: it is on

paused*boolean

Its routine or its trigger is paused, or its skill is off

routineId*string | null

A routine template that is on: its routine

page*string | null

A built-in template: the page of its work in the app, like /disputes. A trigger that is on: the page of its trigger. Null for the others

steps*string

How it works, in three to five numbered steps for people, each a title and a sentence. A routine's teammate follows the whole skill named in skill. A ready skill's teammate starts from these steps

outcomes*array<string>

What you get, in three short lines

sample*object

A made-up example of what it makes, to show its shape

3 properties
kind*enum<string>

emailreportlistpostbriefchat

label*string
lines*array<string>
ask*object | null

A ready skill: send message to that teammate (POST /threads) and it proposes the skill, which a person approves. The teammate of its role gets it, or else the lead. Null for the others

3 properties
agent*string
name*string
message*string

Errors

400 invalid_inputFix the field named in detail. Each operation's schema is in /api/v1/openapi.json.
401 unauthorizedSend an API key as `Authorization: Bearer tr_live_...`. Create one in Troopy under Settings.
403 forbiddenThe key lacks a scope this operation needs, or its owner lacks the role. detail says which; create a key with the scope, or ask an organization owner or admin.
404 not_foundCheck the path and any id in it. Every operation is listed in /api/v1/openapi.json.
429 rate_limitedWait the number of seconds in Retry-After, then retry.