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:

   Connection Editor window

  1. In the Connection Editor, click Sign In with Wrike.
  2. enter the email you used when signing in to Wrike in the opened window.

   Login window email    

  1. Enter your password.

   Login window 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.

Timelog

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.

timelogs filter

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.