Integration

awork integration

awork is a work and project management platform for agencies and teams. Create and update projects, tasks, task lists, checklists and comments, assign people and move tasks through statuses, track and edit time entries, start and stop the timer, manage companies (clients) and their contacts, teams, absences, milestones, retainers, documents and webhooks, and run a full-text search across the workspace. Workspace administration (roles and permissions, user invitations and deletion, API clients, agents, automations, templates editing, file uploads and the deprecated bulk time-entry routes) is not exposed. Authentication is an API key created in awork under Settings, Integrations (an API client, then Manage API Keys), sent as a Bearer token in the Authorization header; an API key has admin-level access to the workspace.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in awork.Built from the 148 awork tools below, on the connection you add once.

What you can do with awork

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Task, 12 operations

  • change_task_listsChange task listsPOSTSets the task lists of tasks. items is an array of {taskId, taskLists: [{id, order, isPrimary}]}; list ids come from list_task_lists.
  • change_task_statusesChange task statusesPOSTMoves tasks to other statuses. items is an array of {taskId, statusId, order}; statusId comes from list_task_statuses. A task with no order is appended to the end of the status.
  • copy_taskCopy taskPOSTCopies a task, with its subtasks when it is a parent task. Comments, files and activity logs are not copied. Returns the new task.
  • create_taskCreate taskPOSTCreates a task. Set baseType projecttask with entityId = the project id, or baseType private for a private task. Unset typeOfWorkId and taskStatusId default to the first type of work and first todo status.
  • delete_tasksDelete tasksPOSTDeletes the tasks in taskIds. Their time entries are kept but lose their task and project link unless deleteTimeTrackings is true, which deletes them too.
  • get_project_taskGet project taskGETReturns the specified task when it belongs to the project. Caller must have project-planning-data:read permission or be assigned to the task.
  • get_taskGet taskGETReturns one task by id with its status, assignments, lists, dates and planned effort.
  • get_task_by_keyGet task by keyGETReturns the task whose task key (project key plus number, e.g. NIKE-12) matches. Use get_task when you have the task id.
  • list_my_assigned_tasksList my assigned tasksGETReturns tasks assigned to the current user. Caller must have permission to view each returned task. Use the assignment date range or inProgress to narrow the result.
  • list_my_project_tasksList my project tasksGETLists the project tasks visible to the caller across all projects. Without project-planning-data:read permission only tasks assigned to the caller are returned. Paginate with page and pageSize.
  • list_project_tasksList project tasksGETReturns project tasks visible to the current user. Caller must have project-planning-data:read permission; otherwise only assigned tasks are returned.
  • list_user_assigned_tasksList user assigned tasksGETLists the tasks assigned to one user (user id from list_users). Paginate with page and pageSize; set inProgress to narrow the result.

Time entry, 8 operations

  • create_time_entryCreate time entryPOSTLogs a time entry for a user. Give the start (startDateUtc and startTimeUtc, or the Local pair) and either duration in seconds or the end time; timezone and typeOfWorkId are required.
  • delete_time_entryDelete time entryDELETEDeletes a time entry by id.
  • get_my_last_time_entryGet my last time entryGETReturns the time entry the current user started last (entries starting in the future are ignored), e.g. to see whether a timer is running.
  • get_time_entryGet time entryGETReturns the specified time entry when it is visible to the current user. Caller must own the time entry or have permission to view it.
  • get_user_last_time_entryGet user last time entryGETReturns the time entry one user started last (entries starting in the future are ignored). Caller must be an admin or that user.
  • list_project_time_entriesList project time entriesGETLists the time entries of one project. Narrow with filterby, paginate with page and pageSize.
  • list_task_time_entriesList task time entriesGETLists the time entries of one task. Narrow with filterby, paginate with page and pageSize.
  • list_time_entriesList time entriesGETLists the time entries visible to the caller, with user, project, task, type of work, duration and billing flags. Narrow with filterby, e.g. startDateUtc ge 2024-01-01; paginate with page and pageSize.

