Use this template

Sync Asana Tasks with Google Tasks

Overview

Use this workflow template to integrate your Asana projects with Google Tasks, enabling one-way synchronization from Asana into your preferred Google Task List.

Main workflow

Handle Events Map

Why use this template?

Centralized task management

Combine your task lists in a single Google Tasks view. If you favor Google's clean, minimalist interface, this integration ensures you no longer need to switch between tools. Everything flows directly to your preferred workspace.

Strengthened Google ecosystem integration

Google Tasks works with Calendar, Gmail, and Drive. Syncing Asana tasks here lets you associate your work items with emails, events, and documents. Mmaking your productivity more connected and efficient.

Access anywhere, anytime

Google Tasks is available on web, iOS, and Android. This means your Asana tasks are synced and ready on your phone, tablet, or desktop. Keeping you capable on the move.

Simplify to maximize focus

Prefer to minimize distractions? Syncing over to the streamlined layout of Google Tasks lets you concentrate on completing tasks without the noise of complex project tools.

How it works

Event-driven triggering

Upon task creation, updates, or deletion in Asana, a webhook signals SimWorkflow to act.

Dynamic sync logic

  • New tasks ➡️ Created in the designated Google Task List.

  • Edited tasks ➡️ Reflected immediately in Google.

  • Deleted tasks ➡️ Cleanly removed to prevent clutter.

Preserved task details

Sync includes:

  • Task Title

  • Task Description/Notes

  • Due Date

  • Completion Status

Setting up this template

Step 1: Configure Asana OAuth 2.0 credentials

  1. Go to your Asana developer settings and generate a Client ID and Client Secret.

  2. In SimWorkflow:

    • Log into your account.

    • Visit CredentialsCreate credentials → Choose OAuth 2.0.

    • From the Provider dropdown, pick Asana.

    • Name it "Asana", add your Client ID and Secret, and save.

Step 2: Configure Google Tasks OAuth 2.0 credentials

  1. Set up an OAuth client at Google Cloud Console with access to https://www.googleapis.com/auth/tasks.

  2. In SimWorkflow:

    • Go to CredentialsCreate credentialsOAuth 2.0.

    • Choose Google as the provider.

    • Name it "Google Tasks", paste your Client ID and Secret, add the scope above, and save.

Step 3: Configure SimWorkflow access

3.1 Generate a Personal access token

  • Navigate to SettingsPersonal access tokens.

  • Name it "SimWorkflow" and set the token expiration (e.g., 30 days)

  • Create and copy the token.

3.2 Register the Token

  • Return to CredentialsCreate credentials → choose Bearer token.

  • Name it "SimWorkflow", paste in your token, and save.

Step 4: Import and customize the template

  1. Hit Use this template at the top-right corner.

  2. Enter the Handle Events Map task by clicking on the down arrow icon.

  3. For the following tasks, assign your credentials in the Configuration tab:

    • Fetch Asana Task → Asana (OAuth 2.0)

    • Create/Update/Delete Google Task → Google Tasks (OAuth 2.0)

    • Add to Variables/Remove from Variables → SimWorkflow (Bearer Token)

  4. Save changes and activate by toggling the Enable switch.

Step 5: Activate template-level Webhook

  1. Go to Workflow definitions and locate your Asana tasks to Google tasks workflow definition.

  2. Click the menu (⋯) → Webhook settings.

  3. Toggle Webhook on, copy the Endpoint URL, and select the user to run the workflow.

  4. In the Verification request response field, paste:

{
  "headers": {
    "Content-Type": "text/plain",
    "x-hook-secret": "${headers['x-hook-secret']}",
    "X-Content-Type-Options": "nosniff"
  },
  "body": null
}

Step 6: Register Webhook with Asana

  1. Still in Workflow definitions, click Create workflow definition.

  2. Add a new HTTP Task:

    • Switch to the Configuration tab.

    • Use your Asana OAuth credentials.

    • In the HTTP request field, paste:

      {
        "url": "https://app.asana.com/api/1.0/webhooks",
        "method": "POST",
        "headers": {
          "Content-Type": "application/json"
        },
        "body": {
          "data": {
            "target": "REPLACE_WITH_WORFLOW_DEFINITION_WEBHOOK_ENDPOINT",
            "filters": [
              {
                "resource_type": "task"
              }
            ],
            "resource": "REPLACE_WITH_RESOURCE_ID"
          }
        }
      }
      
  3. Trigger Test request.

  4. Asana will send a POST request to the workflow definition webhook endpoint with HTTP header called X-Hook-Secret.

  5. Go to Workflow definitions and locate your Asana tasks to Google tasks workflow definition.

  6. Open the first workflow and click on Input to open the workflow JSON input and locate the x-hook-secret in the headers field. Copy the value of x-hook-secret field.

Step 7: Add necessary variables

7.1 Google Task List ID

  • Go to Workflow definitions and locate your Asana tasks to Google tasks workflow definition.

  • Click the menu (⋯) → Variables.

  • Click Add variable.

  • Set Variable key = taskListId, Variable alue = your Google Task List's ID.

  • Save.

7.2 Webhook Secret from Asana

  • Add another variable:

  • Variable key = asanaWebhookSecret, Varialbe value = the x-hook-secret you obtained.

  • Save.

Step 8: Enable Webhook payload validation

  1. Go to Workflow definitions and locate your Asana tasks to Google tasks workflow definition.

  2. Click the menu (⋯) → Webhook settings.

  3. Under Validate the payload, enter:

    Swf.hmacSha256Hex($['swf:variables'].asanaWebhookSecret, $.body) === $.headers['x-hook-signature']
    
  4. Save the settings to ensure only genuine Asana originated webhooks are accepted.

You're all set

From now on:

  • Task creations, updates, and deletions in Asana are reflected in Google Tasks automatically.

  • No maintenance required, just complete your work and let SimWorkflow handle the rest.

  • You can track, debug, or customize the workflow anytime via the SimWorkflow interface.