The XRay.Tech Blog

XRay automated Journey's onboarding process for faster, more reliable results and a consistent source of truth.
Filters
View all
Category one
Category two
Category three
Category four
Search
Clear
Filter by category
Clear
Filter by tools
Clear
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Tag
Showing 0 of 100
Tutorial
October 7, 2024
How to automate Anthropic’s Claude with Zapier

AI and no-code automation are a natural pairing. 

You can take the ability of an AI like Claude to generate and analyze text, and combine it with automation’s time-saving potential to produce a fast, efficient, and effective workflow. 

That’s why in this tutorial, we’re going to show you how to automate Claude by Anthropic with Zapier. 

To begin, we’ll give you a brief overview of what Zapier is and what it does for the uninitiated.

Then, we’ll show you how to set up your Anthropic account and connect it to Zapier. 

Finally, we’ll walk you through the process of building an example automation that sends a prompt to Claude to extract action items from any email that you tag with a custom label. 

What is Zapier?

Before we dive into automating Claude, we’re going to quickly cover what Zapier is and how it works for anyone who might not be familiar with it. 

Zapier is a no-code automation provider. It lets you build automated workflows by connecting your web apps together. 

When an event happens in one app, one or more automatic events will be performed in other apps. 

The automation we’ll build in this tutorial

For instance, in the automation – or “Zap” – we’re going to build today, everything kicks off when we apply a custom label to an email in Gmail. 

Then, Zapier sends a preconfigured prompt to Claude that includes text from the email’s body. 

Finally, the Zap automatically sends an email back to us with the action items that Claude extracted from the original email. 

In short, it will give you a summary with a single click. And you don’t need to write any code to build it. 

Connect thousands of apps to Claude with Zapier

You should know that even though we’re just gonna connect Gmail and Claude in this tutorial, Zapier supports over 7,500 apps right now - and that number’s always growing.

The odds are good that Zapier can automate the apps you already use every day. 

While Zapier does have a free plan, you’ll need a paid plan to build automations like this with more than two steps. 

You can learn more about using Zapier in our Zapier beginner’s guide here. If you’re brand new to Zapier, we’d strongly recommend checking out that guide before proceeding with this tutorial. 

Note that Zapier’s UI has already changed in the few months since we posted that guide. However, everything still works the same under the hood. 

Set up your Anthropic account for API access

In order to start automating Claude with Zapier, you’ll need to set up an Anthropic Console account, and you’ll need to set up an API billing plan. 

That’s because Zapier is going to access Anthropic through its API, or “Application programming interface”. 

You can learn more about what APIs are here. 

Adding an API billing plan to your Anthropic account 

Go to console.anthropic.com and sign in with your existing Anthropic account, or create a new one. If you’re making a new account, you’ll need to provide a couple details about your organization.

Once you’re signed in, click on “Settings”. Then choose “Plans & billing”. 

New Anthropic console accounts always begin on the “Evaluation” plan, which doesn’t grant access to Anthropic’s API. 

Click on “Select Plan” to see your options. 

You can either go with the “Build” plan, which will require you to load up your account with prepaid credits, or the “Scale” plan, which will bill you monthly for your activity. 

The “Scale” plan will require you to contact Anthropic’s sales team, so to get set up fast, it’s best to just go with the “Build” plan. 

You’ll just have to provide some details about how you plan to use Claude, and where you’re located. Then, you can add a payment method and credits. 

Note that you won’t need to pay any kind of subscription fee. You’ll only be charged for the credits you add to your account. 

The good news is that running prompts through Claude’s API is generally going to be very cheap - often just a cent or less for each one. 

You can learn more about pricing details on this pricing page. 

Once you’ve created a console account and added a payment method, you’ll be ready to connect Anthropic to Zapier. 

Connect your Anthropic account to Zapier

To connect Anthropic to Zapier, start by signing in to Zapier. 

Click on “Apps” in the left hand menu. Then, choose “Add connection”. 

Search for “Claude” or “Anthropic” to find the app, and choose it from the list of results. 

You just need one piece of information to authorize Zapier to access your Anthropic account - an API key. 

To create an API key, go back to the Anthropic console. You can follow the handy link that Zapier provides. 

Then, on the “API keys” page in the Settings tab, just click on “Create Key”. 

Give your key a unique and descriptive name so that you know what it’s for. You’ll be able to track usage by key, so we’d recommend naming it something like “Zapier Key” so you can see how much API activity is coming from your Zaps. 

Choose a workspace for your key, and click “Create key” to finish. 

Then, make sure to copy the key before closing this window, since Anthropic won’t reveal it to you in full again. 

Paste it into Zapier, and click Continue.

Now, your Anthropic connection in Zapier is all set, and you’re ready to start building an automation. 

Creating a Zap to automate Anthropic (Claude)

To build a Zap that automates Claude, begin by clicking on “Zaps”. Then, create a new Zap. 

As mentioned earlier, the automation that we’re going to build will start whenever we apply a custom label to an email in Gmail. 

Even though we’re going to be building an automation that uses Gmail specifically, the same principles will apply to any other app that you want to connect with Claude. 

So if you want to build an automation that launches prompts from Microsoft Teams, or from Hubspot, the information in this tutorial will still help you out. This is just one specific example that illustrates some general concepts. 

Preparing your test data

We’ll start by making our test data first. For our example, we’ll create a custom label in GMail – “Summarize with Claude” – and add it to an email so that we’ll have some test data to work with as we’re building the automation. 

Always make sure you have some test data to use before you build your automation. 

Below, you can see a perfect candidate for this automation – exactly the kind of wordy, demanding email you’re probably all too familiar with. 

Create a trigger for your automation 

Once your test data is ready, add a trigger to your Zap. The “trigger” controls when the Zap runs. 

Choose an app for your trigger. For our example, the triggering event will occur in GMail. 

Next, select a specific event that will trigger your automation. In our example, that event will be a newly labeled email. 

Note that you will need to connect your Google account to automate it with Zapier, but you won’t need to mess around with API keys or anything like you had to with Claude. 

You’ll just need to sign in to Google and click a button to approve Zapier. 

Configuring your trigger

Next, configure the specific settings for your trigger. Configuring the GMail trigger in our example is extremely simple. 

All you have to do is identify the label that you want the automation to trigger for. In this case, that will be our custom label - “Summarize with Claude”. 

With the trigger configured, you can give it a test to pull in some data. This test data is required to build the other steps in the automation, and will show you what kind of information Zapier can retrieve and work with. 

After a successful test, you can see a long list of data, like the email addresses of the sender and recipient, the email body, and many other items that you typically won’t need to use. 

Send an automated prompt to Claude

With a successfully tested trigger, you can now add a step to your Zap that sends a prompt to Claude. 

Add an action, and choose “Anthropic (Claude)” as the app. 

For the time being, there’s only one choice for an action: “Send message.” Pick that, and choose your connected Anthropic account if it’s not already selected. 

Then, click “Continue.”

Unlike the trigger, there are several options to configure here - and you can find even more by setting “Show Advanced Options” to “True.” 

Configuring your automated prompt

As you configure your prompt, note that only fields marked with an asterisk are required. You could just fill out your message and leave all of the other settings to their defaults if you want to get set up quickly. 

However,  configuring your action a little more precisely usually pays off. 

User message

First, you’ll see the “User Message” field. Here, you’re just going to enter a prompt pretty much like you would if you were chatting with Claude directly. 

The most important difference is that you can also include dynamic data retrieved from previous steps in the Zap.

For example, we can include the body of the email that triggered the Zap so that Claude can analyze it and find action items. 

System

Under “System,” you can provide instructions for the role that Claude should assume. Entering additional information here can help to shape Claude’s style and approach to answering your user message.

Model

Next, you can choose a model to use. 

You can check out this page for more information about pricing and performance to inform your choice. 

We’d recommend going with a faster model for any Zap that uses Claude. Zapier won’t wait indefinitely for a response, so you’ll want to prioritize getting a reply quickly, even if that means you can’t always use the latest and greatest model.

Memory key

In the “Memory Key” field, you can provide a unique key to connect your conversation with previous ones. 

For example, if we use a key like “EmailActionItems”, then Claude will use previous conversations with the “EmailActionItems” key as context, until it hits its context limit. 

This can be a good way to give your conversations more depth and to improve the results over time.

Image

Next, there’s an option to upload images so Claude can use “vision” to analyze them. 

We won’t attach an image to this prompt in our example, but keep in mind that you could add images here as dynamic data retrieved from earlier steps - such as an image attached to the original email. 

Max Tokens

In the “Max Tokens” field, you can set a token limit if you'd like to keep the response short and your API charges low.

Temperature, Top K, Top P

Finally, there are settings for “Temperature,” “Top K,” and “Top P.” 

All of these settings are about changing the predictability or creativity of the AI. 

We won’t get into all of the technical nuts and bolts about how these work – if you’re interested in the details, you can explore this IBM documentation to learn more about how these factors influence an AI’s output. 

However, for most users, reading the descriptions in Zapier will be fine. 

In our example, we’ll set “Temperature” to .7 to make the answers a little more creative, but not all the way at the max of 1. 

Testing the prompt

Once you’ve configured all of your settings, you can give your prompt action a test. Note that running a test on a Claude prompt in Zapier will actually send the prompt to Anthropic’s API, and will incur a small charge on your account. 

Our test was a success, and we can scroll down past the user message to see Claude’s answer.

 

Not bad. This definitely produces a much more readable list of tasks than the original email. 

But you can always tweak your prompt, system message, and settings to fine tune your results if you’re not satisfied.

Send Claude’s response to another app

Now that we’ve got a response from the AI, the last thing we need to do is make sure the output actually gets sent to us somewhere we can easily read it. 

Again, you could send it to thousands of different apps, but we’ll just go with the logical choice and send it right back to our Gmail inbox.

Add another action to your Zap

Add another action to the Zap, and choose Gmail as the app again. For the action, we’re going to choose “Reply to email.” 

Then continue to the configuration. 

First, you need to identify a thread to reply to. 

Change the field to “Custom” instead of “Static,” and insert the thread ID retrieved in the trigger. 

For the “To” email, just enter your own email.

By only entering your own email here, you can make sure that the reply doesn’t get sent to the original sender. 

CC and BCC are optional, but you will need to enter a “from email” - that can be your email address again. 

You’ll also need a “from name.”

Keep the body type as plain, type up a brief message, and insert Claude’s response from the previous step. It’s the “Response content text” variable. 

You don’t need to add any labels or attachments, so you can continue and test. 

After your successful test in Zapier, check your Gmail inbox to see the final message. 

Now, you can turn the Zap on and start using it. 

Once it’s on, it will trigger after you add a label to an email. However, it won’t be immediate. 

Zapier will check for new emails at set intervals, which you can see here in the left-hand menu of the Zap builder. 

Depending on your plan, you may have to wait up to 15 minutes. But on higher subscription levels, you can reduce the wait down to just a minute. 

Combine Anthropic and Zapier for automated AI prompts

Anthropic and Zapier are a winning combination that will help you line up your daily tasks and knock them down in record time. Getting started is easy, and after you’ve completed this tutorial, you can try connecting Anthropic with any other apps that you want. 

To learn more about optimizing your workflows with AI and automation, check out the other tutorials on our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Tutorial
September 30, 2024
How to Use the New Keyboard Shortcuts in Google Drive

If you’ve opened Drive recently, you’ve probably seen an announcement about new shortcuts.

An announcement in Drive about new keyboard shortcuts

Google Drive has always supported keyboard shortcuts for common actions like creating new documents and folders, but these new shortcuts work a bit differently. 

We’ve put together this quick tutorial to help Google Drive power users get a handle on these new keyboard commands. 

Google Drive Keyboard Shortcuts - Creating new items

To create any new item, such as a doc, a slide deck, or a folder, begin by pressing Control + C on Mac. 

If you’re using a Windows PC, you’ll use Alt + C instead. 

Pressing Control + C to start creating a new item in Drive

Then, press a key that corresponds with whatever you want to create, like “F” for a new folder. 

Press F to create a new folder

NOTE - you will need to release Ctrl + C or Alt + C before pressing the single letter that will create a new item. 

Once you’ve created a new folder, you can use the Enter or Return key to open it up. 

Press enter or return to open a folder

Creating new docs, slide decks, sheets, and forms

The Control + C or Alt + C combination is how you’ll start creating new items. The following combinations will use the same pattern to let you easily make presentations, forms, spreadsheets, and docs. 

Mac OS

• New Google Slides Presentation = Control + C, then P

• New Google Form = Control + C, then O

• New Google Sheet = Control + C, then S

• New Google Doc  = Control + C, then T

Windows

• New Google Slides Presentation = Alt + C, then P

• New Google Form = Alt + C, then O

• New Google Sheet = Alt + C, then S

• New Google Doc  = Alt + C, then T

If you’re not sure what the keys are, you could just use the POST acronym to remember them:

Presentation

Form

Sheet

DocumenT

If you ever need a refresher, or want to explore some of the other shortcuts available in Drive, you can find the full list of all Google Drive shortcuts here. 

Creating items in Google Drive with URL shortcuts

Alternatively, you can also create new items in Google Drive by simply typing a “.new” address into your browser’s URL bar. 

For instance, navigating to the “docs.new” URL creates a new Doc in your Drive. 

Creating a new document by entering "docs.new" into the URL bar

Similarly, “sheets.new” creates a new Google Sheet. 

Creating a new spreadsheet by entering "sheets.new" into the URL bar

Note that you will need to be signed in to Google Drive for these URL shortcuts to work. 

Whether you use these shortcuts or the new hotkeys, using these little tricks can make your daily tasks in Google Drive a little bit faster. 

Level up your productivity with workflow automation 

If you’d like to take your productivity to the next level, check out XRay’s workflow automation tutorials on our blog or on our YouTube channel. 

Each week, we’ll show you new ways to automate the software you use every day, like Google Drive, Slack, ChatGPT and more. 

You can also learn more about the services we offer for small businesses and enterprises, as well as the free products we’ve built to help our fellow workflow designers. 

And if you want to get the latest updates about our content, you can also follow XRay on Twitter, Facebook, or LinkedIn.

Tutorial
September 23, 2024
How to Create Scenario Variables in Make (Integromat)

Sometimes, the data that Make retrieves from your automated apps doesn't have all the information you need. 

When you need to add some numbers, text, dates, or other info to your Make scenarios, you can use Variables to fill in the gaps. 

In this tutorial, we’re going to show you how to create and use scenario variables in Make, formerly Integromat.  

How to create a scenario variable in Make

First, let’s go over the process of creating scenario variables in Make. 

Scenario variables are custom, user-created variables that only exist within the scenario you create them in. You can set their names and values to whatever you’d like. 

To create a custom variable, add a “Tools” module to your scenario. 

The "Tools" module in Make

Then, choose “Set variable.”

The "Set variable" action within the tools module

You can enter anything you’d like for your variable name. You can even have spaces if you want, but we’d recommend making them all one word, and just use CamelCase like in the screenshot below for clarity.

Entering a name for a new variable

You’ll have to use your variable name to retrieve it later, so it’s best to make sure you can easily and accurately type it out each time. 

Then, provide a value for your variable. 

How to set a Make variable to a numeric value

NOTE: Directly entering a number as the variable value will not make it a valid number. 

If you type text directly into the “value” field, the text will be a string. This means that if you type “52”, for instance, your variable’s value will be a piece of text that says “52”, not the number 52. 

If you try to add 1 to the variable in a subsequent module, the value will become a string that says “521”, not 53.

If you want to make your variable a number, then use the parseNumber function, and enter your number as the first argument (before the semicolon). 

Using the parseNumber function to create a numeric variable

If your number has a decimal, enter the decimal separator as the second argument (after the semicolon). Otherwise, just leave it blank. 

You’ll need to use a similar formula in order to enter a valid date. You would use the parseDate function, enter your date, and so on. 

Referencing your variable in a subsequent module

Once you’ve configured your variable’s title and value, click “OK” to commit your settings. 

Whenever this module runs, it will set the value of your variable to whatever you specified. 

Then, you can use the variable in subsequent steps just like any other data processed in Make. For instance, we’ll use Slack like a makeshift dev console in the screenshot below, and send the variable as part of a simple message. 

Referencing a variable in another module

Scenario variables are a great way to create data that isn’t present in the automations you’re building. 

A Slack message displaying the value of the variable

They’re especially useful if you don’t want to store that information in an external source like Airtable or SmartSuite. 

Update a variable’s value

To automatically change the value of your variable while your scenario is running, just add another “set variable” step. Specify the variable name, using the exact name of the variable you want to update. 

Remember, it’s case sensitive. 

Then, enter the new value you want to assign. You can enter an arbitrary value directly, or you can calculate the new value based on the earlier value. 

For instance, we’ll just add “1” to the previous value of the variable. 

Adding to the existing value of the variable

Now, whenever this module runs, it will add “1” to the value of the variable. 

We’ll add another Slack step and run the scenario to see the full output. 

A Slack module referencing the updated variable

The first message shows the original value of the variable – 52 – and the second message shows its updated value of 53. 

A Slack message displaying the original value and updated value of the variable

Retrieve a variable’s value from another path

Let’s wrap up this tutorial on scenario variables with a quick look at how you can retrieve the current value of any variable. 

In many cases, you can often just grab the variable from the last module that set its value, but this won’t work if the variable was last set in a different path. 

For instance, in the scenario pictured below, the Slack module in the second path can’t directly retrieve the variable set in the first path. 

A Make scenario with two paths

To retrieve the value of a variable that’s been set in a different path you can use “Get variable” to retrieve the current value of the variable. 

Adding a "Get variable" step to the second path

Just enter the name of the variable to find it. As always, you’ll need to write it exactly the same way as the module that sets its value. 

Entering a variable name into the "Get Variable" module

Then, you can use the variable retrieved by the “Get” step in any subsequent modules in the path. 

Using the retrieved variable in subsequent steps

Just remember to consider the order that your paths will run in. They’re numbered (1st, 2nd, etc) so you can tell which paths Make will attempt to run first. 

The updated scenario with a "get variable" step

Also, consider which paths you expect to run for each piece of data your scenario processes. Depending on the timing, you could always add a short delay step, to ensure the proper order of things. 

Augment your Make scenarios with custom variables

Scenario variables are a useful little tool that can make it much easier to build the automations you want, even if you’re not getting all the data you need directly from your apps. 

If you’d like to learn more about automating your work with Make, Zapier, and other no-code tools, be sure to check out the other posts on our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Tutorial
September 16, 2024
10+ Settings You Should Know About in Zapier

Zapier is constantly changing. Just months after a visual overhaul, the automation provider has already adopted a new color scheme and layout, opting for purple highlights to replace their famous vibrant shade of orange. 

But some of the most important changes aren’t so immediately apparent. Recent updates have brought several new settings to the Zap builder interface. Some of these settings are brand new, while others have just been relocated into a more convenient spot. 

In this post, we’ll walk you through all of the settings that are available in the current iteration of the Zap builder, and how you can use them to get the most out of your automations in Zapier. 

Where to find Zap settings

To find all the settings we cover in this post, just open an existing Zap in your account or create a new one. If you’re looking at an existing Zap, make sure you’re in “Edit” mode. 

You’ll see a vertical menu bar on the left hand side of the screen. 

Zap Settings on the Left Side of the Zapier Interface

We’ll go through each option in this menu from top to bottom. 

Linked assets

Linked assets let you create and attach tables and interfaces directly to your Zap, or view the tables and interfaces that are already referenced in your Zap.  

Linked Assets menu opened

While we generally wouldn’t recommend Zapier tables and interfaces for advanced use cases, they can be very useful if you're just getting started with your automation journey. 

If you’re not using a dedicated no-code database Airtable or Smart Suite already, and you're not creating interfaces in an app like Softr, then Zapier’s versions of these tools can be convenient substitutes that keep all of your resources in one app. 

If you’d like to learn more about using Zapier tables, we’ve created a tutorial for it here. You can also check out our guide to Zapier interfaces to learn more about them

Note that both of those tutorials feature an older version of Zapier’s UI. 

Zap details

Next up is “Zap details”. The information in this section has been available for a while in Zapier, but was previously inaccessible inside of the Zap builder itself. 

Here, you can see the folder that your current Zap is stored in or move it to a new folder.

Zap Details Panel open

You can also edit the Zap’s timezone, which is particularly important if your Zap uses a scheduled trigger (e.g., if it runs every Monday at 9:30AM). 

Additional Timezone info in Zap Details

Finally, you can use the “Zap details” section to create a template out of your Zap. Creating a template will let you easily share the basic setup of your Zap with your team or with other Zapier users on the web. 

Create a Template option at the bottom of Zap Details

Notes

Now let’s take a look at Notes. This feature wasn’t added in Zapier’s most recent round of updates, but it was still added to the app relatively recently, so we know it’s probably slipped under the radar for a lot of builders. 

Zap Notes Menu open

“Notes” lets you add brief text descriptions to the Zap as a whole, as well as each step. After creating a Zap, you can even use AI to generate a summary of your automation and what it does. 

Creating and Regenerating Zap Note window open

Adding notes to your Zap and its individual steps is an extremely useful form of documentation for anyone building automations with their team. 

Zap Notes Documenting a Zap

Once you’ve added a note to a step, you can click on the note icon to view it, or just view it from the notes menu on the left. 

Change history

The next menu option, Change history, shows you every key update to your Zap since it’s been created. You’ll see every time it’s been published, and every time the Zap has been turned on or off. 

Change History Menu open

For instance, in the example above, the Zap was last turned off by a user, but in other cases, a Zap might be turned off automatically due to encountering excessive errors.   

If you have multiple people building Zaps in your workspace, this is going to be a really helpful feature for showing who is doing what in each automation. 

Zap runs

For many, “Zap runs” will likely be one of your most commonly used menu options. If you ever encounter an error, or something unexpected happening in your automations, “Zap runs” and “Zap history” are going to be the first two places to check in order to discover what exactly is going on. 

Zap Runs menu open

“Zap runs” will show you a record of every time your Zap has run within the last 30 days. You can filter this data with keywords, a custom date range, and a status (e.g., successful, errored, paused, etc.)

Filtering through the Zap History from the Zap Runs Menu

If you want to see Zap runs that are more than 30 days old, you’ll need to click on “Zap history” to see older records. 

Advanced settings: flood protection, polling interval, and more

If you're a power user, the “Advanced settings” menu option lets you finally control several choices that you’ve probably been hoping to access for a long time. 

Autoreplay override

Your first choice here is “Autoreplay override”. This will let you choose whether or not the Zap should automatically replay errored runs. 

Autoreplay Override with "Never replay" selected

15

Error ratio override

Next, you’ll see a choice for “Error ratio override”. By default, Zapier will automatically turn off any Zaps that encounter a high number of errors. It's usually best to leave this setting enabled, but sometimes you might have a mission-critical Zap that you want to keep running, even if one or two steps are having problems.

Error ratio override with the selection to turn off if many errors occur

In that case, you can select “keep running if errors occur” to keep your Zap on, even when it keeps encountering errors. 

However, we'd only recommend disabling the setting if you're closely monitoring your zaps, because you could end up wasting a lot of tasks or creating other problems by leaving zaps on when they're not working properly.

Flood protection

Flood protection lets you configure how many times the Zap can be triggered at once before it shuts down. 

Flood protection setting to select how many tasks can run before holding new events

This setting is designed to make sure that you don't eat up all your plan’s tasks at once due to a setup error, like a misconfigured Zap that triggers on an infinite loop. 

However, if you plan on processing large amounts of data at once with your Zap, you’ll probably want to configure this setting with a higher limit.

For instance, if you're using your Zap to execute a data migration and expect to process hundreds of records at a time, you’ll likely want to raise the flood protection limit to a higher setting. 

