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
Software Comparison
April 1, 2024
Airtable vs. SmartSuite: an In-Depth Comparison

Airtable is a great tool for organizing your team’s data and creating custom interfaces, automations, and more. 

However, Airtable isn’t the only database app in the space. Founded just a couple years ago, SmartSuite offers very similar features at a more attractive price point. 

But is it worth making the switch?

In this post, we’re going to give you an in-depth comparison of Airtable and SmartSuite so you can determine which one is right for you. 

We’ll take a look at everything that each app offers in several key categories, including user interface, custom views and fields, automation options, dashboards and interfaces, third-party integrations, technical performance, and pricing. 

There’s a lot to cover, so let’s get started!

The basics of Airtable and SmartSuite

First, for anyone who might not be familiar, let’s quickly cover what Airtable and SmartSuite are. 

On the surface, Airtable and SmartSuite are essentially spreadsheet and database apps. But unlike Microsoft Excel or Google Sheets, these apps are really for building custom internal systems.

Instead of using an off-the-shelf app for something, you can make your own custom version in these apps. For instance, you could use Airtable or SmartSuite to build a project management system that acts as an alternative to Asana, Monday.com, or Trello. 

A task management system in Airtable
Task management in Airtable

Similarly, you could use these apps to put together your own CRM as an alternative to Hubspot or Pipedrive.

A CRM in SmartSuite
A CRM in SmartSuite

By connecting Airtable or SmartSuite to Softr, which we’ll cover more later, you could even build a web app that serves as a convenient portal for your clients to sign in and view their data. 

A web app built with Softr and Airtable

Essentially, Airtable and SmartSuite are both versatile apps designed to give you freedom to build what you want using a familiar layout of tables and fields.

Ideal user profiles for Airtable and SmartSuite

Both of the apps have broadly similar functions and use cases, but they ultimately serve two different user types. We'll cover the similarities and differences in detail in this post, but we’ll start with a brief summary of the main distinction between the two apps.

Airtable: a reliable app for Enterprise teams

Airtable, which is backed by venture capital funds and has been available for about 10 years, has the edge for enterprise teams. 

It’s got the performance, the stability, and the advanced security and permission features that you need for enterprise solutions.

SmartSuite: an affordable alternative for smaller teams

SmartSuite, a bootstrapped startup founded in 2021, offers similar features at a much lower price, and is likely the better pick for smaller teams. 

Its design is top-notch, and it's got a lot of convenient features that Airtable is missing. However, its lack of fine-tuned permission controls and less sophisticated automation tools make it less-than-ideal for enterprise teams.

That’s the comparison in a nutshell, but there’s a lot of nuance that gets lost in a brief summary. Let’s jump into the detailed comparison to take a closer look at each app.

User Interface and User Experience

As two similar applications, Airtable and SmartSuite offer up nearly identical user interfaces and experiences. 

A simple database in Airtable
Airtable

Both apps use a simple, no-code UI to let you create databases and tables, add a wide range of fields, and organize your data into customized, filtered views. 

A simple table in SmartSuite
SmartSuite

Both make it easy to view your data at a glance and find the menu items you need. However, as the newer app on the block, SmartSuite has a bit more aesthetic flair. Elements tend to be a little larger with some extra white space, making it a little easier to parse information.

Winner: SmartSuite (just barely)

Ultimately, it’s difficult to separate the two in terms of UX and UI. However, we’d give SmartSuite a slight edge due to its extra visual polish. 

However, both apps deliver a great experience with a clean UI.  

Available Field Types

While spreadsheet apps like Excel and Google Sheets only offer some basic formatting options for text and numbers, Airtable and SmartSuite provide a wide array of field types to accommodate and display different data. 

Both apps include widely-used choices like text and select fields, date and time, formula fields, linked records and more. 

However, there are some key differences between the two apps here. 

SmartSuite: more field types, built-in validation, and superior linked records

By our count, SmartSuite currently boasts 42 unique field types compared to Airtable’s 28. 

SmartSuite’s unique fields include options like IP address, voting, a hex code color picker, and even a signature field. 

field types in SmartSuite

Additionally, most text and number fields in SmartSuite include automatic validation, so you can ensure that the data entered matches the intended format, whether that’s an email address, a phone number, or an IP address. 

Field validation in SmartSuite

To add similar validation to Airtable would require a complex solution involving automation and multiple fields. Frankly, it wouldn’t be worth the effort in most cases. 

Additionally while both apps include the ability to link records, Airtable limits you to only linking records within the same base. 

On the other hand, SmartSuite lets you link to records in any solution.

Linked records in SmartSuite

No matter what database you’re working in, you can reference records in any other database. 

Airtable: unique fields for “Last modified” and Barcodes

However, Airtable does have a few field types that SmartSuite doesn’t. 

Retail or manufacturing businesses will be happy to see Airtable’s “Barcode” field type, and anyone can benefit from the “Last Modified” field that displays a timestamp for the last time each record was edited. 

"last modified" field in Airtable

You’d need to create a formula field in SmartSuite to create a ‘Last modified’ field, which is easy enough, but there currently isn’t any way to add such a field without writing a quick function. 

Winner: SmartSuite

When it comes to field types, SmartSuite beats Airtable, particularly if you want easy validation for specific data formats or more versatile linked records.

But Airtable’s definitely not very far behind in providing a diverse array of field types and robust formula functionality.

Filtering and organizing your data with views

Next, let’s look at the views provided by both apps. In both Airtable and SmartSuite, views are a way to display data from a table. A view rearranges data based on your chosen settings, but doesn’t alter or delete the original data.

For some views, you might just apply a filter to a traditional grid layout, so you only see records that match certain conditions. 

a filtered view in Airtable

For other views, you might want to use a totally different layout, like a Kanban board for tasks, a gallery for images, or a timeline to track projects.

A kanban view in Airtable

Both apps offer a similar selection of views, but there are few key differences. 

Similar choices for custom views

SmartSuite and Airtable each include Grid, Kanban, Timeline, Calendar, Gantt, Form, and Gallery views. 

Airtable has one unique option: a list view, which is essentially a simplified grid. 

A list view in Airtable

SmartSuite on the other hand offers a Map view, which can display addresses and location data as pins on a map. Map views like this are a top feature request common among Airtable users.

A map view in SmartSuite

You’ll also see options for Charts and Dashboards in SmartSuite, which allow you to compile reports out of your data. 

a dashboard view in SmartSuite

While Airtable doesn’t include similar options in their “views” menu, they do include similar functionality in their “interfaces” feature, which we’ll cover more later.

An interface in Airtable

Launching automations with specific views

Although the choices for view types are virtually identical in both apps, there’s a related function which helps Airtable to stand out in this regard. 

In no-code automations, it’s easy to build a workflow that runs whenever a record enters a specific view in Airtable. No options like this are readily available for SmartSuite.

Winner: Airtable

Ultimately, Airtable and SmartSuite are nearly neck-and-neck when it comes to custom views, although each one has a couple of unique options that might sway you one way or the other. 

However, Airtable’s views are much better integrated with automation, which makes their views a more useful feature overall. 

Automating your work with Airtable and SmartSuite

Organizing your team’s data in one source of truth like an Airtable or SmartSuite database is a great way to get started with automation. 

Both apps have support for simple native automations and can also connect easily to automation providers like Zapier and Make.

But which app will be better for automating tasks with your data?

Native automations in Airtable and SmartSuite

With the automation functionality inside of Airtable or SmartSuite, you can launch an automation based on several triggers. These include options like “whenever a record is created or updated,” “when a record matches conditions”, “when a form is submitted”, or “at a scheduled time”.

Automation triggers in SmartSuite

However, Airtable has a few extra triggers that SmartSuite is lacking. These are “When a record enters a view,” “When a button is clicked,” and “When a webhook is received.” However, SmartSuite notes that webhook triggers are coming soon.

automation triggers in Airtable

Once an automation is triggered in either app, it can run some actions within your database or in external apps. Both have pretty small lists of supported apps, such as Gmail, Jira, Outlook Email, and Twilio. 

While neither Airtable nor SmartSuite is likely to be your main automation provider, Airtable’s native automation easily beats SmartSuite. 

In Airtable automations, you can add conditional logic and even write JavaScript for custom actions - neither of which are available in SmartSuite.

custom scripts and conditional logic in Airtable

Additionally, the ability to trigger automations when a record enters a view is extremely useful. It’s a very simple way to set up an automation, and missing it is a big disadvantage for SmartSuite automation. 

Third-party automation in Zapier or Make

The “New record in view” trigger is also one of the main factors that separates Airtable and SmartSuite when it comes to third-party automations. 

As you can see with a quick search in XRay.Tools, our free automation search engine, popular automation providers like Zapier and Make support Airtable and SmartSuite. 

Airtable and SmartSuite listings in XRay.Tools

However, you can’t trigger an automation to run when a record enters a view in SmartSuite, even if you use Zapier or Make.

Zapier triggers for SmartSuite and Airtable

If you’re automating with SmartSuite in an app like Zapier, you’d have to trigger the automation for any new or updated data in your database and apply filters in the next step of the automation to narrow down the records that would be processed. 

Essentially, you’d have to recreate the filters and conditions that you specified in the original SmartSuite view, instead of just pointing Zapier to the existing filtered view.

Winner: Airtable

If you’re looking for a platform to support automated workflows, Airtable is likely to be the better pick. It offers a wider range of triggers and actions in its native automation tools, and includes an essential option to limit its triggers to a specific view in Zapier and Make. 

Integrations with other apps

Next, let’s take a look at the third-party integrations available for both apps. 

Integrations in apps like Airtable and SmartSuite allow you to import data from other software, extend the capabilities of your custom systems, share data in a convenient portal for customers, and more. 

Extensive extensions in Airtable

In general, you’ll find far more integrations for Airtable than for SmartSuite, which perhaps is not surprising given that Airtable has been around for much longer. 

For instance, in Airtable, you can directly import data from software like Google Calendar, Salesforce, Github, and ZenDesk, among others. 

Import options in Airtable

On the other hand, in SmartSuite, you can only import data from a standalone file, like a CSV. 

Airtable also includes “extensions”, which are plugins built by both Airtable themselves and third-party developers. Adding an extension to your database will allow it to connect directly with other apps and perform additional actions. 

Extension marketplace in Airtable

For instance, with the Data Fetcher extension in Airtable, you can connect your Airtable base to any app’s API and make a request through a no-code interface. 

The Data Fetcher extension for Airtable

Even if Airtable doesn’t have any native integrations for an app you want to import data from, you can just use the Data Fetcher extension to get it. 

Note that Data Fetcher, like many Airtable extensions, is a separate, optional app with its own paid plan. 

Embed videos, conference calls and more with SmartSuite integrations

SmartSuite doesn’t include any plugins that are comparable to extensions, and doesn’t currently allow you to import data directly from another app when you’re creating a new solution. 

The main integrations they reference are related to automation through their native tools or third party providers like Zapier and Make. 

Video and social media integrations for SmartSuite

They also mention several apps that allow you to embed data directly into SmartSuite dashboards. With these integrations, you can insert YouTube videos, Zoom calls and more into your customized dashboards. 

Turn your database into a web app with Softr

One specific integration that we’d like to highlight for both apps is the ability to connect to Softr. 

With a Softr frontend and backend data stored in an app like Airtable or SmartSuite, you can create a portal for your clients or your audience. 

Use Softr to build web apps with your data in SmartSuite, Airtable, and other apps

Softr enables easy user sign-up and login, among many other useful features, which you can learn more about in our Softr beginner’s guide

Winner: Airtable

All in all, Airtable has the clear advantage when it comes to third-party integrations. Its easy import options and marketplace of extensions give you far more choices for connecting your Airtable data with other apps. 

However, both apps can be used in conjunction with Softr, which is definitely something you should check out if you want to make client portals or other simple web apps. 

Transform data into custom interfaces and dashboards

When you’re building systems with either Airtable or SmartSuite, you’ll often want to avoid third-party integrations entirely and instead build exclusively with the app’s native tools. 

That’s where Airtable’s Interfaces and SmartSuite’s dashboards come into play.

With these features, you can assemble customized pages that contain visualizations and summaries based on your data. 

A CRM dashboard in SmartSuite

You can add charts and graphs, filtered grid views, key stats, and more. 

An interface with a timeline view in Airtable

Interfaces and dashboards are great for putting together reports, or building simple layouts for specific workflows.

Access additional views and granular permission controls in Airtable interfaces

For most enterprise use cases, Airtable’s interfaces are superior to SmartSuite’s dashboards. 

While Airtable has no choices for embedding videos and conferencing calls like SmartSuite, it offers more choices for displaying and arranging internal data. For instance, Kanban and Timeline views can be added to an Interface, but not to a SmartSuite dashboard.

An Airtable interface with a kanban view

Airtable’s interfaces also include more granular control over editing permissions. For each element in your interface, you can set “Edit” and “create” permissions separately. 

editing permission for Airtable interface elements

In SmartSuite, it’s all or nothing. There’s no distinction between creating or updating data. 

Embed rich media and combine several databases in SmartSuite dashboards

Though they lack some useful view types and permission controls, SmartSuite’s dashboards are still a great feature. 

As we noted earlier, SmartSuite dashboards allow you to embed a wide variety of external media, like YouTube videos and Zoom calls. 

Embedding a YouTube video into a SmartSuite dashboard

Additionally, SmartSuite dashboards provide the ability to combine data from several solutions (or databases) into a single layout. 

This can only be accomplished in Airtable if you add synced tables to your database first, which is definitely not as convenient – and requires a Team plan or higher.

Winner: Airtable

Both Airtable and SmartSuite give you some great choices for building internal interfaces and dashboards. 

Overall, however, we’d consider Airtable to be the better tool for building an interface for your team, particularly if you need to be precise with your editing permissions.

Technical performance and limitations

Before wrapping up this comparison with a pricing breakdown, let’s take a look at the technical performance and limitations of both tools.

General stability and record limits

Overall, Airtable is a more stable app with better performance. SmartSuite runs well most of the time, but might not have the responsiveness or uptime that you’d be looking for in an enterprise context.

If you plan to build an app around your Airtable or SmartSuite databases, then Airtable will be better equipped to support large teams making lots of requests. There’s also a sizable gap between record limits for both apps.

While SmartSuite tops out at 200,000 records per solution on their Enterprise plan, Airtable offers more than double that figure. On Airtable’s Enterprise plan, users can create up to 500,000 records per base, and you’ll see similar disparities at every pricing level.

Guaranteed uptime with Airtable Enterprise

Additionally, as a more mature app, Airtable’s uptime and general performance is excellent. On enterprise plans, Airtable guarantees 99.9% uptime each month, and will provide service credits to impacted accounts if they don’t meet that commitment.

Airtable's Enterprise service level agreement (SLA)

Winner: Airtable

We’re sure SmartSuite will continue to improve over the next few years, but if you’re looking for the best possible performance right now, Airtable will be your pick.

Pricing plans

Finally, let’s take a look at how both of these apps will impact your bottom line and go over their pricing plans. We’ll give you a quick overview, but for more detail, you can check out Airtable’s pricing plans and SmartSuite’s pricing directly. 

Pay less with SmartSuite; get more with Airtable

SmartSuite's pricing overview
SmartSuite Pricing

SmartSuite is considerably cheaper than Airtable, with most plans coming in at just over half the cost of the comparable Airtable package. 

Airtable's pricing overview
Airtable Pricing

However, Airtable’s higher prices do come with additional features and perks.

With Airtable’s plans, you’ll get more cloud storage and higher record limits at every tier. The Enterprise plan also offers some extra security features and white-glove service that isn’t available in SmartSuite, unless you work with an expert directly.

If you’d like help managing your databases and workflows, our team at XRay can work with both tools.

Check for monthly vs. annual billing

Just note that when you’re looking at these pricing pages, the most prominent prices are calculated based on the assumption that you’ll be signing up for an annual plan. 

Annual vs. monthly pricing

If you’re paying month-to-month, your price will be a bit higher. Those figures are posted here, too, but they’re a lot smaller and easier to miss.

Comparing each app’s free version

If you’re not looking to pay anything, and just want to pick between the two free plans, we’d say SmartSuite wins out in every category except cloud storage. 

You’ll get the vast majority of SmartSuite’s field types, views, and other basic features unlocked at no charge, while Airtable keeps many of their features behind a paywall.

But the 100MB of cloud storage, compared to Airtable’s 1GB, will pretty much limit you to uploading text files only. 

Winner: SmartSuite

Ultimately, if you’re looking for a budget-friendly option, SmartSuite is going to be the better choice, as long as you can live without the extra features and capacity Airtable offers.

Making an informed choice for your team’s database software

Airtable and SmartSuite are both excellent apps that empower you to organize your data and create robust internal systems for your teams. 

While Airtable is generally the technically superior app and a much better fit for enterprise users, SmartSuite’s unique features and lower prices make it a good choice for many solo builders and small businesses.

Try both apps for free to see how they work for yourself. 

If you’d like to see more software comparisons and automation tutorials, be sure to check out our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Tutorial
March 25, 2024
How to reformat dates in Power Automate

Are your date and time stamps in Power Automate not coming out the way you’d like? 

Whether you need to reformat a date-time value in Power Automate, or change the time zone to match your region, you can do it all with a single automated step – no code and no scripting required.

In this quick tutorial, we're going to show you how to use the “Convert Time Zone” action in Power Automate to reformat and convert dates and times however you’d like. 

Open a Power Automate flow with a date/time you want to reformat

To get started, open up any cloud flow in PowerAutomate that has a date/time value you want to format. 

In our example, we’ll open up this automation that sends a Slack channel message for newly flagged emails in Outlook. 

A Power Automate flow with a date-time value to convert

As you can see in the Slack screenshot below, this “Message sent” time doesn’t look great in its initial format. It’s probably fine for robots, but it’s got a long timestamp that isn’t really easy for human beings to read. 

A date-time value in Slack in its original format created by Power Automate

This is the date and time that we’ll adjust to a more easily readable layout. 

Add a “Convert time zone” action to your flow

In Power Automate, add a step to your flow.

You can add this step anywhere after the step that finds or creates the date/time value you want to reformat, and before the step where you send the formatted time somewhere else. 

The “Message sent” timestamp comes from the trigger in our automation, so we’ll add this step right after it. 

Adding an action after the step that creates or finds the relevant date-time value

In the “choose an operation” window, search for “Date”, and select the built-in “Date Time” that appears. 

Searching for Date Time actions

Then, select the “Convert time zone” action. 

The Convert Time Zone action in the list of Date Time actions

This action includes an option to reformat the time that you’re converting, and it doesn’t require you to convert the time zone if you don’t want to. 

However, many apps process all timestamps in Universal Coordinated Time or “UTC” instead of your local time zone, so being able to convert the time zone will often be quite convenient as well. 

Configure the ‘Convert time zone’ step to reformat your date/time value

Once you’ve added “Convert time zone” to your flow, you’ll just have four fields to fill out.

Base time 

First, for “Base time”, you need to enter the time that you want to convert and/or reformat. 

You can enter a date and time manually, but in most cases, you’ll probably want to use a date time value retrieved automatically from a previous step. 

Click on ‘Add dynamic content’ to open up the “Dynamic content” window if it doesn’t open up automatically when you select the field. 

Then, click on the date-time value you want to use. For our example, that will be the “Received Time” variable from the trigger. 

Inserting the time to reformat and convert in the Base Time field

Source time zone

Next, in the ‘Source time zone’ field, you need to specify the original time zone of your timestamp. This will usually be either your local time zone, or UTC. Just use the dropdown menu to pick the correct option. 

Selecting the source time zone with a dropdown menu

In our example, the timestamp is in UTC. 

Destination time zone

Then, choose the time zone you want to convert the timestamp to in the “Destination time zone” field. 

If you don’t want to change the time zone, then just set this to the same time zone that you chose as the Source Time Zone. 

Once again, you can use the dropdown to find your choice. 

Choosing the destination time zone from a dropdown menu

For our example, we’ll use our local US Eastern time. 

Format string

In the “Format string” field, you can specify a new format for your date and time. 

The dropdown will give you several common layouts, but you can also enter a custom format manually. 

Finding 'Enter custom value' at the bottom of the dropdown menu of formats

In Microsoft’s help docs, you can find detailed lists of every standard format, as well as every option for building a custom format

In our example, we’ll use the following format: MM/dd/yy hh:mm tt

Inserting a custom format string

This will display the date with 2 digits each for the month, day, and year, and then show the time with an AM or PM as appropriate. 

Note that you don’t need to enclose your format string in quotes; you can just enter it directly. 

Update your automation to use the new converted date/time value

Once your “Convert Time Zone” step is all set, you just need to make sure that any subsequent steps now use the reformatted and converted timestamp instead of the original one. 

In our example, we just need to edit the Slack message step.

Deleting the original date-time value from subsequent automated actions

I’ll delete the original “Received time” variable and replace it with the “Converted Time” variable.

Replacing the original date-time value with the converted value

Test your finished automation

Once your automation is updated, save it and give it a test. If this is the first time testing your flow, you’ll probably need to test it manually. Otherwise, you can use data from a previous test to trigger the automation. 

In our example, we’ll give the flow a manual test. 

Testing a flow manually

Then we’ll flag an email in our Outlook inbox to trigger the automation. 

Flagging an email in Outlook to test the flow

In Power Automate, it says everything ran successfully. 

A successful test in Power Automate

Let’s see what the output looks like in Slack. 

A Slack message with a date-time value converted by Power Automate

In the Slack message above, you can see that date has been reformatted into the layout we specified, and converted to our time zone. 

Once you’ve run a successful test, your automation is all set. 

Use a simple no-code step to reformat and convert dates and times

Power Automate makes it easy to reformat your dates and times. Their naming just makes it a little tricky to find the right automated action, but once you’ve found the “Convert time zone” option, you’ll be ready to go. 

If you’d like to learn more about using automation providers like Power Automate, Zapier, and Make, be sure to check out our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Tutorial
March 18, 2024
Build Automations in Seconds with Make's AI Assistant

No-code automation is all about saving time.

But what if we told you that with Make’s new AI Assistant, you can save time while you’re building a time-saving automation?

Just send a prompt to the assistant, and it will build the automation for you – or at the very least, it will generate a great starting point. 

In this post, we’re going to quickly show you how the AI Assistant in Make works.

We’ll demonstrate a few prompts to show you how it can build a scenario, edit its own work, and give you tips from Make’s help docs.

Make’s AI Assistant: a constantly evolving beta feature

Make, formerly known as Integromat, launched the AI assistant in February as a beta feature. It’s now available to every Make user, even if you’re just using a free account. 

As a beta feature, the AI Assistant is being updated constantly. For instance, Make just recently added an “Ask about Make Documentation” option while we were preparing this post. 

the AI assistant in Make with a newly added "Ask about Make documentation" feature

With updates happening so fast, you should expect that much of what we demonstrate in this post will look a bit different over the next few months. However, most of the fundamental options and features will likely remain consistent. 

How to launch Make’s AI Assistant

You can access the Make AI Assistant by creating a new scenario. 

The Assistant is in the bottom right hand corner of the screen. Just look for the “AI Assistant” button. 

The Make AI assistant in the bottom right corner of the scenario builder

Click on the button to open AI Assistant. Once you open it up, you’ll be greeted with two options: 

Generate/edit scenario, which will automatically build a scenario based on your prompt

Ask Make Documentation, which gives answers to general questions about using Make

The Make AI assistant with "Create or Edit a Scenario" selected

Let’s start with “Generate/edit scenario”. 

Automatically building a Make automation with the AI Assistant

To start building an automated scenario with Make’s AI assistant, just enter a prompt describing what you want to build.

Tips for crafting your prompt

In your prompt, it’s best to use simple, direct language, and to focus on the apps and events you want to include in the scenario. 

The AI assistant can’t configure settings within each module, so providing extra detail about each field and option won’t be necessary. 

For example, you might want to enter a simple prompt like this:

“Build a scenario that runs whenever a new record enters an Airtable view. Send an alert about the new record in Slack and Gmail.”

Sending a simple prompt to the Make AI Assistant

Note that this prompt doesn’t mention any specific details like Slack channel or email subject line, since these details would just be ignored anyway. 

Reviewing the AI’s output

Once you enter your prompt, Make’s AI Assistant will “think” for a bit, then build a scenario that attempts to replicate what you described. 

A simple scenario built by the Make AI Assistant

In the image above, you can see that the AI assistant successfully added all the correct actions to our scenario based on our prompt.  

An un-configured module created by the Make AI Assistant

Each module has the right app and action, but as expected, no settings are configured within each module. 

If you’re satisfied with the AI’s output as a good starting point, you can begin configuring each step yourself. Just note that once you start configuring a module, you can no longer use the AI assistant to update your scenario.

Using AI prompts to refine your scenario with conditional logic and more

If you’re not happy with the AI’s initial output, or if you just want to add more steps, then you can send another prompt to the AI to adjust the scenario’s modules. 

For example, we’ll send another prompt to add some conditional logic to this scenario. Here’s the prompt we’ll use: 

“Update the scenario to include conditional logic after the trigger. In one path, send a Slack notification and an email through Gmail. In the other, just send an email through Gmail.”

Sending a prompt with conditional logic to the Make AI Assistant

Note that the prompt doesn’t mention filters for each path, since once again, the AI won’t be able to add those filters.

After we enter the prompt, the AI offers up a modified version of the same scenario. 

A scenario with a router built by the Make AI Assistant

This version includes a router with two paths. One path has modules to send messages in Slack and Gmail, while the other has a step for Gmail only, just like we asked. 

This is an excellent scenario to get started with. Notably, being able to implement routers for conditional logic puts Make’s AI assistant ahead of Zapier’s similar feature, which can’t use paths (based on our experiments so far). 

Limits of Make’s AI Assistant

Note that the AI Assistant won’t always work well with every prompt. As we’ve noted, the AI can’t configure specific settings within each module. 

Additionally, with more complicated prompts, the AI assistant is more likely to make mistakes. 

For instance, while our team was experimenting with a similar prompt regarding conditional logic earlier, it added in a JSON step for no particular reason in one of the paths.

A scenario built by the Make AI Assistant with an inaccurate JSON step

The scenario was correct otherwise, so it still was a useful jumping-off point. Even if the assistant’s output isn’t perfect, it’s still quite helpful more often than not. 

Get answers to your Make questions with the AI assistant

In addition to building scenarios, the AI assistant can also help you with any general questions you have about using the platform. 

It will try to answer your question based on the information in Make’s documentation, and will provide you with what is hopefully a relevant link.

Here’s how it works. 

Asking questions about Make’s modules

You can ask the AI assistant any question you have about how Make works. For instance, you might want to ask about one of Make’s functions, like the ‘Repeater’ module. 

In our example below, we’ve asked a simple question: what is a repeater module for?

Asking the Make AI Assistant about the "repeater" module

After just a few moments, we get a brief but thorough explanation of the module, along with a link to the relevant help docs. 

The Make AI Assistant's answer about the "repeater" module

Alternatively, you might want to ask about whether or not Make supports a certain application (although you could always get that answer from XRay.Tools, too). 

In the example below, we’ve asked: Does Make support X (Twitter)?

Asking the Make AI Assistant about Make's support for X (or Twitter)

And again, after a few moments, we get a helpful answer (Make does support Twitter) with a couple links to the relevant info.

The Make AI Assistant's answer about Twitter support

Although it seems the AI prefers the old name for the social media platform. 😉

Use the AI Assistant to augment your skills in Make

So whether you want to start instantly building a scenario or just want to explore what’s possible in Make, the AI assistant’s got you covered. 

Just note that the AI assistant will be most helpful if you’re already familiar with the basics of Make. You can check out our beginner’s guide here to get familiar with creating automated scenarios in Make.

Building automations and more with Make’s AI assistant

With Make’s new AI assistant, getting an automation started is faster than ever before. Just chat with the AI to figure out what you want to build, then send a prompt to get the basics of your scenario ready. 

If you’d like to see more automation tips, tutorials, and updates, be sure to check out our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

News and Updates
March 11, 2024
5 New Ways to Do More with Your Automations in Zapier

Zapier is the most popular no-code automation provider available, but in the last several months, they’ve been expanding their features to go beyond software automation. 

With Zapier’s latest tools, you can build databases for your Zaps, custom web pages, AI chatbots, and more.

In this post, we’ll show five new ways that you can use Zapier to save time and enhance your workflows beyond simple automation. 

Create databases for your automations with Zapier tables

With Zapier tables, you can create simple tables for your Zaps to reference. These tables essentially can be used like any spreadsheet or database app, like Excel, Google Sheets, or Airtable, but they have very limited features in comparison.

a Zapier table

However, Zapier’s Tables integrate neatly with your Zaps, giving you the ability to launch a Zap with the press of a button in a spreadsheet row. 

If you’d like to learn more about how Zapier tables work, you can check out our post here for an overview of Zapier tables. As a beta feature that’s being constantly improved, the UI has already been updated since our post was published, but the functionality remains largely the same. 

Tables also connect with Zapier interfaces, the next feature we’re going to explore. 

Interfaces

With interfaces, you can create simple, custom web pages with a drag-and-drop builder.

Your interfaces can include links to your Zaps, forms connected to Zapier Tables, buttons to launch automations, and more. 

a zapier interface

Interfaces can be a useful way to package and deliver an automation to a client or for your team, but they offer much less flexibility than web pages built in apps like Webflow, SquareSpace, Wix, Softr, or Wordpress. 

AI Chatbots

One of the most appealing features of Zapier interfaces is the ability to add a custom AI chatbot. 

These Chatbots now have their own menu item in Zapier’s dashboard as well, and are an easy way to set up a shareable chatbot to interact with clients and leads. 

a Zapier chatbot

Zapier provides a convenient template that you can use to give your chatbot a custom directive, and on premium plans, you can upload text files with information for your Ccatbot to reference. 

This feature is still in beta, and will likely not be replacing products Chatbase or Botpress in the near future, but it’s a remarkably easy way to get a chatbot up and running. 

You can check out this XRay Tutorial for a look at an earlier version of Zapier chatbots. Many of the specific settings and UI options have changed since then, but it will still help you get a sense of how Zapier chatbots work. 

Zapier Canvas

Zapier Canvas offers a unique way to create basic flowcharts. 

While dedicated apps like Lucidchart are generally much better for creating diagrams, Canvas gives you the ability to add your existing Zaps to each flowchart. 

A flowchart in Zapier Canvas

Then, you’ll see every step of the Zap in the diagram, making it a convenient way to document your Zaps in the context of larger workflows. 

If you’d like to see how Zapier Canvas compares to apps like Miro and Lucidchart, check out our rundown of the 5 best flowcharting apps for planning your automations

Build Zaps faster than ever with a visual editor and an AI assistant

These last two features are more directly connected to building automations in Zapier. 

With Zapier’s new visual editor, you can edit your automations by simply dragging and dropping steps into place. 

Moving a step in Zapier with the visual editor

While this doesn’t change much for the process of building a Zap initially, it makes it much easier to update an automation after it’s already been built. Now, you can re-order the steps in your Zaps with a few quick clicks. 

moving a step in Zapier with the visual editor

And if you try to rearrange your steps in a way that will break your automations, Zapier will provide a helpful warning. 

Building Zaps with AI

When you create a new Zap, you’ll now see a panel at the top of the screen that invites you to create your automation by sending a quick prompt to an AI assistant. 

sending a prompt to Zapier's AI assistant

Building Zaps with AI currently produces some mixed results. It’s quite effective at assembling short, linear Zaps without any branching. 

A Zap built by Zapier's AI

However, it will usually fail to include any conditional logic that you might mention in your prompt, and can’t configure steps beyond choosing the app and action. 

Even with its limitations, the AI Zap builder is still a useful time saver for Zapier builders. You can see it in action in this XRay tutorial about connecting Zapier to Make with webhooks

Explore Zapier’s latest and greatest features to get the most out of your Zaps

The world of SaaS tools never stands still, and no-code automation has to continually evolve to keep up. 

With Zapier’s latest features, the automation provider is becoming a more versatile platform for creating automated workflows, AI assistants, databases and more. 

If you haven’t used Zapier in the last year, or if you’ve just been focused on building automations, take a moment to check out their newest features. You may just find a new way to save some time. 

If you’d like to see more Zapier news and tutorials, be sure to check out our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Tutorial
March 11, 2024
Zapier Beginner's Guide: Updated for 2024

