Named Variables#

There are times when we have a single field in a trigger that contains info you want split out into multiple fields, or maybe you only want part of that field to come through to the action. We use a special function called named variables to help make this possible.

Note: For named variables to work you MUST have control over the data in your trigger. If your trigger data is an email that was automatically generated and you can't change the formatting, named variables won't be able to help you.

Let's see an example of named variables in action. Let's say I create a new note in Evernote, but I want to use data from that note to populate different fields in a Salesforce lead. In the body of my note I'll put the data I want a variable for in parentheses like this:

Evernote Note

Now when I check the available fields to use in the action of my zap, I can see the Named Variable fields available to choose from:

Zap fields

I'll select those fields just like I would with any other standard field from Evernote. And when I send my test note to Salesforce, here's the end result:

Salesforce Lead

You can use this for any field you like, just make sure that you can add in the names and parentheses for your trigger data and you don't mind that the trigger service has the names and parentheses formatted that way. Also, make sure the named variable only has letters, numbers, or underscores. For example, id() will work as a named variable, id#() will not.

Tip: Remember, to be able to find the Named Variable fields when setting up the template of your Zap, we'll need to have seen a sample of them first. So make sure you submit a trigger with those variables set and then re-test your trigger. Once you have done that you will be able to find them on your Action template.

↑ Was this documentation useful? Yes No (Suggest Edits)

Modifying Dates & Times#

There are times when you'll want to manipulate dates and times in your Zap, and we provide a couple different means for you to do so.

Time Stamps#

If you want to include the time your Zap runs in your Zap (or use that as an approximation of when the trigger occurs), you can use the following field in your Zap:


When used in a date-formatted field and certain text fields, that placeholder will return a date/time stamp from the time zone set in your Zapier profile settings. If you have no time zone picked, it defaults to UTC. This will print a human-readable string in MM/DD/YY hh:mmA format (for example, 07/15/16 06:05PM).

If you need a machine readable string, such as for sending to a Google Calendar create event action, you should use:


This command is similar to the first, but it will print the date/time in a format that other machines (and APIs) can read. This command won't consider the time zone set in your profile settings, and will output an ISO-8601 time stamp in UTC time (for example, 2016-07-15T18:07:48+00:00).


This time stamp is in UNIX time, as some APIs might require a timestamp in this format instead.

Other available time stamps are as follows:

  • {{zap_meta_est_iso}} is in ISO-8601 format for Eastern Standard Time (EST)
  • {{zap_meta_edt_iso}} is for Eastern Daylight Time (EDT)
  • {{zap_meta_cst_iso}} is CST
  • {{zap_meta_cdt_iso}} is CDT
  • {{zap_meta_mst_iso}} is MST
  • {{zap_meta_mdt_iso}} is MDT
  • {{zap_meta_pst_iso}} is PST
  • {{zap_meta_pdt_iso}} is PDT

NOTE: When you use one of these time stamps, it will not show up in the sample data nor when you check the testing step in your Zap. It's only after your Zap actually takes an action in the background that the time stamp will be replaced, as shown in the video below.

Time Stamp Example Gif

Adjusting Dates and Times#

Other times you may have a date or time that you want to adjust for your purposes. For example, your trigger service gives you a meeting start time, but you want to be able to include an end time 3 hours afterwards. To do this, you'll use the following syntax right after the date/time field you want to adjust.

IMPORTANT: You need a space between the placeholder and the adjustment, or it will not work.
Datetime modifier with space Datetime modifier without space

Reformatting Dates and Times#

If you need to reformat a date, perhaps to change an American date format to International format, want to remove the time or date from a value, or want to add or subtract dates with more options, add a Formatter action to your Zap. It can reformat the date or time to the format you want before adding it to your action app.

For more info on Formatter, see:

Recurring Actions#

To schedule recurring actions, you may want to try using a Schedule trigger or a Google Calendar "Event Start" trigger. For more info on that, see:

Modifier Options#

  • +7h - 7 hours after the date/time in the field.
  • +10d - 10 days after the date/time in the field.
  • -45m - 45 minutes before the date/time in the field.
  • +30s - 30 seconds after the date/time in the field. Useful if you receive a duration in seconds.

You can mix and match those as well. Remember you need to put a space between these!

  • +5h +30m - 5 hours and 30 minutes after the date/time in the field
  • -2d -12h - 2 days and 12 hours before the date/time in the field.

Human Readable Dates/Times#

We also are able to parse a range of "human readable" transformations like "tomorrow", "today", or "three weeks from now". See this list for more ideas about what is possible.

A few things to be mindful of when using modifiers:

  • They only work if you are inserting the time into a date/time field. Date/time fields have icons next to the name.
  • They will not be reflected in the UI inside the Zap editor -- they are performed before writing any Task to the Action of a Zap.
  • You cannot use decimals like 0.5h. Write it as 30m instead.


