Skip to main content

I’m looking for the best way to have Zapier look for a new row in a Google Sheet and perform a few searches that will ultimately create a new Opportunity in Salesforce.

My questions are:

  1. What’s the best sequencing of my steps? First find if a Contact exists? If one exists, then find an Account based on the company name? If one exists, find if there’s an existing Opportunity? If one doesn’t exist, then create a new Opportunity?
  2. What’s the best way to create different paths, depending if a Contact/Account/Opportunity exists or doesn’t exist?

Thanks!

Hi @Allen121 ,

Thanks for reaching out! A couple questions to make sure we understand your desired workflow!

  • Can you share what type of information is in your Google Sheet (Name, Email, etc)?
  • Are you looking to check just for the email address and if no address is listed, add the contact to an Opportunity or is there additional information your Zap needs to check against? 

Let us know and we can go from there to help get you set up!


Hey @Liz_Roberts!

In my Google Sheet, I’m starting very simple with the following columns:

  • First name
  • Last name
  • Email
  • Title
  • Company name
  • Industry
  • Deal amount
  • Subscription type

The current sequence in my zap is:

  1. Find an Account in SFDC based on the company name in the Google Sheet. If an Account doesn’t exist, create one. If an Account exists, move on to the next step.
  2. Find a Contact in SFDC based on the email address in the Google Sheet. If a Contact doesn’t exist, create a Contact and associate it with the Account from the previous step. If a Contact already exists, Zapier will move onto the next step.

    The trick here is that this step will simply find whether a Contact exists with the email address in the Google Sheet. Therefore, if the Contact already exists but is under a different Account, I’m not 100% sure whether Zapier will create a new Contact for that Account.
  3. Find an Opportunity in SFDC based on the company name in the Google Sheet. If an Opportunity doesn’t exist, create an Opportunity and associate it with the Account from the previous step. If an Opportunity already exists, Zapier will do nothing.

    The trick here is when finding the Opportunity, Zapier will perform an exact match based on the company name. Therefore, if an Opportunity already exists with a slight variation such as a comma or hyphen, Zapier will create a new Opportunity, which I don’t want.

Hopefully that makes sense.


Hi @Allen121 Salesforce can be tricky to work with, but it looks like you’re most of the way there. I would just add a step between 2 and 3, so that it looks like this:

  1. Find an Account in SFDC based on the company name in the Google Sheet. If an Account doesn’t exist, create one. If an Account exists, move on to the next step.
  2. Find a Contact in SFDC based on the email address in the Google Sheet. If a Contact doesn’t exist, create a Contact and associate it with the Account from the previous step. If a Contact already exists, Zapier will move onto the next step.
  3. Update Contact in SFDC - update the contact that was found or created in the previous step, which will allow you to update the Account if the contact was found and not created.
  4. Find an Opportunity in SFDC based on the company name in the Google Sheet. If an Opportunity doesn’t exist, create an Opportunity and associate it with the Account from the previous step. If an Opportunity already exists, Zapier will do nothing.

 

For the Find an Opportunity step..

The trick here is when finding the Opportunity, Zapier will perform an exact match based on the company name. Therefore, if an Opportunity already exists with a slight variation such as a comma or hyphen, Zapier will create a new Opportunity, which I don’t want.

This is a difficult one, because the search isn’t smart enough to say ‘that’s close enough’ with the Company name. I can’t quite remember - is there another field that you could search with to find the Opportunity? For example, searching by email address is usually a good option because each one will be unique. 


@Danvers Gotcha! I’ll play around by looking for an Opportunity with the Account ID from the previous step. I’ll also add the additional step.

 

Thanks for the help!