With automation providers like Zapier, anyone can start automating their tedious tasks without needing to write a single line of code. 

All it takes is a few minutes of learning the basics, and you’ll have more time every day for the work that matters. 

In this post, we’re going to show you everything you need to know to get started with Zapier and begin automating your work. 

We’ll quickly explain what Zapier is, and how it works. Then, we’ll guide you through the process of building your first Zap step by step so you can learn the basics firsthand. 

What is Zapier?

First, let’s quickly address an important question that many beginners will likely have:

What is Zapier, and what does it do?

Zapier is an app that automates actions in the software you already use. By connecting your existing web apps together, it allows you to automate the work you’re currently doing manually, or build entirely new automated systems and even prototype your new ideas.

For instance, you could build an automation – or a “Zap” – that runs whenever a Zoom event ends. Then, the automation could download a list of every attendee and find or create matching leads in Hubspot for your team to follow up with. 

marketing automation examples in Zapier

You could also set up a Zap that watches Reddit for comments matching your specified terms, and add the information to a Google Sheet or Airtable base so you can quickly answer.

Social media automation examples in Zapier

You can even use Zapier to automatically send prompts to AI, making it easy to add AI-generated content to any app in your workflows. 

Zapier's ChatGPT integration page

These examples are just scratching the surface. With thousands of apps supported, the possibilities are basically endless.

Zapier also includes several other features that go beyond automation, which you can explore in another post on the XRay blog. But first and foremost, Zapier is an automation provider, so that’s what we’ll focus on in this beginner’s guide.

Building your first Zap to automate your work

Now, let’s take a look at building your first Zap. Here’s the automation that we’ll be building today:

Whenever a file is added to a specified folder in Google Drive, send an alert in Slack containing a link to the file. 

This tutorial's example automation: send a Slack message for new files in a Google Drive folder

This is a very simple automation, and its practical uses are, we admit, quite limited. However, it’s a great starting point to learn how Zapier works. It creates a playground where you can easily edit the automation, then run a test and instantly see the output in Slack. 

These kinds of simple automations are great for trying new ideas and seeing how the data connects, and that’s what we really want you to get from this beginner’s guide.

Note that you could also use similar alternatives for these apps if you’d like. For instance, you could swap out Google Drive for Microsoft OneDrive, or Dropbox in the first part of the automation. The same general principles will apply, but some specific settings and terms used will be different.

Once you’ve got your free accounts set up in Zapier, Slack, and Google Drive, or the other apps of your choice, we can get started.

Create a new folder and a new Zap

Before you create your first Zap, it’s always a good idea to stay organized, so make a folder for your Zap first. 

Select “Zaps”, click on the “Create” button, and add a new folder. 

creating a new folder in Zapier

Give your folder a name like “Beginner’s Guide”.

naming a folder in Zapier

Then, select your new folder, and click “Create a new Zap” to make a new automation within your folder. 

creating a new Zap

Building a Zap manually

The text box at the top of the automation builder will allow you to create a Zap by sending a prompt to AI, but we’d recommend skipping this if you’re a beginner. 

The AI Zap builder

The AI output is usually pretty good, particularly when it comes to building short 2-step Zaps, and it can be a great timesaver once you’re more experienced. However, the AI often gives you an incomplete or slightly incorrect automation.

Once you know how to build a Zap manually, fixing these issues will be easy. But when you’re just getting started, it might be more confusing than it is helpful to start off with an AI’s half-finished work. 

So, instead of typing anything into this window, we’d recommend starting by filling out your Trigger manually.

Adding a trigger to your Zap

The trigger is what starts your automation. Whenever this condition is fulfilled, your Zap will run. 

That’s the basic setup of every automated workflow: 1 trigger that kicks it all off, and one or more automated actions that follow. 

Selecting the trigger element to add a trigger to a Zap

Click on “Trigger” to start setting up your trigger.

Choosing an app for a Zap trigger

In the window that pops up, you’ll need to pick the app that you want to use to start the automation. 

You’ll see a small list of apps in the panel, but you can search the full library of about 7,000 integrations by just entering your app’s name up in the search bar. 

You can also set your automation to run based on a schedule, or to launch on demand with webhooks

If you’re running a software company, and you’d like to add your app to Zapier, just reach out to us to explore your options for building a custom integration. This will allow your users to automate your app with Zapier completely on their own.

For now, just pick “Google Drive” as your trigger app. 

Choosing Google Drive as a trigger app in zapier

Then, you’ll see this panel open up on the right where you can configure your trigger. 

Zapier's automation builder UI

In Zapier’s visual editor, you can add and reorder steps in the flowchart-like area to the left, then edit each step in the panel on the right.

Choose an event for your trigger

Next, you’ll need to specify the “Event” in your trigger. 

This is the specific condition that will prompt the automation to run. You’ll often see several options, so just pick the one that’s the best match for what you want to automate. 

Choosing an event for a trigger in Zapier

In our case, that will be “New File in Folder”, since we want this automation to run whenever a file is added to a specific folder.

Once you’ve chosen your event, click “Continue” to move on to the “Account” section. Then, you’ll be prompted to sign in to your trigger app - in this case, Google Drive. 

Signing in to Google Drive to authorize Zapier

Sign in to your trigger app and authorize Zapier 

Click on ‘Sign in’, and grant Zapier the permissions it needs. You’ll always need to sign into your apps and authorize them the first time you connect them to Zapier.

Authorizing Zapier to automate Google Drive

In order for Zapier to work, it needs to be able to act automatically on your behalf through your accounts. If you’d like to learn more about Zapier’s security practices, you can check out our article exploring the topic in depth. 

Once you’ve signed in with Google Drive, click on continue. 

A trigger in Zapier with an authorized account

Configure your trigger

Under this “trigger” section, you can specify the data that your trigger should watch.

Configuration options for a Google Drive trigger in Zapier

For Google Drive, that means specifying the Drive and Folder to monitor. Zapier will typically provide help text under each field to give you more context.

For “Drive”, they explain that if this field is left empty, it will default to just using your personal Drive - the one listed as “My Drive” in Google Drive. So in our example, we’ll just leave it blank to use that. 

In “Folder”, you’ll need to specify the folder that Zapier should watch. If you don’t have a folder to use, open up Google Drive in a new tab and make one now.

Creating a new folder in Google Drive

Back in Zapier, you can navigate through your folders and select one based on its name. 

Searching for a Google Drive folder in Zapier by name

Identify folders and other objects by their programmatic IDs

However, whenever possible, we’d recommend avoiding identifying items by their name in automations. When you can, it’s best to use an ID, since IDs remain constant, while file and folder names could change.

Most objects in web apps, such as folders in Google Drive, have some kind of ID associated with them. In many cases, it’s also very easy to find this ID by simply looking at the URL bar. 

Go back to Drive, and open the folder you want to use.

Copying a Google Drive folder's ID from the URL bar

If you look at the URL bar for your folder, you’ll see this string of characters after ‘Folders’. That’s your folder’s ID. Copy it to your clipboard. 

Then, go back to Zapier, select the “Folder” field, and choose “Custom”. 

Selecting a custom input to identify a folder in Zapier

Now, you can paste your folder’s ID into the field.

Pasting a Google Drive folder's ID into Zapier

For this tutorial, it’s fine to either use the ID or select the folder from the list. But we’d recommend trying to use the ID first. Techniques like this that create more stable, maintainable automations are a key step to becoming a Zapier expert.

Testing your Zap’s trigger

Once you’ve specified the folder you want to use with either method, it’s time to run a test. 

But before you test a trigger in Zapier, you need to have test data to work with. If you don’t have test data to use, you won’t be able to test your trigger, and it will be very difficult or even impossible to build your automation.

For this automation, that means we’ll need to have a file already in the folder, since the trigger is set to watch for new files in the folder. In other words, if there is no file in this folder, the test will fail.

In our example, we’ll add a file now in Google Drive called “Test Proposal”. 

Creating a file in Google Drive to use as test data

A google doc

Once your test data is all set, go back to Zapier, and test your trigger by clicking on the “Test Trigger” button. 

Testing a trigger in Zapier

After a couple of seconds, Zapier should give you a list of up to three files found in your folder. 

Test data returned in Zapier

Understanding Zapier’s test data

Zapier triggers will always return a lot of data. For files in Google Drive, this will include things like the file’s URL, its contents, its created time, and a lot more. 

Note that different apps will return different data in the trigger. If you’re using alternate apps as you follow along, expect to see data unique to the app you’re using.

Each piece of data – or “variable” – is broken down into labels and values. The labels are in the blue rectangles on the left, while the values for the specific selected record are to the right. 

Every Google Drive file pulled into Zapier will have all the same variables with all the same labels, but the values for those variables can be different each time the automation runs.

The "Title" variable retrieved from Google Drive with a value of 'Test Proposal'

For instance, every file will have a Title, but that exact title will depend on the doc in question. This is called dynamic data, and it’s a key part of how Zapier works. 

But we’ll touch more on that later. For now, continue with this test record and add an automated action to our Zap.

Add an automated action to your Zap

Clicking “Continue” will add a step to your Zap, but you can also click on the plus sign to add an action to your Zap. 

Adding an action to a Zap

Next, you’ll need to pick an app and an event in the same way you did for the trigger. 

Choosing an app for an automated action in Zapier

Search for the app that you want to automate. In our case, that’s Slack. 

Then, choose the “Event” you want the automation to perform. For our example, “Send Channel Message” is a good match. 

Choosing an event for an automated Slack action in Zapier

Click “Continue” to add the action to your Zap. 

Authorize Zapier in your app to automate it

Once again, you’ll need to sign in to the relevant app and authorize Zapier. We’ll sign in to Slack, and allow Zapier the access it needs. 

Authorizing Zapier in Slack

Click “Continue” again, and begin configuring your automated action. 

Configuring your automated action

The available fields and settings for an automated action will vary depending on the app, but you can use Zapier’s help text to figure out what you need to provide.

The required fields in a Zapier action, marked with an asterisk

Also note that the required fields will be marked with an asterisk, so you can always start by filling out those. For this Slack message, you’ll need to identify the channel you want to use, and compose the message to send. 

To specify a Slack channel, you can once again either pick one from the list, or use the channel’s ID.

To find a Slack channel’s ID, open up the channel in Slack. Then, click on its name at the top of the channel window. At the bottom of the panel that pops up, you can view the ID and copy it to your clipboard. 

Copying a Slack channel's ID

Then, go back to Zapier, click “Custom” and paste the ID here.

Identifying a Slack channel by its ID in Zapier

But again, choosing from the list is fine, too. Just make sure to use a channel that you don’t mind sending test messages to. 

Now, you can compose the message.

Using dynamic data in your automated actions

In text fields like a Slack message field, you can provide both static text, and dynamic data retrieved from the trigger (or other earlier steps). 

We’ll start with some static text. Just type a simple message like this: 

A new file has been added to the “Proposals” folder. 

Then include some labels for the dynamic data we’d like to provide. 

File title: 

File link: 

Download PDF:

Composing a Slack message in Zapier with static text

To include dynamic data in your Zaps, just use the “insert data” panel. 

The data will be organized by the step it came from. In this Zap, the only previous step is the trigger, so that’s the only step you can see right now. 

In longer Zaps, like the one pictured below, it’s easier to see how the data is broken up by different steps.

The "insert data" panel in a multi-step Zap

To find a specific variable, you can enter a keyword in the search bar. We want the file’s title, so we’ll search for “title”.

Searching for data from a previous step in Zapier

In the results, we can see a variable called title, with the value of “Test Proposal”. Click on it to insert it into your message. 

Now, the message will include the title of whatever file triggered the automation to run in the first place.

If that’s “Test Proposal”, it will say ‘Test Proposal’. If the file that triggered the Zap is called “Contract for FakeCo”, it will say “Contract for FakeCo” here. 

Note that while you’re building in Zapier, you can see both the variable name (highlighted in yellow below) and the variable value (green).

Labels and values for a variable in Zapier

However, when the message is sent in Slack, you’ll just see the value. That’s why we added a label for “File Title” ourselves as static text.

Adding additional dynamic data

Now, follow the same process to add dynamic data for “file link”. Just note that the main URL for a Google Drive file is called the “Alternate Link”, so that’s what you should search for and insert into your message.

Inserting the "Alternate link" variable into a Slack message

Finally, add a link where users can download this doc as a PDF. That variable is called “PDF URL”. 

Inserting the Google Drive PDF URL into a Slack Message in Zapier

Now the message is all set.

Configuring optional settings in your automated action

Those are the only required fields, but it’s always a good idea to review the optional settings as well. Send this message as a bot, and give it a unique name. In our example, we’ll call ours “New File Freddy”. 

Then, give your bot an icon using Slack’s syntax for emoji. For instance, we’ll use the :file_folder: emoji for ours. 

Optional Slack settings in Zapier

By default, “include a link to this Zap” should be set to “Yes”. Whenever sending automated messages, it’s always convenient to know where that message is coming from, so keep this option enabled. 

Finally we’d recommend setting “Auto-expand links” to “no”, so the message won’t show previews for all these links we’re adding. That would take up a lot of space, and we’d rather keep Freddy here nice and trim.

The "Auto-expand links" Slack setting in Zapier

You can leave the remaining settings to their defaults.

Once your action is fully configured, click on “Continue” to give it a test. 

Testing your automated action

Click on “Test Step” to test your automated action. 

Testing an automated action

The step will immediately run using the data that you selected in the trigger. 

Test data returned from a Slack action in Zapier

Zapier should give you a success message with a summary of the data that was sent to Slack. But it’s always best to check your apps to see what everything looks like in the wild.

Open up Slack, and check for the message sent by Zapier. In our example, we can see the message right there in the Tutorials channel. 

A Slack message sent by a Zapier test

It provides the file name, a file URL, and a PDF download URL. Clicking on the Google Drive link opens up the doc in Drive, while clicking on the PDF link starts downloading it right away. 

Everything looks good!

Running a live test for your full automation

But before we wrap up this tutorial, we’d recommend running a live test to see the full automation work in real-world conditions. 

Click on “publish”, and your Zap will be turned on. 

Publishing a Zap to turn it on

To run a live test, just perform your trigger condition while the Zap is on. In this case, that means we just need to add a file to the Google Drive folder.

Adding a file to a Google Drive folder to test a Zap

On Zapier’s free plan, you’ll need to wait fifteen minutes for your Zaps to run. 

So take a quick break, and check back in 15 minutes. 

After a little wait, you should see a Slack message with links to your newly added file.

A Slack message sent automatically by Zapier

Managing your automations and apps in Zapier

Now that you’ve built your first Zap, let’s quickly go over your main resources for viewing, maintaining, and managing your automations in Zapier. 

View all of your Zaps

If you click on “Zaps”, you’ll see a list of every Zap you’ve made sorted into user-created folders. We’d strongly recommend using these folders to keep your Zaps neatly organized. In any folder, you can see your Zaps. 

The "Zaps" menu in Zapier

Click on the arrow on the right of any Zap’s name to access additional options, like duplicating the Zap or turning it into a template. 

Options for managing Zaps

Review automated activity and troubleshoot errors in “Zap History”

Under “Zap History”, you can see a summary of every Zap’s activity on your account. You can filter the entries by date range, specific Zaps, the apps involved, and more to easily find what you’re looking for. 

Zap history main page

You can also use the search bar to search within both the titles of your Zaps and the data that the Zap processed.

Searching in Zap history

Once you’ve pulled up the history you’re looking for, you can click any of these entries to see more information. 

Reviewing detailed Zap history

Zap History is the best place to start troubleshooting when a Zap is encountering errors or just not working as expected.

Manage connections in “Apps”

If you click on “Apps”, you’ll see every app connected to your Zapier account. These will be the apps that you’re using Zapier to automate, like Google Drive, Slack, LinkedIn, Hubspot, etc. 

The main "Apps" page in Zapier

You can click on any individual app to see the specific accounts that are connected to Zapier.

Details for a connection or app in Zapier

Note that you can add several accounts for the same app to Zapier.

From there, you can test each connection, reconnect it if the credentials have expired, or rename the connection to help distinguish different accounts. 

Options for managing connections in Zapier

Under the “Zaps” tab, you’ll see a list of any Zaps that use this app across all of your accounts. 

Viewing the Zaps using a specific connection

When you’ve only got a Zap or two in your library, these organizational features might not seem very important. But once you start building a larger automated infrastructure, you’ll need to refer back to these options frequently.

Zapier’s Pricing

Now let’s take a look at Zapier’s pricing structure. 

Zapier recently overhauled their pricing, so this is worth a glance even if you’ve used Zapier in the past. 

Note that you can get a 33% discount on the price of any plan if you pay for an annual subscription. The prices we mention apply to monthly subscriptions. 

Zapier pricing overview

Free plan: a limited option for exploring Zapier

While Zapier does include a free plan, it’s not really going to give you much practical functionality.  With two-step Zaps only and just 100 tasks a month, you won’t be able to do much with it except try Zapier out. 

Starter plan: basic functionality for $30/mo

For $30/mo, the starter plan unlocks Zapier’s basic features, but limits you to 750 tasks a month, 15-minute wait times to run Zaps, and only 3 premium apps total. 

You can check out Zapier’s site for a full list of premium apps, but know that it includes some popular software like Shopify, Salesforce, and PayPal. 

The starter plan can be great for an individual builder who’s just getting started, but if you’re looking to extensively automate your work, you’ll probably need to consider the Professional plan.

Pro plan: build advanced automated workflows for under $75/mo

At just under $75/mo, the pro plan unlocks unlimited premium apps, conditional logic in your Zaps, and 2,000 tasks each month. Your Zaps will also run every 2 minutes

For a solo builder, this will be everything you’ll need to build any automation you want. But for good collaboration features, you’ll need to check out the Team plan, or the Company plan.

Team and company plans: automate your organization starting at $100/mo

The team and company plans, which start at just over $100/mo, offer shared workspaces, shared app connections, a 1-minute wait time to run Zaps, and several other advanced features.

How “Tasks” Work in Zapier

Since it’s an important part of every Zapier plan, we want to take a moment to explain what “tasks” are in Zapier and how they impact your pricing. 

You can read this page from Zapier’s help docs for more detail, but here’s the gist of it: 

Most successful automated actions count as one task. Zapier’s formatter steps and paths don’t count as tasks, and neither do triggers. 

So finding a file in Google Drive to launch a Zap does not consume a task, but sending a message in Slack does consume a task.

You can add more tasks to any of your paid plans for an additional monthly charge. Just open up Zapier’s pricing page and select the amount of tasks you want to see how it affects the price.

Note that while tasks are tracked and limited in every Zapier plan, there is no charge for the data being sent. Other automation providers often limit the amount of data you can process, making Zapier a good choice for automating tasks involving large files and data sets. 

What plan do you need to automate your work with Zapier?

Ultimately, if you’re just getting started with Zapier, you can use the free plan to follow along with this tutorial. Then, if you’d like to explore Zapier further, you can try out the starter plan. But there’s really no need to jump to the Pro Plan until you’re already using several Zaps to automate your daily work.

Alternatives to Zapier

With its unmatched and growing library of about 7,000 integrations, its easy-to-use visual editor, and its versatile extra features, Zapier is a popular choice for no-code builders. 

However, it’s not the only no-code automation provider available, and its high price tag won’t fit everyone’s budget. 

If you’re looking for an alternative to Zapier, you’ll want to consider these options.

Make: advanced no-code and low-code automation at a budget-friendly price

Make, formerly known as Integromat, has fewer integrations than Zapier, but still boasts support for over 1,500 popular web apps. 

An automation in Make

It likely won’t be as intuitive as Zapier for pure no-coders, but Make is arguably easier to use for users with some technical background. There’s a little less abstraction, and you’ll get more direct control over your workflows in Make. 

However, you won’t find as many extras like Canvas, Interfaces, or Tables. However, Make has recently added a new AI builder similar to Zapier’s. 

You can learn more about Make in our Make beginner’s guide

Power Automate: workflow automation by Microsoft

If you’re a Microsoft Office power user, or if your organization is already fully onboard with Microsoft apps, then you’ll probably want to check out Power Automate

An automation in Power Automate

Built by Microsoft, Power Automate includes lots of features for integrating neatly with their other software. 

You can check out our Power Automate beginner’s guide to learn more and get started. 

Discover what you can automate in your everyday software with XRay.Tools

If you’d like to explore which automation providers support the apps you use every day, just go to XRay.Tools and search for your software. 

We’ve indexed Zapier, Make, Power Automate, Workato, Bardeen, and N8N so you can compare top automation providers in one place, triggers to triggers, and actions to actions. 

Automate your organization’s workflows with an XRay Membership

While software like Zapier, Make, and Power Automate is easily accessible to any no-code builder, creating workflows that support your entire team or organization can be a difficult task for anyone. 

If you’d like to automate your company’s work at scale, a Chief Workflow Officer Membership from XRay will be the better strategic choice. With a CWO membership, we design and build automations with your team’s input, so you can just focus on getting your work done faster than ever. 

For approximately the cost of a senior employee’s salary each year, you can amplify the output of your entire team. 

You can learn more about XRay’s Membership options or schedule a free discovery call on our services page

Get hourly support for your automations with LowCodeEngineers

If you’re looking for short-term help with automation instead, you should check out LowCodeEngineers.

LowCodeEngineers is XRay’s solution for quickly connecting small businesses and freelancers to vetted automation experts.

Through this platform you can schedule remote calls for low-code support billed on a convenient hourly basis. 

Automate your daily work with Zapier today

With its easy-to-use interface and massive library of integrations, Zapier makes it simple for anyone to start automating the apps they use every day. Build on what you learned in this beginner’s guide and try creating your own automated workflows. 

If you’d like to see more automation tutorials and beginner’s guides, be sure to check out our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Tutorial
March 4, 2024
How to Pass Data between Zapier and Make with Webhooks

When you’re building no-code automations, you often need to use multiple providers to support a single workflow. 

But even as your automations move from Zapier to Make and back again, you need to make sure that your data stays consistent. 

That’s why in this post, we’re going to show you how to easily send data between Zapier and Make automations using webhooks or an intermediary database. 

We’ll begin by demonstrating how to send data from a Zapier automation to a scenario in Make, formerly known as Integromat. Then, we’ll show you the same thing in reverse - we’ll send data from a Make scenario to a Zap. 

Finally, we’ll quickly demonstrate how you can use an app like Airtable as an intermediary database to move data between different automation providers. 

To follow along, just open up Zapier and Make, and pick any apps that you want to test out. In our examples, we’ll use Airtable and Slack, but you can choose any software you’d like. 

Sending data from Zapier to Make with a Webhooks step

We’ll start with a brief overview of how to send data from Zapier to Make with webhooks. Then, we’ll explain each step in detail. 

1. Open or create a Zap with at least a trigger step. 

2. Add a “Webhooks by Zapier” step. Choose “POST” as the event. 

3. Create a new Make scenario, and choose “Webhooks” as the trigger.

4. Add a new webhook, and copy it to your clipboard. 

5. Paste the webhook URL into your Zapier “Webhooks” step. 

6. Configure the data you want to send to Make as key-value pairs. 

7. Test the automations by running your Make scenario, then testing your Zapier step. 

8. Review the data in Make, and add automated steps that use data from the webhooks trigger. 

Open or create a Zap and add a Webhooks step

To begin, open an existing Zap or create a new one. 

Your Zap needs to at least have a trigger with some test data loaded in. However, your trigger can be in any app that you’d like to use. 

In our example, we’ve retrieved a record from Airtable using a “New Record in View” trigger. 

a trigger in Zapier with test data

Once your trigger is all set, add a new step to your Zap, and choose “Webhooks by Zapier” as the app. 

adding a "webhooks by Zapier" step to a Zap

Note: “Webhooks by Zapier” is a premium app, meaning that you won’t have access to it on Zapier’s free plan. If you’re using the starter plan, you’ll be limited to 3 premium apps. 

After adding the Webhooks step, choose an event.

choosing a POST method for a Webhooks by Zapier step

The options you see here represent methods that you find in an API call. “GET” is used to search for data; “POST” is used to create data; and “PUT” is used to create or update data. 

Choose POST to send data from Zapier to Make.

Get a URL for your webhook

After choosing your event, you can configure your webhook step. 

Webhooks steps require a URL

The first field you need to fill in is the URL. This is the URL you’ll send data to with your webhook. 

To generate and copy this URL, switch over to Make.

In Make, create a new scenario. For the trigger, search for the “Webhooks” app. 

Adding a Webhooks step to Make

Then, choose “Custom Webhook”. 

choosing a "Custom Webhook" trigger in Make

In your webhooks trigger, you can either choose an existing hook to use for your automation or create a new one.

add a new webhook in Make

Click on “Add” to create a new webhook. Give it a unique, descriptive name and save it. 

Naming and saving your webhook

Your new webhook will instantly begin listening for incoming data, but you’ll need to configure your Zapier webhook step before you can send data over. 

Click on the button to copy the URL to your clipboard, then return to Zapier. 

copying the webhook URL to your clipboard

Configure your webhook step in Zapier

Back in Zapier, paste the URL you copied into the URL field. 

Paste the webhook URL into the Zapier Webhooks step

The “Payload Type” will default to “form”, which is what we’d recommend using. You can also use JSON and other formats, but “form” is easiest to work with in Zapier and Make. 

choosing "form" as the payload type in Zapier

Add data as key-value pairs to your webhook step

Under the “Data” section, you can create key-value pairs for each piece of data you want to send over to Make. Initially, Zapier only gives you one blank key-value pair, but you can add more by clicking on the plus button. 

Key-value pairs in the Zapier webhook

The first field in the pair is the “key”, which is essentially the label for the data you want to send. For instance, this might be “Name”. 

The second field is the “value”, which is the actual data you want to send. For example, this would be the company name itself, like “Erin’s Flowers”. 

Add key-value pairs to your webhook

When Make receives this webhook from Zapier, it will process the data with the labels you provide here, so be sure to give them brief, descriptive labels. 

You can add as many key-value pairs as you’d like here by just clicking on the plus button. In our example, we’ll also add data for “Project Manager” and “Status”. 

A Zapier webhook step with several key-value pairs

Note that Zapier will handle URL encoding for you, meaning that you don’t need to worry about punctuation and special characters, like the apostrophe in “Erin’s Flowers”. 

Once you’ve added all the key-value pairs you want, your webhook is all set. You can leave all of the other settings to their defaults. 

Next, it’s time to test what you’ve built and send some data from Zapier to Make. 

Testing your connection between Zapier and Make

Testing the webhook that bridges your two automations will require switching back and forth between Make and Zapier, so you may want to open them up side-by-side on your desktop. 

Open up the Make scenario you created earlier. 

To make sure that it’s listening for incoming data, run the scenario by clicking on “Run once”. 

Testing a webhook trigger in scenario

Then, switch back to Zapier and test your Webhooks step.

Testing a webhooks step in Zapier to send a request

Make should instantly receive data from the test. Click on the number over your Make trigger to review the “bundle” it retrieved. 

reviewing data received by the webhook in Make

You should see all the information from your key-value pairs, with the labels and data that you configured in Zapier. 

You can now use this data just like you would use variables retrieved from any app in Make. 

For example, we’ll add a Slack step to the scenario that sends a message to our Tutorials channel with an alert about a new lead. We’ll just include the lead’s company name in the message. 

Using data from the webhooks trigger in subsequent Make steps

After adding any steps you’d like to include in your scenario, make sure to give the whole workflow a test. 

Click on “Run once” in Make, then “Retest step” in Zapier. 

Then, open up any relevant apps to confirm that your data was sent correctly. When we open up Slack, we can see the message we sent. 

Testing the scenario to confirm that the webhook sent data correctly

Sending data from Zapier to Make with a single lookup ID

As an alternative to creating a separate key-value pair for each data point, you could use a webhook to send a unique ID for the record in question. 

Then, your second automation can use the ID to look up the relevant record and retrieve all of its data at once. 

This method will require an additional search step in your automation, and will be slower than an instant webhook-based automation. It also requires you to use an app like Airtable that associates each record or object with a unique ID that can be retrieved by Zapier. While most apps do use IDs like this, they won’t always be very easy to find with Zapier. 

Conversely, it’s easier to maintain and update automations built with this technique, since there’s only a single piece of data being sent. Additionally, it can be a bit more secure to avoid sending each data point individually to a webhook. 

Updating your automations to use a lookup ID

Note: we’re going to demonstrate a lookup with Airtable. This process will work with many other apps, but the exact variables and their names will be different. 

Using a lookup ID instead of several key-value pairs is a simple change. 

Open Zapier, and edit your Webhooks step. 

Editing a Webhooks Action in Zapier

Remove all of your key-value pairs except for one. In this pair, enter “Record ID” as the key, and enter the record ID retrieved by Zapier in the value field. 

Removing all key-value pairs from the Zapier webhooks step and replacing them with one pair for Record ID

Test the automation once again using the same approach as before. Click “Run once” to ensure that the Make scenario’s webhook is listening for requests, then test your Zapier automation. 

Testing to send the Record ID from Zapier to Make

After running the test, check Make to review the data your webhook trigger received. You should see a single piece of data – the Record ID sent by Zapier. 

reviewing the data received by Make from Zapier

Adding a lookup step to Make

Add a new step to your Make automation to find the record or object by its ID after the trigger (and before the Slack step). Add a step and choose the app you want to perform a lookup in. 

We’ll choose Airtable as our app and select “Get a Record” as the event. If you’re using a different app, you’ll still likely use a “Get” or “Find” event. 

Adding an Airtable "Get a Record" step to Make

Configure the step to search for the record or object in the correct location. For Airtable, that means we need to identify the base and table, and use the ID retrieved in the Webhooks trigger. 

Searching for an Airtable record by its ID in Make

Test the step to load in some data. You’ll have to copy and paste the record or object ID manually for the test. 

Manually entering a record ID to retrieve test data for the "Get a Record" module

If you examine the lookup step’s data, you should see all of the information from the record that was retrieved. 

Finally, update any subsequent modules to use data from the lookup step rather than using data from the trigger, which is no longer present. 

Configuring a "Send channel Message in Slack" module in make with data retrieved in the webhook trigger

Test the entire workflow again to confirm that it all works. Run the Make scenario, then test the Zap. 

Check that all of the steps after your lookup worked correctly. In our example, a Slack message was sent successfully, so our automation is all set. 

The test message sent in Slack

Sending data from Make to Zapier

Now let’s cover how the same process works in reverse, and explore sending data from Make to Zapier with Webhooks. It’s ultimately pretty similar to sending data in the other way, so we won’t go into quite as much detail. 

1. Open or create a Make scenario with at least a trigger step. 

2. Add an “HTTP” step, and choose “POST” as the event. 

3. Create a new Make scenario, and choose “Make a request” as the event.

4. Create a new Zap with a “Webhooks by Zapier” trigger. Set the event to “Catch a Hook”.

5. Copy the provided URL and paste it into your Make HTTP request. 

6. Set your HTTP request method to “POST”, and choose “multipart/form-data” as the body type. 

7. Configure the data you want to send to Zapier as key-value pairs. 

8. Test the automations by running your Make scenario, then testing your Zapier webhooks trigger. 

9. Review the data in Zapier, and add automated steps that use data from the webhooks trigger. 

Add an HTTP step to a Make scenario

Begin with a scenario in Make. Your scenario should have a trigger that you’ve already tested and loaded data into. 

A "Watch Records" Airtable trigger in Make

Add a new module to the Make scenario, and choose “HTTP” as the app (NOT webhooks). 

Adding an HTTP module to Make to send a request to a webhook

Select “Make a request” as the event. 

Choosing "Make a Request" as the event in an HTTP module

To configure the request, you’ll need a URL to send the request to, which you can generate in Zapier

Create a webhook trigger in Zapier

In Zapier, create a new Zap. Choose “Webhooks by Zapier” as your trigger, and select “Catch hook” as the event. 

Creating a webhook trigger in Zapier

Click “Continue”. In the test window, a URL will be generated for this webhook. Copy it to your clipboard. 

Configure your HTTP request in Make

Go back to your Make scenario, and paste the URL into the URL field. 

In the “Method” dropdown, select “POST”, and set the body type to “multipart/form-data”. 

Choosing "Form data" as the body type

For each piece of data you want to send from Make to Zapier, you’ll need to add an item under the “Fields” section. 

Adding items to the HTTP request in Make to make key-value pairs