Document, 6 operations

  • create_documentCreate documentPOSTCreates a document with optional HTML or Markdown content. Set contentFormat to html or markdown; HTML is the default. Exported Markdown uses hidden metadata to preserve safe editor structures during re-import.
  • delete_documentDelete documentDELETEMoves a document to the trash; its child documents follow unless alsoDeleteChildren is false. Caller needs manage permission on the document.
  • get_documentGet documentGETReturns the specified document when it is visible to the current user. Caller must have at least read permission for the specified document.
  • list_documentsList documentsGETReturns documents visible to the current user. Caller must have at least read permission for each returned document. Set includeTrashedDocuments to include documents in the trash.
  • list_document_space_documentsList document space documentsGETReturns non-trashed documents visible in the specified document space. Caller must have at least read permission for the specified document space.
  • list_project_documentsList project documentsGETReturns non-trashed documents visible in the specified project. Caller must have permission to view the returned documents.

Milestone, 5 operations

  • create_project_milestoneCreate project milestonePOSTCreates a milestone in the specified project. Caller must be the project creator or have project-planning-data:write permission for the project.
  • delete_project_milestoneDelete project milestoneDELETEDeletes the specified milestone from its project. Caller must be the project creator or have project-planning-data:write permission for the project.
  • get_project_milestoneGet project milestoneGETReturns the specified milestone when its project is visible to the current user. Caller must have project-planning-data:read permission for the project.
  • list_project_milestonesList project milestonesGETReturns project milestones visible to the current user. Caller must have project-planning-data:read permission for each returned project.
  • list_project_milestones_of_projectList project milestones of projectGETReturns milestones assigned to the specified project. Caller must have project-planning-data:read permission for the project.

Project, 5 operations

  • create_projectCreate projectPOSTCreates a project in the selected workspace and returns it. Caller must be an admin or have project-create:write permissions.
  • delete_projectDelete projectPOSTDeletes the specified project. Caller must be the project creator or have project-master-data:write permission. Related tasks are deleted by default, while related time entries lose their project and task links.
  • get_projectGet projectGETReturns the specified project's details and applies the user's visibility rules. Caller must be the project creator or have project-master-data:read permission.
  • get_project_by_keyGet project by keyGETReturns the project whose project key (e.g. NIKE) matches, case-insensitive. Use get_project when you have the project id.
  • list_projectsList projectsGETLists projects visible to the caller, with status, type, company, members and budget fields. Paginate with page and pageSize, narrow with filterby (e.g. name eq 'Website') and sort with orderby.

Task list, 5 operations

  • add_tasks_to_task_listAdd tasks to task listPOSTAdds tasks to a task list. items is an array of {taskId, order}; returns the resulting order. Caller needs project-planning-data:write permission on the project and tasks.
  • create_task_listCreate task listPOSTCreates a task list in the specified project. Caller must have project-planning-data:manage permission for the project.
  • delete_task_listDelete task listPOSTDeletes a task list of a project. Its tasks are only removed from the list unless deleteTasks is true; deleteTimes also deletes their time entries.
  • get_task_listGet task listGETReturns the specified task list when it is visible in the project. Caller must have project-planning-data:read permission for the project.
  • list_task_listsList task listsGETReturns task lists visible in the specified project. Caller must have project-planning-data:read permission for the project.

Absence, 4 operations

  • create_absenceCreate absencePOSTCreates an absence with dates rounded to 00:00:00, 12:00:00, or 23:59:59 UTC to support full-day and half-day periods. Caller must own the absence, be an admin, or have user-planning-data:write permission.
  • delete_absenceDelete absenceDELETEDeletes the specified absence unless it is managed by an external provider. Caller must own the absence, be an admin, or have user-planning-data:delete permission. Web and mobile requests cannot delete externally managed absences.
  • get_absenceGet absenceGETReturns the specified absence when it is visible to the current user. Caller must own the absence, be an admin, or have user-planning-data:read permission.
  • list_absencesList absencesGETReturns workspace absences visible to the current user. Caller must be an admin or have user-planning-data:read permission to view other users' absences.

