New Integration: Wrike

Open
#480 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
typescript
Domain
api, backend

Research direction

Compare integrations/linear/, integrations/todoist/, and integrations/github/src/index.ts to understand the integration structure and webhook patterns. Then review the required files under integrations/wrike/ and the Wrike API resources listed in the issue. Done means OAuth, task/project/folder sync, event handling, activity conversion, documentation, and the integrations/README.md entry are implemented.

Written by the indexing model from the issue text.

Description

enhancement good first issue integration new-feature new-integration

Description

Add Wrike integration to sync tasks, projects, folders, and work activity into CORE.

Reference Implementations

Existing Integrations (use as templates)
  • integrations/linear/ - Similar project management integration
  • integrations/todoist/ - Task management integration
  • integrations/github/ - For webhook and event patterns
Required Files Structure
integrations/wrike/
├── src/
│   ├── index.ts          # Main entry, OAuth spec
│   ├── schedule.ts       # Sync logic
│   ├── utils.ts          # Wrike API utilities
│   ├── account-create.ts # OAuth setup
│   └── create-activity.ts # Activity formatting
├── package.json
├── tsup.config.ts
└── README.md

Wrike API Integration

OAuth Setup
  • Use OAuth 2.0 protocol for authorization
  • Every API request must contain the Authorization header with the OAuth 2.0 access token
  • Base URL: https://www.wrike.com/api/v4/
Key Endpoints
  • GET /api/v4/tasks - List tasks
  • GET /api/v4/folders - List folders and projects
  • GET /api/v4/contacts - List contacts/users
  • GET /api/v4/accounts - Get account information
  • GET /api/v4/users/:id - Get user details
  • GET /api/v4/timelogs - Get time tracking entries
  • GET /api/v4/comments - Get comments
  • POST /api/v4/webhooks - Create webhooks for real-time updates
  • GET /api/v4/workflows - Get workflows and statuses
Request Methods
  • Supports GET, POST, PUT, and DELETE requests (RESTful)

Events to Track

  1. Tasks - Task created, updated, completed, deleted, status changes
  2. Projects - Project created, updated, completed
  3. Folders - Folder created, reorganized
  4. Comments - Comments added, edited on tasks/projects
  5. Time Tracking - Time entries logged
  6. Workflows - Workflow status transitions

Implementation Tasks

  • Set up basic integration structure following integrations/github/src/index.ts pattern
  • Implement OAuth 2.0 flow in account-create.ts
  • Create API utilities in utils.ts for v4 API
  • Implement sync logic in schedule.ts for tasks, projects, and folders
  • Set up webhook handling for real-time task and project updates
  • Convert Wrike events to CORE activity format
  • Add error handling and rate limiting
  • Create integration documentation
  • Add to integrations/README.md

Technical Notes

  • Wrike API v4 is the current version with changes to internal API ID structure
  • API supports webhooks for real-time notifications
  • Postman collection available with most API endpoints and sample requests
  • Schema Reference available for detailed data models
  • RESTful architecture supporting standard HTTP methods

Resources

Labels

enhancement, integration, new-feature

Dominant language
TypeScript
Stars
2k
Forks
194
Avg merge
12m
Merged PRs (30d)
2

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from RedPlanetHQ/core

All issues in RedPlanetHQ/core

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.