# Wrike

```json
{
  "name": "Wrike",
  "slug": "wrike",
  "url": "https://composio.dev/toolkits/wrike",
  "markdown_url": "https://composio.dev/toolkits/wrike.md",
  "logo_url": "https://logos.composio.dev/api/wrike",
  "categories": [
    "productivity & project management"
  ],
  "is_composio_managed": true,
  "updated_at": "2026-05-12T10:30:44.053Z"
}
```

![Wrike logo](https://logos.composio.dev/api/wrike)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Wrike MCP or direct API to create projects, manage tasks, update statuses, and generate reports through natural language.

## Summary

Wrike is a project management and team collaboration platform with customizable workflows, Gantt charts, and reporting. It helps teams boost productivity with centralized planning and resource management.

## Categories

- productivity & project management

## Toolkit Details

- Tools: 144
- Managed auth: Managed by Composio

## Images

- Logo: https://logos.composio.dev/api/wrike

## Authentication

- **Oauth2**
  - Type: `oauth2`
  - Description: Oauth2 authentication for Wrike.
  - Setup:
    - Configure Oauth2 credentials for Wrike.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- Create a new task in marketing folder
- Add multiple users to project group
- Invite a teammate to the workspace
- Delete completed tasks from design folder

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `WRIKE_BULK_MODIFY_GROUPS` | Bulk modify group members | Adds or removes members for multiple Wrike groups in a single request; all specified user IDs must correspond to existing Wrike users. |
| `WRIKE_COPY_FOLDER` | Copy folder | Copies a Wrike folder synchronously to a specified parent location with customizable options. Use when duplicating folder structures, optionally copying descriptions, responsibles, custom fields, statuses, and rescheduling tasks. |
| `WRIKE_COPY_FOLDER_ASYNC` | Copy folder async | Duplicate a folder asynchronously in Wrike, creating a copy in a specified parent location. Use when copying large folder structures that may take time to complete. Returns an async job ID for tracking progress. |
| `WRIKE_CREATE_ACCOUNT_WEBHOOKS` | Create account webhooks | Creates a webhook for the current account to receive notifications about changes. Use when you need to set up real-time event notifications for tasks, folders, or other Wrike objects. |
| `WRIKE_CREATE_ASSETS` | Create equipment asset | Tool to create equipment/asset in Wrike. Use when you need to add new equipment or assets to track in the system. |
| `WRIKE_CREATE_CUSTOMFIELD` | Create custom field | Tool to create a new custom field in Wrike. Use when you need to define a new custom field for tasks, folders, or projects. |
| `WRIKE_CREATE_FOLDER` | Create a folder | Creates a new Wrike subfolder within the specified `folderId`, optionally as a project if `customItemTypeId` is given; the folder is auto-shared with its creator. |
| `WRIKE_CREATE_FOLDER_BOOKING` | Create folder booking | Tool to create a booking in a Wrike folder. Use when you need to allocate resources (users or placeholders) to a folder for a specific date range. Either responsibleId or responsiblePlaceholderId must be provided, and bookingDates must include at least two of: startDate, finishDate, or duration. |
| `WRIKE_CREATE_FOLDERS_APPROVALS` | Create approval in folder | Tool to create a new approval in a Wrike folder. Use when you need to create an approval workflow for folder content review. |
| `WRIKE_CREATE_FOLDERS_COMMENTS` | Create folder comment | Creates a new comment on a specified Wrike folder. Use when adding feedback, updates, or notes to a folder. |
| `WRIKE_CREATE_FOLDERS_TIMELOG_LOCK_PERIOD` | Create timelog lock period for folder | Creates a timelog lock period for a specific folder. Timelogs on or before the specified period date will be locked and cannot be edited. Use when you need to prevent modifications to timelog entries up to a certain date. |
| `WRIKE_CREATE_FOLDER_WEBHOOK` | Create a webhook on folder | Tool to create a webhook for a Wrike folder or project. Use when you need to set up real-time notifications for events occurring within a specific folder or its subfolders. |
| `WRIKE_CREATE_GROUP` | Create a group | Creates a new user group in Wrike with a specified title, optionally setting members, parent group, avatar, and custom metadata. |
| `WRIKE_CREATE_INVITATION` | Create invitation | Invites a user to a Wrike workspace by email, optionally with name, specifying EITHER `userTypeId` OR a combination of `role`/`external`; custom email subject/message available for paid accounts. |
| `WRIKE_CREATE_SPACES_TIMELOG_LOCK_PERIOD` | Create space timelog lock period | Tool to create a timelog lock period for a space to prevent time entries from being edited. Use when you need to lock timelogs for specific dates, typically before creating payrolls or preparing invoices. |
| `WRIKE_CREATE_SPACE_WEBHOOK` | Create space webhook | Tool to create a webhook on a Wrike space for receiving notifications about changes to tasks, folders, and projects. Use when you need to set up event-driven integrations for space-level changes. |
| `WRIKE_CREATE_TASK` | Create task in folder | Creates a new task in a specified Wrike folder; if setting priority with `priorityBefore` or `priorityAfter`, the referenced task must be in the same folder or project. |
| `WRIKE_CREATE_TASK_ATTACHMENT` | Create task attachment | Tool to upload a file attachment to a Wrike task. Use when you need to attach files to tasks. |
| `WRIKE_CREATE_TASK_COMMENT` | Create task comment | Tool to create a new comment on a Wrike task. Use when you need to add a comment or note to a task. |
| `WRIKE_CREATE_TASKS_APPROVALS` | Create task approval | Tool to create an approval on a specific task in Wrike. Use when you need to add an approval workflow to a task. |
| `WRIKE_CREATE_TASKS_DEPENDENCIES` | Create task dependency | Tool to create a new dependency relationship between Wrike tasks. Use when you need to establish that one task must be completed before another can start or finish. Both tasks must have Planned scheduling type (not Backlog) for dependencies to work. |
| `WRIKE_CREATE_TASKS_TIMELOGS` | Create task timelog | Tool to create a timelog entry for a specific task in Wrike. Use when you need to log time spent on a task. |
| `WRIKE_CREATE_TIMESHEETS` | Create timesheet | Tool to create a timesheet for a user for a specified time period. Use when you need to initialize or retrieve a timesheet for a given week. |
| `WRIKE_CREATE_WORKFLOWS` | Create workflows | Tool to create a new custom workflow in Wrike. Use when you need to create a new workflow with a specific name. |
| `WRIKE_DELETE_APPROVALS` | Delete approval | Cancels/deletes an approval by its identifier. Use when removing an approval request that is no longer needed. |
| `WRIKE_DELETE_ASSET` | Delete asset | Permanently deletes a Wrike asset/equipment by assetId. Use when removing equipment that is no longer needed. |
| `WRIKE_DELETE_ATTACHMENTS` | Delete attachment | Tool to permanently delete a Wrike attachment by its ID. Use when removing an attachment from tasks or folders. This action is irreversible. |
| `WRIKE_DELETE_BOOKING` | Delete booking | Permanently removes a resource booking allocation by its ID; use when deallocating resources from projects or tasks. |
| `WRIKE_DELETE_COMMENT` | Delete comment | Permanently deletes a Wrike comment by its ID; this action is irreversible and the comment must exist. |
| `WRIKE_DELETE_CUSTOM_FIELD` | Delete custom field by id | Permanently deletes a custom field by its ID; this action is irreversible and requires a valid, existing custom field ID. |
| `WRIKE_DELETE_DEPENDENCIES` | Delete dependencies | Permanently removes a task dependency relationship by its ID; use when unlinking predecessor/successor task relationships. |
| `WRIKE_DELETE_FOLDER` | Delete folder | Permanently deletes the folder specified by `folderId` and all its contents (e.g., tasks, documents, subfolders) from the Wrike workspace; this irreversible action is for when the folder is no longer needed and has no active tasks or dependencies that would block deletion. |
| `WRIKE_DELETE_FOLDERS_TIMELOG_LOCK_PERIOD` | Delete timelog lock period for folder | Deletes a timelog lock period for a specific folder. This unlocks timelogs on or before the specified period date, allowing them to be edited again. Use when you need to remove a lock period and allow modifications to previously locked timelog entries. |
| `WRIKE_DELETE_GROUP` | Delete group by id | Permanently deletes a group by its `groupId`; this action is irreversible and does not affect user accounts that were members of the group. |
| `WRIKE_DELETE_INIVTATION` | Delete invitation | Permanently deletes an existing invitation, specified by its unique `invitationId`; this action cannot be undone. |
| `WRIKE_DELETE_JOB_ROLE` | Delete job role | Permanently deletes a job role by its identifier; deleted job roles are removed from all tasks and users and cannot be restored. |
| `WRIKE_DELETE_SPACE` | Delete space | Permanently deletes a Wrike space and all its contents by spaceId; this action is irreversible and should be used with caution. |
| `WRIKE_DELETE_SPACES_TIMELOG` | Delete spaces timelog lock period | Tool to unlock (delete) a timelog lock period for a specific space in Wrike. Use when you need to remove a previously set lock period that prevents timelog modifications. |
| `WRIKE_DELETE_TASK` | Delete task | Permanently deletes a Wrike task and all its associated data by its ID; this action is irreversible and the task must exist. |
| `WRIKE_DELETE_TIMELOG` | Delete timelog | Permanently deletes a Wrike timelog entry by its ID; use when removing an incorrect or obsolete time log entry. |
| `WRIKE_DELETE_WEBHOOK` | Delete webhook | Tool to permanently delete a webhook by webhook_id. Use when you need to remove a webhook subscription. You can only delete webhooks created with the same API token. |
| `WRIKE_FETCH_ALL_TASKS` | Fetch all tasks | Fetches tasks from a Wrike account, allowing filtering by status, due date, and subfolder inclusion, with customizable response fields and pagination. |
| `WRIKE_GET_ACCOUNT_INFORMATION` | Get account information | Retrieves detailed Wrike account information, where the response content is influenced by selected fields, account subscription, and user permissions. |
| `WRIKE_GET_ALL_CUSTOM_FIELDS` | Get all custom fields | Retrieves all custom field definitions (including ID, name, type, and settings) from the Wrike account; this returns the definitions themselves, not their specific values on Wrike items, and is useful for obtaining custom field IDs. |
| `WRIKE_GET_ALL_WEBHOOKS` | Get all webhooks | Tool to retrieve a list of all webhooks created using the same API token. Use when you need to view all webhooks configured for the authenticated API app. |
| `WRIKE_GET_APPROVALS` | Get approvals | Tool to retrieve all approvals accessible to the authenticated user. Use when you need to list approvals or check approval statuses across the workspace. |
| `WRIKE_GET_APPROVALS_BY_IDS` | Get approvals by IDs | Tool to retrieve specific Wrike approvals by their IDs (up to 100). Use when you need to fetch approval details for known approval identifiers. |
| `WRIKE_GET_ASYNC_JOB` | Get async job status | Tool to retrieve status and details for an asynchronous job in Wrike. Use this after initiating async operations (like launch_async endpoints) to check job progress, completion status, and retrieve results. |
| `WRIKE_GET_ATTACHMENTS` | Get attachments by IDs | Tool to retrieve multiple Wrike attachments by their IDs (up to 100). Use when you need to fetch details for specific attachments using comma-separated attachment IDs. |
| `WRIKE_GET_ATTACHMENTS_DOWNLOAD` | Download attachment | Tool to download a Wrike attachment file. Use when you need to retrieve the actual file content of an attachment by its ID. |
| `WRIKE_GET_ATTACHMENTS_PREVIEW` | Get attachment preview | Tool to download a preview version of a Wrike attachment. Use when you need to retrieve a preview image of an attachment by its ID. |
| `WRIKE_GET_ATTACHMENTS_URL` | Get attachment URL | Tool to get a public access URL for a Wrike attachment. Use when you need to retrieve a temporary URL to access or share an attachment. The returned URL is valid for 24 hours. |
| `WRIKE_GET_BOOKINGS` | Get bookings | Retrieves one or more Wrike bookings by their IDs. Use when you need to fetch specific booking details for resource allocation and scheduling. |
| `WRIKE_GET_COLORS` | Get colors | Tool to query the list of available colors in Wrike. Use when you need to retrieve color options for tasks, folders, or other Wrike entities. |
| `WRIKE_GET_COMMENTS` | Get comments | Tool to retrieve all comments accessible to the authorized user. Use when you need to fetch comments across tasks and folders, optionally filtered by date range or text format. |
| `WRIKE_GET_COMMENTS_BY_IDS` | Get comments by IDs | Tool to retrieve multiple Wrike comments by their IDs. Use when you need to fetch specific comments using comma-separated comment IDs (up to 100). |
| `WRIKE_GET_CONTACT_HOURLY_RATES` | Get contact hourly rates | Tool to retrieve hourly budget rates for up to 100 Wrike contacts. Use when you need to fetch budget rate information for one or multiple contacts. |
| `WRIKE_GET_CONTACTS` | Get contacts | Retrieves a list of Wrike contacts (e.g., team members, clients, collaborators); response includes contact details but not their detailed task or project involvement. |
| `WRIKE_GET_CONTACTS_HISTORY` | Get contacts history | Tool to access field modification history for Wrike contacts. Use when you need to track changes made to contact information over time. |
| `WRIKE_GET_CONTACT_TIMELOGS` | Get contact timelogs | Tool to retrieve all timelog records created by a specific contact in Wrike. Use when you need to query time tracking entries for a particular user. |
| `WRIKE_GET_CUSTOM_ITEM_TYPES` | Get custom item types | Tool to retrieve all custom item types from Wrike. Use when you need to discover available custom item type definitions for creating work items or understanding the custom item type structure. |
| `WRIKE_GET_DEPENDENCIES` | Get dependencies by IDs | Tool to retrieve one or more Wrike dependencies by their IDs (up to 100). Use when you need to fetch details for specific dependencies using comma-separated dependency IDs. |
| `WRIKE_GET_FOLDER_BOOKINGS` | Get folder bookings | Tool to query bookings for a specific folder in Wrike. Use when you need to retrieve booking information for resource allocation within a particular folder or project. |
| `WRIKE_GET_FOLDERS` | Get folders | Retrieves folders and/or projects from Wrike, with filters; when using `nextPageToken`, all other filter parameters must match the initial request. |
| `WRIKE_GET_FOLDERS_APPROVALS` | Get folder approvals | Tool to retrieve all approvals from a specific Wrike folder. Use when you need to fetch approval details for a folder using its folder ID. |
| `WRIKE_GET_FOLDERS_ATTACHMENTS` | Get folder attachments | Tool to retrieve all attachments from a specific Wrike folder. Use when you need to fetch attachment metadata and optionally download URLs for files in a folder. |
| `WRIKE_GET_FOLDERS_BY_IDS` | Get folders by IDs | Tool to retrieve multiple Wrike folders by their IDs. Use when you need to fetch details for specific folders using comma-separated folder IDs. |
| `WRIKE_GET_FOLDERS_COMMENTS` | Get folder comments | Tool to retrieve comments from a specific Wrike folder. Use when you need to fetch all comments associated with a folder. |
| `WRIKE_GET_FOLDERS_HISTORY` | Get folders history | Tool to access field modification history for Wrike folders. Use when you need to track changes made to folder information over time. |
| `WRIKE_GET_FOLDERS_HOURLY` | Get folder hourly rates | Tool to retrieve hourly budget rates for a specific Wrike folder. Use when you need to fetch budget rate information configured for a folder or project. |
| `WRIKE_GET_FOLDERS_ROLLUPS` | Get folder rollups | Tool to query rollup settings for items in a folder. Use when you need to fetch rollup configuration for a specific folder. Pagination is supported for folders with descendants=true, applying to the entire folder hierarchy. |
| `WRIKE_GET_FOLDERS_TASKS` | Get folder tasks | Query tasks within a specific folder. Use this to retrieve all tasks contained in a folder, with optional filtering by status, due date, and metadata. |
| `WRIKE_GET_FOLDERS_TIMELOG_LOCK_PERIODS` | Get folder timelog lock periods | Tool to query timelog lock periods for a specific folder. Use when you need to check which time periods are locked for timelog entries in a folder. |
| `WRIKE_GET_FOLDERS_TIMELOGS` | Get folders timelogs | Tool to retrieve all timelog records for a specific folder. Use when you need to query time tracking data for a folder and its tasks. |
| `WRIKE_GET_IDS` | Convert legacy v2 IDs to v4 | Tool to convert legacy Wrike API v2 IDs to current v4 format. Use when you need to work with numeric IDs from the Wrike interface or legacy integrations and convert them to the alphanumeric v4 IDs required by the current API. |
| `WRIKE_GET_INFORMATION_ABOUT_SPECIFIC_CONTACT` | Get specific contact information | Retrieves detailed information for a specific Wrike contact using their unique `contactId`, optionally including `metadata` and `customFields` if specified in the `fields` parameter. |
| `WRIKE_GET_JOB_ROLES` | Get job roles by IDs | Tool to retrieve details for one or more Wrike job roles by job role IDs. Use when you need to fetch information about specific job roles. |
| `WRIKE_GET_PLACEHOLDER_HOURLY_RATES` | Get placeholder hourly rates | Tool to retrieve hourly budget rates for one or more Wrike placeholders. Use when you need to fetch budget rate information for placeholders, supporting up to 100 IDs in a single request. |
| `WRIKE_GET_PLACEHOLDERS` | Get placeholders by IDs | Tool to retrieve details for one or more Wrike placeholders by their IDs. Use when you need to fetch information about specific placeholders, supporting up to 100 IDs in a single request. |
| `WRIKE_GET_SPACE` | Get space by ID | Tool to retrieve details for a single Wrike space by spaceId. Use when you need to fetch complete information about a specific space, typically after listing spaces to select one. |
| `WRIKE_GET_SPACE_CUSTOM_ITEM_TYPES` | Get space custom item types | Tool to retrieve all custom item types scoped to a specific Wrike space. Use when you need to discover available custom item types for a space before creating work items based on these types. |
| `WRIKE_GET_SPACE_FOLDERS` | Get space folders | Tool to retrieve the folder tree for a specific Wrike space. Use when you need to list all folders and projects within a space, optionally filtered by project type, authors, owners, title, or custom statuses. |
| `WRIKE_GET_SPACES_CUSTOMFIELDS` | Get space custom fields | Tool to retrieve all custom fields defined for a specific Wrike space. Use when you need to discover what custom fields are available in a space before querying tasks or folders with custom field data. |
| `WRIKE_GET_SPACES_TASKS` | Get spaces tasks | Tool to query tasks within a specific Wrike space. Use when you need to retrieve tasks from a particular space, with optional filtering by status, importance, title, and other criteria. |
| `WRIKE_GET_SPACES_WORKFLOWS` | Get space workflows | Tool to query workflows for a specific Wrike space. Use when you need to retrieve the list of available workflows and their custom statuses for a space. |
| `WRIKE_GET_SPACE_TIMELOG_LOCK_PERIODS` | Get space timelog lock periods | Tool to query timelog lock periods for a specific space. Use when you need to check which time periods are locked for timelog entries in a space. |
| `WRIKE_GET_SPECIFIC_USER` | Get specific user | Retrieves detailed information about a specific user in Wrike using their unique user ID. |
| `WRIKE_GET_TASK_BY_ID` | Get task by id | Retrieves read-only detailed information for a specific Wrike task by its unique ID, optionally allowing specification of fields to include in the response. |
| `WRIKE_GET_TASK_DEPENDENCIES` | Get task dependencies | Retrieves all dependency relationships for a specific task. Use when you need to see which tasks the specified task depends on (predecessors) or which tasks depend on it (successors). |
| `WRIKE_GET_TASKS_APPROVALS` | Get task approvals | Retrieves all approval records for a specific task. Use when you need to see approval workflow status and decisions for a task. |
| `WRIKE_GET_TASKS_ATTACHMENTS` | Get task attachments | Tool to retrieve all attachments from a specific Wrike task. Use when you need to fetch attachment metadata and optionally download URLs for files attached to a task. |
| `WRIKE_GET_TASKS_COMMENTS` | Get task comments | Tool to retrieve all comments from a specific Wrike task. Use when you need to fetch comments associated with a task. |
| `WRIKE_GET_TASKS_HISTORY` | Get tasks history | Query task field modification history for up to 100 tasks. Use when you need to retrieve the history of changes made to task fields. Returns information about who changed what fields, when the changes occurred, and the old and new values. |
| `WRIKE_GET_TASKS_ROLLUPS` | Get task rollups | Tool to query rollup settings for a specific task. Use when you need to retrieve the rollup configuration that determines how custom field values are aggregated from subtasks. |
| `WRIKE_GET_TASKS_TIMELOG_LOCK_PERIODS` | Get task timelog lock periods | Tool to query timelog lock periods for a specific task. Use when you need to check which time periods are locked for timelog entries on a task. |
| `WRIKE_GET_TASK_TIMELOGS` | Get task timelogs | Retrieves all timelog records for a specific task. Use when you need to see time tracking entries for a task. Supports filtering by creation date, tracked date, and user. |
| `WRIKE_GET_TIMELOG_CATEGORIES` | Get timelog categories | Tool to query the list of timelog categories in Wrike. Use when you need to retrieve available time tracking categories for categorizing timelog entries. |
| `WRIKE_GET_TIMELOGS` | Get timelogs | Retrieves timelog records from Wrike with optional filters for dates, users, and task scope. Use to query time tracking data across tasks and projects. |
| `WRIKE_GET_TIMELOGS_BY_IDS` | Get timelogs by IDs | Retrieves detailed information for one or more Wrike timelogs by their unique IDs (up to 100), optionally including export and lock status. |
| `WRIKE_GET_TIMESHEETS` | Get timesheets | Tool to query timesheets from Wrike. Use when you need to retrieve user timesheets showing weekly tracked time, approval status, and timesheet periods. |
| `WRIKE_GET_TIMESHEET_SUBMISSION_RULES` | Get timesheet submission rules | Tool to retrieve global timesheet submission rules across all work schedules. Use when you need to check timesheet submission configurations globally. |
| `WRIKE_GET_VERSION` | Get API version | Tool to retrieve current Wrike API version information. Use when you need to check the API version being used or verify API compatibility. |
| `WRIKE_GET_WEBHOOK_BY_ID` | Get webhook by ID | Tool to retrieve details for a specific webhook by webhook_id. Use when you need to inspect webhook configuration including the hook URL, status, events, and scope. You can only access webhooks created with the same API token. |
| `WRIKE_GET_WORKSCHEDULES_TIMESHEET` | Get work schedule timesheet rules | Tool to retrieve timesheet submission rules for a specific work schedule. Use when you need to check the configuration of timesheet submission requirements for a work schedule. |
| `WRIKE_LAUNCH_FOLDER_BLUEPRINT_ASYNC` | Launch folder blueprint async | Asynchronously launches a new project or folder structure in Wrike from a specified Folder Blueprint. Important Notes: - The folder_blueprint_id must be an actual launchable blueprint, NOT a BpRoot container. - Use WRIKE_LIST_FOLDER_BLUEPRINTS to get blueprint IDs. Look for child blueprints within the tree structure. - Blueprints with scope 'BpRoot' are root containers and cannot be launched directly. - The blueprint must fit within 250 items (subfolders, subprojects, and subtasks count towards this limit). - Returns an async job ID that can be used to track progress via the Async Job endpoint. |
| `WRIKE_LAUNCH_TASK_BLUEPRINT_ASYNC` | Launch Task Blueprint Async | Asynchronously launches a Wrike Task Blueprint to create tasks/projects, requiring either `super_task_id` (parent task) or `parent_id` (parent folder/project) for placement. |
| `WRIKE_LIST_ATTACHMENTS` | List all attachments | Tool to retrieve all attachments from the Wrike account. Use when you need to list attachments with optional date filtering and download URLs. |
| `WRIKE_LIST_FOLDER_BLUEPRINTS` | List Folder Blueprints | Retrieves all account-level Folder Blueprints, which are templates for standardizing folder/project creation with predefined structures, custom fields, and workflows. |
| `WRIKE_LIST_PLACEHOLDERS` | List all placeholders | Retrieves all placeholders accessible to the authenticated user; placeholders are templates used in Wrike for creating standardized tasks or projects. |
| `WRIKE_LIST_SPACE_FOLDER_BLUEPRINTS` | List space folder blueprints | Lists all folder blueprints (templates for new folders/projects) within a specified Wrike space, requiring a valid and accessible space ID. |
| `WRIKE_LIST_SPACES` | List spaces | Tool to list spaces the authorized user can access. Use when you need to discover valid spaceIds for downstream space-scoped operations like listing space blueprints. |
| `WRIKE_LIST_SPACE_TASK_BLUEPRINTS` | List space task blueprints | Lists task blueprints (templates for creating tasks with consistent structures) available in a specific, accessible Wrike space. |
| `WRIKE_LIST_SUBFOLDERS_BY_FOLDER_ID` | List subfolders by folder id | Lists subfolders (metadata only, not their contents) for an existing Wrike folder specified by `folderId`, supporting recursive descent, filtering, and pagination. |
| `WRIKE_LIST_TASK_BLUEPRINTS` | List Task Blueprints | Retrieves a list of defined Task Blueprints (predefined task templates) from the Wrike account, supporting pagination. |
| `WRIKE_MODIFY_ACCOUNT` | Update account metadata | Updates or adds custom key-value metadata to the Wrike account, useful for integrations, storing app-specific data, or mapping external system identifiers. |
| `WRIKE_MODIFY_FOLDER` | Modify folder attributes | Modifies an existing Wrike folder: updates title, description, parents (not root/recycle bin), sharing, metadata, custom fields/columns; restores, converts to project, or manages access roles. |
| `WRIKE_MODIFY_GROUP` | Modify group | Updates an existing Wrike user group's attributes like title, members, parent, avatar, or metadata, using its `groupId` and specifying only the fields to change. |
| `WRIKE_MODIFY_TASK` | Modify task | Modifies an existing Wrike task by its ID, allowing updates to attributes such as title, status, dates, assignees, and custom fields; `priorityBefore` and `priorityAfter` are mutually exclusive, and parent folder IDs for `addParents`/`removeParents` cannot be the Recycle Bin. |
| `WRIKE_QUERY_CUSTOMFIELDS` | Retrieve custom field by id | Retrieves a Wrike custom field's detailed information (e.g., type, possible values for dropdowns), properties, and metadata; the `customFieldId` must correspond to an existing custom field. |
| `WRIKE_QUERY_INVITATIONS` | Query invitations | Retrieves all active invitations in Wrike, useful for viewing and auditing pending invitations or managing user onboarding. |
| `WRIKE_QUERY_JOB_ROLES` | Query job roles | Tool to retrieve all available job roles in the Wrike account. Use when you need to discover job roles or get a complete list of roles without knowing specific IDs. |
| `WRIKE_QUERY_SPECIFIC_GROUP` | Get group by id | Retrieves detailed information for a specific Wrike group using its `groupId`, optionally including 'metadata'. |
| `WRIKE_QUERY_WORKFLOWS` | Query workflows | Fetches a list of all workflows with their detailed information from the Wrike account; this is a read-only action and does not support pagination or filtering through its parameters. |
| `WRIKE_RETRIEVE_LIST_OF_GROUPS` | Retrieve list of groups | Retrieves a list of user groups from the Wrike account, supporting metadata filtering, pagination, and inclusion of specific fields; this is a read-only operation. |
| `WRIKE_SEARCH_EDISCOVERY` | Search eDiscovery | Tool to perform eDiscovery search across Wrike items (folders, projects, tasks). Use when you need to find items matching specific search terms across different scopes. Supports wildcard searches and filtering by item types. |
| `WRIKE_UPDATE_APPROVALS` | Update approval | Updates an existing Wrike approval by its ID, allowing modifications to the title, description, and due date. |
| `WRIKE_UPDATE_ASSET` | Update asset | Tool to update a Wrike asset/equipment by ID. Use when you need to rename or modify an equipment asset in the system. |
| `WRIKE_UPDATE_ATTACHMENT` | Update attachment | Tool to update a Wrike attachment by uploading new file content. Use when you need to replace an existing attachment with a new version. |
| `WRIKE_UPDATE_BOOKINGS` | Update booking | Updates a Wrike booking's date range by ID. Use when you need to reschedule a resource booking by modifying its start and finish dates. |
| `WRIKE_UPDATE_COMMENT` | Update comment | Tool to update an existing Wrike comment. Use when you need to modify the text content of a comment. Supports HTML formatting with limited tags. |
| `WRIKE_UPDATE_CUSTOM_FIELD_BY_ID` | Update custom field by id | Updates properties of an existing Wrike custom field by its ID, such as its title, type, scope, or sharing settings. |
| `WRIKE_UPDATE_DEPENDENCY` | Update dependency | Tool to modify an existing Wrike dependency relationship between tasks. Use when you need to update the dependency type or change which tasks are linked. |
| `WRIKE_UPDATE_FOLDERS_ROLLUPS` | Update folder rollup settings | Tool to update rollup settings for a folder. Use when you need to enable or disable field aggregation from descendant items. |
| `WRIKE_UPDATE_INVITATION` | Update invitation | Updates a pending Wrike invitation (`invitationId`) to resend it or change user's role/type (use EITHER `userTypeId` OR `role`/`external`). |
| `WRIKE_UPDATE_JOB_ROLE` | Update job role | Updates an existing Wrike job role by its ID, allowing modifications to the title and short title. |
| `WRIKE_UPDATE_METADATA_ON_SPECIFIC_CONTACT` | Update metadata on a specific contact | Updates metadata, job role, or custom fields for an existing Wrike contact specified by `contactId`; if `jobRoleId` is provided, it must be a valid ID. |
| `WRIKE_UPDATE_SPECIFIC_USER` | Update a specific user | Updates specified profile attributes (e.g., account ID, role, external status) for an existing Wrike user; unspecified fields remain unchanged. Note: The current API user can only update users they have permission to modify. Account owners, robot users, and the current user themselves typically cannot be modified. This action requires the 'amReadWriteUser' OAuth scope. |
| `WRIKE_UPDATE_TASKS_ROLLUPS` | Update task rollup settings | Updates rollup settings for a task. Rollup settings control how field values aggregate from child tasks to parent tasks. Use this when you need to enable or disable automatic rollup calculations for specific fields like start dates, due dates, or custom fields. |
| `WRIKE_UPDATE_TIMELOGS` | Update timelog entry | Tool to modify an existing timelog entry in Wrike. Use when you need to update the hours, comment, tracked date, or category of a time log. |
| `WRIKE_UPDATE_TIMESHEET_ROW` | Update timesheet row | Updates a Wrike timesheet row by its ID, allowing modification of the timelog category. Use when you need to change the time tracking category for a timesheet entry. |
| `WRIKE_UPDATE_TIMESHEETS` | Update timesheet | Tool to update a timesheet's approval status in Wrike. Use when you need to submit, approve, or reject a timesheet. |
| `WRIKE_UPDATE_WEBHOOK_STATE` | Update webhook state | Tool to update the state of a Wrike webhook. Use when you need to re-enable a suspended webhook or suspend an active one. Wrike automatically suspends webhooks after 3 failed delivery attempts. Call this with status=Active to re-enable. |
| `WRIKE_UPDATE_WORKFLOW` | Update workflow | Tool to modify an existing Wrike workflow. Use when you need to update a workflow's name or description. Requires amReadWriteWorkflow scope. |
| `WRIKE_UPDATE_WORKSCHEDULE_TIMESHEET_RULES` | Update work schedule timesheet rules | Tool to update timesheet submission rules for a work schedule. Use when you need to configure or modify how timesheet submissions are validated and enforced for a specific work schedule. |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK
```python
pip install composio_openai
```

```typescript
npm install @composio/openai
```

#### Path 1, Step 2: Initialize Composio and Create Tool Router Session

Import and initialize Composio client, then create a Tool Router session
```python
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
openai = OpenAI()
session = composio.create(user_id='your-user-id')
```

```typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');
```

#### Path 1, Step 3: Execute Wrike Tools via Tool Router with Your Agent

Get tools from Tool Router session and execute Wrike actions with your Agent
```python
tools = session.tools
response = openai.responses.create(
  model='gpt-4.1',
  tools=tools,
  input=[{
    'role': 'user',
    'content': 'Create a new task in the "Marketing Campaign" folder with high priority due tomorrow'
  }]
)
result = composio.provider.handle_tool_calls(
  response=response,
  user_id='your-user-id'
)
print(result)
```

```typescript
const tools = session.tools;
const response = await openai.responses.create({
  model: 'gpt-4.1',
  tools: tools,
  input: [{
    role: 'user',
    content: 'Create a new task in the "Marketing Campaign" folder with high priority due tomorrow'
  }],
});
const result = await composio.provider.handleToolCalls(
  'your-user-id',
  response.output
);
console.log(result);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK and Claude Agent SDK
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/openai @ai-sdk/mcp
```

#### Path 2, Step 2: Create Tool Router Session

Initialize the Composio client and create a Tool Router session
```python
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url
```

```typescript
import { Composio } from '@composio/core';

const composio = new Composio({ apiKey: 'your-api-key' });

console.log("Creating Tool Router session...");
const { mcp } = await composio.create('your-user-id');
console.log(`Tool Router session created: ${mcp.url}`);
```

#### Path 2, Step 3: Connect to AI Agent

Use the MCP server with your AI agent
```python
import asyncio

options = ClaudeAgentOptions(
    permission_mode='bypassPermissions',
    mcp_servers={
        'tool_router': {
            'type': 'http',
            'url': url,
            'headers': {
                'x-api-key': 'your-composio-api-key'
            }
        }
    },
    system_prompt='You are a helpful assistant with access to Wrike tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('Create a new task in the Marketing folder for Q3 campaign launch')
        async for message in client.receive_response():
            if hasattr(message, 'content'):
                for block in message.content:
                    if hasattr(block, 'text'):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { openai } from '@ai-sdk/openai';
import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
import { generateText, stepCountIs } from 'ai';

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: mcp.url,
    headers: { 'x-api-key': 'your-composio-api-key' }
  }
});

const tools = await client.tools();

const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{ role: 'user', content: 'Create a new task in the Marketing folder for Q3 campaign launch' }],
  stopWhen: stepCountIs(5)
});

console.log(`Agent: ${text}`);
```

## Why Use Composio?

### 1. AI Native Wrike Integration

- Supports both Wrike MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable tool execution
- Rich coverage for reading, writing, and querying your Wrike data

### 2. Managed Auth

- Built-in OAuth handling with automatic token refresh and rotation
- Central place to manage, scope, and revoke Wrike access
- Per user and per environment credentials instead of hard-coded keys

### 3. Agent Optimized Design

- Tools are tuned using real error and success rates to improve reliability over time
- Comprehensive execution logs so you always know what ran, when, and on whose behalf

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access Wrike
- Scoped, least privilege access to Wrike resources
- Full audit trail of agent actions to support review and compliance

## Use Wrike with any AI Agent Framework

Choose a framework you want to connect Wrike with:

- [OpenAI Agents SDK](https://composio.dev/toolkits/wrike/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/wrike/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/wrike/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/wrike/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/wrike/framework/codex)
- [OpenClaw](https://composio.dev/toolkits/wrike/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/wrike/framework/hermes-agent)
- [Google ADK](https://composio.dev/toolkits/wrike/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/wrike/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/wrike/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/wrike/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/wrike/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/wrike/framework/crew-ai)
- [Pydantic AI](https://composio.dev/toolkits/wrike/framework/pydantic-ai)
- [AutoGen](https://composio.dev/toolkits/wrike/framework/autogen)

## Related Toolkits

- [Google Sheets](https://composio.dev/toolkits/googlesheets) - Google Sheets is a cloud-based spreadsheet tool for real-time collaboration and data analysis. It lets teams work together from anywhere, updating information instantly.
- [Notion](https://composio.dev/toolkits/notion) - Notion is a collaborative workspace for notes, docs, wikis, and tasks. It streamlines team knowledge, project tracking, and workflow customization in one place.
- [Airtable](https://composio.dev/toolkits/airtable) - Airtable combines the flexibility of spreadsheets with the power of a database for easy project and data management. Teams use Airtable to organize, track, and collaborate with custom views and automations.
- [Asana](https://composio.dev/toolkits/asana) - Asana is a collaborative work management platform for teams to organize and track projects. It streamlines teamwork, boosts productivity, and keeps everyone aligned on goals.
- [Google Tasks](https://composio.dev/toolkits/googletasks) - Google Tasks is a to-do list and task management tool integrated into Gmail and Google Calendar. It helps you organize, track, and complete tasks across your Google ecosystem.
- [Linear](https://composio.dev/toolkits/linear) - Linear is a modern issue tracking and project planning tool for fast-moving teams. It helps streamline workflows, organize projects, and boost productivity.
- [Jira](https://composio.dev/toolkits/jira) - Jira is Atlassian’s platform for bug tracking, issue tracking, and agile project management. It helps teams organize work, prioritize tasks, and deliver projects efficiently.
- [Clickup](https://composio.dev/toolkits/clickup) - ClickUp is an all-in-one productivity platform for managing tasks, docs, goals, and team collaboration. It streamlines project workflows so teams can work smarter and stay organized in one place.
- [Monday](https://composio.dev/toolkits/monday) - Monday.com is a customizable work management platform for project planning and collaboration. It helps teams organize tasks, automate workflows, and track progress in real time.
- [Addressfinder](https://composio.dev/toolkits/addressfinder) - Addressfinder is a data quality platform for verifying addresses, emails, and phone numbers. It helps you ensure accurate customer and contact data every time.
- [Agiled](https://composio.dev/toolkits/agiled) - Agiled is an all-in-one business management platform for CRM, projects, and finance. It helps you streamline workflows, consolidate client data, and manage business processes in one place.
- [Ascora](https://composio.dev/toolkits/ascora) - Ascora is a cloud-based field service management platform for service businesses. It streamlines scheduling, invoicing, and customer operations in one place.
- [Basecamp](https://composio.dev/toolkits/basecamp) - Basecamp is a project management and team collaboration tool by 37signals. It helps teams organize tasks, share files, and communicate efficiently in one place.
- [Beeminder](https://composio.dev/toolkits/beeminder) - Beeminder is an online goal-tracking platform that uses monetary pledges to keep you motivated. Stay accountable and hit your targets with real financial incentives.
- [Boxhero](https://composio.dev/toolkits/boxhero) - Boxhero is a cloud-based inventory management platform for SMBs, offering real-time updates, barcode scanning, and team collaboration. It helps businesses streamline stock tracking and analytics for smarter inventory decisions.
- [Breathe HR](https://composio.dev/toolkits/breathehr) - Breathe HR is cloud-based HR software for SMEs to manage employee data, absences, and performance. It simplifies HR admin, making it easy to keep employee records accurate and up to date.
- [Breeze](https://composio.dev/toolkits/breeze) - Breeze is a project management platform designed to help teams plan, track, and collaborate on projects. It streamlines workflows and keeps everyone on the same page.
- [Bugherd](https://composio.dev/toolkits/bugherd) - Bugherd is a visual feedback and bug tracking tool for websites. It helps teams and clients report website issues directly on live sites for faster fixes.
- [Canny](https://composio.dev/toolkits/canny) - Canny is a platform for managing customer feedback and feature requests. It helps teams prioritize product decisions based on real user insights.
- [Chmeetings](https://composio.dev/toolkits/chmeetings) - Chmeetings is a church management platform for events, members, donations, and volunteers. It streamlines church operations and improves community engagement.

## Frequently Asked Questions

### Do I need my own developer credentials to use Wrike with Composio?

No, you can get started immediately using Composio's built-in Wrike app. For production, we recommend configuring your own OAuth credentials.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