Checklist item, 4 operations

  • create_checklist_itemCreate checklist itemPOSTAdds a checklist item to a task (name, optional isDone and order). Caller needs write permission on the task.
  • delete_checklist_itemDelete checklist itemDELETEDeletes a checklist item from a task. Caller must have at least write permissions on the specified task. The selected checklist item is removed from the task.
  • get_checklist_itemGet checklist itemGETReturns the checklist item for a task. Caller must have at least read permissions on the specified task. The checklist belongs to the specified task.
  • list_checklist_itemsList checklist itemsGETReturns the checklist items for the task. Caller must have at least read permissions on the specified task. The checklist belongs to the specified task.

Company, 4 operations

  • create_companyCreate companyPOSTCreates a company and returns the created company. Caller must be an admin or have company-master-data:write permissions.
  • delete_companyDelete companyPOSTDeletes a company. deleteOperation decides what happens to its projects and tasks: move them to moveToCompany, detach them, or delete them (with or without time entries).
  • get_companyGet companyGETReturns the specified company. Caller must be an admin or have company-master-data:read permissions. External companies omit contact information, tags, project counts, descriptions, and industries.
  • list_companiesList companiesGETReturns all companies in the workspace. Caller must be an admin or have company-master-data:read permissions.

Project comment, 4 operations

  • create_project_commentCreate project commentPOSTPosts a comment on a project (message, optional inReplyToCommentId to reply). Caller needs read permission on the project.
  • delete_project_commentDelete project commentDELETEDeletes a project comment with its reactions; replies to it are deleted as well.
  • get_project_commentGet project commentGETReturns one comment of a project by its id, as listed by list_project_comments.
  • list_project_commentsList project commentsGETLists the comments of a project. Caller needs read permission on the project. Paginate with page and pageSize.

Retainer, 4 operations

  • create_project_retainerCreate project retainerPOSTCreates a retainer and marks the project as a retainer project. Caller must have project-master-data:write permission for the project. When budget protection is on, the user must also have project-timetracking:read permission for the project.
  • delete_project_retainerDelete project retainerDELETEDeletes the specified retainer and its related budgets. Caller must have project-master-data:write permission for the project. When budget protection is on, the user must also have project-timetracking:read permission for the project.
  • get_project_retainerGet project retainerGETReturns the specified retainer for the project. Caller must have project-master-data:read permission for the project. When budget protection is on, the user must also have project-timetracking:read permission for the project.
  • list_project_retainersList project retainersGETReturns retainers associated with the specified project. Caller must have project-master-data:read permission for the project. When budget protection is on, the user must also have project-timetracking:read permission for the project.

Task comment, 4 operations

  • create_task_commentCreate task commentPOSTPosts a comment on a task (message, optional inReplyToCommentId to reply). Caller needs read permission on the task.
  • delete_task_commentDelete task commentDELETEDeletes a task comment with its reactions; replies to it are deleted as well.
  • get_task_commentGet task commentGETReturns one comment of a task by its id, as listed by list_task_comments.
  • list_task_commentsList task commentsGETLists the comments of a task. Caller needs read permission on the task. Paginate with page and pageSize.

Task dependency, 4 operations

  • create_task_dependencyCreate task dependencyPOSTLinks two tasks: predecessorId must finish before successorId. Caller must be assigned to both tasks or have project planning permission.
  • delete_task_dependencyDelete task dependencyDELETEDeletes a task dependency by id, as returned by list_task_dependencies or list_project_task_dependencies.
  • list_project_task_dependenciesList project task dependenciesGETReturns dependencies involving tasks in the specified project. Caller must have project-planning-data:read permission for the project.
  • list_task_dependenciesList task dependenciesGETLists the dependencies (predecessor and successor links) of one task. Caller needs project planning permission on the project or must be assigned to the task.