For each item, set the type to “Text”. Then, provide a label for the data in the “Key” field, and the data itself in the “Value” field. Like Zapier, Make will handle URL encoding for punctuation. 

Adding key-value pairs to the HTTP request

Once you’ve finished adding all the data you want to send as key-value pairs, click “OK” to save and close the module. 

Then, test the scenario to send a request to your Zapier webhook. 

testing the Make scenario to send an HTTP request to the Zapier webhook

Finish your test in Zapier

Go back to Zapier, and test your webhook trigger. 

Testing the webhooks trigger in Zapier to see incoming requests

You should see the test data that you sent from Make. 

[test data]

You can now add steps to your Zap that use the data retrieved in the webhook trigger. 

Using a Record ID instead of several key-value pairs

Just like with Zapier, you can use a single key-value pair containing a record ID instead of sending each individual piece of data. Just be sure to include an additional lookup step in your Zap as well. 

Note that should also add a Record ID field to Airtable, because it will make it much easier to search for a matching record by its ID in Zapier.

You can use the RECORD_ID() formula to display the ID of each record. 

Adding a "Record ID" formula to Airtable for an easy lookup in Zapier

Operational databases: an alternative to webhooks 

In addition to using webhooks, there are some other ways to run sequential automations in Zapier and Make. 

For instance, you could also create an operational database. This is a database that stores and manages data for all your automations.

With an Operational Database, you could use Zapier to start a workflow, and drop some data off in Airtable. 

Sending data to an operational database (ODb)

Then, Airtable would trigger a Make automation to run that uses the same data. 

Retrieving data from an operational database (ODb)

That way, the Make automation can reference the data created or updated by Zapier without needing to involve webhooks at all. 

Adding data retrieved from an operational database to another automated action

And of course, you could switch the order of the providers if you want - it would work the exact same way if you started with Make and picked things up with Zapier. 

Just like with webhooks, there are some pros and cons to this method. It’s going to be a bit slower than using instantaneous webhooks, and it could be a bit easier for your team to accidentally break the automation by editing your Airtable views. 

But on the other hand, it gives you more visibility into the process, allowing you to see the data every step of the way. You could also add a human checkpoint here, where a person would review and approve the data before allowing the automation to continue to the next step. 

Use Guardian to manage errors in all your automation providers in one spot

When dealing with multiple automation providers, you should try out Guardian by XRay. 

Guardian aggregates error emails from multiple accounts into one place making it easy to detect and manage automation errors across your accounts and your clients’ accounts. 

Guardian by XRay.Tech

Just go to guardian.xray.systems to get started. 

This is a must-have if you’re managing automations in several providers with multiple clients. 

Easily send data from one automation provider to another

With webhooks or operational databases, it’s easy to send data from one automation provider to another. You can set up a simple automated step to directly send all the data you want, send over a record ID for a quick search, or deposit data into an operational database and retrieve it with the next automation. 

No matter which approach you choose, you can seamlessly build a single workflow that spans multiple automation providers. To learn more about building automated workflows, check out our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Tutorial
February 26, 2024
Send an Automatic PDF Export of Your Google Docs with Zapier

When you’re working with Google Docs, it’s often better to send your clients and collaborators a PDF export rather than sharing a direct link to the doc. 

With Zapier, you can easily incorporate PDF exports into your automated workflows just by adding a step and picking the right variable. In this tutorial, we’ll show you how it works and go over some of your key options. 

What you may not realize is that you can use Zapier to automatically send a PDF of any Google doc by just picking the right variable. 

Exporting a link vs. exporting a file

Before we begin, it’s important to note that you have a key choice when sharing a Google Docs PDF via Zapier. 

A “Find a File” step using either Google Docs or Google Drive will be your most versatile choice. When you use a “Find” step, Zapier will return both a PDF export link, and the PDF itself. 

Note: the “New File” trigger in Google Drive and the “New Document” trigger in Google docs will provide you with the same data, as well. 

If you use a “Create a Document” step with the Google Docs Zapier integration, then you’ll be limited to an export link

When you send your PDF to another app with Zapier, some apps will require a link; others will require the file itself. 

We’ll show you how both variables work. 

Sharing a Google Docs PDF file with Zapier

When you use a Google Drive step to find a Google Doc, you can easily retrieve the PDF file, or a download link for the PDF. 

This is the most flexible option that will accommodate most use cases, so we’ll start here. 

1. Add your trigger or search step to retrieve a Google Doc

You can use either a “New File” trigger or a “Find a File” search step in Google Drive’s Zapier integration to retrieve the file. You can also use similar steps in the Google Docs integration, but we’ll demonstrate how it looks with Drive. 

a Google Drive "New file" trigger in Zapier

2. Test the trigger or search step and review the returned data. 

You should see a “File PDF” variable that will let you send a PDF export of your Google Doc. 

The 'File PDF' variable retrieved from the new file in Google Drive

There will also be a “PDF URL” or “Export Links Application PDF” variable that will let you share a link where users can download the PDF. 

The "PDF URL" variable retrieved from Google Drive

The distinction between sending the file vs. sending the download link may seem subtle, but some apps will only accept a link, while others will only accept a file. 

3. Add an automated action to send your PDF to another app

You can now send your PDF link or file to nearly any app that’s supported by Zapier, such as GMail or Slack. 

For instance, if you’re sending the PDF in an email, you can insert the download link into the body of your email.

The "PDF URL" variable inserted into an email body

You can also add either the file or the link to the email as an attachment.

the "File PDF" variable attached to an email

When a user clicks on the download link the email, the file will immediately begin downloading. 

Instantly downloading a PDF from the provided link

Note: the link appears as an attachment as well in Gmail since Gmail will scan the email for links and include them in the “attachments” section. Clicking on the link in the body or the attachments section will produce the same results. 

When they select the attached file, they’ll be able to view the PDF in their browser and download it if they wish. 

The PDF attachment being viewed in the user's browser

Bonus tip: Embedding a link in text

If you’d like to embed your download link into your message text:

1. Change the email body type to HTML. 

Changing the email body type to HTML

2. Use an HTML link tag to embed your link into some text, using this format:

<a href=”url”>Text to embed link in</a>

Hyperlinking text with HTML

Make sure to include other appropriate tags, like line breaks (<br>). 

When the email is sent, the recipient will see the hyperlinked text instead of the full URL in the email body. 

Hyperlinked text in an email

You can learn more about HTML tags on W3Schools.

Exporting a Google Docs PDF download link with Zapier

If you’re using a “Google Docs: Create a Document” step in Zapier, you can only retrieve a PDF download link from the newly created document. You won’t be able to access a variable for the PDF itself. 

However, this may still be a preferable option in some use cases, since it won’t require an additional step just to find the doc.

1. Add a “Create a Document” step with Google Docs.

Configuring a Google Docs "Create Document" step in Zapier

2. Test the step and review the test data. 

The "Export Links Application Pdf" variable retrieved from Google Docs

With the “Create a Document” step, you’ll only have an “Export Links Application PDF variable”, which is a download link for the PDF. 

3. Add a step to send the PDF download link to another app

You can send the PDF link in any app you’d like. If you send it a field that supports HTML, you can embed the link into text using an HTML link tag. 

Inserting the "Export Links Application PDF" variable into an email

Automatically send your Google Docs PDFs anywhere

With Zapier, it’s easy to automatically get a PDF for a Google Doc and send it to anyone. Just pick the right variable from the list, and you’ll be good to go. 

If you’d like to see more automation tips, tutorials, and beginner’s guides, check out our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Tutorial
February 19, 2024
Power Automate Beginner's Guide: 2024

Is your to-do list getting a little too long? Are you tired of wasting your time with dull, repetitive tasks? Thankfully, there’s a simple solution to these common problems. With no-code automation, anyone can start removing tedious work from their daily schedules.

In this post, we’re going to show you everything you need to know to get started with an automation provider that’s perfect for anyone already using Microsoft apps at work: Microsoft’s Power Automate.

We’ll introduce you to Power Automate, explain what it does, and show you how it works. We’ll walk you through the process of building your first automation, or “flow” in Power Automate step by step. 

In our example flow, we’ll connect OneDrive to Slack for simple alerts, so you can see how the platform works firsthand. 

Finally, we’ll go over some pricing info and briefly explore what distinguishes Power Automate from other automation providers, like Zapier and Make. 

What is Power Automate, and what is no-code automation?

First, let’s cover the basics of Power Automate. 

Power Automate is a no-code automation provider developed by Microsoft. Power Automate supports Microsoft’s popular suite of business software, as well as hundreds of other cloud-based apps. 

Tip: You can see a complete, indexed list of every app that Power Automate supports on XRay.Tools. You can also see which apps have integrations in other automation providers like Zapier, Make, and N8N. 

Every automated flow in Power Automate runs whenever its specific triggering event occurs. There are a few different trigger types you can use:

• App triggers: These triggers will launch an automation whenever a specific event occurs in a designated app. Example: Create a message in Microsoft Teams whenever there’s a new file created in a specific OneDrive folder.

an app trigger in Power Automate

• Scheduled triggers: Launch at automation at a scheduled time. Example: Send a summary of all your tasks in Planner to your email inbox every day at 8:56 AM. 

a scheduled trigger in Power Automate

• Button triggers: Launch an automation by clicking a button. Example: Schedule a meeting in Outlook for the next available half hour at the press of a button. 

a button trigger in power automate

RPA in Power Automate

In addition to automating web apps, Power Automate also supports robotic process automation, or RPA.

desktop automation (RPA) in Power Automate

With RPA, you can automate work in your desktop applications. This can be a very useful feature, but since we’re primarily focused on web-based automation on this blog, it’s not something we’ll be covering in this video. 

Let us know in the blog feedback survey if you’d like to see a video exploring Power Automate’s RPA features. 

But for now, let’s dive into building your first automated cloud flow in Power Automate.

Build your first flow in Power Automate

Here’s the automation we’re going to show you how to build: 

Whenever a new file is created in a specific OneDrive folder, send an automated alert to a specific channel in Slack. 

Our example flow: send a message in Slack when a file is added to a OneDrive folder

Note that this automation would also work with Microsoft Teams, but your Teams account will need to be part of a company or school’s workspace; individual accounts won’t work. 

Accounts and software: what you’ll need for this automation

To build this automation, you’ll just need free accounts in:

Power Automate

OneDrive

Slack

We’d recommend using the same Microsoft account for Power Automate and OneDrive. 

1. Create a new cloud flow in Power Automate

To begin building, open up Power Automate, and create a new flow.

To start creating a new flow, you can click "Create" either in the middle of the home screen or on the left-hand sidebar. 

2 ways to create flows in Power Automate

Different flow types in Power Automate

Then, you'll see several options to choose from:

“Instant cloud flow” lets you start an automation in your web apps by pressing a button or sending data to a webhook. 

“Scheduled cloud flow” allows you to set up an automation to run at specific times, and is also designed for web apps.

“Desktop flow” is for automating tasks on desktop applications. 

And finally, “Process mining” helps you pull and analyze data from your Microsoft apps.

different flow types in Power Automate

However, for our purposes today, we’re going to use the first option: “Automated cloud flow”.

This option triggers automated actions in any web app when a certain event happens in another web app. 

Click "Automated cloud flow" to create your new flow. 

Name your new flow

Naming a flow in Power Automate

Next, you need to name your flow. Make sure the name is brief but descriptive. For instance, we’ll title our example “Slack Alerts for New OneDrive Files”

As you start building more automations, you’ll want to make sure you can easily keep track of each flow and what it does. 

After entering a name, you can pick the app and event that start the flow. 

2. Add a trigger to your flow 

Look up the app you're using – in this case, OneDrive – and find a trigger that fits what you need. For this automation, select "When a file is created (properties only)".

Choosing a trigger in Power Automate

If you're not sure which trigger is best, you can do a quick Google search for more info, or just try using a trigger and see what data it gives you. 

After choosing your trigger, click "Create." 

Creating a new flow in Power Automate

Then, you'll need to authorize Power Automate to use your information by signing into your trigger app, like OneDrive, and giving Power Automate permission to access it.

Authorizing Power Automate to use an app like OneDrive

Configure your flow’s trigger

Now, you need to configure your trigger. 

Configuration typically requires specifying the exact folder, document, or other location that the trigger needs to monitor. 

For this OneDrive trigger, you only need to specify a folder. 

Basic options for a OneDrive trigger in Power Automate

Click on the folder icon to open up your OneDrive directory, and then pick the folder you want. 

Note that you can open a folder and look for subfolders by clicking on the arrow next to each folder’s name. 

Selecting a folder for Power Automate to watch in OneDrive

In our example, we’ll choose the "Client Proposals - Tutorial" folder. 

A OneDrive trigger with a folder selected in Power Automate

Identifying a folder is the only necessary setting for this trigger, but it’s always a good idea to explore the advanced options for any trigger before continuing.

Advanced options for the "When a File is Created (Properties Only)" OneDrive trigger in Power Automate

Under "Show advanced options”, you’ll find two additional settings: "Include subfolders" and "Number of files to return." 

Enabling the "Subfolders" option will ensure that the automation also runs when a file is added to a subfolder of your designated folder. 

The "Number" setting allows you to choose the maximum number of files to return. 

For our example, we can leave these settings to their defaults. However, these could both be very useful if you’re working with a lot of files and subfolders.

With the trigger all set, click "New step" to add an automated action to your flow. 

3. Add an automated action to your flow

Just like with your trigger, you can begin adding an automated action by searching for the app you want to use. In our example, we want to send a Slack message, so we’ll search for "Slack." 

Adding a Slack message to a flow in Power Automate

Then, pick an appropriate action from the resulting list. Since we want to send a message, "Post message" is the best match. 

Tip: Automation providers like Power Automate rely on APIs to connect to other apps. Understanding API basics and methods like POST and GET will make it much easier to automate your work!

Next, you need to sign in to authorize the app, since Power Automate requires authorization in every app it connects to. Just like with OneDrive in the trigger, you need to sign in to Slack and grant access to Power Automate. 

Authorizing Power Automate to access Slack

It's important to note that you may need to complete the authorization process twice, as Power Automate may time out while waiting for you to sign in. 

Power Automate showing an error after the first attempt to sign in to Slack

If this happens, just try again, and your connection should be successfully authorized. 

Configure your automated action

Once you're signed in, you'll see some options for configuring your automated action. Initially, only a couple of options are shown for Slack: channel name and message text, both of which are required. 

Basic options for an automated Slack message in Power Automate

To pick a channel name, click to pull up a list of all the channels in your Slack workspace. 

Picking a channel from a list in the "Post Message" module

You can also scroll down to the bottom and select “enter custom value,” which will allow you to identify a channel by its ID.

At XRay, we typically recommend using IDs to identify channels, folders, documents, or any data in automations because IDs remain constant while file names can change, which may break automations. 

However, for this tutorial, either method will work; you can pick from the list or enter the ID.

A "Post message" module with the channel chosen

Tip: to find a Slack channel’s ID, open the channel in Slack. Click on the channel’s name, and scroll down to the bottom of the window that pops up. You’ll see the channel ID there. 

Next, you can compose your message in the “Message text” section. 

Entering static text into Power Automate: composing your Slack message

In any text field in Power Automate, you can either enter text directly or retrieve “dynamic content” from an earlier step in the automation. 

A "message text" field with optional dynamic data

Dynamic content refers to data that has been retrieved, created, or updated by the automation. We’ll show you how this works as we put together this Slack message. 

We’ll start with some static text for our alert: 

“A new file has been added to the Proposals folder!

File name:”

Entering static text into a Slack message in Power Automate

This is all static text, which means it will be exactly the same every time the automation runs.

But now, we'll add some dynamic content to actually retrieve the name of the file that triggered the automation.

Working with dynamic content in your Power Automate flows

To add dynamic content, click "Add dynamic content" beneath a text field if the window isn't already open. 

Then, select the content you want to insert. We’ll choose "Display Name" to get the name of the file. 

Combining dynamic content with static text in a Slack module in Power Automate

If the file that triggered this automation is called "Document A", then the “Display name” variable will say "Document A" here in place of “Display name” when the automation runs. 

If the file is called "Document B", it will say "Document B", etc. 

Dynamic content is referred to as "dynamic" because it changes to reflect the data that triggered the automation, or the data that the automation creates or finds while running. 

You can use dynamic content to retrieve data like the name of a file, the time it was created, its contents, and other useful information. 

However, sometimes, you’ll need to combine dynamic data with custom static text to produce the value you want. 

Combining static text and dynamic content

For example, let’s say we want to add a link where we can open the document directly. We’ll go ahead and add a static label: "File link". 

A Slack module with no search results for "URL"

Then, we'll search within "dynamic content" for "link" or "url", but there aren't any results. However, there is a piece of dynamic content for “ID”.  

The "ID" option in the "Dynamic Content" window of the Power Automate slack module

If you open a document in OneDrive, you’ll see that the URL includes an ID. 

The standard URL format for a Word file in OneDrive

So even though there isn’t a specific item for “link”, we can append the ID to some static text to build the URL we need.

We’ll copy the first part of the URL—everything before the ID—and paste it into our message as static text. 

The beginning of a OneDrive URL added to the Slack module

Then, at the end of that, we'll insert dynamic content for the file ID with no spaces between the static text and dynamic content. 

Completing the OneDrive URL with a dynamic ID

This approach will create a complete OneDrive URL where our team can open and edit the file. 

Automation providers like Power Automate won’t always include the exact data points you were looking for, but you can often use what they provide to build what you need. 

Combining dynamic data with static values is a common pattern you’ll repeat as you continue to build more no-code and low-code automations. 

Note: This method will work to create a functional URL for a Word Document in OneDrive, but may not work for other file types. 

4.Configure advanced options for your automated action

With both the channel name and message text fields filled out, the only two required fields for the Slack message are complete. 

However, just like with the trigger, it's a good idea to check the advanced options for your actions to see additional useful settings before you continue. 

To access the advanced options for any automated action, click "show advanced options."

Advanced options for sending Slack messages with Power Automate

For Slack messages, “advanced options” reveals several more settings. While we won't go into detail about all of them, there are a few worth highlighting. 

For instance, there’s "Bot Name." This lets you give your bot a unique name in Slack, instead of it just being identified as Power Automate.

This is useful for giving context for different automations that are sending alerts or messages. 

For this automation, we’ll give our bot the name "OneDrive Bot."

Naming the Slack bot

“Slack markup parsing” is enabled by default, which means you can use markdown in your message, and Slack will format it accordingly. 

To demonstrate how this works, we'll add asterisks around the display name to make it bold. 

Adding markdown to the Slack message and setting "Unfurl" options to "No"

A couple other settings to consider are "Unfurl links" and "Unfurl media," which we'll set to "no" to avoid having the message take up too much space.

Additionally, you can customize the appearance of your bot message with "Icon URL" or "Icon Emoji." We'll add a :file_folder: emoji to give our message a unique look. 

Adding an icon emoji to the Slack message

5. Test your automated flow

Once your message and settings are all set, you can click “Save” to save your choices.

After saving, a green banner will appear at the top of the screen recommending that you test this flow.

To test your automation, click on 'Test' in the top right corner. 

Begin testing an automation in Power Automate

You’ll have the option to choose between testing "manually" or "automatically." 

Based on our experience, manual tests tend to be more reliable, and you’ll often be required to conduct a manual test before the option for an automatic test will be available. 

As such, you’ll likely want (or need) to run a manual test first. 

After selecting “manually”, click "Test." 

Testing manually

To perform a manual test, you’ll need to fulfill the trigger condition that launches your flow. In this case, that means actually adding a file to your designated OneDrive folder. 

Creating a file in OneDrive to trigger the manual test

To confirm that the automation ran as expected, check Slack for a new message. 

The successful test has produced an automated Slack message

In our test, pictured above, the automation ran successfully. The file name is bolded, and there’s a link to open and edit it. Clicking on the link confirms that the correct URL has been created using static text and dynamic content. 

The link in the Slack message leads to the correct document

Since this is a manual test, you’ll have to add a new file to the OneDrive folder designated in your automation.

Running a live test

The manual test confirms that the automation is set up correctly, but it’s always a good idea to run a live test as well. 

With a live test, you’ll see how the automation will perform as it’s really used going forward, which can be a little different from your manual tests. 

To conduct a live test, just fulfill the trigger condition again. You don’t need to click on “test” or any other menu option first. 

Adding a file to OneDrive to trigger a live test

However, after adding another file to your OneDrive folder, you won’t see a new Slack message immediately. On the free plan, Power Automate takes up to 15 minutes between each run. 

Grab a sandwich or work on something else for a bit, and check back later. 

The live test produces another Slack message

After 15 minutes, you should see a new message in Slack that links to your latest file in OneDrive. 

With your automation fully tested, save your work and click on the arrow in the top left to exit the flow builder. 

6. Add an action to instantly alert you to errors

Finally, there’s one more action to add to the automation before it’s complete. 

While it’s not strictly necessary, we’d recommend including a step in the automation that will immediately alert you if your flow encounters an error. 

By default, Power Automate will send error warnings to the email attached to your account. However, these warnings don’t get sent very often. It appears that Power Automate only sends out one email each week for your errors, and all of your errors will be consolidated within a single email. 

For important automations and steps, you’ll want to know immediately if they aren’t running correctly. 

Save and exit before adding an error notification step

It’s critical to make sure that you have saved the flow and exited it at least once by clicking on the arrow in the top left of the flow builder. 

How to save and exit a new flow to update its URL

Otherwise, the flow’s URL will be a unique URL designed to create a new flow, rather than a URL that points to your specific automation. 

To build an effective error notification, you’ll need to reference the automation’s URL, so make sure to save and exit your flow if you haven’t done so already. 

Adding an error notification step

To set up an error alert for any step in an automated flow, begin by editing the flow from your “flows” menu. 

Add a step after the action you want to receive alerts about. In our example, we’ll add the step after the Slack message. 

adding a new step to the flow

Search for “Notifications” as the action. 

Adding an email notification to the flow

Then, choose whether you want Mobile or email notifications. For this example, we’ll use Email. This will send a message to the email address that’s associated with your Power Automate account. 

Next, you can configure the conditions the notification will be sent for. 

Click on the three dots menu, and select “configure run after”.

Where to find "configure run after" in a Power Automate notification step

Then, choose when the notification will be sent. You can choose to send it when the selected step has: Succeeded, Failed, been Skipped, or Timed out.

In our example, we’ll select “failed” and “timed out”. 

Configuring when the notification will be sent

Click “Done” to commit your choices. 

Next, you’ll need to compose the subject and body of the message that gets sent. 

For the subject in our example, we’ll write ‘Your “Slack Alerts for New OneDrive Files” flow has encountered an error.’

Then, in the body, we’d recommend including a brief message and a link to the automation so you can easily open it and investigate the error.  

Configuring the notification text with a link to the flow

You can use HTML link tags like this to reference the flow’s URL: 

<a href=”url”>link text</a>

With your message configured, you can save your flow again. 

You’ll now receive instant alerts when your Slack step doesn’t run correctly, instead of needing to wait for Power Automate’s default emails. 

With your error notification set up, you’ve built your first flow in Power Automate and are all set to start using it to automate your work. 

Manage errors in several automation providers with Guardian by XRay

If you’re currently a Zapier or Make power user, and want to add Power Automate to your stack, you should check out Guardian by XRay. 

The Guardian website's homepage

Guardian will aggregate all of the error alerts you receive from all of your automation providers in one place so you don’t lose track of any bugs. 

It also gives you a convenient portal where you and your team can collaborate to discuss errors and fix them.

Just go to guardian.xray.systems to get started.

Other features in Power Automate

Next, we’d like to briefly cover a few of the other interface items and features that can be helpful as you’re using Power Automate. 

My flows

Click here to see a list of every flow you’ve built. Hover over any of them to see more options, like editing the flow or turning it off. 

Manage and turn off flows from the "My flows" menu

Cloud flow activity

Click on “more” in the left hand sidebar to reveal this option. 

View your cloud flow activity in Power Automate

If you select “Cloud flow activity”, you’ll be able to view all of your web-based automation activity in one spot. This can be a great way to see what your automations are doing at a glance. 

Connections

“Connections” can also be found in the “More” sub-menu. 

Under “Connections”, you can view and manage all of the apps that you’ve connected to Power Automate. 

View all of your connections in Power Automate

If Power Automate is having issues accessing any of your connections, you’ll be able to see that here. You can also share and delete connections here, or update your connections to use different credentials. 

Templates

If you click on Templates, you’ll see an extensive library of automation templates created by Microsoft’s team and regular Power Automate users. 

Use templates to start quickly building automations in Power Automate

These templates can be a good source of inspiration and are an easy way to start building a new flow. 

Learn

Clicking on “Learn” will open up a new tab with lots of documentation and training material for Power Automate. 

Learn more about Power Automate with Microsoft's extensive documentation

With these docs, you can learn how to create new flows and discover every technical detail of the platform. 

Approvals, Process Mining, and AI Hub

These three options – Approvals, Process Mining, and AI hub – are all advanced features that require a premium account to access. 

Similarly, “Desktop flow activity” requires a professional or educational workspace, and won’t be available on a personal account. 

Finally, “Power Platform” will take you to software for business intelligence, app development, and app connectivity.

Access advanced features like Power Platform with premium plans

These can all be valuable tools for enterprise teams, but they’re very much beyond the scope of what you’ll be doing as a beginner in Power Automate. 

Power Automate’s Pricing

There are a few different pricing plans available for Power Automate which can suit various budgets and use cases. 

To learn more about Power Automate’s pricing, you can take a look at this page on their website. 

To see a complete list of “Premium Connectors” (i.e., the apps that are supported by Power Automate), view the documentation page here. 

Power Automate Free Plan

Cost: Free

Features: Build basic cloud flows. Limited to “Standard connectors” only. 

Note: By creating an account  with Power Automate, you will automatically start with this free plan. 

Power Automate Premium

Cost: $15/user/month

Features: Premium Connectors, Desktop automation (RPA), Process Mining, AI builder

Power Automate Process

Cost: $150 per bot per month

Features: Run an unattended desktop flow with unlimited users

Power Automate pricing overview

Both paid plans also offer add-ons for hosted RPA, AI builder, and process mining.

For enterprise users, we’d recommend reaching out directly to Microsoft to learn more and discuss your needs.

What sets Power automate apart

Power Automate is not your only option for building no-code automations. 

There are many different providers available, with Zapier being the industry leader and Make being another good alternative. 

Let’s take a quick look at how Power Automate stacks up to the competition. 

Advantages of Power Automate

Power Automate has several advantages, especially for users who are already invested in Microsoft's ecosystem. 

It’s better suited for Microsoft's own applications and is more specifically tailored to enterprise use cases. 

In comparison, Zapier and Make are more naturally suited to small businesses. Without a team like XRay building and managing your automations for you, it can be difficult to use these providers in an enterprise environment. 

Power Automate also offers desktop automation and process mining capabilities in addition to cloud flows.

These features aren’t available at all in Zapier or Make, which are focused entirely on automating cloud software.

Disadvantages of Power Automate

However, Power Automate also has its cons.  It has fewer integrations than the competition and is not as easy to use. 

Zapier and Make feature intuitive drag-and-drop interfaces for building your automations, and Zapier keeps adding additional tools to make it easier than ever to create automated workflows.

For instance, you can start building Zaps or even create custom automated actions by just writing out a quick AI prompt. In contrast, Power Automate’s builder interface is limited to more basic functionality. 

Choosing the right automation provider

Ultimately, if your team is already heavily invested in the Microsoft ecosystem, Power Automate will be a natural choice due to its features tailored for Microsoft applications. 

Just be sure to enter all of your apps into XRay.Tools before you start building to see if Power Automate supports them all. If not, you can also try out Zapier or Make

Automate your team’s work with no code required

Automating your company’s work doesn’t require any code or custom software. With automation providers like Power Automate, you can eliminate tedious chores from your to-do list in a matter of minutes. 

Try it out today and start creating more time for yourself and your team. 

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

Understanding Automation
February 12, 2024
5 Great Flowcharting Apps for Designing Automations and More

Whether you’re planning an automation or just trying to document a process at work, flowcharts are an indispensable tool for workflow design. 

In this post, we’re going to share 5 flowcharting apps (and 1 bonus utility) that you can use to start mapping your workflows right now. 

These apps range from free tools for casual presentations to robust, enterprise-grade software and solutions, so there’s something here for every use case. 

1. Lucidchart: Enterprise-ready technical diagrams

Lucidchart is a powerful flowcharting app that’s great for knowledge workers in any industry. Through its easy-to-use web app, you can access an extensive library of chart elements, including common standards BPMN. 

In addition to creating detailed technical diagrams with a diverse array of shapes and elements, Lucidchart also enables you to leave notes and comments for your team. 

A collaborative diagram in Lucidchart

Lucidchart also features several integrations with popular software from Google, Microsoft, and Atalassian, making it easy to quickly create charts out of the data you have in other apps.

The main drawbacks of Lucidchart are that its free plan is limited to only 3 documents, and it comes with a relatively high learning curve. It won’t be the most intuitive choice for users without significant experience in creating flowcharts. 

Lucidchart pricing overview

Free plan limited to 3 documents, 60 shapes per doc

$8/mo for individual plan; $9/user/mo for team plan; contact sales for enterprise pricing

Lucidchart pros and cons

Pros:

• Great for creating detailed, technical flowcharts

• Extensive library of shapes, with standards like BPMN

• Integrates with popular enterprise software

Cons:

• Limited in free plan

• Relatively high learning curve

Start using Lucidchart here

View more details about Lucidchart’s pricing

2. Miro: a Lucidchart Alternative Focused on Collaboration

Miro offers similar features to Lucidchart, but places a greater focus on collaboration. In addition to flowchart features, Miro provides tools for brainstorming, whiteboarding and more. 

On paid plans, Miro includes useful interactive features like timers, voting, and video chat. 

Collaborative concept map in Miro

Like Lucidchart, Miro also includes an extensive list of integrations with popular software, allowing you to connect with Zoom, Slack, Google Drive, and hundreds of other apps. 

If you’re looking for a tool primarily to build flowcharts, then Miro’s free and starter plans may fall short. You’ll have to spring for the business plan to unlock shape libraries like BPMN. 

However, if you’re looking for a tool that enables remote workshops and planning sessions, then Miro will be a great choice. 

Miro pricing overview

Free plan limited to 3 boards

$8/mo for Starter plan; $16/user/mo for business; 

Miro pros and cons

Pros

• Great collaboration features

• Flowchart features comparable to Lucidchart on business plan

• Many integrations with popular apps

Cons

Limited flowchart options on Free and Starter plans

Start using Miro here

View more details about Miro’s pricing here

3. Draw.io or Diagrams.net: Free, No-frills Flowcharts

Diagrams.net offers a robust tool for building flowcharts with common standards like BPMN, but unlike Miro or Lucidchart, this app is completely free to use. 

However, don’t expect to find the same sort of integrations or collaboration features that you’d find in other software. Diagrams.net gives you an excellent flowchart builder, but that’s pretty much it. 

A BPMN diagram in Diagrams.net/Draw.io

All of your docs can either be saved locally or in cloud storage apps like Google Drive or OneDrive, but there are no features for managing teams or access for each doc. 

If you'd like to integrate Diagrams.net with Atlassian software like Confluence or Jira, you’ll need to use the enterprise version of the app called Draw.io. There’s no detailed pricing structure disclosed, but Draw.io gives a few examples, noting that a plan for up to 20 users would cost $20/mo.  

Diagrams.net & Draw.io pricing overview

Diagrams.net is free to use

Contact Draw.io for enterprise pricing

Diagrams.net & Draw.io pros and cons

Pros

• Free plan allows for unlimited flowcharts, access to BPMN and more

• Uses your own cloud storage for easy file access

Cons

No integrations except on enterprise (Draw.io) plan

Create free flowcharts at diagrams.net

Learn more about Draw.io here

4. Zapier Canvas: Connect to Your Zaps in Your Workflow Designs

Canvas is a flowchart feature built directly into Zapier. In addition to a few simple shapes for basic flowcharts, Canvas also allows you to reference any of your Zaps, Tables, and Interfaces. 

When you reference a Zap, you’ll also be able to show every step of that Zap in your flowchart. Every reference will also include a link to open and edit the associated asset. 

A flowchart with inline Zaps, tables, and interfaces in Zapier Canvas

