Skip to navigation

Creative projects

Collect, manage, and deliver the content produced for a campaign.
View as Markdown

A creative project is a container for deliverables. Project items hold individual outputs and their associated content, settings, or asset references. Use projects to keep a campaign’s work together and send selected items to a configured integration.

For team planning—Kanban columns, task ownership, subtasks, and dependencies—use PM boards. A project item and a PM task have different identifiers and tool schemas.

1. Choose the resource type and destination

Resolve the teamspace first. Project tools use a resourcetype routing value, which must stay consistent when listing the project and working with its items. Read the current schema and a matching existing project to establish the correct type and data shape.

primary_type is an additional category, not the routing value. When filtering projects, supply one category at a time; type names are case-sensitive. A routing value named pm in a project tool does not turn it into the dedicated pm_ board API.

2. Find or create the project

Use api_listProjects with a search term. Read the match with api_getProject, checking its title, type, and destination before reusing it. expand: "items" can include deliverables in a project listing where supported.

If a new container is needed, use api_createProject with a title, description, and any type-specific data. Save its returned project UUID.

Create a creative project called Autumn Launch for our approved campaign outputs. Use the same project type as our previous launch and keep it in Marketing.

3. Add a deliverable

Use api_createProjectItem with the parent project ID and matching resource type. Supply a clear title and the content fields appropriate to that item type. For asset-backed deliverables, data.assets holds asset IDs.

For example, this is an item body; provide the routing arguments and teamspace separately as required by the tool:

{
"title": "Autumn launch hero image",
"description": "Approved square image for the launch campaign.",
"data": {
"assets": ["ASSET_UUID_FROM_UPLOAD"]
}
}

Create or import the asset first using Assets and uploads. Then retrieve the item with api_getProjectItem to verify that it references the expected file.

4. Review and revise items

List items with api_listProjectItems. Read an item before updating it with api_updateProjectItem, and preserve fields you are not changing. Use api_reorderProjectItem to adjust its position.

Use api_listComments and api_addComment for discussion supported by the item’s schema. These are project-item comments; they are not PM task activity or social auto-comments.

For an editable long-form document, api_createDocument expects Quill Delta content. Plain Markdown is not a substitute for that payload. Verify the returned document independently before linking it into your campaign work.

5. Assign an existing agent

api_assignAgentToItem associates an available agent with an item. Supply the actual agent UUID and verify the item after assignment. This does not create the agent or guarantee its work has completed. See Agents for configuring reusable agents when that tool family is enabled.

6. Export selected items

Use api_exportProjectItems with a configured partner_id and the chosen item_ids. Confirm the integration destination and supported item types before sending. This operation exports to an integration; it is not a generic download command.

Export only the approved launch article to our connected publishing integration. Show the chosen item and destination before sending it.

Keep returned identifiers and inspect any processing result. Use api_updateProject for project metadata changes; deleting a project or item is separate from revising or exporting it.

API reference

For request fields, response shapes, and direct HTTP integrations:

These endpoint pages describe REST requests. For MCP calls, use the current tool schema, including any additional convenience fields.