home / skills / composiohq / awesome-claude-skills / wrike-automation

wrike-automation skill

/wrike-automation

This skill automates Wrike project management via Rube MCP, enabling task creation, assignment, and progress tracking with current schemas.

npx playbooks add skill composiohq/awesome-claude-skills --skill wrike-automation

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
9.2 KB
---
name: wrike-automation
description: "Automate Wrike project management via Rube MCP (Composio): create tasks/folders, manage projects, assign work, and track progress. Always search tools first for current schemas."
requires:
  mcp: [rube]
---

# Wrike Automation via Rube MCP

Automate Wrike project management operations through Composio's Wrike toolkit via Rube MCP.

**Toolkit docs**: [composio.dev/toolkits/wrike](https://composio.dev/toolkits/wrike)

## Prerequisites

- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Wrike connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `wrike`
- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas

## Setup

**Get Rube MCP**: Add `https://rube.app/mcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.


1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds
2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `wrike`
3. If connection is not ACTIVE, follow the returned auth link to complete Wrike OAuth
4. Confirm connection status shows ACTIVE before running any workflows

## Core Workflows

### 1. Create and Manage Tasks

**When to use**: User wants to create, assign, or update tasks in Wrike

**Tool sequence**:
1. `WRIKE_GET_FOLDERS` - Find the target folder/project [Prerequisite]
2. `WRIKE_GET_ALL_CUSTOM_FIELDS` - Get custom field IDs if needed [Optional]
3. `WRIKE_CREATE_TASK` - Create a new task [Required]
4. `WRIKE_MODIFY_TASK` - Update task properties [Optional]

**Key parameters**:
- `folderId`: Parent folder ID where the task will be created
- `title`: Task title
- `description`: Task description (supports HTML)
- `responsibles`: Array of user IDs to assign
- `status`: 'Active', 'Completed', 'Deferred', 'Cancelled'
- `importance`: 'High', 'Normal', 'Low'
- `customFields`: Array of {id, value} objects
- `dates`: Object with type, start, due, duration

**Pitfalls**:
- folderId is required; tasks must belong to a folder
- responsibles requires Wrike user IDs, not emails or names
- Custom field IDs must be obtained from GET_ALL_CUSTOM_FIELDS
- priorityBefore and priorityAfter are mutually exclusive
- Status field may not be available on Team plan
- dates.start and dates.due use 'YYYY-MM-DD' format

### 2. Manage Folders and Projects

**When to use**: User wants to create, modify, or organize folders and projects

**Tool sequence**:
1. `WRIKE_GET_FOLDERS` - List existing folders [Required]
2. `WRIKE_CREATE_FOLDER` - Create a new folder/project [Optional]
3. `WRIKE_MODIFY_FOLDER` - Update folder properties [Optional]
4. `WRIKE_LIST_SUBFOLDERS_BY_FOLDER_ID` - List subfolders [Optional]
5. `WRIKE_DELETE_FOLDER` - Delete a folder permanently [Optional]

**Key parameters**:
- `folderId`: Parent folder ID for creation; target folder ID for modification
- `title`: Folder name
- `description`: Folder description
- `customItemTypeId`: Set to create as a project instead of a folder
- `shareds`: Array of user IDs or emails to share with
- `project`: Filter for projects (true) or folders (false) in GET_FOLDERS

**Pitfalls**:
- DELETE_FOLDER is permanent and removes ALL contents (tasks, subfolders, documents)
- Cannot modify rootFolderId or recycleBinId as parents
- Folder creation auto-shares with the creator
- customItemTypeId converts a folder into a project
- GET_FOLDERS with descendants=true returns folder tree (may be large)

### 3. Retrieve and Track Tasks

**When to use**: User wants to find tasks, check status, or monitor progress

**Tool sequence**:
1. `WRIKE_FETCH_ALL_TASKS` - List tasks with optional filters [Required]
2. `WRIKE_GET_TASK_BY_ID` - Get detailed info for a specific task [Optional]

**Key parameters**:
- `status`: Filter by task status ('Active', 'Completed', etc.)
- `dueDate`: Filter by due date range (start/end/equal)
- `fields`: Additional response fields to include
- `page_size`: Results per page (1-100)
- `taskId`: Specific task ID for detailed retrieval
- `resolve_user_names`: Auto-resolve user IDs to names (default true)

**Pitfalls**:
- FETCH_ALL_TASKS paginates at max 100 items per page
- dueDate filter supports 'equal', 'start', and 'end' fields
- Date format: 'yyyy-MM-dd' or 'yyyy-MM-ddTHH:mm:ss'
- GET_TASK_BY_ID returns read-only detailed information
- customFields are returned by default for single task queries

### 4. Launch Task Blueprints

**When to use**: User wants to create tasks from predefined templates

**Tool sequence**:
1. `WRIKE_LIST_TASK_BLUEPRINTS` - List available blueprints [Prerequisite]
2. `WRIKE_LIST_SPACE_TASK_BLUEPRINTS` - List blueprints in a specific space [Alternative]
3. `WRIKE_LAUNCH_TASK_BLUEPRINT_ASYNC` - Launch a blueprint [Required]

**Key parameters**:
- `task_blueprint_id`: ID of the blueprint to launch
- `title`: Title for the root task
- `parent_id`: Parent folder/project ID (OR super_task_id)
- `super_task_id`: Parent task ID (OR parent_id)
- `reschedule_date`: Target date for task rescheduling
- `reschedule_mode`: 'RescheduleStartDate' or 'RescheduleFinishDate'
- `entry_limit`: Max tasks to copy (1-250)

**Pitfalls**:
- Either parent_id or super_task_id is required, not both
- Blueprint launch is asynchronous; tasks may take time to appear
- reschedule_date requires reschedule_mode to be set
- entry_limit caps at 250 tasks/folders per blueprint launch
- copy_descriptions defaults to false; set true to include task descriptions

### 5. Manage Workspace and Members

**When to use**: User wants to manage spaces, members, or invitations

**Tool sequence**:
1. `WRIKE_GET_SPACE` - Get space details [Optional]
2. `WRIKE_GET_CONTACTS` - List workspace contacts/members [Optional]
3. `WRIKE_CREATE_INVITATION` - Invite a user to the workspace [Optional]
4. `WRIKE_DELETE_SPACE` - Delete a space permanently [Optional]

**Key parameters**:
- `spaceId`: Space identifier
- `email`: Email for invitation
- `role`: User role ('Admin', 'Regular User', 'External User')
- `firstName`/`lastName`: Invitee name

**Pitfalls**:
- DELETE_SPACE is irreversible and removes all space contents
- userTypeId and role/external are mutually exclusive in invitations
- Custom email subjects/messages require a paid Wrike plan
- GET_CONTACTS returns workspace-level contacts, not task-specific assignments

## Common Patterns

### Folder ID Resolution

```
1. Call WRIKE_GET_FOLDERS (optionally with project=true for projects only)
2. Navigate folder tree to find target
3. Extract folder id (e.g., 'IEAGKVLFK4IHGQOI')
4. Use as folderId in task/folder creation
```

### Custom Field Setup

```
1. Call WRIKE_GET_ALL_CUSTOM_FIELDS to get definitions
2. Find field by name, extract id and type
3. Format value according to type (text, dropdown, number, date)
4. Include as {id: 'FIELD_ID', value: 'VALUE'} in customFields array
```

### Task Assignment

```
1. Call WRIKE_GET_CONTACTS to find user IDs
2. Use user IDs in responsibles array when creating tasks
3. Or use addResponsibles/removeResponsibles when modifying tasks
```

### Pagination

- FETCH_ALL_TASKS: Use page_size (max 100) and check for more results
- GET_FOLDERS: Use nextPageToken when descendants=false and pageSize is set
- LIST_TASK_BLUEPRINTS: Use next_page_token and page_size (default 100)

## Known Pitfalls

**ID Formats**:
- Wrike IDs are opaque alphanumeric strings (e.g., 'IEAGTXR7I4IHGABC')
- Task IDs, folder IDs, space IDs, and user IDs all use this format
- Custom field IDs follow the same pattern
- Never guess IDs; always resolve from list/search operations

**Permissions**:
- Operations depend on user role and sharing settings
- Shared folders/tasks are visible only to shared users
- Admin operations require appropriate role
- Some features (custom statuses, billing types) are plan-dependent

**Deletion Safety**:
- DELETE_FOLDER removes ALL contents permanently
- DELETE_SPACE removes the entire space and contents
- Consider using MODIFY_FOLDER to move to recycle bin instead
- Restore from recycle bin is possible via MODIFY_FOLDER with restore=true

**Date Handling**:
- Dates use 'yyyy-MM-dd' format
- DateTime uses 'yyyy-MM-ddTHH:mm:ssZ' or with timezone offset
- Task dates include type ('Planned', 'Actual'), start, due, duration
- Duration is in minutes

## Quick Reference

| Task | Tool Slug | Key Params |
|------|-----------|------------|
| Create task | WRIKE_CREATE_TASK | folderId, title, responsibles, status |
| Modify task | WRIKE_MODIFY_TASK | taskId, title, status, addResponsibles |
| Get task by ID | WRIKE_GET_TASK_BY_ID | taskId |
| Fetch all tasks | WRIKE_FETCH_ALL_TASKS | status, dueDate, page_size |
| Get folders | WRIKE_GET_FOLDERS | project, descendants |
| Create folder | WRIKE_CREATE_FOLDER | folderId, title |
| Modify folder | WRIKE_MODIFY_FOLDER | folderId, title, addShareds |
| Delete folder | WRIKE_DELETE_FOLDER | folderId |
| List subfolders | WRIKE_LIST_SUBFOLDERS_BY_FOLDER_ID | folderId |
| Get custom fields | WRIKE_GET_ALL_CUSTOM_FIELDS | (none) |
| List blueprints | WRIKE_LIST_TASK_BLUEPRINTS | limit, page_size |
| Launch blueprint | WRIKE_LAUNCH_TASK_BLUEPRINT_ASYNC | task_blueprint_id, title, parent_id |
| Get space | WRIKE_GET_SPACE | spaceId |
| Delete space | WRIKE_DELETE_SPACE | spaceId |
| Get contacts | WRIKE_GET_CONTACTS | (none) |
| Invite user | WRIKE_CREATE_INVITATION | email, role |

---
*Powered by [Composio](https://composio.dev)*

Overview

This skill automates Wrike project management via Rube MCP (Composio), letting you create and modify tasks and folders, assign work, launch blueprints, and track progress. It integrates with Rube toolkits for Wrike and requires an active Wrike connection through Rube MCP. Always search tools first to retrieve current schemas and available operations.

How this skill works

The skill uses RUBE_SEARCH_TOOLS to discover up-to-date tool schemas, then calls specific Wrike toolkit actions (e.g., WRIKE_CREATE_TASK, WRIKE_GET_FOLDERS, WRIKE_FETCH_ALL_TASKS) through Rube MCP. Typical flows resolve folder and user IDs first, obtain custom field definitions if needed, then create or modify resources. Blueprint launches are asynchronous, and paginated endpoints require handling page tokens.

When to use it

  • Create, assign, or update tasks within a Wrike project
  • Organize projects and folders or convert folders into projects
  • Fetch and monitor tasks for status, due dates, or custom-field-based filters
  • Launch task blueprints to instantiate templated task trees
  • Manage workspace members, invite users, or inspect space details

Best practices

  • Always call RUBE_SEARCH_TOOLS first to get the current tool schema before any operation
  • Resolve folder IDs and user IDs via GET_FOLDERS and GET_CONTACTS; never guess IDs
  • Fetch custom field definitions with WRIKE_GET_ALL_CUSTOM_FIELDS and format values by type
  • Respect pagination (page_size max 100) and handle nextPageToken for large result sets
  • Avoid DELETE_FOLDER or DELETE_SPACE unless you have backups—these operations are permanent

Example use cases

  • Create a task in a specific project: GET_FOLDERS → GET_CONTACTS → WRIKE_CREATE_TASK with folderId and responsibles
  • Launch a project template: LIST_TASK_BLUEPRINTS → WRIKE_LAUNCH_TASK_BLUEPRINT_ASYNC with parent_id and reschedule options
  • Bulk retrieve tasks due this week: WRIKE_FETCH_ALL_TASKS with dueDate filters and pagination
  • Convert a folder into a project by setting customItemTypeId during WRIKE_CREATE_FOLDER
  • Invite a contractor: WRIKE_CREATE_INVITATION with email, role, and name fields

FAQ

Do I need API keys to use Rube MCP with Wrike?

No API keys are required for Rube MCP; add the MCP endpoint in your client and complete the Wrike OAuth flow via RUBE_MANAGE_CONNECTIONS to activate the connection.

What formats do dates and datetimes use?

Use 'yyyy-MM-dd' for dates and 'yyyy-MM-ddTHH:mm:ssZ' (or with timezone offset) for datetimes; durations are in minutes.