Polling interval

The last choice under advanced settings is “Polling interval”. 

Polling interval setting open and set to 5

A Zap’s Polling Interval refers to how often Zapier will check for new data. Let’s say you have a Zap that runs whenever you get a new email in your inbox. With a polling interval of 10, Zapier will check your inbox for new messages every 10 minutes. 

In many cases, you’ll want to set your polling interval as low as possible so you can run your Zaps and use their outputs quickly. However, to access the shortest intervals, you’ll need to have a higher subscription level.

Status

If there are any outstanding alerts or warnings attached to your Zap, then you’ll see the Status icon on the left hand menu, along with the number of alerts.

Status menu with Alerts visible

Currently, the status icon isn’t visible if your Zap doesn’t have any active alerts, though we’re not sure if this is an error or intended behavior. 

Status alerts will warn you about issues like errors in your Zap setup, or out-of-date integrations that are used in your Zap. 

Just click on the status icon to learn more and start fixing the problems. 

Versions

Last in the main menu selection, you’ll find “Versions”. Here, you can see every unique version of your app that you've saved since you initially created it.

Versions menu open

You’ll see every version that’s been published by you and your team, along with the version title (if any). From here, you can also roll back to any of these previous versions if you’d like to reverse a recent update. 

AI Copilot

Finally, at the bottom of the screen, beneath all the main menu items, you can find Zapier’s AI Copilot. 

AI Copilot option at the bottom left of the interface open

With the AI copilot, you can add steps to your Zap by simply describing what you want to build. The copilot won’t be able to configure your steps in full (at least for now), but it will at least be able to choose the right apps and actions and add them to your automation. 

AI Copilot option in the middle of answering a prompt

It’s typically most useful when you’re starting a new Zap. By just typing a few quick sentences, you can get the copilot to set up a good starting point for your automation. 

Co pilot menu with several prompt options available

Get the most out of your Zaps with these advanced settings

Zapier is constantly making updates to their platform. While a lot of these are pretty inconsequential, like the ever changing style of the UI, some of them can actually be pretty important.

If you're a zap your power user, be sure to check out the new options for managing your zaps right inside the Zap builder. The advanced settings specifically will finally give you the control you've been longing for.

If you’d like to learn more about automating your work with Zapier, Make, and other software, be sure to check out our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Tutorial
September 9, 2024
How to Automate ChatGPT with Zapier

Did you know you can run your ChatGPT prompts without even opening up your browser?

Automating your prompts lets you get even more done with AI, turning an individual workflow into a reliable, scalable process for you and your team. 

In this post, we’re going to show you how to easily start automating ChatGPT with Zapier.

We’ll start by demonstrating how to connect your ChatGPT account to Zapier. Then, we’ll walk you through a couple of your best options for sending automated prompts. 

Connecting ChatGPT to Zapier

Before you can automate ChatGPT with Zapier, you’ll need to connect your ChatGPT account to your Zapier account. 

You’ll also need to have payment on file with OpenAI to cover the API charges, which are typically going to be very low. You can check out OpenAI’s pricing page for more specific detail, but we’re usually talking about a few cents per prompt at most. 

Managing your OpenAI account through the developer platform

To connect your account and set up your payment method, you’ll need to go to platform.openai.com and sign in with your OpenAI account. 

You can use the same credentials that you use to login to ChatGPT, but you can’t use the usual chatbot interface for these settings. Automating ChatGPT with Zapier requires you to use the API instead. 

Even though you’ll need to access the developer platform, don’t worry. You don’t need to write any code to automate ChatGPT as long as you’re using software like Zapier. 

Adding a payment method to OpenAI

First, to add a payment method to OpenAI and start using the API in your automations, click on the gear to access your settings. 

Click on “Billing” to add payment methods and manage your billing settings. 

Connecting ChatGPT to Zapier

Now let’s walk through connecting your OpenAI account to Zapier. Keep the OpenAI platform open in one tab, and open up Zapier in another tab. 

NOTE: if you’re new to Zapier and want to learn how it works, you can check out our Zapier Beginner’s Guide here to get started. 

Sign in to Zapier, and click on “Apps” in the left hand menu. 

Then, select “Add connection”. 

Search for “ChatGPT” and select it from the list of results. 

Finding your API key and Organization ID for ChatGPT/OpenAI

In order to create the connection, you’ll need to provide an API key, and possibly an Organization ID. 

To get both of these, go back to the OpenAI platform. 

To create an API key, start by clicking on “Dashboard”. 

Then, in the top left hand corner, select a project where you want to create an API key. If you want, you can just stick with the default project. 

Click on ‘API keys’ on the left. 

Then, create a new Secret Key. Be sure to give your key a descriptive name. You can also choose which permissions to grant this key. 

Click “Create secret key” to finish. 

Now, you can copy the secret key to paste it into Zapier. 

If your OpenAI account includes multiple organizations, you can specify which organization to use by providing its ID to Zapier. However, if your account just includes one organization, then this won’t be necessary. 

To get your organization ID, go back to OpenAI, and click on the “Settings” gear. 

On the “General” page, you can see the ID for your currently selected organization. 

Copy it and paste it into Zapier. 

Finish connecting your account by clicking “Yes, Continue to ChatGPT.”

Now your ChatGPT account is connected to Zapier, and you can easily select it whenever you’re building an automation. 

Setting up a simple ChatGPT automation: image analysis

Now that you’ve got your accounts connected, let’s take a look at actually automating ChatGPT with Zapier. We’ll start by showing you a quick prompt using the “Analyze Image” action. 

Create a new Zap and trigger

To begin, you’ll need to make a new Zap and add a trigger. Your trigger can be in any app you want, but note that there aren’t currently any available triggers in ChatGPT. 

For our example pictured below, we’ve created a new Zap with an Airtable trigger. 

This automation will run every time a new record is added to the specified table and view in Airtable. However, as noted earlier, you can use almost any app you want, as long as it has a trigger in Zapier. 

Just do a quick search on XRay.Tools to see what triggers are available for the apps you use every day. 

Add a ChatGPT action to your Zap

Once you’ve added your trigger and tested it to pull in some data, add an action to your Zap. 

Choose ChatGPT as the app. 

You’ll see several options for sending automated prompts to ChatGPT. Most of these are essentially preconfigured prompts. 

For instance, your first choice here is “Analyze Image Content with Vision”, which does exactly what it says. 

All you need to do is fill out a few key pieces of information. Write your prompt, including any dynamic data retrieved from your trigger that you’d like to incorporate, and provide an image.

In our example, we’ll use an image retrieved in the Airtable trigger. 

You can also set a limit for the tokens used in the response. This is a good way to make sure ChatGPT’s responses don’t get too long. 

When you give your prompt a test, you’ll see ChatGPT’s response. In this case, we get a good summary of the image we uploaded. 

Once you’ve set up your ChatGPT action in Zapier, publish your Zap to turn it on. 

Now, your prompt will run the same way every time. 

The only thing that will change will be any variables you provided, like the image from the Airtable record that triggered our example automation. 

That’s how automating ChatGPT with Zapier works in a nutshell, but we know a lot of you will want more control over your prompts than what you can get from that simple “Analyze Image” option. 

So now that we have the basics covered, let’s take a closer look at a much more flexible action: “Conversation”. 

Build a flexible, customized ChatGPT automation with the “Conversation” action

With “Conversation”, you’ll get all the same functionality that you get when you open up ChatGPT in your browser, but with even more options to fine tune the AI’s responses.

It’s a great default choice if you’re not sure which action to use when sending your automated prompt. 

Let’s go through each of the settings now.

Compose a message and choose a model

Your first couple options are very straightforward. 

In the first field, you can write the message you want to send much like you would while using ChatGPT in your browser. 

You can also pick the model you want to use. You’ll have way more options here than you would with the chatbot interface. 

You can check out the OpenAI API pricing page for more details to help you pick the right model for your use case.

Set a memory key for context and provide an optional image

Next, you can provide a memory key. Every time you enter a memory key, ChatGPT will remember previous conversations that also used the same key. This can be a useful way to give your conversations more context over time. 

This action also allows you to provide an image if you’d like to include one in your prompt. Just note that not all ChatGPT models can analyze images. You can find a list of all models with ‘vision’ on this OpenAI page. 

Create an “assistant” identity for the AI and set a token limit

Next, you have a few options to set a username, an assistant name, and assistant instructions. If you fill them out, these options will help to give the AI more context for the role it should perform or the identity it should assume. 

However, it won’t create a new assistant in your OpenAI developer platform. We’ll quickly go over how you can do that – and why you’d want to – at the end of the tutorial. 

Just like with the “Analyze image” action, you can set the maximum tokens to use in the response. 

Adjust max tokens, temperature, and Top P

Finally, you have a couple technical settings you can use to tweak the AI’s output: ‘Temperature” and “Top P”.A higher Temperature will produce more random results, while a lower temperature will tend to be more predictable. 

Top P is a pretty similar option. Here, a lower number will result in more diverse output, while higher numbers will cause the model to stick with only the most probable words. 

If you’d like to learn more about temperature and Top P in more detail, you can explore this documentation from IBM.

For most use cases, you can just leave these to their defaults, but you may want to experiment to see what happens. Changing these can be particularly useful if you're looking for more creative or unusual outputs. 

Testing your prompt

Once your action is fully configured, you can give it a test to see how it runs. 

You’ll be able to see the AI’s response in the “Reply” variable, and you can send this output to any other app with a Zapier integration. 

For instance, you can send it as a DM in Slack as pictured below. 

And here’s what the actual message would look like in Slack:

Once your automation is all set, just publish it and turn it on to start using it. 

Using “Conversation with Assistant” for frequently repeated ChatGPT tasks

We briefly mentioned the concept of “Assistants” earlier, and as you explore AI automation further, we’d strongly recommend checking out the “Conversation with Assistant” option.

So what’s an Assistant?

In the OpenAI developer platform, an “Assistant” is a predefined set of instructions for ChatGPT to follow. 

You can easily create one in the developer platform without writing any code at all. 

In addition to text-based instructions, you can also give your assistant documents to use as context, like images or PDFs. 

If you’re looking into automating ChatGPT, then you probably have some similar prompts and activities you keep using AI for. Assistants are a good way to provide the context and depth you need for your repeated AI tasks. 

Your assistant will also be available to access from multiple automation providers, like Make and Pipedream. 

If you use the “Conversation with Assistant” action in Zapier, then you can just select your assistant from a dropdown and use all of its preconfigured settings for your automated prompt without needing to fill out all of the options again. 

Although you will also have the choice of overriding most parameters from Zapier if you’d like to. 

Ultimately, it’s up to you. Both “Conversation” options offer similar settings, but the Assistant option can help to quickly create several automations that reference the same AI persona, from any automation provider you want. 

Amplify AI’s time-saving benefits with automation

ChatGPT is already a massive time saver on its own, but automating your most commonly used prompts will make it even more efficient for you and your team. Connecting ChatGPT to Zapier is easy, and gives you all the options you need to craft any prompt you want. 

If you’d like to learn more about workflow automation and AI, be sure to check out the other posts on our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Tutorial
September 2, 2024
How to Automatically Convert PDFs to CSVs with PDF.co and Zapier

When it comes to automating data extraction from PDF files, PDF.co is a powerful tool that can convert your PDFs into neatly structured CSV files. 

Whether you're dealing with invoices, reports, or any document containing tabular data, PDF.co makes it easy to convert your file in just a few clicks. But if you’d like to create an even more efficient workflow, you can also connect PDF.co to Zapier to automate the entire process. 

In this blog post, we'll guide you through the steps of using PDF.co and Zapier to automate your PDF to CSV conversions, streamlining your workflow and eliminating manual tasks.

Getting Started with PDF.co

To begin, you'll need to set up a free account with PDF.co. Once logged in, go to the dashboard.

Right at the top of the dashboard, you’ll see two key pieces of information: your available credits, and your account’s API key. 

PDF.co offers a one-time supply of 10,000 credits with a free account, which is more than enough to get started. 

Your API key will allow you to connect PDF.co to automation tools like Zapier and Make, which we’ll explore more later on in this tutorial. 

Converting a file in PDF.co

To convert a PDF to CSV, click on “API tools”. 

Then, scroll down and select the "PDF to CSV" option. You’ll also see several other options to convert your PDF into other file types. 

This next screen may be a little overwhelming if you’ve never worked with code before, but it’s actually much simpler than it initially appears. 

Click on “Add file” to upload the file you want to convert. 

Then, you can configure optional settings in the panel on the left. 

The text on the right defines each setting and offers detailed explanations of how to configure your options. In most cases, you just need to enter a single word or number into the quotes next to each setting. 

For example, the “Line Grouping” setting controls how PDF.co will process text that splits into multiple lines. By enabling it, you can ensure that your CSV will keep multi-line text confined to a single cell, instead of splitting into multiple cells and making your data less organized. 

To enable it, just enter the number 1 into the quotes. 

Once you’ve configured all of your settings, click on “Run request” to begin the conversion. 

Downloading and reviewing the exported CSV  

Once the PDF is converted, click on “Result.csv” to preview the file. 

You can download the CSV file and open it in a spreadsheet application like Google Sheets by clicking on “Download as file” at the bottom of this window. 

You'll notice that any structured data retrieved from the PDF is neatly organized, though you may need to remove some extraneous text rows that were part of the original PDF but not relevant to the table.

Automating PDF.co with Zapier

If you'd prefer to use a more user-friendly interface, or if you want to automate a recurring workflow, you can automate the entire conversion process using Zapier. 

We’ve prepared a Zapier Beginner’s Guide that you can check out here to learn the basics of the popular automation app. 

But here are the basic steps involved in automating PDF.co with Zapier:

Set up a PDF.co connection in Zapier

First, you’ll need to add PDF.co as an integration in your Zapier account. Select “Apps”, then choose “Add connection”. 

Search for PDF.co, and select it from the list of apps. To connect your account, you’ll just need to provide the API key, which you can retrieve from the PDF.co dashboard.

Create a Zap 

Once your PDF.co account is connected to Zapier, you can build an automation (or “Zap”) that will run a conversion whenever a specified event occurs. 

For instance, let's build a Zap that triggers whenever we receive an email with a PDF 

attachment in Gmail. This Zap will automatically convert the attached PDF into a CSV and reply to the original email with the CSV attached.

Configure the Trigger

Your trigger determines when your automation will run. Choose Gmail as the app and set the trigger event to "New Attachment." This ensures that the automation runs every time you receive an email with an attachment.

Choose the folder you want to watch, such as your inbox. You can also add an optional search query to limit the automation to items matching the search. 

Test your trigger to retrieve a recent email with an attachment. 

Add the PDF.co Action

Add a step to your Zap. Choose PDF.co as the app and select “PDF to Anything Converter” as the action. 

Select the PDF.co account you connected earlier and continue to configure the action.

The output format should default to CSV, but if not, you can select it (or any other file type you want) from the dropdown menu. 

For the “Source file URL”, use the attachment from the email. The variable you’re looking for in Zapier is called “Attachment” and will say “Exists, but not shown”. This is normal for files in Zapier. 

Then, you can configure any optional settings you want. For instance, we’ll adjust line grouping again. In Zapier, we just need to set it to “True” to enable it. 

Once you’ve configured your settings, test the step to run the conversion. 

Now, you can send the converted file to any other app integrated with Zapier. In our automation, we’ll attach it in a reply to the original email. 

Reply with an attached CSV 

Add a step to your Zap, and choose Gmail as the app. Select “Reply to Email” as the action. 

In the “Thread” field, you’ll need to provide the ID of the thread you want to reply to. You can find this data in the trigger step by searching for “Thread ID”. 

Even though the “To” field is not marked as required, you will need to provide a recipient for the action to work correctly. We’ll enter our own email there. 

Next, you’ll need to compose a body for your email. We’ll just write a short message explaining that the converted file can be found as an attachment. In this message, we’ll also include a link where we can edit the Zap. 

Finally, you’ll need to attach the exported CSV. Enter the “URL” from the PDF.co action into the Attachment field.

Once the action is all set, give it a test. Check your inbox to confirm that everything worked correctly.

In our inbox, we can see the new reply with an attached CSV. When we open the CSV in sheets, everything looks like we’d expect. 

You can now publish and turn on your automation if you’d like, but there’s one more step we’d recommend to reduce your credit usage in PDF.co.

Adding a filter to your Zap

To further refine your automation, you might want to add a filter in Zapier to ensure that the workflow only runs every step for PDF attachments. This can help avoid unnecessary processing of non-PDF files and conserve your PDF.co credits.

Add a step after your Zap’s trigger, and select “Filter by Zapier”. 

Set your filter condition to: Only continue if “Attachments Filename” contains “.pdf”. This will ensure that the automation only tries to convert

Save time with automatic PDF conversion

By automating the conversion of PDFs to CSVs with PDF.co and Zapier, you can streamline your data processing tasks and free up time for more important work. This automation is a great example of how low-code tools can enhance productivity and reduce manual effort in your workflow. 

If you found this tutorial helpful, be sure to check out the other posts on our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Tutorial
August 26, 2024
How to Create Charts in Notion

Do you need to create visualizations from your Notion data?

With Notion’s new “charts” feature, it just takes a few clicks to convert your tables into bar charts, line graphs and more. 

In this quick tutorial, we’re going to show you how to create a chart in your Notion table and export it as an image file. 

Let’s get started!

Creating a new chart

To begin, open up any page in your Notion workspace. 

You can either add charts as a standalone block on a page by typing “/chart”, or by adding your chart as a new view for an existing database. 

Creating a chart in Notion with the /chart comman

Either way, you’ll see all the same options, and you’ll need to connect your chart to a Notion table as a data source. 

For our example, we’ll add a chart to the “Projects” table pictured below. 

Adding a new view to a Notion table

Click on the plus button next to your table’s existing views to create a new view in your table. Then, select “Chart” at the bottom of the list that pops up. 

Selecting "Chart" from the view list

Notion will create a chart out of your table’s data, which you can configure and customize in the “View options” window. 

A newly created chart in a Notion table

Configuring your chart

You can set the basic layout as a vertical or horizontal bar chart, a line graph, or a donut chart. 

A donut graph in Notion

We’ll choose a vertical bar chart. 

A vertical bar chart in Notion

Adjusting the X and Y axes

Next, you can configure the X axis. 

Your first choice is to designate which field will be tracked on the X axis. In our example, we’ll choose the “Start date” field. 

Options for date fields in a Notion chart

Note that with date fields, you can choose to show the day, week, month or year. You can also choose “Relative” to display the time relative to the current date - for instance, it could show the “last 30 days”. 

Displaying a date by month in a Notion chart

We’ll choose “month”, so we can see the number of projects being started each month. 

You can also set a sort order for the X axis, which we’ll leave to the default of “old to new” in our example, and you can choose to “Omit zero values”.

the "omit zero values" option

Next, you can configure the Y axis. By default, it’s set to display the “count”, which means it will show how many records exist for each data point shown in the X-axis. In our example, the Y-axis is showing how many projects there are in each month. 

However, you can also set your Y-Axis to display any of your other fields, as well. 

Next, you can choose to group the Y-axis data by one of the fields in your table. “Grouping” will look a bit different based on which layout you’ve chosen for your chart.  

Choosing a field to group by in a Notion chart

When we map the grouping to our  “Status” field, Notion will break up the bars in our graph into multiple colored sections - one for each status option represented in that bar. 

A bar chart in Notion with grouping

Just like with the X-axis, you can also choose the sort order for the Y-axis. 

Styling your chart

Under “style”, you can set the color scheme for your chart by picking a specific color palette, or just go with the more varied “colorful” option.

You can also choose “Auto”, which will use colors taken from your table when applicable. 

Customizing the color of a Notion chart

Under “more style options”, you’ll see several options to fine-tune your graph’s layout with settings like chart height, grid lines, axis labels, and more. 

Additional styling options for Notion charts

Below, you can see our finished chart after all of our settings have been configured. 

A finished bar chart in Notion

There are bars for each month broken up by project status, and when you mouse over the data, some more detail pops up. 

Extra detail appears when you mouse over a Notion chart

If you want to change your Notion chart view’s settings at any time, just click on the three dots menu to access the same options. 

Exporting your chart as an image

You can share your chart like any other page or database in Notion. 

Sharing options for Notion charts

However, another simple option that will often work well for collaboration is to export your chart as an image. 

To export your Notion chart as a still image, all you have to do is click on the three dot menu, scroll down to “Save chart as”, and select the image format you want to use. 

Exporting a Notion chart as an image

Choosing a file type for the exported image

Then, you’ll instantly get an image file of your chart. Below, you can see the exported version of our example “Projects” table. 

An exported Notion chart

Of course, you’ll lose some of the detail that you can get by mousing over your live chart in Notion, but this is a great way to quickly export a visualization to add to a report or a website. 

Pricing and limitations

Notion charts are currently available to all Notion users. However, users with a free plan are limited to creating just one chart at a time. 

Notion charts pricing

All paid plans include access to unlimited charts, so most Notion power users should be all set to make as many charts as they want. 

Create simple charts to quickly communicate key takeaways

Notion’s new charts are a simple and effective way to visualize your data, and it only takes a second to export them as an image. Try them out today to start creating useful dashboards and presentations with your data. 

If you’d like to learn more about using no-code tools like Notion, Airtable, Zapier, and Make, be sure to check out the other posts on our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Tutorial
August 19, 2024
How to Add Conditional Logic to Softr Forms

Need more flexibility in your Softr forms? 

With the recently added Conditional form block, you can display different questions based on your users' answers and attributes. 

Conditional form blocks are super easy to set up, and in this video, we’re going to show you how to start using them step by step.

We’ll demonstrate two different ways you can apply conditional logic to a form in Softr:

First, we’ll show you how to make certain sections of questions appear or hide based on user responses or attributes.  

Second, we’ll demonstrate how you can split your form up into separate parts, and skip certain parts based on similar custom conditions. 

Let’s get started. 

Setting up your Softr app with a conditional form block

To get started, you’ll need to get your Softr app set up and add the conditional form block. 

In most cases, you’ll want to have the app connected to a data source so you can collect form responses. 

In our example, we’ll be using Airtable, but you could just as easily connect your Softr app to SmartSuite, Google Sheets, Hubspot, Xano, Monday, Postgres, and more. The specific data source doesn’t really matter for this tutorial.

Conditional forms: a beta feature

At the time of publishing, the conditional form block is still in beta, so some of the functionality may change a bit over time. 

For now, you’ll have to select this conditional form block to create a form with conditional logic. You cannot convert a normal form block into a conditional one for the time being.

However, we have heard that the functionality to convert regular forms to conditional forms should be coming soon. 

Adding a conditional form block

In any page within your Softr app, add a new block. In the “Dynamic” tab under “form”, you’ll see the “Conditional form” option. 

Select the block to add it to your page. Then, under settings, you can choose where the form’s responses will be sent. 

In our example, we’ll keep mine connected to my Airtable data source and choose a specific table that already has fields matching the questions we want to include in the form. 

Under the “Questions” tab, you can configure the questions that you want to include in your form. 

Sections in Softr forms

Note that the default questions generated by the conditional form block are split into two sections. 

With conditional forms, you can hide or display entire sections based on user responses, but you can’t hide specific questions directly. You also cannot move questions from one section to another. 

Keep these limitations in mind as you’re building your form. Anything you want to conditionally hide should be in a separate section from the main questions that will always be displayed. 

Additionally, it should be separate from any other sections that will be displayed or hidden based on different conditions. 

You can add more sections to your form by clicking on “Add section”. 

In the first section of our example form, we’ll add several questions to let users submit a request for a quote, and we’ll map each question to its corresponding Airtable field. 

To follow along with this tutorial, you can use any questions you want; just make sure that you have at least one section with questions that every user will see, and at least one section that will only be displayed under certain conditions. 

