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 Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page