SautiDesk
SautiDesk API
Sales

Create an activity type

POST
/v1/desk/activity-types

Adds an activity type. Optionally it moves the lead to a stage, sets its temperature (hot, warm or cold), reminds the agent a number of minutes before a follow-up of this type is due, and limits the outcomes offered; an empty outcome_ids offers every live outcome. Answers 403 desk.sales_off while Sales is switched off.

Requires: desk.admin scope, workspace owner or admin, Pro plan.

Authorization

bearerAuth
AuthorizationBearer <token>

A SautiDesk API key. An owner or admin makes it under Settings in SautiDesk for a named person and picks the scopes. The key is shown once. Send it as Authorization: Bearer <key>. It acts as that person and as nobody else.

In: header

Request Body

application/json

Response

Created

Example

{  "id": "3f2b8c1e-5a4d-4e7b-9c10-2d6a8e4f1b37",  "name": "Amina Wanjiru",  "position": 1,  "archived_at": "2026-10-14T08:30:00Z",  "icon": "example",  "moves_to_stage_id": "74f72131-cabe-46a6-9783-ee6f3635a602",  "sets_temperature": "example",  "default_reminder_minutes": 30,  "daily_target": 1,  "outcome_ids": [    "83fecbb0-ec34-4a4f-9047-58b4fe165861"  ]}
FieldTypeDescription
idrequiredstring (uuid)
namerequiredstringA name for it.
positionrequiredintegerWhere it sits in the list, starting at 0.
archived_atrequiredstring (date-time) | null
iconrequiredstring
moves_to_stage_idrequiredstring (uuid) | null
sets_temperaturerequiredstring | null
default_reminder_minutesrequiredinteger
daily_targetrequiredinteger | null
outcome_idsrequiredstring (uuid)[]
curl -X POST "https://api.sautidesk.com/v1/desk/activity-types" \  -H "Content-Type: application/json" \  -d '{    "name": "Amina Wanjiru",    "icon": "example",    "position": 1,    "moves_to_stage_id": {},    "sets_temperature": {},    "default_reminder_minutes": 30,    "daily_target": {},    "outcome_ids": [      "83fecbb0-ec34-4a4f-9047-58b4fe165861"    ]  }'