Conditionally hide or display sections in a Softr form

To set up conditional logic in your Softr form, click on the “Logic” tab.

Then, select the section you want to adjust visibility for. 

Our first section has general questions for anyone requesting a quote, so we’ll keep it set to “Always visible”. 

Our second section has a couple questions that only apply to users who select design packages with a logo, so let’s make sure it only shows up when the selected design package includes the word “logo”. 

To make a section of a Softr form only appear under certain conditions, select “Only visible when…”

Then specify one or more conditions. 

Setting a condition

When setting up conditional logic, you’ll be able to access all of the user’s responses so far in the form (“Form answer”), as well as any user attributes that are available in your data source (“Logged-in user”). 

In our example, our condition will check the user response in the “Design package” field for answers that contain the word “logo”. 

You can also add multiple conditions for the same section, and choose to display the section if ANY condition is met, or only if ALL are met. 

However, in our example, we’ll just stick with this one condition. 

Testing your conditional form

Once you’ve configured your conditional form logic, publish your site and open it in your browser to give it a test. 

Below, you can see our published form. The logo questions are hidden to start with, which is a good sign – no package has been selected, so it shouldn’t be possible to pass the condition and show the questions yet. 

When we select the “logo” package, the logo questions from section 2 instantly appear. 

Finally, we’ll switch to a “website” package, and the questions are gone again. The logic is being applied correctly, so this form is all set. 

Using conditional logic to skip to different steps in Softr forms

Now let’s take a look at another way to apply conditional logic to your Softr forms. 

In addition to hiding or displaying separate sections, you can also split your form up into steps, and choose the sequence of steps based on user responses or attributes. 

Let’s see it in action. 

We have another form in this Softr app which is used to collect feedback from clients we’re already working with. 

This first step of the form has questions for all clients, but we’ll add a step that will only be relevant for clients who had a website designed by our fictional design agency here. 

To add a new step to your Softr form, select the “Questions” tab, click “Add a new step”. Follow along in your Softr app by creating a conditional form with at least 2 steps. 

The second step that you add to your form can only be accessed after the user clicks “Next” on the first step of the form. 

In our example, we’ll add several questions to the second step that are specific to users who had a website designed for them. 

Once you’ve got all the questions you want in your second step, click on the “Logic” tab. 

Click on a step in the flowchart-like area on the left to see what happens after it’s completed. 

By default, the steps in a form are arranged in a simple, linear process. After Step 1, the form will go to Step 2, and so on. After completing the final step (in our example, Step 2) users can submit the form. 

If you’d like to set up alternate paths that skip certain steps, select a step and click on  “Add path”. This will add an alternate path that users can follow after completing the selected step. 

Under “users go to”, you can select where users will go next if they meet your specified condition. 

In our example, we’ll select “Submit”, so this path will lead users directly from Step 1 to the “Submit” button, skipping Step 2. You can configure the condition for your path however you want. 

This time, instead of using a user response in the condition, we’ll use a user attribute instead. 

Our condition will be:

If the logged-in user’s “Project” field includes none of [three packages with the word ‘website’].

So if users aren’t associated with a website design package in our data source, they won’t see the step that includes questions about their website design experience. 

Under “All other cases go to”, you can see and determine what will happen for any users who don’t meet this condition. In our example, they’ll just continue on to step 2. 

Once you’ve configured your steps and paths, publish your site and test both possible paths.

First, we’ll log in as a user who purchased a website package. We can immediately see that there's a “next” button instead of a “submit” button

When we click the “Next” button, we can see Step 2 with its questions pertaining to website design. 

Great! Softr’s conditional logic identified that the user’s “Project” field included a website package, and showed Step 2 accordingly. 

We’ll finish the test by signing in as a user that didn’t order a website design package. The submit button remains as-is.

And when we fill out and submit the form, Step 2 never appears. 

Perfect! All the conditional logic is working exactly as intended. 

General tips for using conditional forms in Softr

You’re now all set to start using conditional form blocks in Softr. 

However, before we wrap up this guide, there are just a few more quick tips we want to share so you can get the most out of forms. 

Use “magic links” to quickly switch between user profiles in your Softr app

First, if you’re testing conditional logic based on user attributes, you may want to use magic links to quickly sign in with different test profiles. 

Here’s how it works. 

Go to the “Users” menu in your Softr app, and add a test user manually if you don’t already have one. 

You can also add test users directly to your data source. 

Then, in the “Users” menu, just click on the “Copy link” icon to copy a ‘magic’ link that will let you instantly sign as that test user. 

This can be a very convenient way to switch back and forth between different test profiles while you’re setting up stuff like conditional forms. 

How conditional forms interact with required fields

Next, let’s quickly go over how required fields interact with conditional logic.

The short answer is that they work just fine together. 

If you set a field to “required”, but it’s hidden by your conditional logic settings, users will still be able to submit the form without any problem. 

They won’t need to provide an answer for the hidden required field. 

So go ahead and set any questions to “required” if you want to; it shouldn’t cause any problems with your conditional logic. 

Form layout and other settings

Finally, if you want to change the layout and styling of your form, you can find those options under the “Settings” tab. 

They’re at the bottom of the section. 

In the same place, you can also choose to prevent logged-in users from submitting the form multiple times, and set an action to run after someone completes the form.

For instance, you could redirect users to an external URL or another page in your Softr app. 

Add flexibility to your forms with conditional logic

Conditional logic lets you create more versatile forms that accommodate a wide variety of use cases and user types. 

Making a form with conditional logic in Softr is easy, so try adding one to your Softr app today. 

If you’d like to learn more about Softr, Airtable, and other low-code tools like Zapier and Make, be sure to check out the other posts on our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Tutorial
August 12, 2024
Make Beginner's Guide: Updated for 2024

Are you and your team spending too much time on repetitive tasks? Are you tired of catching silly mistakes after it’s too late?

There's a better way, and it's easier than you might think.

With workflow automation, you can automate your team’s tedious tasks and make sure that critical work is done the right way every time – and you don’t even need to write a single line of code to do it. 

In this post, we’re going to show you how to dive into the world of automation with one of the most capable and affordable solutions out there. 

Read on to learn how to use Make, formerly known as Integromat. 

What’s in this guide

We’ll begin by briefly explaining what Make is and how it works, and we’ll show you how to build your first automated scenario. 

There are three key skills you’ll get from following along with this basic tutorial. You’ll learn how to: 

• Connect apps together in Make to sync and transfer data. 

Transform and format data with functions. 

Control the flow of your automations with filters and conditional logic 

To demonstrate all of these skills, we’ll use the following apps:

Google Calendar

Google Sheets

Slack

• And of course, Make

To follow along, you can create free accounts for all of these apps – Make included. 

Before getting started, you’ll want to make sure you have some Calendar events and a Google sheet that you can use to play around with, as well as a Slack channel to send messages to. 

Whenever possible, it’s best to build your automations and run tests with dedicated testing files, channels, folders, or other material. 

After completing the tutorial in this guide, you'll be ready to build your first automated workflow to start saving time and reducing errors in your daily tasks.

Let's get started and see how Make can improve the way you work!

What is Workflow automation, and what is Make?

Before you start building in Make, we want to give you a brief overview of what Make is, and what you can do with it. 

Make, formerly known as Integromat, is a no-code automation provider

It lets you accomplish tasks in your web apps automatically without needing to write any code at all, leaving you with more time to think and less time mindlessly clicking on buttons. 

There are several apps out there designed for workflow automation, like Make’s main competitor Zapier, but this guide will be focused primarily on Make. 

Compare automation providers like Make and Zapier on XRay.Tools

If you’d like to compare which tools can be automated on both providers, you can just do a quick search for your apps on XRay.Tools. 

That will show you every trigger, action, and search available for your apps in Zapier and Make, among other options. 

How automation works in Make

Below, you can see what an automation looks like in Make. 

I

n Make, each automation is called a "scenario". A scenario starts with a trigger event, which is the event that will prompt the automation to run. 

Then, one or more automated actions and searches will follow that trigger. These actions and searches can be in the same app as the trigger, or in totally different apps.

In most cases, you're probably going to use your Make scenarios to send and sync data across different software.

In the example that we'll be building today, our "trigger" is an event getting added to Google Calendar. Then, data from that calendar event is used to create a new spreadsheet row in Google sheets.

Finally, information about the event is passed to Slack for an instant alert. However, thanks to a handy little filter, the alert will only run if the event in question is scheduled to start within one week from the current time.

Simple or complex workflows

The scenario we’re going to demonstrate in this guide is very simple and linear, but Make scenarios can get much more complex and sophisticated. 

You can add dozens of steps, branching paths, loops, and other tools to accomplish whatever you need to automate your workflows. 

As we build this scenario, we'll show you a bit of formatting and conditional logic, but our main goal for today is to learn the basics so you can start using Make. 

You can check out other videos in our Make playlist to learn more advanced techniques. These videos cover topics like routers, API calls, automating AI prompts, and more. 

You can also sign up for our workflow design course to learn how to plan, implement, and deliver scalable automated workflows for your team and clients. 

Now, it’s time to get ready to build your first scenario in Make. 

Getting started with Make

Before we get started, be sure to sign in to all of the apps we're going to be using today: Make, Google Sheets, Google Calendar, and Slack. For this tutorial, free accounts will be fine on all of these apps.

Once you're all signed in, open up Make. You’ll see several options here, but for now, just click on 'Scenarios'. 

Then, create a new scenario.

Adding a trigger

Every automation needs to start with a trigger, so add one by clicking on the pulsing plus button in the middle of the screen. 

For this scenario, you’ll want to add a trigger that watches your Google Calendar for new events.

After clicking on the plus button, you should see a long list of apps that Make can automate. There are about 2,000 total (and counting), so don't bother scrolling to try and find one. 

Instead, just enter a search term (like “Google Calendar”) to pull up an app instantly.

Adding a trigger to your automation

As soon as you enter a term, Make will show you a few options from the best match - in this case, Google Calendar. 

But if you don’t see the choices you’re looking for, just click on “Show more.” Then you’ll be able to see every single choice you have for automating that app with Make.

At the very top of the list, you should see an option called “Watch Events.”

As you can see from the description, this will watch your calendar for new events and run whenever it finds one. 

This is a perfect trigger for our automation, so select it to add the trigger to your scenario. 

Configuring the trigger

Now that you’ve chosen a trigger, you need to configure it by choosing an account to use, and adjusting several parameters to control exactly when your scenario runs.

Authorizing an account for automation in Make

The first step for setting up any module in Make will always be to authorize an account in the app you want to automate. 

To automate one of your apps, like Google Calendar, you need to allow Make to access your account and perform actions on your behalf. 

Click “Create a connection” to add your first connection for an app. 

For most apps, all you’ll need to do is provide a name for your account and sign in. Then, you’ll be able to authorize Make in your app with a single click. 

However, sometimes, you’ll need to provide additional credentials like a ‘Client ID’ and ‘Client Secret.’ If that’s the case, you can click on the “Online help” link for more information.

Authorizing Google Calendar

For Google Calendar, you just need to provide a connection name. Be sure to make it unique and descriptive, so you can distinguish between different accounts that you connect. 

Then, click “Save.” In the screens that follow, you’ll see the permissions Make needs to automate your app.

The permissions required are extensive, but there’s no need for concern. Make is a trustworthy application, and it only needs these permissions so it can perform the actions you program it to do in your automations. 

In spite of requesting the permission to delete data in your account, Make isn’t actually going to delete anything in your apps unless you build an automation with a “delete” step. 

After reviewing the required permissions, click “Allow” to authorize Make. 

Now, Make will access Google Calendar through the account you connected.

Choosing trigger settings

Next, let’s configure the key options for this trigger. 

The choices for configuring a trigger in Make will typically let you narrow things down to get a little more specific about when the automation should run. 

For this “Watch Events” trigger in Google Calendar, we can start by choosing the specific calendar that Make should watch. You can just pick one from the dropdown.

Then, you can choose how Make will watch for events - by Created Date, Updated Date, the event’s Starting Date, or the event’s Ending Date. 

For this scenario, go with “Created Date.” 

You can leave “show deleted events” unchecked, and you won’t need to add a query. Adding a query would enable your trigger to search for a specific event by its title, like “All-hands.”

To make sure your automation runs for every new calendar event, leave the query field blank. Along similar lines, check every event type in the list. 

Finally, you can choose how many events can be processed at once when the automation runs. 

You can set this to whatever number you’d like, but we’d usually recommend keeping it pretty low. That will usually make it easier to sort through the data as you’re running your tests. 

Enter a number like 1 or 2, and click “OK” to commit all of your choices. 

Testing the trigger

Now, it’s time to test your trigger. 

Testing your Make scenario’s trigger will retrieve a real piece of data from your trigger app, and confirm that your trigger is working correctly as you configured it. That means that testing this “Watch events” Google Calendar trigger will retrieve an actual event from your Google Calendar.

As soon as you close the configuration window, you’ll be prompted to “choose where to start.” 

If you don’t see this pop up, you can always right-click on the trigger module and select “Choose where to start” instead. 

Then, you’ll see a few options for selecting a starting point. For testing purposes, we’d suggest using “choose manually” the vast majority of the time.

It gets a bit tedious when you’re doing a lot of testing, but this process of “Choose where to start” > “Choose manually” is the most reliable way to control what test data Make uses, since it will let you pick the data you want from a list. 

You can use any event you want to test with. In our example, we’ll pick this test event that we created earlier in Calendar. Once you’ve selected an event, click “OK.”

Your trigger is now ready to process the specified data the next time it runs, but you still need to make the trigger actually run to finish your test. To do that, just click on the “Run once” button to fire it off manually. 

You should see a number appear over your trigger module after a successful test. 

You can click on this number to see all the data your trigger retrieved, like the event summary, the start date, the end date, and much, much more.

All of this data can be referenced dynamically and transformed in subsequent actions in your automation. To see how that works, let’s add an action now to add a new row to Google Sheets containing some of this event’s information.

Add an action to your scenario

Add a new action to your scenario. Once again, search for the app you want to use - in this case, Google Sheets. Then, click “Show more” to see all of the available actions. 

You’ll notice that unlike Calendar, the options for Sheets are sorted into ‘Actions’ and ‘Searches.’ Since triggers can only be used at the start of the automation, those are excluded from this list.

To add a new row, choose the “Add a row” action. You should be able to use the same Google connection that you added for Calendar, though you will need to update the permissions.

You can also add an additional account if you’re using a different sign-in for sheets. Once you’ve chosen and authorized your account, you can configure the action.

Configuring an action in Make

Whenever you’re creating data like this in Make, the first thing you’ll need to specify is where you want to create that data. 

In this case, you’ll need to specify what Sheet the new row should be added to. Under “Choose a method,” the default “Select by path” option will allow you to pick folders and subfolders until you find the file you want. 

We’d recommend switching this to “Select from all.”

Then, you can choose the document you want to use by copying and pasting its ID, which can be found in the URL bar when you have the document open in your browser. 

Then, paste the ID into Make.

Using an ID isn’t necessary – you can always identify the doc by its file path if you want – but it helps ensure that everything stays consistent. File names and locations can change, which may require you to update your automations. However, the document’s ID will always remain the same.

Next, choose the sheet you want to use in this file - in this case, that’s Sheet 1 for us.

If your table has headers, like our example does, make sure the “Table includes headers” option is set to “yes.” That will ensure each column is correctly labeled with its header name, like “Start” rather than just being “B” or “C.”

Now, you can map data from the trigger into each column for the new row. Click on each field, and a window will pop up with all of the data retrieved in the trigger, or Step 1 as it’s labeled here. 

For example, we’ll insert the event summary into “Event name,” the start and end times into their fields, and so on.

If you want to skip any of these fields and leave them blank in Sheets, just leave them blank here, too. Note that you’ll see every column in your sheet, even if it doesn’t have a title, so you might want to delete extra columns before going into Make.

Finally, you can choose whether to use formatted or unformatted data. 

For this automation, we’re going to stick with formatted data so our URL in the “Hangout Link” column will still be formatted as a URL. Once you’ve configured the action, click “OK” to close this window.

Testing an automated action

With the action all set up, it’s time to give the scenario another test. 

We’d recommend following the same procedure as before to test your scenario: right-click on the trigger, select “Choose where to Start,” “Choose Manually,” and pick the data you want to use for the test. 

Then, click “Run once” to run the whole scenario.

You should see the trigger and action modules run one at a time, and numbers will appear over each of them in turn. Again, you can click on these numbers to see the data the module processed.

In the image below, you’ll notice there are two “bundles” listed in this “operation”. That’s because our scenario processed two events - the one that we chose to start with, and an additional event that was added to the calendar after our chosen event. 

This means that our trigger ran once and retrieved two Calendar events, prompting the Sheets action to create 2 rows. Since two rows were created with two different sets of data, we’ll be able to show you exactly how dynamic data works. 

Next, open up your Google Sheet to see what Make created. 

Over in Sheets, there are 2 new rows with data retrieved from the respective events. You should note that Sheets includes the correct, unique information for each event.

That’s why we call it “dynamic” data. Instead of typing out a static title or start date, we told Make to just look for the title and start date of each specific event. The data that gets filled in here reflects each calendar event that runs through our automation.

After running your tests, your first automation in Make is all set. You can save it and turn it on if you’re ready to start using it. 

In the next section of this guide, we’ll show you a few ways to improve this automation, but first, let’s take a look at operations and scheduling. 

Scheduling your automation to stay within “operations” limits

In Make, you’re limited to how many “operations” you can use on your account each month. Every automated trigger, action, and search counts as a single operation, even if these are run as tests – and even if the trigger runs and doesn’t find any new data. 

On the free plan, you’re limited to just 1,000 operations each month. 

In the bottom left hand corner, we can see the automation is currently set to run every day and check for new calendar events every fifteen minutes. 

That means this automation will use at least 96 operations each day, seven days a week, even if it doesn’t find any new events. This is because you’re charged an operation every time the trigger checks for new data. Using webhook triggers will let you circumvent this issue, which you can learn more about in this tutorial, but that’s a more advanced topic. 

For now, we can dramatically reduce the operations used by changing the schedule to every half hour, and by only setting it to run during business hours on business days.

Just click on the scheduling button (which will read “Every 15 minutes” by default) to change the schedule. 

In the menu that pops up, you can set how often the automation will run. By selecting “add item” under “Advanced scheduling”, you can also dictate which days and times the automation will run. 

After reconfiguring the schedule in our example, the automation should now only check for new events 16 times a day, five days a week.

Your automation won’t start running on its own until you turn it on, but it’s best to set the schedule early on so you don’t forget.

Going further with Make: advanced techniques

Transforming data with functions

While the automation that we’ve built works fine, the formatting of the dates is less than ideal. 

Fortunately, there’s a very simple way to fix that in Make and reformat the dates however you want.

Go back to your scenario in Make and open up the ‘Add a row’ action. Then, select the start date field.

As you’ve already seen, when you select any data input field in a Make module, a window pops up where you can access data from previous steps in the automation. 

However, that’s just one tab in this window. In the other tabs, you can access functions and tools that let you reformat text, dates, and numbers, run calculations, and a lot more.

Let’s try reformatting this date to make it a bit easier to read. 

Click on the tab with a calendar icon, then look for the “formatDate” function down at the bottom of the panel.

Hover over the function to see a tooltip explaining how it works along with a few examples.

Click on the function to add it to your currently selected input field. 

You’ll need to put the date you want to format before the semicolon. Then, you’ll need to provide the format you want to use after the semicolon. You can always refer back to the tooltip to confirm the syntax of the function. 

In our example, we’ll use this format:

MM-DD-YY hh:mm A

to show the month, day, and year separated by dashes, followed by 12-hour time. 

To keep things consistent, we’ll also use the same function for the end date. 

Now, instead of entering the timestamps directly into Sheets, this automation will enter the outputs of these functions, which will be neatly formatted dates and times. 

Once you’re all set with your functions, close the Sheets action and save your scenario with the floppy disk save icon. Then, give your scenario a fresh test. 

Check Sheets to see the output. You should see a new row with start and end dates using our new format. 

Conditional logic and filters

There’s one last thing we want to show you before we wrap up this beginner’s guide. In general, one of the best things about automating a workflow is that you’ll ensure it runs the same way every time, and you’ll avoid all those messy human errors. But with a simple automation like this one, that extreme consistency can become a problem.

That’s because real-life workflows are rarely this simple. More often than not, you’ll need to allow for at least some variation. Fortunately, Make offers several tools to give your automations some variability, including the ability to add filters before any automated action. The scenario will only continue to run past the filter if its data matches your filter conditions.

Let’s see how it works in action. 

First, add one more action to this scenario. In our example, we’ll add a Slack action to send a channel message. The message will act as an alert for each upcoming meeting. 

Setting up this action is very similar to configuring the new row in Sheets, so we’ll just show you the finished configuration in the screenshot below. 

Note that the asterisks we’re adding around some words in the message are a simple formatting trick - they’ll make those words bold in Slack’s markdown syntax. Once your Slack message module is all set, you can add a filter before it.

What we’re going to do is make it so the scenario will only continue to the Slack step if the calendar event is set to start within a week from the current time. If it’s later than that, the scenario will just stop after creating a new row in sheets. 

Adding a filter

To add a filter to a scenario, click on the dotted line between the two modules where you want to add your filter.

You’ll then see a little window pop up where you can configure your filter. Give it a brief, descriptive label so you know what it’s for. 

Then, you can set the condition. This is what the filter is going to check to decide if it should continue or not.

We want to check when the start date is, so begin by entering the start date from the trigger. 

Then, set an operator. Look under “date time operators” for the “Earlier than or equal to” operator. 

Now, you just need a way to specify “one week from now.” To do that, you’ll need to ask Make to retrieve the current time, and add seven days to it. 

Go to the calendar tab again and choose the “AddDays” function. 

Before the semicolon, insert the variable called “now.” 

“Now” will retrieve whatever the current date and time is when the scenario is running.

After the semicolon, enter 7, for 7 days.

Now, this filter is set up to check if the event’s |Start date| variable is |earlier than or equal to| |7 days| from now. 

By clicking on “Add AND rule” or “Add OR Rule,” you can add more conditions for the filter to check, but let’s just stick with this one for now.

Click OK to close the filter, and give it a test. 

Testing a filter

We’d recommend conducting two different tests – one that should pass the filter and one that should fail. 

In our example, we’ll start with an event that starts in 2 days, which should pass the filter. 

After running the test as usual it looks like all three modules ran, consuming 3 operations. 

Below, you can see the new row added in sheets, and the message sent in Slack.

Now we’ll test with this event that starts in 10 days. 

In our test, the trigger and the Sheets module ran, but the scenario stopped at the filter and didn't send a Slack message. In total, it consumed 2 operations instead of 3.

Based on these tests, the filter makes the scenario stop when events are more than 7 days away, but lets everything else through. It’s working exactly as intended. 

Use routers to do more with filters

To get the most out of filters, you’ll usually want to use routers as well so you can set up alternative actions for different conditions. You can check out this tutorial for more information about routers

But for now, your first scenario is all set. You can now automate your apps with custom triggers and actions, transform data with functions, and control the flow of your automation with filters. You’re well on your way to automating your work and claiming back some valuable time.

Start automating your team’s repetitive tasks with Make

With automation software like Make, you can remove tedious, repetitive tasks from your team’s everyday workload, and focus more time on the work that really matters. 

What we’ve gone over today is just the beginning of what Make can do. Be sure to check out some of the other tutorials on our blog or our YouTube channel to learn more and level up your automation skills. 

You can also follow XRay on Twitter, Facebook, or LinkedIn.

Understanding Automation
August 5, 2024
Preparing Your Business for Automation and AI