In the interface for a Zap that copies a Google Calendar Event from one calendar to another, you might have a field that looks like:

Detailed event time fixing.

↑ Was this documentation useful? Yes No (Suggest Edits)

Avoiding Zap Loops#

Some users will want to use Zapier in order to keep two services up to date on the same object, and you might want to use two Zaps that do the same thing in opposite directions to do so. When you do this, you'll want to take steps to avoid a "loop" of duplicate objects when those Zaps are triggered.

This can also happen if you have a single Zap too, where the Action performed on the Zap is also what triggers your Zap. For example, if you had a Gmail Zap which triggers on any new email and an action to send an email. The sent email will be seen as a new email in your account and trigger the Zap making an infinite loop.

Note: this will not enable syncing or updating two records across services, it simply keeps Zapier from performing a non-stop loop between two services.

Let's take the example that I want to sync Salesforce contacts to Google Contacts, and vice versa. If I have one Zap that moves contacts from Salesforce to Google, and another that does the opposite, that means that each time I create a Salesforce contact, it will trigger my first Zap, whose action triggers my second Zap, whose action triggers my first Zap, etc. That can lead to dozens of duplicate contacts if the service doesn't have de-duplication measures through the API.

To fix this, I use filters and make use of fields that I otherwise wouldn't use. I take a look at the available Salesforce trigger fields, and decide that the "Reports To Name" field is one I don't really use.

Salesforce fields

I then create a filter for my Salesforce to Google Zap, telling it to run only when the Reports To field has "#sf" inside. The exact text used isn't important, but this makes it easier for me to remember.

Salesforce filter

Then whenever I create a Salesforce contact, I remember to put in that bit of text in the Reports To field. Now I know that contact will trigger the Zap, and any that come across from Google will not.

Salesforce contact

To completely "close the loop", I do the same thing with my other Zap. I determine the Website field isn't one that I use, so I set up a filter to only run the Zap when that field contains "#ggl". Now when I create Google Contacts, I use that bit of text in that field and can be assured that my Zaps aren't going to duplicate the contact over and over again.

This process can be used for any Zap where the trigger and action are mirrors of each other. The important things to do are:

  • Find fields in both trigger services that you don't use
  • Set up filters for text in those fields
  • Use that text when creating new objects for that trigger

If you follow those steps, you'll never have to worry about a "loop" from those Zaps again.

↑ Was this documentation useful? Yes No (Suggest Edits)

Disable SSL Certificate Checks#

Before you make any changes or contact Zapier support, use the SSL checker to verify your SSL certificates are installed properly!

What are SSL Certificates?#

SSL certificates are a very important part of the internet. These certificates allow encrypted communication between your browser and They also allow your browser to guarantee you're actually looking at the webpage we intended. Both of these details prevent would-be attackers from snooping on your private browsing or business data.

SSL certificates are also widely used when dealing with APIs. The same technology that lets your computer's browser talk securely to also allows Zapier to talk securely to other web services (like Gmail, Salesforce, or Zendesk) in order to access your data on your behalf.

