Skip to main content

Workfront for Python (SDK)

Project description

[Latest Release Version]

SDK for managing Workfront tasks


Install via pip:

$ pip install workfront-sdk

Install from source:

$ git clone git://
$ cd workfront-sdk
$ python install


How to create a Workfront Service object

Create the Workfront object and login:

>>> from workfront import Workfront
>>> wf = Workfront("", "1234wfpass")
>>> wf.login()

Then you can use it.

How to create a user object

With a Workfront service object, you can create a user by email or by id:

>>> from workfront.objects import user
>>> user_by_email = user.from_email(wf, "")
>>> user_by_id = user.from_id(wf, "<WORKFRONT_USER_ID>")

You can then access some fields of the users:

>>> print user_by_email.wf_id # print the workfront id
>>> print # print the name of the user
>>> print user_by_email.emailAddr # print the email of the user

How to create and interact with a Task

Create the task by it’s workfront id and giving a Workfront service

>>> from workfront.objects.task import WFTask
>>> task = WFTask(wf, "<WF_TASK_ID>")

Change the status of a task

>>> from workfront.objects.status import WFTaskStatus
>>> task.set_status(WFTaskStatus.in_progress)

Assign a task to a different user

Once you have a WF user and a task you can:

>>> from workfront.objects import user
>>> from workfront.objects.task import WFTask
>>> user_by_email = user.from_email(wf, "")
>>> task = WFTask(wf, "<WF_TASK_ID>")
>>> task.assign_to_user(user_by_email)

Get and set custom fields

You can use the methods set_param_values and get_param_values to modify and access task custom fields.

>>> task = WFTask(wf, "<WF_TASK_ID>")
>>> task.get_param_values()
>>> {"custom_field": "value", "list_field": ["value1", "value2"]}
>>> task.set_param_values({"custom_field": "other_value"})
>>> task.get_param_values()
>>> {"custom_field": "other_value", "list_field": ["value1", "value2"]}

How to use projects

You can load a project from the id, and access the template id:

>>> from workfront.objects import project
>>> p = project.WFProject(wf, "<WF_PROJECT_ID>")
>>> project_template_id = p.get_template_id()

With the template id, you can create another project:

>>> from workfront.objects import project
>>> new_project = project.crt_from_template(wf, project_template_id, "NEW PROJECT NAME")
>>> new_project.wf_id

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 workfront-sdk, version 0.24
Filename, size File type Python version Upload date Hashes
Filename, size workfront-sdk-0.24.tar.gz (13.9 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page