AI automation is no longer a topic to put off for the future. 

In a competitive environment, companies can’t afford to ignore the benefits AI and automation can bring today. 

By eliminating repetitive tasks and creating content and reports with generative AI, businesses can scale their operations and gain fresh insights. 

However, not every workflow is immediately ready for this kind of transformation. Preparing your workflows for automation and AI is essential to harnessing these benefits. 

Here’s how to get started.

The Power of AI in Automation

First, let’s take a look at how AI has opened up new possibilities for workflow automation. 

Generative AI models, like those from OpenAI and Anthropic, have brought an entirely new dimension to no-code/low-code automation. 

While automation providers like Zapier and Make have always excelled at automating repetitive tasks and sharing data between applications, they’ve been limited in synthesizing or creating information. 

Now, with AI, you can go beyond simple automation by transforming content and generating original materials with AI prompts integrated into your workflows.

For example, without AI, you can automate alerts for new files added to Google Drive, referencing data from the Doc in your alert’s message.

A Zap that retrieves and sends standard variables in Google Drive

It’s easy to connect the data from Point A to Point B, but you can’t really create brand new data using traditional workflow automation alone. 

An alert in Slack created by Zapier with data retrieved from Google Drive

However, with AI, you can take things a huge step further and summarize the documents or generate improvement notes using ChatGPT.

A Zap that uses ChatGPT to generate original content

Preparing Your Workflows for Automation

But before trying to enhance your workflows with automation and AI, you need to ensure your processes are repeatable and consistent. 

This is a crucial preliminary step for two key reasons. 

First, automations require specific instructions to run properly. Even though you don’t need to write any code to build automations with Zapier or Make, you still need to define clear triggers and actions for your processes, and specify the data inputs and outputs for each step. 

Second, automating a process will only be worthwhile if that process already provides value for your company. Automating a process that’s not working how you intend will essentially just codify an unproductive workflow. 

So if you want to try automating a process, start by mapping it out in precise detail to create an effective automation blueprint. Confirm that the process works well when run manually first, then automate it in software like Zapier or Make. 

As an example, let’s say that you want to automate your team’s employee onboarding process. A basic employee onboarding automation might look something like this:

Part 1 of an onboarding workflow in Zapier

Onboarding automation:

• Launch when an employee’s status is set to “Onboarding” in the team directory (Airtable)

• Invite the new employee to relevant Slack channels

• Add the new employee to relevant docs in Google Drive

• Email the new employee the employee handbook

• Assign the new employee a task to review the handbook

• Assign their supervisor a task to conduct training

• Send a welcome message in Slack

Part 2 of an onboarding workflow in Zapier

Part 3 of an onboarding workflow in Zapier

Post onboarding:

• 2 weeks later, send a feedback survey to the new employee

A Zap that sends out an onboarding feedback survey through GMail

Ultimately, the value of automations like this relies heavily on the quality of the documents and materials involved. 

If you’re not happy with your company’s employee handbook, or if you’re not quite sure what tasks to assign, all this automation is going to do is send out information that still needs to be improved. 

In other words, your automations are often only going to be as good as the material they process. 

Until you've defined all the critical assets you need for a successful procedure, the juice just isn't worth the squeeze to automate it.

This is why you want to work out the kinks in the process before automating. But once you’ve done that, you can save yourself a bunch of time and avoid errors by automating every step that you can. 

Enhancing Automation with AI

Ultimately, similar criteria of consistency and repeatability apply when you want to enhance an automated process with AI.

Before you add an AI prompt to your automated workflows in Zapier or Make, you need to make sure you have a relatively consistent prompt that you want to run in the same way every time.

When you’re using a Chatbot interface like ChatGPT manually to ask spontaneous questions, there’s no real need to be consistent. 

You can summarize text files sometimes, or just copy and paste text directly other times. Generally, it doesn’t make any difference. 

Referencing a text file and pasting the text directly into ChatGPT get similar results

But if you want to automate that prompt into a Zap or Make scenario, you need to know exactly where all of the data that you feed into the prompt will come from. This is because each piece of data has to be defined as a variable in your automation.

A ChatGPT prompt in Zapier with several dynamic variables

Seamlessly adding AI to an automated workflow

Fortunately, in many cases, you’ll find that automating a process creates clean, organized data that’s perfect for feeding into an AI prompt – even if you weren’t originally thinking about using AI at all. 

For instance, let’s revisit our employee onboarding example. 

Just by running the simple automation we outlined earlier, you’d have a bunch of consistently structured data to compile into a ChatGPT prompt. 

In your project management software (Airtable in our example), you’d have data about which tasks have been completed, and when. 

Automatically generated tasks in Airtable which can be used as data in an AI prompt

You’d also have the new employee’s survey responses to every question. 

A survey response in Airtable, which can be used in an AI prompt

With that data, you could set up an automation that sends the user’s responses to AI for sentiment analysis, or to discover other insights you might not have noticed by reviewing it yourself. 

An AI sentiment analysis in Zapier

You could also send a prompt that includes stats about the completed tasks and when they were complete to let the AI evaluate the success of your onboarding process. 

The beauty of adding automation and AI together is that you can easily add variables to your prompts, so they have a similar structure every time, but different specific data points. 

Without automating the process first, you’d have to manually look up the data and enter it into your prompt. This sort of back-and-forth might be worth it while you’re fine-tuning your prompt, but once you’ve figured out the instructions you want to send, it’s much more efficient to run it all automatically. 

So if you want to start enhancing a workflow with AI, try taking the same approach that you would if you wanted to automate the process in general. 

Make each step as consistent and repeatable as possible, and make sure that you’re creating clean, well-structured data that you can easily plug into a prompt. 

Getting Started with AI and Automation

As AI continues to disrupt industries across the board, it’s more important than ever to find effective ways to leverage it so your company can get ahead of the competition.

If you’re not sure where to start, then just begin by documenting a process and preparing it for automation. Automating a process naturally leads to better opportunities to integrate AI into your workflows, creating clean, consistent data that connects seamlessly to your prompts. 

To learn more about automating your company’s work, be sure to explore check out our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Understanding Automation
July 29, 2024
Launch Your Products Quickly and Cheaply with Low-code

If you're considering starting a business or launching a new product at your company, you're likely wondering how to get your idea off the ground and start testing for product-market fit. 

And if you haven't secured a significant investment, you're probably looking to go to market while spending as little cash as possible.

Fortunately, there's a simple and accessible way to test your business ideas quickly and affordably: prototyping your concept with no-code and low-code tools.

Today, we’re going to use three products that we’ve created at XRay to demonstrate why low-code builds are the best place to start when you need to validate an idea. 

These products each highlight the three key benefits of using no-code to build prototypes for your business:

• Low-code lets you quickly test launch products and services

• It can easily integrate with existing systems for streamlined adoption

• you can experiment with internal ideas and add new features whenever you need to

Read on to see how you can benefit from all of these concepts while building low-code products. 

LowCodeEngineers: Rapid launching and testing

LowCodeEngineers, or LCE for short, is a service we launched and validated using a minimal low-code build. 

LCE matches customers with expert no-code/low-code support on a convenient, flexible hourly basis. Whether you need to build or fix Zaps, Airtable bases, Make scenarios, or Softr portals, you can book time on LCE to get one-on-one support over Zoom.

lowcodengineers.com home page

You might think a service like this would require a standalone app or at least a user sign-in system, but it doesn't! Here's how it works:

1. Customers discover LCE through our videos, landing page, or direct conversations with our sales team.

2. They book their preferred time slot and pay through the LCE website.

Booking time through LCE

3. We receive automated Slack alerts about new bookings, match customers with the right expert, and schedule the Zoom call.

An automated Slack alert for new LCE bookings

