Integrating With Wrike Using Webhooks

Send Ziflow events to your Wrike using Webhooks.

Updated over a week ago

Summary: With our Wrike Webhook integration, you can extend your Ziflow online proofing operations to create and update tasks automatically. You'll see updates in Wrike in real-time - for new proofs, comments, decisions, and more. This will keep your team up to date with the tools they're already working with.

Available for: Users with Admin rights on Pro & Enterprise editions.

Our Webhook Zibot allows you to trigger a flow when the following events occur on a proof:

  • New proof/version: triggers when a new proof is ready for review.

  • Decision: triggers when a decision is made by a reviewer or when a decision is updated on the stage and/or proof.

  • New comment/reply: triggers when a reviewer adds a comment/reply to the proof.

  • Comment resolved: triggers when a comment is marked as resolved.

  • Comment labeled: triggers when a reviewer labels a comment.

  • Proof updated: triggers when the proof folder, setting, or custom property changes.

  • Stage updated: triggers when a stage is started or when a reviewer is added/removed.

  • Comment reaction: triggers when a comment reaction is added on a comment/reply level.


Learn how to:


Create Ziflow Webhook Flow

To integrate Wrike with Ziflow, you need to click on the Connect tab and then click on the +Create Flow button, choose Ziflow as the Application, and choose which Event (New proof/version, Decision made, New comment/reply, Comment resolved, Comment labeled) you want to trigger the integration.

Create Ziflow Webhook Flow

Set up Flow Event settings

The first step is selecting the event that will trigger your Zibot:

Set up Flow Event settings in Ziflow

Next, you will be presented with the event details page, which will vary depending on which event you select:


New proof/version

New proof/version event settings in Ziflow
  1. Triggered by - select the type of request that will trigger the Zibot.

  2. Created in - select the Ziflow folder that this flow will monitor.

  3. Created by - select the user responsible for this flow activation.


Decision made

Decision made event settings in Ziflow
  1. Triggered by decision made - select what level decision needs to be made to activate the flow.

  2. Type of decision - choose the decision that needs to be made to activate the flow.

  3. Created in - select the Ziflow folder that this flow will monitor.


New comment/reply added

New comment/reply added event settings in Ziflow
  1. Triggered by new comment/reply, choose which option should activate the flow.

  2. Made by - choose if a Zibot should be activated by a specific reviewer or anyone who adds a comment/reply.

  3. Created in - select the Ziflow folder that this flow will monitor.


Comment resolved

Comment resolved event settings in Ziflow
  1. Created in - select the Ziflow folder that this flow will monitor.


Comment labelled

Comment labeled event settings in Ziflow
  1. Comment is labelled as - select which label(s) should trigger a Zibot.

  2. Created in - select the Ziflow folder that this flow will monitor.


Proof updated

Proof updated event settings in Ziflow
  1. Triggered by - select which type of the proof updated event should trigger the Zibot.

  2. Modified in - choose the Ziflow folder that this flow will monitor.


Stage updated

Stage updated event configuration
  1. Triggered by - select which type of the stage updated event should trigger the Zibot. There are three types of stage update events: reviewer added, reviewer removed, stage locked, and deadline changed.

  2. Modified in - choose the Ziflow folder that this flow will monitor.


Comment reaction

Comment reaction event settings
  1. Triggered by - choose if you want to trigger a flow based on reactions added to comments or replies.

  2. Comment reacted with - select what type of reaction should trigger a flow.

  3. Created in - select the Ziflow folder that is going to be monitored by this flow.


Getting your Permanent Access Token in Wrike