Team, 4 operations

  • create_teamCreate teamPOSTCreates a team. This endpoint requires the Standard plan or higher. Caller must be an admin. It can then be assigned to users and projects.
  • delete_teamDelete teamDELETEDeletes the team. Caller must be an admin. The team is removed from workspace membership and project grouping.
  • get_teamGet teamGETReturns the team. Requires: when team restrictions are applied for the workspace, the user must either be an admin or member of the team to retrieve it. The response includes the team's members and projects.
  • list_teamsList teamsGETReturns teams in the workspace. Requires: when team restrictions are applied for the workspace, the user must either be an admin or member of the team to retrieve it. The result follows the workspace's team visibility restrictions.

Webhook, 4 operations

  • create_webhookCreate webhookPOSTCreates a workspace webhook: awork POSTs each listed event to uri for the whole workspace. Deliveries carry only the header you configure: set authenticationType header and authentication header=value to verify them.
  • delete_webhookDelete webhookDELETEDeletes a webhook by id; awork stops sending its events.
  • get_webhookGet webhookGETReturns one webhook by id with its url, events and active flag. The configured authentication value is not returned.
  • list_webhooksList webhooksGETLists the webhooks configured in the workspace with their url, events and active flag. Caller must be an admin or have workspace-manage-config:read.

Company contact, 3 operations

  • create_company_contact_infoCreate company contact infoPOSTCreates contact information for the specified company and refreshes its address data when needed. Caller must be an admin or have company-master-data:write permissions.
  • delete_company_contact_infoDelete company contact infoDELETEDeletes the specified contact information from the company and refreshes its address data when needed. Caller must be an admin or have company-master-data:write permissions. The contact information must belong to the specified company.
  • list_company_contact_infoList company contact infoGETReturns all contact information stored for the specified company. Caller must be an admin or have company-master-data:read permissions.

Company tag, 3 operations

  • add_company_tagsAdd company tagsPOSTAdds tags to a company. items is an array of {name, color}; returns the tags now on the company.
  • list_company_tagsList company tagsGETLists the tags currently used on companies, to reuse their names in add_company_tags.
  • remove_company_tagsRemove company tagsPOSTRemoves tags from a company by name. items is an array of {name}. A partial failure answers 207 with a reason per tag.

Project member, 3 operations

  • add_project_memberAdd project memberPOSTAdds a member to the specified project. Caller must be the project creator or have project-master-data:manage permission for the project.
  • list_project_membersList project membersGETReturns members assigned to the specified project. Caller must be the project creator or have project-master-data:read permission.
  • remove_project_memberRemove project memberPOSTRemoves the specified member from the project. Caller must be the project creator or have project-master-data:manage permission.

Project status, 3 operations

  • change_project_statusChange project statusPOSTChanges the specified project's status. Caller must be the project creator or have project-master-data:write permission. The status must belong to the project's type; changing status can add task bundles and notify project members.
  • list_project_statusesList project statusesGETLists the project statuses of the workspace (active ones by default; set showArchived to include archived ones).
  • list_project_statuses_of_projectList project statuses of projectGETLists the project statuses a project can take (those of its project type, or of its workflow when linked), to pick a projectStatusId for change_project_status.

Project tag, 3 operations

  • add_project_tagsAdd project tagsPOSTAdds tags to a project. items is an array of {name, color}; returns the tags now on the project. Caller needs project-master-data:write permission on the project.
  • list_project_tagsList project tagsGETLists the tags currently assigned to projects in the workspace, to reuse their names in add_project_tags.
  • remove_project_tagsRemove project tagsPOSTRemoves tags from a project by name. items is an array of {name}. Caller needs project-master-data:write permission on the project.

Task status, 3 operations

  • create_task_statusCreate task statusPOSTCreates a task status for the specified project. Caller must be the project creator or have project-planning-data:write permission.
  • get_task_statusGet task statusGETReturns the specified status for the project. Caller must have project-master-data:read permission or be the project creator.
  • list_task_statusesList task statusesGETLists the task statuses of a project (or of its workflow when linked), to pick a statusId for change_task_statuses or create_task.

