Wrike Integration: Sync Projects & Tasks into Cascade
Learn how to connect Wrike to Cascade and automatically sync Wrike Spaces, Projects, and Tasks into Cascade outcomes (Objectives) and success criteria (Actions and Measures).
Method
- Cascade can either pull Wrike data on a schedule (frequency to be determined) and
update the corresponding items or - Use a Wrike Webhook to get updates when changes are made
- Cascade uses Wrike IDs (not names) to keep the mapping stable even if titles change.
- Supports mapping:
- Wrike Project metadata (dates/owners/status) to Cascade Objective/Action fields
- Wrike Task metadata and custom fields to Cascade Actions/Measures and
Cascade custom fields
1) Authentication
Option A — Permanent Access Token (fastest, best for POC)
Use when: you want to stand up a proof-of-concept quickly or you’re okay with the integration
running under a single Wrike user identity.
Refer to the following link to setup a Permanent Access Token:
https://help.wrike.com/hc/en-us/articles/210409445-Wrike-API
Customer steps (Wrike UI)
-
In Wrike, click your profile image (sidebar)
- Go to Apps & Integrations
- Open the API tab
- Select an existing API app (or create one) and Generate a permanent token.
- Save it securely — it’s typically shown once.
- You can revoke and regenerate if needed
What the customer provides to Cascade
- A Permanent Access Token
- Confirmation of what Spaces/Projects the token-user can access (permissions)
Option B — OAuth 2.0 (recommended for production)
Use when: you want a scalable, secure integration where the customer authorizes access
through Wrike’s standard OAuth flow (recommended for long-term deployments).
Refer to the following link to setup OAuth 2.0:
https://developers.wrike.com/oauth-20-authorization/
Wrike’s API uses OAuth 2.0 authorization code flow
Customer steps
-
Create / configure a Wrike API application in the Wrike App Console (this generates a
Client ID and Client Secret) - Configure the redirect/callback URL provided by Cascade (your team supplies this)
- Complete the OAuth authorization step (customer logs in, approves access)
What the customer provides to Cascade
- The Client ID / Client Secret and confirm the redirect URI is configured
Technical note (for IT/security reviewers)
- Wrike API requests are authorized via the Authorization header using an OAuth access
token.
2) Get the Space ID (Wrike “Space”)
Wrike Spaces are typically the cleanest top-level boundary for integrations.
How we retrieve Spaces (API)
- GET /spaces
How the customer chooses the right Space
- In Wrike, identify the Space that contains the Projects you want connected to Cascade.
- We will pull a list of Spaces and confirm which Space(s) should be included
What the customer provides to Cascade
- The Space name(s) to integrate (we can derive the IDs once connected)
3) Get the Project (Wrike Projects/Folders)
In Wrike’s data model, Projects are essentially folders with additional properties (owners,
start/end dates, status)
How we retrieve Projects inside a Space (API)
- You can list the folder/project structure within a Space using GET /spaces/{spaceId}/folders
From there, we identify which folders are Projects (Wrike represents them as folders with
project properties)
Wrike Project ➡️ Cascade Objective
Typically a Wrike Project is mapped to a Cascade Objective at the parent or child level.Typical mappings:
- Wrike Project name ➡️ Cascade Objective name
- Wrike Project dates (start/end) ➡️ Cascade Objective dates
- Wrike Project owners ➡️ Cascade Objective owners
- Wrike Project status ➡️ Cascade health/progress indicator (configurable)
- Wrike Custom Fields ➡️ Cascade Custom Fields
What the customer provides to Cascade (minimum)
- Which Wrike Projects should map into which Cascade location: Target Plan / Focus Area / Objective in Cascade
- Any Project-level custom fields that must map into Cascade custom fields
4) Get the Tasks (Wrike Tasks)
How we retrieve Tasks (API)
Wrike provides multiple ways to query tasks:
- GET /tasks
- GET /spaces/{spaceId}/tasks
- GET /folders/{folderId}/tasks
- GET /tasks/{taskId} (for specific tasks)
Recommended approach (best practice): Pull tasks by Project using: GET /folders/{folderId}/tasks. This keeps the integration aligned to your chosen Wrike Projects
Wrike Project ➡️ Cascade Action (most common and intuitive mapping)
Typical mappings:
- Task title ➡️ Action name
- Task description ➡️ Action description (optional)
- Task start/due dates ➡️ Action start/end dates
- Task assignees ➡️ Action owners / collaborators
- Task status ➡️ Action status / progress logic
- Task milestones ➡️ Action milestones
- Task checks ➡️ Action Checks
- Task custom fields ➡️ Cascade custom fields
Note: it is best practice to store the unique IDs of each Action in Wrike’s tasks as a custom field.
This way when a name is changed the mapping will not break
5) Custom Fields (Wrike Custom Fields)
How we retrieve Custom Fields (API)
Wrike supports querying custom fields within a Space:
- GET /customfields
- GET /spaces/{spaceId}/customfields
How we retrieve a Task’s Custom Field values
Task responses include custom field values when you retrieve tasks (for example, via GET
/tasks/{taskId})
Custom field mapping rules
- Wrike custom fields are identified by ID, not name, so we first map “Field Name > Field ID”.
- We then map “Field ID Cascade custom field”
What the customer provides to Cascade
A list of Wrike custom fields to sync (names are fine, we’ll pull their IDs)