Project Templates Overview

awork project templates illustration

Learn more about project templates.

Workflows and project templates

Project templates can be connected to workflows so new projects created from that template use shared workflow statuses.

The flow is:

  1. Create the project template.
  2. Link the template to a workflow.

Creating a project template

curl -X POST https://api.awork.com/api/v1/projecttemplates \
-H "Authorization: Bearer {token}" \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Client Delivery Template"
  }'

Linking a project template to a workflow

curl -X POST https://api.awork.com/api/v1/projecttemplates/123e4567-e89b-12d3-a456-426614174000/linkworkflow \
-H "Authorization: Bearer {token}" \
  -H 'Content-Type: application/json' \
  -d '{
    "workflowId": "223e4567-e89b-12d3-a456-426614174000",
    "projectStatusMapping": [
      {
        "oldProjectStatusId": "323e4567-e89b-12d3-a456-426614174000",
        "newProjectStatusId": "423e4567-e89b-12d3-a456-426614174000"
      }
    ],
    "taskStatusMapping": [
      {
        "oldTaskStatusId": "523e4567-e89b-12d3-a456-426614174000",
        "newTaskStatusId": "623e4567-e89b-12d3-a456-426614174000"
      }
    ],
    "keepCustomFields": true,
    "keepCustomAutomations": true
  }'

Unlinking a project template from a workflow

curl -X POST https://api.awork.com/api/v1/projecttemplates/123e4567-e89b-12d3-a456-426614174000/unlinkworkflow \
-H "Authorization: Bearer {token}" \
  -H 'Content-Type: application/json'

Task Bundles

Task Bundles (called “Task Templates” in the awork UI) are reusable containers that hold templates for tasks and task lists. They simplify recurring processes by allowing you to import a complete set of tasks and lists into projects.

Each Project Template has exactly one Task Bundle associated with it. However, Task Bundles can also exist independently and be used for importing into running projects.

Three core concepts:

When a task bundle is applied to a project, it creates actual task lists and tasks based on the templates.

Creating a Task Bundle

The only required field for creating a task bundle is the name:

curl -X POST https://api.awork.com/api/v1/taskbundles \
-H "Authorization: Bearer {token}" \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Website Launch",
    "description": "Complete task bundle for launching a new website",
    "icon": "rocket"
  }'

Creating a Task List Template

Once you have a task bundle, you can create task list templates within it:

curl -X POST https://api.awork.com/api/v1/taskbundles/123e4567-e89b-12d3-a456-426614174000/tasklisttemplates \
-H "Authorization: Bearer {token}" \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Design",
    "order": 1
  }'

Creating a Task Template

Create task templates within a task bundle:

curl -X POST https://api.awork.com/api/v1/taskbundles/123e4567-e89b-12d3-a456-426614174000/tasktemplates \
-H "Authorization: Bearer {token}" \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Create wireframe mockups",
    "description": "Design initial wireframes for the homepage",
    "isPrio": false,
    "plannedDuration": 14400,
    "typeOfWorkId": "123e4567-e89b-12d3-a456-426614174000"
  }'

Adding Task Templates to a Task List Template

Assign task templates to specific task list templates:

curl -X POST https://api.awork.com/api/v1/taskbundles/123e4567-e89b-12d3-a456-426614174000/tasklisttemplates/456e4567-e89b-12d3-a456-426614174000/addtasktemplates \
-H "Authorization: Bearer {token}" \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "taskTemplateId": "789e4567-e89b-12d3-a456-426614174000"
    }
  ]'

Applying a Task Bundle to a Project

Once your task bundle is set up, apply it to a project to create actual tasks and task lists.

When a task bundle is applied:

curl -X POST https://api.awork.com/api/v1/projects/123e4567-e89b-12d3-a456-426614174000/addtaskbundle \
-H "Authorization: Bearer {token}" \
  -H 'Content-Type: application/json' \
  -d '{
    "taskBundleId": "123e4567-e89b-12d3-a456-426614174000"
  }'
Search documentation