Skip to main content

Hello I'm trying to create a 2-way sync zap between Google Tasks and Salesforce Tasks. This means that when a task is created or modified in either platform, it will be reflected in the other platform as well.

I'm familiar with setting up basic zaps, but I'm having trouble figuring out how to set this up specifically. I would greatly appreciate it if someone could provide detailed instructions on how to create this zap workflow.

To give a little more context, here are the specific things I'd like the zap to do:

  • If a new task is created in Google Tasks, it should be created as a new task in Salesforce
  • If a task in Google Tasks is marked as complete, the corresponding task in Salesforce should be marked as complete as well
  • If a task in Salesforce is marked as complete, the corresponding task in Google Tasks should be marked as complete as well
  • Looping should be avoided

Any help would be much appreciated. Thank you in advance for your time and assistance!

Hi @rryyaann 

Good question.

Zapier is not meant for 2-way syncs between apps: https://help.zapier.com/hc/en-us/articles/8495908569613


Hi @Troy Tessalone,

I understand it is not a native feature set, but surely it is possible to make a two zaps as a work around.

I would like to at least give it a shot!


Hi @rryyaann 

Zapier does not support two-way syncing between apps right now. Think of Zaps like one-way workflows.

In certain scenarios, you can fake two-way syncing by setting up two different Zaps that perform opposite actions. For instance, you could have one Zap that creates a new spreadsheet row for every new contact created and another that creates a new contact for every new spreadsheet row.

miscEye icon Note

Be careful not to create a Zap Loop. Learn how to avoid Zap loops.


Hi there @rryyaann

Troy is correct here, two-way syncing isn’t currently supported in Zapier. But I think it would be technically possible to accomplish the workflow you’re after here.

There are some things you’ll need to take into account though. As Troy rightly mentioned, you’ll have to be very careful not to create a Zap Loop. In most cases you’d need to add a Filter to check that the task hasn’t already been updated.

You’ll also need to make sure you have a way of identifying the task between the two apps as their IDs (unique identifying numbers) will likely be completely different in each app. Which would make it tricky to find the right task, especially if there are multiple tasks with the same name. This could potentially be solved by creating Zaps that add a record of the task into a lookup table that is referenced by both apps and has all the tasks ID numbers added to it.

I’d recommend using an app like Google Sheets or Airtable to create the lookup table in. You’d have two Zaps with steps like these:

Zap 1: Adds new tasks from Salesforce into Google Tasks

Trigger: New Records (tasks) created in Salesforce.
Action: Lookup Spreadsheet Row action in Google Sheets (or similar) to create the task name and record ID from Salesforce. (Has the ability to search for an existing row and create one if it’s not found - important for preventing Zap Loops!)
Action: Create Task action for Google Tasks to create the task in Google Tasks.
Action: Update Spreadsheet Row action in Google Sheets to add the Google Tasks ID number from the task created by the previous action step.

Zap 2: Adds new tasks from Google Tasks into Salesforce

Trigger: New Tasks created in Google Tasks.
Action: Lookup Spreadsheet Row action in Google Sheets to create the task name and task ID from Google Tasks.
Action: Create Record action for Salesforce to create the task in Salesforce.
Action: Update Spreadsheet Row action in Google Sheets to add the Salesforce record ID number from the task created by the previous action step.

You may also need to add a columns to the lookup table to record whether the task is completed in Salesforce and Google Tasks, that way the Zaps you create to update the tasks will be able to filter on whether the task is completed and stop the update Zaps from causing a Zap Loop.

Then to handle the updates, you’d want to create a couple of Zaps that trigger on the completed records/tasks in Salesforce and Google Tasks, check the Google Sheets row to see if the column to say the task is completed has been checked, use a Filter to check it hasn’t. Then update the task’s record in Google Sheets and and either Salesforce or Google Tasks to mark it as complete. 

You can find out more about creating lookup tables in Google Sheets here:


Hope that makes sense and helps to get you pointed in the right direction here! Please do let us know how you get on! 🙂


@rryyaann @SamB I’ve been trying to achieve the same outcome (albeit with multiple zaps) between tasks in Any.do and Google Tasks. All I want is two way creation (easy) and then two way completion (not so easy).

The create part is easy (when new task created in X, create new task in Y, copy Z fields)

The harder part was ‘syncing’ completion - see below. This is done as follows:

Trigger - Task marked as ‘complete’ in Google Tasks - ok

Action - Search Any.do list for tasks with title (from Google Task) - ok

Action - Update task in Any.do (keep same title, mark as ‘checked’) and get the below broad error, and I can’t seem to find the issue?