Legacy — frozen. This is the original Zapier-shaped v1 API, served at
app.sortd.com/api/v1. It receives security and bug fixes only. New integrations should use the
v2 reference.
Sortd API (Zapier) version 1.x
Authentication
The Sortd API (Zapier) uses a session based token which can be generated by first creating an API Key and API Secret from within the Sortd Chrome Extension. This can be done by installing the Sortd Chrome Extension for Gmail, and once logged in, going to the settings panel and selecting the API tab. From there, enter a name for the API, such as ‘Zapier’ and click “generate”. Two alphanumeric strings will be returned for the API Key and API Secret respectively which can then be used in Zapier, along with the name above to authenticate with Sortd through Zapier.
API Token Generation
A session token can be generated using the api_token API method, which requires the following query string parameters:
Name
Value
Comment or Example
email
Email Address which must match the email address used when logging into Sortd to generate the API keys
The response will be a JWT based session token which will be valid for about 20 minutes, thereafter a new call to api_token will need to be undertaken to get an updated session token.
All of the Sortd API methods will require this session token to be sent as the value for the HTTP header ‘x-access-token’.
Retrieving data - API List Methods
The Sortd API allows one to obtain information about the Teams, Boards, Lists and Items (Tasks) that the user has access to. Each of these object types provides some information via a REST based API.
All of the Sortd API methods will return a JSON response, many with identifiers (id) that will be required in other API calls. These Id values will be returned as a GUID.
Teams
The teams API will allow the end user to get a list of teams that the user is a member of, within Sortd.
In Sortd each team can have many boards. The boards API will allow the end user to get a list of boards that the user is a member of for a specified team.
In Sortd each list can have many items or tasks. The items API will allow the end user to get the collection of items for a specified list or board. This API call can either provide a list of all the items on a board or just the items on a specified list. To obtain the items on a list, the listId needs to be provided, whereas for all the items on a board, the boardId needs to be provided in the query string parameters.
Content-Type application/json; charset=utf-8 Body [ { "id": "5a86d680da96e432032bff97", "title": "Russell, do you want to join our beta?", "dateCreated": "2020-10-14T10:44:02.307Z", "dueDate": null, "notes": null, "firstThread": { "title": "Re: Russell, do you want to join our beta?", "received": "2020-10-14T11:02:21.000Z", "from": "russell@some.email.address.com" } "completed": false } ]
EXAMPLE
Request: curl --location --request GET 'https://app.sortd.com/api/v1/items?listId=544808a34aca9916a8914fd3 \ --header 'x-access-token: eyJhbGciOiJIUzI1N….' \ Response: [ { "id": "5a86d680da96e432032bff97", "title": "Russell, do you want to join our beta?", "boardName": "Projects Board", "boardId": "60d9f1a18748d22062bc41b6", "listName": "Ideas", "listId": "60d9f1a27f6c0f020773e253", "dateCreated": "2020-10-14T10:44:02.307Z", "dueDate": null, "notes": null, "firstThread": { "title": "Re: Russell, do you want to join our beta?", "received": "2020-10-14T11:02:21.000Z", "from": "russell@some.email.address.com" } "completed": false, "assignedTo": "", "assignedToEmail": "" }, { "id": "5a6db4fdb11f0baceb29cd28", "title": "Ability to assign", "boardName": "Projects Board", "boardId": "60d9f1a18748d22062bc41b6", "listName": "Ideas", "listId": "60d9f1a27f6c0f020773e253", "dateCreated": "2020-09-25T09:14:37.687Z", "dueDate": "2020-10-25T09:14:37.687Z", "notes": "I am some notes", "firstThread": null, "completed": false, "assignedTo": "Joe Bloggs", "assignedToEmail": "jbloggs@test.com" } ]
Changing Data - Actions
Creating Tasks
The Sortd API allows users to create new tasks/items in Sortd. Using a POST to the items endpoint a new task can be created on a List in a Sortd board, either simply with a title or linked to an existing email thread in Gmail.
Required Body Parameters:
Name
Value
Comment
listId
The Id of List to create the tasks on
Always required
title
Name of the task
Simple Task ONLY
notes
Text to be added as notes or a description for the task
Simple Task ONLY optional
dueDate
The dueDate of the task. This must be in extended ISO8601 UTC format
Simple Task ONLY optional
providerId
Always ‘gmail’
Email Task ONLY
messageId
This maps to the Gmail message_id property which will have a value similar to 175c08677bc89318. In the drop downs this will appear something like "1. Message ID 175c08677bc89318" or "1. Message Message ID 175c08677bc89318".
Email Task ONLY
threadId
This maps to the Gmail thread_id property which will have a value similar to 175be310c94c6576. In the Zapier drop downs this will appear something like "1. Thread ID 175be310c94c6576" or "1. Message Thread ID 175be310c94c6576"
Email Task ONLY
archive
Boolean
Email Task ONLY. Setting this to "true" will archive the email thread in Gmail
listItem.title
Name of the task
Email Task ONLY
listItem.contentType
“task” or “sale”
Email Task ONLY. A "task" is a normal task or item on a Sortd board. If you are adding the task to a Sales board, choose the "sale" type.
The Sortd API allows one to subscribe for certain types of events or actions that occur within Sortd that will then cause Sortd to call a specified webhook url. In order to achieve this, one first needs to create a subscription which can be done with the Subscribe method for the type of object (task/item, list, board) and action that one wishes to subscribe to. Currently only actions pertaining to a subset of objects can be subscribed to.
The following table outlines the actions supported:
Object
Action
Meaning
EntityId
Lists
movedToList
Triggers when a task or item is moved to the specified List
EntityId must be the List to watch for items/tasks
Items
createOnList
Triggers when a task or item is created on the specified List
EntityId must be the List to watch for new items/tasks
Items
createOnBoard
Triggers when a task or item is created on the specified Board
EntityId must be the Board to watch for new items/tasks
Items
itemCompleted
Triggers when a task or item is marked as complete
EntityId must be the Board to watch for completed items/tasks
Items
itemArchived
Triggers when a task or item is archived
EntityId must be the Board to watch for archived items/tasks
Items
itemDeleted
Triggers when a task or item is deleted
EntityId must be the Board to watch for deleted items/tasks
Items
assignedTo
Triggers when a task or item is assigned
EntityId must be the Board to watch for assigned items/tasks
Trigger Data
When an event for which a subscription has been created occurs, Sortd will call the associated subscriptions Webhook URL and POST the data as JSON with the following properties:
Name
Type/ Description
Example
id
String - The Id of task
5a86d680da96e432032bff97
title
String - Name/Title of the task
Russell, do you want to join our beta?
boardName
String - Name/Title of the Board the task is on
Board 1
boardId
String - The Id of the Board the task is on
7a86d650da96f432032bff99
listName
String - Name/Title of the List the task is on
List 1
listId
String - The Id of the List the task is on
4a86d650da96c432032bef236
dateCreated
ISO8601 UTC Date
2020-10-14T10:44:02.307Z
dueDate
(Nullable) ISO8601 UTC Date
2020-10-24T10:44:02.307Z
notes
String - notes associated with the task
Some notes
firstThread
(Nullable) JSON Object with “title”, “received” and “from”. String - title ISO8601 UTC Date - received String - from
"firstThread": { "title": "Re: Russell, do you want to.. beta?", "received": "2020-10-14T11:02:21.000Z", "from": "russell@some.email.address.com" }
completed
Boolean - Whether the task has been completed or not
To delete or cancel a subscription one needs to call the relevant unsubscribe method for the object in question along with the id (subscription id) provided in the subscribe methods response.
Change API Token Generation request to be POST instead of GET
2022-01-21
1.2
Bradley Greathead (CTO)
Added Task Assignment Trigger
2023/02/22
1.3
Bradley Greathead (CTO)
Added ability to perform the following actions: Complete Task Mark Task as Incomplete Assign Task Unassign Task Move a Task to a List Added BoardId and ListId fields to various responses Added assignedTo and assignedToEmail to various Items List method and Trigger Data
2025/07/18
1.4
Bradley Greathead (CTO)
Fixed documentation to correctly show the endpoint for creating tasks with email. Removed listItem.title as it is ignored as the title of the email is used
2026/05/30
1.5
Pieter Joubert
Corrected documentation errors verified against the live API: Move-a-Task endpoint URL (was /items/unassignTask, now /items/moveTaskToList); assignment trigger action value (was itemAssigned, now assignedTo); Items list & trigger title field (was name, now title); fixed subscribe-response id key and invalid example date 2020-010-25