Make sure to safely store your token, because it'll only be shown to you once. You can revoke your token at any point and generate a new one if necessary.

  1. Click your profile image in the workspace's upper right-hand corner.

  2. Select Apps & Integrations.

  3. Click the API tab on the left.

  4. Click Configure next to the app you'd like to generate a token for.

  5. Scroll down to the section Permanent access token.

  6. Click Obtain token (you'll be asked to enter your password before your token is generated).

Getting your Permanent Access Token in Wrike

Create Wrike tasks based on adding new proofs in Ziflow.

(New proof created trigger is recommended for this type of integration)

New proof created trigger selected as an event

Next, choose a Webhook Zibot:

Select Webhook as Zibot during flow configuration

Fill out Webhook Zibot details; this Zibot will create a task in Wrike and update whichever fields you specify.

New Proof creates a new record in Wrike Webhook configuration
  1. Request type - the POST option should be selected as a request type since we want to send data to Wrike.

  2. Request URL - fill out with Wrike URL.

    https://www.wrike.com/api/v4/folders/{fill out with space, folder or subfolder ID}/tasks


    Follow the instructions below to learn how to collect project/folder or subfolder IDs. To get the ID to use in the URL after “folders/” use the GET Postman (or another API console/tool).

    URL: https://www.wrike.com/api/v4/folders
    Authorization: Bearer Token

    Collecting project/folder/subfolder IDs from Wrike

  3. Request body - should be filled with JSON body referencing fields that you would like to update in Wrike with data from Ziflow. In this case, I decided that tasks on the Wrike side should be created with four fields from Ziflow: Name, Proof Status, Proof Link URL and Version.

    {
    "title": "{$.proof.name}",
    "customFields": [
    {
    "id": "IEAFWRMJJUAD2BTV",
    "value": "In Progress"
    },
    {
    "id": "IEAFWRMJJUAD2BT2",
    "value": "{$.proof.public_link}"
    },
    {
    "id": "IEAFWRMJJUAD2BVC",
    "value": "V {$.proof.version}"
    }
    ]
    }


    The following fields should match existing fields inside your Wrike project/folder.

    Wrike customfields matching data from Ziflow


    To get the IDs to use when referencing the different custom fields in Wrike to update, use this GET postman call. In my example, Ziflow Proof Status is IEAFWRMJJUAD2BTV, which was later used in the Body above when sending the public link token from Ziflow. You'll need to do the same for all Wrike fields that you want to update with information from Ziflow.

    URL: https://www.wrike.com/api/v4/folders
    Authorization: Bearer Token

    Collecting custom fields IDs from Wrike

  4. Headers - inside this section, please enter generated access token copied from your profile within Wrike.

    Wrike token entered in Zibot configuration for authorization

Save your Zibot configuration by pressing the Next button.

Before continuing with the next step, please create a custom property in Ziflow to hold this Wrike task ID information. This is how I named the property in Ziflow:

Use our API and send the following API request (Get Properties Groups) to list all properties and find the Wrike task ID. Copy both IDs (group and property) and save them in your notepad.

Group and property ID from Ziflow

Once you have collected property details, add a new Webhook Zibot to your flow. This Zibot will get a Wrike task ID from Wrike so that you can store that value in a custom property and use it to tell Ziflow which task to update when there are updates from the Ziflow side (new version or approval status).

  1. Request type - the PUT option should be selected as a request type since we want to update Ziflow proof with a Wrike task ID from the Wrike.

  2. Request URL - fill out with Ziflow service URL that will update specific proof when Zibot is triggered.

    https://api.ziflow.io/v1/proofs/{$.proof.id}

  3. Request body - should be filled with JSON body referencing a custom property you created for Wrike Integration.

    {
    "custom_properties": [
    {
    "id": "d146e281-8b37-403e-ba3e-9ecf14ccb810", <- group ID
    "properties": [
    {
    "id": "27fedce3-a6e1-4de9-ab16-45bd93b18011", <- propoerty ID
    "value": "{$.zibot[0].data.records[0].id}"
    }
    ]
    }
    ]
    }


    To get the IDs to use when referencing the different custom fields in Wrike to update, use this GET postman call. In my example, Ziflow Proof Status is IEAFWRMJJUAD2BTV, which was later used in the Body above when sending the public link token from Ziflow. You'll need to do the same for all Wrike fields that you want to update with information from Ziflow.

    URL: https://www.wrike.com/api/v4/folders
    Authorization: Bearer Token

    Collecting custom fields IDs from Wrike

  4. Headers - inside this section, please enter generated API key copied from your profile within Ziflow.

    Ziflow apikey entered in headers section

Once you finish the flow configuration, please save all settings and activate the flow.

Save and activate flow in Ziflow

You can test if the flow works correctly by creating a sample proof in Ziflow and then checking if it added a task in Wrike. Please also verify if the proof was updated with the task ID from Wrike.

Test Ziflow - Wrike integration

Update Wrike tasks when new proof versions are created in Ziflow

(New proof version trigger is recommended for this type of integration)

New version selected as a flow event

Next, choose a Webhook Zibot:

Select Webhook as Zibot

Fill out Webhook Zibot details; this Zibot will create a record in Wrike based on a Wrike Task ID property entered during proof creation.

Wrike Webhook Zibot details
  1. Request type - the PUT option should be selected as a request type since we want to update the Wrike task with information from Ziflow proof.

  2. Request URL - fill out with Wrike URL. Please make sure to fill it out with the correct group and property names from your Ziflow account.

    https://www.wrike.com/api/v4/tasks/{$.proof.custom_properties[?(@.name=='Properties for integration purposes')].properties[?(@.name=='Wrike Task ID')].value}

    Grup and property names in Ziflow

  3. Request body - should be filled with JSON body referencing fields that you would like to update in Wrike with data from Ziflow. In this case, I decided that tasks on the Wrike side should be updated with three fields from Ziflow: Proof Status, Proof Link URL & Version.

    {
    "customFields": [
    {
    "id": "IEAFWRMJJUAD2BTV",
    "value": "In Progress"
    },
    {
    "id": "IEAFWRMJJUAD2BT2",
    "value": "{$.proof.public_link}"
    },
    {
    "id": "IEAFWRMJJUAD2BVC",
    "value": "V {$.proof.version}"
    }
    ]
    }


  4. Headers - inside this section, please enter generated access token copied from your profile within Wrike.

    Wrike access token

Once you finish the flow configuration, please save all settings and activate the flow.

Save and enable flow configuration in Ziflow

You can now test if the flow works correctly by creating a new proof version in Ziflow. The flow should send updated information to Wrike.

Test Ziflow - Wrike integration


Transfer proof decisions to Wrike

(Decision made trigger is recommended for this type of integration)

Next, choose a Webhook Zibot:

Webhook selected as a flow Zibot in Ziflow

Fill out Webhook Zibot details; this Zibot will update the Wrike task status with a proof decision once it is calculated in Ziflow.

Wrike webhook configuration
  1. Request type - the PUT option should be selected as a request type since we want to update the Wrike task with information from Ziflow proof.

  2. Request URL - fill out with Wrike URL. Please make sure to fill it out with the correct group and property names from your Ziflow account.

    https://www.wrike.com/api/v4/tasks/{$.proof.custom_properties[?(@.name=='Properties for integration purposes')].properties[?(@.name=='Wrike Task ID')].value}

    Grup and property names in Ziflow

  3. Request body - should be filled with JSON body referencing fields that you would like to update in Wrike with data from Ziflow. In this case, I decided that the record on the Wrike side should be updated with just one field from Ziflow: Proof Status.

    {
    "customFields": [
    {
    "id": "IEAFWRMJJUAD2BTV",
    "value": "Approved"
    }
    ]
    }

  4. Headers - inside this section, please enter generated access token copied from your profile within Wrike.

    Wrike personal access token in Ziflow flow configuration

Once you finish the flow configuration, please save all settings and activate the flow.

Save and enable flow after it's been configured in Ziflow

You can now test if the flow works correctly by submitting a proof decision on a sample proof in Ziflow and then checking if the flow has passed the correct proof status in the Wrike task.

Test Ziflow - Wrike integration


Additional information:


Supporting Material:

Did this answer your question?