In order for SSL certificates to work, both parties (ie. your browser and must "trust" an independent third-party, known as a Certificate Authority (CA), who signs every SSL certificate they issue.

There are hundreds of CAs on the internet. In fact, for SSL to work properly, the list of CAs both parties "trust" must be continually updated -- an onerous detail.

You can find a list of the CAs we trust here.

How does Zapier use SSL Certificates?#

Zapier does checks against SSL certificates on every API call we make to ensure the data we send/receive is secure. Usually, the services we communicate with are responsible for setting up and managing the certificates, so users don't have to think about this part of the process.

Some services, however, allow you to specify your own domain (like Desk, JIRA, SugarCRM, Magento). In most cases, it's required that your domain also have its own SSL certificate for API communication to take place. More importantly, Zapier has to trust the CA that signed your SSL certificate!

It's possible that you'll purchase an SSL certificate that is issued by a CA that Zapier doesn't trust. This does not mean anything is wrong with that CA, we simply haven't added them to our list of trusted ones yet.

When Zapier encounters a certificate from an "untrusted" CA, you might see this type of error:

SSL Error on Zapier

In order to get around this verification step, click "Security" option in your user profile settings that allows you to disable SSL certificate checks. Essentially, this means both parties (your server and Zapier) don't have to trust the CA in order for communication to take place. You'll still need a signed SSL certificate, but we won't enforce that it is valid.

Disable SSL Certificate Checks on Zapier

WARNING: You should only do this as a last resort. Disabling these checks may enable an attacker to manipulate the data sent to Zapier or eavesdrop on data sent out of Zapier to websites with said SSL certificates. If you disable checks and adding an account still yields an SSL error, we highly recommend you revert the option back to enabled then contact support and we can debug further.

NOTE: We are respecting this "disable" option on a case by case basis for services. If you come across a service where you're still hitting SSL errors even after disabling the check, let us know. Currently, this option only affects:

  • Desk
  • Jira
  • Quickbooks
  • Redmine
  • RSS
  • SugarCRM
  • Webhooks

NOTE: An "SSL" error doesn't necessarily imply a certificate problem. For example: "SSLERROR: The read operation timed out" is actually not a certificate problem. This error simply indicates the remote server didn't respond to our requests in a timely manner.

↑ Was this documentation useful? Yes No (Suggest Edits)

Using Custom Values in Dropdowns#

When to Use Custom Values#

Some dropdowns will allow you to select only one value that remains constant each time your Zap runs. For example, you might be asked to choose a Person to assign a Deal. If you didn't want the same Person assigned to every Deal, you would want to use a custom value.

To start, open the list of options and choose "Use a Custom Value" at the bottom of the list:

Select custom value option

The dropdown will turn into a text box, where you can map in a value from a previous step:

Trigger Data Options

You can also enter plaintext (or a combination of both) as long as it is an acceptable value for the field:

Custom value for From Format Date/Time

How Custom Fields Work#

Name Fields#

The Action app will only accept the options available in the dropdown. So in the following label dropdown, if I tried to send along "white", the Zap would fail as that is not one of the named options:

Trello Label drop down

ID Fields#

Some fields will only accept an ID number and will error if you type or map in the label (like “Idea (Pipeline)”). These fields will have a gray ID number next to each drop down item:

Pipedrive stage drop down

What To Do When Values Across Apps Don't Match#

When you want to map in an object ID (like a Contact, Person, or Deal) from one app to another app, you'll need to add a Find Step for the action app and search by a certain field:

Salesforce Find a Contact step

If the Find Step finds a matching object, it will return all of its data, including the ID number, which you can map in for your custom value:

Gif of selecting ID from Salesforce Find Step output

If the Find step is unable to find a match, the Zap will either stop running or create a new object depending on how the step is configured. If an object is created, the new object ID will be returned and can be mapped.

If you need to use a Find step but aren't able to search by a common field or value (like product name vs. list), you can map in the output of a Lookup Table instead. To learn more about how to use a Lookup Table, check out this tutorial.

Why Is My Zap Hitting An Error?#

Your Zap will error if the custom value either doesn't appear in the dropdown list (like a contact ID from a different app) or isn't in the correct format (like a name instead of an ID number).

If you're mapping in a custom value from an object you've created in a previous step, it may not exist yet. You can resolve this by adding a Delay step after your Create step to give the app some time to process. Read more about Delay steps here.

Some dropdowns require a single value to work correctly. For example, the dropdown for a Google Sheets Spreadsheet cannot take custom values since it has to immediately generate the worksheets and columns of the selected sheet.

↑ Was this documentation useful? Yes No (Suggest Edits)

Field Types#

When you are setting up your Action's template you'll notice that some fields have icons next to them. That's because certain field types are looking for certain formats of data. In this guide we'll cover those field types so you can make sure you're sending on the right kind of data and avoid running into errors.


Found an Icon and not sure what it means? Select your icon's title below to find out more.

Datetime fields

Number fields

True/False (Boolean) fields

File fields

Decimal fields

Field descriptions#

Find descriptions for each field type below.


Datetime fields are only looking for a date to be sent on. They can also be fairly complicated, but we do our best to interpret any date or time you throw at us! For example, all of the below are supported:

  • tomorrow at noon
  • next friday at 7pm
  • 2/13/2014 8pm EST
  • 2014-02-26T16:56 (standard ISO format)
  • 1393462573 (a unix timestamp)

If you don't provide a timezone, we'll assume the timezone you have configured in your Zapier Profile. Nevertheless, there are some specific integrations where providing a timezone might not work as expected. If you think this is affecting your Zap, you can contact us so we can help take a closer look.

You can also modify your dates with dynamic modifications. These are useful if you want to add or subtract time from your date field.

It’s important to note that the datetime examples above will only work if the field on the action side contains the calendar and clock icon like this:

datetime icons

Numbers or Integers#

Numbers are very common in the world of Zapier and we do our best to convert information we receive into a clean number. For example, something like 2 burritos will be turned into 2.


Often with these fields you'll see a dropdown with apparently "non-number" options in them (such as name or email), but don't be fooled! Lots of apps have ID’s that identify related objects, and you'll need to remember to select an item or send on the correct number!

If you have a drop-down that’s expecting a contact ID of sorts and you want to use a field from the trigger to make the selection more dynamic, you will need to choose a field with an ID next to it. You can read more about those here.



True/False - Boolean - Using Checkboxes#

We do our best to turn normal words into their proper true or false representations. For example, "yes" is "true", as is "1" or any string at all! "No" is "false", as is "0" or "f" among others. You will need to look in your Zap to see how those fields are being represented based on the app you're using. If you click on the "Insert Fields" button, you'll be able to locate the checkbox field and see how those values are being presented.

If you are looking to set up a condition where certain action are taken based on whether a checkbox is checked or not, you will need to setup 2 Zaps with custom filters in each one. One Zap would have filter for true value and the other Zap would have a filter for the false value. These values can change depending on how the app sends over those checkbox values.


Here are some examples showing how Jotform sends over those values.


When we reference files on Zapier, we mean the actual file object, and not a text field describing the file. For example, a file would be a photo itself, a field describing that file might be the Name, or the URL for that photo. If you put a string of text in a file field, we'll convert it to a .txt file for you. If you give us a URL, we'll inspect the URL and try to load in the data there and name it properly. And, if the item is a file from the trigger side, we'll bring it along.

Note: inserting multiple file fields into a single file field is unsupported.

Quick reference: - File: passes file to action app - URL: passes data from URL in the form of a single file to action app - Text: creates a .txt file containing the field contents and uploads to action app*

Decimals or Floats#

Decimals are pretty common and contrary to popular belief, they are not currency specific! They are very similar to numbers/integers except we'll allow a decimal here or add it if it is missing.


An array is a list of data. For example, invoicing apps that have "line items" will often send and receive this data as an array. Arrays pop up in a lot of situations, for example: line items, checklists, addresses, etc.

We only have really limited support for arrays right now, so only certain apps and certain triggers and actions have this functionality.

You can see which fields on an action support line items as they are indented in a box like this:

You are welcome to insert single values in here (for example, no line item in the trigger and array support only on the action), but when given a trigger that provides arrays we will automatically create as many items as needed (for example, array support in both the trigger and action).

This means to send and receive data as an array, you'll need to make sure both the trigger and action both support this.

This will be clarified on the actual trigger and action when you are setting up the Zap like this: with line item support

Arrays are mostly automatic, you just insert what you want to map to this field and we'll figure out the rest for you. If you have a different or specific use case for this, please get in touch and we'll be happy to advise further.

↑ Was this documentation useful? Yes No (Suggest Edits)

Creating Infinite Email Addresses Using Your Gmail Inbox#

Do you need to test a Zap by adding an email address to an application, such as MailChimp? Perhaps you are adding contacts to Pipedrive and you are running out of real email addresses to use. Sometimes, you have to use a live email address -- perhaps part of the test is receiving an email at the address. Most people have access to two or three email addresses they can use for testing. After you have already used up the email addresses you have, what do you do? Here's an idea!

You can use a Google-powered email address (it doesn't have to end in -- it can be a Google Apps for Business email address) to simulate new addresses to test with that will all go to your SAME inbox.

If you add "+" and then any combination of numbers or letters after the local portion of the address, before the "@," you will have an email address that will go to the same inbox but function as a new contact in your application.

So for example if your email address is, you could use,,, and they would all function as new contacts in your application and be valid email addresses to reach your inbox.

↑ Was this documentation useful? Yes No (Suggest Edits)

How to Connect a Find/Search Step to an Update Step#


Depending on the Integration you use in Zapier, some of them offer a way of Updating data in a particular app. But one thing to keep in mind here is that an Update step would always require a Search step in order to function.

For example, The Trello Integration has an Update Card Action:

Trello Update Card selection Screenshot

What you'll notice when setting this up is that it needs to identify the Card that needs to be updated:

Trello Update Card template showing Card Portion

In order to do that, adding a Search step would be integral. In this case, clicking on the "Add a Search Step" button adds said function to your Zap:

Screenshot showing Find Card Step was added to Zap

You would then need to configure the setting for such search step. This usually involves mapping out a field from the Trigger app that identifies which Card needs to be updated in Trello

Once you've done that, you would then need to test the Search Step. This, in turn, would give out information pertaining to a Trello Card. Included in this is the ID of a Card:

Screenshot showing the ID produces by the Find Card Step Action

The final piece of the puzzle is using that ID to connect the Search step to the Update step. If there's already a value in the "Card" field in your Update Card Action, this step has already been done for you.

If that field isn't filled in, what needs to be done now is to map out the field ID from Search Step (step 2) as a custom value under the "Card" field in the Update step (Step 3)

Gif showing how to use ID produced by the Find Card Step Action in the Card portion of the Trello Update Card Action

This tells the Zap which card needs to be updated based on the results of the search.

↑ Was this documentation useful? Yes No (Suggest Edits)
Get Help