While it won’t have much utility for anyone who isn’t already using Zapier, Canvas has a lot of potential for Zapier power users who want to plan or document their automated workflows. 

Canvas is currently in beta, and is free with any Zapier plan. Just like Zapier Tables, we expect that Canvas will eventually come at an additional cost once the beta period is over. 

Zapier pricing overview

Free plan available

Starter: $20/mo; Professional: $50/mo; Team: $70/mo; contact sales for Enterprise pricing

Zapier Canvas pros and cons

Pros

• Plan and document workflows right alongside your Zapier automations

• Reference Zaps directly in diagrams

Cons

Little utility if you don’t use Zapier already

Start using Zapier here

Learn more about Zapier’s pricing here

Part 5 - Canva

While the other apps in this list so far have focused on technical use cases, Canva brings more aesthetic flair to the table. 

Canva is a multi-purpose, user-friendly digital design app. You can use it to design assets like slideshows, social media ads, company one-pagers, and simple flowcharts. It even includes a library of stock photos and graphics that you can use to quickly flesh out your designs. 

A simple flowchart in Canva

As a jack-of-all-trades design app, Canva offers a little bit of everything, but lacks depth in each specific area. You won’t be able to access premade BPMN libraries in Canva, and instead will have to rely on basic shapes for your flowcharts. 

Canva is best for small teams looking for a general design app, and typically won’t be a good fit for highly technical or enterprise use cases. 

Canva pricing overview

Free plan available

Canva Pro: $120/yr; Canva Team: $160/user/yr; contact sales for Enterprise pricing

Canva pros and cons

Pros

• Generous free plan with 5GB of cloud storage, library of stock photos

• Intuitive design app suits many use cases

• Affordable for small teams

Cons

Not ideal for technical diagrams

Start using Canva here

Learn more about Canva’s pricing here

Bonus: Use AI and Mermaid.js to generate simple flowcharts

Finally, let’s take a look at creating flowcharts with AI via Mermaid.js. 

Mermaid.js allows users to create charts and diagrams using simple markdown syntax. You can learn more about the syntax here to create your charts manually, but you can also use an AI chatbot like ChatGPT to draft the markdown for you. 

AI generated markdown becomes a diagram in Notion via Mermaid.js

Then, you just need to copy the text into an app that supports Mermaid diagrams, like Notion or VS Code. In Notion, just type “/mermaid” to bring up a Mermaid code block where you can render a diagram. 

If you’d like help designing a workflow, check out the Workflow Designer’s Assistant, XRay’s custom GPT designed to help anyone optimize and automate their work. Note that this assistant will require ChatGPT Plus to use. 

Mermaid pricing overview

Mermaid diagrams can be created for free using tools like ChatGPT, Notion, and VS Code

Notion

ChatGPT

VS Code

Design, plan, and document your work with these flowcharting tools

Flowcharts can help you organize your thoughts, plan an automation, or add a little visual flair to a presentation at work. There are a lot of tools out there for the job, and between the six we mentioned in this post, there’s something for every budget and use case. 

If you’d like to learn more about streamlining your everyday work, check out our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Tutorial
February 5, 2024
How to Automate Recurring Emails in Outlook with Power Automate

There’s no need to waste your time sending the same email over and over again. If there’s a reminder or a message you need to send out repeatedly, you can easily automate it in a few simple steps. 

In this post, we’ll show you how to set up automated recurring emails in Outlook or Gmail with Power Automate or Zapier. 

If you’ve never used Power Automate or Zapier before, don’t worry. These workflows are very simple, and are great ones to get started with.

Automating Outlook Emails with Power Automate

Overview

1. Access Power Automate from Outlook

2. Create a new Scheduled Flow

3. Set your automation’s frequency

4. Add a “Send an Email” step

5. Compose your scheduled email in Power Automate

6. Test your automated flow

Access Power Automate from Outlook

You can access Power Automate from Outlook by clicking on the square of dots in the top left to access more apps. 

app launcher in Outlook

From there, click on “All apps”

"all apps" option in launcher

Then, scroll down to “Power Automate”. Click on it to open up Power Automate. 

choose Power Automate from the app launcher

If this is your first time using Power Automate on this account, you’ll have to pick your region, and then click “Get started”.

Create a new “Scheduled Flow”

Click on “Create” in the middle of the screen to create a new automation from scratch.

Create a flow in Power Automate

To create an automation that runs at a designated time, pick “Scheduled cloud flow”. 

Make a scheduled cloud flow

Then, give your flow a name. 

naming a scheduled flow

Under “Run this flow”, you can choose when your automation will start running. By default, it will start running immediately, but you can delay until later if you’d like. 

Then, set how often the automation will run. It will default to running every 1 minute, but you can customize this to whatever you’d like. 

choose your flow's schedule

If you’re not sure, you can always just pick something for now and change it later. 

Once you’re all set, click on “Create” to make a new flow with these basic settings. 

Set your automation’s frequency

With the flow created, you’ll need to provide a little more detail about how often the automation will run in the “recurrence” step.

adjust recurrence settings

Your flow will already be set to run at whatever interval you specified when you created it, but can change its frequency here if you’d like, or further customize the schedule under “advanced options”.

advanced options for recurrence

For instance, you can specify the time zone, the days the automation will run, and the specific time the flow should run.

Note that you’ll need to set the hours and minutes separately for the time, and Power Automate uses a 24-hour clock. 

So 8:45 AM would be “8” for the hours and “45” for the minutes. 3:15 PM would be “15” for the hours and “15” for the minutes. 

set scheduled time

Add a “Send an Email” step to your flow

Once your “recurrence” schedule is set up, click on “New step” to add an automated action. This is where you’ll configure the email that gets sent out. 

You’ll be prompted to choose an operation. Search for the name of the app you want to automate. In this case, that will be Outlook. 

add a "send an email" step

Pick “Outlook.com” from the list of results.

search for Outlook

Next, you need to choose a specific action to perform with this app. Select “Send an email”. 

Once you’ve chosen your action, you’ll be prompted to sign in to your Outlook account to authorize it here in Power Automate. 

Sign in, then click on ‘Accept’ to allow Power Automate to view and automate your Outlook data. 

authorize Power Automate

Compose your scheduled email in Power Automate

Now, you just have to compose the email that you want to send. Fill out the “to” field, the subject, and the body with whatever you’d like. 

configure automated email

To begin with, you should make sure to send it to an email address that you have access to for easy testing. You can always change it to your actual desired recipient later. 

In the body, you can write and style text just like you would in the normal Outlook email client. For example, in the image below we’ve applied a bold style to the start time in our message. 

style text in email

If you’d like to access other options such as adding a BCC, uploading attachments, or setting a different “From” name, you can find those and more under “show advanced options”.

advanced email options

Once your email is all set, click on “save” to finalize your settings. 

Test your automated flow

When you save your configured action, you’ll see a green notification banner at the top of the flow editor encouraging you to test your automation. 

Click on “Test” in the top right to run a manual test. 

test flow

This will let you run your configured action and will actually send an email, so make sure it’s set to send to an appropriate address. 

Check “Manually”, and click on “Test”

test manually

Then, click “Run Flow” to initiate the test. 

run flow to test

Power Automate should indicate that the test was successful. You can click “done” to dismiss the message.

click "done" when finished with test

To ensure that your test ran correctly, check your inbox for the new message. 

check your inbox for your test message

Managing a flow in Power Automate

You should note that any flow with fully configured, saved steps like this one will be automatically set to “On”. 

That means it will run as scheduled every week until you update it, or turn it off. 

If you’d like to manage your flows at any time, just click on “My flows” in the left hand menu. 

Manage your flows from "my flows"

From there, you’ll see a full list of all your flows. You can hover over any of them to see several options. 

For instance, you can click on the pencil icon to edit the flow. 

Mouse over a flow to edit it

You can also click on the three dots to see more options, like “Run history” and “turn off”. 

Additional options available under three dot menu

If you’re building a test automation just to figure out how Power Automate works, you’ll probably want to turn it off so you don’t send and receive a bunch of junk messages. 

Alternative: Automate Recurring Gmail Emails in Zapier

Simple automations like this can be built in virtually any automation provider, and can use nearly any email service. Power Automate is a great choice if you’re already invested in Microsoft’s ecosystem, and if you only want to build relatively simple automations, its free plan is all you need. 

But if you’re already automating your work with another provider like Zapier, you could easily create an identical workflow there, too, and you could swap out Outlook for Gmail. 

We’ll quickly show you how that works. If you’d like to learn more details about building automations in Zapier, check out our Zapier Beginner’s Guide.

Create a “Schedule” trigger

Create a new Zap, and choose “Schedule by Zapier” as the trigger. Then, set the “Event” to your desired frequency (e.g., every week, every day, etc.)

Add a schedule trigger in Zapier

Next, identify the precise time you want the automation to run. For a weekly automation, you’ll need to pick the day of the week and the time of day for the automation to run. 

Set a day and time for your Zapier trigger

Then, run a test to retrieve a sample date that Zapier can work with. 

Test your Zapier trigger

Add an automated “Send email” step

With the trigger all set, you can add a Gmail action to send the email. Pick “Send email as the event, and sign in to Gmail. 

add an automated "Send email" step

Zapier gives you many more options upfront than Power Automate does. However, most of these are optional. The only strictly required fields are the “To” field, the subject, and the body. 

Configure automated email in Zapier

Unfortunately, there aren’t any easy ways to easily style body text in Zapier. Your only choices are plain text, or to use HTML and style everything directly using HTML tags. 

Test your Zap

Once you’ve configured your email, you can test the step in Zapier. 

test your zap

A successful test will send an email to the address you specified, and return some data about the email that was sent. 

Review test data

Just like with Power Automate, it’s best to confirm that the email was correctly sent to your inbox. 

check your inbox for your zapier test email

Publish your Zap and turn it on

Unlike your Power Automate flows, your Zaps won’t turn on by themselves. You’ll need to click on “publish”, then your Zap will be set to “On”. 

publish your Zap and turn it on

You can turn it off or on at any time just by clicking on the toggle. 

toggle Zap on or off

Building a similar automation in Make: limitations and challenges

You could also build a similar automation in Make, formerly known as Integromat, but connecting your email accounts will be a little more complicated. 

We’ve made a tutorial explaining the process for connecting your personal GMail account to Make, which is much more involved than similar automations in Power Automate or Zapier. 

And no matter what workflow you want to automate, your first stop should always be to check XRay.Tools so you can see which providers support the apps involved. With most popular apps, you’ll often see that you have several choices. Just use whichever you’re most comfortable with, or whichever one fits your budget best!

Use automation to quickly boost your productivity

Automating simple workflows like this can add up to something that’s more than the sum of its parts. 

With just a few minutes in Power Automate or Zapier, you can start each week with one quick task already checked off of your to-do list. 

So check it out today to start sending out recurring emails from Outlook, and explore the thousands of other actions you can automate. 

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

Tutorial
January 29, 2024
Respond Automatically to Leads and Clients with AI Assistant

When people are exploring your site, they want quick answers to their questions. 

With an AI assistant built in OpenAI and supported with your company’s key information, you can give your customers and leads accurate answers to critical questions in seconds. 

In this post, we’ll show you how to set it all up with an OpenAI assistant, a form, a text document, and a simple Zapier automation. 

For this tutorial, we’ll demonstrate an example automation that lets users easily interact with an AI to get a quick quote for your services. 

We’ll show you how to create an AI assistant that refers to an external document like a pricing guide, how to set up a form to gather user requests, and how to build an automation that sends those requests to the AI, and sends the final quote back to the user. 

This same basic automation can be used to automate any number of customer interactions. You could also use it to help visitors to your site determine which service is the best fit for them, or to help them troubleshoot common errors and issues. 

Whatever you’d like to build, just follow along with this tutorial to get started. 

What you’ll need to build this automation 

First, let’s quickly cover the software and accounts you’ll need for this tutorial. 

To create and upload a doc with supporting information, you’ll need an app like Google Docs or Microsoft Word. 

To gather user requests, you can use an app like Airtable, Typeform, or Google forms

To store those requests, you’ll need a database or spreadsheet app like Airtable or Google Sheets

Just to keep things simple, we’ll be using Airtable for both the database and the form, but you’re free to use any apps you’re comfortable with. 

You’ll need an OpenAI account with payment credit for API charges. To be clear, this isn’t the same thing as ChatGPT Plus. Instead of paying a $20/mo subscription, you’ll be charged a very small fee for each message sent – typically less than a cent per message. You can go to platform.openai.com to set up your account.   

Finally, you’ll need a Zapier account with a starter plan or higher. The free plan limits you to two-step Zaps, and this automation will require more than two steps. However, if you’re new to Zapier, you can always use a free trial instead to get started.

Now let’s start building our automation-supported AI assistant. 

Create a document with pricing rules or other company information

First, you’ll need to create a document that includes relevant information for building a quote, or for handling any other user request that you may want to automate. 

This document is the primary source of information that will let your AI assistant give a good answer, so make sure it’s as comprehensive as possible. 

You may already have a document like this on hand, but if not, you can create this doc in any app like Google Docs, Microsoft Word, or a similar word processor. As long as the app lets you export your doc as a PDF, it will be fine. 

Below, you can see a pricing sheet for a fictional painting company. 

It covers all of the parameters that the company will use to draft an estimate, including the total square footage, interior or exterior, the timeline for completion, and more. Once your pricing guide or other document is ready, export it as a PDF. 

In Google Docs, you can export a PDF by clicking on “File” and hovering over “Download”. Then, just select “PDF Document”. 

Create an OpenAI assistant

Next, you’ll need to create an OpenAI assistant that can calculate an estimate based on this document. 

To begin, go to platform.openai.com, and sign in to your account. You’ll need to have a payment method on file, and you’ll be charged for using OpenAI’s API. 

However, these charges will be very small. They’re based on the length of each message and the model you use, but in most cases, each message will cost less than a cent. 

Additionally, new accounts begin with a $5 API credit, so you can try it out without even spending a penny. 

Once you’re signed in and your account is set up, click on “Assistants” in the left hand menu.

Then, create a new assistant.

Give your assistant a descriptive name. In our example, we’ll call ours “Painting Estimate Assistant”. 

Configure your OpenAI assistant

To start setting up your OpenAI assistant, give it some instructions. This is where you can tell it how to behave. Be sure to describe exactly what you want the assistant to do, and what tone it should adopt. Don’t worry if you miss out on some details when you first draft your instructions, though; you can always update it later. 

We’ll start with the following directive: 

“You are a helpful assistant who gives users quick estimates for painting jobs through Smith & Son Painting and Decorating. You help them to understand what price they can expect to pay for painting based on the parameters in the attached pricing guide.

Always start your estimate by stating the total estimate, then explain how the full calculation works.

Be sure to use a friendly tone; you're speaking with customers and leads for the company you represent!”

You could copy and paste all of the pricing information here in the “instructions” field if you’d like, but we’d recommend attaching it as a separate document instead. 

Ultimately, it will make it a bit easier to update and maintain the assistant when you need to make changes to either the pricing guide or the basic instructions. 

You can just check the file name to make sure you have the most up-to-date version of the pricing guide without needing to read through all the text and look for discrepancies. 

Upload files for your assistant to reference

Next, you can upload your pricing guide or other docs to give your assistant data that will inform its answers. 

Scroll down to “Files”, and click on “Add” to upload your doc. 

Then, to make sure that the assistant can access the doc, enable “Retrieval”. 

Choose a model that supports document retrieval

Go back up to the “model” field underneath the instructions. This is where you’ll pick the exact model that the AI assistant should use. Different models will have different capabilities and pricing structures, with more advanced models typically costing a bit more. You can learn more about that on the pricing page on OpenAI’s website

For this tutorial, we’d recommend using GPT4-1106. You can also use GPT3.5 Turbo-1106 if you’d like, as both models support document retrieval. 

However, while the 3.5 model is cheaper than GPT4, we found that it was more prone to mathematical and logical errors while testing. If you want to ensure your answers are as accurate as possible, it’s probably worth it to use GPT4 instead. 

Finish configuring your assistant and test it

You don’t need any functions or code interpreting for this assistant, so you can just leave both of those fields blank. Once your assistant is configured, click on “Save”. 

With your assistant all set up, it’s time to test it out. 

To try out your assistant, just click on the three dots next to its name and select “Test in Playground”. 

This will open up a simple interface where you can view and edit your assistant’s settings on the left, and send messages on the right.

Note that sending messages through the playground will still incur charges, but as we noted earlier, these will be very low amounts. You’re likely to be charged less than a cent per message with most models and messages. 

In our example, we’ll send a simple prompt that covers all of the key parameters in our pricing guide: 

“I need to paint the exterior of a 3,000 square foot home using weather-resistant, premium paint. I need the job to be completed within a week. How much will that cost?”

Then, we’ll click run to send the message. 

When you send messages with the testing playground, you’ll have to wait a little bit for the response, and you won’t see the AI’s message being typing out one word at a time like with ChatGPT. Instead, after a few moments, your AI assistant’s response should appear in full. 

As you can see in the image above, our AI assistant has given us a thorough breakdown of the price based on the parameters outlined. 

Unfortunately, its answer does contain some inaccurate calculations, but it ultimately corrects itself and arrives at an accurate estimate based on the pricing guide. It’s not quite as elegant as we might like, and adjusting the instructions and our pricing guide would likely help to improve its answers. 

If you’d like to tweak the assistant’s behavior, you can edit its settings in the left hand panel. 

For the sake of this tutorial, we’ll leave the settings as they are. Even if the answer is a bit clunky, the assistant does consistently arrive at the correct estimate by the end of its response, and that’s fine for demonstration purposes. 

Create a form to collect user requests

Once you’ve got your assistant up and running, you’ll need to create a form where users can submit a request for a quote. Each new form submission will be sent to your OpenAI assistant via Zapier, making it easy for your users to get an AI response through a simple, familiar form interface. 

You can create your form in any number of apps. Just make sure that for whatever app you’re using, the form responses will be collected in a convenient spot. 

To make things easy, we’ll just use Airtable. 

Airtable is a versatile database app that lets users create forms out of a database, and embed those forms into any website. You can learn more about using Airtable in our Airtable beginner’s guide, or see how it stacks up to Google Sheets in our head-to-head comparison

If you’d like to follow along with Airtable as well, you can create a free account to get started

In our database pictured below, we have a table with a column for each piece of data that we’ll need, such as the total square feet, interior or exterior, and other key information. 

We’ve also included a view for new requests that haven’t received a response yet. 

Configure your form

When we create a form view, every column is converted into a label with a field for user input, except for automatically populated fields like “Created Date”. 

You can just edit these labels into simple questions for a more user-friendly experience. 

You can also remove fields from the form if you’d like. We’ll remove the “Estimate Sent” field, since that’s not something the user should fill in; instead, we’ll update that column after sending the user their quote. 

In our example, we’ll use some simple conditional logic to ensure that the question about cabinets is only visible when the user asks for an “interior” quote, while the question about protective coatings will only be visible for “exterior” jobs. 

Each field will have a default value to ensure that it has data for Zapier to retrieve, even if the user didn’t see the question in their form. 

Use your form to create test data

Once your form is all set, publish it, and copy the link where it can be accessed. If you want this form to be publicly accessible, make sure to enable that here. 

Then, open up your published form and fill it out with some test data so you’ll have something to work with as you’re building your Zap. 

When you return to your Airtable base, you should see a record with the data you just entered.

Again, you can use any form and database apps that you want. Just make sure that your form submissions will be easily accessible in something like Airtable or Google Sheets. 

Create a Zap to send form submission to your AI assistant

Now, let’s create a Zap to send your user’s form submissions to your AI assistant. 

To start, create a new Zap in Zapier. For your trigger, choose “New Record”, or an equivalent option for your app. Then, sign in to your account.

Next, pick the specific base and table you want Zapier to watch. You may also want to specify a view like “No estimate sent” to make sure that you don’t send estimates out twice for the same request. 

Once your trigger is configured, give it a test. In your test results, you should see the same record that you submitted earlier. If not, check that you’ve identified the right table, base, and view, and ensure that there’s a record in Airtable for Zapier to retrieve. 

Add a ChatGPT action to your Zap

Next, add an action, and choose ChatGPT as the app. For the event, select “Conversation with Assistant”. 

Sign in with your Open AI account. This should be the same account that you used to create the assistant. 

Now you can compose the message that will be sent to your OpenAI assistant. Make sure to use all of the relevant data from your form here, along with labels so the assistant can easily parse it.

In our example, we’ll keep it simple:

“Please provide a quote for a painting job based on the following data:”

Then, we’ll list out all of the key parameters retrieved from the form. 

Configure the automated conversation with your assistant

Once you’ve finished your message, pick the assistant you want to use from the list. If you don’t see it here, make sure that you’re using the correct account and organization. 

All of these other options visible here represent the same settings that you already saw and configured in OpenAI when setting up your assistant. 

If you leave any of these options blank, it will default to whatever the matching setting is in OpenAI. So, for instance, if you don’t select a model in Zapier, then the assistant will use the model you selected in OpenAI. 

If you leave all of these remaining settings blank, the assistant will use all of the settings you selected in OpenAI. 

However, if you want the automation to override any of those settings, then you can fill out your preferred parameters here. 

In our example, we’ll just stick with all of the options we specified in OpenAI, so we’ll leave all of these fields blank. 

Send the AI assistant an automated test message

Next, give your ChatGPT step a test. 

When you’re using AI actions in Zapier, you’ll have to wait a little longer than usual for the test to run. Once your test is complete, you can scroll down through the returned test data to find the AI’s output. 

Check the answer to ensure that it’s accurate. In our example, the final estimate offered by the assistant matches our pricing guide. 

Send the AI assistant’s answer to the user

The last two steps are to send this AI generated message to the user who submitted the request, and to update the corresponding record in Airtable to indicate that an estimate was sent. 

We’ll go over both of those quickly, since they’re pretty simple.

Send an automated email

Just add a Gmail step, or a step for any other email client that you prefer, and compose a message that includes the AI’s response. 

In your message, be sure to note that the estimate is generated by AI, and its accuracy isn’t guaranteed. Let the customer or lead know that they should reach out to you directly for more information. 

The AI’s answer is stored in a Zapier variable called “Full Response”, so be sure to include this variable in your message, as well. 

Once your message is all set, test the step. 

After you conduct a successful test, check your inbox to see the message that Zapier sent. Below, you can see the message we received after testing our step. 

Add a step to update your Airtable records

Finally, we’d recommend adding one more step to update the Airtable record that triggered the automation, indicating that the user received an AI response for their request. 

You may also want to include the text of the estimate in a “Notes” field. 

You can see our configuration for the “Update a Record” step below:

Test your Airtable step, then check your base. In our base, we can see that the checkbox in the “estimate sent” field is filled in for our test record. 

The record no longer appears in the “No estimate sent” view, and instead can be seen in the appropriate “estimate sent” view. 

Run a live test of your entire automation

Once you’re done configuring and testing each step individually, turn the automation on and publish it. 

Finally, it’s always a good idea to give everything a live test. 

In our example, we’ll fill in the form one more time. 

After a couple minutes, we receive a message in my inbox with an AI-generated quote. 

Use automation and AI to save time and create a better customer experience

With an automated AI assistant you can give your customers and leads accurate answers faster than ever before. It may take some trial and error to craft an assistant that gives perfect responses, but it’s worth it to create a better experience for your customers and to enhance your capacity to answer incoming questions. 

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

Understanding Automation
January 22, 2024
Is Your Data Secure With Zapier?

Zapier makes it easy to connect your web apps together and automate your tedious work.

But does that convenience come at a cost? Does Zapier’s security live up to the standards that your company needs, and is it HIPAA compliant?

In this post, we’re going to explain why Zapier is safe to use, as long as you take the same reasonable precautions that you would with any other web app.

And at the end of this article, we’ll explore the most stringent of security standards – HIPAA – and see if Zapier can adhere to those regulations. 

Why Zapier needs to access your apps

First, let’s take a look at how Zapier works, and why it needs permissions that might initially make some users uneasy.

As an automation provider, Zapier’s main purpose is to connect multiple apps - and their data - together. With Zapier, you can automate the software your team uses every day, like Google Drive, Hubspot, Airtable, Excel, or thousands of other apps that Zapier supports.

Quick tip: Check out XRay.Tools to quickly search a complete indexed list of every Zapier integration, along with 5 other automation providers.

In order to automate these third-party tools, you have to give Zapier access to your apps, and you have to give it permission to act on your behalf.

For example, if you want Zapier to perform a certain action whenever you get an email, then you’ll need to grant Zapier permission to view your email inbox in Outlook or Gmail.

Similarly, if you want Zapier to generate documents in Google Drive, you need to give Zapier permission to create data through your Google account.

When you’re connecting an app to Zapier for the first time, the request for permissions may seem a bit intrusive at first, but they’re really just asking for what’s necessary to automate your tools. Without these permissions, you’d be very limited in what you could automate.

Of course, there are some things you can build with Zapier tools and public data alone. You could potentially use Zapier tables to store all of your data in the backend, build automations connected to public newsfeeds, and publish everything to a Zapier interface.

However, this isn’t the way most people will use Zapier most of the time. In the vast majority of circumstances, you’ll need to connect your other software to Zapier in order to make the most of the platform.

How Zapier secures your data

To be clear, granting Zapier access to your apps doesn’t make Zapier a security risk in and of itself. You can confidently give Zapier the permissions it needs, because Zapier is designed to comply with modern security standards for web apps.

We won’t go into deep technical detail right now or cover every aspect of Zapier’s security, but we want to highlight some key things you should know about how they handle your data.

Certified security standards

First off, Zapier has received third-party certification from auditors, so you don’t just have to take their word for it that they’re being responsible with your apps and data.

They’ve received third-party auditor certification with the AICPA, and you can read the full report on Zapier’s security and compliance page.

Zapier is also compliant with the EU-US Data Privacy Framework Program. This ensures that data can be transferred from users in the EU to a US-based company like Zapier while still respecting all of the relevant EU data privacy laws.

Authentication and 2-factor login

Next, it’s important to remember that every app you connect to Zapier needs to be authenticated first.

The exact methods for authorizing each app vary. It will depend on the app in question, and how those developers built their Zapier integration.

Zapier encourages OAuth V2 or API Keys, and these are the most common authentication methods you’ll see. But regardless of the exact method used, you’ll always need legitimate credentials to automate an app with Zapier in the first place.

For an added layer of security, you can always enable 2-factor authentication on your Zapier account. That would require you to use an app like 1Password in conjunction with your password whenever you want to log in.

Even if someone obtained your username and password, they still wouldn’t be able to sign in without the temporary code shown on your authenticated device.

Data encryption and privacy

Next, whether you’re using 2-factor authentication or not, your Zapier data is encrypted using 256-bit AES encryption, an international standard for data security. This is the same standard you use at checkout whenever you buy something online with a credit card from any reputable retailer. 

Additionally, any of your data that’s stored in Zapier will only be used for your Zaps. As Zapier notes on their data privacy page, your data is not sold or marketed to third parties.

And if you do ever run into any issues, Zapier has a security support team available 24/7.

In short, there’s really no need to worry when you connect your apps to Zapier. They’ve built a secure, reliable automation platform, and in our time building thousands of Zaps for our team and our clients, we have yet to encounter a serious security threat.

General best practices for using Zapier securely

Everything we’ve covered shows that Zapier lives up to modern security standards for web applications.

But Zapier, like any app, can be compromised through human error if you don’t take basic security measures. So here are some quick tips that you can follow to ensure that Zapier and your other software isn’t at risk.

Use unique passwords for your logins

First – and you’ve probably heard this one before, but it bears repeating – don’t reuse passwords.

This applies to any and all software. If any app you use suffers a data breach, then your password for that app could be exposed.

When data breaches like this occur, your vulnerability is multiplied if you reuse passwords.

If you’ve reused that password in different apps, that makes it easy for malicious actors to access several of your accounts with one set of credentials. 

That’s why you should always use unique passwords for every app, even if it gets difficult to remember them all. In that case, you can always use a password manager like 1Password to securely store your credentials, and even safely share logins as needed with your team.

Share your Zapier connections carefully

On the subject of collaborating with your team, our next tip is a little more specific to Zapier:

Always be intentional about sharing app connections with your team in Zapier.

On team accounts, any app connection can either be kept private to you only, or shared with your team.

Sharing a connection with your team can be very convenient, since it will allow them to build Zaps using your authenticated account, but it’s not always appropriate to share your connections.

For instance, you might want to set up a Zap that sends emails from your individual Gmail account in your company workspace. 

Sharing your individual Gmail account would allow users to read all the messages in your inbox and even send emails on your behalf via Zapier. You probably don’t want to give your entire team the ability to do that.

But thankfully, Zapier makes it easy to avoid granting too much access. You have full control over every app you connect to Zapier, and you can choose who to share it with – if anyone.

Consider the permissions granted to each account

Along similar lines, remember that when you connect an app to Zapier, the connection will usually have all of the same permissions and abilities that the associated account has. 

So for example, let’s say there’s a document in our Google Drive account called “Q4 2023 Financial Report”. 

The tom@xray.tech account has full access to view and edit the document, but the matt@xray.tech account has view-only permissions. 

If Tom connects his Google account to Zapier, any Zaps he builds with it will be able to edit the Financial Report doc. 

But if Matt connects his Google account, any Zap he builds will only be able to view the doc, and won’t be able to edit it. 

In the “Append Text” step pictured below, this Zap will try to use Matt’s Google account to add the words “Test Text” to the Q4 Financial Report. 

In the “Append Text” test below, you can see that the test result just says “No data available”. The Zap was able to send a request to edit the doc, but the doc remains unchanged because Matt’s account doesn’t have edit access.  

And if we check the document in Google Drive, we can see that its text hasn’t been changed. There’s no “Test Text” at the end of the doc. 

As this example illustrates, the permissions each user has when they use an app directly will also carry over to using the app automatically via Zapier. 

However, in some cases, you can set the permission levels separately by using a Personal Access Token to authenticate the app. Unfortunately, this option is only available in a few select apps, like Airtable. 

In general, the best approach to using Zapier securely is to stick with the same precautions that you’d use with any web app. Keep your passwords complex and unique, and make sure you only grant necessary and appropriate permissions to your teams. 

Zapier is not HIPAA compliant

Before we wrap up this post, we want to point out that in spite of its high security standards, Zapier is not HIPAA compliant.

HIPAA, or the Health Insurance Portability and Accountability Act of 1996, is a US law regulating the use of patients’ private medical information. Understandably, this law has some very strict requirements for how medical information can be stored and accessed.

On their data privacy page, Zapier plainly states that they don’t support the use of Protected Healthcare Information covered by HIPAA, and won’t sign a BAA certifying that your Zaps comply with HIPAA if you ask.

We at XRay don’t represent Zapier, and this is just our opinion. But we believe the choice to not support HIPAA compliance mostly comes down to the extremely flexible and variable nature of Zapier and its integrations.

You may have noticed in this post and in others on our blog, we don’t usually call Zapier an “app”, but rather a “provider”.

Of course, technically speaking, it is a software application. But Zapier’s purpose is to connect other apps together to build something new. It doesn’t just have a predefined set of functions that you can perform. It lets you build almost anything you can think of using other tools.

With so many possibilities for what their users can build, we think that Zapier can’t realistically guarantee that users won’t build something that exposes protected information.

Zapier can’t control how other apps handle and process your data, and they can’t feasibly track every update to every one of the thousands of apps they have integrations for. 

As such, a lack of HIPAA compliance shouldn’t be seen as an indication of poor security. It’s just not a practical goal for an automation provider with open-ended functionality to ensure that all of their integrated apps meet the extremely specific standards set forth in HIPAA. 

This is certainly frustrating if you’re hoping to automate work related to the healthcare industry, but for most Zapier users, it’s ultimately not a reason to worry. Zapier still uses industry-standard security to protect your data, as we’ve covered in this post.

If you do need to build an automation that’s HIPAA compliant, reach out to us. You can schedule a free consultation to discuss your plans and your options. 

Securely automating your apps with Zapier

As you work online, it’s always important to strike a balance between privacy, security, and productivity. There are a lot of malicious actors out there who will try to steal or expose data online, but keeping all of your data offline just isn’t a practical option.

Business runs on the web, and automation providers like Zapier let you automate that business using industry-standard encryption, authentication, and data privacy policies to keep you safe. Just take sensible precautions, as you would with any software, and you can confidently use Zapier to automate your work.