4. Each session is recorded, transcribed, and summarized for easy future reference using our Debrief system (which we'll discuss later).

An example Debrief summary

The architecture supporting this early version of LCE is remarkably simple. It just consists of:

• A landing page built in Softr with a backend in Airtable

• Scheduling through AppToto, which includes Stripe integration for payment processing

• A Zapier automation to alert our team about new bookings so we can hand-pick the right engineer for each job

The LCE site built in Softr

While we plan to automate more of this system in the future, this streamlined implementation with a Softr site and some Zaps was all we needed to validate the idea. 

Even though there's still some manual work on our end, it does enough to test the core value proposition: Expert low-code help, one hour at a time.

We soft-launched in October last year but only started heavily promoting LCE in the last couple of months. In a matter of weeks, we've already seen dozens of bookings resulting in 5-figure monthly revenue. 

This quick validation has shown us that LCE is a service worth pursuing and investing more time in, and we didn't have to spend extensive resources just to figure that out.

It took us less than a month to build the MVP, and our software operating cost is just over $100 a month. Discoveries like this are what makes low-code so valuable to entrepreneurs and startups. With simple tools like websites built in Softr or Webflow, and automations built in Zapier or Make, you can quickly test product-market fit to see if an idea is worth a real commitment of your resources.

Guardian: Leverage Existing Systems for easy user adoption

Another project that demonstrates the power of low-code prototyping is our tool called "Guardian." This project, while still in its early stages of validation, highlights a crucial concept: low-code allows you to easily leverage existing software and systems. Whenever possible, that's exactly what you should do. 

Don't reinvent the wheel; instead, build on top of popular tools and hijack existing behaviors.

Guardian was created to solve a specific problem we faced as an agency. We build and maintain automations for clients in their accounts on platforms like Zapier, Make, and Airtable. 

When these automations encounter errors, alert emails are sent to the client's inbox.

An error alert email from Zapier

However, we don't have access to our clients' email accounts, and often, clients don't fully understand the error messages. This led to a slow and tedious process of manually forwarding messages, with the risk of important alerts being missed.

Our solution, Guardian, automatically aggregates all these error alert emails into one place where we can view them, group them, and create notes. 

Finding an automation and its alert emails in Guardian

It also includes simple methods for tracking our responses. 

Automation management options in Guardian

Like our MVP for LowCodeEngineers, Guardian's architecture is very simple:

• Every client sets up some auto-forwarding rules in their email account

• A Make scenario uses regex to parse relevant emails for key details

• A Softr frontend allows our team to view the aggregated and sorted messages

The beauty of this system lies in its ease of adoption. Clients can install Guardian by simply setting up some auto-forward rules in their Gmail or Outlook accounts. 

3 simple steps for setting up Guardian

Once these rules are in place, they don't need to do anything else. Every relevant email is automatically forwarded to our team and tracked in Guardian.

With over a dozen active users and 1,000 indexed automations, Guardian has already proven its worth as an internal tool. It's now available for anyone to try for free at guardian.xray.systems

By building on top of existing apps and features, we significantly sped up our development time and made it much easier for users to adopt our product. This approach of leveraging familiar environments, like email inboxes, reduces barriers to entry and simplifies the user experience.

Debrief/ZoomTube: iterating on a low-code prototype

Our final example, Debrief (initially called "ZoomTube"), showcases how low-code can be used to validate an internal build and how easy it is to update and rebuild as circumstances change.

As a fully remote business, many of XRay's important meetings and decisions happen over Zoom. Early on, we realized we needed an organized way to reference previous meetings and share key information with clients and partners. While enterprise Zoom plans could have provided some of these features, we needed a more cost-effective solution.

Our initial implementation, circa 2021 (pre-ChatGPT), involved a Zap that:

• Uploaded all of our Zoom recordings to a private YouTube channel for archiving

• Sent the uploaded videos to Trint for transcription.

This relatively simple Zapier automation allowed us to capture and store thousands of meetings at no additional cost beyond our existing Zapier subscription.

This lightweight implementation quickly proved that we didn't need to invest in an expensive solution; we could get all the data we needed through a cheaper, low-code build.

Over time, the system evolved into what we now call "Debrief." The current version no longer uses Zapier.

Instead, it’s built primarily with Airtable, and features a frontend in Softr with AI summaries. 

Debrief website

Debrief includes additional customized features that wouldn't be available in off-the-shelf solutions. We added these features gradually as needed, after demonstrating that the core system worked. By using the system daily, we identified areas for improvement and iterated accordingly.

Building with low-code allowed us to confirm that we were using resources correctly and made it easy to update the system as new needs emerged. Debrief is now an integral part of our internal systems, helping us review and share information about meetings, and even creating tasks for us with AI.

The key takeaway here is that low-code not only allows you to quickly test initial ideas but also makes it easy to update and add new features as you discover needs. Adding new steps to an automation or even replacing your automation software entirely is much simpler than developing features and products from scratch.

Start prototyping today with low-code tools

Low-code empowers you to rapidly test ideas using existing systems as a convenient starting point. For entrepreneurs, the key is to focus strictly on your value proposition rather than getting bogged down in extra features.

If you have an idea to test, start building it today with simple tools like Zapier, Make, Softr, or Airtable. These platforms offer the flexibility and speed needed to prototype and validate your concepts quickly and cost-effectively.

Remember, the goal of low-code prototyping is to validate your core idea with minimal investment. Once you've proven the concept, you can always scale up and refine your solution. So don't wait – start building and testing your ideas today!

If you’d like to learn more about building with no-code and low-code tools, be sure to check out our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Tutorial
July 22, 2024
Automate Your Apple Devices with Shortcuts

If you're constantly doing the same tasks on your iPhone, iPad, or Mac, then there's an easy and free way that you can start saving time right now.  

In this post, we’re going to show you how you can create automations to streamline your everyday life with Apple Shortcuts.  

We’ll show you two different ways to create automations with Shortcuts. 

​​

We’ll start with a Shortcut from Apple’s gallery that uploads photos to Dropbox with a single tap. 

Then, we’ll show you how to build a custom automation in Shortcuts that plays music whenever your device connects to a bluetooth speaker. 

These are just two examples of the thousands of automations that you could build with Shortcuts, and they’re a great way to learn how Shortcuts work. 

All you need to follow along with these tutorials is any Apple device. Our examples will be demonstrated on an iPad, but you’ll see similar options on iPhones, as well. 

Two types of automations in Shortcuts

​​As mentioned earlier, there are two types of automations you can create with Shortcuts.

You can build automations that run on demand whenever you tap on their button.

Alternatively, you can create automations that run on their own based on conditions like the time of day, your device’s battery level, or whenever a specific app is opened. 

We’ll cover both in this tutorial. 

Building an automation with Apple’s Shortcut Gallery: Uploading files to Dropbox

We’ll start with an on-demand shortcut from Apple’s gallery. This Shortcut will let us automatically upload the latest photo on our device to Dropbox with one tap. 

To begin, open up Shortcuts. It should already be installed on any Apple device we own - like your Mac, iPhone, iPad, or Apple Watch. You can see the icon for the Shortcuts app in the screenshot below.

The Shortcuts icon

Adding a shortcut from the gallery

Once you’ve opened up the Shortcuts app, select “Gallery” from the menu on the left. 

The Shortcuts gallery

In the gallery, you can quickly create shortcuts with premade templates created by Apple. To easily find what you want, just search for the specific app or event that you want to automate.

For example, you can search for “upload” to find the shortcut for uploading a photo to Dropbox. 

Adding a shortcut from the gallery to your device

You can tap on the plus sign to add any shortcut to your device.

Note that some shortcuts from the gallery will immediately walk you through configuration options, while others won’t. However, you can always edit your shortcuts later.

Once you’ve added the shortcut, you can tap on “All Shortcuts” to see it in your library.

Viewing All Shortcuts

Edit and configure a shortcut

To edit and configure an existing shortcut, just tap on the three dots in the top right corner of the shortcut. 

Editing a Shortcut

Then, you’ll see each action that the automation performs, with several configurable options.

Configuration options for a Shortcut

This automation starts with a step that retrieves the most recent photos on the device and lets you choose how many photos to get. You can set any number you want here, but we’ll just leave it as 1 photo in our example.

The second step saves the retrieved photo to Dropbox. The first choice for this action lets you choose whether or not the automation will prompt you to specify where the photo should be saved in Dropbox.

If you enable it, then the next two options will be hidden, since these options will let you choose a single static location where every photo will be saved. 

For our example, we’ll leave “Ask where to save” disabled and instead configure a single location where the photos will be saved every time.

Next, for the destination path, you can set a location and filename for every photo. By default, they’ll be saved in the Dropbox root folder, and every file will be named “Workflow.” 

Using dynamic data in your automations

First, we’ll save all of the files uploaded with this shortcut into a dedicated “Shortcuts” folder by typing /Shortcuts/ into the file path. 

Creating a folder for each newly uploaded file

To help distinguish each photo, we’d recommend using a dynamic name. Instead of typing a name, choose “Latest photos” next to “Select variable.”

Selecting "Latest Photos" to access dynamic data

This will let you retrieve unique data from each photo processed by the automation, such as its file name, width, date taken, file size, and a lot more. 

Data retrieved about each photo in Shortcuts

But the file name, which is already selected, will work just fine here. 

the complete file path, including dynamic data

Now, every photo you upload will go into this dedicated folder, and each photo will have a unique name. Using dynamic data like this to name files will make your shortcut automations much better than using static data.

Enabling “Replace Existing Files” will avoid redundant files by replacing old files with new versions when two items share the same name. 

Enabling "Replace Existing Files"

You don’t need to do anything to edit these last two steps, but it’s good to note that after the photo is uploaded to Dropbox, the automation copies the URL for the newly uploaded file.

Adding more steps to your shortcut automation 

If you’d like to add more actions to this shortcut, you can do so by selecting them from the right hand menu. 

Additional steps can be found on the right hand menu

For instance, you might want to send a message containing the newly uploaded photo’s URL to share your pictures with friends or family.

Testing your automation

Once you’ve added and configured all the steps you want in your Shortcut, you can test it by tapping on the “Play” button near the top of the screen.

Pressing the Play button to test a Shortcut automation

This will run the automation from beginning to end, highlighting each step as it starts. Note that you may need to authorize some actions during the testing. 

Steps are highlighted as the test runs

Once the test has concluded, check on your Dropbox account. In our example, it looks like the test was successful. Below, you can see our uploaded photo in the “Shortcuts” folder, with a unique name.

A file uploaded to Dropbox by Shortcuts

Once you’ve finished configuring your shortcut, tap on the arrow in the top left to exit the configuration menu. 

Pressing an arrow to exit the Shortcuts configuration menu

Adding your shortcut to the home screen

To add the shortcut to the home screen, just tap and hold anywhere on your device’s background. Then, select the plus sign that appears in the top left corner. 

Pressing a plus sign to add a Shortcut widget to an iPad or iPhone homescreen

Search for “Shortcuts.”

Searching for "Shortcuts" in the widget menu

You can add a widget with a single shortcut, or a folder with several shortcuts. We’ll just choose the single shortcut for now. 

If you want to change the shortcut in this widget, just tap and hold to edit it. 

Choosing a Shortcut to open with the widget

Once your Shortcut widget is all set, you can run it by just giving it a tap. As it’s running, you’ll see a little progress circle in the corner. 

Running a Shortcut by tapping on the widget

With the widget added to your home screen, you’re all set to use this Shortcut whenever you want.

Creating automations that run on their own in Shortcuts

Next, let’s create an automation that runs whenever certain conditions are met. We won’t need to tap or click anything to make this automation run.

Instead, this automation will instantly start playing a specific song whenever we connect to a specific Bluetooth speaker.

To create an automation that runs on its own, select “Automation” from the menu on the left. 

Choosing "Automation" from the Shortcuts menu

Tap the plus button to create a new automation. 

Adding a new automation

Then, choose a trigger. 

Select an automation trigger

The trigger is the condition(s) that will make your automation run. Note that some automated actions and triggers in Shortcuts will only be available for certain devices, since not all devices have the same hardware, software, or settings.

In the trigger list, you’ll see several options. For instance, we can see time of day, transactions, Wi-Fi and Bluetooth settings, battery levels, and more on our iPad.

Automation trigger options

To trigger this automation, we’ll choose “Bluetooth,” which will enable the automation to run whenever the device connects to a specific Bluetooth accessory.

Choosing a "bluetooth" trigger

Configure your automation trigger

For the configuration options, start by choosing a specific Bluetooth device. The automation will only run when your Apple device connects to that Bluetooth speaker.

Alternatively, you could always select “Any device” to run the automation whenever you connect to any Bluetooth device. However, it’s usually better to choose a more specific trigger. 

Sle

For example, we’ll choose a Soundcore speaker for our automation.

Choosing a specific bluetooth speaker

Next, you can pick whether the automation will run when the Bluetooth speaker is connected or disconnected. Leave it set to “connected.” After all, it wouldn’t make much sense to play music after disconnecting. 

Running the automation when the bluetooth device is connected

Then, you can choose whether the automation will run after confirmation, or run immediately.

Selecting "Run immediately"

If you choose “run after confirmation,” you’ll get a pop-up asking you to confirm the automation before running it. In our example, we’ll set this to “Run immediately,” so it will start without requiring any input from us at all. 

The trigger is all set, so now you can tap “Next” and add an action.

Add an action to your automation

You can either select an action from the list, or search for a specific one. For this automation, choose “Play music” in Apple Music. 

Adding a "play music" action to the automation

Then, select this ‘Music’ variable to assign a specific song to play. 

Selecting the "music" variable

You can choose any song you like. 

Choosing a song to play

You can add more actions to your automations if you’d like, but we’ll stick with this 2-step automation for our example. 

A fully configured bluetooth automation in Shortcuts

Once you’re finished, tap “done.”

Then, give your automation a test by connecting it to a bluetooth speaker.

Our automation instantly starts playing the song once we connect to the device. Perfect!

A song played automatically by the Shortcuts automation

You can hear the AI-generated song we’ve chosen in the video version of this tutorial. 

Take a Shortcut to productivity at home

Shortcuts are a great tool for shaving a few minutes off your daily tasks and automating your personal devices. They’re totally free and just take a moment to set up, so try building your own today.

If you’d like to learn more about automating your devices at home and at work, be sure to check out our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Tutorial
July 15, 2024
How to Create and Reference Data Stores in Make (Integromat)

When you’re building Make scenarios, the prebuilt integrations don’t always retrieve all the data that you need. If you want to supplement your automations with some lookups for extra information, you can easily do it with Make’s “data stores” feature. 

In this post, we’re going to show you how it works. 

We’ll begin by creating a data store in Make. Then, we’ll demonstrate how to retrieve, create, and update information from a data store in an automated scenario. 

At the end of the post, we’ll also share an alternative lookup method that can be more useful if you’re automating your work with both Zapier and Make. 

To follow along, just sign in to Make. Data stores are available on every subscription level, including free plans. 

How to create a data store in Make

To create a data store in Make, open up the app and click on the “Data Stores” option on the left-hand menu. 

If you don’t see the “Data Stores” option, click on “More”, then select “Data Stores”. 

To make a new data store, click on the “Add data store” button in the top right corner.

Adding a new data store in Make

In the window that pops up, you can give your data store a name, choose its size, and give it a structure. 

Initial options for configuring a new data store

Your maximum data store size will depend on your subscription level. On the free plan, you’ll be limited to just 1 megabyte.

When you click on “Create a structure”, you’ll be able to add fields to your data store. When you create a structure, you’re just defining the fields that will be present in the table, such as “Full Name.” You’re not going to enter the actual data yet, like “John Smith.”

Creating a data structure for a data store

To add a new field to your data store, click on “Add item” under “Specification.” 

Initially, you’ll see three fields to fill in here: “Name”, “Type”, and “Default.” If you enable advanced settings, you’ll also see a “Label” field.

Data structure configuration options

A field’s Name represents the programmatic name of the field. This is the text that Make will look for or return whenever it references this field. If you change the name of a field in your data store, you’ll need to make sure that you update any automations that reference that field.

Data structure configuration - giving an item in a name

The label is an alternative title for the field that’s primarily intended for people to read. It’s often better to keep the name of each field constant and just update the label if you want to change what the field’s called.

Data structure configuration - giving an item a label

Under “Type”, you can select the data type that your field will accept, such as “Text” or “Date.” 

Data structure configuration - choosing an item's type

In “Default”, you can specify a default value for the field. Note that this option won’t be available for every field type – for instance, it’s not present for “Date.”

Data structure configuration - choosing an optional "default"

You can add several items to create as many fields as you want. Note that in addition to all of the custom fields that you specify here, every data store will also have a field called “Key”, which is meant to be used as a unique identifier for each record. 

Once you’re done, click on “Save” to close the field configuration menu.

Saving a data structure

Then click “Save” again to create your data store using the chosen structure.

Saving a data store

How to manually add records to a data store

To add records to your data store manually, hover over it and click on “Browse” to open the data store. 

Clicking "browse" to view and edit a data store

Then, click on ‘Add’ and fill in each field. 

Clicking "Add" to manually add new records to a data store

Once you’re done adding records, be sure to click “Save” to commit your changes.

Saving edits to a data store

Look up data store records from a Make scenario

Once you’ve created a data store, you can use Make scenarios to automatically find, add, and update records in it. However, you can’t trigger automations to run when you add or update a record in a data store.

Available automated actions for data stores in Make

To automatically look up records in a data store from a Make scenario, add a new module to your scenario, and search for “Data store.” 

In the “Data Store” module, select “Search records.” 

Choosing the "Search records" action

Then, pick the data store you want to search in.

Selecting a data store to search in

Choose the field that you want to search within, and provide a value to search for. You can also specify a sort order for the search results here. 

Choosing a field to search in and a value to search for

When you run this module, you’ll see any matching records that were found in the data store.

The results returned by the data store search action

Then, you can use that data in any subsequent steps in your automation. As usual in Make, the value in each field will be returned as a separate variable.

Using the data retrieved by the search in subsequent actions

Create and update records in a data store

There are a couple of different ways to automatically create records in your data stores, but the most efficient and flexible options will usually be to use the “Update record” option. 

Selecting the "update records" action

With “Update record”, you can either update an existing record, or create a new one if it doesn’t exist yet.

Just specify the data store you want to use, and the key to search for. 

Entering an ID to find a record to update

Then, choose whether or not to create a new record if no match is found. 

Choosing whether or not to create new records if no match is found

Fill in every field that you want to update with the new value that will be entered.

Filling in fields for the updated or created record

If you leave a field blank here, then the contents of that field will not be updated when the scenario runs. However, if you’re using the “update” module to create records as well, you’ll probably want to fill in every field.

Once you’re all set, click OK to close the configuration window. 

When you run the module, you should see the record created or updated as appropriate.

An automatically created record in a Make data store

Operational Databases: an advanced alternative

Of course, data stores are certainly not the only way to do a lookup in Make, and frankly, they’re often not the best way. 

Instead of using a built-in feature like a data store, we’d often recommend using Airtable to create an Operational Database (ODb). With an ODb, you can store data for easy reference, control how your automations run, and share data with your team using interfaces.

An operational database in Airtable being used with a Zap

You can learn more about using an ODb with your no-code automations in this blog post. In the post, we give a brief overview of all the key benefits and use cases of connecting your automations to an Operational Database.

The post primarily demonstrates an ODb connected to Zapier, but the same principles apply to Make. In fact, one of the key benefits of using an ODb is that you can search the same database from several different automation providers. 

To learn more about designing workflow automations that leverage an ODb, you can also sign up for our Workflow Designer course. With over 2 hours of video content and activities, we’ll teach you how to design and implement automated workflows that support entire teams with techniques like an ODb.

Of course, an ODb may be overkill in some circumstances. If you just need a small set of data that likely won’t be referenced in many places, then the data stores that we’ve looked at today are a great choice.

Easily find, update, and create data in Make with data stores

With Data Stores in Make, you can quickly create a simple database that you can reference from any Make scenario. Once you’ve established the structure for a data store, you can add, update or delete records with a simple built-in module. 

If you’d like to learn more about Make, Zapier, and other no-code automation tools, check out our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Tutorial
July 8, 2024
A Better Way to Import CSVs into Airtable

If you’ve ever tried importing a CSV into an existing table in Airtable, you’ve probably run into a certain frustrating problem. 

While you can easily add data to most field types with a standard CSV import, you can’t map the imported data to your linked record fields, such as the linked “Owner” field pictured below. 

Attempting to map data to a linked record with a standard CSV import in Airtable

Fortunately, there’s another way to import CSVs into your tables, and it will let you add data directly into your linked record fields. 

All you need is an Airtable subscription and one free extension. In this post, we’re going to show you how it all works. 

We’ll demonstrate how to add the “CSV import” extension, and explain how to use it step by step. 

Just open up Airtable to follow along. 

Airtable’s “CSV Import” Extension

With the “CSV Import” extension, you can map data from a CSV to a linked record, even when you’re adding the CSV to an existing table.

The extension itself is free, but like all extensions, you will need to have a paid Airtable plan to add it to your base. 

Adding the extension to your Airtable base

To add the extension to your base, start by clicking on “Extensions” in the top right. On Mac, you can also press Cmd + Shift + backslash to open up the extensions panel. 

The extensions tab and shortcut in Airtable

Once the extensions panel is open, add an extension to your base. 

Adding an extension to an Airtable base

Search for “CSV import.” It should be the only result that appears. 

Searching for "CSV import" in the extension marketplace

You can click on the extension to view more details. For instance, you’ll be able to see that the extension is actually published by Airtable.

CSV import extension marketplace page

Click “Add Extension” to add the extension to your base. 

Just note that extensions are added at the Base level. The extension will immediately be available in every table in the base you have open, but it won’t be automatically added to other bases.

Once the extension is installed, you can use it at any time by opening up the extensions panel. 

Uploading a CSV with the extension

With the extension open, you can click on the table icon to upload a file. 

Clicking the icon to upload a file

After your file has finished uploading, you’ll have a few settings you can adjust to configure your import.

By default, the extension will import your data into the table you currently have open, but you can select another table if you'd like.  

Picking a table to import data to

Under “Settings,” you’ll see a few options: 

• Merge existing records if there are duplicates

• Skip the header row of your CSV

• Automatically create new “select” options when the entry doesn’t match an existing choice.

CSV import settings

Below these settings, you can easily map each field from your CSV to the appropriate field in Airtable. Just select the destination field from Airtable and pick a matching field from your imported CSV. 

Mapping fields in a CSV import

If your CSV field names match your Airtable field names, most should be mapped automatically, but you can adjust them as needed if they don’t get paired up correctly. 

And most importantly, you can map data from your CSV to linked records in Airtable, such as the “Owner” field in our example. 

As you adjust your settings, you’ll see a preview of your new records in this area to the right.

Preview records for a csv import

Once you’re done configuring your settings and field mappings, click “Save records” to add the new data to your table.

Your records will begin to show up immediately in the table, although large imports may take a little bit longer. 

Imported records in Airtable

You should also see that any linked record fields are filled in correctly for each new record, just like the “Owner” field in our example. 

Limitations of the “CSV Import” Extension: Formula Fields in Linked Records

Before we wrap up this tutorial, we just want to note that there is one key limitation if you’re importing CSVs into a table with linked records. 

If the table you’re linking to uses a formula for the primary field, then you won’t be able to add records to that linked table by importing new data. 

Let’s illustrate this issue with an example. 

Bill Thompson is listed as an “Owner” in one of the rows in our Google Sheet pictured below, which we’ll export as a CSV.

A Google Sheet that lists Bill Thompson in the "Owner" column

However, Bill isn’t in our “People” table in Airtable, which is what the “Owner” field links to. 

The "People" table in Airtable does not include a record for Bill Thompson

In the “People” table, the primary field uses a simple formula to concatenate the “First name” and “last name” fields.

The formula used to populate the primary field of the "People" table

When we import the CSV into Airtable with the extension, the “Owner” field for this record is blank, because it can’t find “Bill Thompson” in the “People” table. That record doesn’t exist. 

An imported record with a blank linked record field

It also can’t create a record for Bill Thompson, because data cannot be entered directly into a formula field. 

How to work around the formula field limitation

In circumstances like these, just make sure to import any necessary data into the linked table first. 

In this case, we’d want to import data into the People table before importing into the “Tasks” table. If we import a “Bill Thompson” record into the People table, then our imported records in the tasks table will be able to link to it. 

Importing data into the linked table first

This limitation with formula fields can be a little annoying to work around, but using the CSV Import extension generally works much better for adding new data to a table with linked records.

Better CSV imports with Airtable’s free extension

Importing CSVs into Airtable with the usual method has some frustrating limits. If you’re regularly updating a table with new data from a CSV, then you’ll definitely want to start using the CSV Import extension

It will let you easily add records to an existing table, and will even map directly to Linked Record fields, avoiding the hassle of converting your field types. 

You may also want to check out our Zapier or Make beginner’s guides to start setting up some automations instead. 

If you’d like to learn more about streamlining and automating your work in Airtable, Make, Zapier and other no-code tools, be sure to check out the other posts on our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Understanding Automation
July 1, 2024
4 Free Workflow Automation Resources from XRay.Tech

At XRay.Tech, our goal is to help people automate their mindless work so they can create more time for the work that matters. 

We believe that everyone should be able to design the perfect way to work for themselves, regardless of their budget and background. 

In addition to offering long-term automation support to enterprise organizations through our CWO Membership, we also offer several ways for anyone to start automating their work for free. 

In this blog post, we’re going to share four of the tools and resources that we’ve built to enable everyone to research, build, and learn more about workflow automation. 

XRay.Tools

First, let’s take a look at XRay.Tools, a free automation search engine developed by our team at XRay. 

If you want to quickly research the automation capabilities of any web app, a quick search on XRay.Tools will show you everything you need to know. 

searching for an app on xray.tools

You’ll see every available trigger, action, and search in Zapier, Make, Workato, Power Automate, and other popular automation providers. 

Reviewing triggers, actions, and searches in XRay.Tools

You can search for several tools at once, and save your search to a convenient, shareable tool belt that you can send to clients and collaborators. 

Copying a shareable link for a tool belt in XRay.Tools

Just go to xray.tools to get started. 

XRay Workflow

Next, let’s explore a tool that anyone can use to share resources from around the web with a single convenient link. 

With XRay Workflow, you can save any URL as a link or an embed, including video URLs from YouTube. 

A YouTube video embedded in XRay Workflow

Your links will exist alongside any other text, documents, or even webhooks that you want to share on your custom board. 

A board with several pins on XRay Workflow

When you’re ready to send your board to clients, coworkers, students, or just anyone on the web, you can make your board public and copy the link. 

Copying a link to share an XRay Workflow board

With a single URL, you can compile and share dozens of links and helpful pieces of information in one place. 

To learn more and download XRay Workflow for free just to xrayworkflow.com. 

XRay YouTube Channel

Every week, we post no-code and low-code automation tips and tutorials to this blog. But we also post a companion video each week on YouTube. 

XRay.Tech's YouTube channel

On YouTube, you’ll get to see more detail in every tutorial as we walk through the entire process instead of just sharing key screenshots. 

If you’d like to see all of our tutorial workflows in action and get alerts for every new video, subscribe to the channel here and turn on notifications so you don’t miss a new way to save time. 

Workflow Designers on Slack

Finally, if you want to chat with some like-minded builders to share advice, tips, and horror stories, be sure to check out the Workflow Designer Slack community we’ve built. 

It’s a free community for no-code automation builders that we set up to give everyone a place to talk and share ideas. 

Click here to join Workflow Designers on Slack. 

Supporting no-code and low-code builders

Check out all the resources listed in this blog to learn more about workflow automation, plan your no-code builds, and compile links from all over the web into a single URL. 

And if you’d like to learn how XRay can help your company to automate your work and scale your processes, just reach out for a free consultation. 

You can also follow XRay on Twitter, Facebook, or LinkedIn.

Understanding Automation
June 24, 2024
The 5 Best Free Automation Apps

Automating your daily tasks doesn’t mean you need to sign up for expensive software. With the right tools, you can boost your productivity and get rid of robotic work without breaking the bank. 

In this post, we’ll give you a rundown of 5 of the best free (or cheap) automation apps available right now.

While most of these apps can be accessed for no charge at all, many do offer additional features at an extra cost. 

This list will cover several use cases, so whether you want to automate personal tasks, your social media, or your business, there’s something here for you. 

Links to every app can be found in the companion XRay Workflow resources board for this post

Now let’s jump into the list. 

App #1: Simple Social Media and Mobile Automation with IFTTT

ifttt logo

What is IFTTT?

IFTTT stands for “If This, Then That”, and it's a tool that lets you automate your web apps and your mobile devices, including system settings on your Android or iOS phone. 

This app does not have a huge library of integrations compared to giants like Zapier, but it does offer great support for social media apps and mobile devices in particular. 

Example automated "applets" on IFTTT

What can IFTTT Do?

With IFTTT, you can build automations or “applets” that run whenever a specified event occurs. 

For instance, you could create an applet that shares every new update in an RSS feed as a post on a Facebook page. 

An RSS and Facebook applet in IFTTT

Or, you could build an applet that creates a new post on Twitter whenever you start streaming on Twitch, so all your followers can get notified immediately. 

A Twitch and Twitter (X) applet in IFTTT

Automating mobile devices with IFTTT

With its mobile automation tools, you can use IFTTT to do things like unmuting your phone whenever you get home.

You could also send an automated text to your family asking if they want anything whenever you arrive at the grocery store. 

That way, you can avoid making a second trip just for a single bottle of hot sauce. 

Limited support for business apps in IFTTT

IFTTT also offers decent support for some popular business apps, including Google Drive, Slack, Webflow, and Airtable. However, you’ll definitely find more integrations for this kind of software on automation providers like Zapier and Make. 

What are IFTTT’s limitations?

The biggest downside of IFTTT is that the free plan is rather limited. You’ll be stuck with 2-step applets only, and you’ll be limited to 2 applets total. 

IFTTT pricing

However, the paid plans that unlock additional applets and some premium integrations like Twitter start at only $35 bucks a year.  That's a little less than 1/10th the cost of zapier. 

If you need to automate your social media posts and your mobile devices, IFTTT is one of the cheapest ways to do it, and you can easily get started with the free plan. 

Get started with IFTTT

You can learn more and create a free account on IFTTT’s website.

App #2: Build Sophisticated Automated Workflows with Make

Make logo

Next, let’s take a look at the best free automation choice for businesses. 

This app is now called Make, though it used to be known as Integromat. A recent rebrand switched their color scheme from blue to purple and changed a few things behind the scenes, but it’s still the same app. 

At its core, Make is pretty similar to IFTTT, and even more similar to Zapier. 

What can Make do?

With Make, you can build automations – called “scenarios” here – that connect your web apps together. When an event happens in one web app, one or more actions will be automatically performed in your other apps. 

Example automated scenarios in Make

Make has about twice as many integrations as IFTTT, though it doesn’t have nearly as much support for Android and iOS device-specific automations.  

Instead, you’ll get access to a greater number of integrations with popular business and enterprise web apps, like Shopify, Hubspot CRM, and Basecamp, just to name a few. 

Available integrations in Make

You’ll also typically see much more advanced support on Make for apps that might also be on IFTTT, like Asana or Salesforce. 

Automated actions for Asana available in Make

Additionally, Make’s free plan is the most robust out of any comparable automation provider. You’re still limited to only 2 active scenarios, but unlike IFTTT or Zapier, Make will let you build multi-step automations without a paid plan. 

You can also access basically all of Make’s core features without paying a dime. Your two scenarios can connect data between a dozen different apps and run all the conditional logic that you want. 

Flow Control features are available in the Make free plan

Routers, filters, arrays, iterators and other features are all available to give you precise control over how your automations run. 

Make’s limitations

Compared with competitors like Zapier or IFTTT, Make can be a little challenging to learn, particularly for users with no coding experience at all. 

Additionally, while its current tally of almost 2,000 integrations is impressive, it’s still a long way off of Zapier’s staggering total of over 7,000 integrations. If you’re a strictly no-code builder and aren’t interested in dabbling with low-code Make may not be an ideal choice. 

Finally, Make’s free plan won’t be suitable as a long-term solution for automating your company’s work. If you want to start using several scenarios to automate your team’s work, you’ll need to start a subscription. 

That being said, Make is easily the best way to explore everything no-code automation can do for your company without any cost or commitment upfront, and it offers several affordable paid plans. 

Get started with Make

To learn more about Make and start using it for free, just explore Make’s website.  

#3: Automate Your Apple Devices with Shortcuts

Shortcuts logo

Of course, automation isn’t all about business, and it’s not all about connecting web apps together, either. Sometimes, it’s all about that little device that lives in your pocket. 

What is Shortcuts?

Shortcuts is a free utility available on every Apple device. It lets you run automated actions at the press of a button, or whenever specific trigger event conditions occur. 

Shortcuts primarily connects with native Apple software, but also integrates with third-party apps like Dropbox. 

What can Shortcuts do?

With Shortcuts, you can automate reminders, photo backups, and a whole lot more on your iPhone, iPad, Apple Watch, or Mac. 

For example, with Shortcuts, you can set up a Shortcut button that uploads the latest photo from your camera roll directly to your dropbox account. 

Uploading a photo to Dropbox with Shortcuts

You can also set up automated text messages that get sent out at a scheduled time, or turn off cellular data when you connect to your home wi-fi. 

Automatically turning off cell data with Shortcuts

Watch “15 iPhone Shortcuts YOU Requested” on YouTube

For a bit of fun, try using the meme builder template to quickly add text to any of your images and liven up your group chats. 

The "meme builder" Shortcut

To create a Shortcut, you can either build custom actions from scratch, or grab a premade Shortcut from Apple’s template gallery to get started quickly. 

The Shortcut gallery

Shortcuts Limitations

Shortcuts is an automation tool that’s easy to use, totally free, and it’s already installed on all of your Apple devices. 

The only real downside is that it has relatively few integrations and limited functionality when it comes to automating web apps, so Shortcuts is definitely not a good choice for automating the software you use for work. 

But all in all, it’s a great tool for automating reminders, personal tasks, smart home devices, and managing your photos and other media. 

Get started with Shortcuts

To get started with Shortcuts, just open up the app on your Apple device. The icon looks like this:

#4: Use Macrodroid or Tasker to Automate your Android Phone

If you like the look of Shortcuts but don’t have an iPhone or other Apple device, don’t worry. There are a couple of good Android alternatives to Shortcuts, which we’ll cover now. 

Let’s take a quick look at both Macrodroid and Tasker

What are Macrodroid and Tasker?

Both apps are very similar to Shortcuts, allowing you to automate actions in your phone’s software. 

However, unlike Shortcuts, these are third-party apps. You’ll need to open up the Google Play store to install them. 

Macrodroid is available to download for free, although you’ll need to pay a one-time fee of $7 to unlock unlimited macros, remove ads, and get some other functionality like cloud backups. 

Tasker doesn’t offer a free plan, but costs only $3.50 to download. 

What can Macrodroid and Tasker do?

As just a few examples of the kinds of automations you can set up with these apps, you can use them to start automatically playing music whenever you connect to a bluetooth speaker, set up advanced reminders and tasks, create a screen-recording button, and more. 

Automatically playing music when connected to bluetooth speakers in Macrodroid

Watch “How to Use Macrodroid 9” on YouTube

The biggest difference between the two apps is ease of use. 

Tasker has extensive functionality and lets you choose precise settings for every automation, but it’s not the most user-friendly experience. 

Tasker UI

Watch “Tasker 5.13 - Scenes+” on YouTube

You’ll definitely need to check out some tutorials to get started, but it does have a dedicated and helpful community that will gladly lend you a hand. 

On the flipside, Macrodroid is a much simpler app to use, with an interface that will likely be a lot more comfortable for most users. 

Macrodroid UI

Watch “Tasker Too Complicated? Give MacroDroid a Try” on YouTube

Whichever you choose, you’ll be able to streamline all sorts of tasks and actions on your Android device. 

Tasker and Macrodroid Limitations

The biggest downside to both Tasker and Macrodroid is that they’re strictly Android apps. You won’t be able to use the apps on a PC or Mac to automate your work there as well. 

Get started with Tasker and Macrodroid

You can learn more about both apps and download them on their respective Google Play Store pages:

Tasker on Google Play Store

Macrodroid on Google Play Store

#5: Explore self-hosted automation with N8N

Finally, we’ll wrap up this list with an automation tool for the most tech-savvy builders out there: N8N.

What is N8N?

N8N is an open-source automation provider. It works similarly to Zapier, Make, or IFTTT, and it also offers some standard paid subscriptions just like those apps. 

What can you do with N8N?

In N8N, you can build automated workflows that are comparable to what you might build in Zapier or Make. 

However, what makes N8N stand out from the competition is that it also offers a unique self-hosting option. 

This is available for both their Enterprise implementations, and for their free Community version. The community version of N8N is available as a Github repository.

Self-hosting on N8N

If you’ve got some technical knowledge and you’re looking to set up automations that you have total control over, then N8N is a great choice. 

They only offer about 1,000 pre-built integrations, but they also include generalized tools for connecting to any app with an API. 

Integration and API options in N8N

Even if setting up your own instance is beyond your comfort zone, N8N’s paid plans can still often be much more affordable than Zapier or Make. Team plans with unlimited users start at just $20/mo. 

N8N pricing

Note that N8N sets their pricing based on completed workflow runs, rather than individual tasks or operations. If you want to build longer or more complex automations, this is a more budget-friendly approach. 

N8N limitations

Setting up your own self-hosted instance of N8N is not something most no-code builders will be familiar with. 

Additionally, many of N8N’s features like native support for JavaScript won’t be very useful or accessible if you’re not familiar with web development. 

However, making the jump from purely no-code tools to software like Docker or Supabase may be worth it for many users. 

Get started with N8n

N8N certainly won’t be for everyone, but if you’ve got the technical background, its unique pricing and self-hosting model might be exactly what you're looking for. 

To learn more about N8N and setting up your own instance, just check out N8N’s website

Automation tools for any budget

Automation can make everything in our lives easier, from streamlining dull tasks at work to helping us stick with healthy habits at home. With free and cheap tools like the apps we’ve outlined, anyone can start creating more time for the stuff that matters. 

For more automation tips and tutorials, be sure to check out our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Understanding Automation
June 17, 2024
Building Better No-code Automations with One Simple Technique

Are your Zaps just not zapping like you want them to? 

If you've dabbled in apps like Zapier and Make, you might have hit a wall trying to take your automations to the next level. As you try to move past simple workflows, you may be struggling to build automations that find all the data you need, and you may find that your Zaps or Scenarios end up becoming far too long and difficult to maintain. 

Fortunately, there’s a reliable technique that can untangle your automation woes and help you build better, more consistent workflows. It's all about diving into the world of no-code databases, particularly in apps like Airtable and SmartSuite. 

In this post, we're going to walk you through how leveraging an Operational Database in Airtable or SmartSuite can revolutionize your approach to automations, and will let you build systems that support multiple teams and departments. 

As we go along, we’ll share some real-world examples from our own workflow toolkit so you can see exactly how it all works. 

The problem: linear design

If you’re getting frustrated with Zapier or Make, you’re not alone. At XRay, we constantly hear from people who are struggling to connect their apps the way they want to with no-code automation providers. 

In many cases, we find that the issue comes down to one critical concept: linear design.

For new builders, it can be difficult to break out of a linear design pattern, especially since automation providers typically describe their product using this type of pattern. Most of the automation descriptions on Zapier and Make’s websites rely on a “When A, then B” format, like in the examples below. 

Simple automated workflows advertised by Zapier, Make, and IFTTT

However, this setup is just the beginning, and if you keep trying to use it for every automation, you’ll quickly find that it becomes limiting.

For example, let’s say you want to build an automation that creates a task in Asana (or any other task management app) whenever you add an emoji to a Slack message. 

Tip: if you'd like to learn how to add custom emojis to your Slack workspace, explore Slack's help docs here.

Adding a custom emoji reaction to a Slack message

Automatically created tasks in Asana

It’s easy enough to set up a trigger in Zapier or Make that watches for new emoji reactions, and filters for custom “team task” emojis. Then, you can add an action that creates a task in your preferred software.

A Zap that creates Asana tasks for emoji reactions in Slack

Unfortunately, the trigger doesn’t actually retrieve all the useful, dynamic data that might be needed when creating tasks. 

For instance, how do you reliably attach the task to the appropriate project? The title of the channel might be a good starting point, but the title of your “Marketing” channel in Slack might not exactly match your “Marketing” project in your task management app, so adding a search step based on this data won’t be a reliable approach. 

The Slack channel is called "xr_marketing"

The matching Asana project is called "Marketing"

A single mismatched hyphen or underscore could prevent the automation from working correctly. 

Zapier can't find a match since the names aren't identical

And what if you want to automatically create tasks from multiple sources, like email or forms? If you want to avoid building redundant automations, you would need to mess around with things like Sub-Zaps or Webhooks, which can get a little complicated.

The solution: supporting your automations with an Operational Database (ODb)

There are many ways you could potentially solve automation design problems like these, but in our experience building no-code automations for our members and for our internal team, there’s one technique that consistently stands out.

The trick is to connect all of your automations to what we at XRay call an “Operational database,” or ODb.

While this term might sound like technical jargon, a well-designed operational database is arguably the single most important asset you’ll create as you’re building automations in the long term.

It will enable automations that support your entire team with the dynamic data that Zapier, Make, and other similar platforms struggle to find on their own. 

We’ll show you how it works and how it can fix all of these problems we’ve outlined and more.

Using an ODb to store and retrieve any data

Below is an example ODb that we could use to support the Task Creation automations we’ve described.

A simple Operational Database (ODb) in Airtable

This is a pretty simple no-code database built in Airtable, which is what we typically use at XRay, although you can also accomplish something very similar with SmartSuite. 

This database is a repository for all of the information that our automations use. We can match usernames to their emails and IDs in various apps, their job role, and a lot more. That way, we can create truly dynamic automations that suit an entire team instead of just an individual.

We can assign tasks or send messages to anyone with a single automation that searches for a record in this database, because all of the info we need is present. 

Integrating an ODb into automated workflows

Now, let’s take a look at some updated automations that connect to this ODb instead of using a standard, linear design.

By supporting the automations with an ODb, we can make sure that every task is assigned to the right person and connected to the right project.

In the “people” table, we’ve stored the names of the custom emojis that represent each team member, as well as their IDs in Slack and Asana.

The ODb contains Slack emojis and Asana IDs for every team member

After the automation is triggered by a new emoji reaction in Sack, it searches in our Airtable database for a matching emoji name, which is guaranteed to find an exact match. 

An Airtable search step matches emoji reactions to the right Asana ID

The Asana ID found in this Airtable record can then be used to assign the right task. When a “mattj” emoji is added to a Slack message, this search step will find Matt J’s Asana ID. When a “tom” emoji is added, it will find Tom’s Asana ID, and so on. 

The assignee and project ID are designated dynamically

Dynamically selecting an Asana project with an ODb

With an ODb, you can use largely the same process to attach the task to the right project in Asana. The table pictured below lists all of the projects at the company, and includes their exact names and IDs in Slack and Asana. 

An Airtable search step matches each Slack channel to the right Asana project ID

With this information, we can be confident that lookups will always work correctly. 

Using an ODb as an advanced lookup table

With an Operational Database, you don’t just go from App A to App B. You can search in the database for any data you need, send it to other apps, and update the database with the latest information. 

When you use an ODb, you don’t need to worry about necessary data missing from a Zapier trigger, action, or search. Just store any data you need in your ODb to conveniently access it whenever you want from any automation.

Additionally, by leveraging linked records in your ODB, you can associate data in one table with data in another table. Even as you add more and more information, you can keep the whole database neat and organized with one table for “People,” one for “Tasks,” one for “Projects,” and so on. 

Linked records surface the right data while keeping your database organized

You don’t need to worry about a given Zapier trigger or action not having the right data, because you can find it all with a simple search step for the right record in your database. 

And unlike a simple lookup table in Zapier, you can refer to this database from any number of automations, on any number of automation platforms, and include as many attributes as you want. Plus, you don’t need an expensive subscription like Zapier Tables just to put this database together.

Controlling automated activity and building modular automations with an ODb

However, an Operational Database is more than just an advanced lookup table. With views and filters, you can use an ODb as a control center for your automations.

For example, one useful aspect of an ODb in Airtable is that you can launch automations whenever a record enters a specified view or meets certain conditions.

A filtered view in Airtable controls when automations run

This is a very flexible automation trigger that gives you a lot of options for controlling your workflows, and can help you to build modular automations that avoid redundancy. 

For instance, if we wanted to expand our task creation automation and establish multiple ways to create tasks, we could use our ODb to create a system that funnels data from several sources to a single endpoint. 

Our main task creation Zap, pictured below, triggers in Zapier whenever a record enters the “Create Task” view in our database. 

A simple three-step automation creates Asana tasks out of Airtable records

So whenever we want to add a new method for creating tasks, we don’t need to add steps that create the task every single time. 

All we need to do is get the information into Airtable, and then the main automation that we already built will take over. 

This means that we can have one automation that collects data from Slack, one that collects data from a form, and one that collects data from an email inbox.

Three separate sources funnel data into Airtable to create tasks with the same automation

They all send their data to Airtable, which launches a single automation that actually creates the task. 

This is a much more scalable, maintainable approach than building three fully separate automations, and you don’t need to mess around with sub-Zaps or webhooks to do it. 

Additional benefits of using an Operational Database

In addition to all of the advantages that we’ve described so far, you can also use your database to create indefinite delays, as we demonstrated in this earlier Zapier tutorial.

With an ODb, you can also create several smaller automations that run on demand, or transform data however you want with formula fields, and much more. 

We can’t cover every feature and benefit in a single blog post, but if you’d like to learn more about designing scalable and dynamic automations with an Operational Database, you can sign up for our Workflow Design Course. 

Going beyond linear design to build better automations

Building simple, straightforward automations in Zapier or Make is a good way to get started, but creating great automated workflows requires a bit more. It's all about thinking beyond the linear and embracing the power of a well-crafted database.

With an Operational Database in Airtable or SmartSuite, you can get all of the data you need in one place to build dynamic automations that support entire teams. You can control when each automated action runs, and you can avoid creating redundant automations that all do basically the same thing. 

Essentially, with an Operational Database, you can build complete systems instead of just building automations.

If you’d like to learn more about designing and implementing automated workflows with no-code tools, be sure to check out the other posts on our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

News and Updates
June 10, 2024
Everything you Need to Know About ChatGPT’s New Google Drive Integration

Since bursting onto the scene in November 2022, ChatGPT has been making consistent updates. 

In this post, we’re going to take a look at one of the latest features – a direct integration with Google Drive. 

OpenAI has been rolling out the Google Drive integration over the last few weeks, and it’s now available to all ChatGPT users – including users with free plans. The integration allows you to upload files directly from your Google Drive into your ChatGPT conversations. 

Once you’ve uploaded the file, you can ask ChatGPT to do whatever you want with the file. You can summarize it, translate it, describe it, or even rewrite it as an epic poem. 

We’ll show you how to get started with the new integration, and give you a few examples of what it can do. 

How to use the Google Drive Integration in ChatGPT

To begin, just click on the file (paperclip) icon next to the chat window. 

The "attach files" button in ChatGPT

Then, choose the new option that reads “add from Google Drive”. 

The "Add from Google Drive" option in ChatGPT

You’ll need to sign in with a Google account and authorize ChatGPT to access your Drive before you can proceed. 

Once you’re signed in, you’ll see a familiar portal where you can browse or search for any file that you want to send over. 

TIP: Wait for your file to appear as a suggestion rather than clicking on search. As we were testing the new feature, we generally found that Google Drive placed more accurate and consistent search results in the dropdown that appears underneath the search bar. Actually clicking on the search icon would typically turn up several bad matches, and often wouldn’t include the file we were looking for. 

The Google Drive modal in ChatGPT

Click on the file you want to upload to ChatGPT, and the file will start loading right away.

A file inserted into ChatGPT from Google Drive

Then, enter any prompt you want, and send your message to ChatGPT as usual. 

A prompt and response in ChatGPT including a Google Doc

While this update isn’t a revolutionary change to ChatGPT by any means, it definitely adds some real convenience if you do most of your work in Drive. 

It’s a lot quicker to attach a file directly than to open it in Drive, download it to your computer, and re-upload it to ChatGPT. 

What file types does the Google Drive integration in ChatGPT support?

ChatGPT can view and analyze text documents, slide presentations, images, and video files. However, based on our most recent tests on 06/04/24, the AI encounters several errors and has pretty limited functionality when it comes to video files. 

Try using the ChatGPT to extract key insights from your docs, create new iterations of your images with DALL-E, or suggest speaker notes in your presentations. 

Additionally, ChatGPT can only extract text from Slides presentations. If you want ChatGPT to take a look at any of the images in your deck, you’ll need to upload them separately. 

What are the limitations of the Google Drive integration in ChatGPT?

The Google Drive integration can read and analyze the files that you add to your conversations, but it cannot create or edit files directly in your Drive. Sending ChatGPT a prompt like “Create a file in my Google Drive called ‘Example Doc’” won’t work. 

It also can’t search for files on your behalf, so a question like “is there a file called ‘Example’ in my Drive?” won’t return a helpful answer. 

Instead, its features are limited to reading and interpreting the files you choose to share with ChatGPT directly. 

Integrating AI into routine workflows

For many of us, ChatGPT has become an essential part of our daily work, so integrations with apps like Google Drive are a natural fit. 

It’s not an earth-shattering change, but it’s a nice little update to be able to upload files directly from Drive into ChatGPT, and it’s hopefully laying the groundwork for a more robust integration to follow. 

If you’d like to learn more about saving time with AI and workflow automation, be sure to check out the other posts on our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Tutorial
June 3, 2024
Automatically Export Gmail Messages to Sheets with Zapier

With tools like Zapier, it’s easy to export new emails to Google Sheets for better analysis. However, the best process for exporting existing emails isn’t always so obvious. 

Today, we’re going to show you how to automatically send data from any Gmail message to Google Sheets by just adding a simple label. This will let you send over any data you want from your messages, like the subject, sender, and body, or even attachments. All you’ll need are accounts in Google and Zapier. 

Attachments or no attachments: your choices for this tutorial

Let’s begin with a quick overview of how the finished automation works. 

The automations in this tutorial consist of two separate Zaps: one for emails with no attachments, and one for emails with attachments. 

We’d normally try to do this all in one automation, but there’s a special Gmail trigger for new attachments which is very useful for uploading each attachment individually without messing around with loops, custom scripts, or other advanced options. 

However, since the “new attachment” trigger obviously won’t work for emails without attachments, we’ll need a separate automation to handle them. 

With both of these automations, all you have to do is apply the appropriate label to an email in Gmail.

Inbox with the Send to Sheets label being selected

Then, that email’s data will be sent over to Google Sheets. 

GSheets that will be receiving email data

If the email has attachments, they will be automatically uploaded to a folder in Google Drive, and that folder is added to the email’s row in Sheets. 

Google Drive folder where Email Attachments are located

The Zap that doesn’t include attachments is only a 2-step, which means it can be built and used on a Zapier free plan. 

Conversely, the Zap that handles multiple attachments is a 4-step Zap, so it won’t work on a free plan. You can build it in the editor, but you won’t be able to turn it on. If you’re limited to a Zapier free plan, we’d recommend using the first Zap only. 

That’s how the automations work in a nutshell, but let's take a closer look and break down both Zaps step by step. 

Transferring emails to Sheets: No Attachments

We’ll start off with the simpler option. This is an automation that will work great for sending email data to Google Sheets, but it won’t work so well for sending attachments. 

On the other hand it’s only a 2-step Zap, so it will work on a Zapier free plan. 

Trigger: New labeled email in Gmail

Add a Gmail trigger to your Zap and choose “New labeled email” as the event. 

A "New Labeled Email" trigger event in Zapier

Using the “New labeled email” trigger will give you more direct control over which emails you export to Sheets and when you send them. If you use a standard “New email” trigger instead, every new email will be sent by default. 

With this trigger, you can label new emails or historical emails whenever you’d like to send them to Sheets. 

Select the label that Zapier should watch for. You’ll likely want to create your own custom label in Gmail first, then apply it to an email so you have test data. 

The label you will trigger the automation on "⚡️ Sheets: No Attachments"

Once you’ve chosen the label to use, give your trigger a test. In the test data, you’ll see a huge quantity of data retrieved from the sample email – all of which can be sent to Sheets or other apps if you’d like. 

Sample Trigger Data of the Email

However, in most cases, you’ll just want to send over a few data points like Body, Sender, Subject, Date, etc. 

Action: Find or create a new row in Sheets with “Lookup spreadsheet row”

Create a spreadsheet in Google Sheets where you’ll store your email data. Be sure to include a column for each data point you want, as well as a unique identifier for each email. We’d recommend using “Message ID” as the identifier. 

Spreadsheet with Columns of different fields of the email to be logged

Add an action to your Zap and choose Google Sheets as the app. Select “Lookup spreadsheet row” as the event. 

Lookup Spreadsheet Row Event Action

This might seem like an odd choice, but the name of the event doesn’t tell the whole story. “Lookup spreadsheet row” is essentially two actions in one. It will start by searching for a row, as the name suggests. 

Lookup Spreadsheet Row Event Action

However, if it doesn’t find a matching row, you can configure the step to create a new one. You’ll have all the same options as usual to map any data you want to each field. 

The Action to map the email fields to a spreadsheet

Just make sure to check the “Create Google Sheets Spreadsheet Row if it doesn't exist yet?” box to enable this option. 

Create Google Sheets Speadsheet Row checked

Using the lookup step is an elegant way to avoid duplicates without having to add extra steps to your Zap. 

NOTE: We’d recommend searching for a unique identifier for each email, such as the “Message ID”. If you use something like “Subject” instead, the Zap won’t work correctly if you have two emails with the same subject line (which is quite likely). 

Testing the Zap

Once your Sheets step is configured, your automation is all set. Turn it on, publish it, and give it a test by adding your designated label to an email in your inbox. 

Label an Email with "⚡️Sheets: No Attachments" highlighted

After adding the label, you may need to wait several minutes for Zapier to check your inbox for new labels. On the free plan, Zapier only looks for new data every 15 minutes. On higher tiers, you can expect to see new data processed within five minutes. 

After waiting an appropriate duration, you should see data from your email appear in Sheets, just as in the image below. 

New data from the automation in the GSheet

Transferring emails to Google Sheets with attachments

Next, let’s take a look at the second Zap, which is designed to export emails with attachments. Since this Zap has 4 steps total, it won’t work on a free plan, but it’s still easy to set up. 

Trigger: New Attachment in Gmail

To begin, create a new Zap and add a Gmail trigger. Select “New Attachment” as the event. 

Gmail trigger of New Attachment selected in Zapier

“New Attachment” is a unique trigger. Unlike most other email triggers, it will make the following Zap run for every attachment in a new email, not for each new email. 

For example, if you receive a new email with 3 attachments, then this Zap would run 3 times.

This functionality can be very useful for processing an arbitrary number of email attachments, but it does carry the risk of duplicating or overwriting data if the subsequent actions aren’t configured carefully. We’ll use a “Lookup” step once again to avoid these potential issues. 

If you’d like, you can also filter this trigger to only apply to emails with a designated label, or any other search criteria you want to apply. 

Once you’ve set up the trigger and its filter to your liking, give it a test to pull in some sample data. 

Be sure to have an email in your inbox with at least once attachment that you can use as test data. 

A new email in an Inbox

Action: Find or create a folder in Google Drive

In the next action, the automation will either find an existing folder in Google Drive where it can store the attachments, or it will create a new one. 

This action will work very similarly to the “Lookup row” action we used in the first Zap. 

Add a new action to your Zap, and choose Google Drive as the app. Select “Find a folder” as the event. 

Provide a name for the folder. Make sure to use unique, dynamic data again to ensure that each folder’s name will be unique. In our example pictured below, we’ve combined the Message ID with the email’s subject line to create a unique name for each folder. 

A GDrive Find Folder with fields mapped

Choose the parent folder where this subfolder should be created, and check the box that reads: “Create Google Drive Folder if it doesn't exist yet?”

So if Zapier doesn’t find a folder with a matching name, then it will create a new folder instead using the name provided. When you test the action for the first time, it should create a folder, since there won’t be anything for it to find yet. 

Action: Upload a file in Google Drive

Next, we’ll add a step to this automation that will upload each attachment to a folder in Google Drive. This will be the folder that is created or found in Step 2. 

Add a Google Drive action and choose “Upload file” as the event. 

An Upload File in Google Drive Action selected

To configure this action, you just need to pick which folder to upload your file to, and the file you’d like to upload. 

For the file, choose “Attachment: Exists but shown” from the trigger. The phrase “Exists but not shown” in a Zapier variable indicates that the variable represents a file, rather than a link or reference to a file. 

File field mapped with the Email Attachment Field

Optionally, you can also provide a new name and extension for the file. However, if you just leave these fields blank, then the file will retain its original name and extension. 

Blank File Name and File Extension fields

Test the action after configuring your choices. 

Action: Lookup row in Google Sheets

Finally, the last step in this automation will add the email’s data to Google Sheets, along with a link to the Google Drive folder where you can find all of the uploaded attachments. 

Add a Google Sheets action, and choose “Lookup spreadsheet row” as the event. Just like in the simpler Zap, this step will let you find or create a row as needed with a single action. 

GSheets Action Lookup Spreadsheet Row selected

Choose the sheet you want to use (you can use the same sheet as before), and select a column to search by. Again, we’d recommend using a column that will have unique data for each row, such as Message ID. 

Once again, check the box that says “Create Google Sheets Spreadsheet Row if it doesn't exist yet?”

Make sure Create Google Sheets Row if it doesn't exist is checked

Then, map your email’s data to each column in your Spreadsheet. 

For the “Attachment” field, provide the URL of the Google Drive folder created in the previous step. You can find this in the “Alternate Link” variable. 

The Attachments Field  with Alternate Link from Step 2 checked

Linking a single folder will be much easier than adding a link to each attachment individually. 

Once you’ve configured and tested this step, your Zap will be all set, and you can turn it on and publish it. 

How the “New attachment” Zap works

The “new attachment” trigger makes this a pretty unusual Zap, so let’s look at an example to explain how the whole thing works. 

Let’s assume you’ve received a new email in your inbox with four attachments, and you’ve added the “Send to Sheets” label to that email. 

The Zap will run once for each of the four attachments, but because of our “Lookup” and “Find” steps, it won’t perform exactly the same actions each time. 

First run

For the first attachment in a newly labeled email, this Zap will proceed to Step 2, where it will create a new folder in Drive to store the email’s attachments. 

Then, it will upload the first attachment to that folder in Step 3. 

Finally, in Step 4, it will create a new row in sheets with the email’s info and a link to the attachments folder in Drive. 

Additional runs

For every subsequent attachment in that newly labeled email, the automation will find the folder that already exists in Step 2. It will not create a new folder for attachments 2-4. 

In Step 3, it will upload the attachment that it’s currently processing to the right folder. 

Finally, in Step 4, it should find the spreadsheet row that it created for the first attachment, and will simply leave that spreadsheet row unchanged. 

Testing the “New attachment” Zap

To see it all in action, give the Zap a live test. 

Add your label to a new email with a few attachments. To make things clear, it’s best to use a different email than the one you used as test data while building. 

Inbox  with the "⚡️Send to Sheets label" checked

Wait up to 15 minutes (based on your Zapier plan), then check for your new row in Sheets. 

Exported Emails Sheet with new data

You should see it added to the bottom of the spreadsheet, and it should include a Drive link where you can find its attachments. 

Folder where Attachments are located

After giving it a test, this automation will be all set. 

Be aware of your Zapier task limits

Before we wrap up, we just want to give you one quick warning: 

Always check your task limits in Zapier before mass exporting data!

Sending 1,000 or more emails to Sheets could easily use up your month’s tasks in a single day. 

When you sign in to Zapier, you should see your task usage and limit in the bottom left corner. 

A view of Zapier's Task limits

Analyze your emails efficiently in Google Sheets

Putting your emails into a convenient spreadsheet makes it much easier to get the insights you need.  And with the simple Zapier automations we showed you today, you can send your emails over with just one click. 

If you’d like to learn more about automating software like Gmail and Google Drive, be sure to check out our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Tutorial
May 27, 2024
Instantly Create Google Slides Presentations with Make

With automated templates, you can create presentations, reports, and other slide decks faster than ever. By completing a quick form in Airtable, you can instantly create a Google Slides presentation populated with custom text and even images. 

In this post, we’re going to show you how it all works with a simple 3-step automation in Make, formerly known as Integromat. All you’ll need are free accounts for Google Slides, Make, and Airtable (or any other form building app you want to use). 

Preparing your template in Google Slides

Create a presentation

To begin, just create a presentation in Google Slides as normal. Note that you won’t need to upload this presentation as a template in Google Drive. Just make note of where the file is saved so you can identify it later in Make. 

Quick tip: enter “slides.new” in your URL bar or in a Google Search bar to instantly open up a new, blank presentation. 

Using "slides.new" to create a new presentation in Google Slides

Add variables to your presentation

Next, you can add variables to your presentation by enclosing text in two pairs of curly brackets.

A variable will act as a placeholder. When Make creates a new presentation from your template, it will copy the template as a new deck, and replace the variables with text or images from Airtable (or your other data source). 

In Make, you can use nearly any symbols and syntax you want for your variables as long as they’re enclosed in two curly brackets {{like this}}

However, we would generally recommend using “camel case”, where each word is separated with a capital letter instead of a space, hyphen or other character. This will ensure compatibility with other automation platforms like Zapier, in case you want to use them in the future. 

For example, your variables would look like this:

{{presentationTitle}}

{{shortDescription}}

In the image below, you can see a finished Google Slides template with a few variables in curly brackets. 

A Slides presentation with variables that will be recognized by Make

Adjust placement for image variables

If you plan to replace any of your variables with images, you can still use a text field like with any other variable. 

Just note that the final placement of the image will be based on the placement of your variable. 

When the variable is replaced with an image, the image will be the same width as the text box you’ve drawn. 

An image variable in a Google Slides template

The top of the image will align roughly with the top of the text box as well, so we’d recommend drawing the text box for your image variable where you want the image to be. 

A finished view of the slide presentation with the image and variables completed

However, getting the exact right placement may take a little trial and error. 

Additionally, many effects that you’ve applied to the variable text will also apply to the final image. For instance, an image variable with “drop shadow” applied will also have a drop shadow on the final image. 

Selecting Formatting Options with Drop shadow enabled

Once your variable tags are all set, it’s time to create a form in Airtable

Use a form to generate new presentations

Create a form in Airtable or another app

In Airtable, or in any other app that you want to use that supports forms, create a form with a question for each variable that you added to your slide deck. 

You could also use apps like Tally, Typeform, or Google Forms. However, the automation that we demonstrate in Make will use some Airtable-specific settings. 

If you're new to Airtable and would like to learn more about using the app, you can check out our beginner's guide here

Prepare a table as the basis for your form

In Airtable, you can make a form by simply creating a form view for any existing table. When you do that, every field in your table will become a field in the attached form view. 

So to begin, just create a table with a field for each variable in your presentation template. Be sure to choose appropriate data types for each field. 

In our example pictured below, most of the field types are “text”. 

Airtable Fields in the Presentations Table with one entry filled.

However, we have included one field called “Image”, which is an “Attachment” field type. That will allow us to upload an image to the field. 

The Image field should be an Attachment

You'll also note that we've included a “created time” field. This is a necessary field whenever you're trying to automate Airtable with Make. 

A created Time field is important to trigger for Make

This field will be automatically populated with the date and time when each record was created. Since Airtable fills it in automatically, this field won’t be included in the form.

Create a form view

Once all of the fields in your table are ready, you can create a form view. Just click on “Form” in the bottom left-hand corner. 

Creating a Form View in Airtable

All of the fields from your table should be added as questions in the form, except for any formula fields like “Created Time”. You can customize the form with a title and description, and change the title for any field. 

A Form View in Airtable

Once your form is all set, click on “Open form” to view the form in your browser. Then, fill it out to create test data.

Filling out an Airtable form

Creating the automation in Make (Integromat)

To create an automation for generating Slides presentations from a template, go to Make.com and sign in.

If you don’t have an account yet, you can create one for free. 

You can also check out our Make beginner’s guide to learn the ropes. 

Once you’re signed in, create a new scenario. 

Configure the trigger: Watch Records in Airtable

Choose Airtable as the app for your trigger module. Then, pick “Watch records” as the event.

Watch Records trigger in Make

Sign in to Airtable to authorize Make if you haven’t already. Then, choose the correct base and table to watch. In our example, we’ll watch the “Presentations” table for new records.

Select the Base and Table to look for Records

For the “Trigger field”, you need to pick a field with date-time data that Make can use to sort your records. That lets it determine which records were created most recently, and this is why we made the “Created time” field earlier. 

Watch the Created Time field

For “Label”, pick a field to use as the label or title for each record. You can pick any one that you want. 

Select the Field you want to use to identify the record

In the “Limit” field, you can set the maximum records that the automation will retrieve each time it runs. You can set this to whatever you’d like. 

Once your trigger is configured, click “OK”. Then, test the trigger. 

After testing your trigger, you can click on the number that appears over the module to see the data it retrieved. 

In our example, we can see that the trigger successfully retrieved our test data about Paris. 

Test Data for the Airtable Trigger

Create a new slide deck and replace text variables

Next, add a new module to your scenario. Search for “Google slides”, and choose “Create presentation from template”. 

Sign in to your Google account to authorize Make.  

Add List Presentations in Google Slides as the module

Then, provide a title to use for each new presentation. Be sure to include some dynamic data to make sure the names for each presentation are unique. 

Map the Variables from the Trigger into the appropriate Google Slides fields

Identify the presentation you want to use as a template. 

Select the Presentation you wish to use with the dropdown from Presentation ID

Once you choose it, all the variables in your deck will appear under the “Values” section.

The Template variables will appear below

Map your Airtable form data to every field, except any image variables. You’ll need a separate step to fill in those, so just leave them blank for now.

Fill out variables with fields from Airtable trigger.  Click to choose a folder for the New Documents Location

Next, pick a Drive folder to store each new presentation in. 

The location will be where you want the final presntation

Once you’ve finished configuring the module, click “OK”. Now you can test your whole scenario again.

After testing, open up Google Drive to check the newly created deck. You should see all of your text variables replaced with your test data. 

First slide of the finished Presentation

Any image variables will remain unchanged, but that’s fine. 

Second slide of the finished presentation with the image variable still empty

Next, we’ll show you how to add one last step to this automation to fill in the image variable. 

Add images to your slide deck

Go back to your Make scenario, and add a new module. Search for “Google Slides” and choose “Upload an image to a presentation”. 

A new Google Slides module with Upload an Image to a Presentation

For “Presentation ID”, enter the Presentation ID retrieved in the previous step, not the ID of the original template. 

Presentation ID being mapped with the Presentation created previously

Under “Select the Method”, you can stick with “Upload an Image by Replacing Text Tag”

Select the Method to upload the image as "Upload an Image by Replacing Text Tag"

In the “Values” section, add a new item. 

Variables will not load automatically click "Add Item" below Values

In the “tag” field, type your image variable’s name, without any curly brackets. For our example, we’ll just enter “image” here. 

In the image URL field, enter the URL of the image you want to upload.In our example, we’ll select the “Image URL” data retrieved from Airtable. 

Fill out the "Tag" field with "image" and the "Image URL" field with the Image URL from the Airtable step

If you have several image variables, you can create additional items here for each one. Once you’re all set, click “OK”.

Testing the complete scenario

Now you can test the scenario one more time. As always, check Google Drive to ensure that the presentation was created correctly. 

In our example, we can see that all of the text variables have been filled in just like before.

First Slide of finished presentation

However, with the final step added, the image variable has also been replaced.

The second slide of the finished presentation with the Image visible

You’re now all set to save this automation, turn it on, and start using it. 

Create presentations faster and enable easy collaboration

With automated Google Slides presentations, you can save time whenever you need to create a commonly used report or other document. You can also use the form to let collaborators create presentations in your account without logging in and getting direct access. 

No matter how you want to use this automation, it just takes a few minutes to set up, so give it a shot today. 

If you’d like to learn more about automating software like Google Slides, Notion, Airtable, and more, be sure to check out our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Tutorial
May 20, 2024
Automatically Generate Images in Abyssale with Airtable

Manually preparing graphics in different sizes and formats for every social media platform quickly becomes tedious. 

But with Abyssale, you can prepare templates in as many formats as you want, then auto-populate them with text and images from your Airtable records. 

In this tutorial, we’ll show you how to get started with this time-saving app step by step. 

We’ll demonstrate how to connect Abyssale to Airtable, create some templates, and populate those templates with Airtable data. 

Create a template for multiple graphic formats in Abyssale

Begin a free trial for Abyssale

To begin, go to Abyssale.com and create a free trial account. The free trial will last for 14 days. 

It  includes 30 credits for automatically creating graphics with apps like Airtable, Make, or Zapier, and allows for a total of 1 GB of bandwidth. 

Create a template for your graphics

Click on “Templates” to view your library of templates.

Abyssale's dashboard

At first, you’ll just see a single Demo Template created by Abyssale. You can explore this demo to learn more about Abyssale, or get some hands-on experience by creating your own template. 

The template menu in Abyssale

To make your own template, click on “Create new template”. 

Then choose whether you want to browse the template library or make your design from scratch. In our example, we’ll build a template from scratch. 

Creating a template from scratch in Abyssale

Choose a type and format for your first template

After clicking “Create from scratch”, Abyssale will prompt you to choose a type and format for your template. 

Template types available in Abyssale: Static image, Animation, and Print

Abysale includes formats for a wide range of social media platforms, print layouts, animation, and more. For our example, we’ll begin with a simple 1080x1080 pixel square ideal for Instagram. 

Some social media formats available in Abyssale

Click “Create” to generate a blank template to start with. 

Design your template with Abyssale’s drag-and-drop interface

With Abyssale’s intuitive drag-and-drop designer, you can easily create any layout that you want for your graphics. 

Use the element menu at the top of the screen to add images, text, shapes, and more to your design. 

The element menu in Abyssale's visual editor

Note that every element you add to your design can act as a placeholder. When you sync this template with your Airtable base, you can replace the image with one that you’ve uploaded, replace text with custom copy, and even recolor fonts or shapes. 

A placeholder image in an Abyssale template

Our example template will consist of four key elements:

• A background image

• A semi-transparent black square over the background image

• Title text

• Description text

A finished template example in Abyssale

You can see how we constructed this template step by step in this blog’s companion video on YouTube

You can follow along and build a similar template, or try your own design. 

Quick tip: to keep an image centered while resizing it in Abyssale, hold Option on Mac or Alt on Windows while you drag with your mouse. 

Be sure to give each element a descriptive name! The name is the only way you’ll be able to identify each element when you sync with Airtable, so it’s important to make it clear what each element is. 

Changing an element's name inAbyssale

Once your template is all set, click on “Save & Exit” to commit your changes and return to the main Templates menu. 

Saving a template

Add additional formats to your template

Each template can include multiple formats. To add more formats to your template click on “Edit” from the main template menu. 

Editing a template

Then, click on “Add New Format” in the left hand sidebar.

Adding a new format to an Abyssale template

Each format within a template will have to be the same type (Static Image, Animation, or Print), but you can use a wide variety of formats within each type. 

For instance, we’ll select a 1280x720 YouTube thumbnail for our second format within this template. 

Choosing a YouTube thumbnail format for an Abyssale template

Any formats you add to your template will include all of the same elements as your original format. As you can see below, the background image, overlay, and text boxes are all still present in our new YouTube thumbnail design. 

A default layout for a newly created format in an Abyssale template

When you customize most settings in one format, the other formats won’t be impacted. For instance, we can change the background image in the YouTube format to “Cover” instead of “Contain” so that it takes up the entire canvas. 

Changing an image's "fitting" setting from Contain to Cover

However some settings, such as element names, are applied to all formats universally. 

Once your additional formats are finished, click on “Save & Exit” again to return to the template menu. 

Set up Airtable and sync it with Abyssale

With a finished template in hand, you’re now ready to create an Airtable base that will populate your Abyssale template automatically. 

Getting started with Airtable

To begin, go to Airtable.com and create a free account. 

NOTE: While Airtable offers a free plan, you’ll need to be on the “Team” plan or higher to access Extensions, which are necessary for syncing with Abyssale as shown in this tutorial. Airtable does provide a free trial for Teams. 

You can learn more about using Airtable in XRay’s 2-part beginner’s guide. Click here to check out Part 1, and click here to explore Part 2

Creating a table to generate Abyssale graphics

Once you’re signed, create a new base, which will automatically include a new table.

In your table, you need to add a field for each element that you want to replace in your template. For our example, we’ll need a field for each text box, and a field for the background image. 

An Airtable table that will be connected to Abyssale

Be sure to use the “Attachment” field type to upload images or other media. 

An attachment field in Airtable

Finally, you need to add another attachment field for Abyssale’s output. This is where final, exported graphics will be stored. 

Be sure to add at least one test record to your base that you can use to create a graphic. 

Adding the Abyssale extension to Airtable

Once your table’s fields are all set, you can add the Abyssale extension. 

Click on “Extensions” in the top right corner to access Airtable’s extension menu. 

Selecting the "Extensions" menu in Airtable

Then, select “Add an extension”. 

Search for Abyssale, then add the extension to your base. 

Adding the Abyssale extension to an Airtable base

Once the extension is added, you’ll see a pop-up prompting you to set it up. Click on “Get Started” to begin the setup. 

Configuring the Abyssale extension

Follow the steps in this pop-up to connect your account and generate an API key. 

Instructions for connecting an Abyssale account to an Airtable base

You can create an API key by clicking on “Settings”, choosing “API key”, and selecting “Request an API key”. 

Getting an API key from Abyssale

Copy the key that gets generated, and paste it into the pop-up window in Airtable. 

Then, click on Save to finish linking your Airtable and Abyssale accounts. 

Mapping an Airtable table to an Abyssale template

Now that the accounts are connected, you can sync a specific table with a specific template. 

In the Abyssale extension in Airtable, choose a table that you want to use. Select the specific view within your table that should be referenced.

Then, choose a matching template from Abyssale that you want to populate with this Airtable data. 

Choosing a template and table to sync

Once you select a table and template, you’ll see a list of every element (or “Layer”) from your Abyssale template. 

Enable the toggle next to any layer that you want to replace with content from Airtable, then choose the Airtable field that you want to connect to that layer as the “payload”. You can also change the color of any text layer by providing a hex code in the “color” field. Alternatively, you can keep the color set in the Abyssale template by leaving this field set to “None”. 

Mapping Airtable fields to Abyssale elements

Once you’ve mapped all of your fields, you can designate a field for Abyssale’s output. You can make this choice in the “Save banners to this URL field or attachment field”. As the text indicates, you’ll need to choose either an attachment field or a URL field to store Abyssale’s output. 

Choosing the output field for finished graphics

Once you’ve configured the sync, you can click on “Generate Banners” to create some graphics. 

Before it starts creating graphics, the extension will tell you how many assets will be created, and will explain that only successful calls will count against your total credits. 

An Abyssale warning about API charges

Click “confirm” to start generating your graphics. 

Abyssale will process your requests, and then show you a preview of each finished graphic. 

Review your exported graphics

To see the full resolution images generated by Abyssale, close the extension window, and open the records in your Airtable base. 

An exported Instagram graphic

By clicking on “Generate” once, we produced four images - a YouTube thumbnail and an Instagram image for both records in our base. 

An exported YouTube graphic

Going further with Abyssale

Bear in mind that the template we’ve demonstrated here is just a basic starting point. You can go further and build very useful automations with your templates.  

For example, we’ve worked with a company to build an Abyssale system for their Etsy store where user-uploaded images for blankets and signs are automatically assembled into print-ready graphics. 

Instantly generate graphics in several formats at once

With tools like Abyssale, you don’t need to waste your time resizing images and text boxes manually over and over again. 

You can generate all the assets you need for every platform and device with a single click. To get started, just try out Airtable and Abyssale for free, and follow the steps in this guide. 

If you’d like to learn more about workflow automation, be sure to check out our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Tutorial
May 13, 2024
How to Create and Share Templates in Zapier

Creating an automation from scratch with Zapier’s visual editor is pretty simple and straightforward. 

But did you know that there’s an easy way to get a headstart?

In this post, we’ll show you two ways to create, share, and use automation templates in Zapier. 

We’ll start by explaining the two different types of Zap templates that are available, and we’ll break down their pros and cons. 

Then, we’ll give you detailed walkthroughs for building, sharing, and using both template types. 

Simple Templates vs. Developer Templates

Before we begin creating templates, it’s important to understand that there are actually two different types of templates that are available in Zapier. 

When a user copies a Simple template, the app and event for each step will be pre-selected. However, none of the settings within each step will be configured. Instead, each field and option will revert to its default state. 

With developer templates, every setting that’s specified in the template will be pre-configured for users. Each variable, text, and option chosen in the template will be preserved when a user copies the template to their workspace. 

Simple templates can be easily created by any Zapier user and shared with anyone on the web. On the other hand, developer templates are primarily intended for developers who have built integrations for their software on Zapier (e.g., a Google Docs dev would create these templates for Google Docs). 

Neither simple templates nor developer templates support branching paths. 

Note: the terms “simple templates” and “developer templates” are not official; we’re just using them here for clarity. 

Duplicating Zaps for internal templates

If you’d like to create a template for internal use only, then we’d recommend creating a normal Zap, sharing it with your team, and duplicating it. 

Duplicating a Zap

When you duplicate a Zap, every action will be replicated and configured in its entirety - paths included. 

A pre-configured action in a newly duplicated Zap

However, users outside of your workspace will not be able to directly duplicate your Zaps. 

JSON Exports/Imports

Zapier users on the “Team” plan or higher can also share and duplicate Zaps by exporting and importing JSON files for each Zap. 

However, if you’re not using a team plan and still want to get a head start on your Zaps, then you’ll need to use either simple templates or developer templates. 

Creating a simple template in Zapier

To make a simple Zapier template, you’ll need a finished Zap that you want to turn into a template.

A finished Zap in Zapier

For example, the finished Zap pictured above sends an AI-generated motivational message in Slack every weekday. 

You can create a template from either the Zaps menu, or from the visual editor. 

From the Zaps menu, just click on the arrow next to your Zap’s name, then select “Share Template”.

Selecting a Zap from the "Zaps" menu

The "Share Template" option

Alternatively, from the visual editor, you can select the three dots in the top right hand corner. 

Clicking on the "More Options" menu in the Zap editor

Then, choose “Create Template”. 

Selecting the "Create Template" option from the Zap editor

Both of these options will lead you to the same simple template builder. 

Adding a title and description to your simple template

Once you’ve opened the template builder, all you have to do is give your template a title and a description. By default, the template will use your Zap’s title, and Zapier will provide a description that summarizes each app and action. 

Zap template details

It’s best to make sure you describe the apps and actions involved in your template. You may also want to suggest a use case for this automation to give more context. 

Customized Zap template details

After you’ve drafted your title and description, you can click “Preview” to see what the finished template will look like to other users. 

If you’d like to make any changes, just click on “Edit” to go back to the template builder page. 

Preview of a shared Zap template

Once it’s all set, click “Share” to publish your template. 

Clicking 'Share' to finalize a template

Zapier template sharing settings

Once you click “share”, a window will pop up where you can copy the link to your template and adjust the template’s visibility. 

Selecting "Change" to edit Zap template sharing settings

Click on “change” to choose who can see and copy your template. 

You can select:

Publicly shared, to share the template with anyone on the web. 

Anyone with the link, to ensure that only people who have the link will find your template. 

Only your team, to limit access to other users in your Zapier workspace. 

Although as noted earlier, it’s usually best to duplicate normal Zaps if you want to create a template for internal use. 

Turn off, which you can select to stop sharing the template. 

Copying and using a simple template in Zapier

Now let’s explore the process of copying a Zapier template. Begin by copying the link to one of our example templates in this resources board, or any other publicly accessible template. 

Paste the template into your browser. 

The link will open up a template page, where you can see the template’s custom title and description up top. Note that you’ll also see the profile picture of the person who built this Zap. 

To copy the Zap, click on “Try this Zap”.

Clicking "Try this Zap" to copy a template

The Zap will immediately be copied to your Zapier account. The correct apps and actions will be pre-selected for each step. 

A Zap built by copying a template

However, none of the settings or variables have been configured. 

An automated action in a template Zap. None of the steps are configured.

To finish setting up a copied Zap template, you’ll need to sign in to each app and adjust all other settings manually. 

Creating a developer template in Zapier

If you want to create a template with pre-configured actions, you’ll need to create a “developer” template. 

To start, go to developer.zapier.com, and select “Zap templates”.

Zapier developer portal

Then, create a new template.

Creating a new developer template

From here, you can build a Zap more or less the way you would normally, although the new visual editor isn’t available here yet. 

Building a developer template

The most important difference is that you’ll have to use placeholder test data. You can’t sign in to your accounts to retrieve real test data.

And since you’re stuck with placeholder data, sometimes, not all the usual variables will be there. It’s up to each app’s dev team to create the default placeholder data for their integrations, and in some cases, they may skip a few variables. 

You can check out some Zapier help docs in the resources board for instructions on how to create missing variables yourself. 

Provide pre-configured data with a developer template

Unlike a simple template, any configuration that you provide here will be preserved when users copy this template. 

Providing more data in a Zapier developer template

Text, variables, and other settings will all be prefilled. 

Preparing your developer template for review

After adding and configuring your steps, you can add a title and description just like with a simple template.

Providing a title and description for a Zapier developer template

Before you can share the template, you’ll have to submit the developer template for review.

But be warned - once you submit your template for review, the template cannot be edited. Make sure it’s all set before you submit for review. 

Understand that your template will immediately be sent to Zapier’s team for their approval, and there’s no guarantee it will be accepted at all. 

Your templates can get rejected for being too generic, or redundant to other existing templates for popular apps that you don’t own.

It’s only really worth going through the trouble of creating a developer template if you’re confident you have a unique use case that has a good chance of being accepted 

In most cases, it’s best to create developer templates like these for your company’s own applications. 

Copying and using a developer

Once a template has been submitted for review, its shareable link will be accessible

However, we would not recommend trying to share the template publicly while the Zap is in review. 

It’s probably fine to test internally, but you don’t want to abuse the system and share templates extensively before they’re approved.

In the image below, you can see what a user will see when they copy the link to a developer template. 

A Zap created by copying a developer template. All actions and apps are pre-selected.

When they copy it, it will instantly create a Zap just like with the simple template. Just like before, all of the apps and actions are chosen already.  

However, all of the configuration options are also pre-selected. Some text is filled out, some variables included, and so on. 

A Slack trigger in Zapier is already configured after copying a developer template

Pros and cons of developer templates

With a developer template, much more of the work is already completed ahead of time.

However, as we noted, there’s a much bigger hurdle to clear to create a developer template. It may not be worth the extra effort depending on your use case, or level of technical expertise.

You’ll most likely want to use developer templates if you are part of a company with your own SaaS app integrated into Zapier.

Build a Zapier integration and templates for your app with XRay

If you’d like to create or manage a Zapier integration for your app, just reach out to XRay and schedule a free meeting to discuss your options. 

Choose the right template type for your use case

A simple template will likely be the more popular and accessible choice for most no-code builders. 

However, if you can make a developer template that meets Zapier’s specific standards, then you’ll get the benefit of pre-configured actions. 

And if you want to share templates with your team only, then you can always just duplicate a Zap to make things easy. 

Ultimately, there’s no wrong choice here. All versions of Zapier templates are useful ways to save time while you’re building and rebuilding similar automations. 

To learn more about Zapier and other no-code automation tools, be sure to check out our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Tutorial
May 6, 2024
How to Add Variables to Your Google Docs

The “Templates” feature in Google Docs has always been a useful way to save some time when creating a frequently used report or proposal. However, it’s always required significant manual work to update every placeholder with the content you want to use. 

Fortunately, with a recent update, Google Docs has made it easier than ever to create templates from your documents and fill them out with dynamic data in seconds. 

In this post, we'll show you how to create and use the brand-new variables in Google Docs.

If you don’t have access to the variables feature yet, we’ll also show you how you can use automation apps like Zapier and Make as an alternative. 

We’ll walk you through everything step by step, so sign in to Google Docs and follow along. 

Adding variables to a document

To begin using variables in Google docs, start by opening up a doc.

TIP: Try typing “docs.new” into your URL bar to quickly bring up a new Google Doc. 

creating a new doc with "docs.new"

Note that you’ll only be able to access variables if you’re using a workspace account for a company or school. Variables are not yet available for individual accounts.

If you’re on an individual account and want to add variables to your docs, you can scroll to a later section in this blog to check out an alternative method with Zapier or Make.

Once you have your doc open, there are two ways to create a variable.

Type a word in [square brackets]

First, you can just type a word enclosed in square brackets. In our example below, we’ll create a variable called [example]. As soon as you type the closed bracket, Google Docs will prompt you to hit “tab” to insert a new variable.

Creating a variable in Google docs using brackets

When you create the new variable, you’ll see a “Variables” panel open up on the right, and your new variable will be added to the list.

The "Variables" panel in Google docs

Open the “Smart Chips” menu by typing “@”

Alternatively, you can create a variable by typing the @ (at) symbol anywhere in your doc.

Opening the "Smart Chips" and "Building Blocks" menus in Google docs with the @ key

This will pull up a list of “Smart Chips” and “Building Blocks” that you can add to your doc. You’ll find variables under the “Smart Chips” category.

Choosing the "variables" option from the Building Blocks menu

When you select it, you’ll have the choice to either create a new variable or insert an existing one (if you have any). 

Inserting an existing variable into a Google doc

In our example, we’ll insert the same “example” variable that we already created.

Two instances of the same variable in a Google doc

Assigning a value to your variable

When you first add a variable to your doc, the panel on the right will say that it has “No value”.

This just means that to start with, your variable has a title, but no content assigned to it.

You can either click on any instance of your variable, or on the “no value” text in the right-hand panel to assign your variable a value.

For instance, we’ll give this ‘Example’ variable a value of “Automation”.

Assigning a value to a variable in a Google doc

Once you’ve provided a value for your variable, click outside of the variable to save it.

All instances of a variable updating to show the same value

Instantly, every instance of your variable will be updated with its new value. You can also update this value whenever you want.

Updating the value for a variable in a Google doc

As you can see from this quick demo, variables are a great tool for filling out templates. You can just fill in each unique piece of information once to populate your entire document, and updating any variable is just as easy.

With variables, you don’t have to look for each instance of the word manually, or worry about find-and-replace errors.

They’re a great addition to any template, and it just takes a couple keystrokes to set them up.

Quickly filling out a template with Google Docs Variables

Now that we’ve covered the basics of creating Google Docs Variables, let’s see what a complete template with variables looks like.

We’ve created this proposal template with several key variables like Client Name, Start Date, Project Manager, Project Fee, and a few more. Note that we’ve also added this document as a template in our company’s gallery.

A Google Docs proposal template with several variables

We’ll make a copy of this template to create a proposal for ‘TestCo’.

When you create a copy of a Google Doc with variables, all of the variables will still be functional. Additionally, any changes you make to the copy will not affect the original. The same conditions also apply if you simply make a copy of the document directly without using the “template” feature.

Adding values for each variable

With our newly created doc, all of the variables just display their labels: client name, project manager, etc.

You can click on each variable in the doc to fill them out, but we’d recommend opening up the variables panel to make things easy.

Just select any variable, then click the icon on the right to open up the panel.

Selecting a variable to find the "open in sidebar" option

Then, you can go through all of the variables in one spot and fill them out in a few moments.

Filling in variables one-by-one using the Variables panel

Just be sure to press “enter” or click outside of the variable after filling in a value to save your entry.

Once you’re finished, you can close the variable panel, and all of those outlines around the variables will disappear. Your doc will be all set to share or export as a PDF.

Updating the value for a variable

If you need to update any of these variables later, just click on any instance of the variable, change the value, and press enter. Instantly, every instance will be updated with the same value.

Updating the value of a variable in a Docs template

If you accidentally misspelled your project manager’s name in your first draft, you can easily update them all at once, and you don’t need to worry about leaving one of the “Dwights” as a “Dwigt”.

Adding variables to Google Docs with Zapier or Make

This new variables feature is a great way to quickly fill out a template, but some of you out there might want to take things a step further. You might want to create a document automatically with a no-code provider like Zapier or Make.

That way, you could also send the data for your document to other apps at the same time, like Slack or Google Drive.

Additionally, if you aren’t part of a Google workspace, creating variables in your docs with Zapier or Make is a great alternative.

If you’d like to learn how to use these apps, then just check out our beginner’s guide to Zapier, updated in 2024 to give you a look at the software’s latest features.

You can also explore our beginner’s guide to Make if you’re interested in learning to automate on a more affordable, and technical platform.

Now, let’s create some variables in Google Docs that we can fill in automatically with Zapier or Make.

Adding variables to your template document

In the screenshot below, you can see a proposal template using variable syntax that Zapier and Make will recognize.

A proposal with variables recognized by Zapier and Make

To create Zapier and Make variables within a Google Doc, just enclose the text in two pairs of curly brackets, like this:

{{example}}

Zapier won’t recognize any variables that use spaces, hyphens, or most special characters. However, underscores are fine.

Formatting rules for variables in Zapier and Make

In Make, you can do whatever you want as long as the variable is enclosed in two sets of curly brackets.

Spaces, underscores, hyphens, upside-down question marks, ampersands, octothorpes, and other special characters are all fine.

To keep things simple and compatible with both, we’d recommend using camel case, like this:

{{exampleVariable}}

Building a Zap to automatically add data to variables

Now let’s build an automation in Zapier to fill in these variables.

We’ll also show you a bit of how it works in Make, but conceptually, it’s a very similar process in both apps.

Create a trigger your Zap

To start, you’ll need a trigger that gathers data to fill in your variables. You can use any trigger you’d like. 

One easy way to trigger this kind of automation is with a form and a spreadsheet, like the form pictured below that we’ve created in Airtable, and its associated table.

An Airtable form that will collect data for the template

There’s a question for each variable, and each submission is stored in an Airtable base.

We’ll fill out the form once to create some test data. 

Filling out the form to create test data

Now, back in Zapier, we’ll choose Airtable as our trigger app, and select “New Record” as the event.

Adding a "New Record in Airtable" trigger to a Zap

Then, we’ll sign in to our Airtable account, and finish configuring the trigger. 

"New Record in Airtable" trigger configuration

Once your trigger is all set, give it a test. 

Testing the Airtable trigger in Zapier

Add a Google Docs action to your Zap

With your test data ready, click “Continue” and add a new step to the Zap. Select “Google Docs” as the app, and choose “Create document from template” as the event.

Adding a 'Create Document from a Template' action to the Zap

Be sure to sign in to your Google Workspace account to authorize Zapier.

Next, you can configure the action. To start, you need to identify the doc that should be used as a template and copied whenever the automation runs.

Required fields for the "Create Document" step, like "Template Document" and "New Document Name"

You can search for the document by name if you’d like, but we recommend using the document’s ID instead.

Open the doc in Drive, and copy its ID from the URL bar. The ID is the string of characters after /d/ and before /edit

Copying a Google Doc's ID from the URL bar

Switch back to Zapier, and select “custom” for the “Template Document” field and paste the ID in.

Pasting the Google Doc ID into Zapier

Next, you can give the new document a name. We’d recommend using some dynamic data so that the name isn’t always the same. In our example, we’ll pull in the client’s name from Airtable.

Naming the new document with dynamic data in Zapier

Next, you can identify the folder where the new document will be created. Once again, we’d recommend selecting “custom” and pasting in the ID.

Drive folder IDs begin after /folders/.Copy this ID from the URL bar in Google Drive. 

copying a Google drive folder's ID from the URL bar

Then, paste the ID into the field. 

Pasting the folder ID into Zapier

You can set “sharing preferences” to whatever you’d like. Under “unused fields preference”, you can choose whether to keep or remove variables that aren’t assigned a value. 

Then, you should see all of the variables that Zapier found in your Google doc. They’ll have the same name that they do in Google, except you won’t see the curly brackets.

Variables from the Google doc retrieved by Zapier

Now you can map appropriate data to each variable. Try using the search bar to quickly find the data you’re looking for. 

Mapping data to each Google Docs variable in Zapier

Note that each variable will only appear once here, even if it appears multiple times in your template doc. 

If any of your variables are missing, check your template doc to make sure you followed the right syntax: two sets of curly brackets, no spaces, no hyphens, and no special characters except underscores.

Or, to keep things easy, just use {{camelCase}}.

Testing your automation

Once you’ve mapped every field, give the step a test.

Testing the "Create Document" step

Clicking “test” will immediately generate a new document with all of the variables filled out.

After you get a successful test in Zapier, check out the doc it produced just to make sure everything worked.

Search within the test results for the “alternate link”. This is the term Zapier uses for the doc’s main URL in Drive.

Finding the doc's URL in Zapier by searching for "alternate link"

When you open the link, you should see a copy of your template doc with every variable filled in. 

The created doc with all variables filled in

Creating Google Docs variables in Make

In Make, you’ll follow a very similar process. 

Add a trigger that collects data, like our Airtable trigger pictured below that we’ve already set up.

An Airtable trigger in Make

Then, add an action, search for Google docs, and select “Create a document from a template”.

Choosing the "Create a Document from a Template" step in make

To make things easy, we’d recommend setting this first choice of “Create a document from a template” to “by dropdown”.

Choosing "by dropdown"

Then, once you identify the doc you want to reference as a template, you’ll see all of your variables listed out as fields. 

All Google docs variables retrieved by Make

You can fill them out with dynamic data just like we did in Zapier.

Mapping data to variables in Make

Use automation providers to do more with your data

In either automation provider, you can also add additional actions to do more with this data.

You could add a Slack step to send a message alerting your team of this new proposal, sharing the alternate link, and asking for their review.

You could also use this data to create Slack channels, Google Drive folders, and more.

With thousands of apps supported, the possibilities are endless.

With inline Google Docs variables, you’re limited to just making and editing variables within the document itself.

On the flipside, using an app like Zapier or Make will take more time to set up, and it won’t let you update variables in a doc you’ve already made.

Ultimately, the choice is yours; both methods have their pros and cons.

Whether you use Google’s native variable features or an automation provider to fill in your variables, they’re both great ways to generate templated documents quickly and consistently.

Save time while creating documents with variables

Don’t waste your time entering the same data over and over again in Google Docs. Try using the new variables feature today to instantly create documents from a template and update them whenever you want. 

And if you’re on an individual Google account and don’t have access to variables yet, you can always create them with Zapier or Make instead. 

If you’d like to learn more about workflow automation, be sure to check out our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Tutorial
April 29, 2024
The Ultimate Guide to Zapier Interfaces

Zapier is well known as one of the largest automation providers available, with support for over 7,000 apps and counting. 

But recently, Zapier has been expanding the scope of their software beyond automation. Over the last year, they’ve been adding new ways to organize your data and share your automations. 

In this post, we’re going to explore one of Zapier’s major new features that ties everything together: Zapier interfaces.

We’ll give you an overview of what Zapier Interfaces are and what you can use them for. 

Then, we’ll walk you through the process of creating an interface from scratch, with pages that contain link cards, an AI chatbot, and a contact form that launches an automation. 

What are Zapier interfaces?

First, let’s go over the basics.

A Zapier interface is a simple web page built with an intuitive visual editor.

Pages built in a Zapier interface can include custom text, media, and links, as well as forms and kanban boards connected to your Zapier tables.

A Zapier interface with link cards

You can also use interfaces to launch your Zaps and even create a custom AI chatbot.

A Zapier chatbot in a Zapier interface

Interface pricing

All Zapier plans include two interface projects for free. To unlock more projects and additional features like custom domains, password protection for your published pages, and conditional logic for your forms, you’ll need to pay an additional monthly fee.

Zapier interface pricing plans

You can learn more about interface pricing on Zapier’s official pricing page here. 

Interfaces use cases and limitations

The best use case for Zapier interfaces is to create a portal for your team or clients to access an automation and its related data.

A Zapier interface for submitting company expenses

However, Zapier interfaces only support other Zapier products.

If you’re using a variety of software to build your automations, like Airtable, Make, Power Automate or Google Sheets, then you should consider delivering your automated workflows with XRay workflow.

XRay Workflow is an app developed by our team at XRay.Tech. It’s designed to let us organize resources from around the web onto convenient, shareable boards.

An XRay workflow board

In each board, we can link or embed Zaps, but we can also add Airtable forms, automations from other providers, documents from Notion and Google, or really any web-based resource that we want.

An Airtable form embedded in an XRay Workflow board

How to create your first Zapier Interface from scratch

Now, let’s start building an interface. 

We’re going to show you how to create an interface step by step and add components like links, forms, and an AI chatbot to your interface pages.

NOTE:  before you begin building, you should be aware that all Zapier interfaces are publicly accessible by default.

You’ll need to upgrade to a premium plan to restrict access to your interface. Make sure that you’re not adding sensitive information to your interface, since anyone on the web could potentially access it.

Creating a new interface

To get started, open up Zapier and click on the “interfaces” option in the left hand menu.

The interfaces option on the Zapier dashboard

If you haven’t created any interfaces yet, you’ll see a long gallery of templates that you can use to quickly get started.

For now, just click on “Start Blank”

Creating a blank interface

Here, Zapier will offer up a couple more generic templates: a form, and a customer portal. There’s also a link to the full template library.

Options for building a new interface from a template or from scratch

However, we’re going to show you how to build an interface from scratch.

That way, you’ll know how it all works, and you’ll have an easier time customizing a template later on.

Click on “Start from scratch” to make a new interface.

On the main interface builder page, you’ll see three sections: Pages, Tables, and Zaps.

The main menu for a new Zapier interface

Your interface can include several different pages, which will all be listed here. To start, you’ll just see the default first page for your interface. The various components that you add to your pages will often reference specific Zapier tables and Zaps, and those will be listed here, too.

Adding content to an interface page

Let’s start customizing our interface by checking out this initial page, which doesn’t have any content at all yet.

When we click on it, we’re immediately prompted to add a component to the page. 

Zapier interface components

You’ve got several choices here, like Form, Kanban, and Chatbot. But we’ll start very simple. Just select “Text” to give this empty page a header. Click “Add” to add any of these elements to your current page.

Adding a component to a Zapier interface

Once your page has at least one component, you’ll see a preview of your page in the middle of the screen.

The preview window of a Zapier interface

When you select a component, you can edit its content, styling, and settings in the panel on the right.

The editing panel in a Zapier interface

Customizing a text component

Try changing the text block to say:

“My First Zapier Interface”

Customizing context in a Zapier interface text component

And give it a brief description:

“Below, you can find some helpful links and other resources to check out.”

Adding a description to a Zapier interface component

Note that this text box uses markdown for styling, and Zapier provides some basic markdown formatting tips right below it. 

The Markdown guide in the text component

With markdown, you could turn this header into a subheader by just adding another pound sign (or hashtag, or octothorpe - whatever term you prefer 😉).

Styling text in a Zapier interface with markdown

But in our example, we’ll leave it as a full size header for now.

You’ll also see a few more options to change the width, alignment, and text alignment of the component.

We’ll change the width to “medium”, but we’re fine with the default center alignment. With all of these settings configured, this component is ready to go.

Changing the width of a component

Note that If you’d like to open up your published interface at any time, just click on this link in the top right.

The published URL for a Zapier interface

Adding components to a page

Let’s start fleshing out this page a bit more by adding an area for link cards.

To add a new component to a page, just click on the Plus button on the bottom of the page.

Adding a component to a Zapier interface

Then, you can scroll through the menu of components or search for one that you want.

The component menu

Adding link cards to an interface page

We’ll search for “link”, and click on ‘link cards’ to add the component to our page.

Searching within the component menu

It starts off with one card, but you can add more with the “Add link” button.

The "Add Link" button in a link card component

You can use link cards to link to external URLs or to other pages in your Zapier interface.

We’ll add a couple more pages to this interface as we continue this tutorial, and we’ll make sure to link to them from here. But for now, we’ll select the first card, and edit it to point to our company’s website, www.xray.tech. Try editing the card in your interface to link to any site you want. 

Note that you can also add a title, description, and emoji for each link.

Customizing a link card

You can also choose to have links open in a new tab, which we’ll enable so that users won’t lose the interface just by clicking on a link.

Enabling a link to open in a new tab

Once your card is all set, click on “Done”.

Adding an AI chatbot to your Zapier interface

Links are a pretty useful feature, but not very exciting or unique. With our next feature, let’s add something that will make our interface stand out a bit. 

Let's add a page with an AI chatbot.

You could add a chatbot component to the same page you’ve already been working on, but for our example, we want to keep the home page as a simple directory for the whole interface.

To add a new page, click on the blue plus sign in the page menu. 

Adding a new page to a Zapier interface

Give your page a name. We’ll call ours “Chatbot”. Then, click “Create page”.

Naming a new page

You’ll see a list of components to start with. To add a chatbot to the page, just scroll down a bit and select “Chatbot”.

Adding a chatbot component

If you’ve already created a chatbot in Zapier, you’ll be able to select it from the menu on the right. If not, you can just create a new one now. 

Clicking on “Create a new chatbot” will open up Zapier’s Chatbot feature in a new browser tab.

Creating a new chatbot

From there, you can click on “Create Blank Chatbot”.

Creating a blank Zapier chatbot

Finally, give your chatbot a name and click “Create”. We’ll call ours “Workflow Automation Helper”.

Naming a new chatbot

Customizing a Zapier chatbot

There are a lot of options in the chatbot builder, but they’ll all be pretty familiar if you’ve messed around with any popular AI chatbots recently.

To begin customizing your chatbot, you can update the greeting text that’s displayed whenever a user opens it up. 

We’ll give our workflow automation assistant an appropriate message:

How can I help you with workflow automation today?

customizing a Zapier chatbot's greeting text

Note that you can also choose to use an AI-generated greeting, although we’d typically recommend using a static greeting for consistency. 

Additionally, you can customize the user input placeholder, which defaults to “Ask me anything”. 

For the model, you’ll have to stick with GPT-3.5 unless you upgrade to a premium plan, which will unlock models like GPT-4. 

Zapier chatbot setup options

The creativity slider will let you adjust how “predictable” or “random” your chatbot is on a scale of 0 to 1. It defaults to 0.7, which allows for a pretty high degree of creativity. 

Finally, you can enable an optional disclosure message to ensure that users understand they’re conversing with an AI. 

Modifying your chatbot’s directive and knowledge base under “Instructions”

Under  the “Instructions” tab, you can add a custom directive for your chatbot’s identity. On a premium plan, you can also upload files as “knowledge sources”.

Zapier chatbot instructions settings

Zapier provides a rough template for the directive which you can easily customize.

The Zapier chatbot default directive

In our example, we’ll just paste in our customized directive that we prepared earlier, with some details that are relevant to XRay and workflow automation. For your chatbot, try to update the template with details relevant to your project. 

XRay's customized directive for a Zapier chatbot

Adding automated actions to your chatbot

Under the “Actions” tab, you can configure actions that are available to the user while interacting with your chatbot.

The "Actions" tab in a Zapier chatbot

For instance, you can add a button that launches a Zap, making it easy to send the AI’s output to another app.

A Zap button in the "Actions" tab

You could also add a button that lets the user easily copy the text of the response.

The "copy response" option in the "actions" tab

On premium plans, you can also add a form to your chatbot that will allow the user to submit data in each field. 

For our example, we’ll just add a button to copy the user’s response.

Configuring the "Copy response" action

Style and conversation history

The “Style” tab will let you change your chatbot’s appearance, but is only available to premium plans. 

The "Style" tab for a Zapier chatbot

The “Conversation History” tab will let you view past conversations. To begin, there won’t be anything to view here, since the bot hasn’t been published and shared yet. 

The "conversations" tab

Linking your Zapier chatbot to a Zapier interface

Once you’re finished setting up your chatbot, save your changes and return to your interface. 

Now, you can just attach the “Workflow Automation Helper” to a Chatbot component in your interface. Just select the component you want to use, then choose your chatbot from the list. 

Connecting a chatbot to a Zapier interface

When you attach a chatbot to an interface component, you won’t be able to edit any of its technical settings directly from the interface builder. Instead, you’ll have to return to the chatbot portal and adjust your configuration from there. 

In the interfaces builder, all you can do is change the height, width, and alignment of the chatbot component.

Display settings for a chatbot component

Testing your Zapier chatbot

Once you’ve set your chatbot display options, give it a test to see how it works in action. 

Click on your interface page’s URL in the top right to open up the page with your chatbot. 

Clicking on the interface's live URL

Then, ask it a question. In our example, we’ll begin with a simple query: what are the benefits of workflow automation?

Testing the chatbot with a simple request

Immediately, it starts drafting a numbered list of all the ways that workflow automation can help people save time and create more consistent results. Once the answer is complete, we can see the “copy” button we set up earlier.

The chatbot's answer about workflow automation

To finish our test, we’ll try a more specific question next: How can I automate Hubspot with Zapier?

Testing the chatbot with a question about automating Hubspot with Zapier

After a moment, it gives us a fairly generic but pretty decent summary of how to automate Hubspot – or any app, really – with Zapier.

The chatbot's answer about automating hubspot

This isn’t half bad for an AI chatbot we set up in a few minutes, but if you want to tweak your chatbot’s output, you can always go back to the settings to adjust the directive and fine-tune its answers.

The chatbot itself might not stack up to the functionality offered by Chatbase, Botpress, or other dedicated chatbot providers, but it’s hard to beat the ease of setup here.

If you’re using lots of Zapier products already, like interfaces, then Zapier’s chatbot could also be a good choice.

Updating the link cards component

Now that your chatbot page is finished, return to your interface builder so you can add its link to your link cards page. 

Choose your first page, select the link cards component, and add a new link.

Adding a link to a "link cards" component

Under “link to”, select “page”, since this card will link to an internal page within the interface. 

Linking to an internal page in a Zapier interface

Then, choose your “Chatbot” page.

Choosing a page to link to

Finish by adding an appropriate title, description, and emoji, then click “Done”.

Saving a new link card

With this new link card you can easily navigate to the chatbot page from the home page of your interface.

However, the link card page’s name – “page” – isn’t exactly descriptive.

Click on the gear icon to open up page options and give your page a unique name, such as “Interface home”.

Renaming an interface page

Adding a form to your Zapier interface

Let’s wrap up this interface overview by adding one more page with a form where users can submit contact requests.

Add a new page to your interface, and title it something like “Contact Us”. 

Adding a 'Contact Us' page to the interface

Add a component to the page, and select ‘Form’. 

Adding a "form" component to the new page

A form in a Zapier interface has to connect to a Zapier table.

Like with any simple spreadsheet app, Zapier tables are pretty straightforward to create, so we won’t go into detail on how to make a Zapier table.

Just know that if you want to set up a table quickly, you can always import a CSV to get all your records uploaded at once.

In our example, we’ll choose this “Interface contact requests” table that we’ve already prepared for the interface.

Connecting the form to a table

Once you choose your corresponding table, Zapier should create a form component with a question that matches each field in the table.

However, while preparing this guide, we frequently ran into an error where the form component wasn’t configured correctly after picking a table.

A common error when adding a new form component

If you see this error, try refreshing the page in your browser. Then, you should see your form builder rendered correctly. 

A form with a question for each field in the table

Customizing a form in your Zapier interface

You can customize your form by reordering the questions, changing the button text, adjusting the alignment, and even adding a Captcha for verification.

If you select any fields within the form, you can also edit the label, placeholder text, help text, and other similar settings. On premium plans, you can add conditional logic to your form, too.

Field customization settings

Under the Data tab, you can change which table the form is connected to.

The "data" tab in a Form component

Under “Actions”, you can configure actions that occur after a user submits the form.

The 'Actions' tab in a form component

By default, the form will display a message confirming that the user’s answers were submitted. However, you can also add actions to open up a new page, or run a Zap.

In our example, we’ll add a Zap to send a Slack notification about each new form submission.

To add a Zap to your form, click “Add action” under the “Actions tab”, and choose “Run Zap” as your action. Then, click “Create Zap” to build a new automation. 

Creating a Zap connected to a form component

In our finished Zap, a brief Slack message is sent whenever we receive a new form submission. 

A Zap that sends Slack messages for new Zapier form submissions

Once you’ve configured any actions you want to include, your form should be all set. 

Adding a link for your form and creating a test submission

To wrap things up, just add a link to the form on the interface home page so you can easily navigate to it. 

Adding a new link card for the "contact us" page

Finally, we’d recommend giving your form (and any associated actions) a quick test. 

Open the published form page and submit a request.

Submitting a test form

Right after you submit your form, any associated actions should run. In our example, we can see a new notification in Slack detailing the request.

An automated Slack alert generated for our form submission

Several choices for sharing no-code resources

With Zapier interfaces, you can easily share forms with your customers or team members, and launch Zaps whenever there’s a new submission.

Of course, you could also accomplish something similar using other tools with forms like Airtable, Smartsuite, or Webflow.

If your tech stack encompasses several automation providers and other platforms, XRay Workflow will also be a great way to organize your forms, tables, and other related resources into convenient boards.

But if you’re using Zapier tables, chatbots, and other Zapier products already, then Zapier interfaces are a convenient way to connect them all together.

To learn more about building and sharing no-code systems, check out our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

No results found.
There are no results with this criteria. Try changing your search.

Not sure where to start with automation?

Hop on a 15-minute call with an XRay automation consultant to discuss your options and learn more about how we can help your team to get more done.

Schedule a 15-Minute Call

🎙Interview me about my Workflow

Workflows take many different shapes, sizes, and tools. Ever wonder how your workflows compare?

Get interviewed and find out!

Interview Me

🗓 Join us for Automation Hours

Monthly automation hours are a free way to get help with automations!

Any platform, any tool, any question is welcome. Just drop in and say hello!

Sign up
By clicking “Accept All Cookies”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information.