Skip to main content

A Python client library for

Project description


A Workstreams Python Client Library

For an overview of the Workstream API, click here.


  • Python >= 3.6
  • Requests >= 2.19.0

Getting started

pip install workstreams

workstreams is very simple to use -- take a look at the below example:

from workstreams import WorkstreamsClient

workstreams = WorkstreamsClient('your token')

workstreams.tasks.create(team_id='T3T7BFHGV', channel_id='C3T7D66J1', ws_user_id='U3T716H3N', data={
    'title': 'test task',
    'labels': [
    'checklist': [{
        'text': 'never gonna give you up',
        'checked': False
    'dueDate': '2018-03-07T11:46:17Z',
    'assignee': 'U3T716H3N'

Note: ws_user_id must always be provided for app tokens.

Tasks Resource (workstreams.tasks)

Available methods:

  • create(team_id, channel_id, data, ws_user_id=None) - Create a task

  • update(task_id, data, ws_user_id=None) - Update a task

  • fetch(task_id, ws_user_id=None) - Fetch a single task

  • fetch_user_tasks(team_id, user_id, ws_user_id=None) - Fetch tasks for a single user

  • fetch_tasks_for_users(team_id, user_ids, ws_user_id=None) - Fetch tasks for multiple users

    • Example: fetch_tasks_for_users(team_id='T3T7BFHGV', user_ids=['U123456', 'U123457', 'U123458'], ws_user_id=None)
  • fetch_tasks_for_channels(team_id, channel_ids) - Fetch all tasks for multiple channels

    • Example: fetch_tasks_for_channels(team_id='T3T7BFHGV', channel_ids=['C3T7D66J1', 'C3T7D66J2'], ws_user_id=None)
  • fetch_changed_tasks_for_channels(team_id, channel_ids, timestamp, ws_user_id=None) - Fetch all tasks for multiple channels which changed since given timestamp

  • fetch_archived_tasks_for_channels(team_id, channel_ids, ws_user_id=None) - Fetch all archived tasks for multiple channels

  • archive_tasks(task_ids, ws_user_id=None) - Archive multiple tasks

  • restore_tasks(task_ids, ws_user_id=None) - Restore multiple tasks

  • fetch_all_tasks_by_label(team_id, label_id, ws_user_id=None) - Fetch all tasks by label

Tasks Resource (workstreams.labels)

Available methods:

  • create(team_id, data, ws_user_id=None) - Create a new label

  • update(label_id, data, ws_user_id=None) - Update a label

  • delete(label_id, ws_user_id=None) - Delete a label

  • fetch(label_id, ws_user_id=None) - Fetch a single label

  • fetch_team_labels(team_id, ws_user_id=None) - Fetch all labels for a given team

Goals Resource (workstreams.goals)

Available methods:

  • create(team_id, data, ws_user_id=None) - Create a new goal

  • update(team_id, goal_id, data, ws_user_id=None) - Update a goal

  • archive(team_id, goal_id, ws_user_id=None) - Archive a goal

  • fetch_all(team_id, ws_user_id=None) - Fetch all goals visible to the token owner



Bug Reports


Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for workstreams, version 1.0.6
Filename, size File type Python version Upload date Hashes
Filename, size workstreams-1.0.6-py3-none-any.whl (10.8 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size workstreams-1.0.6.tar.gz (4.3 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page