If you’d like to learn more about building workflow automations, check out our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Working with XRay
January 15, 2024
Transform and Scale Your Processes with a CWO Membership

Is your team getting bogged down with repetitive, mindless tasks? 

Is critical data at your company getting siloed into apps where you don’t have access? 

Are you getting frustrated with tasks that aren’t getting performed the right way?

For large and growing companies, the answer to all of these problems is the same thing: a Chief Workflow Officer Membership with XRay.Tech. 

In this post, we’ll explain the ins and outs of one of our most popular service offerings, the Chief Workflow Officer Membership. 

The CWO Membership is a great way for enterprise companies or rapidly growing smaller businesses to create more reliable results, save time on tedious tasks, and prepare your business to leverage AI. 

If you’d like to learn more about XRay’s services, you can check out our case studies or our services page

For now, let’s dive into the Chief Workflow Officer Membership. 

CWO Membership basics

Let’s start with the basics. What is a Chief Workflow Officer Membership at XRay?

With a CWO Membership, our team at XRay becomes your company’s Chief Workflow Officer for as long as you retain your membership. 

Whenever you want to improve a process or a workflow, we’re your first call. We design a better way for your team to work with the tools you’re already using, enhanced with automation and AI. 

If one of your departments needs to see data created by another department in an app they don’t have access to, we’ll connect the pipes. If your team is wasting time on repetitive tasks, we’ll automate them with Zapier, Make, or other AI tools. 

If you need to organize data, resources, and apps to make it easier for someone to get their job done, we’ll design and build a custom interface that puts it all in one convenient spot. If you want to get your company ready to use AI, we’ll help you to clean and structure your data so you can start building effective, automated prompts.

Our team of consultants will work with you to improve, update, and streamline any mission-critical process at your company.

Leverage an automated infrastructure to streamline work across teams and departments

However, the objective of a CWO Membership is not to create a series of disjointed automation, or point solutions. 

When you start a membership, we help you create a reliable and scalable automated infrastructure that enables you to connect your teams, your software, and your data.

With all of your apps working together in concert, you and your team can make better decisions each day, as your choices will be informed by accurate, up to date information coming in from every relevant source of truth. 

For an example of how it all works, I want to quickly tell you about our work with Boston BioProducts, a pharmaceutical reagent manufacturer and supplier.

CWO Membership case study: Boston BioProducts

We started a CWO Membership with Boston BioProducts in October of 2022. Boston BioProducts was (and still is) a rapidly growing company, and they were worried that the software they built their company on would no longer be sufficient.  

Instead of continuing to use off-the-shelf apps like Magento and Quickbooks, they were considering switching to an Enterprise Resource Planning solution, which could have cost hundreds of thousands of dollars for the software alone, would have required 10-12 months to implement, and would have necessitated their team to be retrained on a whole new set of tools.  

Instead, they were able to scale their systems with a CWO Membership at a much lower cost, and got to keep using the same software they were familiar with in the process. 

XRay’s solutions for Boston BioProducts

In the initial months of their membership, we built an automated infrastructure in Airtable that unifies all of their orders, so that both standard and custom orders were processed through the same ecommerce platform and other internal fulfillment systems. 

Once the order is received, Boston BioProducts’ team can then approve the order with a single click in Airtable, instantly sending data to Shipstation so the order can be packed and shipped. 

That same centralized Airtable base also supports an automated system for creating and logging new products, adding to their catalog of over 20,000 unique SKUs. 

Boston BioProducts creates as many as 35 unique products every week to meet the needs of their diverse, global customer base. 

With a simple algorithm implemented by our team, they can now create a properly formatted, unique ID for each item in Airtable. Once the item is created in Airtable, it’s automatically synced to other relevant apps like Magento and Quickbooks. 

Previously, SKU creation and management happened entirely within a single Excel file, which was difficult to scale as their business continued to grow. 

Results of Boston BioProducts’ CWO Membership with XRay

Because we started by building an automated infrastructure and connecting all of Boston BioProducts’ essential software, every new workflow connects seamlessly into their larger systems. 

And as a result, Boston BioProducts has been able to reduce the time spent on order processing by 75%, and the time spent on creating new products by 90%. 

Specific results will depend on your company and your goals, but Boston BioProducts is a great example of the outcomes you can expect from a CWO Membership with XRay, especially if you’re experiencing rapid growth and have concerns about scaling your internal systems. 

CWO Membership timelines and cadence

Next, let’s look at the cadence of a CWO Membership. 

By design, these memberships are highly collaborative. Our consultants will become part of your team, and will schedule regular meetings so we can share updates, address any obstacles that emerge, and set goals together. 

It’s important to note that our consultants don’t just offer an expert opinion. They’ll also design and build the systems that you need. 

Unlike the typical agency assembly line, your projects won’t get handed off to Junior teams that aren’t aware of the bigger picture. Your workflow consultants who understand your business will also be the ones doing the technical implementation. It's the same people every step of the way. 

Advancing your workflow priorities with regular meetings and updates

Here’s how a membership usually works. 

Each week, you’ll have a meeting with your lead XRay consultant and project manager, scheduled at a time that’s convenient for you. 

Often, many of your key stakeholders will also need to be present at these meetings. These will be the people in charge of the various workflows that you want to automate or optimize. Essentially, they’re the decision makers or owners of a given process. 

Our focus will vary somewhat based on your specific goal, but we typically begin a membership by establishing reliable centralized sources of truth. 

In other words, we want to make sure that you have accurate and relevant information in all of your critical software before we begin automating any actions between your software. 

Once your data is in order, we can start supporting any workflow with automated actions or AI output. 

Collaborative workflow design

Your goals for what we accomplish are ultimately up to you, but we’ll always share our expertise to help you make an informed decision. You should think of us as being both a strategic and technical resource as you encounter forks in the road. 

After selecting a goal to pursue, we’ll hold discovery meetings with your key stakeholders so we can document exactly how the process is conducted today, and highlight areas for improvement.  We’ll also make note of what information each person involved in the workflow needs to see and act upon. 

Once we understand how the process works in its current state, our team will design an optimized workflow that uses technology like low-code automation or AI as needed. At XRay, we always try to use our members’ existing software in conjunction with automation providers like Zapier and Make to build robust, cost-effective solutions. 

Keeping as much of your existing tooling as possible will ensure an easy learning curve for your team and a much faster transition to the new workflow. 

Prototyping, testing, and refining

After getting your approval for the workflow design, our consultants will start building a prototype that focuses on delivering the most important functionality and accommodating the most common use cases. 

Once each feature in the prototype is tested and working up to expectations, we’ll move on to handling more niche circumstances. 

For instance, if we were building an employee onboarding workflow, we would likely start by focusing on the process for onboarding full-time employees - assuming you’re mostly hiring full-time team members.  

Once that part of the workflow is established and working correctly, we would build functionality to support onboarding part-time employees, interns, and contractors, assuming those are less common for your business. 

Automating or optimizing each workflow will be an iterative and collaborative process, and we’ll need your cooperation as we test each component to make sure it meets your expectations and addresses fringe use cases. 

Automate additional workflows or switch to maintenance

Once we’ve finished optimizing one workflow, we can move onto another priority. You’ll quickly notice that as we continue to expand your automated infrastructure, new possibilities open up for additional, related automations. 

Or, if you’d rather put a pause on implementing new solutions, you can switch to a maintenance membership. 

Coming in at a lower cost than a full CWO Membership, a maintenance plan will keep XRay’s consultants on retainer to keep your current automations up and running. We’ll also be available to answer any questions you might have and discuss your plans for the future.   

No matter what your goals are, with a Chief Workflow Officer Membership, XRay becomes a strategic partner for your business, helping you to design and implement automated workflows that support your entire team. Our number one goal is to make sure that you can accomplish more with the resources and people you already have. 

To learn more, check out our services page or reach out to XRay and schedule a free consultation.  

Get quick low-code support with LowCodeEngineers

The Chief Workflow Officer Membership is an ideal choice for large and growing businesses who need to transform or scale their operations. However, If you’re looking for smaller-scale low-code automation support, then a full membership might not be the best fit for you. 

If you need some quick help with an automation or a smaller low-code project, then you should check out LowCodeEngineers instead. 

LowCodeEngineers is built by XRay.tech, and connects businesses and entrepreneurs with vetted low-code experts. 

Through our simple platform, you can book sessions on an hourly basis to fix bugs in your automations, receive one-on-one low-code training, leverage the most advanced features of your favorite tools, and much more. 

Just go to lowcodeengineers.com to begin, or watch our recent video explaining how LowCodeEngineers works.  

Find a better way to work with an XRay CWO Membership

You and your team have your hands full simply doing your jobs. Let XRay analyze how you work and enable you to get the most out of your time each day. 

With a Chief Workflow Officer Membership, your team’s work will become more consistent, you’ll have more time to devote to critical challenges as tedious tasks become automated, and you’ll be able to continuously improve your internal operations at a predictable monthly cost. 

Just schedule some time here to book a free consultation call.

Tutorial
January 8, 2024
How to Use Airtable for Content Management

Tracking all of your blogs, videos and other content can be difficult. Task management apps are often aimed at generalized projects and to-do lists, so they’re not suited to unique needs of content creators. 

What you really need is something that you can customize to your own purposes. That’s why we’re going to show you how to manage your content pipeline with a custom system in Airtable.

In this post, we’ll share an example of how you could set up a content management base in Airtable. We’ll show you some fields and views you can use to organize your data, and we’ll also demonstrate some forms, interfaces, and automations that can help you streamline work with your team. 

To get started, you can copy our base from this link, or find the base along with other helpful resources on XRay Workflow. 

The base that we’ve shared is just a starting point. In this guide, our aim isn’t to dictate a specific content management style you should use, but rather to give you some inspiration and show you some of the extensive possibilities that Airtable offers for customization. 

Let’s jump into it and explore how you can manage your content creation with Airtable. 

Getting started with Airtable

To use this guide, you’ll need to be familiar with the basics of Airtable. If you’re brand new to the app, you’ll want to check out our Airtable Beginner’s Guides. You can begin with the fundamentals in Part 1, before moving on to the more advanced techniques in Part 2

Use different field types to track specific attributes and resources

First, let’s look at the basic setup of the base. 

The exact configuration that works best for you will depend on your specific circumstances, but we want to quickly highlight some key field types that you’ll probably want to consider. 

Again, you can copy our base here to get started. 

Log basic information with text, date, and select fields

You’ll likely want to use several text fields for basic info about each piece of content, like the title,  description, or SEO terms. 

You can also use date fields to track things like the publishing date of each piece, or the recording date. 

Airtable also offers single- and multi-select fields which can be great for logging status, descriptive tags, content type, and more. 

These kinds of basic field types, along with phone number, email, and URL, are all pretty self-explanatory fields. You can just choose whichever field type suits your data best. 

However, there are a couple of especially important field types that we want to cover in a little more detail. 

These are attachment and linked record fields. 

Upload assets to Airtable with attachment fields

Attachment fields allow you to upload a file and store it in your Airtable base.  Your exact storage limit varies based on your subscription level, but at any tier, you’ll have plenty of space to store lots of text and image files. 

This means you can easily upload articles from a Word doc, thumbnail images for a video, supporting illustrations for a blog and other similar assets with ease. 

However, to accommodate regular video uploads, you’ll probably need either a business or enterprise plan. 

But if you’re on a lower tier and still want to reference video files in your base, you can always just use a URL field to link to your large files in Google Drive, Dropbox, OneDrive or any other cloud storage provider. 

No matter you choose to use attachment fields, they can be an extremely convenient way to include your assets right alongside their associated content.

Use linked records to associate data in Airtable

Another great tool for connecting your data together in Airtable is the ability to link records. 

Linked records let you associate a record in one table with a record in another through a special field type. They can be a great way to track separate but related data, and they are one of the reasons that Airtable is so popular among large and growing teams. 

For instance, you might want to associate each piece of content with any related tasks. In the same base, you could have one table for your content, and another for your tasks. 

Then, in a linked record, you can simply associate each task with the relevant piece of content. 

By including a lookup field, like the “Publish Date” pictured above, you can automatically pull in data from the other table. 

So for example, we can see that the task pictured below is associated with the “Airtable AI tutorial” video, which is scheduled to be published on February 12th. 

If you change any of the information in a linked record, those changes will instantly be reflected anywhere the record is referenced. 

For example, if we change the Publish Date of the content to the next week, we can see that the update is immediately reflected in our linked record. 

Linked records and lookups like this are a convenient way to surface the same information in multiple spots without redundant data entry or copying and pasting. 

Format text and data with formula fields

There’s one more field we want to highlight before we move on to custom views. This is a field type and technique that can also help you to save time on edits. 

With a formula field, you can populate a field with the output of any function you enter. 

The options are pretty much endless, but one very simple formula is to concatenate the contents of various fields in your table along with additional text. 

Another option, included within the same pictured formula, is to reformat the contents of any date field to whatever style you’d like. 

We always like to use formula fields as the “primary field” in our bases at XRay, and we always recommend new Airtable users to do the same.  This lets you easily keep naming conventions consistent, and update those conventions when needed. 

Right now, this field combines the title and publishing date of each piece of content, but we can easily change it to show the content type instead. 

Once you save the changes you make to a formula, the column will immediately update for every record in your table. 

With formulas, linked records, attachments, and a whole host of other field types, you can set up your content base to track any attributes you want. 

Use custom views to surface important and urgent data

With all of your fields set up, the next step is to apply filters and create unique views to easily surface critical or time-sensitive data.

For instance, you might want to create a view with a filter applied to show only content that’s incomplete. 

Our filter in view pictured here is set up to display any content not marked as “published” or “Ready to publish”. With a view like this, you can instantly see any content that still needs work, and exclude everything that’s already published or ready to go. 

Alternatively, you may want to set a view that only shows videos scheduled to be published in the next two weeks. 

Or you might want to create a view that displays any videos missing a thumbnail in the “Thumbnail” attachment field.

Note that the condition here consists of two parts. It specifies “Video” as the content type, and looks for records with an empty “thumbnail field”. 

