> This page is for Workforce.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.merge.dev/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.merge.dev/_mcp/server.

# Adobe Workfront

**Authentication:** OAuth, server-to-server credentials, or API key. See [Magic Link](/merge-agent-handler/features/magic-link) for the runtime auth flow, or [Application credentials](/merge-agent-handler/admin-setup/add-oauth-credentials) to bring your own OAuth app.

## Sample use cases

* List every task on the Q3 Website Relaunch project that is past due and who owns it.
* Create a document approval for the new pricing deck and send reminders to anyone who hasn't decided yet.
* Report logged hours by user on the Brand Refresh project for last month.

## Available Tools

#### list_approval_templates

List the approval templates the user can see, for create_approval_from_template. The API has no server-side filter or...

#### get_approval_template

Get one approval template with its stages and default participants. Use list_approval_templates to find template IDs....

#### create_approval_template

Create a reusable document approval template with named stages and default approvers. Use search_users for user IDs a...

#### update_approval_template

Update an approval template's name and stages. The API requires the full name and stage list, so call get_approval_te...

#### delete_approval_template

Permanently delete an approval template. Approvals already created from it are kept. Use list_approval_templates to f...

#### get_document_approval

Get the approval on a document version: status, stages, and participants with their decisions. Returns approval_id nu...

#### create_document_approval

Start an approval on a document version with one or more stages of approvers/reviewers. Use search_users for user IDs...

#### create_approval_from_template

