List templates customers can install
This page needs your own installation with an Embed license.
GET/
Lists the templates you share with every customer, newest first, with the apps and connections each needs.
Needs a partner key: Authorization: Bearer gre_…, from Platform › Partner keys. Call it from your server only.
Parameters
Query
cursorOptional · stringThe
pagination.nextCursorof the page before. Left out: the first page.limitOptional · integerRows a page, 1 to 100. The default is 50.
Read a row
key is what you install by. connections lists one slot per service the steps need, with the steps that use it. An account whose app list leaves out one of pieces can’t install it.
You share a template from a workflow’s ⋯ in Workflows: Share with customers…. See Templates for customers.
Responses
- 200OK
A page of templates.
A parameter isn’t valid.
Something failed on the installation’s side. Try again.
Any call can also answer: 401 UNAUTHORIZED · 403 EMBED_NOT_LICENSED · 403 IP_NOT_ALLOWED · 429 RATE_LIMITED · 503 BUSY. See Errors.
Request
GORUNNER="https://automations.example.com"
GORUNNER_EMBED_KEY="YOUR_PARTNER_KEY" # gre_…
curl "$GORUNNER/api/embed/v1/templates" \
-H "Authorization: Bearer $GORUNNER_EMBED_KEY"const GORUNNER = "https://automations.example.com";
const KEY = process.env.GORUNNER_EMBED_KEY; // gre_…
const res = await fetch(
`${GORUNNER}/api/embed/v1/templates`,
{
headers: { Authorization: `Bearer ${KEY}` },
},
);
const { data } = await res.json();import os, requests
GORUNNER = "https://automations.example.com"
KEY = os.environ["GORUNNER_EMBED_KEY"] # gre_…
res = requests.get(
f"{GORUNNER}/api/embed/v1/templates",
headers={"Authorization": f"Bearer {KEY}"},
)
data = res.json()["data"]Response · 200 OK
{
"data": [
{
"id": "9c4e2a17-3d5b-4f86-b0e2-8a1c7d3f5e29",
"key": "orders-to-sheets",
"name": "New orders to Sheets",
"description": "Adds each new order as a row.",
"category": "Sales",
"triggerType": "webhook",
"pieces": [
"webhook",
"googlesheets"
],
"connections": [
{
"key": "c1",
"pieceId": "googlesheets",
"steps": [
"add_row"
]
}
]
}
],
"pagination": {
"limit": 50,
"nextCursor": null
}
}Every field
It takes no body.
Response · 200 OK
dataarray of objectsidUUIDkeystringThe stable handle to install by.
namestringdescriptionstringcategorystring or nulltriggerTypestringpiecesarray of stringsEvery app its steps use.
connectionsarray of objectsThe connections a workflow made from it needs, one slot per service.
keystringThe slot’s name in this template (
c1,c2, … in the order the steps first use it).pieceIdstringThe service a connection for this slot must be for.
stepsarray of stringsThe steps that use it;
triggerfor the trigger.paginationobjectlimitintegernextCursorstring or nullThe
cursorof the next page; null on the last page. A page that comes back full can carry a cursor even when nothing follows: the next page is then empty, with null here. Keep going until it is null.