[

You can combine any number of conditions that you want about any fields in your table. It’s entirely up to you. 

Preserving your table setup while creating new views

Adding filters and views will never delete data, but it may make it harder to find records that are hidden from most of your views by certain filters. 

To help keep things clear, there’s three simple steps we’d always recommend when you want to experiment with new filters

1. First, make sure to always keep an “All Records” view that contains your entire data set, with no filters applied. Even if you don’t use this view very often, it will be useful to keep for reference. 

2. Whenever you want to experiment with a new or updated filter, make a brand new view first. 

3. If a view was just used to experiment and the filter doesn’t need to be preserved, add a note to the title to indicate that it’s safe to edit with an [Editable] or [EditMe] tag. 

These sorts of techniques are very simple, but maintaining visibility and clarity can be essential when you’re collaborating with your team. 

Create dynamic and engaging layouts with unique view types

However, views aren’t just for adding and saving filters to a spreadsheet. 

You can also break away from the standard grid view and use other options for more dynamic arrangements. 

For instance, you might want to use a calendar to see your posting schedule and line it up with other important events and milestones. 

You could also use a gallery to easily identify each piece by its unique thumbnail or hero image. 

And you could use a kanban board to easily view and update tasks. 

These view types help you transform your Airtable data into a dynamic, interactive portal to create and edit your content however you’d like. 

Essentially, with filters and views, you can create a setup that suits any task or process that you need to perform. 

When it comes to filters and views, there’s a lot to explore. We’ve added a few to our example base to give you a sense of what you can do, but you can also find more information in the second part of our Airtable beginner’s guide

Use forms and interfaces to collaborate with your team

The field types, filters, and views that we’ve covered so far are all helpful for organizing your data. 

Next, let’s look at how you can share your data and collaborate with colleagues, partners, and anyone else on the web. 

Your main tools for collaboration in Airtable will be forms and interfaces. 

Let anyone add new records with forms

Airtable forms are created with the “form” view type. It converts each field in a table into a question in a survey. 

Then, you can customize the survey by removing or adding fields, and changing the labels and question text. 

Anyone with access to the form URL can fill it out to submit data, even if they don’t have direct access to the Airtable base. This can be a great way to let your team contribute even if they’re not going to use Airtable enough to justify adding a seat to your plan. For instance, you might want to use a form to gather content ideas from anyone on your team. 

However, forms only offer a single way for users to interact with your data, since all you can do with a form is submit new records. 

Build custom collaborative layouts with Airtable interfaces

If you want to allow more extensive options like viewing data and updating records, then you’ll want to check out interfaces. 

Interfaces allow you to create custom layouts containing configurable views of your data. Permissions for interfaces can be controlled separately from the permissions for the base itself. 

This means that you can grant users on your team access to an interface without granting them access to edit the base itself. They will be restricted to the interface you designed for them, without the ability to edit that interface’s components, and they won’t have access to the ‘data’ tab where all of your records and views are stored. 

There are tons of options for setting up an interface, and we cover all of the basics in Part 2 of our Airtable beginner’s guide

But in general terms, you can customize your interfaces to display only the data, reports, and actions that are relevant to a certain user or role. 

For instance, you might want a graphic designer to only view their tasks in a Kanban board, and upload files to the “thumbnail” field. 

In this interface, we’ve added a Kanban board component to display tasks, and grid view component that only includes the “Thumbnail” attachment field and few other key pieces of information. 

Now we can just share a link to this interface with our designer, and they’ll see only the information they need. They won’t be overwhelmed with dozens of irrelevant records and fields. 

With forms and interfaces, you can give your collaborators careful access to a specific, curated part of your Content management base, and keep the rest private. 

Use Airtable automations to streamline your workflows

Let’s wrap things up by taking a look at how you can make Airtable do a lot of your work for you. 

With Airtable automation, you can remove tedious tasks from your workflows and make your outputs more consistent. 

Airtable automations can connect with several popular apps like Google Docs and Sheets, Jira, Asana, Slack, Salesforce, and more. 

For example, you can use Airtable automations to create new records in your Airtable bases, or push information to the apps we just mentioned. 

Automation example: create a task and template for every new blog

The automation pictured below runs whenever a new record is added to the “blogs” view. 

That view just has a filter so only records with the “blog” type are shown. 

View-based triggers are an easy way to control automations, but you can see a full rundown of airtable automation triggers in this article if you’d like to understand each available option. 

Next, the automation creates a placeholder document from a template that we’ve configured in this step. 

The document name and other info come from data in the Airtable record that triggered the automation. Being able to pull data from your Airtable records and put it into other apps is a big part of what makes automations useful. 

Next, our automation creates a new task in the “Tasks” table of our content base. This will be a templated task that simply asks the user to create a rough draft of the blog. 

Once again, several key pieces of information are filled in using data from the Airtable record, such as the blog’s name and the publishing date. But we can also include data from the previous automation step, like grabbing the URL of the newly created doc. 

Finally, the automation sends a Slack alert to let us know the task and placeholder doc are ready. The links are dynamically pulled from the previous steps in the automation, so they’ll always point to the right task and doc.

Let’s see the actual output of this automation. Pictured below, you can see the Slack message sent after adding a new blog to the Content table.

When we click on the links in the message, we can see a correctly formatted task and document. 

Explore the possibilities with Airtable automation, Zapier, Make, and more

The workflow we’ve described is just an example of the kinds of tasks and actions you might want to automate with Airtable. Try automating any task that always has to happen when you create a new piece of content, or when you publish it.

For instance, you might want to have an automation that creates a new task to review any newly added content, or an automation that sends newly published posts to Hootsuite. 

As we noted, you can automate many tasks in several popular apps with Airtable, although its native integrations are pretty limited. 

If Airtable doesn’t have support for the app you’re looking for, you can also turn to dedicated automation providers like Zapier, or Make. 

Remember, Airtable is a database first and foremost, and it works well with any no-code automation provider, or with several at once. This means you can use any automation providers that you’d like along with Airtable to easily automate additional tasks. 

Whether you want to stick with native Airtable automations or use an automation provider to extend Airtable’s capabilities, organizing your data in Airtable is a crucial first step to automating your work. 

Create and customize your own content management base

Tracking and managing your content can be difficult, but Airtable makes it easy to follow your progress, store images, run relevant automations, and share your work with collaborators. 

Try setting up your own Airtable base for your content today. It will make your whole process easier and more efficient in no time. If you’d like to learn more about optimizing your workflows with no-code and low-code tools like Airtable, Zapier, Make, and more, be sure to check out our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Tutorial
January 1, 2024
The Ultimate Guide to Zapier Tables

As you’re building Zaps, you’ll often notice that you need to pull in additional data that Zapier can’t get from your trigger and action steps. 

If you find yourself constantly adding several search steps to get all the information you need, you should consider using Zapier tables to store and reference your commonly used data instead.

In this guide, we’re going to show you how you can create tables in Zapier, then quickly reference them in any Zap or interface. We’ll also explain you may want to use a dedicated database app like Airtable instead. 

Whether you stick with Zapier’s built-in tables or use a separate database app, organizing your data into easily searchable formats will help you to design and build much more efficient automations. 

Zapier tables: an overview

First, let’s take a quick look at what Zapier tables are and how they work in general. Zapier tables are essentially simple spreadsheets that you can use to store data. 

They include several basic field types, like text, dates, dropdowns, and even buttons that can launch specific Zaps. 

How to create and manage tables in Zapier

To make a new table or edit your existing ones, just click on the “Tables” icon in the left hand menu. That will take you to a page with all of your current tables, if you have any. 

From the “Tables” page, click on the “Create” button in the top right to make a new table. 

In the window that pops up, you’ll see a gallery of templates that you can use to get your table started. You can also choose a “blank table” if you’d prefer to start from scratch. Alternatively, you can import data from Airtable, Google Sheets, or a CSV file. 

If you create a table from scratch, you’ll see a pretty standard spreadsheet with three default fields. 

Edit fields

To edit an existing field, just click on its name and select “edit field”. There, you can change the field name and type, adjust the text alignment, and add an icon. 

Import data into a table

To import records into a Zapier table, click on the three dots in the top right, and select “Import Data”. 

 Then, upload a CSV of your choice. 

Creating custom views and filters

With some data in place, we can see how filters and views work. Click on the “views” icon to see all of your views. 

A view is a saved configuration for viewing your data. You can apply filters to a view so that it only shows a certain subset of your data instead of every record. The default view begins without any filters applied. 

Click “Create view” to make a new view. 

Then, click on “Add filter” to limit the records that are displayed in this view. 

Set any condition you’d like to filter your records. You can base your conditions off of any field in your table.

To switch back to the default view, or any other view, just click on the views icon, and select the view you want to see. 

Sharing tables with your team

To share a table with a colleague, open up the table you want to share. Then, click on this ‘Share” icon in the top right. 

If your Zapier account is part of an organization, you can set permission levels for each person at your company, or set permissions for the entire organization. 

You can choose between Builder, Editor, View Only, and No Access. Click on “Learn more” here for an explanation of each permission level. 

In short, builders can do anything, editors can do anything except create related automations, and view-only users can just see data. 

Sharing tables with anyone on the web

If you’re working with an individual account or want to share the table with people outside of your organization, you can create a public link instead. 

However, the only permission options for a public link are “editor” and “view only”. 

Once you’ve created a public sharing link, you can click on the link icon to copy it to your clipboard. When someone opens the link, they’ll be able to see your table, even if they don’t have a Zapier account or aren’t signed in. 

Sharing views

You can also share specific views by selecting the menu attached to that view, and clicking “Share view”. From there, you’ll see similar sharing options as before. 

Zapier tables pricing

You can try out Zapier tables for free with any Zapier plan, but you’re limited to 10 tables and a hundred records per table. 

You can unlock 100 tables with 100,000 records each for $20/mo on top of your existing Zapier subscription. 

Zapier tables vs. lookup tables 

Before we explain how to use Zapier tables in more detail, it’s important to clear up one possible area of confusion. 

Zapier tables are not the same thing as the “Lookup tables” that you can create through a Zapier formatter action. 

Lookup tables only allow for key-value pairs, meaning they’re limited to one label and one data point. There are no field types or other database features available in lookup tables. They’re also attached to whatever Zap they’re built in, and cannot be referenced from any other Zaps. 

Lookup tables are useful when you need to create a variable that can change to several different values based on a particular condition. For instance, you might want to have a message in your Zap that changes based on the day of the week. 

In your lookup table, each key would then be a day of the week, and the value would be the related message. Data like this wouldn’t need to be referenced elsewhere, so it would be totally suitable for a formatter lookup table. 

When and how to use Zapier tables

There are 3 main ways to use Zapier tables with automations and other Zapier features. 

1. Reference tables in your Zaps. Like any other database or spreadsheet app, you can use Zapier tables in triggers, actions, and searches in your Zaps. 

2. Launch automations from buttons in your tables. With the “button” field type, you can launch a specified Zap whenever you click on the button in your table. 

3. Connect tables to interfaces. With Interfaces, another Zapier feature, you can create a simple web page that includes any of your tables, as well as forms, chatbots, and other components. 

Let’s cover each of these options in more detail.

Referencing Zapier tables in your Zaps

Referencing a Zapier table in your Zaps is very simple. In essence, you can treat them like any other spreadsheet or database that you might use in Zapier. 

You can trigger your Zaps to run whenever a record is updated or added to a specific table.

You can add actions to create or edit records.

And you can add search steps to find data that’s already there.

Just add an action in Zapier as you normally would, and search for “Zapier tables”. Then, choose the action you want to use. 

Launching Zaps from a Zapier table with buttons

However, there’s another option for automating your Zapier tables that looks a little bit different from your standard Zap: launching Zaps from buttons. 

When you add a “button” field, every record will include its own button that you can click to launch a Zap. 

When the Zap runs, it will pull in all of the data from the record that you clicked on.

Adding a button to a table in Zapier

To configure a button in a Zapier table, go to your default view and add a new field. Currently, you can’t add Zaps to any buttons created in custom views. 

Choose “button” as the type. 

Give your button any name you want and style it however you’d like. 

The “type of button” field will default to “Trigger Zap”, which is what you’ll want to use. There’s also an option to use buttons to resume an automation, but this is an experimental feature that we won’t be covering in this post. 

You can leave the default state to “enabled”. “Disable button when clicked” is a good option if you want each automation to only run once per record. Otherwise, leave it unchecked. 

With your settings configured, create your field. 

Connecting a button to a Zap

Initially, your button will just say “Set up button”, but that’s fine. Click on the button to finish setting it up. 

Choose the “Zaps” tab. From here, you can create a Zap that will run whenever the button is clicked. 

Building this Zap works like any other Zap. The trigger step will pull in information from the record you clicked on. 

For example, we’ve created a simple automation that sends an update in Slack about the selected record in our “Projects” table, with some basic information about the due date and status. 

Make sure to publish your automation and turn it on when you’re done, otherwise the button won’t work. 

Then, go back to your table and select the button field. After a few moments, the “Zaps” tab should display your newly created Zap. 

However, your button may still say “Set up button”. If it does, refresh the page. You should now see the correct label on your button. 

Once your button displays the correct text, click on it to test it out. 

For example, when we click on our button, we see a message in Slack, just as expected. 

Directly connecting your tables to Zaps is easily one of the most useful aspects of tables. If you’re a Zapier builder first and foremost, tables will give you a lot of easy ways to organize your data and keep everything in one place. 

How to use Zapier tables with Zapier interfaces

You can take tables and automations even further by connecting them to Interfaces, another Zapier feature that was somewhat recently. 

With interfaces, you can create a simple web-based UI where you can store links, forms, tables, and more. You can even add an AI chatbot to a Zapier interface. Check out our previous tutorial to learn more about that. 

Use tables to gather form submissions in interfaces

If you’re adding a form to your interface, you’ll need to connect it to a Zapier table. Then, any responses to your forms will automatically populate the table. 

To get started, create a new interface from the “Interfaces” menu, and add a new page. Then, add a form component to that page. 

Once you add a form component, you can either pick an existing table to connect it to, or create a new one. 

When you connect to an existing table, Zapier will automatically include a form question for each of the fields in the table. 

You can click on the form to edit it. You can add or remove fields, or just change their text. You can also add placeholder text here, or set certain fields to ‘required’. 

Once you’re finished, open up your page and test out your form. 

When you submit a response, a corresponding record should be added to your table. 

Using tables in Zapier interfaces can be a great way to gather data from your team or from anyone on the web. But you’re not limited to just collecting data with interfaces. 

Creating kanban boards from Zapier tables

You can also use your Zapier tables to create customized Kanban or Table components in your Zapier interfaces. These are both different ways to display an existing Zapier table. 

Since a Table component in an interface is pretty similar to a standard Zapier table, we’ll focus on the Kanban component. 

Pick a page in your Zapier interface, or create a new one. Then, add a component and choose “Kanban”. 

Connect your Kanban component to an existing table. 

Then, pick a field to group by. This has to be a dropdown field, like the “Status” field pictured below. 

Next, you can choose which columns to display and in which order. Finally, you can pick the fields that you’ll use as the title and description for each card. 

Then, click “connect data” to finish setting up your Kanban board. You may have to wait a moment for your data to load. 

Once it’s ready, open up the page to see the kanban board in action. You should be able to drag and drop cards between columns. 

Note that doing so will update whatever field you’re using to group your cards. 

Editing permissions for your Kanban board

Back in the interface editor, you can control user permissions. You can set whether or not users can drag cards, create records, edit records, or delete records. Each of these settings can be managed separately. 

Under “Actions”, you can also configure automations that will run whenever a card is created, updated, or dragged into a certain column. Then, you can build a Zap that will launch when that specific event occurs. 

While Zapier might not be the first app you think of when it comes to building an interface, it can be a good choice for Zapier power users and teams that rely heavily on Zaps already. 

With constantly expanding features for kanban boards, forms, and more, Zapier interfaces are quickly becoming a genuinely useful tool. However, they still have a ways to go before they can stand shoulder-to-shoulder with the likes of Airtable. 

Using Airtable for a more robust automation database

Ultimately, Airtable still offers much more robust database and interface options than Zapier. This isn't very surprising, considering that Airtable is, first and foremost, a database application. 

In contrast, Zapier's primary focus is on building no-code automations, a domain where it truly excels, being widely recognized as one of the largest automation providers in the world.

In short, Airtable has more of everything that you might want from a database. It has more view types, with a variety of options like Kanban boards, timelines, galleries, and more. 

These diverse views cater to different project management styles and data visualization needs, making it easier to manage and interpret your data - especially for enterprise grade users.

Linked records in Airtable

Airtable also includes Linked Records, which is a vital feature for connecting your data and avoiding redundancy. 

Linked Records allow you to associate records in one table with records in another table. It's particularly useful for maintaining consistency across different parts of your database.

For instance, you can create a single “team directory” table and reference it in various areas like project management, task management, and client onboarding. 

This not only cuts down on redundancy but also ensures data integrity across your workflows.

Airtable formula fields

Airtable also provides a “formula” field type, which lets you populate the contents of a field with a formula. 

This feature is incredibly useful for automatically calculating values, reformatting text, or adjusting dates and times based on other data in your table.

Other Airtable features

Airtable’s form views are also much quicker to set up than a form component in a Zapier interface, and Airtable’s interfaces offer more customization than Zapier’s. 

And finally, when it comes to collaboration, Airtable provides more granular control over what users can see and edit. This level of detail in permission settings can be crucial for managing team access to sensitive or critical data.

Zapier tables or Airtable?

The main downside of Airtable is the downside that all SaaS tools share: it's another application to manage, and unlocking all its features requires a paid plan. 

However, if your data needs are relatively simple and your primary focus is on automations, Zapier’s integration with its own Zapier Tables might be sufficient. 

Zapier Tables, while not as feature-rich as Airtable, offer a convenient way to have your automations and data in a single app, streamlining your workflow processes. This can be particularly useful if you’re building an automation for a client, and want to simplify the information they need to access the finished product. 

If you build your workflow using Zapier tables and interfaces, they’ll only need one login to access everything, and that can make things much simpler for less-technical users. But for most use cases, we’d recommend using Airtable as your data storage, and Zapier for automation. 

However, no-code builders should always be aware of the tools at their disposal, so we encourage you to try Zapier tables out for yourself to see how they might fit into your workflows. No matter where you start, you can always migrate to another database with a simple CSV export. 

Experiment with Zapier’s growing roster of features

Zapier continues to expand its platform, moving beyond automation and into data management, AI, interfaces and more. Zapier tables might not be unseating Airtable any time soon, but they’re a welcome addition to Zapier that can be useful in many situations. 

If you’d like to learn more about automation tools like Zapier, Make, 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
December 25, 2023
How to Export Airtable Data to Excel

How to Export Your Airtable Data to Excel

Transfer Your Data and Keep Airtable and Excel in Sync

Are you trying to work with your Airtable data in Excel? Airtable is great as a flexible, modern database with support for custom views, integrations, automation, and more. 

However, for Excel power users, nothing can compete with the complex calculations offered by the venerable old software, so exporting your data from Airtable is sometimes the best choice. 

In this post, we’re going to show you three easy ways to transfer your Airtable data to Excel, or keep both databases synced up automatically. 

We’ll start with a simple CSV export. Then, we’ll show you a couple of automation tools you might want to try to set up an ongoing sync between the apps. 

Method 1: Export and Import a CSV

First, we’ll start with exporting a CSV from Airtable so you can edit your data in Excel. You can export an Airtable view as a CSV in a few easy steps:

1. Open the view that you want to export data from. You can only export one view at a time, and your exported CSV will only contain the records that are visible in your chosen view. 

2. Click on the view name, and select “Download CSV” from the dropdown. Name your CSV whatever you’d like and save it to your computer. 

3. Open your exported CSV in Excel. You can use either the desktop app, or use the online version of Excel and upload the file to OneDrive. 

In the screenshots below, we’ll use the web version of Excel with OneDrive. Click on “upload”, and choose your exported CSV. 

Excel will take a moment to convert the file, and open it up as a spreadsheet. 

All of your data should be present, but the Airtable field types will all be changed to standard spreadsheet columns.  

A CSV export like this is the easiest way to do a one-time bulk transfer from Airtable to Excel. But what if you want to keep Airtable and Excel data synced?

Method 2: Sync new Airtable records to Excel with Zapier, Make, or Powerautomate

If you want any kind of a live connection between Airtable and Excel, you’ll need to set up an automation to do it. 

You can automate Airtable and Excel with several no-code tools, like Zapier, Make, or Power Automate. Just go to xray.tools and search for “Airtable” and “Excel” to see the full list of providers and the actions they support. 

Automating a one-way sync with Zapier

Building a one-way sync with any of these tools is very simple. We’ll quickly show you how it works in Zapier, but the basic principles will be very similar in other automation providers. 

You can copy our Zap template to get started. You’ll need to sign in to Zapier to view the template. 

Note that this will only work with Excel files stored in OneDrive. Zapier won’t be able to locate files that are only stored locally on your computer. 

1. Set up a trigger in Zapier that runs whenever a record is either updated or created in your Airtable base. Ensure you select the correct base and table, and if necessary, limit the trigger to a specific view.

2. Add a search step to find the corresponding row in an Excel file that matches the Airtable record initiating the automation. You'll need to identify the exact Excel file and worksheet to use, as well as choose a column to search by.

To accurately find matching records in Excel, include the Record ID from Airtable as a column in Excel (i.e., create a formula field in Airtable with the RECORD_ID() function before exporting your initial CSV). We’d recommend using a fixed alphanumeric code like this for identification to maintain data accuracy, rather than using a name or title which may change.

3. In the same search step, configure the option to create a record in Excel if no match is found. Enable this setting and map each field from Airtable to the corresponding column in Excel.

4. Add an optional filter. Consider adding an optional filter step to check whether the previous "Find" step located an existing record. The automation will only proceed to the final “update” step if a record was found. 

NOTE: using a filter step only counts as a task in Zapier if its condition is met. Therefore, when a record is updated in Airtable, this automation will consume three tasks, while creating a new record will consume only one task

If you don’t include a filter, the automation will always use 2 tasks. 

Decide whether to include the filter based on your expected frequency of creating new records versus updating existing ones, as this can impact your task usage and potentially affect your monthly Zapier billing.

5. Finally, include an “update” step to modify the contents of the row found in Excel. In this step, map every Airtable field to its corresponding Excel column, except for the “ID” field, which should remain unchanged. This ensures that any updated fields in Airtable are reflected in Excel, maintaining data consistency across both platforms.

Testing your Zapier automation

Once your automation is all set up, give it a test to confirm that everything’s working correctly. Add a new record to your Airtable base, then edit a separate record. 

You may have to wait up to 15 minutes based on your Zapier subscription plan, but the changes should be reflected automatically in Excel. 

Best suited to a 1-way sync

Setting up a 1-way sync like this only takes a few minutes in apps like Zapier or Make, and plans begin at around $20 a month for Zapier and $10 per month for Make. 

You could also potentially create a 2-way sync by creating an additional automation that swaps the apps. However, you would also need to add filters or conditional paths to check the “last modified” time in each app in order to avoid a loop of infinite updates. 

Your provider would stop your automation from running eventually if you made a mistake like that, but you could easily consume hundreds or thousands of tasks if you’re not careful, so I wouldn’t really recommend that approach. 

Instead, if you need a 2-way sync, you should try a tool that’s designed for the job, like Unito. 

Method 3: Create a 2-way sync between Airtable and Excel with Unito

Unito is an automation provider focused entirely on syncing databases between two apps. It supports software like Airtable and Excel, as well as Notion, Google Sheets, Asana, Hubspot, and dozens more. 

You can explore this tutorial on XRay’s YouTube channel for more information about using Unito. While the tutorial uses Google Sheets, it’s very similar to syncing with a worksheet in Microsoft Excel. 

Unito will also walk you through each step. In essence, all you need to do is pick the apps and databases you want to sync, authorize by signing in with your accounts, and map the fields that you want to sync. 

Then, once your sync is enabled, your data will update automatically in the background. 

Just bear in mind that Unito will only work with Excel files stored in OneDrive. Locally saved files won’t be accessible to web apps like Unito. 

Unito is a very simple and effective solution for creating a 2-way synchronization, but the convenience comes at a price. Unito’s plans begin at $100 per month, and there is no free plan available. 

However, if you’re currently trying to keep two databases synced up manually, Unito could save you several hours each month, making it well worth the cost.  Ultimately, it will be up to you and your circumstances. 

Transfer or sync your Airtable data to Excel to get the best of both apps

For a quick one-time transfer of your Airtable data to Excel, you can just export a CSV of an Airtable view. To set up a one-way sync, any popular automation provider like Zapier or Make will get the job done. And if you want to create a permanent two-way sync between the apps, try out Unito to get things set up fast. 

If you’d like to learn more about connecting your tools to streamline your work, be sure to check out our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

News and Updates
December 18, 2023
5 Ways to Use AI at Your Company Today

With the rapid emergence of so many advanced AI tools, Artificial Intelligence has become an inescapable topic in the business world. 

But even with AI’s current ubiquity and accessibility, it’s not always clear how your business can actually start leveraging this technology in a practical way. 

That’s why in this post, we’re going to quickly show you five different ways any company can begin using AI right now. 

We’ll be covering a wide range of tools, from the extremely popular ChatGPT to newer and lesser known options you won’t want to miss, so stick around to the end. 

Most of these tools offer free trials or affordable plans, so no matter what your budget is, there’s something for you in this list. 

Let’s get started!

Ask a Chatbot for help on any task

AI chatbots are great for quickly performing a wide range of tasks. They’re the perfect resource when you need to get familiar with an unfamiliar subject, draft or revise some text, or even analyze the strengths and weaknesses of a new idea. 

You could even ask the chatbot to assume the identity of your ideal customer and explain how your product or service could be improved. 

Not only do you typically get reliable answers, but it’s also much quicker than wasting a busy colleague’s time with the same request. If you have any idea you want to explore, or any challenge you’re stuck on, just turn to a friendly chatbot to jumpstart your creativity. 

AI Chatbots you can use right now

There are several options out there for general purpose AI chatbots. Here are three of the easiest and most effective chatbots that you can try today. 

ChatGPT by OpenAI

Of course, there’s always ChatGPT. You’ve certainly heard of it by now, and you’ve probably tried it out firsthand to see how shockingly effective it is at holding conversation, brainstorming, writing code, and even generating images.

 

Claude by Anthropic

Claude, by Anthropic, offers a very similar experience to ChatGPT, but its free versions are generally considered to be technically superior to ChatGPT’s free version, GPT3.5. 

However, the premium GPT4 still edges out Claude’s own paid option when looking at technical benchmarks. 

Microsoft Copilot

Alternatively, if you’d like to integrate your AI chat right into your searches, then Microsoft's Copilot will be an ideal choice for you. 

Copilot can help you get answers on the web much faster by synthesizing several pages of results into a single, concise response. 

However, it’s only available in two browsers: Google Chrome and Microsoft Edge. 

AI Chatbot pricing

All of these AI tools offer free plans, but you can also get premium subscriptions to Claude or ChatGPT for $20/mo if you want to unlock premium features and guarantee access even when the app is busy. 

Whichever Chatbot you choose, using it will be very easy. Just ask any question that’s on your mind, and get an instant response. 

You’d be surprised at how much they can help you to clear writer’s block, get quick answers, and solve technical problems. 

Set up an automated prompt

If you find yourself asking an AI for the same task or the same document repeatedly, then you may want to set up an automation to run the prompt for you with the click of a button. 

For instance, you might want to set up an automation that uses AI to generate social media posts from a blog title and introduction paragraph. 

Alternatively, you could configure an AI automation that extracts key data points you need from a long meeting transcript or recording. 

How automated AI prompts work

There are a few different tools and methods you can use to automate your AI prompts, but they all boil down to the same idea. 

Instead of entering a prompt into a chatbot conversation window, you’ll preconfigure a prompt that can be filled in with a few variables and sent to OpenAI’s API. 

Automate AI prompts with Airtable

One of the easiest ways to automate AI prompts is by using Airtable.

If you have an enterprise plan, you’ll gain access to the AI Assist field type, which will let you create a prompt by combining the contents of various fields in your table. 

Then, you’ll get the response in a separate field of the same table. 

You can check out our tutorial here for information about using Airtable’s AI assist field

Automate an AI prompt with Zapier or Make

If you don’t already have an Enterprise account for Airtable, then it will be much cheaper to set up the automations with tools like Zapier and Make instead. 

Zapier and Make are no-code automation tools that let you automate thousands of actions in popular web apps, including sending prompts to OpenAI. 

They both have free plans, as well as affordable paid options that begin at around $10/mo for Make or $20/mo for Zapier. 

To get started, check out our tutorial for automating OpenAI prompts with Zapier, or our similar tutorial about Make

 

Creating an automated prompt involves a bit more work than just using a Chatbot, but it’s a great way to make your most common AI tasks more consistent and reliable. With automated prompts, you can elevate AI from an ad-hoc improvised solution into a fully integrated part of your workflows. 

Create custom, royalty-free graphics with AI

AI Language models like ChatGPT often get the most attention due to their easy accessibility, but AI is not just limited to creating text. 

With models like Dall-E and tools like Midjourney, you can use AI  to create detailed graphics in any style with a simple prompt. 

AI image generation can be a quick and cheap way to obtain a custom illustration, icon, or other graphic when your project simply doesn’t have the budget for a human artist or illustrator. 

When to use AI-generated images

Note: the following is NOT legal advice. Consult with your own legal team before using AI images in your project. 

Although the legal details of AI are still being worked out, currently, any graphics generated by AI are not protected by copyright, and you won’t have to pay any royalties to use the images commercially. 

However, this also means that anyone else can theoretically reuse those images as well, so we wouldn’t recommend using AI to generate key aspects of your brand, like your logo or a mascot. 

AI image generation is better suited to creating one-off graphics for specific pages on your site, for a newsletter, or for a blog. 

Getting started with AI images

To begin making graphics with AI, you can just go to Midjourney.com and sign up for the beta. You’ll get a free trial that includes about 25 prompts to get started. After that, paid plains begin at $10/mo. 

Alternatively, ChatGPT plus includes Dall-E image generation with its $20/mo subscription fee. 

With both apps, you’ll find that sending image prompts can be a little more complicated than going back and forth with text alone. However, after you get the hang of it, you’ll be designing awesome graphics in no time. 

Use new AI features in your current software

Everything we’ve highlighted so far has been a standalone tool, but many apps are actually integrating AI directly into their existing software. 

Many of the tools you likely use every day are creating fantastic ways to streamline and enhance your daily work with AI. As just a few examples, you can see new AI features in Notion, Arc Browser, and Zoom. 

Use Notion AI to quickly transform and generate text

In Notion, there’s a new AI assistant integrated seamlessly into your pages and content. 

You can see more detail in our Notion AI tutorial, but in essence, Notion AI lets you simply highlight text to send a related AI prompt, or open up a familiar chat window to submit your request. 

All of the AI answers are output directly onto your current Notion page, and they include all of Notion’s native styling options. 

Notion AI costs $10 per user per month on top of your existing Notion plan. 

Get AI answers about any web page with Arc

In the web browser Arc, you can now use an AI-assisted “find” function powered by Anthropic. 

Just type cmd + F and ask the AI anything you’d like about the current page you’re visiting. 

It will then give you an answer based on the page’s contents, making it faster than ever to get the information you’re looking for. 

Arc and its AI functions are free to use, but it’s currently only available on Mac and iOS devices. 

Summarize and enhance your meetings with the Zoom AI Companion

Zoom’s new features use AI to summarize meetings, add chapters to meeting recordings, give feedback on your presentation skills, and more. 

The Zoom AI companion is included with any of Zoom’s paid plans, which start at $16 per user per month.

 

This quick list is just scratching the surface. Hundreds of tools are building native AI features right now.

Check to see if the apps you’re using every day have added new AI functions. These features will help you get your work done faster and more effectively with barely any learning curve at all, since they’re built right into the apps you already rely on. 

Create a custom AI chatbot for your company

Finally, the last recommendation that we wanted to discuss today is to create a custom chatbot for your company. 

These chatbots will train an AI on any unique data that you have about your business. This could be your website, blogs, case studies, videos, or any other material you have on hand. 

In addition to uploading data en masse, you can also provide a specific directive to further refine the chatbot’s behavior and tone. 

You could create a chatbot that responds to general inquiries, or make one that serves a more specific purpose like helping a new team member navigate your employee handbook. 

AI chatbots are a rapidly growing service, with many companies emerging over the last year that specialize in producing them. 

Build a chatbot trained on your company’s data with Chatbase

For instance, there’s Chatbase. Built on OpenAI, Chatbase integrates neatly into any website with a simple embed code snippet, making it easy to answer any questions a prospective customer might have. 

Create chatbots, automation and more with Stack AI or Respell

If you’re looking to go beyond just creating a bot that answers questions from clients and leads, you may want to consider a platform like Stack AI or Respell

While they both allow you to create a Chatbot, each platform also promises wide-ranging support for workflow automation with AI tools. 

Build an internal chatbot with a custom GPT

And as always, you can also turn to the reigning king of AI, ChatGPT. 

In a recent update, OpenAI added the ability to customize ChatGPT’s behavior with a user’s own data and instructions, creating custom GPTs for nearly any purpose

However, for the time being, there’s no easy way to embed a Custom GPT into your own website. If you want to create a seamless experience for your users, the other software we’ve mentioned will likely be a better choice. 

But if your use-cases are primarily internal, a custom GPT is a reliable option

Creating a custom chatbot will generally be a bit more difficult and pricey than the other strategies we’ve discussed, with many of these apps starting at around $100/mo or more for a team plan. 

However, getting a good chatbot up and running can save you countless hours on fielding basic inquiries, and can provide your users with more consistent answers. If you want to get your customer interactions down to a science, an AI chatbot is the way to go. 

Get ahead of the crowd with AI

Integrating AI into your company is not just about adopting the latest trend in tech. It's about reshaping how you work, enhancing your team’s creativity, and making all your operations more efficient. 

As AI continues to evolve, its potential applications in the business world are practically limitless. Use the techniques we’ve covered in this article to start embracing AI today and stay ahead of the curve and your competition. 

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

Tutorial
December 11, 2023
How to Create Custom Zapier Actions with AI

For no-code builders, nothing was more annoying than getting a Zap set up only to realize that Zapier didn’t actually support the actions that you want to automate. 

Of course, you could always create a custom action with an API call, but that could be pretty tricky if you didn’t know how to code. 

Thankfully, Zapier has now added a new beta feature to create custom actions with a simple AI prompt. 

In this post, we’re going to show you how to use App Extensions to build almost any action that you want in Zapier – no code required. 

We’ll explain how App Extensions work, and we’ll show you how to create and use extensions step by step. 

We’ll focus on using AI prompts to build an extension in this guide, so no coding knowledge is required. However, a little familiarity with web development and APIs may make things a bit easier. 

Let’s get started! 

What is an App Extension in Zapier?

First, let’s start with the basics: what is an app extension?

An app extension is a way to add a custom action to an existing Zapier integration. It’s useful when Zapier doesn’t have native support for what you want to automate. 

To easily see what Zapier or other automation providers natively support, you can just do a quick search for the apps you want to automate on XRay.Tools. If you don’t see your desired action in the list, then it’s not supported. 

For instance, Zapier never supports automatically deleting objects in your software, so if you’d like to add a “Delete” step to an automation, you’ll need to use an app extension. 

You can use extensions to automate any action that’s supported by the relevant application’s API. You can check your app’s API docs to see what is and isn’t supported if you’re not sure. 

If you’d like to learn more about APIs and low-code building in general, you can explore some of the articles listed here:

Why you can automate nearly any web app

How to write API calls in Zapier

Understanding API price hikes

Using App Extensions in your automations

A finished app extension will closely resemble a normal action in Zapier

Once it’s built, you’ll be able to select it from the appropriate app’s “event” list, fill in its required inputs, and use it like any other action. 

Just note that you’re not currently able to create custom triggers, just actions. Additionally, Extensions are a beta feature, so they’re still evolving as users try them out.

Quickly build an App Extension with AI

Some simple actions will only require filling in a URL and identifying a few key variables, while some more complex actions will require some scripting. 

However, any action can be built manually, or created with a quick AI prompt. 

Even if you’ve never so much as written an API call before, you can start adding custom actions to your Zaps. 

Automatically deleting old records in Airtable: our example automation

For this tutorial, we’re going to use our Zapier extension to automatically delete records from Airtable. 

Below, you can see a possible trigger for this automation. It runs whenever a record enters the “Archived - Ready to Delete” view in a “Tasks” table. 

In the Tasks table, records enter the “Ready to Delete” view when they match the following conditions:

• The status must be “archived”

• The created date must be more than 1 year ago

As you can see below, there are a few records in the Tasks table that match those conditions. 

WARNING: Be careful when deleting data automatically

Before we continue and demonstrate how to create a custom App Extension, we want to give you a quick warning first.

Always be careful when using automations to delete data. 

Deletion will usually be permanent, even when conducted through tests. 

Before proceeding with any automation that’s designed to delete data, back up any relevant data. To quickly back up almost any database, you can always just export a CSV. 

Additionally, while building the automation, make sure you choose the right app, database, table, profile, and other information while configuring actions. 

How to create an App Extension in Zapier

With your data backed up, let’s dive into creating a Zapier Extension with AI. 

To create an extension, begin by opening up a Zap. Currently, you can’t create extensions for triggers. They only work for actions and searches. Hopefully, Zapier will update this feature soon to include triggers. 

For now, you’ll need to create a trigger manually as you normally would in Zapier. For our example, we’ve already created an Airtable trigger, as we covered earlier. 

Give your trigger a test to pull in some data. After testing our trigger, we can see an old record that’s ready to be deleted. 

Next, add an action and pick the app that you want to use. For our example, we’ll use Airtable, since we want to delete a record from an Airtable base. 

Then, click on the ‘Event’ dropdown. At the top of the menu, you should see an option that says “Custom Action (Beta)”

Click on “Create Custom Action” to open up the Zapier extensions page.

Start creating an App Extension with an AI prompt

At the top of the page, you’ll see a large section where you can enter an AI prompt. 

If you scroll down the page, you’ll see fields and menus which will let you build the extension manually. 

But as we noted earlier, we’ll focus on building with AI for this tutorial. After you enter an AI prompt, all these sections will be filled in for you. 

Go back to the AI prompt section at the top of the page, and enter a prompt describing what you want to build. 

Be direct, and be as specific as possible. In our case, our prompt is going to be very simple: “Delete a record in Airtable”. 

Once it’s all set, click “generate” to submit your prompt. 

Review and edit the AI-generated extension

Next, you’ll see three options that attempt to recreate what you’ve described in your prompt. You can read the summary of each option for more information about what the action does. Note that the API method will be listed in the top left.

For our extension example, the method for each option is always DELETE, since we want to delete a record. 

If you want to create an object, you should see POST as the method. To update, you’ll need to use either PATCH or PUT, and for a search, you’ll need GET. Make sure to pick an option that uses the appropriate method. 

Zapier also includes the exact API route here, but unfortunately, it’s heavily truncated. We can only see the start, which doesn’t really tell us much. All we can see is that it’s accessing the Airtable API - which is pretty obvious. To see more information about any of these potential extensions, click on “Build”.

Once you click “build”, Zapier will actually start creating the extension in the background. This can take a little while. 

When the extension is ready, you have the choice to either preview it or use it right away. It’s best to take a closer look at what the AI put together before continuing, so click on “Preview”.

In the preview window, you can see more detail about the extension the AI created.

Review the API Method and URL

Under “API”, you’ll see a small table with the Method and URL being used in the extension. Just as before, we can see that the method is DELETE. But now, we can see the full URL.

The curly brackets indicate variables that you’ll have to fill in when you add the step to your Zap. For our example, we’ll need to identify the base, table, and record ID. 

Add custom code to the body if needed

If custom code is required, it will be written in the “Body” section. It won’t be necessary to enter anything here for our example, since we’re just deleting the record identified in the URL.

For other actions, though, you might need to add more information here. In general, though, the AI should take care of it for you. Most API calls have URL encoded data, which doubles as instructions. This means that the method and the URL (complete with variables) are often the only pieces of information that you need for a successful API call.

Review input fields

Under Input Fields, you can see all of the information that can be filled in when using the extension as a step in one of your Zaps. In this table, you can see several attributes for each input field.

Key: Used behind the scenes to identify the field. You can see this in the URL, for instance.

Label: Identifies the field to users

Help Text: Provides explanations on what the data is used for.

Required: Indicates if the field is mandatory, with required fields marked as "true".

Data Type: Shows the type of data needed (e.g.,string [text], numbers, date/time, etc.).

Dynamic: Specifies if the field has a dynamic dropdown menu for input.

• Choices: Lists multiple choices for fields set up as dropdown menus.

Placeholder Text: Displays example or guiding text for each field.

Note that these fields here won’t always match up 1:1 with the variables in your extension’s URL. That just happens to be the case for our example. As you build your own extension, you may see some variables in the “Body” portion instead. 

Take a moment to review all of the info listed in the preview window. If it looks good, click on “Use”.

Finalizing and using your app extension

The preview window will close, and you can scroll down to see your extension’s settings. 

Everything you see here should match what you already saw in the preview, but now, you can edit or update anything that you’d like. Just make sure to reference your app’s API docs to make sure your edits are correct.

You can also add query parameters or additional headers to further refine the data created or retrieved, though that won’t be necessary for our “Delete” action. 

Once you’ve confirmed all of your settings, your extension should be ready to go. Click “Save” to complete the extension and commit any changes you made. Then, publish it so it will show up in your action list.

Accessing your app extension

Now you can return to your Zap. Refresh the tab in your browser so Zapier retrieves the latest data from your extension. Go back to action in progress, and click on ‘Event’. You should see your new extension as an option. Click on it to use it.

Sign in or choose an existing authorized account to use for this action. 

Now, you can configure the custom extension like any other action in Zapier. For our “Delete a Record” action, we’ll just fill in static values pointing to the right base and table. Then, we’ll retrieve the record ID dynamically from the trigger. 

Once you’ve filled in all the necessary fields, give your action a test.

Pictured below, you can see the test record that Zapier retrieved. This is the record that should be deleted when we run the test. 

Now we’ll test the action in Zapier. 

Testing your app extension

The test appears to be successful, as indicated by the 200 response code. 

If your extension doesn’t work, you’ll likely see a 400 or 500 server code instead. You can see a fun reference guide here fur every possible server code

However, it’s always possible that your extension may have technically worked and run correctly, but isn’t actually configured the way you want it to be. If, for example, the AI chose the wrong method and tried to update data instead of deleting it, you may see a “successful” 200 message even when your extension isn’t getting the desired results. 

As such, it’s always a good idea to check your apps after running a test in Zapier to make sure that data was deleted, created, or updated in exactly the way you intended. 

When we check our example Airtable base, we can see that the chosen record was deleted. 

Again, as we noted earlier, be very careful when using a Delete action. It will immediately and permanently delete your data, so make sure you’ve configured everything correctly and backed up any important data before proceeding.

If you need to update your Extensions, just go to zapier.com/app/extensions.

Then, select the extension you want to review, and make any edits you’d like. You can also add new extensions from this page.

Easily add support for custom actions in Zapier

Zapier doesn’t always support every action you want to automate right out of the box. 

But with Zapier extensions built by AI prompts, it’s easier than ever to add any functionality you want to your Zaps, so give it a shot today. 

To learn more about using Zapier and its latest features, check out our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Tutorial
December 4, 2023
Softr Beginner's Guide

Beginner’s Guide to Softr

How would you like to build a web app without writing any code at all?

With Softr, you can do just that. 

In this post, we'll show you how to get started with Softr and begin building no-code web apps that connect seamlessly with Airtable. 

We’ll explain what Softr is, and we’ll walk you through the process of building your first Softr app connected to an Airtable database. 

Throughout the guide, we’ll demonstrate how to connect a data source, display and edit a list of items from that data source, create new pages, and add custom blocks to your app. 

We’ll also cover several options for managing users in your Softr app, like creating a sign-in page and setting up user groups. Along the way, we’ll cover lots of different settings for customizing the visual layout of your web app and other configuration options. 

Lastly, we’ll take a quick look at the pricing plans that Softr currently offers. 

If you’re brand new to Softr and want to start building no-code web apps quickly, this beginner’s guide will be the perfect place to start, so let’s jump into it!

What is Softr?

We’ll start with the basics. What is Softr?

Softr is a tool for building no-code or low-code web apps while using data from apps like Airtable. In a certain sense, Softr is loosely similar to website building apps like Webflow, Wix, Wordpress, and others. 

But the key difference is that Softr natively connects with data sources like Airtable and Google Sheets, and enables users to sign in and access that data. This lets you easily build a database-connected web app without needing to write any code at all. 

Build a no-code web app with an Airtable backend

A record in Airtable or a row in Sheets becomes a dynamic object in your Softr Web app. 

Softr makes it simple to create portals where colleagues, clients, investors, students or anyone else you want can sign in. Then, they’ll be able to view the data you’ve stored in Airtable and interact with it just like they would in any modern web or mobile app. 

Essentially, Softr lets you create a public front end for an Airtable backend, giving you a convenient way to view, share, and update your Airtable data. 

Limited aesthetic customization

However, there is a tradeoff. While Softr is great at connecting to your Airtable data, it has far less visual customization than a typical website builder like Webflow or Wix. 

If your project is an informational site first and foremost, you’ll likely be better off with a run-of-the-mill website builder.

However, if you want to build a no-code web app that supports user sign-in and is populated by dynamic data sources like Airtable, Softr is a great choice. 

With all of that in mind, let’s dive in and start building your first Softr app

Create your first app and connect a data source

To dive into Softr, we'll show you how to set up an account and build your first web app step by step. 

In our example, we'll be building a Job applicant tracking portal, but the basic principles for creating a Softr app and connecting to a data source will apply to any project you want to create.

You can also use Softr to create a client portal where your clients can access your shared documents and assets. 

Alternatively, you could create an app that compiles key metrics for investor reports.

Or you could even connect your Softr app to ChatGPT for AI-generated summaries and meeting transcripts. 

Create a Softr account and follow along for free

Whatever you want to build, go to softr.io to get started.

Then, sign up for a free account, or sign in if you already have an account. 

Next, Softr will ask you some questions about how you want to use the app.

Your answers will supposedly personalize your experience a bit, but really, these are just there to give Softr’s marketing team some useful data. You can fill in whatever you’d like here.

 

Once you've finished the survey, you'll see an option to start a free trial of Softr’s premium features.

You can start a free trial if you’d like, but everything we're covering today will be accessible through the free plan, so it’s not necessary for this tutorial. You can follow along even if you've already used up your free trial. 

Pick a project from the template gallery

Next, you'll see a screen with several templates you can use to create your first project.

Templates are an easy way to get started, but they’re not required to create an app in Softr. 

You can always select “blank application” if you’d like to build your app from scratch. 

However, we'll be starting with a template in this tutorial.

By using one of Softr’s templates and copying their provided Airtable base, you can create and edit a functional app much faster than starting from scratch. 

In the Softr template gallery, you’ll see templates for an employee directory, inventory management, project management, a student portal, and a lot more.

To preview any of these templates, you can just click on them. Select the “Applicant Tracking” template to take a closer look. 

 

On the left, you'll see a text description of the template and all its features. On the right, you can find screenshots of what the template actually looks like, along with a live preview.

Click “Use template” to apply it to your app. 

Configure your Softr app

Now, Softr will quickly walk you through what you need to do to complete the initial app setup. 

You’ll need to:

1. Connect a data source (Airtable)

2. Grant Softr access to your Airtable workspace

3. Copy Softr’s template to your Airtable workspace

Softr will walk you through each step as you go. Note that if you create a new Airtable workspace during step 2, you may need to click on “Cancel”, then “Retry” the authorization process. That will refresh the list of available workspaces. 

Review the Airtable template base

Once you’ve copied Softr’s template to your workspace, it will open up in a new tab in your browser. 

As you're reviewing this copied base, just note that some features may not work if you're using a free plan in Airtable. 

For instance, any extensions like the ReadMe won't be accessible. However, you can find the ReadMe in the resources board for this beginner’s guide

Additionally, despite these extensions not working, the connection between Airtable and Softr will still work just fine.

Finish your initial app setup

After taking a look at the newly copied base, you can switch back over to Softr.

Softr confirms that the template base has been copied to Airtable, so you can click “Create Application” to finish the initial setup of your Softr app. 

The next screen you’ll see confirms that the connection has been established.

Click “Go to app” to open up the editor where you can view and manage your new Softr project. 

In this editor, you can add pages to your app, add content blocks to your pages, and customize several technical settings. 

But we'll cover all of that later. 

First, let's see how the connection works between Airtable and Softr.

Testing the connection between Airtable and Softr

When you connect a Softr web app to an Airtable base, you establish a 2-way connection you can use to create, edit, and share data. You can use records in Airtable to populate content blocks in Softr, and you can use Softr to create and edit records in Airtable. 

When you create a Softr app from a template, Softr will automatically create a connection to Airtable for you. 

If you’re brand new to Softr and want to learn exactly how this connection works, we’d recommend making a few edits to the Airtable base to see what happens in Softr. If you’re already familiar with how this connection works, you can skip to the next section of this guide: “Adding a new page and a dynamic list to your Softr app”. 

For instance, in the Softr site, you can find a list of “Open positions” on the “Jobs” page: Head of innovation (with a brief description in Dutch), Head of Research, Chief Decision Officer, and Chief Creative Officer. Each job has a title, a description, and a location.

All of these jobs and their data come from the connected Airtable base. Click on the block in the editor to open a configuration panel. In this panel, you’ll see a “source” tab. This will show you the Airtable account, base, table, and view that the block is pulling data from.

In this case, we’re looking at records from the “Approved Positions” view of the “Positions” table in the Applicant Tracking base. You can open Airtable to confirm that the data matches up. 

You should see the same jobs here that you saw in Softr, including this short description for “Head of Innovation” in Dutch. 

Editing your app’s data through Airtable

You can still freely edit data in an Airtable base that’s connected to Softr. According to ChatGPT, that means something like “Really do it”, so let’s change this description to “Really do it” in English. 

Once you’ve edited your connected data in Airtable, you can go back to Softr and refresh the page.

Now, the old Dutch description is replaced with one in English. 

And with Softr, you’re not just limited to editing existing records. You can also add new records to the Airtable base, or delete the ones that are there, and your changes will be reflected in Softr.

But while it can be nice to edit your web app’s data from Airtable, one of the key benefits of using Softr is that you and other authorized users can also manage data through the web app itself. This can be a convenient way to let collaborators contribute to your Airtable bases without needing direct access.

Editing your app’s data through Softr

While you could achieve similar results with an Airtable interface, a Softr portal will often create a better experience for less technical users. In the Applicant Tracking template, Softr has given us an easy way to add new jobs on the aptly named “Add Job” page.

If you look at the “Add Job” page in the editor, you can see a form for adding a new job, and you can see that the form is connected to the “Positions” table of your Airtable base.

To submit a response, you’ll have to view the live page to see the most recent published version of your app.

Alternatively, you can click on the Preview button to see your app with all of your unsaved changes. 

If you need to sign in, just click on this link to sign in as “Lucie”, a profile that Softr created for anyone to test out the template with. We’ll add a method for signing up with your real email account later on.

Now fill out the form with a test response. 

When you click “Add job”, it says a new role was successfully added. But when you check the “Open Roles” page again, you won’t see the newly submitted job. 

If you go back to the editor, you can see why. The “Open roles” list pulls data specifically from the “Approved Positions” view. 

When we submitted a job through the form, the “Approved” field wasn’t included, so the job wasn’t marked approved. Over in Airtable, we can see our submission in the “All positions” table, so the form worked correctly.

The job just needs to be approved first before it can appear in the “Open roles” list. We could update the job listing in Airtable, but instead, we’re going to show you how to make a new page in this Softr template specifically for approving jobs.

Adding a new page and a dynamic list to your Softr app

By creating a new page to approve jobs, you'll learn how to:

• Create and link pages

• Add and customize blocks

• Manage data coming from an Airtable connection

Let’s get started!

Add a page to your Softr app

To add a page to your Softr app, click on “Pages” in the left-hand menu. Then, select “Add new page”. 

Your new page will essentially be a blank slate to start from. The only content you’ll see will be the header and the footer, which are automatically added to every page on your Softr app. Both of these can be edited and styled from the home page. 

Add a block to your new page

To add a new content block to your page in Softr, just hover your cursor beneath the header, and click on the plus sign.

You’ll see a menu of blocks that you can add to the page, sorted into two main categories: Dynamic and static. Dynamic blocks are populated with data from a source like Airtable, while static blocks will simply display the text, images, and other content that you provide directly. Let’s start with a static block.

We’ll add a hero section to this page that explains what it’s for. As you’re perusing the various content blocks in Softr, bear in mind that all of these elements can be customized. Most buttons, labels, and images can be rearranged, hidden, or deleted if you want.

Don’t worry about finding something that looks exactly like what you want. Just pick any block that looks pretty close. We’ll go with “Hero with call to action”. 

We don’t really need that button, but it’s no big deal - we can just remove it later. When you click on the block, Softr will add it to your page below the header.

Editing and configuring a Softr content block

Now, let’s edit our new hero section. Click on any block to open up a configuration menu on the right. 

For the most part, Softr does not use a drag and drop interface. Instead, you’ll usually edit each block by selecting it, then configuring it through menus like this.

In this “features” tab, you can edit things like the block’s title and subtitle, the hero image and its layout, and more. We’ll add a brief title and subtitle to the block. 

Any elements in a block that you don’t want to display can often be hidden or deleted. Just select the element in the right-hand menu, and look for a delete (trash can) or hide (eyeball) icon. 

For instance, we’ll delete the button from our hero block .

The other two tabs, Styles and Visibility, are available in every block in Softr. Under “Styles”, you’ll find some additional visual customization options. You can adjust the padding at the top and bottom of the block, change the background color, and add borders if you’d like.

Under visibility, you can choose to make the block visible only to users who are signed in.

From there, you can also choose to further restrict visibility to users who are signed in and belong to a specified user group. We’ll cover user sign-ups and user groups in more detail later on. 

For now, this static hero block is all set. Next, let’s add a dynamic block where we can approve jobs.

Add and configure dynamic blocks to your Softr app

To update data in Airtable from Softr, you’ll need to:

 

1. Add a dynamic list block to your page

2. Add an “Edit” action to a button in that list block

Add a “list block” to your Softr page to display data from Airtable

Add a new block to your page by hovering your cursor underneath any block, and click on the plus sign.

Then, browse through the blocks available under the “Dynamic” tab. 

You can choose any of them, but we’ll go with the “List with horizontal cards” block in our example. If you don’t see that option under “Suggested blocks”, just scroll down for more categories. 

Next, under this source tab, you’ll need to specify where the data that populates this list should come from.

You’ll have to pick from data sources already connected to Softr, like the Airtable workspace you connected to the app when you created it. Then, select the base. With this template, the relevant base will be called “Applicant Tracking by Softr”.

Select the table you want to refer to. We want to edit the job listings in this block, so that will be “Positions”. Once you’ve chosen a table, Softr will begin auto-mapping fields from Airtable to the list. It might not map all of the fields very well, but it should at least give you a decent starting point. You can update it later to map all of the fields to the correct content.

Filter your data in Softr by creating views in Airtable

Next, choose a view to display. You can choose any view that you want. But since this page is all about approving jobs, it would make sense to limit the list to only show jobs that haven’t been approved yet.

You could do that with a filter in Softr, or we could accomplish the same thing by creating a dedicated view in Airtable.

We’ll switch over to Airtable and quickly make a filtered “Pending Approval” grid view that only shows records where the status of the “Approved” field is not “Approved”.

After creating a new view in your connected Airtable base, you may need to refresh the base in Softr. You can do that by clicking on the “refresh” icon next to the base’s name. 

After refreshing, select your newly created Airtable view.

Now, the list will only display records from the “Pending Approval” view. 

Under “List settings”, you can choose how many items to display on each page, and set a sort order. You can choose to sort by any field from your Airtable view, even if that field isn’t mapped to any content in the list.

Adding conditional filters in Softr

Next, you can narrow down your list further by adding conditional filters. You can set conditions here much like you would in Airtable. However, as Softr notes when you start creating a condition, “Editing mode doesn’t show accurate filtered results”. The items you see on the left may not reflect the items that you’d see in the published app.

Because of these limitations in Softr filters, you may prefer to apply all of the filters you want to an Airtable view, then set that view as the default for your list. That way, you’ll see an accurate list of data even when you’re in editing mode. 

However, you may not always want to clutter up your Airtable base with another view, so the choice is up to you. 

For our example, we’ll just display all the records in our chosen Airtable view, and skip adding any conditional filters in Softr. 

Add an empty state to your Softr list

Next up, you can choose what to do when your filter returns no results. In other words, if there are no jobs to display here, this is what Softr will display instead. By default, the list will show an “empty state” message.

You can customize that message under the “Empty State” heading here. Alternatively, you can choose to hide the block entirely if there are no results to show. We’ll go with an empty state message, and customize it a bit for our use case. 

That covers all of your options in the Source tab.

Choose what data to display in your list block 

Under the “Content” tab, you’ll see several options for configuring what data is displayed in your list, and how it’s styled. 

There are lots of useful settings here, but the most important option is “item fields”. This is where you can choose which fields from Airtable are displayed in your list, and what they look like.

You’ll see all of the fields that Softr automatically mapped here, and you can edit them however you’d like. For instance, this first H2 content area that acts as a title for each item is mapped to the “Name” field. 

When you select any item here, you can adjust various settings. Since this H2 is a key part of the list block, you can’t change its type. 

However, you can change the field it’s mapped to, or click the “hide” button if you don’t want it in your design. 

In our example, we want to keep the H2, but we don’t really need the image or the divider, so we’ll hide both of those.

Next, the design has an element for an email address, but that’s not relevant to our data, so we’ll delete that, along with the icon and star rating elements. 

Add fields to a list block and map content

Our list is looking a little barren now, but we can easily fill in these cards with more pertinent information now. First, we’ll add a field for the description.

To add a field to a Softr list, just click on “Add field”. Then, choose the field type. 

For instance, we’ll use “Rich Text”. 

For “Content”, choose the field from your data source that this field should be mapped to. In this case, that will be the “description” field.

Note that as soon as you map the field, you should see the content appear in the editor. 

Finally, you can give this element any label you want. We’ll just call it “Description”. 

That gives each job listing a little more context. To finish up, you can add and map any other fields you’d like. 

If there’s a field you want to include that isn’t in Softr’s Airtable template, just add it to Airtable directly, then map it to your list in Softr. 

Add a button to edit records in your Softr list block

After mapping all of the fields that you want to include in your list block, you can now see all of the data from your chosen Airtable view. 

However, you still need to add a way to edit that data. 

To edit items in an Airtable database from Softr, you need to add a button from the “Actions” tab in the block configuration menu, and set up an action for it to perform. 

Topbar buttons

You should see that an “Add record” button is already included here under the “Topbar Buttons” section. Buttons added in the Topbar section will always perform the same action.

For instance, they can open up a specific URL, scroll to a point on the page, or let you add a record - which is what the default button in this block is set up for. 

Since you have a way to add records on another page in this template, you can just delete this button. 

Editing records with an Item Button

To edit a specific record, you’ll need to add a button in the “Item Buttons” section.

An “Item button” will perform an action related to the item that it’s connected to. When you add an item button, you have a few options. The button could open the details page for each record, or perform similar actions to a top bar button, like “open URL” or “scroll to”.

To edit a record, you’ll have two options: “Edit record” or “One-click update”. 

“One-click update” will let you update a single field of the record to a specific value by just clicking once on the button.

“Edit record” enables users to manually edit records however they’d like for specific fields you configure.

Let’s use “Edit record”. 

Once you add an “Edit record” button, you’ll see all of the fields that can be edited when clicking on the button. 

By default, Softr will only include the fields that are mapped to your list, but you can also add other fields from your Airtable view here.

Just click on “Add field”, choose the field type, and map it to the corresponding Airtable field. We’ll add a dropdown field for the “Approved” field and sync the options from Airtable. 

Then we’ll give it a label and placeholder text.

You should now be able to update your Airtable records from the Softr app, so give it a try. Click on the preview button to open up the app.

Click on the “Edit” button to edit any record. 

For instance, we’ll just pick the first one in the list. We’ll change the name to “Test record - updated through Softr”. Then, we’ll set the status of the “Approved” field to “Approved”. 

To submit your changes, click on the “Update” button.

Immediately, the record will disappear from your Softr list. 

That’s a good sign - your connected Airtable view only displays records that aren’t approved, and you just approved this one. As such, it shouldn’t be included in that list anymore.

Just to confirm that you were able to update the Airtable record via Softr, check your Airtable base. You should see your test record in the “Approved Positions” view. 

Adding a page to Softr’s navigation menu

Before we move on, the last thing you’ll need to do with this page add an easy way for users to find it. 

Whenever you add a page, it won’t be added to your app’s top nav menu automatically. If you want it to be easily discoverable, you’ll have to add it manually. 

To add pages to the top nav in Softr, open up your Softr project in the editor. Then, click on “pages” and open up the “Home” page. In Softr, you can only edit the header and footer from the Home page. 

Select the header block, then scroll to the bottom of the “Links” section and add a link.

Give it a name. Call it something like “Review Jobs”. Then, add an action, and choose “Open Page”. 

Select the “Review Jobs” page you made earlier. 

Publish your changes, then open up your Softr site.

Now, you can click on the “Review Jobs” nav item on your live app to open the page you just made. 

All the pipes are connected, and you can now update Airtable records from Softr. 

Create a user sign-up page in your Softr app

Our app is starting to come together, but you may have noticed that there’s no way for users to sign up! 

You can sign into the “Lucie” account with the credentials that Softr provided, but there’s no button or option to sign up and create a new account in the template. Creating and managing users is one of the most useful features of Softr, so let’s dive into creating a user sign-up feature and the appropriate page.

Add a sign-up block to your app

First, we need to add a new page to our app. Name this page “Sign Up”. This will be the gateway for new users to create their accounts. 

On your new “Sign Up” page, add a dynamic block under the header. Scroll down to the “User accounts” section and select the “Sign up” option.

Under the “Features” tab, you can choose which elements are present in your sign up form and customize some design settings. For instance, you can add your own logo and background image to match your brand's style. 

Under the “Sign up Form” heading, you have a couple of important options.

“Form container” will just add a drop shadow and rounded corners to your form, but “Sign up with Google” and “Domain-based sign up” are important functional choices. 

If you enable the “Sign up with Google” feature, you can let your users sign up with Google OAuth for a streamlined process. However, this requires additional setup with Google Cloud, so we’ll skip it for the time being.

Domain-Based Sign-Up is a fantastic feature for building internal apps. It allows you to restrict sign-ups to users from a specific domain. For our example, we could limit sign-ups to email addresses that include the “xray.tech” domain, ensuring only our team members can create accounts on our app.

Customize your sign-up form

Next, you’ll see options to choose which fields you want to include in your form. Softr provides default fields like Full Name, Email, and Password, but you can add any other fields that you’d like here. For instance, you might want to include “Company Name” or “Job Title”.

In the “Terms and Conditions” section, you can decide whether or not to display links for terms and conditions. Providing terms and conditions is crucial for GDPR compliance, so be sure to enable this if you’re looking to adhere to their regulations.

Add a “Sign In” option

The “Show sign-in” button will add a sign-in button to your form for users that already have an account. By default, this button isn’t linked to any action, so you’ll need to set it up. 

Add an action. 

Then, have your “Sign in” button open up the “Sign in” page that already exists.

Next, you can configure the form to redirect users to a specific page once they sign up. The default is set to the Home page. You can just leave that as-is. 

To prevent bot sign-ups, you can enable reCAPTCHA. This feature, like Google Sign-Up, requires additional setup with Google, so we’ll skip it for now.

Connect your sign-up form to the “Sign In” and “Home” pages

Your sign-up form is all set now. You can also customize the styles and visibility of your sign-up form, just like any other block in Softr, but we’ll leave those options as they are in our example.

The last thing you need to do before you can properly test your Sign Up form is to add it to the existing “Sign in” page and “Home” page. 

Go to “Pages”, and select either of the two pages. Then, click on the “Sign in” block. Scroll down to the “Show Sign Up” toggle, and enable it. 

Then, add an action to open up the Sign Up page. 

Repeat this process for the other page, so that you have a “Sign Up” option on both the “Home” and “Sign In” pages. 

Publish your changes, then open up your app.

Testing the sign up feature

If you’re already signed in with the “Lucie” profile, sign out. 

Then click on the “Sign Up” button and create a new account. 

Once you’ve created your account, you’ll be taken to the homepage, and you should see your account’s initials in the top right-hand corner.

You should now be able to use the app just as you could before with the example credentials provided by Softr.

Create user groups in Softr to manage access

Now that you’ve enabled users to sign up, you may want to explore user groups to control which content is visible to which users. 

Right now, our example app here is focused entirely on applicant tracking. But later, we may want to add basic task management, or time-off requests and other HR options.

Not every page and block will be appropriate for every single user, even if they’re signed in and verified as part of the company. 

For example, you may only want hiring managers to see the “Review Jobs” page and be able to approve or deny job listings. To do that, you can create a user group.

Add a user group in the “Users” menu

To create a user group, click on “Users” in the left-hand menu of the editor. 

You’ll see a list of all your app’s users here. Note that you will be able to see their names and email addresses, but passwords won’t be exposed.

Select the “User Groups” tab, then click on the “Add user group” button. 

Give your group a name. We’ll call ours “Hiring managers”. 

Then, you’ll be able to choose the people that will belong to this group. You can either add users manually, or add them automatically based on certain conditions.

You can set these conditions based on any data that’s available in the user’s Airtable record connected to your Softr app. For instance, you might want to add an “Internal” user group for every user with an email address from your company. 

For our “hiring managers” group example, we’ll just add users manually. We’ll add the account we just created to the group. Once you’re done adding users, click on “Save”.

Restrict pages and blocks to specific user groups

Once you’ve created at least one user group, you can make it so certain pages and blocks are only visible to specific user groups. 

To set the visibility of a page (such as the “Approve Jobs” page), open up the “pages” menu, click on the three dots next to the name of the page you want to edit, and select “Settings”. 

Then, select “Visibility”.

Under “who can see this page”, you can make your page visible to all users, logged-in users, or non-logged-in users. We’ll choose “logged-in users”. 

Under “Which user groups”, you can narrow the visibility down to specific user groups. We’ll choose the only user group so far: “Hiring managers”.

Once you’re done configuring the page’s visibility, click on “Save”. 

Testing a page’s visibility settings

After changing visibility settings, publish your site and give your page a test to make sure everything is working as expected.

To test thoroughly, you should sign in with one account that can see the page, and one account that can’t. You can use the “Lucie” account to help test the app. 

When we access the site with our XRay Tutorials account, we can see the “Approve Jobs” page, since that account is part of the “Hiring Managers” group. 

But when we sign in with the Lucie account, we only see a “permission denied” message. This is exactly what we expected, since Lucie is not in the Hiring managers group.

Be careful when creating user groups and setting visibility

With user groups, you can create content for everyone at your company with a single Softtr app.

You can even create groups for public-facing content, so anyone can sign up and only see what’s appropriate for them. However, you may want to consider making separate apps for internal use and public deployment.

Softr itself is very secure, but if you’re managing public and internal users in the same app, picking the wrong setting could expose sensitive data.

Additionally, you’ll need to be careful about adding users to multiple groups, particularly if you’re adding them automatically through conditions. They might gain access to pages you didn’t intend for them to see. 

Ultimately, Softr gives you all the tools you need to structure your apps however you’d like. It’s up to you to choose how to set everything up.

A quick overview of Softr’s “Themes” and “Settings” menus

Before we wrap up this guide with a quick look at Softr’s pricing, we wanted to briefly cover a few of the important options that you’ll find in the left-hand menu.

There are too many features here to cover them all in this guide, but we want to highlight a few things that can help as you’re building your apps.

We’ve mentioned it already, but we want to reiterate that “theme” is the best starting point for setting the overall visual style of your app. 

This is where you can set typography, button and highlight colors, display width and more.

Next, the “Settings” button includes about a dozen options for configuring your Softr app. This is where you can set a custom domain, upload a favicon, manage data sources, enter meta tags for SEO, and more. 

Some options, like “custom code” will require a paid plan, but you can try them out with a free trial if you’d like. 

One last option we want to highlight is app history. 

Softr automatically saves snapshots of your app over time. If something goes wrong while you’re making changes and you can’t figure out what happened, you can restore one of these snapshots to quickly get everything working again. 

This can be a lifesaver when you’re encountering issues in your app, especially if you’re working with custom code, so remember that it’s there if you need it. You can also create a snapshot manually if you know you’re about to be making some big changes and want a reliable version to fall back to.

Softr’s pricing options

Finally, let’s go over Softr’s pricing options. You can see all of their current pricing plans in the image below, or go to their pricing page for more information. 

Softr offers a free plan, which is great for trying the app out and evaluating how well it will fit your project.

However, it does have quite a few limitations, and won’t be suitable for building professional projects at a larger scale. You’re limited to 5 internal and 100 external users, 5 workspace collaborators - people helping you build, and 1 custom domain. Also, several blocks and features are not accessible in the free plan, like custom code blocks.

If you’re looking to launch an app with Softr, you’ll likely need to consider a paid plan. These subscriptions start at $59/mo for the “Basic” tier and go up to $323/mo for the “Business” tier. At every subscription level, you can get a small discount if you pay a single annual fee instead of a monthly charge.

There are several specific features unlocked at each level, but in general, higher tiers add more users, more collaborators, and more custom domains to your account. If you’re prototyping a product or building an internal tool, you can probably get by with a basic or pro plan.

If you’re building a public-facing product or a product for a client of yours, the Pro plan might work out, but Business will likely be a better fit. If you’re planning on building an Enterprise app for your organization with Softr, you’ll need to contact Softr’s sales team to discuss the exact features you’ll need, and get a custom quote.

Ultimately, Softr is priced competitively with other website builders like Webflow and no-code app builders like Bubble, but is much more friendly to first-time builders. If you’re OK with giving up some aesthetic customization, Softr can be an incredible tool for building a product fast.

Build a fully functional web app without any code required

If you want to build a web app, don’t let a lack of coding knowledge hold you back. With low-code tools like Softr, anyone can prototype and build a fully functional product. 

After following the steps in this guide, try building anything you’d like in Softr.  You’ll be surprised at what you can do without needing to write a single line of code. 

If you’d like to learn more about getting started with no-code tools like Softr, Zapier, 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
November 27, 2023
Automatically Publish Your Notion Content to Webflow with Whalesync

Want to skip the hassle of copying and pasting all your blogs from Notion into Webflow?

With Whalesync, you can sync a Notion database with a Webflow collection, so every new or updated record is automatically added to your Webflow site without needing to enter your data all over again. 

In this post, we’ll show you how to set up a sync that will let you draft and edit content in Notion and automatically sync it to Webflow. Then, when you’re ready to publish, you can just change the status of a single field in Notion to make your post live. 

Of course, even though we’re demonstrating this sync with a blog, the technique we’ll show you will work with any kind of collection that you’re using in Webflow. 

Team directories, job listings, events, recipes - whatever you’re managing in Notion and Webflow, you can sync it with Whalesync. 

Let’s get started!

What is Whalesync?

First, let’s quickly go over the basics of Whalesync. 

Whalesync is a specialized no-code automation provider. It focuses entirely on syncing databases in different apps.

The software lets you set up one-way or two-way syncs between popular tools like Notion, Airtable, Google Sheets, Webflow, Hubspot, Shopify, and more. 

It’s a great tool for automatically keeping your data consistent and up to date, no matter where it’s stored.

You can learn more about Whalesync on their website. You may also want to explore similar syncing tools like Unito and Exalate

While Unito and Whalesync are both suitable for most companies, Exalate is more of an enterprise solution, with specialized integrations for software like Jira, Zendesk, and serviceNow. 

Now that you’re familiar with the basics of automated syncing software, let’s set up a sync between Notion and Webflow using Whalesync. 

Preparing your Notion database and Webflow collection

First, before you even open up Whalesync, you’ll need to do a little setup in your Notion database.

All you need to do is:

1. Rename your fields to match your webflow collection

2. Add a “Webflow status” field

3. Create a new view in Notion for your drafts

Open the database where you store your blogs, or whatever other data you want to sync to Webflow.

The vast majority of Notion content and field types are supported in Whalesync, so you can leave all your existing fields as they are. 

Whalesync even supports syncing page content, so you can write your blogs as Notion pages within each database item and sync those pages to Webflow complete with all their styling and formatting. 

However, while your basic field setup doesn’t need to change,  we would recommend making sure that your fields all have the same name as their counterparts in Webflow.

That will make it quicker to get your tables matched up in Whalesync.

Add a “Webflow Status” field to Notion to save blogs as drafts

Once your field names are all set, you just need to add one specific field: “Webflow Status”.

If you don’t include this field, every item from your Notion database will be immediately published when it’s synced to Webflow, and you probably don’t want that.

Most likely, you want to be able to work on your drafts in Notion, and then publish them only when they’re ready.

Add a new property, and choose a “Select’ field. Name it “Webflow Status”.

This field must include the following three options: Draft, Active, and Archived. These options will match up to “Draft”, “Published”, and “Archived” in Webflow.

Add a “Drafts” view to Notion to ensure new posts are set to “Draft”

Finally, we’d recommend adding a “Drafts” view to your Notion database. 

It’s not strictly necessary, but it should make it much easier later on to ensure that your newly created posts aren’t set to “staged for publish” in Webflow.

Create a new view and name it something like “Drafts”.

Then, add a filter, and set it to “Webflow Status” is “Draft”.

When you add new posts to this view, they’ll automatically be set to a “Draft” status. 

If you create a record with no status in Notion, it will default to “Staged for Publish” when it’s synced to Webflow through Whalesync.

That means they’ll be published the next time you publish your webflow site, which might not be ideal.

With your properties named consistently, a webflow Status field added, and a new view called “Drafts”, your Notion Database is ready. Let’s check in on Webflow quickly before jumping in to Whalesync.

Check Webflow and Notion for redundant data

There’s nothing you necessarily need to do to prepare your Webflow collection before connecting it to Notion. 

However, note that Whalesync will sync all records in both databases during its initial setup, even if it creates duplicates. 

As such, you may want to delete existing data from either Notion or Webflow before creating your sync to avoid duplicates (but not both). 

Alternatively, you may just want to delete any duplicates that get created after your sync is complete. It’s really up to you. 

Additionally, bear in mind that Whalesync won’t create duplicates after the initial setup. Instead, each piece of content will be updated to match your latest changes. 

Sync Webflow and Notion with Whalesync

Now let’s connect Notion and Webflow with Whalesync. 

Go to whalesync.com, and sign in or create a free account. Note that there is no free plan for Whalesync, but there is a two-week free trial. 

Once you’re signed in, Whalesync will take you to your Dashboard. From there, create a new Base. This is what Whalesync calls the automation that syncs your databases. 

Choose and authorize your apps

Once you’ve created a base, Whalesync will prompt you to choose the two apps you want to sync. 

You can pick either one first; the order doesn’t matter here. We'll pick Notion, then click “Authorize.”

On the next screen, you need to select pages in Notion you want to authorize Whalesync to access.  Make sure to select the page where your Notion database is stored. 

If you run into issues connecting Notion when you select a single page, try authorizing your entire workspace. 

Click “Allow Access”, then save the connection.

Next, connect your second app: in this case, that’s Webflow. 

Once again, click “Authorize”, then choose the workspaces or sites that you want to allow access to. 

Click on “Authorize app”, then save your connection. 

Map your tables and choose your sync direction


With both of your apps selected, you can now map your tables to tell Whalesync which specific data sources you want to connect. 

Click “Map tables” to begin.

Choose the Notion table and Webflow collection you want to sync. Whalesync will automatically look for identically named tables and collections, and will select them for if it finds any matches. 

But if your tables have different names, you can just select them manually. 

Then, choose the sync direction that you’d like to use. You can choose either a one-way sync, or a two-way sync. 

With a one-way sync, changes will only be updated in one direction. In Whalesync’s menu, the arrow points to the app that will be updated. 

If you choose a one-way sync with the arrow pointing to Webflow, changes in Notion will be reflected in Webflow, but changes in Webflow will not appear in Notion. 

A one-way sync like this can be good if you only ever intend to edit in one of your apps. 

However, if you’re looking to use a one-way sync, you may be better off using an app like Zapier or Make to build the automation, especially if you’re not planning on syncing other databases. 

On the other hand, with a two-way sync, changes in either app will be reflected in the other app. 

We’ll use two-way sync for our demo today. 

Next, click “Map fields.”

Mapping fields between your databases

Now, you can specify which Notion fields correspond with which Webflow fields. By default, Whalesync will try to match fields with identical names in both sources.

You can also prompt Whalesync to try automapping again by clicking on “Automap by name”. 

However, if Whalesync missed anything, or if your sources don’t have identically named fields, you can just use the dropdown menus to pair them up manually. 

Note that while nearly all of the fields we’ve selected in our example will support a two-way sync, the “Page Content” from Notion can only sync in one direction. 

It can only update from Notion to Webflow, not the other way around. 

If we used a text field instead of the Page Content from Notion, we could get a 2-way sync. However, by pulling the page content from Notion, we can also preserve all of the heading levels and other rich text styling. 

Plus, it’s much more natural to write and edit blogs in a Notion page rather than in a database field. Ultimately, we believe the benefits of using Page Content outweigh the downside of a one-way sync. 

Once all of your fields are mapped correctly, click on “Save base”. Then, you’ll see a brief summary of the base you’ve created and its fields. 

Enable and test your sync

Click on “enable sync” to activate your automation. 

You’ll immediately see this pop-up window with a few warnings about how Whalesync interacts with Webflow. 

First, it says that you should publish our webflow site before enabling the sync, so do that before proceeding. 

Next, it says that restoring your Webflow site to a previous backup will break the sync, so just keep that in mind going forward. Worst case scenario, you can always just rebuild your sync. It just takes a couple minutes.

Finally, it notes that the initial sync will not merge records. Like we mentioned earlier, if you have the same blogs in Notion and Webflow already, you’ll end up with duplicates, so you may want to delete data in one location before beginning the sync.

With all of that in mind, check the box to acknowledge Whalesync’s warnings, and click “turn syncing on”.

 

Whalesync will immediately begin syncing your blogs between Notion and Webflow. This may take a few minutes if you already have lots of blogs to sync.

Once it’s finished, check your Notion table and Webflow collection. You should see that they both include identical content now. Note that you may need to refresh Webflow to see the latest data.

Finally, to make sure the live sync works, add a new blog to the ‘Drafts’ view of your Notion table.

Then, check your Webflow Collection. Again, you might need to refresh.

In our Webflow example collection, we can see the test post we just created. And critically, it’s set to “draft”, so we don’t need to worry about this incomplete blog getting published.

Now, to test that the sync works in both directions, we’ll edit the post summary in Webflow.

When we go back to Notion, we can see the summary updated to match. The sync is working exactly as expected.

If you want to check the status of your sync, or disable it, you can just navigate to your Whalesync dashboard.

As long as your sync is enabled, your data will be updated automatically in the background.

You can just use Notion and Webflow to create and update your content, and everything will be kept up to date for you.

Track your automations with XRay Workflow

When you set up an automation like this that silently moves data around for your team, it’s always a good idea to keep track of each important piece of the workflow.

With XRay Workflow, you can save the links to your Webflow site, your Notion database, and your Whalesync dashboard on a dedicated workflow board. Then, you can include critical documentation so everyone knows how to use and maintain the automation. 

That way, as your automated infrastructure grows, you can quickly reference and access the critical systems that control each process.

If you’d like to try XRay Workflow, just go xrayworkflow.com and download the app for free.

Skip tedious work and avoid errors with automated syncing

While apps like Webflow are great for publishing your content to the web, it’s often much more convenient to create and manage everything in Notion. With syncing tools like Whalesync, you can ensure that your data stays up to date in both sources without having to perform any manual edits or tedious copying and pasting. 

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

Tutorial
November 20, 2023
Build and Test Your Zaps Faster With These New Features

Zapier is a great platform for building no-code automations, but testing each automated action can often be a little cumbersome. 

Luckily, Zapier has introduced some new features that streamline testing, letting you edit test data directly and test several steps at once. 

In this post, we’re going to quickly show you how to use these new testing features in Zapier.

We’ll start by demonstrating how you can duplicate and edit your test records however you’d like. 

Then, we’ll show you how you can process several untested steps with a single click.

How to duplicate and edit test data in Zapier

Previously, if you wanted to test your Zap with different variables, you would have to create a new piece of data in your triggering app every time. This could become particularly frustrating when testing several paths in the same Zap, since each path may require different values. 

Now, you can build and test your Zap with a single piece of test data, and duplicate it to edit the variables however you’d like within Zapier. 

Here’s how to edit your test data in Zapier five quick steps:

1. Test your Zap’s trigger with at least one piece of test data.

2. Choose the test data you want to use as a starting point. 

3. Click on the “Duplicate to Edit” button in the bottom right.

4. Edit any variables that you’d like in your test data. 

5. Test your Zap with your customized test data. 

Example: editing test data to quickly test paths

When you have a Zap with multiple paths, editing your test data can be an efficient way to test each path and its rules without needing to leave Zapier. 

For instance, we’ve built the Zap pictured below that creates new tasks in an Airtable base whenever a new project is marked as “Ready for Onboarding” in a separate Airtable base. 

The specific tasks that the automation creates vary depending on the project type, so we have three paths here to accommodate each type. 

We’ll test the trigger step to pull in the single record that we currently have in the “Projects” table, and we can see that the “Project Type” is set to “Workflow Audit”. 

That will work for Path A - Workflow Audit. But what if we want to test the steps in Paths B and C, or check that Path A will correctly reject different project types?

Duplicate and edit test data

To edit your test data in Zapier, just open the test data in the trigger step and click on the “Duplicate to Edit” button in the bottom right. 

This will create a new test record that’s identical to the original. But now, you can click on any variable in this “Modified Record” to change its value. 

We’ll change the “Project Type” to “Workflow Automation.” 

You can also duplicate modified records by clicking on the “Duplicate” button. 

We’ll make another test record, and change the Project Type to “CWO Membership”. 

To keep all of your test records straight, you can rename them by clicking on the three dots next to the record name and selecting “rename”

Then, enter any name you’d like. We’ll call them “Membership” and “Automation”. 

Unfortunately, you can’t currently rename the original records retrieved when testing the step. These will always be called Record A, Record B, Record C, etc.  

Using modified test data

Once you’ve duplicated and edited your test data, you can use it like any other test data in Zapier. 

All you have to do is select the test record you want to use in the trigger, then test the relevant steps in your Zap as you usually would. 

For instance, we’ll start by selecting the original record retrieved (Record A). 

Then, we’ll test the rule for Path A. 

And we can see that it would have run, since the Project Type is “Workflow Audit”. 

But we want to make sure there won’t be any false positives here. That’s where our customized test data comes in handy. 

We’ll go back to the trigger and switch to our “Membership” test data.  

Then, we’ll test the Path A rule again. This time, the path would not have run, since the project type is not “Workflow Audit”. 

We can now continue to go through our other paths and test them the same way, switching the test data as needed. 

At no point do we need to leave Zapier or create new data in Airtable or any other app. We can just swap out test records in Zapier and keep building and testing right here. 

Streamline your testing with customized test data

This is a massive update for seasoned no-code builders who are getting their hands dirty in Zapier every day. 

When you’re creating a Zap from scratch or doing some regular maintenance, constantly going back and forth between your app and Zapier to create new test data can be a huge pain. 

Now, even if your Zap has several branching paths, you can get all the test data you need from editing a single test record.

WARNING: Custom test data may be misleading

One thing to note here is that you can edit test data in any way that you’d like. 

While this is extremely convenient, it also means you might end up creating records that don’t match the kind of data that your apps would actually produce. 

For example, the “Name” field in all of our test records says “TestCO • Workflow Audit”, even when we’ve changed the Project Type to something else

In the Airtable base that triggers our Zap, the “Name” field is a formula field that concatenates the client’s name and project type. 

If we change the project type directly in Airtable to  “Automation” or “Membership”, the “Name” field updates instantly to reflect that. 

However, when we edit a test record in Zapier, the “Name” field does not change automatically. 

It’s not really important for testing the Zap we’ve set up here, because our paths rely on the “Project Type” field, not the “Name” field.

However, if your Zap relies on a formula field or some other value generated by the app, you may need to be careful about editing your test records. 

Depending on how you edit your test records, you might create variables that don't reflect the data your Zap will actually encounter. 

Consequently, your tests might be misleading about how your Zaps will actually perform when you finally turn them on! 

You have the freedom to edit your test data however you want, so use your judgment to ensure your edited test-data is realistic for your automation. 

While editing test data is great for making quick changes to a Zap, I’d recommend always using at least one real, unmodified piece of test data to confirm your automation works as intended before going live with it. 

Testing several steps at once in Zapier

Modifying test data isn’t the only new option for streamlining the building and QA process in Zapier. Now, you can also test several steps in a Zap at once, instead of testing each step one at a time. 

Here’s a quick outline of how to test several untested steps at the same time:

1. Open the Zap you’d like to test. This Zap must have steps that haven’t been tested yet. 

2. Click on the status icon in the top left of the Zap builder. 

3. Click on “Test steps” to test every untested step at once. 

NOTE: this will run every untested step in every path, regardless of which paths your data actually matches. 

For more detail, explore our example provided below. 

Testing several newly added steps

In our example, we’ve just added a new Slack alert step to the end of each Path in our Zap. 

Because these steps are at the end of each path, there’s no reason to think that they’d change how the overall Zap and its logic work. 

That makes this an ideal situation to use the mass testing feature. We just need to make sure that each new step works on its own; we don’t need to check the underlying structure of the whole automation. 

To test all of these steps, we’ll click on the status icon, which is already warning us that we have untested steps in this Zap. 

Then, we’ll click on “test steps”. 

Zapier will now run each of these steps one after the other. As a result, we’ve got three new Slack messages in the tutorial channel. 

Normally, this Zap should only run down one path and produce one Slack message, but since we used a mass test, we got all three messages from all three paths. 

Be careful when using mass tests in Zapier

However, if you’re working with paths, you should not rely solely on a single mass test like this. 

At some point before publishing your Zap, you should test one step at a time to verify that your paths work as intended. 

Like a lot of Zapier’s recent updates, mass testing will only be useful in certain situations. But for power users creating long, multi-step Zaps, this could be a huge time-saver when verifying small additions to your automations. 

Refine your Zapier workflows with new testing features

Workflow updates like this might not be as flashy as some of Zapier’s recent AI additions, but they can still be incredibly useful for no-code builders. 

As you’re building your next Zaps, try editing your test data or testing several steps at once. Integrating these new tools into your processes will let you create and update your automations faster than ever. 

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

Tutorial
November 13, 2023
Exploring Zapier's Latest AI Features

Zapier has always been a simple, accessible tool for creating automations. 

But with Zapier’s latest AI features, building Zaps is getting even easier and faster than ever.

In this post, we’re going to show you three of Zapier’s new AI tools that can generate formatter steps, code blocks, and even entire Zaps based on short AI prompts. 

All of these are beta features, so they’ll likely change significantly over the next several months as Zapier collects feedback and refines their software.

However, they already show a lot of potential for transforming the way that we build Zaps. There’s a lot to cover, so let’s get started!

Create formatter steps with AI

To start, we'll show you one of the most useful AI features that Zapier’s added recently: AI-assisted formatter steps. 

With Zapier’s new AI-assisted formatter steps, you can create and configure a formatter step with a prompt instead of manually entering each setting.

Format data in Zapier without looking up syntax

This can be especially useful if you’re not sure about all of the exact syntax and options you need to enter to get the output you want. 

There are dozens of basic actions that Formatter can run, from regex and text formatting to math operations and date/time utilities. Now, you can access all of these from the same place with an AI prompt. 

How to add an AI formatter step in Zapier

Adding a formatter step with AI is simple, and only takes a few steps. 

1. Open up the Zap where you’d like to add your formatter step. 

2. Select any step that includes the data you wish to format.

3. Hover over the data you want to format, and click “Format data”

4. Enter your prompt in the window that pops up. Briefly describe what you want in plain English.  

5. Click “Create step”. 

6. Review and test the formatter Zap created by the AI. 

Check out our example for a detailed demonstration of how it all works. 

Example: reformatting date and time in Zapier with AI

In the example below, our Zap sends Slack alerts for new messages in a Gmail inbox. Among other data, the Slack alert includes the date and time the email was sent. 

Let’s say we want to reformat that date and time to include the full name of the month, and a simple twelve-hour time in our local time zone - eastern US.

We’ll click on “Format”, then enter the following prompt into the window: 

Change the format to use the full month name and 12 hour time (EST)

Note that we’re not specifying the exact syntax to use with “MMMM/DD/YY”, etc. This level of specificity is usually not necessary; the AI should be able to determine the right format based on natural language. 

We’ll click “Create step” to generate the formatter action, then review the results. 

Immediately, we can see that a formatter step has been added before our Slack step.

However, there are several unused fields in the formatter. You may see this happen a lot with AI-generated steps in Zapier, but you can just delete these fields. 

With those removed, it looks like we’ve got a good formatter step. 

The time format looks like it’s probably correct, and the time zone is correctly set to EST. We’ll give it a test to be sure everything worked. 

When we test the step, we can see that the date and time are reformatted exactly how we wanted. 

Creating a static step with AI

To be clear, Zapier will only use AI to configure the formatter step and add it to the Zap. 

When the Zap runs, it won’t send any sort of AI prompt. It will just use the formatter step as it’s configured. 

A convenient and reliable shortcut for adding formatter steps

Ultimately, “Format with AI” is great for quickly adding formatter steps when you don’t know the exact syntax or appropriate formatter option you need to use. It lets you skip looking up precise information about various ways of formatting data, and instead lets you quickly add a new step to your Zap with a short prompt. 

This is one of the best use cases we’ve seen so far for AI in automation. By using AI to create a formatter step, we can save a lot of time that would have been spent on searching for the right tools and syntax to use. 

But unlike a lot of other AI implementations, the output here is static. Once we have a formatter step we like, we can keep using it in our Zap permanently. We don’t have to worry about an inconsistent AI giving us poor answers half the time our Zap runs.

Additionally, using the formatter step in the future doesn’t require us to keep sending API requests to an AI, meaning that it doesn’t come with any additional charges or count against an OpenAI credit limit.  We can just keep using the formatter step that we know will work for as long as we want. And for now, Zapier isn’t charging any additional fees to use this - or any other AI feature. 

Add custom code to your Zaps with AI

The next AI tool that we’ll look at offers a lot of the same benefits, as it will let us generate a static Zapier action with an AI prompt. 

Let’s explore generating code blocks in Zapier with AI prompts. 

Now, we love no-code solutions at XRay. They’re fast to build and easy to maintain, even for people with less technical knowledge. 

But sometimes, a bit of code is necessary to elevate your automations from good to great. 

In many cases, adding a code step to your Zap won’t be strictly required, but it may help to reduce several formatter steps or awkward paths modules into a single, efficient step. 

And now, with Zapier’s new AI generation features, you can include code blocks in your Zaps, even if you don’t know how to code at all. Let’s see how it works. 

How to add AI-generated code to your Zapier automations

1. Add a step to any Zap, and choose “Code by Zapier” step as the action

2. Choose the language you want the code to be written in (JavaScript or Python)

3. Click on “Generate with AI”

4. Enter your prompt into the window that pops up. You can describe what you want the code to do in simple language. 

5. Click “Generate Code”. 

6. Review the AI’s output and add it to your Zap. 

For more detail, check out our example below. 

Code example: parsing and reformatting names in text fields

In our example, we’ll use a code step to extract names from an Airtable text field. Each record in the Airtable base has one or more names in this field, along with a long URL. We’ll ask the AI for a code step that removes the URL, and reformats the names from “First Last” to “Last, First”. 

The Zap runs whenever a new record is added to this Airtable base. To add an AI-generated code, we’ll need to add a “Code by Zapier” step to our Zap. 

Then, we’ll need to choose whether we want to have the code written in JavaScript or Python. If you want to be able to edit the AI’s output, you should choose the language you’re more familiar with. 

However, Zapier’s AI is capable of generating fully functional code without any user edits, so you can still try it out even if you don’t know how to code with either language. 

We’ll choose Python. 

You’ll then see a configuration menu where you can set up the code step manually. You can leave all of those fields blank, and just click on “Generate with AI”. 

Next, you’ll see a window pop up where you can enter your prompt for the AI. Describe what you want the code to do, and be specific about the data it should retrieve and transform. However, you don’t need to use any technical language or syntax here. 

We’ll enter the following prompt: 

Extract any names found in the "Contacts" field. Each name should consist of a first name and a last name (e.g., "John Smith"). Exclude any URLs or other symbols. Output the names retrieved with the last name first (e.g., "Smith, John").

Once your prompt is ready, click “Generate code”. 

On the next screen, you can review the code that the AI wrote under the “Code” tab. If you’re a no-code builder, you might not be totally sure what you’re looking at. However, the code will likely be commented so you can at least understand what each part of it does, even if you’re not familiar with the exact syntax involved. 

Under the “Input Data” tab, you can see which Zapier variables the code step pulled in. In our example, it just used the “Contacts” variable, since that’s the only data we specifically referenced in our prompt. 

Under “Output data” you’ll be able to see what the code produces as an output, but you’ll need to click on “Run code” first. 

When we run our code, the output is exactly what we wanted. Two names are extracted from the field and rearranged into a “Last, First” format. 

If you’re happy with the AI-generated code, click on “Use Code” to add it to your Zap. 

Now, you can treat the code step like any other action in Zapier. 

Unlock the power of code in your Zaps with the help of AI

By just writing a simple prompt in plain English, we were able to add some code to our Zap, eliminating the need for several formatter steps. 

You could also use a code step to handle complicated if/then statements, branching paths, and more. 

Even if you have absolutely no coding experience at all, you can now get all the benefits of incorporating a little bit of code in your Zaps by simply writing a quick AI prompt in simple language. 

Build a full Zap with AI

Finally, let’s take a look at building an entire Zap with a single AI prompt. 

But, before you get too excited, we need to warn you: this feature is not quite as impressive as it sounds. 

At least, not yet. 

For now, it’s very similar to the Zapier plugin in ChatGPT. We covered this plugin in a separate blog which you can read here

Like the ChatGPT plugin, building a Zap with AI really only builds the beginnings of a Zap. It will create steps, choose apps, and select actions for you, but each step will likely not be configured very well - if it’s configured at all. 

However, if you’re building a long Zap with several steps, getting everything started with an AI prompt could still be a useful time saver, so let’s see how it works. 

How to generate a Zap with AI

1. Create a new Zap

2. Enter your prompt in the window at the top of the screen. Focus on the apps and actions you want; many configuration details will likely be ignored anyway. 

3. Click on “Generate”. 

4. Review the AI-generated results and try them out

For example, we’ll try to create a Gmail and Slack automation using the following AI prompt:

When I receive an email in my Gmail inbox (xraytutorials@gmail.com), send a Slack alert about the email in the tutorials channel of XRay’s Slack workspace. In the alert, include the email’s subject and sender, as well as the date and time the email was sent. 

When we look at the AI output, we can see that it correctly created a Zap with a Gmail trigger and a Slack action. Click on “Try it” to apply the steps to your Zap and view more details of its configuration. 

After applying the steps to our Zap, we can see that while the AI was able to correctly pick the right apps and actions, it wasn’t able to sign in to any of our accounts. 

In Slack, the AI did not choose the channel that we specified in the message, either. 

However, the AI did make a somewhat successful attempt at filling in the message per our instructions. 

Unfortunately, even though the AI chose all of the correct names for the variables, none of them are actually mapped in Zapier. This is why they’re all yellow and have an exclamation mark. Click on each of these unmapped variables and selecting the matching variable from the list will replace them automatically. 

Otherwise, all other configuration options are left to their defaults. 

Using AI-generated Zaps to get a head start

Ultimately, Zapier’s UI has started us off with a workable beginning of a Zap. 

In general, the best way to use AI-generated Zaps is to just briefly ask for the apps and actions you want to use, since that’s all the AI will likely be able to set up, at the time of this recording. 

You can also provide a bit more detail about what you want to include in text-based fields, since the AI may be able to fill those out pretty well. 

However, you’re limited to 400 characters in your prompt, so you’ll need to keep it short, anyway. Hopefully, Zapier will keep improving the AI and make sure that it can properly map data in its answer. 

All things considered, the other AI features we covered in this post are definitely going to be more useful for most builders right now.  

Build faster and more advanced Zaps with new AI tools

AI continues to open up new doors for no-code and low-code builders. Like many apps, Zapier is eagerly embracing the opportunities offered by the AI revolution, and as a result, it’s getting even faster and easier to build automations on their platform. 

We encourage you to explore these new AI features for yourself, and try using prompts to build the Zaps, formatter steps, and code blocks that you need. 

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

Tutorial
November 6, 2023
How to Connect a Personal Gmail Account to Make

In the vast majority of cases, connecting apps to Make (formerly Integromat) is extremely easy to do. 

Unfortunately, connecting a personal Gmail account is a bit more complicated. 

To make sure you can automate your Gmail inbox with Make, we’ve put together this quick tutorial to show you how to create a connection for a personal account. 

In this post, we’ll show you how to create a project in Google Cloud that you can use to authorize and connect your Gmail account to Make, formerly known as Integromat. 

Then, we’ll show you how to add the connection to Make and test it out with an automated scenario. 

Let’s get started!

Overview

1. Create a project in Google Cloud with the Gmail account you wish to connect to Make

2. Enable Gmail’s API in your project

3. Create an OAuth consent screen where you can sign in via Make

4. Set your project’s scopes to determine the actions Make can perform through Gmail

5. Add test users. Your email will likely be the only test user. 

6. Create credentials to use to authorize Make

7. Add a new connection in Make, and sign in with the newly created credentials

8. Test your Gmail connection in Make to verify it’s set up correctly

If you’re a no-code builder without any programming experience, this might seem a little intimidating, but don’t worry. It’s actually pretty simple to put together. 

You’re essentially going to be creating a project just to authorize Make to access your Gmail account. You won’t publish the project, and instead will only grant access to test users - and the only test user will be our own email address.

NOTE: These steps don’t apply to Google workspaces

First, we want to emphasize that this tutorial is only for connecting a personal Gmail account to Make. 

If the Gmail account you want to use is part of an organization, then these steps won’t be applicable.You can just connect your company account the same way you would connect any other account. 

With that out of the way, let’s start creating a Make connection for a personal Gmail account. 

Creating a Google Cloud project

To begin, go to https://console.developers.Google.com/ and sign in with the Google account that you want to use in Make. 

Even though you’re going into the Google Developer’s site, you don’t have to write any code to set up this integration. 

You’ll also only have to do this once for each personal Gmail account that you connect. You won’t need to revisit this Cloud project every time you want to build a new automation for your inbox. 

If you’ve never used the Google Cloud console before, you’ll have to agree to the terms of use. Then, create a new project.

If you already have one or more projects, you can click on the selector in the top left to create a new one. 

Otherwise, you should see a button in the top right that says “Create a project”. 

Give your project a name, and click “Create”. Then, just wait a moment for Google to finish actually creating your project. 

Enable the Gmail API

With the project created, you now need to enable the API that you want to use. 

APIs, or application programming interfaces, are how modern web apps communicate with each and execute actions in each other’s software. 

Make is going to use the Gmail API to watch your inbox, send emails, and perform any other actions that you want to automate. 

To enable the Gmail API, click on “Enable APIs and Services”. 

Then, search for Gmail in the search bar in the middle of the page. 

You should get two results: GMail API, and Gmail Postmaster Tools API. Choose the first: Gmail API. 

Then, click on “Enable”. 

Create an OAuth consent screen

Next, you’ll need to create an authorization screen that will let you access this project from Make. 

Click on “OAuth Consent Screen” to create this portal. 

Then, you’ll need to specify the user type as internal or external. “Internal” would allow other users in your organization to access this project. 

However, since you're building an integration for a personal Gmail account, that doesn’t really apply. Instead, choose “external”. 

Then, click create. 

Next, you’re going to need to provide some basic information about the application. Provide a name for the application that’s asking to access your Gmail account. You can just enter something simple and descriptive like “Make Gmail integration” here. 

Then, you’ll need to provide a “user support email”. 

Nobody will be able to use this integration except the people you personally authorize as “test” users later on, so don’t worry. Nobody will be seeing this and emailing you. 

You can just pick your Gmail address from the dropdown. 

Next, you can upload an app logo, but there’s really no need to do that. You can just skip it. You can also skip adding any App domain info. 

If you were building an integration for public use for your own application, providing these links and resources would help users to learn more about your application and its policies. 

Since you’re just making a private integration to use Gmail with Make, you don’t need to add anything here. 

Add authorized domains

However, you will need to add the actual domains that will be allowed to use the Gmail API through your account. 

You’ll need to add two domains here: make.com, and integromat.com

As you may be aware, Make used to be known as Integromat until a somewhat recent and syntactically inconvenient rebrand. 

The old name is still sometimes used on the backend, so it’s important to include both domains.

Once both domains are entered, you need to provide “Developer contact information”. Google will send any relevant updates about your project to the email you enter here.

In most cases, you can just enter your Gmail address in this field. 

 

Then, click “Save and continue”.

Set your project’s scopes

Next, you’ll be taken to the “Scopes” screen. Here, you can determine what the integration will be allowed to do with the Gmail API.

This is where you can explicitly allow it to access certain methods or actions. 

Click on “Add or remove scopes”.

Then, click on the filter, and search for “Gmail”. 

Select “Gmail API”. 

This will limit the results to methods from the GMail API, which is all we’re concerned with today. According to Make, you’ll need to allow the following scopes:

• mail.Google.com General (Read, Write, Compose) 

• .modify

• .compose

• .readonly

• .metadata

• .insert

• .send

• .labels

These are the minimum requirements for integrating your Gmail account with Make. Some specific actions may require additional scopes. 

Select each of the required scopes, then click “update” to save your selection. 

Google will automatically sort the scopes into “Sensitive”, “Non-sensitive”, and “restricted”. You can review these scopes to ensure everything was properly added, then click “Save and continue”. 

Create a test user

Next, you’ll be prompted to create test users. As Google notes here, these are the users who will be able to access your project while it’s still in “test” mode. 

Ultimately, that’s how you’re going to keep this project. You won’t be publishing it, so anyone who needs access will need to be listed here. You should only need to provide the Gmail account that you want to use in Make.

Add that email address, and click “Save and continue”. 

Create credentials for Make

Next, you’ll see a summary of all your choices and settings. There’s nothing you need to do here. 

Instead, just click on “Credentials”.

Then “Create Credentials” and select “OAuth client ID”. This will let you create an ID and “secret” that you’ll need in Make. 

For the application type, choose “web application”. 

Then, give the app a name. As Google notes, this won’t be seen on the frontend, so you can enter anything you’d like here. 

You don’t need to provide any “Authorized Javascript origins”, but you will need to add an “Authorized redirect URI”. 

Here’s the URI that you’ll need to enter to authorize Make:

https://www.integromat.com/oauth/cb/google-restricted 

Note that, as we said earlier, they’re still using the “integromat” domain. 

With the URI in place, click on “Create” to finish generating these credentials. 

A pop-up will appear that displays the Client ID and Client Secret that you’ll need to enter later in Make, so copy those to your clipboard. 

If you need to find this information later, just sign in the Google Cloud console, access your project, and click on Credentials.

Then, you can find the credentials under OAuth 2.0 Client. 

Your Google project is now all set. Next, we’ll show you how to establish the Gmail connection in Make. 

Add your Gmail connection to Make

To add your personal Gmail connection to Make, you’ll need to create a new scenario and add a Gmail module to it. 

You can choose any action here. For example, we’ll add a trigger module with the “Watch emails” event. 

Next, you’ll need to add a connection. 

Give your connection a name, but do NOT click on “Sign in with Google” yet. First, you need to toggle “show advanced settings” on. 

You’ll see two fields where you can enter your Client ID and Client Secret. 

If you haven’t already, copy those from your Google Cloud project and paste them into the appropriate fields. 

Now, you can click “Sign in with Google”, and log in with the Gmail account that you want to use. 

You’ll see this warning pop up, but you can just click on “Continue”. 

Then, check the box at the top of the window to allow Make (or Integromat), to read, compose, send, and delete mail on your behalf. 

Click “Continue” again, and you should be all set. Your connection will now be added to your Make account.

However, just to be sure that everything’s working as intended, it’s best to give your new Gmail connection a quick test. 

Testing your Gmail connection in Make

First, finish setting up the “watch emails” trigger to verify that Make can actually retrieve emails from your inbox. You can configure the settings however you’d like.

In our example, we'll keep it simple. We’ll just have it watch our inbox for all emails. 

Once the module is set up, give it a test. Right click on it and select “choose where to start”. Pick “Choose the first email”, and click on the email that you want to use as test data.

Then, click on the “Run once” button in the bottom left. 

The module should run and retrieve an email. As usual in Make, you can click on the number above the module to see details about the information that it processed. 

So we know that we can read emails with our Gmail connection. Now let’s make sure we can send them, too. 

Testing a “Send email” module

Add another Gmail module to your scenario, and choose “Send an email”. 

In the “to” field, enter any email address that you have access to. Then, compose any message that you’d like. In our example, we’ll just send an email that says there’s a new message in the tutorials inbox, and throw in some of the data retrieved in the trigger. 

Once you’ve finished writing your email, click “OK”. Then, go back to the trigger module to test the whole scenario. 

If everything looks good in Make, check your inbox to confirm that you received the message. 

Zapier: an easier but pricier alternative

If this whole setup was a little too complicated for you, you could use your personal Gmail account on Zapier without needing to setup a Google cloud project. 

In this case, simplicity comes at a cost, as Zapier will be about 3 times more expensive in the long run. 

Automate your Gmail inbox in Make with a few extra steps

In most cases, connecting apps to Make just takes a few clicks. However, when you want to use a personal Gmail account, things get unexpectedly complicated. 

But by following the steps we’ve shown you here, you should be able to start automating your Gmail inbox with Make in no time. 

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

Tutorial
October 30, 2023
How to Prefill Fields in Airtable Forms

Airtable forms are an easy way to gather data from clients, coworkers, or anyone on the web. 

While it’s usually appropriate to let users respond to your forms however they want, it’s often best to pre-fill some fields for them to reduce errors and keep your data consistent. 

In this post, we’re going to show you how to set up pre-filled fields in your Airtable forms with customized URL attributes. 

First, we’ll walk you through the basic process for adding pre-filled fields to an Airtable form with URL encoding. 

Then, we’ll show you the specific details you need to account for when pre-filling select fields, linked records, and date/time fields. 

Finally, we’ll demonstrate how you can hide your pre-filled fields to make sure your users don’t edit the pre-filled values you’ve provided. 

Setting up pre-filled fields is an easy way to make your Airtable forms more powerful, so let’s jump in and get started!

Adding a “prefill” attribute to an Airtable form URL

To begin making an Airtable form with pre-filled values, you’ll need the URL of an existing Airtable form. Be sure to copy the form’s URL where people can submit responses, and not the URL of the base. 

Then, append a question mark and the following pre-fill attribute to the end of the URL:

?prefill_Field+Name=Value

The field name should be typed exactly as it appears in Airtable, including capitalization. This syntax is case sensitive.  

Both the field name and the value that you want to pre-fill will need to utilize URL encoding for special characters and spaces. 

For instance, any space should be entered as “%20”, or as a plus sign (+). You can find more information about URL encoding here. 

For example, pre-filling the “Text Example” field with the phrase “Prefilled Sample Text” would look like this:

https://airtable.com/appsRo48XxUBLNapQ/shr0CakvQO9NeYtLJ?prefill_Text+Example=Prefilled+sample+text

When someone opens the form with that prefill text appended, they’ll see the “Text Example” field filled in just as we specified. 

Using field IDs instead of field names

If you think your Airtable field names might change, you may prefer to use the field ID to identify the field that you want to pre-fill instead of using its name. 

To access a field’s ID, begin by opening up your Airtable base and selecting “Manage Fields” under the “tools” menu. Here, you’ll see more information about all of the fields in that particular table. 

Click on the small settings icon on the top right, under the “Add a new Field” button. This will allow you to toggle column visibility, giving you access to all the fields’ metadata. Check the box next to “Field ID” to make the ID of each field visible. 

Copy the ID of the field that you want to prefill, and add it to your URL in place of the field name in the following format: 

?prefill_FieldID=value

For example, when we replace the “Text Example” field name with its ID, our new pre-fill URL looks like this:

?https://airtable.com/appsRo48XxUBLNapQ/shr0CakvQO9NeYtLJ?prefill_fld4VjycAbg29f6PF=Prefilled+sample+text

When we open the link, it fills in the “Text Example” field in the exact same way as before. 

By using the ID instead of the name, you can freely change the field name at any time in the future, while maintaining the pre-fill you’ve already configured. 

However, for this tutorial, we’ll keep using field names so it’s easier to follow along. 

Pre-filling select fields

Pre-filling single- and multi-select fields works in largely the same way as pre-filling a text field. Just enter the name of the option that you want to pre-fill after the equals sign in this format:

?prefill_Field+Name=Select+Option

For example, we’ll use the following attribute to pre-fill the “Select” field with “Option2”.

?prefill_Select=Option2

When we open the form, it fills in the Select field with Option2. 

Note that if you enter an option that doesn’t exist yet in the select field, the field won’t be pre-filled, and the option won’t be added to the table. 

You’ll have to pick from existing choices. This applies to multi-select fields as well. 

Pre-filling multiple select fields with several choices

If you want to enter multiple choices into a multi-select field, just separate them with a comma and no space. 

The format looks like this:

?prefill_Field+Name=Option1,Option2,Option3

For example, we’ll make a pre-fill URL to add “B” and “D” to the multiple select field. 

?prefill_Multiple+Select=B,D

When we append that attribute to our form URL and open the form, we can see the multiple select field pre-filled like we specified. 

Pre-filling several fields in the same URL

You can also pre-fill several fields at once if you want. You just need to separate each pre-fill with an ampersand (&). Here’s how you’ll format the attributes:

?prefill_Field+Name=Value&prefill_Field+Name2=Value2&prefill_Field+Name3=Value3

Note that you’ll still need to use the word “prefill” before each value that you want to automatically fill in, but you only need one question mark. 

We’ll combine all three pre-fills that we’ve done so far into a single pre-filled URL. 

As you can see in the screenshot above, the multiple select field is set to B and D, the single select field is set to Option2, and the text field is “pre-filled sample text”. 

You can essentially pre-fill as many fields as you’d like. Just note that you’re limited to 1600 characters in the URL.   

Pre-filling linked records

Pre-filling other field types, like linked records or date and time is a little different, but still very simple.

Let’s start with linked records. 

To pre-fill a linked record in an Airtable form, add a prefill attribute to the end of the form URL, then specify the Record ID of the record that you want to pre-fill. The format looks like this:

?prefill_Field+Name=rec123456789

There are two easy ways to grab a record’s ID in Airtable.

Find an Airtable record ID by expanding the record

One way is to open your Airtable base, and expand the record that you want to link. Then, copy the ID from the URL bar. The record ID will always start with “rec” and end before the question mark. 

Find an Airtable record ID with the RECORD_ID() function

Alternatively, you can add a formula field to the table, and enter the RECORD_ID() function. Then, you can just select the right cell and copy it to grab the ID for a given record. 

Once you have the record ID, paste it into your pre-fill URL. For example, we’ve copied the ID for “Record1”, and added it to our form URL.

Just like with multi-select fields, you can pre-fill several records in a linked record field - as long as linking multiple records is enabled in the field settings. Just separate each record ID with a comma. 

Pre-filling date and time fields

Pre-filling a date and time field works similarly to pre-filling text and linked records, but does require you to use ISO 8601 formatting for the date and time. 

You can find more information about ISO 8601 formatting here.

Here’s the format for a date and time pre-fill in an Airtable form:

?prefill_Field+Name=[YYYY]-[MM]-[DD]T[HH]:[MM]:[SS].[MMM]

To clarify, you’ll need to provide a 4-digit year, 2-digit month and 2-digit day, all separated by hyphens. Then, enter “T” to separate the date from the time. 

For the time, you can provide 2 digits each for the hour, minute, and second, all separated by colons. Then, you can add a period and 3 digits for milliseconds. The time zone will depend on your Airtable settings. 

For example, if we want to fill in the field called “Date and Time” with February 1st, 2024 at 5:30 PM, we’d enter the following:

?prefill_Date+and+Time=2024-02-01T17:30:00.000

If you don’t want to include seconds or milliseconds, you can either set them all to zero or just leave them out.  

When we open the form URL with the pre-fill attribute above, the date and time are filled in correctly. 

How to hide pre-filled fields in Airtable forms

In many cases, you might want to hide the fields you’ve pre-filled to prevent users from accidentally editing the data that you pre-filled. 

To hide a pre-filled field, you just need to add another attribute to your form URL. The formatting will look like this:

?prefill_Field+Name=Value&hide_Field+Name=true

Let’s say we want to pre-fill the Linked Records field with Record 1, and hide the Linked Records field. That would look like this:

?prefill_Linked+Records=recSGYJJGeMqEQAAt&hide_Linked+Records=true

When we open up the form, we can’t see the “Linked Records” field, so we know the “hide” attribute worked. 

But since we can’t see the field, we don’t know if pre-fill worked too.

To make sure that the pre-fill was configured correctly, we’ll just. “Hidden field test” in the “Name” field, and submit the form. 

Back in the Airtable base grid view, we can see the record we just submitted, and “Linked Records” is filled in with “Record 1”, so we know the pre-fill worked, too.

When it’s appropriate to hide fields

One thing to note when hiding records is that your users could always theoretically delete your “hide” attribute from the URL and reveal the hidden field, then edit it however they’d like. 

Hiding a field isn’t a secure way to prevent edits, and shouldn’t be used to prevent access to a field with private or sensitive information.

Instead, it’s really about convenience and reducing errors. 

You should use it to help people save time and pre-select the value they would need to select anyway. Hiding the field just makes it much less likely for the user to accidentally pick the wrong value. 

Simplify Airtable forms with pre-filled fields

That covers all of the basics of creating pre-filled Airtable form fields with custom URLs. By creating and sharing these links, you can streamline the process of filling out a form for your clients, colleagues, and collaborators. 

If you’d like to learn more about no-code tools like Airtable, Zapier, Make, and more, be sure to 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.