Apply an approval template to a document version: reads the template, then adds its stages (creating the approval if ...

#### replace_approval_stages

Replace the stages of a document version's approval: add, remove, or reorder stages or paths. Unstarted stages left o...

#### update_approval_stage

Update one approval stage's name, deadline, participants, or rules. Send the full participant list. Use get_document\_...

#### delete_approval_stage

Delete one stage that has not started yet (e.g. a later stage waiting on another) from a document version's approval....

#### delete_document_approval

Delete the whole approval (every stage, participant, and decision) from a document version. Use get_document_approval...

#### add_approval_participants

Add approvers or reviewers to an existing approval. Set stage_id (from get_document_approval) on each for multi-stage...

#### remove_approval_participant

Remove a user or team from a document version's approval. Removing the last participant deletes the approval (deleted...

#### remind_approval_participant

Send a reminder to one approval participant. Pass stage_id to remind them about a specific stage (uses the stage-scop...

#### remind_undecided_participants

Send reminders to every participant who has not decided yet on a document version's approval, or only on one stage wh...

#### list_comments

List the comments on a project, task, issue, or document (obj_code + object_id), or search comments across objects wi...

#### count_comments

Count the comments on a project, task, issue, or document, or across objects with filters, without fetching them.

#### get_comment

Get one comment by ID, with its text, author, and thread. Use list_comments to find IDs.

#### create_comment

Post a comment on a project, task, issue, or document (obj_code + object_id from the matching list tool), or reply to...

#### update_comment

Replace a comment's text. Use list_comments to find the ID; only the author can edit.

#### delete_comment

Permanently delete a comment. Use list_comments to find the ID.

#### like_comment

Like a comment as the signed-in user. Use list_comments to find the ID; undo with unlike_comment.

#### unlike_comment

Remove the signed-in user's like from a comment. Use list_comments to find the ID.

#### list_object_types

List every Workfront object type with its code (PROJ, TASK, OPTASK, PORT, PRGM, TMPL, DOCV, HOURT, ...). Use the code...

#### get_object_metadata

Get an object type's schema: field names and types, references and collections (for 'owner:name' style field paths), ...

#### search_objects

Search any Workfront object type (portfolios, programs, templates, document versions, hour types, teams, groups, ...)...

#### count_objects

Count Workfront objects of any type that match filters, without fetching them , e.g. how many current projects or ove...

#### report_objects

Group and aggregate Workfront objects server-side , e.g. hours summed per project, or project counts per status. Use ...

#### get_object

Get one Workfront object of any type by ID, with chosen fields (e.g. 'name,owner:name,DE:Region'). Use search_objects...

#### create_object

Create a Workfront object of any type (portfolio, program, company, assignment, ...). Call get_object_metadata first ...

#### update_object

Update fields on a Workfront object of any type. Call get_object_metadata for field names; use search_objects for IDs...

#### delete_object

Permanently delete a Workfront object of any type by ID. Use search_objects to find IDs; set force=true to remove dep...

#### run_object_action

Run a Workfront action on any object: move a task (projectID), convert an issue to a project or task, assign, mark do...

#### list_custom_forms

List custom forms, optionally only those for one object type (e.g. 'PROJ'). Call get_custom_form next for field names...

#### get_custom_form

Get a custom form's fields: names (use as custom_fields keys), labels, types, required flags, and dropdown options. U...

#### list_documents

List documents, optionally only those attached to one project, task, or issue (attached_to_obj_code + attached_to_id)...

#### get_document

Get one document by ID, including its current version (ID, number, file name, type, size). Use list_documents to find...

#### delete_document

Permanently delete a document and all its versions. Use list_documents to find the ID.

#### list_hours

List logged hours with server-side filters (project, task, issue, user, entry date range) plus any Workfront filter, ...

#### get_hour

Get one hour entry by ID with chosen fields. Use list_hours to find IDs.

#### create_hour

Log hours against exactly one task (list_tasks), issue (list_issues), or project (list_projects). Use search_objects ...

#### update_hour

Change an hour entry's hours, date, hour type, or note. Use list_hours for the ID and search_objects obj_code 'HOURT'...

#### delete_hour

Permanently delete an hour entry. Use list_hours to find the ID.

#### list_issues

List issues and requests with server-side filters (project, status, priority, type, assignee, name) plus any Workfron...

#### get_issue

Get one issue or request by ID with chosen fields. Use list_issues to find IDs.

#### create_issue

Log an issue or request on a project (project_id from list_projects). Use search_users for assignee IDs. Returns the ...

#### update_issue

Update an issue's name, status, priority, severity, type, assignee, due date, or custom fields. Use list_issues for t...

#### delete_issue

Permanently delete an issue. Use list_issues for the ID; force=true also deletes logged hours.

#### list_my_work

List the signed-in user's open work , the tasks and issues in their My Work list. Use list_tasks or list_issues with ...

#### list_fields

List the fields of a Workfront Planning record type (cursor pagination). Returns the field IDs that record data, sear...

#### get_field

Get one Workfront Planning field, including its type, select options, and type settings. Use list_fields to find the ...

#### create_field

Add a field to a Workfront Planning record type (list_record_types for the ID). Date, number, percentage, currency, a...

#### update_field

Change a Workfront Planning field's name, description, select options, or type settings; unset inputs are kept. Use l...

#### delete_field

Delete a Workfront Planning field and its values on every record. Use list_fields to find the ID. Needs the Adobe sig...

#### search_records

Search or browse records of a Workfront Planning record type, with filter, sort, grouping, field selection, and page/...

#### get_record

Get one Workfront Planning record with its field values keyed by field ID. Use search_records to find the ID and list...

#### create_record

Create one Workfront Planning record. Call list_fields first to get the field IDs for data keys; use list_record_type...

#### update_record

Change field values on a Workfront Planning record; fields not given are kept. Use search_records for the record ID a...

#### delete_record

Delete one Workfront Planning record. Use search_records to find the ID; for many records use bulk_record_actions wit...

#### bulk_record_actions

Create, update (replace data), patch (change given fields), or delete up to 100 Workfront Planning records of one rec...

#### move_records

Reorder Workfront Planning records by placing them before or after another record. Use list_record_types for the reco...

#### get_record_history

List the field change history of a Workfront Planning record (cursor pagination). Use search_records to find the reco...

#### list_record_types

List the record types in a Workfront Planning workspace (cursor pagination). Returns the record type IDs that search\_...

#### get_record_type

Get one Workfront Planning record type. Use list_record_types to find the ID; its fields come from list_fields. Needs...

#### create_record_type

Create a record type (e.g. 'Campaign') in a Workfront Planning workspace. Use list_workspaces for the workspace ID; a...

#### update_record_type

Change a Workfront Planning record type's name, description, icon, color, or primary field; unset fields are kept. Us...

#### delete_record_type

Permanently delete a Workfront Planning record type and all of its records. Use list_record_types to find the ID. To ...

#### list_addable_global_record_types

List global record types a Workfront Planning workspace can use (cursor pagination). Adding one is done in the Workfr...

#### detach_global_record_type

Remove a global record type from one Workfront Planning workspace without deleting it. Use list_workspaces and list_r...

#### get_planning_sharing

List who has access to a Workfront Planning workspace, record type, record, view, or field, with each member's role. ...

#### update_planning_sharing

Grant, change, or revoke access to a Workfront Planning workspace, record type, record, view, or field; for records a...

#### list_views

List the saved views (table, timeline, calendar, list, gallery) of a Workfront Planning record type (cursor paginatio...

#### get_view

Get one Workfront Planning view with its filter, sorting, grouping, and layout settings. Use list_views to find the I...

#### create_view

Create a saved view of a Workfront Planning record type. Use list_record_types for the record type ID and list_fields...

#### update_view

Change a Workfront Planning view's name, filter, sorting, grouping, layout, or visibility; unset inputs are kept. Use...

#### delete_view

Delete a Workfront Planning view; the records it showed are kept. Use list_views to find the ID. Needs the Adobe sign...

#### list_workspaces

List Workfront Planning workspaces with cursor pagination. Returns the workspace IDs that list_record_types and creat...

#### get_workspace

Get one Workfront Planning workspace, including its record type sections. Use list_workspaces to find the ID. Needs t...

#### create_workspace

Create a Workfront Planning workspace. Returns its ID for create_record_type. Needs the Adobe sign-in or server-to-se...

#### update_workspace

Change a Workfront Planning workspace's name, description, color, icon, or record type sections; unset fields are kep...

#### delete_workspace

Permanently delete a Workfront Planning workspace and everything in it. Use list_workspaces to find the ID. Needs the...

#### list_projects

List projects with server-side filters (status, owner, portfolio, program, group, name) plus any Workfront filter, so...

#### get_project

Get one project by ID with chosen fields (e.g. 'name,status,owner:name,DE:Budget'). Use list_projects to find IDs.

#### create_project

Create a project, optionally from a template (template_id via search_objects obj_code 'TMPL'). Use search_users for o...

#### update_project

Update a project's name, status, dates, owner, portfolio/program, or custom fields. Use list_projects for the ID and ...

#### delete_project

Permanently delete a project. Use list_projects for the ID; force=true also deletes its tasks, issues, and hours. Con...

#### list_tasks

List tasks with server-side filters (project, status, assignee, parent, name) plus any Workfront filter, sorting, and...

#### get_task

Get one task by ID with chosen fields (e.g. 'name,status,assignments:assignedTo:name'). Use list_tasks to find IDs.

#### create_task

Create a task in a project (project_id from list_projects). Use search_users for assignee IDs and list_tasks for pare...

#### update_task

Update a task's name, status, percent complete, dates, assignee, priority, or custom fields. Use list_tasks for the I...

#### delete_task

Permanently delete a task. Use list_tasks for the ID; force=true also deletes subtasks and logged hours.

#### search_users

Search Workfront users by name, email, active status, or home group, plus any Workfront filter. Returns user IDs for ...

#### get_user

Get one user by ID with chosen fields. Use search_users to find IDs.

#### get_current_user

Get the Workfront user the connection acts as , their ID, name, email, and access level. Use the ID wherever a tool a...