Type of work, 3 operations

  • create_type_of_workCreate type of workPOSTCreates a type of work. Caller must be an admin or have task-manage-config:write permissions. It can then be selected on time entries.
  • get_type_of_workGet type of workGETReturns the type of work. The response includes the type's label, color, and billing settings.
  • list_types_of_workList types of workGETLists the types of work (task categories such as Design or Meeting) with their billing and color settings, to pick a typeOfWorkId for tasks and time entries.

User, 3 operations

  • get_current_userGet current userGETReturns the user the API key acts as, with the current workspace. Use it to get your own user id.
  • get_userGet userGETReturns one user by id with names, position, status, contact info, tags and teams.
  • list_usersList usersGETLists the users of the workspace with names, position, status, contact info, tags and teams. Narrow with filterby (e.g. firstName eq 'Anna'); archived users only with showArchived.

Private task, 2 operations

  • get_my_private_taskGet my private taskGETReturns one private task of the current user by id.
  • list_my_private_tasksList my private tasksGETLists the private tasks of the current user (the API key's user).

Project template, 2 operations

  • get_project_templateGet project templateGETReturns one project template by id with its project defaults.
  • list_project_templatesList project templatesGETLists the project templates of the workspace, to pass a projectTemplateId to create_project.

Project type, 2 operations

  • get_project_typeGet project typeGETReturns one project type by id, with name, icon and settings.
  • list_project_typesList project typesGETLists the project types of the workspace with name, icon and archived state.

Task tag, 2 operations

  • add_task_tagsAdd task tagsPOSTAdds tags to a task. items is an array of {name, color}; the request fails if a tag is empty or duplicated. Caller needs write permission on the task.
  • list_task_tagsList task tagsGETLists the tags in use on tasks visible to the caller, to reuse their names in add_task_tags.

Document space, 1 operation

  • list_document_spacesList document spacesGETReturns document spaces visible to the current user. Caller must have at least read permission for each returned document space.

Project activity, 1 operation

  • list_project_activitiesList project activitiesGETLists the activity log of a project: the type of each activity, which property changed and by whom. Paginate with page and pageSize.

Task activity, 1 operation

  • list_task_activitiesList task activitiesGETLists the activity log of a task: the type of each activity, which property changed and by whom. Paginate with page and pageSize.

Task recurrence, 1 operation

  • get_task_recurrenceGet task recurrenceGETReturns the recurrence rule of a task (cron rule, interval, start and timezone), as set by set_task_recurrence.

Team member, 1 operation

  • add_team_usersAdd team usersPOSTAdds users to a team. items is an array of user ids. Caller must be an admin.

Team project, 1 operation

  • add_team_projectsAdd team projectsPOSTAdds projects to a team. items is an array of project ids. Caller needs project-master-data:write or must own the projects.

Time report, 1 operation

  • list_time_reportsList time reportsGETLists the saved time reports of the caller.

Timer, 1 operation

  • pause_time_trackingPause time trackingPOSTPauses the running timer of the current user (or userId); nothing happens when it is already paused.

User capacity, 1 operation

  • get_user_capacityGet user capacityGETReturns the weekly planning capacity of one user.

Webhook log, 1 operation

  • list_webhook_logsList webhook logsGETLists the delivery logs of one webhook, to check whether events reached its url.

Workload, 1 operation

  • list_user_workloadsList user workloadsGETReturns the users' workloads per day. Caller must be an admin or have user-planning-data:read permissions. Takes into consideration weekly availability, absences, user capacity, planned efforts, as well as project budget.

Showing the first 120 of 148 endpoints. The rest are in the product, searchable from the workflow builder and from chat.

Use awork from Claude Code, Cursor or Codex

Connect awork in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its awork operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect awork

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect awork once

    Add your awork connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

awork integration FAQ

What can you do with the awork integration?

LiveContext exposes 148 operations on awork, covering task, time entry, document and milestone.

Popular integrations

Browse the whole catalog