This is a Singer tap that produces JSON-formatted data following the Singer spec.
This tap:
- Pulls raw data from Wrike
- Extracts the following resources:
- Projects
- Folders
- Custom Fields (
FULL_TABLE
replication) - Tasks
- Timelogs
- Contacts/Users (
FULL_TABLE
replication) - Workflows (
FULL_TABLE
replication)- And their
customStatuses
(a.k.a. Workflow Stages)
- And their
- Does not (yet) import from other endpoints of the Wrike API
- Additionally, provided an OAuth access token (see below), extracts the following resources from the Data Export API:
- Workflow Stage History (as a table named
data_export_api_workflow_stage_history
) - Data from this export type uses a different ID system so an additional column named
data_export_api_id
is also added to the other resources in order to make joins easier between the 2 data sources
- Workflow Stage History (as a table named
- Outputs the schema for each resource
- Incrementally pulls data based on the input state
The minimum required configuration is a Wrike permanent token (see sample_config.json
)
Note - This is the DEFAULT configuration.
Alternatively, one can use an OAuth access token. This will be applied if a refresh_token is provided.
NOTE:
This is required for theThis is no longer true; a permanent token can be used for every endpoint.Workflow Stage History
resource as it requires thedataExportFull
permission
- Create an app in Wrike following the instructions in "Initial Setup" here
- Using the client_id from step 1, go to:
https://login.wrike.com/oauth2/authorize/v4?client_id=<client_id>&response_type=code&scope=wsReadOnly,dataExportFull
- After login (using an Admin account) in to Wrike, retrieve the
code
from the query parameters in the resulting URL. This authorization code is only valid for 10 minutes - Use the code as
authorization_code
in:curl -X POST -d "client_id=<client_id>&client_secret=<client_secret>&grant_type=authorization_code&code=<authorization_code>" https://login.wrike.com/oauth2/token
- Take the
refresh_token
returned by this request and add it to theconfig.json
file
NOTE: We recommend using the permament token for production use, as the wrike refresh token is a rotating refresh token - after an hour, it will expire, causing an auth error in your integration.