Wrike
Wrike is a digital work management tool that helps users track and coordinate projects.
Data integration: Skyvia supports importing data to and from Wrike, exporting Wrike data to CSV files, replicating Wrike data to relational databases, and synchronizing Wrike data with other cloud apps and relational databases.
Backup: Skyvia Backup does not support Wrike.
Query: Skyvia Query supports Wrike.
Establishing Connection
To create a connection with Wrike, log in to your Wrike account.
Creating Connection
To start creating a connection, follow the steps below:
- In the Connection Editor, click Sign In with Wrike.
- enter the email you used when signing in to Wrike in the opened window.
- Enter your password.
Additional Connection Parameters
Use Custom Fields Behavior
This parameter defines how the connector will detect custom fields.
None — connector represents custom fields as a JSON Array in a single CustomFields field.
JoinAll — connector represents custom fields belonging to all spaces as separate fields of specific types.
Common — connector represents custom fields belonging to the account as separate fields of specific types.
More details on how to work with custom fields in Wrike are available in Custom Fields block.
Suppress Extended Requests
Wrike API returns only part of the fields for some objects when querying multiple records. Skyvia performs additional extended requests to query values of missing fields. Skyvia performs such API requests for each record of such an object. However, this can decrease performance and significantly increase the number of API calls used.
The additional fields are the following:
OBJECT | FIELD |
---|---|
Timelogs | Finance_Currency, Finance_ActualFees Finance_ActualCost |
Projects | UserAccessRoles |
You can select the Suppress Extended Requests checkbox to reduce the number of API calls.
Connector Specifics
Object Peculiarities
AuditLog
The AuditLog object data is available for the Wrike users on the Enterprise plan.
Comments
The Comments object returns data for the last seven days by default if you don’t use filters. To query data for other periods, filter by the PeriodDate field. Its values in the filter should look like this {"start":"2023-06-28T14:50:31Z","end":"2023-06-30T14:50:31Z"}
.
Invitations
When deleting records from this object, the delete operation performs a soft delete. It changes the record’s status to Canceled instead of physically deleting it.
Spaces
Use the Members, SuggestedProjectWorkflowIds, SuggestedTaskWorkflowIds fields to query data from the Spaces object. Fields MembersAdd, MembersUpdate, MembersRemove, SuggestedProjectWorkflowsAdd, SuggestedProjectWorkflowsRemove, SuggestedTaskWorkflowsAdd, SuggestedTaskWorkflowsRemove are used for import and return empty results by default when querying.
When performing the INSERT operation, assign the Members field mapping in the following format: [{"id":"KUFK5PNB","accessRoleId":"IEC7PGVEND777777","isManager":true}]
.
When performing an Update operation, the MembersAdd, MembersUpdate fields should have the same format.
When deleting records, select the Update operation in the integration and map the MembersRemove field to the list of Ids you want to remove (for example, ["KUFK5PNB", "KUFK5PN8"]
).
Tasks
The AddParents, AddShareds, AddResponsibles, AddFollowers, AddSuperTasks, RemoveParents, RemoveShareds, RemoveResponsibles, RemoveSuperTasks fields return empty results when querying. They are used for the Update operation.
Timelogs
When you query this object, it returns an empty value for the BillingType field. To get values from this field, use the following filter by the Fields field: Fields = [“billingType”]. This filter is available for users with Enterprise subscriptions. Users on other subscription plans will receive an error “Error occurred while reading ‘Timelogs’ object: Operation is not allowed due insufficient user rights or account license limitations”.
To select records for the specific period, specify period start and end in JSON format using filters by the CreatedDateFilter or UpdatedDateFilter field.
For example, to select time logs created from June 29, 2023 to June 30, 2023, add filter by the CreatedDateFilter with value {“start”:”2023-06-29T00:00:00Z”,”end”:”2023-06-30T23:59:05Z”}.
It will look like this in SQL query.
1
2
3
SELECT t.*
FROM Timelogs AS t WHERE
(t.CreatedDateFilter = '{"start":"2023-06-29T00:00:00Z","end":"2023-06-30T23:59:05Z"}')
It will look like this in the Query Builder.
You can set only starting or ending time for the period. For example, to select all the time logs from June 29, 2023 to current moment, set the following filter t.CreatedDateFilter = ‘ {“start”:”2023-06-29T00:00:00Z”}’.
Users
You can only get data from this object by the specified Id.
WorkSchedule
When querying data from the WorkSchedule object, the Workweek field returns in the following format [{"workDays":["Mon","Tue","Wed","Thu","Fri"]}]
in the result.
When performing the INSERT and UPDATE operations, the Workweek field should look like below:
1
2
3
4
[{"dayOfWeek":"Mon","isWorkDay":true},{"dayOfWeek":"Tue","isWorkDay":true},
{"dayOfWeek":"Wed","isWorkDay":true},{ "dayOfWeek":"Thu","isWorkDay":false},
{"dayOfWeek":"Fri","isWorkDay":false},{"dayOfWeek":"Sat","isWorkDay":false},
{"dayOfWeek ":"Sun","isWorkDay":false}]
The AddUsers and RemoveUsers fields are used for import and return empty results when querying. The AddUsers field is used for the INSERT and UPDATE operations.
To delete the record, select the Update operation in the integration and specify the user ID, you want to delete in the RemoveUsers field mapping. For example, ["KUAHVFPE"]
.
Custom Fields
Custom fields support INSERT and UPDATE operations. Wrike supports custom fields of the following types.
Wrike Type | Db Type |
---|---|
Text | String |
Number | Decimal |
Currency | Decimal |
Percent | Decimal |
Single select | String |
Multiple select | String |
People | String. You can import multiple values to such fields. Map them in the array format. There are two valid format for such fields. For example, '["IEAGE6BYI5H5LIMS", "IEAGE6BYJUAF3E5G", "IEAGE6BYJUAF3E5V"]' or '[IEAGE6BYI5H5LIMS, IEAGE6BYJUAF3E5G, IEAGE6BYJUAF3E5V]' |
Date | Date |
Duration | String |
Checkbox | Boolean |
Wrike API doesn’t validate the custom fields when you insert or update their values. It allows to insert invalid values to the custom fields. However, it may cause errors in further querying. You can fix invalid values in Wrike UI or using the UPDATE query in Skyvia.
There are two types of custom fields visibility in Wrike: Belongs to and Applies to.
Belongs to
Custom fields may belong to account or space. Account fields are commonly available fields. Space fields are available for specific spaces.
Skyvia represents this type of field visibility by the Custom Fields Behavior connection parameter. This is a drop-down list in the Connection Editor with the following options available.
None — connector represents custom fields as a JSON Array in a single CustomFields field.
JoinAll — connector represents custom fields belonging to all spaces as separate fields of specific types.
Common — connector represents custom fields belonging to the account as separate fields of specific types.
For example, you have two spaces in Wrike, Space1 and Space2. Space 1 has the AccField_Space1 field belonging to account, and the SpaceField_Space1 belonging to the space. Space2 has the AccField_space2 field, belonging to account, and the SpaceField_Space2 belonging to space.
If you select Join All option, in the connection, the connector’s behavior is the following. The object to which the fields are applied will contain all four custom fields. If you select Common option, the object to which the fields are applied, will contain AccField_Space1 and AccField_space2 fields.
Applies to
Custom fields apply to:
- Tasks, projects, folders.
- Projects, folders.
- Only projects.
Skyvia represents this type of field visibility by a corresponding object. For example, if the field applies to tasks, projects, and folders, they will be available in Tasks, Projects and FoldersAndSpaces objects.
Incremental Replication and Synchronization
Skyvia supports Replication with Incremental Updates for Wrike objects: Account, Approvals, Attachments, Comments, Tasks, Timelogs, FoldersAndSpaces, Projects.
Skyvia supports Synchronization for such Wrike objects Approvals, Projects, Tasks, Timelogs.
DML Operation Support
Skyvia supports DML operations for such Wrike objects:
Operation | Object |
---|---|
INSERT, UPDATE, DELETE | Approvals, Comments, Folders, FoldersAndSpaces, Groups, Invitations, Projects, Spaces, Tasks, Timelogs, UserScheduleExclusions, WorkScheduleExclusions, Workschedules |
INSERT, UPDATE | CustomFields, Workflows |
UPDATE | Contacts, Users |
DELETE | Attachments |
Stored Procedures
Skyvia represents part of the supported Wrike features as stored procedures. You can call a stored procedure, for example, as a text of the command in the ExecuteCommand action in a Target component of a Data Flow or in Query.
CreateTaskComment
Use the following command to add a comment for a folder.
call CreateTaskComment(:task1, :text)
PARAMETER NAME | DESCRIPTION | |
---|---|---|
Task1 | Related task Id | |
Text | The comment text itself |
You can update the existing comments only within 5 minutes after their creation. When you try to update comments later, you will get an error.
CreateFolderApproval
To add a record to the specific folder, use the following command.
call CreateFolderApproval(:FolderId, :Description, :DueDate, :Approvers, :Attachments, :AutoFinishOnApprove, :AutoFinishOnReject)
PARAMETER NAME | DESCRIPTION |
---|---|
FolderId | The identifier of the specific folder |
Description | the approval description |
DueDate | Due date in the yyyy-MM-dd format |
Approvers | Array of approved contact Ids |
Attachments | Array of the root attachments to set in approval |
AutoFinishOnApprove | True or False. Whether to finish approval automatically after all approvers have completed their approvals |
AutoFinishOnReject | True or False. Whether to finish approval when someone rejected |
UpdateDependencies
To Update and Delete the dependencies, use the following command
call UpdateDependencies(:dependencyId, :RelationType)
PARAMETER NAME | DESCRIPTION |
---|---|
DependencyId | The dependency identifier |
RelationType | Valid values are StartToStart, StartToFinish, FinishToStar, FinishToFinish. |
DeleteDependencies
Use the following command to delete the specific dependency.
call DeleteDependencies(:dependencyId)
.
Supported Actions
Skyvia supports all the common actions for Wrike.