The Flow API allows you to programatically create, modify, and delete objects in Flow using tools like Zapier or by writing applications in your favourite programming language.
For example, you could use the Flow API to integrate Flow with a legacy in-house system, or mark tasks as complete from external triggers like Github or other tools.
Our API is RESTful with endpoints centered around resources like tasks, projects, and teams. It talks over HTTP and accepts standard verbs like GET or POST, and replies with data formatted in JSON. Authentication is done through personal access tokens, which must be sent with every request.
In addition to our RESTful interface, we support Webhooks on tasks or projects. This allows an endpoint (your server/application, Zapier, etc) to be notified in real-time whenever anything changes about a Task or Project.
The first thing you need is to be a member of a Flow organization. If you aren’t using Flow yet, go to getflow.com and start a free trial.
Once you’re in Flow, you need to generate a Personal Access Token. It’s a long
string that looks something like
To generate and manage tokens, go to your Account Preferences
within Flow. Every request needs a valid access token in order to ensure that
the request is properly authenticated as you.
Never give your token to anyone else! Anyone who has your token can access Flow as you, so keep it secret and safe. If you have reason to suspect that someone else might have your token, go to your Account Preferences and Revoke the token to disable its use.
In addition to your token, the ID of your Flow organization is required with
every request, and can be found in your Account Preferences for each access
token you’ve generated. It will be a number, like
Your First API Call
Let’s try getting all data for a task.
Select a task in Flow and click on the link icon in the upper right of the task
pane to get the task ID. This will be a number like
12345. You’ll also need
your organization ID, which looks something like
We can use the tasks endpoint by issuing a
https://api.getflow.com/v2/tasks/12345?organization_id=67890. (substitute your
actual organization ID and task ID in place of the examples).
You’ll also need to pass along your access token. This is done through setting
Authorization HTTP header with your access token
Authorization: Bearer 8d848ff0…
Once all that is in place, send the
GET request. You should get a response
body back with all of the data for that task. Neat!
This is just the start of what’s possible with the API. Explore the full documentation for more ideas. Happy API-ing!
The API documentation is an informative resource and should be your first point of reference when you encounter any problems. If the docs don’t resolve your problem, please reach out to our support team with the following information:
- The email address you used to sign up with Flow
- Your Flow organization name
- A brief description of what you’re trying to do
- The endpoint you’re having problems with (ex
- The response code (ex.
- The response body
The more information you provide, the better we can assist you.