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
Understanding Automation
October 23, 2023
Get Expert Low-code Support by the Hour from LowCodeEngineers

Every low-code builder runs into problems from time to time. 

‍

But where do you go to find the help you need to quickly fix some bugs? Where can you go to work and learn alongside a vetted low-code expert?

‍

As a low-code agency, we want to make it as easy as possible for anyone to find the quality low-code support that they need, or to offer their services as a builder in this emerging space. 

‍

That’s why we’re pleased to introduce you to LowCodeEngineers. 

What is LowCodeEngineers?

LowCodeEngineers is XRay’s new service for connecting anyone with low-code experts who can build, fix, or update their low-code projects.

‍

LowCodeEngineers can help you to design and deploy a site in Webflow, create an automation in Zapier or Make, set up a database system in Airtable, and a whole lot more.

Engage with low-code experts on an hourly basis

You can get support at any scale from LowCodeEngineers. Whether you want help on a long-term project or just need another set of eyes for a quick fix, LowCodeEngineers has you covered. 

‍

You can hire vetted builders on an hourly basis for convenience and flexibility. Just go to lowcodeengineers.com, book some time and describe your goals to get matched with a qualified expert. 

‍

We handle all of the logistics; you just need to show up to the call and be ready to talk about what you want to have built. 

‍

After your call, you’ll be sent an XRay Workflow resources board with all relevant materials from your call. 

‍

How to use LowCodeEngineers as a customer

So how does it work?

‍

First, let’s take a look at how you can use LowCodeEngineers to book time with an engineer. Then, I’ll give you some information about signing up as an engineer if you’re looking to get paid for working with the tools you know and love. 

Book 1, 4, or 10 hours to get started

To get started, just got to lowcodengineers.com, and click on “Hire an Engineer” at the top of the page.

‍

‍

Then, choose the amount of time you want to schedule. We offer packages of 1, 4, and 10 hours. 

‍

‍

This will take you directly to a booking calendar showing every available time slot with a qualified low-code builder. Pick a time that works for you, then enter your email to receive a verification code. 

‍

‍

The verification code just helps us to keep the site and everyone’s appointments secure.

‍

Describe your project, your problems, and your goals

Fill in your name and phone number. Then, we’ll ask you for some basic information about you and the support you’re looking for. 

‍

The more detail you provide here, the better we’ll be able to match you with the right expert. Make sure to note all of the software that you’re using, the problem you’re experiencing, and what you’re trying to accomplish. 

‍

‍

To finish scheduling your appointment, you’ll need to enter your payment information and click “Pay now”.

‍

‍

Every appointment is billed at a rate of $250 an hour. This rate makes it affordable for anyone to get hourly low-code support, and ensures that we can provide fair compensation for the network of expert builders on the platform. 

Manage your LowCodeEngineers projects with an XRay Workflow resources board

Once you’ve scheduled some time, we’ll automatically send you your own personalized XRay Workflow board for managing your LowCodeEngineers appointments. 

‍

‍

XRay Workflow is a tool that we’ve built to organize and share resources from anywhere on the web. 

‍

‍

On your board, you’ll see a brief slide deck explaining the process of working with a low-code engineer, including the Rules for the Call, and the 100% regund guaranteed policy. 

‍

‍

You’ll also see XRay.Tools, an automation search engine built by XRay.Tech to help you discover what you could automate with the tools you’re already using. 

‍

Additionally, you’ll see a pin called “Debriefs”.

‍

‍

This is where all of your meeting recordings, AI summaries, and full transcripts will live for every appointment that you book with LowCodeEngineers.

‍

This resources board is also where your engineer will save resources for you to review another time. Things like API docs, useful links, or even tutorial videos that the engineer wants to share with you will all be referenced in this one resources board. 

‍

‍

After your call is finished, you can return to your board to review material from previous sessions, or to book more time with your engineer. 

How to use LowCodeEngineers as a low-code expert

LowCodeEngineers is just as easy for everyone on the other side of the equation. 

‍

If you’re a low-code builder looking for a good way to get paid for your expertise, then LowCodeEngineers is right for you. 

‍

With hourly engagements, we excel at flexibility. Whether you’re a freelancer or a full-time professional starting a side hustle, you can find gigs that fit your schedule on LowCodeEngineers. 

‍

If you’re interested, just go to lowcodengineers.com and click on “Become an Engineer” to apply today. 

‍

‍

That link will take you to a calendar where you can schedule an interview with the team responsible for vetting your expertise. 

‍

‍

Be prepared to give a demo of a system you’ve built on your tool of choice, and let us know what your availability is for taking on new customers. 

If you’re approved, you’ll be onboarded into LowCodeEngineers, and you’ll be able to claim appointments. 

‍

You’ll also get access to XRay Workflow as an editor so you can see and manage all of the resources boards for the customers that you’ve claimed.

‍

‍

This shared resources board gives you control over all the information that the client can see, and helps focus their attention on the aspects of your work that require their input or acknowledgement. 

‍

‍

No more messing around with negotiations, or writing out complicated contracts, or figuring out ways to send and receive payment. 

‍

Just claim a request, show up to the appointment, and share your expertise. 

‍

All the project management that used to bog you down will be taken care of: from followup emails and payment to call recordings and transcripts. LowCodeEngineers handles all of the logistical tasks, so you can focus on doing the work. 

Why we created LowCodeEngineers

We built LowCodeEngineers to help everyone in the low-code space, from builders and agencies to companies and entrepreneurs trying to save some time with low-code tools. 

‍

For low-code builders, finding work can often be a challenge. And frankly, freelancer sites like Upwork and Fiverr are a race to the bottom. 

‍

They encourage talented freelancers to constantly undercut each other’s prices in an extremely competitive environment, while leaving much of the logistical work up to the users. 

‍

Negotiating terms, requirements, and timelines for each project is left up to each individual builder, adding unnecessary complication to every task. 

‍

And things aren’t any better for the customers and clients in this setup. 

‍

Projects and problems come in all shapes and sizes. 

‍

Sometimes, you’re just looking for a quick fix, and it’s not worth it to hire an agency on a monthly retainer. But scouring typical freelancer sites makes it difficult to find someone with proven experience, in addition to the unavoidable negotiations. 

‍

LowCodeEngineers makes it easy for anyone to book time with a vetted expert, complete their project or fix some bugs, and get back to work. 

‍

For experts, LowCodeEngineers makes it easy to apply, offer their services, give support, and build a book of business. 

‍

With automated and AI systems for project management, it's never been easier for an expert to manage dozens of clients. 

Book low-code support from vetted experts at an affordable rate

Now there's a better way to work in the low-code space. For a flat hourly rate of $250, LowCodeEngineers connects you with vetted low-code builders who can keep your projects moving along. 

And with software like XRay Workflow and XRay.Tools, you and your engineer can easily stay connected and informed of what's possible with the low-code apps you already use. 

Just go to lowcodeengineers.com today to try it out. 

‍

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

 

‍

Tutorial
October 16, 2023
How to Turn Notion Relations into Linked Records in Airtable

If you’re making the switch from Notion to Airtable, you might be worried about losing all of the useful Relations that keep your databases linked. 

Luckily, with a couple super easy formulas, you can quickly convert all of your Notion Relations into Linked Records in Airtable. 

In this post, we’re going to show you how to quickly migrate your data without losing valuable connections. 

We’ll start by showing you how to export a Notion database and import it into Airtable. Then, we’ll walk you through a couple of quick formulas and field edits that will let you automatically re-establish your Relations from Notion as Linked Records in Airtable. 

Let’s get started!

One-time migration vs. synced databases

Before we show you the entire process for exporting your data and creating linked records, we just want to be clear that the setup we’re going to demonstrate is only suitable for a one-time transfer.

If you want to keep a permanent sync between Notion and Airtable, you should check out automation providers like Whalesync or Unito, that specialize in synchronizing databases between different apps. 

These apps will let you maintain parallel databases in Notion and Airtable, and update the appropriate records whenever you make an edit to either database. 

‍

On our blog, you can find tutorials for syncing Notion and Airtable in either Whalesync or Unito.

‍

However, if you just want to make a one-time switch from Notion to Airtable, the technique we demonstrate in this tutorial will be perfect. 

‍

With all of that in mind, let’s take a look at the process for migrating your Notion databases and transforming your relations into linked records in Airtable. 

Overview

First, we’ll give you a quick overview of the whole process. Then, we’ll go into each step in detail. 

1. Open your Notion databases that are linked with a relation. 

To start, open up your Notion databases. We’ll call them Database A and Database B. It doesn’t matter which is which; we’re just using these labels to make it clear when we’re working in one vs the other. 

‍

2. Add a unique ID to Database A

Add a new property to Database A. Choose “ID” as the type. Enter a name for this field, like “Notion ID”, and provide a prefix to use in the ID. 

‍

‍

NOTE: If you have a field in Database A with unique values for every record, you don’t need to add an ID. For instance, you might be able to use an “email address” field instead. However, adding this ID only takes a few moments, and ensures that you’ll have a unique value associated with each and every record. This will be essential when you’re creating linked records in Airtable. 

3. Add an ID rollup to Database B

Add a rollup to Database B to look up the ID field for each related record from Database A. 

‍

4. Export your Notion databases

Export both of your databases as CSV files. You can find the “export” option in the three-dot menu in the top right. 

‍

5. Import your databases in Airtable

Import the databases into Airtable as new tables, and adjust the field type during the import configuration.

Make sure the relation and rollup fields are set to “single line text”. 

‍

6. Turn Database A’s primary field into a formula field

Then, duplicate the primary field in Database A, and change the original primary field into a formula. The formula will just display the contents of the Notion ID field. Alternatively, you can use the formula to point to any other field that will have a unique value for each record. 

‍

7. Convert Database B’s former rollup field into a linked record

Open up Database B. 

‍

‍

Convert the old rollup field into a linked record. 

‍

‍

Airtable will now treat the text in these fields as names of records in Database A, and since you changed the primary field to display a unique ID, it should find the correct matching records. 

‍

8. Delete unused fields and update the primary field

Now the link has been rebuilt, you just need to delete any old unused fields, and change the primary field in Database A to something that makes it easier for a human to identify each record. 

‍

‍

For instance, we’ll just change it so it includes the name and title of each contact.

‍

‍

That’s how the transfer works in a nutshell, but you can read on for more detail about each step. 

Preparing your Notion databases for export

To start, open up the related Notion databases you want to export. 

On the Notion page pictured below, we have two related databases that we want to export to Airtable: Contacts, or ‘Database A’, and Companies, or ‘Database B’. A two-way relation connects each contact to a company. 

‍

‍

We’ve put both databases on the same page for convenience, but it’s OK if your databases are on different pages. 

Before you can export your databases, you’ll just need to add a couple fields to make sure you can easily rebuild the relations as linked records. 

Add an ID field to Database A

In Database A, add a new property and choose “ID” as the type. Then, enter a prefix to use. For instance, each record in our Contacts base will have an ID of “CON”, then a number. 

‍

‍

Give this property a name, and save it. 

Add a rollup in Database B to look up the ID

Then, open up Database B and add a Rollup property. Select the relation to Database A, and give it a descriptive name. Then, set the rollup to look up the “ID” field you just created in Database A. 

‍

‍

By giving each record in Database A a unique ID, you can ensure that Airtable will be able to find the correct record to link to later - even if you have multiple records with the same or similar names. 

‍

‍

For instance, you might have two contacts both named “John Smith”, so using the name alone would produce inaccurate results. 

‍

By searching for the unique ID instead, you should avoid the vast majority of potential errors. 

‍

Alternatively, you could skip adding the ID to Database A if it already has a field with a unique value for each and every record. In many cases, an ‘email address’ field might work for this purpose. 

However, using a dedicated ID field is a foolproof solution that will work for any context, so that’s what we’ll demonstrate.  

‍

Once your Notion databases are set up with unique IDs, you can go ahead and export them.

Export your Notion databases as CSV files

To export a database, open it up as a full page. 

‍

‍

Then, click on the three dots menu in the top right corner of the screen, and select “Export”. 

‍

‍

The “export” option will let you export the entirety of your currently selected page, including any databases on that page. When you open the database as a full page, the database is the only item that will be exported. 

Configuring your export settings

Export format

By default, the “Export format” should already be set to “Markdown & CSV”, which is what you’ll want to use. 

‍

Include databases

For every exported database, Notion will create two CSVs. One of these files will always include all of the records in the database. 

The “Include Databases” setting will let you choose whether you want the other CSV to include the current view you’ve selected or the default view of your database. 

‍

Choosing “Current view” will just make it so the other CSV uses your currently selected view. If you select “Default view”,the other CSV will use whatever view you’ve designated as the default view for the database. 

‍

Include content

The “include content” option allows you to choose whether or not you want to include images in your export (if any are present on the page).

‍

Include subpages and Create folders for subpages

For a database export, you can usually leave “include subpages” unchecked. 

‍

If you are including subpages, you can also choose whether or not to create folders for those subpages. 

‍

‍

With all of your settings configured, click on “Export” to save your database. The exporting process can sometimes take a while as Notion creates the necessary files and compresses them into a .ZIP archive. 

‍

Once your export is ready, you can save it to your computer. 

‍

‍

The randomly generated title isn’t very descriptive, so you’ll probably want to rename the archive. 

‍

‍

When you uncompress it, you’ll see a folder with two CSV files. Both will have the name of your database, and one will also say “All”. 

‍

‍

The “All” CSV will include every record in your database, and is the CSV you’ll usually want to use. The other will include the default view, or the “current” view, as you selected during the exporting process. 

Import your databases into Airtable

To import your database into Airtable, open up an Airtable base you’d like to use. Click “Add or import”.

‍

‍

Then select “CSV file”. Upload your CSV exported from Notion for Database A. 

‍

‍

Then, choose whether to create a new table, or to add the data to an existing table. We’d recommend always creating a new table, unless you already have a table formatted with all of the fields you need. 

‍

‍

Next, you’ll need to adjust your import. Airtable will try to set appropriate field types automatically, but you’ll usually need to adjust its selections a bit. 

‍

‍

As you’re adjusting the fields, be sure to set the former relation field from Notion AND the ID field to “Single line text”.

‍

‍

Under “Other settings”, make sure that “use first row as headers” is checked to use the first row in your CSV as field titles instead of making it a record. 

‍

‍

Once your configuration is all set, click “Import”. 

‍

Reviewing and adjusting your imported database

Repeat the same process to import Database B. Then, make sure to give both databases descriptive names in Airtable. 

‍

‍

Note that the data in the old relation fields in our databases look a little different than they did in Notion. Each record includes the Notion URL for its related page. 

‍

‍

This is another reason why we want to use an ID to find each record instead. With the added URLs, these records in Database B don’t exactly match the names listed in the “Contacts” table. 

‍

If we just converted this old relation field into a linked record, it would create new records that would include the name and Notion URL as the person’s name - and every other field would be blank. 

‍

To help prevent confusion later on, I’d recommend renaming your old relation fields from Notion. For instance, you can just add an {OLD} tag to the fields for the time being. 

‍

Now, let’s use some simple formulas to rebuild your relations as linked records. 

Rebuilding relations as linked records in Airtable

First, go back to Database A - for us, that’s “Contacts”. Then, duplicate the “primary field”. That’s what Airtable calls this first field on the left that acts as a label for each record. 

‍

Click on the primary field, and select “duplicate field” to make a copy to the right. 

‍

‍

Then, give the newly copied field a new name to distinguish it from the primary field - like “Contact name”. 

‍

Use a formula to display the Notion ID as the primary field

Next, change the primary field to a formula instead of just a text field. Click on the primary field, and select “edit field”. 

‍

‍

Then, change the field type to “formula”. 

‍

‍

Don’t worry; this formula’s going to be very easy. All you need to do is display the contents of the “Notion Contact ID” field - or whatever you’ve named your field that holds the Notion ID you created earlier. 

‍

‍

Just start typing the field name, and select it from the list when it pops up.

‍


Click on Save to commit your changes, and click “Convert” on the warning about changing field types. 

‍

‍

With your formula set, the primary field for every record will display exactly the same value as the Notion ID field. 

‍

‍

Note that this isn’t a permanent change. It’s just a step towards rebuilding the relations as linked records with these two newly imported tables. We can (and will) change the formula again later. 

Convert the old rollup field into a linked record

Open up Database B - for us, that’s Companies. The old relation field that linked database B to Database A in Notion is called “Contacts”.

‍

‍

We’d recommend changing its name to avoid any confusion - we’re just keeping it here for reference, and we’ll delete it later anyway. We’ll add an {OLD} tag at the beginning.  

‍

‍

The “Contact ID” field was a rollup in Notion - it looked up the Notion ID for the linked contact. 

As such, it lists an ID for each related contact. 

‍

‍

If we convert this field to a linked record connected to the Database A - Contacts table in Airtable, then Airtable will automatically look for any records with these IDs in the primary field. 

‍

That’s why we updated the primary field in the Contacts Database to use each record’s Notion ID instead of the name. 

‍

Change this field’s name to something that reflects the database you want to link to (like “Contacts”) and change the field type to linked record. 

‍

‍

Pick Database A (e.g., our “Contacts” table), ensure that “allow linking to multiple records” is enabled, and save the changes. 

‍

‍

Once again, you need to confirm that you want to change the field type. 

‍

‍

And you can skip adding any lookup fields for now. 

‍

‍

If you’re working with a larger database with thousands of records, this might take a minute or two. 

‍

But with a small database like the one in our example, the change happens immediately. 

The “Contact ID” field is now a linked record connecting Contacts to Companies. 

‍

‍

Of course, these Notion IDs don’t make for the best labels. Not for humans to read, anyway. So to wrap things up, just go back to Database A - Contacts, and change the primary field formula to directly reference the “Contact Name” field instead of the Contact ID field. 

‍

‍

We’ll also include their title. 

‍

‍

Feel free to format your primary field however you’d like. You can concatenate any data you want from each record into the primary field with a formula. 

‍

‍

With the primary field updated, let’s go back to Database B - Companies, and check the linked record. Instead of IDs, we see names and titles now. 

‍

‍

And when you compare the new linked record field to the old relation field, you should see the names all match up. 

‍

You can confidently delete the old relation field from both tables, and you’re all set to use your new Airtable database with linked records! 

‍

Check out our Airtable beginner’s guides to learn about adding automation, interfaces and more to your new Airtable system. 

The importance and utility of primary fields in Airtable

Before we wrap up this post, we just want to note how useful the primary field in Airtable can be, and to emphasize a point we bring up often in Airtable tutorials. 

‍

It is always a great idea to use a formula as the primary field instead of static text. 

‍

In this case, using a formula lets us give our records one label that works well for rebuilding links, and immediately switch it to another label that’s easier for people to read. 

‍

And if we want to change this primary field again in the future, we just need to edit the formula once, and every record will reflect the new format instantly. 

‍

Setting up a formula for your primary field is just one small aspect of organizing your database, but it can pay huge dividends when you need to edit your data. Just keep that in mind as you add new bases, and tables to your Airtable Workspace. 

Data migration made simple with Airtable formulas

Moving your data from one app to another can be a pain. Luckily, a simple CSV export and import will take care of migrating your fields, and with Airtable, preserving your Notion relations just takes a few more steps. 

With a simple formula in Airtable and a couple quick field edits, you can rebuild as many linked records as you want in a matter of seconds. If you’d like to learn more about managing your data in apps like Notion and Airtable, be sure to check out our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

‍

Understanding Automation
October 9, 2023
5 Tips for Building Better Zaps

Getting started with Zapier is easy, but building scalable and flexible automations for you and your team can take a little more work. 

‍

Today, we’re going to share five of the key automation concepts that will help beginners to understand how Zapier really works. 

‍

We’re going to cover test data, variables, default values, paths, and run history. These aspects of Zapier are essential for building and maintaining Zaps that support real companies in practical use cases. 

‍

We’ll explain how they all work, and we’ll demonstrate some practical examples that you can build to try them out for yourself. 

‍

Understanding these systems and tools will help you to leverage Zapier as a time-saving resource for an entire team and not just for an individual user.  

‍

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

‍

Creating test data for your Zaps

First, let’s start by taking a look at test data. 

‍

Test data is a concept that we’ve touched on in our Zapier beginner’s guide, as well as many other Zapier tutorials on our blog. However, it’s worth taking a moment to explain test data in detail. 

‍

Test data is an essential part of any automation. You cannot build a Zap without test data. 

‍

For instance, if you want to build a Zap that runs whenever a new event is added to a specific Google Calendar, you need to have an event on the calendar that you can use as test data before you start building the Zap.

‍

Any data in your trigger app can be used as test data, but you usually should pick something that has all of the information you intend to use in your automation. 

‍

For example, if you want to reference the Zoom link from the Calendar event in your Zap, you should use an event with a Zoom link as your test data. 

‍

Let’s see what a good test looks like, and what a bad test looks like. 

‍

Here’s the automation that we want to build.

‍

‍

Whenever a new event is added to the calendar, send a Slack alert in the “tutorials” channel.

‍

The Slack message will list the Event title, Attendees, the Start Time and Date, the Description, and the Zoom link for the meeting. 

‍

Creating complete test data

‍

First, we’ll take a look at creating good test data. 

‍

Since we want to launch our automation whenever there’s a new Calendar event, we need to have a Calendar event ready to test. 

‍

We’ll make a Google Calendar event called “Test Event”. Giving it a name like that will make it easy to identify it later in Zapier. 

‍

We’ll be sure to include every data point that we want to use in the Slack message: attendees, a description, and a Zoom link for conferencing. The event already has a title, and every event must include a start time by default.

‍

‍

This event has all the data we want to reference in our Slack message, so we can start building our automation. 

Using complete test data to build a trigger

With your test data prepared, you can create a new Zap and start configuring the trigger. In our example, we’ll choose Google Calendar as the app. Then, we’ll choose our Google account. 

‍

‍

The triggering event will be “New Event”. And we’ll pick the calendar that we want Zapier to watch. 

‍

‍

Always make sure to select the calendar, folder, database, etc. where you just created your test data. 

‍

Once you’ve finished setting it up, Zapier will prompt you to test the trigger. While you can skip testing on any actions you add to your Zap if you really want to, you cannot skip testing the trigger. 

‍

‍

You need to test your trigger before you can turn on and publish your automation. So to continue our example, we’ll run the test. 

‍

‍

Zapier will retrieve up to three recent pieces of data that match your trigger conditions. If your test data doesn’t show up here, you can click on “Find new records” to see more recent data.

‍

Keep in mind if you’re expecting test data and don’t see it, it's likely something is configured incorrectly in your trigger. You might be watching the wrong folder or the wrong calendar, for instance. 

‍

But we can see an event with title (or “summary”) of ‘Test Event’, so our trigger is configured correctly.  

‍

‍

As you can see, Zapier retrieved a wealth of information associated with this Calendar Event. This is typical for Zapier triggers, and is going to be useful as we start building our Slack message. 

‍

After building our trigger and testing it with complete data, we know that Zapier can find the data it needs to start running the automation. 

‍

Now, we want to build and test the action that we want Zapier to perform whenever a new Calendar event is created. 

Using test data to build an automated action

After you’ve finished building and testing your trigger, click on “Continue with selected record” and add an action to your Zap. For our example, we’ll add a Slack action, and choose “Send channel message”. 

‍

‍

Now, you can configure your action however you’d like. In our example, we’ll compose the message, and include some of that data that we retrieved in the trigger. 

‍

In our message, we’ll include the event summary, the description, the start date and time, the list of attendees, and the Zoom link. 

‍

‍

While most of the data that you want to use should be pretty easy to find, sometimes the data you retrieve in Zapier won’t be labeled very clearly. 

‍

For instance, the link for the Zoom call in a Google Calendar event is called “Conference Data Entry Points Label”.

‍

‍

In some cases, Google Calendar will copy the Zoom link to the “Location” field as well, but that depends on each user’s Zoom and Calendar settings. 

Use the search bar to find data

This is one of the reasons why test data can be so useful. Inside of the results, you have access to a search bar which you can use to find specific data points. 

‍

For instance, when we search for “Zoom”, the results show us the URL that includes the term “zoo”’, which is how we can find out that it’s associated with the “Conference Data Entry Points Label” variable. 

‍

‍

So we’ll add that data into our Slack message along with the other information, and finish configuring this step with a few other settings. 

‍

Once you’ve finished configuring your action, it’s time to give it a test. Testing actions in Zapier is optional, but we would almost always recommend testing every single step while you’re building. 

‍

Testing an action in Zapier

Note that testing an action in Zapier will actually run that action in your software, and will use the test data that you loaded into the trigger. 

‍

So, for instance, testing a Slack message step will actually send a Slack message based on the specific Calendar event we selected when we tested the trigger.

‍

When you’re creating test data, you’ll want to make sure to use appropriate channels, email addresses, and accounts. You don’t want to bug clients or colleagues with test messages while you’re building. 

‍

With all that in mind, we’ll run our test and send a Slack message to our tutorials Slack channel. 

‍

‍

After testing your action, Zapier will confirm that your action worked correctly, or provide you with an error message if it encountered a problem. 

‍

‍

However, it’s always a good idea to open up any app where you expect to see new or updated data. 

‍

For example, when we check Slack, we can see the message in the tutorials channel. There’s lots of useful information about the new Calendar event, including the Zoom link. 

‍

‍

You should also confirm that all of the information your Zap created is correct and functional. When we click on the Zoom link, we can confirm that we’re taken to a Zoom meeting. 

‍

‍

Our test is complete, and we know that our automation works. But what if our test data didn’t have all this information?

Testing Zaps with incomplete data: missing and empty variables

If your test data is missing important pieces of data, it becomes much more difficult to build your desired automation. 

‍

To demonstrate how this works, we’ll go ahead and create some test data that’s missing key pieces of information we need in our automation. 

‍

We’ll create a new Calendar event called “Test Event - No Zoom, No Description”, and we won’t include a Zoom link or a description. 

‍

‍

Now we’ll go back to Zapier, and re-test our trigger with the new incomplete calendar event. 

‍

‍

Then, we’ll add a new Slack message and start filling it like before. 

‍

‍

However, we can’t find the Zoom link this time. When we search for “Zoom”, or “Conference Data Entry Points Label”, the variable that we saw in our earlier test data isn’t there at all. 

‍

‍

Because our Google Calendar test data is incomplete, there’s no way to add a Zoom link to our Slack alert. 

‍

On the other hand, you’ll note that the “Description” variable is still available, even though it’s empty. 

‍

--

‍

With incomplete test data, you’ll encounter both of these scenarios. Some variables will be missing entirely, and others will be blank. 

‍

This means you won’t be able to add the missing variables as you’re configuring action steps. And while you can add the blank variables to your action steps, you won’t be able to confirm their contents or formatting when you run a test, since there’s no data there. 

‍

‍

When we test the Slack message step, we can see that there’s no Zoom link, and no description. 

‍

‍

With incomplete test data, we can’t build the automation that we want (a Slack message including a Zoom link), or confirm that it’s working as intended. 

‍

That’s why your test data should have every bit of information that you intend to include in your ideal automation. If anything, you should err on the side of using more data than you think you need. 

Understanding variables in Zapier

As you’ve been reviewing  our examples, or as you’ve been using Zapier, you may have noticed that the data retrieved in Zapier always follows a similar format. 

‍

Both events we tested had labels for nearly all of the same information. They both had labels for Summary, Attendees, Start Date, and Description, but the specific data or value associated with these labels differed for each event.

‍

[test data - annotate “variable” and “value”

‍

These are what we call “variables”. In Zapier, a “variable” refers to every piece of information retrieved from any step in your automation 

‍

A variable can be something like a Calendar event’s name, or its start time. 

‍

‍

If you’re automating a CRM like Hubspot, you’ll see variables for each contact’s name, their deal status, and dozens of other attributes unique to each contact.

‍

If you’re automating your ecommerce store in Shopify or Magento, you’ll see variables relating to product prices, variants, and descriptions. 

‍

Regardless of the app involved, variables describe all of the available attributes for whatever digital object Zapier is processing. 

‍

Every calendar event will always include a similar list of variables in Zapier, and every Hubspot contact will include the same list of variables as every other contact. 

Using variables to build more useful Zaps

‍

The variables are always the same, but the values - the actual data associated with each variable - can change every time.

‍

That’s why they’re called variables, and why we build automations. That ability to include dynamic data is one of the things that makes Zapier so useful. 

‍

In our simple automation with Slack alerts for calendar events, the alert is only really helpful if it includes the right details and Zoom link for each new event.

‍

‍

In other contexts, using variables can help you to accommodate an entire team with a single automation instead of building a unique Zap for each person. 

‍

Instead of sending an email to a single, fixed address, you could send an email to a dynamically retrieved address that will reflect the data that triggered the Zap to run. 

‍

Replace missing or empty variables with default values

With purpose-built test data, we can always control what information we include, and what information we leave out. 

‍

But when your Zaps are live and taking in data from the real world, inconsistencies are inevitable. 

‍

We could design and build an automation that assumes people will always provide a description and a Zoom link, but we know that sometimes, people might forget to add them to their events. 

‍

And when they do, what happens to the automation?

‍

Thankfully, Zapier provides some simple ways to respond to different data with different actions. All you have to do is add Default Values or Paths to your automation. 

‍

We’ll start with Default values.

Adding default values to a Zap

Default values can be used to provide a fallback value for an empty variable. 

‍

For instance, if a calendar event is missing a description, we can use a default value to use the text “No description provided” instead of just having a blank space. 

‍

To get started, add a new action and choose “Format”.

‍

Your formatter step must be placed after the trigger, and before any action where you want to include the default value. So in our case, it needs to go before the Slack message. 

‍

‍

Formatter is a Zapier tool that allows you to reformat text, numbers, lists, and more. 

‍

‍

For the event, choose “Text”, and select “Default Value” as the action. 

‍

‍

Then, choose the variable that you want to replace if it’s empty. In our example, that will be the “Description”. 

‍

‍

Enter the text that should be used as a default value if the chosen variable is empty. We’ll enter “No description provided”. 

‍

‍

Once you’ve created your default value, give it a test. You’ll want to test your default value twice: once with test data that includes data for the variable you want to replace, and once with test data that’s missing data for the variable you want to replace. 

‍

That way, you can confirm that the default value is only used for empty variables. 

‍

To start, we’ll go back to the trigger and select a Calendar event without a description. 

‍

‍

Then, we’ll test the formatter step again. 

‍

‍

And as you can see, it replaced the blank variable with “No description provided”, just as expected. 

 

Next, we’ll test the step again with an event that does have a description. 

‍

‍

And this time, it leaves the text as is. 

‍

As we noted earlier, whenever you’re working with default values or paths, you’ll want to test each possible outcome that you’ve added to the Zap. 

Add multiple default values to your Zaps

If you’d like to add multiple default values, add a new formatter step for each one. 

‍

Just remember to place the formatter step before any action where you want to use the default value. 

‍

When you add multiple formatter steps, it’s also helpful to rename them so that you know what each step does. “Formatter” can transform data in dozens of different ways, so “Formatter” alone is a very vague title. 

‍

We’ll add another formatter step to our Zap to provide a default value for a missing Zoom link. 

‍

‍

Then, we’ll rename both formatter steps to keep things organized. 

‍

‍

With both default values ready, any alert will use default values as needed to replace missing variables. 

‍

‍

To be thorough, you should test your automation with each possible configuration. In our example, that would involve testing once with a Zoom link and no description, once with a description and no Zoom link, once with both, and once with neither. 

‍

But we won’t waste your time showing you all of those tests. Just remember to test every configuration that you can when building, within reason. 

Perform different actions in the same Zap with paths

Default values are great for replacing text. 

‍

But what if you want your automation to actually perform different actions based on different inputs? 

‍

To do that, you’ll need to use Paths. Adding paths will give your automation multiple potential outcomes. 

‍

Each path will include an associated condition. If the data your Zap is processing meets that condition, it will run down that path. 

‍

Let’s see how paths look in action. 

Adding paths to your Zaps

We’ll add a couple paths to our Calendar alerts Zap: one for events that don’t include a Zoom link, and one for events that do. 

‍

This time, instead of just having a warning that no Zoom link is provided, we want to email the organizer of the event and ask them to add a Zoom link. 

‍

‍

To add paths, add a new action to your Zap. Note that paths need to be the last action in your Zap.

‍

Then, select “Path” from the app menu. 

‍

‍

Instantly, you should see two branching paths added to your Zap. Each path starts with a “Rule”.

‍

‍

The rule is where you’ll configure the conditions that make the Zap select the appropriate path. 

‍

Click on the rule under path A to configure it. 

‍

‍

We want this path to run if the Calendar event is missing a Zoom link, so we’ll set the condition to “Conference Data Entry Points Label” “does not exist”. 

‍

‍

Then, we’ll give it a test by clicking on “Continue”. 

‍

‍

The automation says this action would not have continued down this path, since the Zoom link is there. 

‍

To finish testing this path’s condition, we’ll update the test data to an event without a Zoom link. 

‍

‍

Then, we’ll retest both formatter steps before finally testing Path A’s condition again. The path now says that it would have continued. 

‍

‍

Once you’ve configured and tested the path’s condition, you can add any actions you want to the path. 

‍

We’ll add a Gmail step, and set up an email that will go to the event organizer, asking (politely) to add a Zoom link to the event. 

‍

‍

Test any steps you add to Path A. Then, configure Path B. 

Configuring a second path

You can set up the rule for Path B the same way as Path B, but be careful when you’re designating the rules for each path. 

‍

Multiple paths can run at the same time. However, this can often lead to confusing and redundant results. 

‍

In most cases, it’s best to set up all of your paths at a single junction to use mutually exclusive conditions. That way, you’ll be able to ensure that, logically, only one path can run at any given time. 

‍

For our example, we’ll set Path B’s condition to “Conference Data Entry Points Label” “exists”. Since it’s the exact opposite of Path A’s condition, we know that only one path can run at once. 

‍

‍

Then, we’ll copy the Slack step from earlier in our automation into both Paths A and B. 

Add (almost) as many paths as you’d like

Note that you can add up to 10 paths within a single path module. From there, you can also nest path modules inside of paths, potentially adding over a hundred paths to a single automation. 

‍

Of course, just because you can doesn’t mean you should. Be careful not to make things more complicated than they need to be. 

Exploring Zap history to troubleshoot and fix errors

With all the variables and paths you might be adding to your Zaps, there are many different ways your automations might run, and many different outcomes they could produce. 

‍

When something is not working, or not working as expected, you might not always be sure which path ran - or which one was supposed to run. 

‍

That’s why it’s good to check Zap history whenever your automations aren’t working as expected, or are hitting frustrating errors.

‍

Zapier keeps a log of all your Zaps’ history. You can access it by just clicking on the Clock icon in the Zap editor. 

‍

‍

You can also find history from your Zapier homepage by checking the panel on the left.

‍

‍

 In your history, you can see every action run by your account.

‍

‍

You can filter by date range, the name of the Zap, the apps involved, the folder the Zap is stored in, or the Zap creator. 

‍

‍

You can also use the search bar to search for keywords across Zap titles and the data that your zaps processed when they ran.

‍

When we filter our history by our “Test Data, Variables, Default Values, Paths Demo” Zap, we can see a few results. Note that you’ll only see runs that occurred while your Zap was turned on and published. You won’t see tests in Zap history. 

‍

‍

You can click on any of these entries to see more details. 

‍

‍

When we select an entry, we see a list of every action that ran, and a clear breakdown of which paths ran, and which paths didn’t. 

‍

Reviewing the history will let you see exactly where a Zap encountered an error, and will provide an error message explaining what happened. 

‍

‍

The error messages are often clear and helpful, but can sometimes be a little vague. These errors usually come from the app that you’re automating, not Zapier itself. A quick Google search with the error message usually helps. 

‍

Be vigilant with your zap history; it is the key to understanding what happened, and will guide you to a solution. Checking the history tab should always be your first step whenever a Zap isn’t working as expected. 

Build advanced automations with a user-friendly platform

Zapier is an excellent automation platform for no-code beginners. But even a user-friendly platform like Zapier has the potential to build sophisticated automations that handle variable data with different outcomes. 

‍

Understanding how test data, variables, and paths work will help you to build more useful, robust Zaps for your team. And keeping an eye on the history tab will make it easy to fix any problems that crop up.

‍

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

‍

Understanding Automation
October 2, 2023
Notion AI vs. ChatGPT: Is Notion AI Worth It?

With AI’s sudden rise to prominence in the last year, there are more AI tools available than ever. 

Whether you want to use a standalone Chatbot or an AI utility integrated directly into your favorite apps, there’s an option out there for you. 

‍

In this post, we’re going to take a closer look at two specific AI tools that you might be considering: ChatGPT and Notion AI.

We’ll see how both of them stack up to each other, and we’ll help you to answer the question: is Notion AI worth it?

‍

We’ll compare the features of ChatGPT and Notion, and we’ll explore how each app can fit into your workflows. We’ll also break down pricing for both Notion AI and ChatGPT, so you can decide which is the better value for you and your team. 

‍

Let’s get into it!

UX Comparison: Enter prompts directly in Notion, or send messages to a standalone chatbot

First, let’s take a look at the key differences between each AI tool’s User Experience, or UX. 

ChatGPT’s UX: a familiar messaging layout

ChatGPT is a standalone chatbot. 

To use ChatGPT, you just need to create an account at chat.openai.com, enter your prompts in the text box, and wait a moment for your AI answer. 

‍

entering a prompt into chatgpt

‍

The UI is essentially a standard messaging interface. You’ll see every recent chat in a menu on the left, and you’ll see your conversation with the AI in the main window in the middle of the screen. 

‍

getting a response from ChatGPT

‍

On the ChatGPT homescreen, you’ll see a few suggestions for prompts that you might want to send. 

‍

ChatGPT's suggested prompts

‍

Clicking on any of these will instantly enter the prompt into a new ChatGPT conversation, and ChatGPT will immediately begin generating its answer. 

‍

Clicking a suggested prompt to get a response

‍

Notion AI’s UX: direct integration into your documents

While ChatGPT is a standalone app, Notion AI on the other hand is an integrated AI tool that’s built directly into Notion. 

If you’re not familiar with Notion, it’s a highly versatile app for creating documents, tracking projects, and building a wiki for your team. 

‍

Each page or table can be extensively customized with configurable blocks, including a recently added block for Notion AI.  

‍

finding Notion AI with a keyboard command

‍

Like any block, Notion AI can be accessed by simply typing forward slash, and searching for its name.

‍

entering a prompt into Notion AI

‍

Once you’ve accessed Notion AI, you can enter a prompt into the text box in basically the same way as you would in ChatGPT. You’ll then see several options for inserting the response into your Notion document. 

‍

Getting a response from Notion AI

‍

Similarly to ChatGPT’s suggestions, you can also use some of Notion’s preconfigured prompt templates. 

‍

Using a preconfigured Notion AI prompt, like "translate"

‍

These will automatically enter a prompt to perform common actions like translating text, or finding action items. 

‍

Text translated by Notion AI

‍

However, Notion AI also offers a couple alternative ways to enter your prompts. 

Highlight text to quickly reference it in your Notion AI prompts

If you want to reference an existing document or passage of text in your prompt, you can simply highlight that text in Notion, then type a related prompt. 

‍

Highlighted text in Notion with a contextual Notion AI prompt field

‍

For instance, you might want to ask Notion AI to expand on the highlighted text, or to change its tone and style. 

‍

Entering a contextual prompt in Notion AI

‍

Finally, Notion AI also allows you to create AI blocks. AI blocks allow you to run a prompt with the click of a button. 

‍

Configuring a template button with a "Find AI actions" button

‍

For example, you might add an AI block with a “Find Action items” prompt into a meeting notes template. 

‍

Clicking on a "Find Action Items" button

‍

That way, you can just click on the AI block to get a summary of each meeting after you’ve filled in the notes. 

‍

Getting AI-generated action items in Notion AI

‍

Ultimately, ChatGPT and Notion AI offer two very different ways of interacting with AI. But do these AI tools actually perform different functions? 

Notion AI and ChatGPT’s Functionality

Despite their distinct user experiences, Notion AI and ChatGPT actually boast very similar capabilities. 

Generate creative writing samples, brainstorm ideas, and more

Relying on language models, both can generate realistic text for nearly any context or use case you might think of. 

‍

ChatGPT and Notion AI responding to creative writing prompts

‍

They can handle creative writing like poems, draft marketing copy for a newsletter, offer up a list of vacation activities for you and your family, or brainstorm a chore schedule for keeping the house clean. 

‍

ChatGPT and Notion AI proofreading a passage of text

‍

Notion AI and ChatGPT can also help you to check the spelling and grammar of a passage of text, or translate it into another language. 

‍

Write code with ChatGPT and Notion AI

You can even ask both AI tools for help writing code and scripts, although their answers won’t always be 100% reliable. 

‍

ChatGPT and Notion AI writing HTML

‍

However, they’re usually an excellent starting point for building a section on a webpage, or creating a function to use in Google Sheets or Airtable. 

Ask for styled and formatted text with markdown

Both Notion AI and ChatGPT are also capable of formatting the text that they generate. 

‍

Using a simple syntax called “Markdown”, which is very popular in web applications, they can add headings to their answers, apply bold or italic styles, and even create tables and checkboxes. 

‍

ChatGPT and NotionAI styling text with markdown

‍

After some testing, the only difference we’ve found so far is that Notion AI can create fully functional toggle lists, while ChatGPT seemingly can’t. 

‍

ChatGPT doesn't generate a toggle in its answer, while Notion AI does.

. 

Use Notion AI for automatically styled blocks, or copy and paste from ChatGPT

Since Notion uses markdown to format all of its blocks, any formatting that Notion AI uses will be applied in the app. 

‍

All of the headings, text styles, tables, and other formatting options will work in the exact same way as any formatting that you apply manually in Notion. 

‍

When you copy text generated by ChatGPT, you’ll also copy the markdown formatting along with it. 

‍

Copying an answer from ChatGPT

‍

Then, when you paste the text into an app like Notion that supports markdown, all of the formatting will be preserved. 

‍

Pasting an answer into Notion AI and retaining styles

‍

Ultimately, both Notion AI and ChatGPT can provide fully formatted and styled text in response to your prompts. 

‍

However, if you’re using ChatGPT, you’ll need to copy and paste the AI’s answer into whatever app you’d ultimately like to store or publish it in. With Notion AI, your formatted answer will already be generated in an app that’s ideal for keeping track of your documents. 

Shared limitations: focus on language tasks, not math

Just as the two AI tools have similar strengths, they also have similar weaknesses. 

‍

As AI language models, they’re excellent at producing sentences that sound like they could have been written by a human. But they’re not always so great at math, or even just counting. 

‍

Prompts asking ChatGPT and Notion AI to limit their answers to 100 characters

‍

Complicated math problems often stump both AI tools, and neither is particularly good at sticking to a word or character limit. In the image below, you can see that ChatGPT managed to stick to our request to provide a description of less than 100 characters, while Notion overshot the mark. 

However, ChatGPT also frequently fails to abide by character limits. 

‍

ChatGPT's response is 87 characters, while Notion AI's is 114 characters.

‍

As long as you’re using these AI tools for the language processing that they’re meant for, they can both perform virtually all of the same tasks - and perform them well. 

‍

The key difference is that Notion AI’s answers are integrated directly into your Notion pages, while ChatGPT’s answers will need to be copied and pasted into another app. 

‍

If Notion is a key part of your workflows, Notion AI could be a much more efficient AI tool. However, if you’re not already a Notion user, or if you want to use AI prompts to generate text in several different apps, Notion AI won’t offer as much of a benefit. 

ChatGPT and Notion AI’s language models

With our earlier talk of language models, some more technical readers might be wondering: which models do Notion AI and ChatGPT actually use?

Choose from GPT3.5 and GPT4 in ChatGPT

The answer for ChatGPT is very simple. As you can see when you open up the app, ChatGPT offers two models at the time of writing: GPT3.5, and GPT4. 

‍

ChatGPT's free model, GPT-3.5

‍

However, GPT4 is only accessible to users with a “Plus” plan. We’ll discuss that plan in more detail in the pricing section of this article. 

‍

ChatGPT's premium model, GPT-4

‍

3.5 and 4 are similar language models built by OpenAI, the organization that developed ChatGPT. 

However, GPT4 is a more advanced model. It’s been trained with more parameters, and is better suited to complex creative tasks. 

‍

Differences between GPT-3.5 and GPT-4

‍

You can learn more about the specific details of each model in OpenAI’s documentation, or in this OpenAI research page. 

Notion AI: no clear answers, but likely built on OpenAI language models

While ChatGPT openly advertises their language models, Notion isn’t quite so forthcoming. 

‍

Notion doesn’t disclose any information about the exact language model, and if you turn to Google, you’ll see there’s some confusion on this topic.

‍

Some sources claim that Notion AI uses Anthropic’s Claude LLM, while others state that Notion AI is using LAMDA, an open-source model released by Meta (aka Facebook). 

‍

However, based on Notion’s official documents, it appears that Notion AI is using a language model developed by OpenAI. In all likelihood, this is some version of ChatGPT, but we can’t be sure which one precisely. 

‍

When Notion AI first rolled out, Notion Expert Thomas Frank noted that their product terms stated:

‍

“Notion uses technology provided by OpenAI, LLC (“OpenAI”) to provide Notion AI.”

‍

Thomas Frank's Notion AI guide

‍

Unfortunately, the product terms page that he referenced is no longer accessible.

‍

However, in the “Supplementary Terms” page for Notion AI, it’s stated that:

‍

“you may not use the Notion AI features in a manner that violates any OpenAI Policy”

‍

Notion AI's supplementary terms

‍

So despite some claims to the contrary, it seems almost certain that Notion AI is using an OpenAI language model.

GPT3.5 Turbo is generally one of the most commonly used models for third-party apps, but there are several other models they could be using. 

‍

At any rate, it’s pretty clear from their output that Notion AI and ChatGPT are using similar models. But if you want to ensure that you have access to GPT4, you’ll need to use ChatGPT Plus. 

‍

ChatGPT and Notion AI’s pricing plans

While we’re on the subject of ChatGPT Plus, let’s talk pricing. At first glance, both AI tools appear to offer roughly comparable pricing, but in most cases, ChatGPT will be significantly cheaper for teams. 

ChatGPT’s pricing

ChatGPT offers two plans: a free plan, and ChatGPT plus, which costs $20 per month. 

‍

ChatGPT pricing

‍

The free plan provides access to the GPT3.5 language model only, and imposes no hard limits on how many messages you can send. 

However, you may lose access to ChatGPT whenever the app is experiencing heavy traffic. 

ChatGPT Plus features

ChatGPT Plus grants you access to GPT4, and ensures that you can access the app at any time. As long as ChatGPT isn’t experiencing a total outage, you’ll be able to use it. 

With ChatGPT plus, you can send unlimited messages with GPT3.5, and 50 messages every 3 hours with GPT4. 

Note that this limit has already been raised once since ChatGPT plus launched, so it may continue to increase. 

‍

You can also use optional plugins with GPT4. Note that these plugins may require paid plans of their own, but many are free to use - at least for now. 

Several of the plugins are still in beta, and may introduce paid plans once they’ve completed a release version. 

Notion AI pricing

Notion AI offers a free demo, and an add-on for paid plans that costs $10/mo. 

‍

Notion AI pricing

‍

The free demo provides each Notion user with a limited number of AI requests. The exact limit depends on how many people are in your Notion workspace. Larger workspaces get more free Notion AI prompts. 

‍

Unfortunately, the limit isn’t readily visible until you’re nearly at the limit already, but it appears that users get at least 20 requests they can use to try out Notion AI. 

‍

A paid Notion AI plan has no hard limitations, but Notion does note that your usage may be limited if it’s deemed excessive. 

‍

Notion often lists Notion AI at $10 per user per month, but this is a little misleading. 

You already need to have a Notion paid plan to sign up for Notion AI, and their paid plans start at $10 per user per month. 

Both $10 charges can be brought down to $8 per month if you pay annually, so Notion AI will cost you either $16 or $20 per month at a minimum if you don’t already have a Notion subscription. 

Adding Notion AI for every user in your workspace

Perhaps the biggest difference in pricing is that you have to purchase Notion AI for every user in your workspace, while a single ChatGPT Plus account can be easily shared with a few users through a password manager like 1Password. 

So when you’re comparing the pricing of both platforms, remember that the $10 per user per month charge will apply to every user in your Notion workspace. 

‍

Finding the right AI tool for you and your team

Ultimately, Notion AI is great for Notion power users. 

If Notion is the backbone of your company, holding your wikis, docs, and data, Notion AI is well worth the extra $8-10 per person per month, as long as you’re planning to make AI content writing a central part of your everyday work. 

With Notion AI, you can stay focused in Notion instead of going back and forth to copy and paste text out of a standalone app like ChatGPT. 

‍

However, if you want to add your AI output to several different apps, sticking with ChatGPT is likely the better choice.

Additionally, if you want a robust free option for long-term use, ChatGPT will be the clear winner. 

‍

With so many AI tools available today, there’s something for every use case. Whether you prefer a standalone app or an integrated utility, there’s a tool that can fit your use case. 

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

Tutorial
September 20, 2023
Airtable’s AI Assist Field: Build AI Prompts with Your Airtable Data

Generative AI is not limited to standalone apps. With interest in AI growing every day, tools like ChatGPT are being integrated into all sorts of popular software that you might already use. 

Right now, Airtable is rolling out a brand new field type called “AI Assist” that will let you generate AI prompts that automatically include the data in your base. 

In this post, we’re going to show you how this new AI Assist field works, and how you can sign up to try it out for yourself.

In our demonstration, we’ll start by creating a couple prompts using Airtable’s templates. Then we’ll make one from scratch, so you can see all of the options you’ll have with this field. 

‍

How to sign up for the AI Assist beta

AI assist is a brand new Airtable field type, and it’s still in a closed beta at the time of publication (09/20/23). 

If you’d like to sign up for a chance to join the free beta, just go to https://www.airtable.com/product/ai, and sign into your Airtable account if you’re not signed in already. 

Then, fill out the brief form to submit your request to join the beta. Not all requests will be granted access to the beta. 

‍

Airtable's signup form for the AI assist beta

‍

As Airtable notes in the sign-up form, they’re currently prioritizing accounts that are part of larger workspaces. However, small teams with free plans may still be able to join based on their circumstances, so it’s still worth signing up even if you’re not on an enterprise plan. 

‍

Eventually, we expect the AI Assist field to become a more widely available feature accessible to anyone who’s using Airtable. 

But while you’re waiting, we’ll give you a preview of how it works. You can also check out our video tour at the bottom of the page if you’d like to see a live demonstration. 

How the AI Assist field works

An AI assist field will generate its content by sending an AI prompt to GPT3 or GPT4. The field will then be filled in with the AI response. 

‍

An example of an AI-generated response in the AI assist field

‍

The prompt can either be based on a template provided by Airtable, or written from scratch by the user. 

‍

The AI assist field allows users to start from scratch or a template

‍

However you choose to create your prompt, you’ll always have the option to reference specific fields in your table. 

‍

Referencing Airtable fields in an AI assist template

‍

This allows you to create an AI field that summarizes the contents of several other fields, or an AI field that translates the contents of a specific field. 

‍

Referencing Airtable fields in an AI assist prompt written from scratch

‍

Next, we’ll show you how to create AI Assist fields step by step. 

Using the AI Assist field with prompt templates

First, let’s create an AI assist field using a templated prompt.

‍

In the image below, you can see a simple Airtable base where we’re tracking our latest blogs. It includes a small collection of relevant fields: title, subtitle, blog body, and date posted.

‍

XRay's example Airtable base

‍

Once you’ve been admitted to the AI Assist beta, you can get started by simply adding a new field to your table. Then, choose “AI Assist” as the field type

‍

Add a new field and choose "AI assist"

‍

When you create a new AI Assist field, you’ll have the option to configure the field from scratch or create a field based on a template. 

‍

Start from a template or start from scratch

‍

We’ll start with a template. 

The AI Assist template gallery

When you choose to start from a template, you’ll see a template gallery with several options you can choose from. 

‍

The AI Assist template gallery

‍

The template gallery is divided into a few categories based on use cases: General, Product, Marketing, UX Research, and Recruiting.

‍

All of the templates are available in a single list in the main window of the template gallery. If you select a category on the left, your window will scroll to the relevant part of the list. 

‍

‍

In the “Marketing” category, we can see an option to “Generate a tweet”. To use any AI template, just click on it to get started. 

Configuring an AI Assist template in Airtable: generating a tweet

Once you’ve selected your template, you’ll see several options for configuring your prompt. Each template will have slightly different options, but the general approach will usually be similar. 

‍

‍

Identify the main field the AI should reference

To start, you’ll need to identify the main field that you want to summarize into a tweet. In our example, we’ll select the Blog Body Excerpt, which includes the first 2,000 characters of the full Blog Body. 

‍

‍

This means that for each record, the AI assist field will reference the contents of that record’s “Blog Body Excerpt” field. 

‍

‍

As you’re configuring your prompt, you’ll see an example based on the first record in your base, but the finished AI field will dynamically reference unique content from each record. 

Identify additional fields for the AI to consider

Next, you can include other fields that the AI should reference as it builds the tweet. In our example, we’ll also select the “Title” and “Subtitle” fields. 

‍

‍

Note that as you keep making changes, you can update the preview at any time to see how your changes influence the AI’s output. 

‍

Provide an example of “an ideal tweet”

Under “Provide your own examples”, you can enter an example of an ideal tweet that the AI should attempt to emulate. If you provide an example, the AI will try to compose a new tweet that follows a similar structure and style. 

‍

‍

In our demo, we’ll enter this tweet that we published to our account several weeks ago:

‍

âœ…đŸ˜€ Getting frustrated with Asana and Monday? Build your own custom task management system in Airtable. In this XRay tutorial, we'll show you how to start tracking tasks and projects with an Airtable base. Just copy our base to get started. https://youtu.be/djdjIE82Gsc

‍

Provide specific instructions to fine-tune your prompt

Finally, under “Give any other instructions”, you can choose an optional style for the AI to use and provide any other details that you’d like to include in your prompt. 

‍

Currently, there are only three options under the “Style” menu: Friendly, Informative, and Funny. We expect that Airtable will add more options as the beta continues and the tool is updated. For our example, we’ll choose “Funny”. 

‍

‍

In the “Custom Instructions” field, you can enter any instructions or information that you’d like. This is a good place to enter any data that can’t be retrieved from the fields in your table. 

‍

In our example, we’ll provide some basic information about XRay. These details about our company aren’t going to be in any field, so we’ll add them here. 

‍

‍

XRay.Tech (or XRay) is a workflow automation consultancy. Every week, XRay posts a blog about workflow automation using tools like Airtable, Notion, Zapier, Make, and more. XRay's mission is to help knowledge workers create one billion hours of time for meaningful work. 

‍

When we update the preview, we can see that the AI is closely imitating the structure of our example tweet, and is using two emojis to start it off. 

‍

‍

With all of your prompt options configured, click on “Use Template” to close this window and finish setting up your AI Assist field. 

A note on character limits in Airtable’s AI Assist fields

While Airtable doesn’t provide a specific character limit for the AI Assist field prompts, long selections of text often don’t work very well and may produce errors. 

‍

Our full blog referenced in this base is about 16,500 characters. Attempting to summarize this field with AI assist resulted in several errors, so we created the Blog Body Excerpt field to select the first 2,000 characters of the blog instead. 

‍

‍

Hopefully, Airtable will add more info about the required prompt length in the future. For now, we’d recommend sticking with shorter prompts whenever possible for the best results. 

Adjusting settings on the AI assist field

When you close the prompt window, you’ll be taken back to the field details window. Here, you’ll see two tabs: Prompt, and Settings. 

‍

‍

All of the template settings that we covered previously can be found under Prompt, and can be updated at any time. 

‍

Under settings, you’ll see additional technical parameters that you can adjust. 

‍

Choose the AI model 

First, you can choose the AI model that you want to use. Currently, there are two choices: GPT3.5 and GPT4. 

‍

‍

In general, GPT3.5 and 4 are very similar models, but GPT4 is a more advanced language model that is better suited to more creative use cases. You can learn more about all of OpenAI’s language models in their official documentation. 

‍

Airtable notes that GPT3.5 is a more popular model while GPT4 is more expensive. For now, the AI Assist field doesn’t require any additional charge, but this note may suggest that the feature could be a paid add-on when the beta’s over. We’ll just have to wait and see. 

‍

Using GPT4 will also disable automatic generation. To generate content in an AI Assist field using GPT4, you’ll need to click on the “generate” button. 

‍

In our example, we’ll go with GPT4.

Set the AI’s randomness

Next, you can set a “Randomness” value for this field’s AI responses. “Randomness” is a similar concept to “temperature” and “creativity”, which you may have seen in other AI tools. 

‍

‍

Randomness is set as a number between 0 and 1. The higher the number, the more unpredictable and adventurous the AI will be with its answers. The lower the number, the more straightforward and predictable the answers. 

‍

You can never guarantee total accuracy with an AI language model, but around 0 to 0.25 will help to ensure more reliable answers. 

‍

We want to see some creativity, so we’ll set ours to 0.4. 

‍

‍

In the preview Tweet, we can see that the AI is throwing in a little humor with phrases like “the artist formerly known as Integromat”. 

Enable or disable automatic generation

Finally, you’ll see a toggle to “Generate automatically”. 

‍

‍

If you enable this setting, Airtable will automatically generate its AI response in this field. If you disable the setting, you’ll just have to click a button to generate an answer for each field. 

‍

As we noted earlier, you won’t be able to enable automatic generation if you’ve selected GPT4 as the model. 

‍

‍

Once you’ve configured all of your settings, click on save to commit your changes. 

Generate your AI answer for each field

If you enabled automatic generation, you’ll see AI responses fill in for every record in your table. Note that any records missing data for fields that you referenced in the AI Assist configuration won’t get a response. 

‍

If you’re using GPT4 or if you chose not to enable automatic generation, you’ll need to click on the “Generate” button in the AI assist field to send the prompt and get your response.

‍

‍

After a few seconds, you’ll get an answer in the AI Assist field. GPT4 will usually take a bit longer than GPT3.5. 

‍

‍

Once a response is generated, it will be permanently saved to that record. To get a different response, you’ll need to edit the field’s settings or edit the dependent fields and regenerate the answer. 

‍

Since our template references the blog title, editing the “Title” field will erase the contents of the AI assist field and allow us to regenerate the answer. 

AI Assist templates: translating text

As we noted earlier, different templates have different options. To see an example of those differences, let’s another AI Assist field and take a look at another template. 

‍

Under the “General” section, there’s an option for “Translation”. We’ll choose that, and see the options that come up. 

‍

‍

In the configuration window, there are only three options. We just need to set a field to translate, a language to translate the text to, and provide other instructions if we want. 

‍

We’ll select the Blog Body Excerpt again as the field to translate. Then, we need to identify the language we want to translate it to. 

‍

‍

The “Language to translate into” field will accept any kind of text field: single line text, long text, select fields, etc. However, its data must come from a field in your table. You cannot directly enter the language you want to translate your text into. 

‍

We’ve created a single-select “Translate to:” field in our table with options for “French”, “Spanish”, and “German”. This is the field we’ll use to identify the language we want to translate into. 

‍

‍

You could create a similar field with different options, or simply use a text field and enter whatever language you’d like. 

‍

Finally, you can provide more specific directives under the “Give any other instructions” tab. Here, you may want to indicate that certain terms should not be translated, or that the text should be translated into casual slang rather than professional composition. 

‍

‍

Note that under this “other instructions” tab, there’s no dropdown menu to change the style of the AI’s response like there was with the “generate a Tweet” template. 

‍

With all of your choices configured, you can click on “Use Template” to close the prompt template. 

‍

‍

Under “Settings”, you’ll see all of the same technical options as with any other template. You can change the model, the randomness, and enable automatic generation. 

‍

‍

We’ll save this field, and wait a moment for the automatically generated translation. 

‍

‍

Immediately, we get a translated version of the excerpt in German. If we switch the language in the “Translate to” field to Spanish, we can get another excerpt in Spanish.  

‍

‍

Overall, the “Translate” template is pretty similar to the “Generate a Tweet” template, but there are far fewer options. When you use Airtable’s AI Assist, you’ll need to play around a bit with each template to find out what options you have at your disposal and which settings work best.  

Create an AI Assist field from scratch

Finally, let’s take a look at creating an AI assist field from scratch. 

‍

In our example, we’ll use our prompt to generate a meta description for our blog post. The meta description should be SEO-friendly so we can use it for search engines, and should be under 160 characters. 

‍

To start making an AI assist field with a custom prompt, create a new field in your table and choose “AI Assist”. 

‍

‍

Then, pick “Start from scratch”. 

‍

‍

When you build an AI assist field from scratch, you’ll just see a single field where you can enter any prompt that you’d like. 

‍

‍

You can enter a prompt here in much the same way that would enter a prompt into ChatGPT. The key difference is that you can also insert dynamic data from your Airtable base into the prompt by clicking on the blue plus sign. 

‍

‍

This data works just like dynamic data in Airtable automations. If you choose a field from this menu, it will insert the contents of that field into your prompt for each record. 

‍

Let’s see what that looks like in practice. 

‍

We’ll enter a prompt to create a meta description:

‍

You are a digital marketing expert working for XRay.Tech. XRay is a workflow automation consultancy that helps people create time with no-code and low-code tools. XRay posts a blog every week with tips, tutorials, and news about workflow automation tools.

Write a meta description for the following blog post:

Title: ï»ż

Subtitle: ï»ż

Blog excerpt: ï»ż

The meta description should be SEO friendly and under 160 characters.

‍

‍

Then, we’ll add dynamic data to dynamically provide the title, subtitle, and blog excerpt for each record. 

‍

‍

With our prompt configured, we can click on “Settings” to adjust the same technical parameters that are available for all AI assist fields: model, randomness, and automatic generation. 

‍

‍

With everything configured, we can click on “Create Field” to close the configuration window and check out our new field. 

‍

‍

After we click on “Generate”, we get a pretty decent meta description. But is it actually under 160 characters?

‍

We’ll quickly add a formula field to our table, and use a simple LEN() function to calculate the length of the “Meta Description (SEO)” field. 

‍

‍

The response is actually 176 characters. Turns out that language models can’t reliably do math, or even count very well. 

Confirm AI responses with actionable messages

Inaccurate answers are always a risk with AI. Even if you reduce the randomness to zero, you can’t count on AI to produce completely factual answers, or responses that perfectly meet your parameters. 

‍

This isn’t an issue that’s specific to Airtable’s AI, either. Whenever you’re using AI, it’s generally a good idea to have a human being check the work before publishing the AI-generated text or sending it off to a client. 

‍

A great way to check Airtable records before performing automated actions is with actionable messages. 

‍

‍

With an actionable message, you can send the contents of an Airtable record in a Slack message for review. Then, the recipient can approve or reject the record with a single click, and update the record accordingly. 

‍

You can learn more about actionable messages in this tutorial on the XRay blog. 

Streamline your workflows with Airtable’s AI Assist

AI is making it easier than ever to draft, brainstorm, and refine content. While standalone software like ChatGPT is already extremely useful for a wide range of use cases, integrated tools like Airtable’s AI assist create seamless options for using AI in the apps where we’re already getting work done. 

Sign up for the free beta today and try it out for yourself!

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

Tutorial
September 13, 2023
Exploring Zapier's New Visual Editor

No-code are tools always evolving to give users new features and new capabilities. 

However, important changes aren’t always about adding brand new functionality. Sometimes, a simple change to an app’s visual layout can make a huge difference. 

Recently, there’s been a major update to Zapier’s user interface (UI), which is big news for any no-code builder. 

Today, we’re going to show you all the key changes to Zapier’s automation builder interface. 

We’ll show you how it changes the way you can view and manage your Zaps, and how it enables editing your automations with simple drag-and-drop actions.

Choose between the new Visual Editor or the Classic Editor

When you open up a new Zap, the new UI is immediately apparent. Now, instead of a list of modules, see a flowchart-like UI.

‍

Zapier's new UI when creating a new Zap

‍

However, before going into detail about the new UI, we want to quickly highlight that you can continue to use the old layout if you’d prefer. 

Near the top right corner of the screen, there’s a dropdown menu that’s set to “Visual Editor” by default. 

‍

A dropdown menu allows users to switch back to the classic editor

‍

To revert back to the old familiar Zapier automation builder, click on the menu and select “Classic Editor”. You can switch back and forth between either option at any time. 

‍

Zapier's classic editor

‍

In the future, Zapier may begin to phase out the classic editor, so we’d recommend getting used to the new visual editor soon. 

‍

Ultimately, the visual editor offers several advantages over the classic editor without sacrificing any important features, so it’s not a difficult switch to make. 

Visual editor overview

Let’s take a closer look at the new Visual Editor. 

For simple, linear Zaps, the new editor isn’t necessarily a huge change. However, the visual editor offers a much easier way to view every step within a complicated Zap that includes multiple nested paths. 

‍

For example, let’s open up XRay’s Social Media Scheduler Zap in both the Visual Editor and the Classic Editor to see how both versions of Zapier display all of its steps. 

‍

The visual editor displays automations as a flowchart

‍

Our Social Media Scheduler is an automation that we use to schedule and publish our posts on Twitter, LinkedIn, and Facebook. 

After selecting a platform and marking a post as “Ready to Post” in Airtable, the automation is triggered. Then, based on the platform selected, Zapier will publish the post to Twitter, LinkedIn, or Facebook. Each platform has its own path in the Zap. 

‍

Additionally, there are two more paths within the Facebook path: one for photo posts, and one for links or text posts. 

Viewing actions inside of paths in the Visual Editor

Each step within a path is visible in the visual editor

‍

In the new Visual Editor, you can easily see every path, every action within each path, and even the details of paths nested inside of paths. 

‍

At a glance, you can see that each post will be scheduled to its respective platform, some information will be updated Airtable, and an alert will be sent in Slack. You can get all of this information without having to even click on a single module. 

Viewing paths in the Classic Editor

In comparison, the Classic Editor displays almost no information at all about any actions that live inside of a path. 

‍

When we switch back to the Classic Editor for our Social Media Scheduler, all we see are three steps: the Airtable trigger that launches the Zap, the delay step that waits until the scheduled time, and a path module. 

‍

Path details aren't easily visible in the classic editor

‍

There are no clear details about the actions inside of each path. The only information displayed is how many steps are in each path. There’s no indication at all that the Facebook path includes its own sub-path. 

‍

To see more information about any specific path, you have to click on it to see all the details. When you open a path, it takes up the entire screen, so you can’t see the others. 

‍

Viewing nested paths requires multiple clicks in the classic editor

‍

Ultimately, to get a complete picture of the entire automation in the Classic Editor, you’ll have to click several times on each path, and you’ll only see one path at a time. 

‍

In the Visual Editor, you can see the entire automation in a single flowchart, making it very easy to instantly understand how the automation works.

‍

This is especially useful when you’re building your automations with a team. When a colleague needs to update your automation later on, it will be much easier for them to get the full picture without clicking into each individual path and action.  

‍

Adding actions in the visual editor

Adding actions to a Zap in the visual editor is simple. 

Just click on any of the plus signs you see to add a new action at that point in the Zap.

‍

Add steps in the visual editor by clicking on one of the plus signs

Adding paths

To add a path, just add an action and select “Path” from the menu that pops up. 

‍

Add paths by adding an action and selecting "path"

‍

Once you’ve added a path module, you can add up to 5 paths to that module by clicking on the black plus sign. 

‍

Add paths within a path module by clicking on a black plus sign icon

‍

Then, you can add several actions within each path. If you’d like, you can even add paths within each path. 

Configuring actions

When you add a new action, the configuration window will automatically open up. To configure an existing action, just click on it to pull up the configuration menu. 

‍

The configuration menu in the Visual Editor is almost identical to the menu from the Classic Editor. The key difference is that the configuration menu will open in a panel on the right, which you can drag to resize. 

‍

Configuring steps in the visual editor is the same as the classic editor

‍

You’ll see all the same options that have always been present in Zapier: you can choose the app you want to use along with the specific event you want to automate; you’ll be prompted to sign into the app or choose an existing connection; you can set up the action; and you can run a test once it’s all set.  

Rearranging actions

With the Visual Editor, you can now rearrange actions in Zapier by dragging and dropping them into a different spot in the automation. 

‍

Drag and drop actions to rearrange them

‍

You can move nearly any action to any other place in the automation. However, Zapier will usually warn you if moving the action might cause the action to lose access to necessary data. 

‍

For instance, imagine you have an automation that creates a Google Drive folder, then sends that folder’s URL in a Slack message. 

‍

An automation that creates Google drive folders and sends alerts in Slack

‍

If you try to move the Slack step before the folder creation step, Zapier will give you a warning. 

‍

You can move actions anywhere in a Zap

‍

The step will need to be reconfigured, since the folder URL (or “alternate link”) it uses comes from the folder creation step. 

‍

You'll see warning if you move an action before the step(s) it pulls data from

‍

You’ll also see similar warnings if you try to move actions out of paths when those actions contain data that only lives in that path. 

‍

You can drag actions into different paths

‍

You'll see a warning if you try to move an action out of the path that contains its required data

Adding notes to your Zaps

Finally, let’s take a look at another newly updated feature: notes. 

Notes have been available for a while in Zapier, but they were previously not very easy to find.

Now, they’ve been added to a much more prominent spot in Zapier’s UI. 

‍

With notes, you can add custom detail to each step. Just click on the comment icon next to the name of any step. 

‍

Click on the comment icon to add a note to any step in the Zap

‍

Then, enter any note you’d like. Once you’ve saved it, every note you’ve added to the automation will be visible in this menu whenever you select a note. 

‍

Clicking on one note lets you view all notes for the Zap

‍

In addition to adding notes for each step, you can also provide a note that describes the automation as a whole. In this section, you’ll also see an option to generate the note with AI. 

‍

Click "generate with AI" to get an AI summary of the Zap

‍

AI-generated descriptions appear to use your other notes and the names of each step as the basis for their output. Providing more notes and custom step names should help to improve the AI’s responses here. 

‍

AI descriptions rely on each step's title and notes.

‍

Notes are available in both the Visual Editor and the Classic Editor. Much like the Visual Editor, the newly updated notes are a great feature for anyone who’s building with a team. 

‍

Whoever builds the Zap can explain how it works in their notes. Then, different team members can then maintain and update the Zap more easily by referencing convenient, inline documentation. 

‍

Notes can also be useful as reminders for solo builders. After all, it’s not always easy to remember what each step does in a Zap you built a year ago. 

‍

Ultimately, notes are simple but versatile feature that make it much easier to document your Zaps with helpful detail. 

Build more effectively with Zapier’s latest updates

Tools like Zapier are constantly being updated.Now, with the new Visual Editor, it’s easy for anyone to visualize complicated Zaps with nested paths and understand exactly how they work. 

Plus, with easily accessible notes, you can add key detail to each step to make sure your team stays in the loop. 

If you’re building automations for your team, or just want to keep your own Zaps more organized, open up Zapier and give these new features a shot. 

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

‍

Tutorial
September 6, 2023
How to Automate OpenAI in Make (Formerly Integromat)

AI tools like ChatGPT are an extraordinary resource for streamlining your every day work. 

But if you’re still entering all of your prompts directly into ChatGPT, you’re missing out on some huge time savings. 

AI becomes even faster and more convenient when you start automating all of your commonly used prompts. 

‍

In this post, we’re going to show you how to automate your OpenAI prompts using Make (formerly known as Integromat). 

We’ll demonstrate how to start automating your OpenAI prompts in Make using a simple example that summarizes emails in your Gmail inbox. Once you learn how the OpenAI module works in Make, you’ll be able to connect to any other app that you’d like. 

‍

Let’s get started!

‍

Overview: how to automate OpenAI prompts in Make

First, we’ll give you a brief overview of how to use OpenAI prompts in Make. Then, we’ll walk you through the whole process in detail with an example scenario. 

‍

1. Create a new scenario and add a trigger module. 

2. If you need additional data for your prompt, add search modules as needed. 

3. Add an OpenAI module. Choose “Create a completion” as the event. 

4. Configure your prompt. Include dynamic data retrieved from earlier steps as desired. 

A. Choose a language model. 

B. Add a system message if desired to give the AI general directives.

C. Add a user message containing your specific prompt. 

D. Adjust the model’s creativity with temperature and Top P.

5. Add additional modules to send the AI’s output to other apps. 

What you’ll need to follow along with this tutorial

To follow along with this tutorial, you’ll need accounts in Make and OpenAI. 

‍

Note that sending requests to the OpenAI API will incur a small charge. 

‍

You can see all the details on the API pricing page, but in general, you’re looking at charges of a few cents per request – or less. 

Additionally, every new OpenAI account includes a $5.00 credit for API usage. If you’ve already used up your complementary $5.00, log into the OpenAI API portal, go to “billing overview”, and add a payment method. 

‍

Add a payment method to your OpenAI account

‍

There’s no set monthly fee to use the API; instead you’ll just be charged for your usage each month. 

‍

You’ll also need a free Gmail account if you don’t already have one. 

Our example scenario: AI-generated email summaries

Here’s the full automation that we’ll be building today:

‍

Use labels in Gmail to trigger an AI summary

‍

Whenever we add the “Summarize” label to an email in Gmail, the automation sends the contents of the email to OpenAI and requests a summary. Just for fun, we’ll ask for a sarcastic and snarky summary. Once it’s generated, that summary is emailed back to us.  

‍

Our full automation will create an AI summary for any Gmail email with the "Summarize" label

‍

This scenario we’re working with in this video is just an example to help you get started. As we go, we’ll explain the general purpose of each step, so you can switch out specific apps for different software, or add additional actions to your scenario. 

‍

Our AI summary uses a sassy tone as requested.

‍

However, if this is your first time working with OpenAI and Make, you’ll probably want to follow along step by step to get familiar with all of the options. 

Adding a trigger to gather data for your prompt

To begin, you’ll need to open up Make and create a new scenario.

‍

The first element of any automated scenario is the trigger. The trigger determines when your automation will run.

When you make a new trigger for your AI automation, you need to consider when you want to run your prompt, and what app you want to get data from when you build your prompt. 

These choices will determine which app you use for your trigger, and which specific event you use. 

‍

For our example, we want to run our prompt whenever we get a new email in Gmail with the “summarize” label. That means we’ll be using a “Watch emails” trigger in Gmail. 

‍

But first, we need to create the “Summarize” label in Gmail and apply it to a message so we have some test data to work with. 

Creating test data: add a new “Summarize” label in Gmail

Go to Gmail and open up an email to summarize. Pick an email to use as a test. 

‍

Click on the tag icon in Gmail to create a new label

‍

Click on the tag icon at the top of the email, create a new “Summarize” label, and add it to the message. 

‍

Give your label a name and click "Create"

‍

Now your test data is all set. Let’s go back to the scenario builder in Make. 

Configure your trigger

Select the app you want to use for your trigger. In our case, we’ll use Gmail, and we’ll choose “Watch Emails” as the event. 

‍

Use the "Watch emails" trigger in Gmail to look for new emails in your inbox

‍

Choose your Gmail account, or add a new connection if you haven’t connected Gmail to Make already. Whenever you automate an app using Make, you’ll need to create a connection to authorize Make on your behalf. 

‍

Choose an established connection or create a new one to authorize Make to use Gmail

‍

With Gmail authorized, we can now start configuring the trigger. 

‍

We don’t want the automation to run for every new email - just for emails that have our “Summarize” label.

Gmail creates folders for your custom labels, so we can choose the corresponding folder by clicking on this “Click here to choose folder” button.

‍

Select "Click here to choose folder" to find Gmail's folder for your new label

‍

Select the “Summarize” folder from the list that appears. This will ensure that the automation only processes emails that are in the summarize folder.

‍

select the matching folder to limit your trigger to emails with the appropriate label

‍

As you’re configuring your trigger, make sure that your settings are as specific as possible to avoid having your automation run when you don’t want it to.  

‍

Next, Make provides an option to set the “Filter type”.

‍

Add an optional Gmail filter to further restrict the emails processed by your automation

‍

You could change this to “Gmail filter” if you wanted to enter a query and further limit the emails that Make watches for. However, for our example, we’ll leave it as a “Simple filter”. Limiting the trigger to the “Summarize” folder is enough. 

‍

In the “Criteria” dropdown, you can choose whether the trigger will run for all emails, unread messages only, or read messages only. In our example, we’ll choose “All”

‍

Choose whether to process all emails, read, or unread emails

‍

Finally, you can set a maximum number of results.

‍

Limit your trigger to a maximum number of emails

‍

As Make notes in the warning message at the bottom of the configuration window, setting this number too high could cause apps to time out as they wait for Make to process several results. 

‍

For the sake of easy testing, we’d recommend using a limit of 1, so your scenario will only process one email at a time.  

Testing the trigger

Once your trigger is fully configured, you can click on “OK” to close this window. 

‍

Now you’ll need to test the trigger. Testing the trigger will prompt the scenario to search for data that matches your configured settings. In this case, that means Make will search for an email in your Gmail inbox with the “Summarize” label. You can then use the data from that email to build the rest of your automation. 

‍

To start testing, right click on the module, and select “Choose where to start”. Note that you may also be automatically brought to the “Choose where to start” menu the first time you close the trigger window. 

‍

Test your trigger manually by choosing where to start

‍

Click “Select the first email”. This means that you’ll choose the email you want to use manually, rather than letting Make select one by default. 

‍

Choose "Select the first email"

‍

Then, choose an email from the list that appears. You should see every email from your inbox with the “Summarize” label, which may only be one email if you’ve just created the label. 

‍

Select an email from the list that appears

‍

Click OK to confirm your selection and close this window. 

‍

Then, click “run once” in the bottom left to run your trigger module. 

‍

Click "Run once" to run your test.

‍

After the test runs, you should see a number over your trigger module indicating how many bundles of data it retrieved. A “bundle” refers to whatever object the module processed. In this case, each bundle is an email in Gmail, but with other triggers, these could be rows in Google Sheets, products in Shopify, messages in Slack, etc. 

‍

The number over the trigger module indicates how many bundles of data it retrieved

‍

Click on the number to see more info about the data, and confirm that the trigger processed the right email. 

‍

Click on the bundle number to view details about the data retrieved

‍

If everything looks good, you can start adding automated actions to our scenario. If you weren’t able to find the email you wanted, make sure you applied the correct label and chose that same label as the folder in your trigger. 

Adding optional searches to gather more data for your AI prompt

With this Gmail trigger module in place, we have all the data we need for our example scenario.

To build our prompt, we just need the email, and some other directions that we’ll enter directly into the OpenAI module. 

‍

However, if you need any additional data to inform your own custom prompt, you can add steps to search for that data now.

‍

For example, you might want to look up the email’s sender in your CRM or in an Airtable database. 

Just add a new module, choose the app you want to search in, and select an appropriate search action to find the data you want to include in your prompt. 

‍

Add search steps to find additional data if needed

‍

However, since we have all the data we need for our example, we’ll continue on and add the OpenAI prompt. 

Send an automated prompt to OpenAI

Now, we’ll build the part of our scenario that actually sends a prompt to OpenAI. 

‍

Add a new module, and search for “OpenAI”. In Make, the OpenAI module is currently named “OpenAI (ChatGPT, Whisper, DALL-E)”.

‍

Add a new module and search for "OpenAI"

‍

For the action, choose “Create a Completion”. This action will allow the scenario to send a prompt to OpenAI and get the AI’s response.

‍

Choose "Create a completion" as the action

‍

Choose your OpenAI account or connect a new one to Make. 

‍

Choose your OpenAI account or sign in to create a new connection

OpenAI API pricing

Just as a reminder, you will need to have a payment method on file to use OpenAI’s API, and each request – including tests in Make – will incur a charge. However, you may still have a $5.00 API credit from opening a new OpenAI account. 

‍

GPT3.5 Turbo costs less than a hundredth of a cent per 1k tokens

‍

Based on OpenAI’s current pricing, each request in this scenario should only incur a charge of a few cents or less, if you use all the same settings we do. 

Configuring your OpenAI prompt in Make

Once you’ve chosen your account, you can start configuring the module. 

‍

First, you’ll need to choose the language model you want OpenAI to use. Different models have different pricing, different speeds, different amounts of context they can use, and other unique aspects to consider

‍

You can learn more about the details of each model in OpenAI’s API docs. 

‍

For this tutorial, we’d recommend using GPT3.5 turbo 16k. This model charges very low rates, and features a high amount of context, so it’s good for building and testing an automation summarizing long text. 

‍

GPT4 is generally a better model, of course, but it’s also about 10 times more expensive, so we’ll stick with GPT3.5 turbo. 

‍

Choose the language model to use in your prompt

Define the AI’s identity with a System message

Next, you can tell the AI how to behave and give it a prompt to complete. Click on “Add item” under “Messages”. 

‍

Add an items to your message to define the AI's identity and send a prompt

‍

The first item will be a “System” message that instructs the AI how it should behave in general. 

‍

This is not strictly necessary. If you don’t provide a system message, the AI will default to the identity of a “helpful assistant”. But if you want a more specific style or tone, you can define it with a system message first.

‍

Choose “System” as the role. 

‍

Add a system message to set the AI's identity, tone, and style

‍

In the “Message Content” field, describe how the AI should respond to requests and what identity to assume. You can enter anything you’d like here.  

‍

For instance, we’ll say “You are a sassy assistant. You respond accurately and helpfully to requests, but your tone is sarcastic, flippant, and playful.” There’s no harm in giving our AI answers a little more personality. 

‍

Describe how you want the AI to behave in the "Message Content" field of your system message

Craft your prompt with a User message

After the optional system message, you can provide your specific prompt.

‍

Add another item, and set the “Role” dropdown to “User”. In other words, we want the message to take the role of a user entering a prompt into ChatGPT.

‍

Add a "User" message to send your prompt

‍

In “message content”, you can enter your full prompt. Be sure to include data from your trigger or optional searches as applicable.

‍

Add your prompt to the "Message Content" field, and include dynamic data from the trigger.

‍

In our example, we’ll enter a prompt asking to summarize an email. Then, we’ll provide key pieces of data from the email that triggered the automation: the subject line, the sender name and email, and the body, which is called “text content” in Make. 

Adjust your OpenAI automation with advanced settings

If you click on “Show advanced settings”, you’ll see a few more options for configuring your OpenAI prompt. 

‍

Click "Show advanced settings" to see more options

‍

First, you can limit the length of the response by defining a maximum number of tokens that it should use. Note that 1,000 tokens are equal to about 750 words.

‍

Set a maximum number of tokens to use in the completion

‍

NOTE: While we were preparing this tutorial, we noticed that this field may not work exactly as described. Even though the default is listed as 16 tokens, the automation still provided an answer consisting of over 200 tokens. It’s possible that “16” here means 16,000, as 16 tokens would be a very short response.

‍

Hopefully, Make will update or clarify this option soon. 

Dial in the AI’s creativity with Temperature and Top P

With “Temperature” and “Top P”, you can set how creative the AI will be with its answers on a scale of 0 to 1. A lower number in either of these settings will result in more factual and less creative answers. 

‍

They both default to 1, so you may want to lower these to around 0.7 if you want to get somewhat more accurate answers. 

‍

Set the AI's creativity with Top P and Temperature on a scale of 0 to 1.

‍

Just note that even if you set these to 0, there’s never a guarantee that AI will be 100% accurate. Hallucinations are just a risk we take with this tech. 

Choose how many responses are generated

In the “Number” field, we can determine how many answers the AI will provide to our response. This defaults to 1, but you can raise this number if you want it to make multiple attempts. 

‍

Choose how many responses the AI generates

‍

With ‘Echo”, you can choose whether or not the AI will echo back the prompt that you entered at the start of its response. We’ll choose “no”. 

‍

Finally, you can add additional custom parameters under “Other Input Parameters” if you’d like, but this is a bit more advanced and won’t be necessary for most prompts. 

‍

Once your message is ready, click OK, and test the full scenario. Just as a reminder, testing will consume operations in your Make account, and will incur small charges from OpenAI’s API. 

Testing your OpenAI prompt

Repeat the same testing process as before. Right click on the trigger module, select “Choose where to start”, and click “Select the first email”. 

‍

Test the AI prompt using the same manual process as before.

‍

Pick your email, click OK, then click “Run once”. You should see a number over your OpenAI module.

‍

Click the number over the OpenAI module to see its answer.

‍

Click on it to see the message that OpenAI generated in response to your prompt. You’ll have to dig into a couple of menus first - you can find the output under “Choices”, “1”, and “message”. 

‍

Find the answer under Choices - 1 - Message - Content

‍

Above, you can see the response we got. Definitely a bit of sass, just like we asked for, but still a pretty good summary. 

Send OpenAI’s response to any other app

Your “Completion” action should have correctly generated a response to your prompt. Now, you can send that response anywhere you’d like. 

‍

You can put it in a Slack message, save it to an Airtable database or Google Sheets, add it to a Notion page - whatever you want. 

‍

For our example, we want to email the AI’s output back to the original recipient of the summarized email. 

‍

So we’ll add a new module, and search for Gmail. Then, we’ll choose “Send an email” as the action. 

In the “To” field, we could either enter a static email address or choose to send the email back to the recipient of the original email. 

‍

‍

For the subject line, we’ll enter: “Your AI summary of: [original email subject line]”. We’ll use data from the trigger to dynamically generate the correct subject line from the original email. 

‍

‍

Finally, we can compose a message. 

‍

“Here is your AI-generated summary of the "[subject]" email:”

‍

We’ll replace [subject] with the actual subject retrieved in the trigger. Then, after this brief message, we’ll add the AI’s output. You can find that under Choices > Message > Content. 

‍

Insert the AI's answer as dynamic data in subsequent steps

‍

Once you’re finished configuring the module, click OK to close it. 

‍

Test one more time, again using the same manual process as before. Now, when we check our inbox, we can see the message complete with our sassy AI summary. 

‍

Test the automation one more time

‍

Everything looks good, so we’ll go back to Make, save the automation, and turn it on so I can start using it. 

‍

Save the automation and turn it on to finish.

Create consistent, reliable workflows with AI and automation

For many of us, AI is rapidly becoming an integral part of our daily workflows. Like with any other app we rely on every day, automation can make our workflows faster, more consistent, and more reliable.

Build on this quick example that we’ve shown you today, and explore what you can do when you combine tools like Make and ChatGPT. 

If you’d like to learn more about workflow 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
August 30, 2023
Create Actionable Slack Messages in Airtable

Airtable has recently added a new feature to give you even more direct control over your automations.

With the new actionable Slack messages in Airtable , you can add seamless human checkpoints to approve or reject automations before they run critical actions. 

In this post, we’ll show you how to use actionable messages in Airtable automations step by step. 

We’ll explain what actionable messages are, how to add them to your Airtable automations, and demonstrate an example automation that you might build with actionable messages. 

What is an actionable message in Slack and Airtable?

First, let’s cover the basics of actionable messages. An actionable message is an automated message sent in Slack and configured in an Airtable automation. 

Unlike typical Slack messages that you might create with your Airtable automations, actionable messages include customizable buttons. 

‍

actionable messages let you update records in Airtable by clicking on a button in Slack

‍

When the message recipient clicks on one of the buttons, a record in Airtable can be instantly updated based on your specifications. 

‍

Actionable messages indicate when records are updated  in Airtable

‍

How to create an actionable Slack message in Airtable

Now let’s go over the entire process of creating an actionable message. We’ll start with a brief overview, then explain each step in more detail. 

‍

1. Create a new automation in your Airtable base. Choose any trigger that you’d like. 

2. Add an action, and scroll down to “Slack”. 

3. Choose “Send an actionable message”. 

4. Configure your actionable message. 

A. Provide a title and a message.

B. Choose the table and record you want to update. 

C. Create one or more buttons to update the chosen record. 

D. Choose the fields you want to update, and the values to update them to. 

5. Test your actionable message. Currently, generating a preview is not possible. 

6. Add any additional steps to your automation that you’d like. 

‍

Read on for more specific information. 

Our example automation: approving automated follow-up emails 

To illustrate actionable messages in more detail, we’ll show you each step of the process with an example Airtable automation. 

‍

In this automation, we’ll send an email to any lead that hasn’t responded in a week or more. By adding an actionable Slack message, we can enable one-click approval for every email before it gets sent. 

‍

An overview of our example automation

‍

This way, we can ensure that the lead wasn’t contacted through a channel that isn’t reflected in our Airtable base. 

Ideal use cases for actionable messages

You can follow along with our example, or choose something that fits your needs better. 

‍

However, when you’re planning an automation with an actionable message, you’ll generally want to create approval flows like the one we’re demonstrating in this post. 

‍

Actionable messages can technically update any field in Airtable, but they work best with single- or multi-select fields, linked records, and checkboxes - essentially, any field with a limited number of options. 

‍

You can’t enter text in response to an actionable message. Instead, you’ll have to update the field to use the same value every time, which is why fields with limited options are the best choice. 

‍

In other words, you can easily configure a field to be marked “Approved” or “Ready”, but you’ll have a hard time entering a new email address or custom notes. 

Create a new automation in Airtable and choose a trigger

To get started, create a new automation and choose the trigger you’d like to use. 

‍

Click "create automation" to create a new automation

‍

In our example, we’ll choose “When a new record enters a view”. We’ll configure the trigger to watch our “No Response - Initial Outreach” view. 

‍

Choose any trigger, like "When a record enters a view"

‍

This view has a filter so that it only shows leads who haven’t responded to our outreach in one week or more. 

‍

The view that triggers our automation only includes leads who haven't responded to initial outreach

‍

Each record that enters this view will be the record that our actionable message updates. In most cases, you’ll probably want to retrieve the record you want to update in your trigger. Otherwise, you’ll need to find it with a search step. 

‍

Once your trigger is ready, give it a quick test. 

Add an actionable Slack message

Once you’ve tested your trigger, add a new action to your automation. Scroll down to Slack and choose “Send an actionable message”. 

‍

Choose "send an actionable message" under "Slack"

‍

Select your Slack account, or connect a new one. Then, choose the user or channel you want to send the message to. 

‍

Sign into your Slack account and choose a recipient

Configure your title and message

Next, you’ll need to provide a title for your message. Unlike typical messages, actionable messages begin with a large, bold title. This is a good place to add some key context for your message and the automation. 

‍

We’ll title ours “Automatic Lead Follow-up Approval”. 

‍

Add a title to your actionable message

‍

Then, you need to compose a message. This part is like any other Slack message that you might send with Airtable. You can enter any combination of static and dynamic text that you want. 

‍

We’d recommend providing some useful information so the recipient knows what the message is about and what they’re expected to do. 

‍

Configure the main message like any other Slack message in Airtable

‍

In our message, we’ll include the name and email from the record so that the recipient knows who the lead is without needing to open Airtable. 

Configure the table and record to update

Now, you can set up the “actionable” part of the actionable message. 

‍

Choose the table that you want to update with your message’s buttons. We’ll choose our “Leads” table.

‍

Then, provide the ID of the specific record that the buttons should update. In most cases, this will likely be the ID of the record that triggered the automation to run, or the record that you found in an earlier search step. 

‍

Choose the record that the actionable message should update

‍

We’ll choose the ID of the record that triggered our automation. 

‍

‍

Adding a button to your actionable message. 

Next, you can add the buttons that will update your chosen record when they’re clicked. 

‍

As we noted earlier, these buttons can update any field, but they’ll work best when attached to fields with limited, pre-defined options: single-select fields, multi-select fields, linked records, or checkboxes. 

‍

Click “Add button” to create your first button. Then, configure the button by clicking on the pencil icon. 

‍

Add buttons to your message and customize it by clicking on the pencil icon

‍

Choose an appearance and a label for your button. Airtable provides three appearance presets: Default, Primary, and Danger. 

‍

We’ll call our button “Send Follow-up” and select the green “Primary” option. 

‍

Next, you can choose the field that the button should update. We’ll choose the “Send Follow-up?” field, which is a single-select that includes options like “Send” and “Don’t Send”. 

‍

Then, choose the value that the field should be updated to when this button is clicked. You’ll be able to set each button in your message to update the field to a different value. 

‍

Note: if you leave the value blank, then clicking on the button will clear any value that’s already in the field. 

‍

Choose the field that each button should update and the value the field should be updated to

‍

Since this button is called “Send Follow-up”, we’ll choose the matching “Send” value. Now, whenever this button is clicked in Slack, the related Airtable record will have its “Send Follow-up?” field to “Send”. 

‍

When your button is configured, click outside of the modal to close it. 

Adding additional buttons

Follow the same process to create additional buttons. Additional buttons should update your field to different values. 

‍

We’ll add another button to our example that updates the “Send Follow-up?” field to “Don’t Send”. 

‍

Add multiple buttons to your message for multiple options

Testing your actionable message

Once all of your buttons are added and configured, you can give the step a test. Note that you won’t be able to use the “generate preview” feature; instead, you’ll have to run a live test that will actually create and send a message. 

‍

Click on “Test action”. 

‍

Test your actionable message by clicking on "Test Action"

‍

Then, check Slack. You should see your message there. Click on any of the buttons, then wait a moment. 

‍

The Slack message will indicate when the Airtable record is updated

‍

Slack will then notify you once Airtable has been updated. 

‍

The Slack message will indicate when the

‍

Return to Airtable to confirm that the record was updated correctly. In our example, the test record was correctly updated to “Send” after we clicked on the “Send follow-up” button. 

‍

Check your Airtable base to see the updated record

‍

NOTE: You should run a test for each button in your actionable message. Between each test, be sure to reset the record to its original state, or create a new test record. 

‍

That covers everything you need to do to send an actionable message. Now, let’s see how the actionable message works in the context of a full workflow with a bit of conditional logic

Adding conditional logic to your automation

To make full use of an actionable message, you’ll need to add further steps that perform different actions based on which button was clicked. You could also set up subsequent actions in separate automations. 

‍

Right now, we’ll quickly demonstrate an example of using conditional logic to perform different actions based on which button was clicked, and which value the associated field now contains. 

‍

If the “Send Follow-up?” field is set to “Send”, then our automation will send an email followup to the lead and update their status in Airtable. 

Otherwise, the automation will not continue at all. 

‍

Use a search step to retrieve the updated record

Before we can add a “conditional logic” step to evaluate the record, we need to make sure we have an up to date version of the record. 

‍

When it retrieved the record in the trigger, Airtable logged all of the record’s attributes at that time. 

So if we refer to the record from the trigger, we’ll likely have out of date information, since the record was just updated by our actionable message.

‍

When you’re using actionable messages, bear in mind that your data will change while the automation is running, so you may need to use a search step like this to keep everything up to date. 

‍

To find the latest version of our record, we can just do a quick search in the leads table for the initial record’s ID (selected as dynamic data). This is a unique ID that will only apply to the record in question, so the search will always return the correct record. 

‍

Before adding more steps to your automation, add a search step to retrieve the updated record

‍

Adding a “conditional logic” step

Once you’ve retrieved an updated version of the record in question, you can add conditional logic to the automation.  

‍

Add a conditional logic step to perform different actions based on your response

‍

Then, set the condition that you want to check for. In our example, we want to check the newly retrieved record’s “Send follow-up?” field.

If it’s set to “Send”, then the automation will send an email. Otherwise, the automation will stop. So we’ll configure our condition accordingly. 

‍

Configure your condition

‍

Next, test your condition. After you test, Airtable will tell you whether or not the automation would have continued based on your chosen record. 

‍

Test your condition after configuring it

‍

Our follow-up field was updated to “Send” by the actionable message, so after we test the condition, our record passes.

‍

Adding actions in the conditional group

Once your condition is set up, you can add any actions you’d like. We’ll add two actions: one that sends an email to the lead, and one that updates the record in Airtable to indicate that a follow-up message was sent. 

‍

Add actions to your conditional group

‍

Testing your full automation

Once you’ve added every action that you want to your automation, give your full automation a test with a new record (or a record that’s reset to the right values). 

‍

Click on “Test automation” and choose a record. 

‍

Then, respond to the message in Slack. 

‍

You should see your Airtable record updated accordingly. You’ll probably want to run a full test for each button in your automation. 

‍

Once you’re finished testing, turn your automation on to start using it. 

Easily adding human checkpoints to your Airtable automations with actionable Slack messages

Adding human checkpoints is a great way to ensure accuracy with automations, and to make sure they don’t run when they shouldn’t, and actionable Slack messages are a quick and easy way to add those human checkpoints to your Airtable automations.

If you’d like to learn more about using low-code tools like Airtable, Notion, 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
August 23, 2023
How to Create and Automate a Form View in Airtable

Airtable forms are a great way to collect data for your base from anyone on the web. Plus, once you have a form set up, you can use it as the basis for helpful, time-saving automations. 

‍

In this tutorial, we’re going to explain how form views work, and we’ll show you how to set one up step by step. 

‍

Then, we’ll show you how you can use form views to trigger automations, and we’ll give you a peek at how you can organize your forms and other resources using XRay Workflow.

‍

Let’s get started!

What is a form view in Airtable?

First, let’s cover the basics of form views in Airtable. 

‍

‍

A form view is a unique view for your data in Airtable. Once you’ve created a form view, a functional form can be shared and accessed with a URL. 

‍

‍

When the form is filled out, it adds a record to its associated table. 

‍

‍

Any form view can be configured with several useful options. You can set certain fields to “required”, you can hide extraneous fields, provide custom descriptions and help text and a whole lot more.

‍

In the next sections of this blog post, we’ll explain all of your options in detail. But first, let’s take a look at getting started and creating a form view. 

How to add a form view to your table in Airtable

Setting up a form view is very simple. 

‍

1. First, go into Airtable and open up a table you want to add a form view to. 

2. Then, in the bottom left of the interface, open up the “Create
” menu. Here, you can add any type of view that you’d like to your table.

3. Click on “Form” to add a new form view to this table. 

4. Give your form a unique name if you want. Then, click “Create new view”.

‍

‍

You’ll then see a new view where all of your table’s fields are arranged as a form. In these screenshots, we’ve added a form view to our “Contacts” table. 

‍

‍

When you select the form view in your table, you’ll be able to configure and edit your form through a simple form builder. However, you won’t be able to submit data from the builder. 

‍

To submit data, you can click on “Open form” at any time to access your published form. 

‍

‍

Open your form and test it out

Try filling out your form to see how it works in action. After you click submit, a new record will be created in your base. 

‍

‍

When you return to your Airtable base and select a grid view, you should see the record that you just entered through the form. 

‍

‍

With just a couple of clicks, you can create a fully functional form in Airtable, but that’s just scratching the surface of what you can build. 

‍

Next, let’s return to the form builder and go through all of your options for customizing and configuring your survey. 

‍

Add a logo or cover image to your form

At the top of the form view, you can add a custom cover image and logo. 

‍

‍

When you click on “Add a cover image”, you’ll see a modal pop up with several options. 

‍

‍

You can upload an image from your computer, you can search the web to find an image, or you can retrieve a photo from several different apps - Google Drive, Facebook, Dropbox and more are all included. 

‍

In our example, we’ll upload a Pexels stock photo from our computer. 

‍

‍

Once you’ve selected your image, you can crop or rotate the picture to your liking. Then, click upload to apply the cover to your form. 

‍

‍

To add a logo to the form, click on “Add a logo”. Just like with the cover image, a modal will pop up giving you the choice to upload a file or find a picture from a different app. 

‍

We’ll add XRay’s logo to the form. 

‍

‍

Change the form’s title and add a description

To change your form’s title, just click on the title and enter any text you’d like. We’ll call our form “New Contact Form”. 

‍

‍

Note that changing the name of your form here will also update the name of the form view. 

‍

‍

To add a description to the form, just click on “Add a description to this form” and enter any text you’d like. 

‍

‍

Note that updating your form’s description will not update the view’s description. 

‍

‍

So while the form name and view name are linked, the form description and view description are separate. 

Configuring the fields in your form

Now let’s cover your options for configuring each field. Each individual field can be customized with a unique name, help text, conditional logic settings, and more. 

Changing question names and adding help text

Every question defaults to using the name from its associated field. If you’d like to customize the text, just click on the name and enter whatever you’d like. 

‍

‍

Editing the name of a question in your form will not change the title of the related field in your other views. As you can see below, even after we’ve changed the title of “First Name” to “What is your first name?”, the field is still called “First name” in the grid view. 

‍

‍

Similarly, you can add help text by clicking on the field directly below the question and entering any text you’d like. 

‍

‍

The help text will appear in the form, but will not appear in any other view or in the field’s description. 

‍

Make certain fields “required”

Any field in your Airtable form can be set to required by simply activating the toggle that says “required” when you select the field in the form builder. 

‍

‍

When a field is marked as “required”, users will have to provide a response to that question before they’re able to submit the form. You can set as many as fields to “required” as you’d like. 

‍

Add conditional logic to choose when fields are displayed

With conditional logic, you can ensure that a field is only shown to the user when certain conditions are met. Airtable allows you to configure custom conditions based on the user’s response to other questions. 

‍

For instance, we could set our “Company Name” form to only display when the user has selected either “Client” or “Partner” in response to the “Contact Type” question. 

‍

To set conditional logic for a field, select the field in the form builder and enable “Show field only when conditions are met”.

‍

‍

After you enable conditional logic on the field, Airtable will automatically create a blank condition that you can configure. 

‍

First, you need to choose a field that will be assessed for the condition. By default, this blank condition will choose the field immediately before your selected field. You can choose any field that comes before your chosen field in the form. If you need to rearrange the order of your fields, just drag and drop to move them around. 

‍

Then, fill out the rest of the condition. You can set the operator to is, is not, is any of, is none of, is empty, or is not empty. 

‍

In our example, we’ll set the condition for “Company Name” to: 

Contact Type is any of
 Client, Partner. 

‍


After setting a condition, open your form to test it out. In our example, we can see that “Company Name” isn’t shown until we select “Client” or “Partner” for company type. 

‍

‍

When we select “Internal Team” instead, the “Company Name” field is hidden again. 

‍

‍

Users will be unable to submit answers to hidden fields. Additionally, if a conditionally hidden field is set to “required”, users will be able to submit their response without providing an answer for the hidden and required field. 

Unique options for specific field types

It’s important to note that specific field types in Airtable will often have unique configuration options in the form view. 

‍

For instance, you’ll see a couple of unique options for multi-select fields. You can choose to display the options as a dropdown or a list, and you can limit the choices to specific options. 

‍

For instance, in our multi-select “Locations” field, we can exclude any options we’d like. We’ll take out “Denver” and “Other”. 

‍

‍

When you exclude an option, users won’t see these choices when they open the form and won’t be able to select them. 

‍

As you’re building your form, always check for additional options with each field type.

Add and remove fields from your Airtable form

Any field in your table can be added to or removed from a Form View.

‍

To remove a field from the form, you can either click on the visibility toggle or simply drag the field out of the form section and drop it into the “fields” panel to the left. 

‍

‍

‍

Removing a field from the form will not remove it from your table, or hide it in any other views. 

‍

‍

Fields can be added to the form by dragging and dropping or clicking on the visibility toggle. 

‍

Note that any fields added to your table after the form is created default to “removed” in that form. 

‍

For example, we’ll add a “Date” field to our table using our main grid view. 

‍

‍

When we return to our form view, “Date” is in the “fields” column, and is not included in the form. We can just drag and drop it to include it in our form. 

‍

‍

Configuring general settings for your Airtable form

That covers all of your options for each individual field. Now, let’s review some of the general settings that you’ll find at the bottom of the form builder. 

‍

‍

Your first choice is “See who submitted a response”. Enabling this will let you see who submitted each response, with the user identified by their Airtable account. As such, enabling this setting will require users to sign in with Airtable to use the form. 

‍

When “See who submitted” is enabled, you’ll also have the choice to allow users to request a copy of their responses. 

Hide Airtable branding and set up a URL redirect

Next, you'll have an option to “Show Airtable branding”. If you’re using a free Airtable account, this choice cannot be disabled, and Airtable branding will appear on all of your forms. If you have a pro account, you can disable this option to remove Airtable branding. 

‍

‍

Below the branding toggle, you’ll see a choice to “Redirect to URL after the form is submitted”. If you enable this choice, a window will pop up where you can provide a URL to redirect to. When users complete the form, they’ll be taken instantly to this URL. 

‍

‍

Enabling a URL redirect will automatically disable the remaining options found under “After the form is submitted”. 

Configure what happens after an Airtable form is submitted

At the bottom of the form builder, Airtable provides several options for controlling what happens after a form is submitted. 

Ensure that the URL redirect options is disabled before exploring these options. 

‍

‍

First, you have a choice to customize the message displayed after the form is submitted. By default, this message will say “Thank you for submitting the form!”. Just enter any text you’d like into that field to edit it. 

‍

Next, you’ll see a toggle to “Show a ‘Submit another response’ button”. This will give users the choice to open up a fresh form by clicking on the button.

‍

You can also enable “show a new blank form after 5 seconds” to give users an easy way to submit multiple responses. 

‍

Finally, you can choose whether or not you want to receive email alerts for new form submissions. This email option is specific to every collaborator on your base. Enabling the option for yourself will not enable it for anyone else in your workspace. 

‍

How to trigger Airtable automations with forms

Once your form is set up, it can also be used to trigger automations in Airtable in just a few steps. 

For example, you might want to send a Slack alert to a relevant channel whenever a new contact is added with the form. 

Create a new automation and choose a trigger

To start building an automation in Airtable, just select the “Automations” tab. 

If you haven’t added any automations to this base yet, Airtable will instantly create a new automation and prompt you to select a trigger.

‍

‍

If you already have one or more automations in the base, you’ll need to click on “Create automation” to add a new one. 

‍

‍

Set the trigger event that will prompt your automation to run. To connect an automation to a form, choose “When a form is submitted”. 

‍

‍

Then, select the table and form you want to use.

‍

‍

Give the trigger a test. You’ll need to have at least one record already in the table for the test to work.  

‍

‍

You should be able to retrieve a record with the test. If not, just make sure you’ve chosen the right table and form, and ensure there is at least one record in the table. 

‍

Add an action to your automation

Next, add an action to your automation. 

For our example, we’ll choose Slack, and select “Send message”. 

‍

‍

When you build Airtable automations that connect to other apps, like Slack, you’ll have to sign in to that app and authorize Airtable to perform automatic actions with it. 

‍

‍

Next, configure your action with all required information. To send a message in Slack, we need to select the channel or user we want to send the message to. We’ll send this to our dedicated “Tutorials” channel. 

‍

‍

Then, we can compose the automated message.

Using static and dynamic data in Airtable automations

In any text field in AIrtable automations, you can use a mix of static text and dynamic data retrieved from the Airtable record that triggered the automation to run. 

‍

Static text will be the same every time the automation runs. Dynamic data will reflect the record that triggered the automation to run. 

‍

Static text can be entered directly, so we’ll just enter a simple message that reads: A new contact was created: 

‍

 

Next, let's provide some details for the new contact using actual data from Airtable. To find and enter dynamic data in an Airtable automation, just click on the blue plus sign in the relevant field. 

‍

‍

We’ll add in the contact’s full name and the record URL. 

‍

‍

All of these pieces of data will reflect the record that triggered the automation. So if the contact’s name is “Mike Johnson”, it will say “Mike Johnson” for full name. If it’s John Smith, the Slack message will say “John Smith”. 

‍

Note that as we’re composing this message, we’re also using some markdown notation. Airtable offers a small explanation and cheatsheet for markdown notation right above the “Message” window. 

‍

We’ll use markdown to make some text bold by enclosing it in asterisks, and we’ll create a hyperlink to the record URL that reads “Check out the record here”. This markdown formatting will apply to dynamic data and static text alike.

‍

You can see our fully composed message complete with markdown formatting below:

‍

‍

Now that the message is all set, we just need to finish configuring a few additional settings. 

Configuring and testing your automated action

Automated actions in Airtable will typically include several optional and required settings in addition to the main message or other item you’re creating. 

‍

For instance, with a Slack message, we can provide a customized bot name and icon to give the message a little more personality. 

‍

We’ll call our bot “New Contacts Callum”, and we’ll set the icon to the “:card_index:” emoji. 

‍

‍

We’ll also set “unfurl links” to “no”. Callum doesn’t need to take up that much space in our feed. 

‍

Once your automated action is fully configured, it’s time to give it a test.

 

Start by clicking on “Generate a preview”. This will show you a preview of the message without actually performing it. In other words, generating a preview of a Slack message will show us what the message looks like, but won’t actually send a message.

‍

‍

If the preview looks good, you can move on to performing a full test. Click on “Test automation.” This will actually run the automation with your chosen record

‍

‍

That’s why we’re sending this to the tutorials channel. We don’t want Callum here blowing up one of our shared client channels. 

‍

Once you run the test, you should see your Slack message in the specified channel. 

‍

‍

Note that in our Slack message, our markdown formatting has correctly produced bold text for the contact’s name, and a hyperlink for the URL. 

Activating and organizing your automation

To wrap things up with your Airtable automation, give your automation a name, turn it on, and copy the automation’s URL.

‍

‍

Then, paste that link into the form view description. 

‍

‍

Keeping automation URLs in view descriptions will help you keep track of what automations your views are connected to. 

Embed Airtable form views in XRay Workflow

As you keep using Airtable, you’ll quickly find that you have lots of forms, lists, kanban boards, and other views that you need to keep straight. 

If you’re struggling to keep Airtable and your other apps organized, you should give XRay Workflow a shot. 

‍

With XRay Workflow, you can build your own personal home screen for all the web apps, and other resources you use every day at work. 

‍

It’s also a great tool for no-code freelancers who need to deliver workflows to clients. Instead of sharing a long list of links in an easily lost email or Slack message, you can compile everything they need onto one board and just share one link. 

‍

For instance, in this board, you can view resources we’ve compiled for this tutorial.

‍

‍

In the “Live Survey & Shared Views” stitch, you can fill out the form we created and check the grid view to see submissions. 

‍

‍

You could use a similar setup to share an onboarding workflow with your client, creating pins where your client can add a new employee, view onboarding tasks, and more. 

‍

‍

Just go to www.xrayworkflow.com to download the app and try it for free today, while we’re still in beta.

Quickly gather data for your Airtable base with a form

Airtable forms are an easy, convenient way to let anyone submit data to your base. Just add a form view to your table, configure your settings, and copy the link to share your form and gather data from anyone on the web. 

Then, use tools like Airtable automation and XRay Workflow to do even more with the forms that you’ve built. 

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

‍

Tutorial
August 16, 2023
Create a Custom Task Management System in Airtable

Airtable is an amazingly versatile tool for organizing and automating your data. However, it’s not limited to just creating basic spreadsheets. 

‍

With Airtable, you can build nearly any system that you want. And if you’re not satisfied with off-the-shelf task management apps, like Monday.com or Asana, you may want to build your own in Airtable.

‍

In this post, we’re going to show you how to start tracking tasks and projects with a simple Airtable base.  

‍

We’ll  walk you through setting up an Airtable base for task management step by step. Then, we’ll show you some helpful data views you can add to your task management base to track your team’s progress. 

‍

Next, we’ll take a look at building interfaces that your team can use to add new tasks and update their status without needing to edit the database itself. 

‍

Finally, we’ll demonstrate a simple automation that you can add to your base to create automatic alerts for urgent, incomplete tasks. 

‍

Let’s get started!

Overview: what the finished base looks like

First, let’s take a quick look at the finished base. After a brief overview, we’ll walk through each component in more detail so you can set it up for yourself. 

‍

Note that the base that we’re going to show you today is just an example of the kind of setup you might use for tracking tasks in Airtable. 

‍

Ideally, it should be a great starting point, but we’d encourage you to customize the fields, views, and interfaces to match you and your team’s preferences. 

Customize your task management base to your liking

One of the key advantages of using Airtable for task management instead of an out-of-the-box solution like Asana or Monday is that you have precise control over the format of your interface as well as any workflow optimizations you want to include.

‍

You can make the system you want to use, instead of being stuck with someone else’s design.

‍

With this article, we just want to give you a solid jumping-off point, and show you some of the key options you have for customizing your base. 

‍

Additionally, if you’re not familiar with basic Airtable functionality, like creating and modifying fields, then you should check out our Airtable beginner’s guide before following this tutorial.

Basic setup for the “Tasks” table

With all of that in mind, let’s go through the full base that we’ve set up here. 

‍

‍

In the grid view of our “Tasks” table, you can see all of the fields and every task that we’ve created. As you can see, every key piece of information is covered here: Task summary, project, due date and other attributes like that. 

‍

‍

The project field is actually a linked record, which refers to our “Projects” table in the same base. 

‍

On the left of the main “Tasks” table, you can see a list with a few different views. 

‍

Find all of your Airtable views in the table's lefthand panel

‍

Every view is based on the same data, but each one has different filters and sorts to make the most relevant information visible easily. 

‍

The “View all tasks” view is a basic grid view that has all of the information you need for your tasks, but it’s a lot of data to look at all at once. To make it a little easier to get some key takeaways at a glance, we’ve added a few custom views. 

‍

The timeline will give you a high-level overview of your team’s progress.

‍

‍

The “urgent tasks” view lets you see any outstanding to-dos approaching their due date. 

‍

‍

When you’re accessing your base under the “Data” tab in Airtable, you can manage your entire tasks database. This is where you’ll be able to edit or update any fields, but it’s probably not what you want to share with your whole team. 

‍

‍

Instead, we’ll show you how to create a simple interface where your team can add new tasks with a form, and update each task’s status on a Kanban board. 

‍

‍

To start automating these task management workflows, we’ve configured a quick automation that just sends an email alert whenever a task enters the “urgent tasks” view that we highlighted earlier.  At the end of this tutorial, we’ll also show you how to set up that automation. 

‍

If you’d like to copy this entire finished base, just check out the template base that we’ve prepared here. 

If you’d prefer to build the base yourself and customize as you go, you can follow along as we break this base down step by step. 

Create your base and customize your fields

Create a new base, or copy our base to your workspace. 

In the “Tasks” table, we’ve added several fields that will be useful for creating and managing tasks. 

‍

‍

There’s a primary field which creates a name for each task by combining the contents of a couple of other fields. We’ll explain this field more in a moment, but let’s go over the other fields first. 

‍

Fields in the “Tasks” table:

‍

‱ Task summary | Single-line text 

‱ Assignee | “User” field type

‱ NOTE: the “User” field type is necessary for the automation at the end of this guide. 

‱ Start Date, Due Date | Date fields

‱ NOTE: You’ll need both to use a timeline view

‱ Status | Single-select

‱ Options: To-do, In progress, Done, Archived

‱ Priority | Single-select

‱ Options: High, Medium, Low

‱ Client | Single-select

‱ Options: add clients as needed.

‱ Notes | Long text

‱ Rich text formatting enabled

‱ Attachments | Attachment field type

‱ Project | Linked record

‱ Links to the “Projects” table

‱ Project Due Date | Lookup

‱ Retrieves due date field from “Projects”

‍

‍

‍

Using a formula in the primary field

In any Airtable base, the primary field acts as the title or label for every record.  You can use any field type you’d like, but at XRay, we always prefer to generate the primary field’s content with a formula.  

‍

Typically, we just use a simple “concatenate” function that combines the text of a “name” or “title” or “summary” field with another piece of important data, like the due date.

‍

For this table’s primary field, we’ve also added a “DateFormat” function to set an easily readable format for the date. A simple “if” statement also ensures the field displays some help text when either dependent field is empty, rather than just showing an “ERROR” message. 

‍

‍

By using a formula field, you can ensure that every single task uses the exact same format for its label.  We won’t have some tasks that start with a date, and others that start with a summary.  And you won’t see any other inconsistencies from human error when people create tasks. 

‍

Plus, if you ever want to change this primary field, we can just update the formula once, and all of the records will instantly use the new format. Ultimately, it’s your choice, but we’d really recommend using formulas in your primary field whenever you’re building a new base. 

‍

That covers our basic table setup. Next, we’ll show you how to add some additional views to get more utility out of the task management base. 

‍

NOTE: The views and interface are already complete in the template that we shared. We’ll describe how to build them step-by-step if you’d like to start from scratch instead. 

‍

The automation can’t be included in the shared base, so you will need to build the automation from scratch if you’d like to use it. Don’t worry; we’ll include a detailed tutorial for that, too!

Adding custom views and filters

In Airtable, every table can include several different customized views. Views let you arrange the same data in different ways. 

‍

The default grid view that every table starts with is useful for seeing all of your records, and for managing all of your fields in a familiar spreadsheet format.

‍

If you want to add or edit fields, you’ll probably want to do that in a grid view that displays all of your table’s records. We’ve titled that default grid view “View All Tasks”. 

‍

However, many of the other available view types are often better suited to quickly surfacing important data and helping people get work done. Views can also be extremely useful for managing automations, since you can trigger automations in Airtable, Zapier, or Make whenever a new record enters a specific view.  

‍

To create a new view, just click on the view type you want to use from this menu in the bottom left.  

‍

‍

First, try creating a new grid view that only displays urgent tasks. To do that, click on “Filter” at the top of the table, and configure 3 conditions: 

‍

‱ Priority is “High”

‱ Due Date is within the next 3 days

‱ Status is not “Done” or “Archived”

‍

‍

This will let you see urgent and incomplete work at a glance, and will be the basis for an automation we’ll build later on. 

‍

Next, let’s take a quick look at adding a timeline view. A timeline view will create a timeline with your records. For this view to work, you’ll need to have two dates that you can use as a “Start” and “End” date.  

‍

‍

Once the Timeline view is set up, you can see all of your tasks on a timeline.  Timeline views are a great way to get a bird’s eye view of your tasks, and see how your progress is stacking up against your project’s calendar.

‍

‍

However, timeline views do require a Pro account, which currently costs $20 per seat per month. 

‍

The views that we’ve covered here are a great starting point, but they’re just a sample of the views that Airtable offers. You can check out our Airtable beginner’s guide for more info, or just add views to your table and try them out for yourself.  There are tons of options that can completely transform the way you view and edit your data. 

‍

Sharing your base

With all of these fields and views set up, you’re almost ready to start using your task management base with your team. 

‍

There are two main ways you can share this base with your team. You can either invite them as collaborators on the base, or you can create an interface for everyone to use.

‍

To allow team members to access and edit your base directly, click on the “Share” button in the top right of the screen. Invite everyone on your team that you want to include in your Task Management system.  Just make sure they’re part of your organization in Airtable. 

‍

‍

For each person or group that you invite, you can set a unique permission level: Creator, Editor, Commenter, or Read Only.  A “Creator” has full edit access to the entire base. An “Editor” can create or edit new records and views, but can’t edit the base’s fields.  A “Commenter” can only comment, while a read-only user can’t edit the base or records at all.

‍

‍

For this task management system, you may want to make some of your team “editors”. That way, they’ll be able to add and update tasks, but they won’t be able to add or delete fields.  

‍

However, there is another way to let users access your base which can keep things much simpler for your team: interfaces. 

‍

Build a custom interface for your tasks

With interfaces, you can create simple layouts that allow your team to view selected data and edit specific records or fields without accessing the entire base. That way, your team can see the limited, relevant fields that they need access to, without feeling overwhelmed by detailed data views that they don’t really need to see.

‍

You also don’t need to worry about them editing your table’s configuration or going through the tedium of adding permissions to every field in your data. Interface users also won’t count as “collaborators” in your Airtable subscription. 

‍

We’ll show you how to create an interface with two useful pages: a form view where your team can create tasks, and a Kanban board where they can view tasks sorted by status and update a few key fields. 

‍

‍

This might seem like a bit of an unconventional approach, but there’s a reason we want to employ this setup. One of the biggest challenges in using a task management system with your team is making sure that everyone uses the system consistently and correctly.  

‍

Giving everyone a massive database with a ton of customized views will often just be confusing.  Additionally, if you just grant your team access to the base directly, they may often accidentally create incomplete tasks, missing key fields like a due date.  

‍

‍

Instead, by using the streamlined pages in this interface, your team can quickly accomplish what they need to do.  And by using a form view, you can ensure that every new task has all of the required fields filled in.

‍

Of course, if you’d like to use a different approach, you can customize your drag and drop interface however you’d like. 

Creating an interface

To get started, just click on “Interfaces” at the top of your base.  Then, click on “Start Building” to create a new interface.  

‍

‍

Give your interface a name. For instance, we’ll call ours “Task Management Portal”. 

‍

‍

Then, choose a layout.  You’ll see several choices that are pretty much identical to views that you can use in the data tab.  However, there are a few that are unique to interfaces, like dashboard and record review.  

‍

‍

You’ll also see “blank” as an option down at the bottom.  If you choose “Blank”, you can add any view option that you’d like to your page. You’ll also be able to add additional elements to the page.

‍

‍

So, for instance, you could customize your blank page to include both a Kanban view element and a grid view element.

‍

If you just choose a pre-made configuration like “Kanban”, you either won’t be able to add any additional elements at all, or will only be able to add limited elements like a text field. Different layouts have different limitations regarding the other elements you can add to the page.

‍

It's a little unintuitive, but we expect this functionality to change and be more consistent across different page types soon.  

‍

To start, choose a preconfigured Kanban view to keep things simple. Then click on “next”. 

‍

‍

Now, you’ll need to pick the table that you want to get data from, and the stacking field you want to sort by. In this case, you’ll probably want to sort by “Status”. Click “Finish” to create a new interface with a single page for your Kanban layout.  

‍

‍

You can configure this page in the menu on the right.  Here, you can add filters, change the view into a different layout, edit visible fields and sort options, or modify permissions.  For instance, you can control whether or not users can edit records.  

‍

‍

You can even click on a record to set permission for each individual field.  From there, you can make each field view-only or editable. Note that every field in an interface page will default to view-only. 

‍

‍

For our example, we’ll change the “Status”, “assignee”, “summary”, “due date”, and “attachment” fields to “Editable”. We’ll leave everything else as “Read-only”.  

‍

There’s an option to allow users to add records, but we’ll leave that disabled.  You’ll want to encourage a single method for creating tasks, and that method will be the form that we create next.  

‍

‍

To stick with our system, you should also keep “Edit inline” disabled. Unfortunately, that will disable editing status by dragging and dropping the Kanban cards, but enabling it would allow users to create records here. Instead, we want to have users create tasks strictly with the form.

‍

Once your page is all set, click on “Publish” to commit your changes and create a shareable interface.

‍

‍

Sharing your interface

To share the interface with your team, click on “Share”, then invite users by email or with a link. 

With either option, you can set your invited users to “Editor”, “Commenter”, or “Read-only”. 

‍

‍

If you create an invite link set to “Editor”, anyone you share this link with can access the interface and edit the fields that you’ve specifically configured to be editable. Granting users “Editor” access will not allow them to edit any fields that you’ve set to “Read Only”. 

‍

‍

Note that you can also restrict access to users with an email address from your organization. Once you’ve configured your settings, copy the sharing link and open it up while signed into another account. 

‍

‍

You should be able to view every task that’s already been created, and can click on any of them to edit the fields selected earlier. You should also see that there’s no way to create new tasks on this page, just as intended.  

‍

Create a form to let users add tasks

To give our users a way to add new tasks, let’s go back to the interface and add a form. 

‍

Open up the interface on your own account again. To edit the published interface, click on the interface’s name at the top of the left hand panel, and select “Edit”.  Alternatively, you can use the keyboard shortcut “option 1” on Mac or “Alt 1” on windows to return to the editing view. 

‍

‍

Now you’ll need to add another page to contain your form view. You can do that in the right hand panel by clicking on “Add Page”. If you don’t see “Add Page”, just click on “All Pages” first.

‍

‍

Choose “Form” as the view type.  Then, click next and choose the table you want to use. You’ll then be able to select all the fields you want to include in the form. Just uncheck any field to leave it out of the form. Once you’ve made all your selections, click “next”.  

‍

‍

Give the form a name and a description, and click “Finish”.  

‍

Now your interface has two pages: one with the kanban view, and one with the form.  You can reorder your pages in the panel on the right. 

‍

‍

Once your form is all set, click on “Publish” to commit your changes.  Once again, open the same sharing link from before with another account. 

‍

‍

Submit a task in the form. Then, when you open up the Kanban page, you should see the new task on the board. When you open up the task, you can edit all of the fields that you set to “editable”.  

‍

‍

Now, with this interface, your team has two clearly defined pages to use; one for adding tasks and one for editing tasks.

‍

If you’d prefer to let your team add and edit tasks in a more conventional layout, you can always add list or grid view elements to a blank page. Then enable the “Edit records inline” and “Add records” settings. 

‍

Why we recommend separate pages for adding and editing tasks

However, by splitting the actions of adding tasks and editing tasks, you can ensure that everyone creates complete tasks with the form, and only edits the data you want them to edit.  Ultimately, it’s up to you. 

‍

Again, one of the main benefits of using Airtable for task management is that you can use any format that you’d like - whether that’s a Kanban, a form, a list, a timeline, or something else.  

‍

You can also add filters to any view in an interface to create views that are specific to each department, or specific to each project. 

‍

This base is just a starting point, and everything can be customized to your liking. Try out a few different views and settings and see what works best for you. 

Automating your tasks table

Finally, to wrap up the task management base, let’s take a quick look at enhancing your task management system with no-code automation. 

‍

Airtable is an ideal app to use as an operational database for your automations.  You can build useful automations with Airtable’s native automation builder, or you can use third-party providers like Zapier and Make to integrate Airtable with thousands of other apps. 

‍

The possibilities with Airtable automation are endless, so we won’t be able to give you a comprehensive guide to everything you can automate. 

‍

Instead, we’re just going to give you a simple example to show you how you can start building automations in your task management base.  

‍

Create a new automation

In this example, we will show you how to build an automation that sends an email alert to the assignee of any incomplete and urgent task. 

‍

As noted before, this automation will only work if you’re using the “User” field type for assignee. That’s how you’ll get the user’s email address. 

‍

‍

Alternatively, you could use a Linked Record if you want to set up an additional “team” table, and include each user’s email address in that table. You could also include other contact info there, like Slack IDs. 

‍

However, using the “User” field type will be much faster for this example.  

‍

To create a new automation, click on the “automations” tab. If you haven’t added any automations to your base, this will immediately create a new automation and prompt you to pick a trigger. 

‍

‍

If you already have an automation in the base, click on “Create automation” to add a new one, then choose a trigger.

‍

Whenever your trigger event occurs, your automation will run.

‍

For this automation, choose “When a record enters a view”, so that the automation will only run when a record enters the “Urgent Tasks” view that we created earlier. Just as a reminder, that view has a filter that checks for tasks that are incomplete, high priority, and due within 3 days.  

‍

Next, you’ll need to identify the table and view that you want to use for this automation.

‍

‍

Then, test the trigger by choosing a record.  

‍

‍

If the test is successful, you can now add an automated action.  Click on “Add advanced logic or action”, and choose the “Send email” action.  

‍

‍

To populate the “to” field, use the “Assignee” field from your Tasks table.  To use dynamic data from your Airtable base in an automation, click on the blue plus sign in the field you’re configuring. 

‍

‍

In the window that pops up, you can see that we’re using data retrieved by the automation’s trigger, so we have access to every field that’s part of that record. Select “assignee”. 

‍

Since “Assignee” is a “User” field, it has several pieces of data: ID, email, name, and profile picture. In this case, you’ll just want to select the email address. 

‍

‍

Now, your automation is set to send an email to whoever the assignee is on any task that enters the “Urgent Tasks” view. 

‍

Next, add a generic subject line for the email, such as “Reminder: {task Name} is due soon!”. You can also use some dynamic data here to insert the actual task’s name. 

‍

‍

Then, you can fill out the email body with more static and dynamic detail. For instance, you’ll probably want to use the “name” from the “Assignee” field to personalize the message, and add a title and link for the task for easy reference. 

‍

‍

To test the step, start by generating a preview. This will show you what the finished message will look like, but won’t actually send an email. 

‍

‍

If the message looks good, click on test automation. Then, select a record, and click on “run automation”. 

‍

‍

When you check your inbox, you should see a new email from Airtable Automations, complete with the message you configured. 

‍

‍

Finally, give the automation a descriptive name and turn it on, so it will run whenever a task enters the “Urgent Tasks” view.

‍

‍

We’d also recommend copying the automation’s URL and adding it to the description of the Urgent Tasks View so everyone can see that there’s an associated automation. 

‍

‍

More automation possibilities

Again, this is just an example of the sort of automation you could build with your tasks.  You could also configure additional alerts for any newly created task, or configure automations to create specific onboarding tasks whenever a new deal is marked as closed/won in your CRM. 

 

You could even set up an automation to create a task by simply responding to a message in Slack with a custom emoji.  We’ve built a Slack task maker for our team at XRay, and we use it every day to quickly create tasks right alongside our key conversations.

‍

Every channel is mapped to a project, and every team member has their own emoji.  Note that the specific apps used in this automation could always be changed.  For instance, you could swap Slack for Teams or any other messaging software.

‍

The beauty of low-code automation is that the pieces are usually interchangeable. Any SaaS tool can usually be swapped out for a similar alternative. 

‍

If you’re interested in building a Slack Task Maker automation for your team, just reach out to XRay for a free consultation, and we’ll explore your options. And if you’d like to learn more about automating with Airtable, be sure to check out some of the other blogs on our website. 

Craft your own task management system in Airtable

Airtable is an excellent tool for no-code builders. Using Airtable’s customizable fields, views, interfaces and automations, you can create any system you’d like for managing your tasks and projects.  Copy our base or build your own to get started today. 

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

 

‍

Tutorial
August 9, 2023
Make Beginner's Guide: Updated for 2023

No-code and low-code tools let anyone automate their workflows, prototype ideas, and even create fully functional web apps. 

One of the best names in the no-code/low-code space is an app that often doesn’t get the recognition it deserves in an industry that’s dominated by Zapier. 

‍

In this post, we’re going to show you how to get started with Make. 

‍

Formerly known as Integromat, Make is a powerful and affordable platform for no-code and low-code automation. 

We’ll show you how to start automating your work with Make today, with absolutely no coding experience required. 

‍

We’ll explain what Make is, we’ll show you how to build your first automated scenario step by step, and we’ll give you a preview of Make’s unique features that simplify complicated automation logic.  

What is Make, and what is no-code/low-code automation?

First, what is Make?

‍

Make is a no-code and low-code automation provider. As we’ve already alluded to, you might recognize it by its previous name, Integromat.

They rebranded the app over a year ago and made some changes behind the scenes. However, for users, the platform works in the exact same way.

‍

If you’ve used Integromat in the past, you can think of Make as the same thing with a new coat of paint.

Connecting and automating your apps with Make

For those who never used Make under any name, here’s how it works:

‍

Make lets you connect two or more web apps to automate actions in those apps with scenarios.  

In your scenarios, you can specify that whenever a certain event occurs in one app, Make should automatically perform one or more actions with another app. 

‍

For example, a scenario might look like this:

‍

Whenever a new event is added to Google Calendar, create a new spreadsheet row in Google Sheets with the details of the event. 

‍

‍

The first circular module is our Google Calendar trigger, and its parameters specify exactly what the scenario should watch for - new events in our chosen calendar. 

‍

‍

The second module is our Google Sheets action, detailing which data should be added to which column, and pulling that data from the Google Calendar event retrieved in the trigger. 

‍

Automate multiple actions in the same scenario

You might also build a scenario with Gmail, OpenAI, and Slack. 

‍

Whenever a new tag is added to an email in Gmail, summarize the contents with an OpenAI prompt. Then, send the resulting summary as a DM in Slack, our team’s messaging software. 

‍

‍

You can see a very similar setup here compared to the first example: a Gmail trigger, an OpenAI action, and a Slack action. 

‍

Automations like this can all be built without writing any code at all. Everything is built with a drag-and-drop visual interface.

Low-code features in Make

However, compared to competitors like Zapier, Make is also great at supporting low-code automation

‍

A low-code automation augments a no-code workflow with very small amounts of code, like an API call to perform an action that isn’t natively supported in Make, or a Regex script for precise text parsing and replacement. 

‍

So if you have some coding experience, or want to learn a bit about coding, Make is a great platform to use for automation. 

‍

However, coding knowledge is not necessary at all to use Make, and this tutorial will not require writing a single line of code. 

The anatomy of an automated scenario in Make

Before we build our first scenario, let’s take a look at how scenarios in Make work. 

‍

As you’ve already seen illustrated with a couple of examples, every automation in Make is built on the same basic structure

‍

Every scenario consists of a trigger module, and any number of actions and searches that follow that trigger. 

Let’s add a little more context to those terms. 

‍

‍

Launch your automation with a trigger

In an app like Make, a trigger is the event that prompts your automation to run. A trigger can be based on an event in any app that Make supports.

‍

For instance, your trigger can be configured to run when you add a new contact in Hubspot, when you get an email in Gmail, or when a new record is added to a view in Airtable. 

‍

‍

Create a schedule for your trigger

You can even schedule the automation to run at a specific time, rather than waiting for a particular event to occur in a designated app. 

For instance, you might schedule a Slack message to send in your #general channel every Monday at 9:00AM that asks your team to share their focus and their goals for this week. 

‍

‍

Perform automated actions in thousands of web apps

Once the trigger event is fulfilled, your automation needs something to do. 

An action module will automatically perform any action that you configure.

This could be something like creating a new document from a template in Google Drive or Notion, adding or updating rows in spreadsheets, sending messages through email, Slack, or teams, and much much more. 

Run automated searches to find key data

You can also use modules in your Make scenarios to find data instead of creating it. This is what we call a search module. 

For instance, you might want to look up a record in a spreadsheet app like Google Sheets or Airtable, or you might want to find a contact in a CRM like Hubspot or Pipedrive. 

‍

‍

You can use a search module to find those records, then use an action to send that data to another app. 

Discover what you can automate with XRay.Tools

There are thousands of apps and countless events that can be automated with Make, so we can’t cover them all with an exhaustive list in this guide. 

However, we do have an easy way for you to find out if Make supports the apps that you’re already using. 

Just go to www.xray.tools, and search for the software that you use today, like Google Drive, or Microsoft Teams, or Shopify – any web app that’s part of your day-to-day work. 

‍

‍

Then, XRay.Tools will return a list of every available trigger, action, and search for your app in Make, Zapier, Workato, and other platforms. 

‍

‍

Go beyond linear automations

While every automated scenario in Make begins with a trigger and at least one action, you’re not limited to a strictly linear flow. 

With tools like routers, filters, and various functions, you can build versatile scenarios that respond appropriately to different input. 

We’ll give you a preview of these options a bit later on in this guide, but you can also check out our other Make tutorials for more detail. 

‍

For now, let’s start building our first scenario. 

Building your first automated scenario in Make

Our example scenario: send Slack alerts for Google Calendar events

For our example, we’ll build a simple automation that sends an alert in Slack whenever a new event is added to our Google Calendar. 

‍

‍

Once we’ve built and tested the basic automation, we’ll add a simple function to improve the formatting of our scenario’s output. 

‍

Complete this tutorial with our recommended free software, or use any apps you’d like

We’ve chosen these apps because they both offer free signup, and they’re very simple to use for this tutorial. You can use different software in your scenario if you’d like. 

‍

Make uses a similar configuration setup for most apps.Once you learn how it works with a couple of tools, you’ll be able to apply those same concepts to nearly anything else you want to automate in Make. 

‍

Some of the specific configuration options might not be relevant to your apps, but the same principles will still apply. 

‍

Everything we’ll do today can be built with a free Make plan. 

Make’s paid plans unlock additional features, which you can learn more about in our Zapier vs. Make comparison article. 

‍

Log into Make and create a new scenario

To get started, you’ll need to sign up for Make if you haven’t already, and log into your account. You should also log into Google Calendar and Slack. 

‍

Open up Make and click on “Scenarios” on the left hand panel. 

‍

‍

Next, click on the plus sign next to “Folders” to make a new folder where you can store your scenario. 

‍

‍

Give your folder name like “Make Beginner’s Tutorial”, and click “Save”. 

‍

‍

This isn’t strictly necessary. You could always just make a new uncategorized scenario. However, we’d always recommend staying organized from the very beginning. 

Building the habit from the outset will make it much easier for you to find and maintain your automations later. 

‍

Select your newly created folder, then click the “Create a new scenario” button to make a new scenario within that folder. 

‍

‍

Make will now open up the scenario builder. Right away, you should give your scenario a descriptive name. We’ll call ours “Send Alerts in Slack for New Calendar Events”

‍

‍

Create a test event in Google Calendar

Before we start building, we need to have some data to test our scenario with. Whenever you’re building an automation in Make or similar platforms, you always need to have test data to confirm your automations work correctly every step of the way. 

‍

In this case, that means you need to have an event already on your calendar. Create an event that you can use as test data. 

‍

In our example, we’ll create an event called “Test Event - Meet with Matt”. 

‍

‍

Now, we can go back to Make’s scenario builder and add our trigger. 

Add a trigger and authorize Make to connect with Google Calendar

Click on the plus button in the middle of the screen to add a new trigger module. Then, search for the app you want to use. For our example, we’ll search for Google Calendar.

‍

‍

Click on your app when it pops up in the list of search results. 

‍

Next, you’ll need to choose the exact trigger event you want to use. Each event will include a short description of what it does and how it works. 

‍

Unlike Zapier, Make doesn’t always sort events into separate “trigger” and “action” categories. You’ll see triggers, actions, and searches all in the same spot. 

‍

‍

Triggers usually start with “watch” or “new”, rather than “create”, “find”, or “get”. 

‍

We’ll choose “Watch Events” to watch for new events added to the calendar

‍

‍

Once you’ve chosen your trigger, you’ll be prompted to create a connection.

‍

‍

To automate any app in Make, you need to log into that app and authorize Make to act on your behalf. To start, just click “Create a connection” to authorize Make with your app. 

‍

‍

Next, you’ll see this warning about Make’s rebrand.

Since Make used to be called Integromat, your app may still use that name during the authorization process.

This is nothing to worry about. Make and Integromat are the same product made by the same company, so it’s still safe to authorize the app even if it’s using the name “Integromat”. 

‍

‍

Give your connection a descriptive name, and sign in with your credentials for the app in question. You’ll then see a list of the permissions Make requires.

‍

‍

Click “Allow” to authorize and continue. 

‍

Once you’ve authorized your app, you’ll be returned to the scenario builder, where you can configure your trigger

Configure your trigger

‍

With “watch” triggers like this one, you’ll typically need to specify what you want Make to watch – which workspace, which folder, which spreadsheet view, or in this case, which Calendar. 

That way, Make will only run for the Calendar you’ve specified, instead of running for every calendar in your account. 

‍

First, select the calendar you want Make to watch. This should be the calendar where you added your test event. We’ll select our primary calendar. 

‍

 

Next, you’ll see a couple of fields for “Query” and “Limit”. Both of these are often included in many “Watch” triggers in Make. 

‍

By providing a query, you can ensure that your scenario only runs for items that match your search. Your search will need to use any special syntax required by the specific app. 

‍

To get started, we’d recommend leaving the query field blank, but you can always go back and add a query later if you want. 

‍

“Limit” lets you determine how many new records this scenario can process at one time. It defaults to “2”, but you can set this to any number you’d like. 

‍

For this tutorial, we’d recommend setting it to “1”. Otherwise, the automation may run twice every time you test it, and you’d just be burning operations needlessly. 

‍

‍

We’ll discuss Make’s operation limits in more detail later on - for now, just know that testing your scenarios will use up operations, and you’re limited to 1,000 operations each month on the free plan. 

‍

With all of these options configured, you can click “OK” to finish setting up the trigger. 

Testing your trigger

Now, you need to test the trigger to make sure it can find your data. 

After closing the configuration window, you should see this “Choose where to start” dialogue. If it doesn’t appear automatically, you can right-click on the trigger module and select “Choose where to start” from the list. 

‍

‍

Select “Choose manually”, and you should see some data appear. If you don’t see the event you created earlier, make sure it’s in the right calendar, and make sure that your trigger is set to watch the right calendar.

‍

‍

If your test data is there, select it and click “OK”. 

‍

By selecting where to start, you’ve now told the trigger module to start with your test data when it runs, but it hasn’t actually run yet. 

‍

To run your trigger and have it gather your test data, you can either right-click on the trigger module and select “run this module only”, or click on “run once” in the bottom left to run the entire scenario (which, for now, is just a trigger). 

‍

‍

Once you run the trigger, you should see a green check and a number appear above the module. This number indicates how many “bundles” of data the trigger module processed in its test. If you’ve set the limit to 1, you should only see 1 “bundle” here.  

‍

‍

You can click on it to see more information about the data retrieved, and confirm that your test data is there. 

‍

‍

Now, your trigger is set to run every 15 minutes and watch your specified calendar for new events. Each new calendar event will prompt the automation to run.

‍

Close this window to continue. 

Add an action to your scenario

The first step of our scenario is complete, but now we need to add a module that will send us a Slack alert for this calendar event. 

‍

Hover over the trigger module, and click on the plus sign.

‍

‍

Search for the app you want to perform an action with. For our example, we want to use Slack to send a message, so we’ll search for Slack and select it from the search results. 

‍

‍

Then, choose the action you want Slack to perform. Whenever you’re trying to pick an action in Make, just look for whatever phrasing is closest to the action you want to perform. 

‍

Since we want to send a message, we’ll select “Create a Message”. 

‍

‍

Just like with Google Calendar, you’ll need to authorize Make to automate Slack with your account. 

‍

‍

But first, Make requires you to choose a connection type. This is particular to Slack, and isn’t something you’ll always need to do. 

Since we want to send messages with this automation, we’ll need to choose “Bot”, not “User”.

‍

‍

Now, you can follow the same steps as before to authorize Make to use Slack. 

‍

‍

Note that in Slack, Make is still referred to as “Integromat”, just as we had warned it might be. But again, this is nothing to worry about - just a simple rebrand. 

‍

Click allow to authorize Slack and continue. 

Configure the Slack action module

Just like with a trigger module, every action module needs to be precisely configured so Make can perform the action you want. 

‍

You’ll typically need to identify where you want to create or update an item, the name of the item, the text to use for the message or body, and other similar attributes. 

‍

Make will describe each one and let you provide it in this simple form layout.

‍

‍

For Slack, we need to select the channel or user we want to send a message to.

‍

This first option gives us the choice to enter our channel manually or select it from a list. This is a common choice you’ll see in Make modules. You can identify objects in your app by using their ID, or by finding its name in a dropdown menu. 

‍

‍

Whenever possible, we’d recommend entering the object’s ID manually. The ID is a fixed value that won’t change, so it’s more precise and reliable than a name that might be updated at any time. 

‍

If you need the ID of something in a web app, you can often find it in the URL bar. But if you can’t find the ID, then selecting the item from the dropdown menu should work just fine. 

‍

In Slack, you can easily find the ID of any channel by clicking on the channel details. You can also find your own user ID to send a direct message to yourself. 

‍

‍

Copy the ID of the channel you want to send the message to, and paste it into the channel ID field. 

Retrieving data from your trigger

Next, you can fill in the text of the message that Slack will send. 

In any text field in Make, you can enter a combination of static text, dynamic data retrieved from earlier modules, and even functions and custom variables. 

‍

To start, enter the static part of the message by typing it directly into the “Text” field: “There’s a new event on your calendar!” Make sure to include labels for the Title, Start Date and Time, and the event’s URL. 

‍

‍

Next, you can add some dynamic data to provide the actual title, Start time, and URL for whichever calendar event prompted this automation to run. 

You can find dynamic data in the panel that appears whenever you select a text field. Data retrieved by earlier modules, like our trigger, will be under the “Star” tab.

‍

‍

The other tabs include functions to work with number, date/time, and text – we’ll explore them a bit more later on. 

‍

For now, let’s look for the data we want to add to this message. 

‍

‍

The blue variables (outlined in green above) represent the title of each piece of data Make retrieved, while the gray text (outlined in purple above) indicates the value of that variable for the current test data. 

You’ll always see the same blue variables for every Calendar event, but the gray text will be unique to each event. 

‍

We can see the title of our event next to “Summary”: “Test Event - Meet with Matt”. Every calendar event will have a “Summary”, but each event will have a unique name for its Summary. 

‍

‍

Add the “Summary” object to your text after “Title: “

‍

‍

Next, you can see the start date and time labeled as “Start”, while the URL is called “HTML link”. Add both of these to your message in the appropriate spot. 

‍

Your basic message is all set, but you should configure a few more settings first before you test it out. 

‍

Click on “show advanced settings” to reveal a few more options. 

‍

‍

Set both of the “unfurl” options to “No”. That way, the Slack alert won’t show large link previews with every message. 

‍

‍

Then, add an icon emoji, like :date:, and a unique username for your Slack bot. 

‍

‍

This will give it a little personality, and help to distinguish it from any other automated alerts you might set up. 

‍

Now that the action is fully configured, click “OK” to close the configuration window. 

‍

Test the scenario and turn it on

To test a complete Make scenario, we recommend always choosing a manual starting point, just like we did when we tested the trigger alone. 

‍

Right click on your trigger module and select “Choose where to start”. Then, click “Choose manually”.

‍

‍

Pick the record you want to use. Then, click “Run once”.

‍

Your action should run instantly. When you check Slack, you should see a new alert. 

‍

‍

Everything looks correct in our test, but the date and time aren’t exactly easy to read.

‍

Thankfully, Make has an easy fix for that - but we’ll cover that in a moment, after we’ve finished testing and activating this scenario. 

‍

With a successful test, we’re ready to turn on the automation. 

Activating your automation

First, always click on the “save” icon before switching any scenario to “on”. Make does not automatically publish your changes. If you turn your scenario on without saving first, it may operate without your latest changes. 

‍

‍

Next, you need to set the interval that your scenario runs at. On a free plan, you’re limited to running your scenarios at intervals of 15 minutes or more. On higher tiers, your automations can run every minute. 

Reducing the operations your scenarios use

It’s important to note that every run of a scenario will consume at least 1 operation, and the free plan is limited to 1,000 operations per month.

‍

Even if the trigger doesn’t find any data and the subsequent action doesn’t run, it will still use an operation for the trigger. Testing your scenario will also consume operations for every module ran. 

‍

A 15 minute interval for this trigger means 4 runs an hour, which translates to nearly 100 operations every day, and over 2,500 operations every month for the trigger alone. 

But there are some simple ways to reduce the amount of operations your scenarios consume. 

‍

First, you can set the interval to be less frequent. For instance, you might double the interval to 30 minutes. Just click on the button with a clock icon and a listed interval, like “Every 15 minutes”. 

‍

‍

In this same menu, you can also select “advanced scheduling” to set specific timeframes and days the scenario should run.

‍

For instance, you could set the scenario to run from 9:00am to 5:00pm on Monday- Friday.

‍

‍

This results in a bit under 350 operations each month for the trigger. That’s still a substantial number, but it’s a fraction of what we had before, and it doesn’t waste operations on weekends and nights. 

Advanced low-code techniques: using webhook triggers in Make

For low-coders, many watch triggers like this can be replaced with webhook triggers. You can check out our tutorial for using webhook triggers in Make, but just note that it’s a bit more of an advanced tutorial. 

Turning on the automation

Once you’ve configured the scheduling to your liking, you can finally switch the automation on. 

To fully confirm that it’s working as intended, give it a live test by creating a new event in Google calendar. 

Within your scheduled time frame (which is 30 minutes in our case), you should get your alert in Slack. 

Once you get the message, you’re all set!

You’ve finished your first scenario in Make. 

‍

‍

Click on the arrow in the top left to exit the scenario builder. On this screen, you can view the operations and data that your scenario has consumed to date. 

‍

‍

If you need to raise your limits, paid plans will offer more operations and data every month. Ultimately, while the free plan is great for giving Make a try, it’s not ideal if you intend to use Make long-term to automate your work. 

‍

Fortunately, Make’s paid plans are very affordable. You can learn more about them at Make’s pricing page, or in our Zapier and Make comparison guide. 

‍

Just be sure to turn off this example scenario later if you don’t intend to keep using it. After all, you don’t want to burn all of your operations for the month with this tutorial. 

Adding a function to your scenario

What we’ve built so far is a very simple scenario, but we’ve mentioned that Make can do a lot more than a simple linear automation like this. 

‍

Since this is a beginner’s guide, we won’t go into too much depth, but we want to give you an idea of how Make’s more advanced tools work. 

‍

As we mentioned earlier, Make offers several tools and functions for transforming your data. 

‍

Reformatting date and time

To finish this guide, we’re going to improve this scenario with a simple function to reformat the date and time in our Slack message. 

‍

To add a function, go back to the Slack module, and select the Text field.

‍

‍

All of these tabs contain several functions to run mathematical calculations, edit text, format dates, and more. 

We’ll use a function to reformat the date in our message into something that’s easier to read. 

‍

Select the calendar icon for date-time functions.

‍

‍

Then, you can hover over any function, like this “formatDate” one, for more info.

‍

‍

Click on the “formatDate” function to add it to the text field. 

‍

‍

Hovering over any function you’ve added to a text field brings up a tooltip that explains the data (or arguments) you need to provide. 

‍

Before the semicolon, you need to enter the date you want to format as the first argument. Put the “Start” date variable there. 

‍

Note: it will often be easier to delete any variables you want to use in functions, and add them back in after you’ve entered the function. 

‍

‍

After the semicolon, you need to provide the format you want to use as the second argument. Here’s a help page from Make that lists several possible date formats. 

‍

We’ll use this format: 

‍

MM-DD-YY hh:mm A 

‍

So dates will be formatted with 2 digits each, and the time will be displayed in 12-hour format with AM or PM. 

‍

‍

The function is complete.You can click OK to close the module, save your changes to the scenario, and test it again. 

‍

Now, when you check Slack, we should see the date is formatted correctly and is much easier to read. 

‍

‍

If you’d like to learn more about using any function in Make, you can just hover over it and read Make’s helpful tool tips. 

‍

You can also check out our post about using functions in Make for a step-by-step guide. 

Flow control, tools, and text parser

At the bottom of the scenario builder, you’ll also see these buttons: Flow control, tools, and transformers. 

Flow control will let you add different paths to your automation, or loop through sets of data. 

We have some posts about using certain flow control options like routers and repeaters. 

‍

‍

“Tools” are used to add custom variables, text, and more to your scenario. 

You’ll also see options that let you pause your automation for a set period of time, as well as switch functions for easily handling several different inputs. 

‍

‍

Text parser lets you use regular expressions or regex to parse text, or to extract elements from a web page. 

‍

‍

We won’t be using these in this beginner’s guide, but we encourage you to explore them on your own after getting started with Make. 

Make’s pricing plans

Now that you’ve tried out Make, you might be considering a paid subscription. You can see Make’s pricing page here for more information. 

‍

To give you the main takeaway for Make’s pricing compared to Zapier’s, Make is way, way cheaper, and generally better for more advanced low-code automation, even if it has fewer integrations. 

‍

Try it for free first to see if it’s a good fit for you or your company, then find a plan that works for you. 

Getting started with Make

Whether you’re new to automation or looking for an alternative to Zapier, Make is a great choice. Just do a quick search on XRay.Tools to see if your apps are supported, and start building. 

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

‍

‍

Understanding Automation
August 2, 2023
Zapier vs. Make: Comparing Two of the Top No-code Automation Apps

If you’re looking to build no-code or low-code automations, you have probably heard of Zapier and Make. 

However, you might not be sure which one is right for you or your team. To help you make that decision, we’re going to compare both of these prominent automation providers, so you can find out which is the best fit for you.

‍

We’re going to compare Zapier and Make (formerly Integromat) across three key categories: integrations with popular software, pricing plans, and ease-of-use for no-coders. 

We’ll also touch on some of the unique advanced features offered by both platforms, just to highlight some key differences that might be important for you and your organization. 

‍

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

‍

Integrations: Are 1,500 Apps Enough?

Let’s begin by taking a look at the available integrations for both providers. 

When you’re building an automated workflow, integration support is often the single most important factor to consider. 

If you’re a no-code builder looking to automate Shopify, for instance, then you need to use a provider that supports Shopify. And if you anticipate automating with dozens of different apps, you’ll probably want to find a provider that offers support for all of them. 

Otherwise, you won’t be able to build the automations at all – at least, not without writing some code for an API call.  

Zapier: integrations for nearly every app you’ve ever used

When it comes to the sheer number of available integrations, Zapier easily beats all of the competition, including Make. 

‍

Currently, Zapier boasts over 5,000 available integrations on their website. If you’re using a commercially available web app, chances are that Zapier has an integration for it. 

‍

Zapier has over 5,000 integrations

‍

Make: support for over 1,500 popular apps

That said, Make’s list of integrations is still quite extensive. According to their website, Make currently supports about 1,500 web apps. 

‍

Make has over 1,500 integrations for popular web apps

‍

While that number is a lot smaller than Zapier’s gargantuan total, there’s still a very good chance that Make supports the apps you want to use. 

Like Zapier, Make supports Google Drive, Microsoft Teams, Slack, Airtable, Notion, Shopify, Quickbooks, Hubspot, Wordpress, and many, many more apps that you probably use every day. 

Which provider supports your apps?

Ultimately, the most important question isn’t necessarily “which provider has more integrations?”

It’s “which provider has integrations for the apps you want to automate?”

‍

As a workflow automation consultancy, that’s a question that we have to help our clients answer a lot. 

To skip the trouble of sifting through lists of thousands of apps, we built a simple search engine to quickly find out which automation providers support which apps. 

‍

Just go to www.xray.tools and search for the apps you want to use. Immediately, you’ll see which automation providers support your apps, like Zapier, Make, Bardeen, or Workato.

‍

compare automation providers on XRay.Tools

‍

Then, you can click for more detail about the specific triggers, actions, and searches offered by each platform in one convenient view. 

‍

Use XRay.Tools to discover every action you can automate in your software

 

In many cases, you’ll find that both Zapier and Make have integrations for all of the apps you already use. In that situation, you’ll likely want to dive a bit deeper and compare what you can actually do with those integrations. 

The available options will usually be pretty similar, but it’s not uncommon for either Zapier or Make to offer a specific action that the other is missing. 

For instance, Zapier never includes a “delete” action within its integrations. If you want to automatically delete items with a no-code automation, you’ll need to use Make. 

‍

Compare each provider's unique capabilities on XRay.Tools.

‍

There are a lot of different capabilities offered by each provider, so it’s always a good idea to check XRay.Tools to see what they can do. 

Ultimately, if you want an automation provider that supports virtually every web app out there, then Zapier is your pick. However, you should definitely check XRay.Tools before making a decision. 

Pricing: Finding the most affordable automation platform

Next, let’s look at Zapier and Make’s pricing. 

Both apps offer several different pricing plans and add-ons, but there’s a pretty clear winner in terms of affordability. 

In the vast majority of circumstances, Make will be a significantly cheaper choice than Zapier. You can review Zapier’s pricing page here, or take a look at Make’s pricing overview, but we’ll give you some key takeaways for both. 

Zapier: Premium pricing for the biggest name in automation

Zapier’s paid plans range from $30 a month for the starter plan up to nearly $150 a month for the Company plan. 

Zapier's basic pricing plans range from $30 to $150 each month

Note that all these plans set a limit on the number of tasks you can use each month.  

Understanding tasks in Zapier

In Zapier, a “task” is consumed when any trigger, action, or search runs. 

For instance, a Zap that consists of one trigger watching a Google drive folder and one action that sends an Email would consume two tasks whenever it runs completely. 

‍

A Zap with one trigger and one action consumes two tasks when it runs

‍

However, when the automation trigger checks periodically for new files in the folder, these actions won’t consume any tasks unless Zapier finds a new file and runs the whole automation.  

If you’re running out of tasks each month, you can also add more tasks to your plans for an additional monthly charge. 

Zapier pricing breakdown

In general, higher tiers in Zapier include support for more automations, more features, and more tasks. 

The starter plan can be a good option for Zapier beginners, but it has a lot of limitations. It only includes 750 tasks each month, or 1,500 for an additional charge of $30 each month. 

You’re also limited to using just 3 “premium” integrations in your Zaps. Many of Zapier’s most popular and useful apps are considered “premium”, such as Shopify, Quickbooks, and Webhooks. 

‍

Many of Zapier's most popular apps are "premium", and only available at higher tiers

‍

Individual builders looking to create robust workflows that support their daily work will probably want to consider the Pro plan, which starts at about $73 per month and includes unlimited premium apps. 

Organizations seeking to connect their whole team with automation will need to check out the Team and Company plan, which start at about $100 and $150 each month, respectively. 

These plans let you create as many Zaps as you’d like, and offer several features for permissions and collaborating with your team. 

Zapier’s limited free plan

There is also a free plan, but to be honest, this is little more than a demo. 

It’s worth checking out if you’re exploring Zapier for the first time, but you can’t really do anything practical with it. 

You’re limited to using single-step Zaps, and can only have 5 Zaps active at one time.

Note that if you’re using the free plan, you will be able to build multi-step Zaps with all of Zapier’s premium features, but you won’t be able to turn the Zap on unless you upgrade to an appropriate paid tier.  

As the biggest game in town, Zapier charges a premium for their product. But if your Zaps help you to save just a few hours each month, then even $150 a month is well worth it. 

Make: affordable low-code automation

Now let’s see how Make’s pricing stacks up to Zapier’s. 

‍

Make's pricing is much cheaper than Zapier's, and starts at less than $11/mo.

‍

Base plans range from about $10 a month for “Core” up to about $34 a month for “Teams”. Enterprise organizations will need to contact Make’s sales teams for a quote.

Any of these plans can be augmented with additional operations each month for an extra fee. 

Build basic automations with a no-frills free plan in Make

Much like Zapier, you’ll also see a free plan here, but it’s a bit more useful than what Zapier offers. 

Your scenarios can only run every 15 minutes, you don’t have access to premium enterprise apps, and you’ll be missing a lot of Make’s more advanced features like custom variables that you can use in any automation. 

However, it’s more than enough to try out Make and see how it really works before whipping out your credit card. 

Operations and data limits in Make

Much like Zapier, more expensive plans offer more features and more automation runs. 

In Make, your plans are limited to a set number of “operations” each month, which is essentially the same thing as a “task” in Zapier. 

However, in Make, automations consume operations when they watch for new data, even if they don’t actually find any. 

You’ll also be limited in how much data you can process with your automations. For every 10k operations in your plan, you can transfer 5GB of data. Zapier, on the other hand, doesn’t even measure your data usage.

‍

Make sets a monthly limit on operations and data used.

‍

You can see more info about data usage on the Make’s Pricing Parameters page in the Resources board. 

Which Make plan is right for you?

Serious no-code and low-code builders will probably want to use Pro in the long run, but even Core includes most of the key features you’ll need to use Make as a solo builder. 

Organizations will want to use a Teams or Enterprise plan to be able to assign different roles and permissions to their employees. 

Automating on a budget? Try Make. 

Ultimately, Make’s plans are about a third of the cost of comparable Zapier plans, and their lower tiers have fewer restrictions. 

Plus, with in-line functions instead of separate “formatter” steps, an automation in Make will probably use fewer operations than a similar automation in Zapier. 

If you’re looking to automate your workflows on a tight budget, Make will be the better choice – as long as it supports the apps you want to automate. 

‍

Ease of use for no-code builders

Now, let’s take a look at the user experience for both apps, and how well they work as “no-code” apps. 

Both are no-code automation platforms, but do they live up to that claim? Are they reasonably easy to use for people without coding experience?

In both cases, the short answer is “yes”, but there are some caveats.

We’ll dive into the specifics in a moment, but in general, beginners will likely find Zapier easier to use while more experienced users may gravitate toward Make. 

Zapier: a simple, intuitive interface for builders at any level

Let’s start by taking a look at Zapier. 

Zapier features a very simple interface designed for building linear automations one step at a time. 

All you have to do is choose the apps and actions you want to use, and fill out fields in a form-like UI for each action, search, or trigger. 

‍

Zapier offers a simple, linear interface for building automations.

‍

Zapier typically provides clear, concise explanations of the data you need to provide for each field. 

‍

Build Zaps by entering data into simple forms.

‍

For the vast majority of automated actions in Zapier, you won’t have to write a single line of code. 

If you want to use some more advanced features like Webhooks, some familiarity with coding syntax and principles will be needed, but most Zaps won’t require code at all. 

‍

Some actions in Zapier may require more technical knowledge, like webhooks

‍

If you’re generally comfortable using modern web apps for work, then Zapier shouldn’t pose much of a challenge once you’ve picked up the basic concepts. If you’re looking for some help to start quickly building your own Zaps, you can check out our Beginner’s Guide to Zapier. 

The limits of a simple, linear layout

However, Zapier’s focus on simplicity can become an issue at times. When building automations for your company, you’ll often need to accommodate several different possible inputs with different options or paths. 

If you add paths to your Zaps to perform different actions for different circumstances, the path will be nested within another module. Adding another path will add another nested module, which will be completely invisible until you select the first path. 

‍

Zapier's simple layout makes it difficult to view branching paths in automations

‍

At first glance, there’s no way to tell that an automation even contains nested paths; all you’ll see is a single “paths” module, making it difficult for your team to understand each other’s work. 

‍

Paths within paths aren't visible from the main view of the automation

‍

Additionally, Zapier’s error messages are often vague and unhelpful. When something isn’t working as planned, you’ll often have to turn to basic troubleshooting through trial and error, or post on the Zapier forums for help. 

‍

Example Zapier error message: "The app did not respond in-time. It may or may not have completed successfully".

‍

Overall, Zapier is very easy to use and doesn’t require any coding knowledge. 

However, it can be overly simplistic for builders who want to create more advanced automations with several branching paths. 

Easily build sophisticated automations in Make

In contrast to Zapier’s linear forms, Make lets you build automated scenarios with an interface that looks more like a flowchart. 

You can add modules anywhere in the building space, and click and drag to move them. 

‍

Make uses a flowchart-like

‍

Moving and rearranging your modules becomes particularly important when you start using conditional logic to add several different paths to your automations. 

‍

Make's layout is ideal for complicated automations with branching paths.

‍

With this flowchart layout, it’s much easier to understand how a complex automation works at a glance than with Zapier’s UI. 

Edit each module with a simple form

When you open any module in Make, you’ll see a form layout that’s pretty similar to what Zapier employs. 

‍

Each module in Make can be configured with a simple form

‍

However, Make will often use somewhat more technical language.

You definitely don’t need to be a software engineer to understand it, but you’ll be seeing terms like “array”, “string”, and “variable” pretty frequently. 

‍

Make frequently uses some basic coding terms, like array, string, and variable

‍

It mostly only touches on some rudimentary concepts, but it helps to have a little familiarity with coding when you’re using Make.

If you’re looking for some resources to help you get started with Make, be sure to check out our beginner’s guide. 

Working with spreadsheet-like functions

You’ll also see that functions for working with numbers, text, and dates are formatted like the equations you might use in spreadsheet apps. 

‍

Make includes optional functions similar to spreadsheet functions, such as "capitalize()"

‍

They’re not quite as plug-and-play as a Zapier Formatter step, where every single piece of data gets its own field. However, they’re still quite accessible for no-code builders.

Make includes helpful tooltips for every function, and you can check out this post on our blog for more info about getting started with Make functions. 

Two options for a comfortable user experience

Ultimately, both Zapier and Make are pretty easy to use for no-code builders. 

More advanced builders, particularly those who want to dabble with low-code, will  gravitate towards Make. 

On the other hand, no-code automation beginners will likely prefer Zapier’s simple, linear setup. 

In the end, it’s really up to you and your preferences. Both are equally reliable, being built on AWS, so it’s just a matter of your experience and opinion. 

‍

Advanced and specialized features

Finally,  take a look at some of the more advanced or specialized features that each app offers. 

Many of these features are used in relatively niche use cases, and often won’t have an equivalent in the other app. 

If you’re still not sure which platform is the better fit for you, reviewing the unique features included in each might help you to make a choice. 

Share automations and build chatbots with Zapier interfaces

To start, let’s take a peek at Zapier’s new “Interfaces” feature. 

Recently, Zapier has been expanding their platform beyond simply building automations, and is now creating tools to let builders easily share their Zaps with team members and clients. 

‍

Share automations, links and more with Zapier interfaces.

‍

A Zapier interface is a simple web page created using a drag-and-drop page builder. Every page can include forms and buttons that trigger automations, links to other pages, and even a new AI chatbot component. 

‍

Build no-code chatbots in Zapier interfaces

‍

If you’d like to learn more about using Zapier interfaces, you can check out our tutorial for creating a custom chatbot with Zapier here. 

‍

Interfaces are an appealing feature for anyone looking to build and deliver their automations on a single platform. They are still in beta, so expect to see lots of updates to Interfaces in the coming months. 

Zapier’s plugin for ChatGPT: Trigger automations with a prompt

While we’re on the subject of AI, Zapier also has a plugin for OpenAI’s ChatGPT. 

With this plugin, you can run automated actions in Zapier by simply sending a prompt to ChatGPT. 

‍

Zapier's plugin for ChatGPT performs automated actions based on your prompts

‍

The plugin is still in beta, and there are a lot of kinks to work out, but it has some really exciting potential to change the way we approach automation. 

Low-code support: Easily manage webhooks and keys in Make

Where Zapier has a lot of interesting standalone tools like the ones we’ve mentioned above, Make’s unique features are more focused on building advanced automated workflows. 

‍

Make offers extensive support for using API calls and webhooks in your automations. 

‍

For instance, you can create secret keys to manage your application credentials and easily make calls from different accounts. 

‍

Make’s webhooks manager also makes it simple to keep track of all the webhooks you’ve created, and lets you view, update or delete your webhooks in a single location. 

‍

Make lets you activate, edit, or delete your webhooks all in one spot

‍

If you’re a low-code builder relying on API calls and webhooks to create your automations, Make will give you far more resources for generating and managing them. 

‍

This is just scratching the surface of the unique features offered by both applications, but they should give you a general sense of what each provider prioritizes, and the kind of features you can expect from both. 

Choose the right provider for you and your team

At the end of the day, there’s no one definitive winner between these two apps. Your choice will ultimately depend a lot on your circumstances and preferences. 

But after building thousands of automations in both platforms as a team, we can tell you there is such a thing as the right tool for the job. 

‍

If you’re looking for a very simple, no-code building experience or tons of integrations, then Zapier’s probably the better pick. 

‍

On the other hand, if you need a budget friendly solution or a tool with great support for  low-code automation techniques, Make is your best bet. 

‍

Ultimately, with free plans available on both platforms, you can give them both a whirl before deciding for yourself. 

‍

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

‍

Understanding Automation
July 26, 2023
API Price Hikes: A New Challenge for No-code Automation?

Recently, major apps like Twitter and Reddit have made drastic changes to their APIs. 

While they previously offered access to third-party developers and other users for free or a very low cost, they’ve chosen to hike rates dramatically in recent months. 

In this post, we’re going to explore how AI may be responsible for these changes, and we’ll explain how the shifting landscape of API access will have a direct impact on no-code/low-code builders. 

Understanding APIs and new policy changes

First, if you’re not aware of events we’re referencing, or just aren’t sure of the details, we’ll give you a quick recap and some background information.

What is an API?

An API, or application programming interface, is a software interface that developers use to let their applications interact with applications built by other companies. 

If you wanted to include data directly from an app like Twitter in your own application, you would need to use Twitter’s API to request that data. 

Twitter and Reddit’s API price hikes

Back in March, Twitter announced a new pricing plan for its API. 

Under this new plan, anyone using the API to post more than 1,500 tweets per month will either need to subscribe to the $100/mo “Hobbyist” tier, or shell out a five-figure sum for the Enterprise plan. 

‍

Similarly, in June, Reddit announced a new API pricing scheme that charges $12,000 per 50 million requests, resulting in millions of dollars in API fees each year for the most popular third-party Reddit apps. 

Many of these apps, such as Apollo and RIF have shut down after the API changes took effect on July 1st. 

‍

So why have companies like Reddit and Twitter decided to raise their API prices so drastically? And why did they offer free or cheap access in the past?

The traditional benefits of cheap API access

Ultimately, offering easy access to your API has long been seen as a great way to get more people using your app - even if they’re using it indirectly through some third party. 

‍

Remember the phrase “Web 2.0”? You probably haven’t heard that one in a while. One of the key defining features of “Web 2.0” was the idea that all apps would have a high degree of connectivity and interoperability, enabled in part by easily accessible APIs. 

For instance, using Twitter as an example, everything from simple “Tweet this” widgets or embedded Twitter feeds would use Twitter’s API. 

This always cost Twitter some money, but in the past, they were happy to shoulder that burden, since it meant more eyeballs on their platform. 

‍

So what changed?

‍

There isn’t one single answer, and Twitter’s financial situation and new ownership are certainly critical factors - both of which have been discussed at length elsewhere. 

Meanwhile, Reddit is gearing up for an IPO, and is eager to show potential investors that their business model can be profitable. 

Raising API charges will directly bring in more revenue for a company that’s never shown a profit. 

Additionally, as third-party Reddit apps shut down, more users will be funneled to Reddit’s official app, where they can earn more revenue from ads. 

‍

But while these factors are certainly an important part of each company’s strategy, one often overlooked aspect that I want to highlight here is the rise of AI. 

How AI made web data more valuable

At this point, you’ve seen what AI language models can do. Apps like ChatGPT can provide shockingly good answers to nearly any prompt. 

And it goes far beyond simple questions and answers. Consumer AI can compose essays, blog posts, poems, and even some halfway decent code. 

‍

But AI isn’t able to generate all of this out of thin air. AI models have been trained on massive amounts of data from around the internet for years. 

To be able to generate convincing language, AI language models had to learn how we, as people, write and express ourselves. 

‍

The largest and most diverse source of data for written language is, of course, the internet. 

And the best way to process billions upon billions of Tweets, Reddit posts, Tumblr blogs and more is to use each app’s respective API. 

‍

By using the API, AI developers and researchers could systematically scrape publicly accessible data much more efficiently. And all of that data would be structured neatly and consistently for their software and team to process. 

‍

Charging AI tools for data access

With expertly trained models now making waves in every space from the Healthcare sector to Hollywood, AI is now a multi-billion dollar industry. 

The data that apps like Reddit and Twitter generate is more valuable than ever, but because of their API pricing, they weren’t getting any real compensation for that data. 

‍

And the AI models aren’t embedding or linking to other platforms the way that we would normally see with traditional API usage. 

In other words, ChatGPT doesn’t tell users that a given answer was “inspired by Twitter” or anything like that. 

‍

Twitter and Reddit aren’t getting more people on their platforms from AI apps in exchange for the API usage. 

So to recoup their costs, and to try to make some money from the emerging AI industry, Reddit and Twitter are now asking for higher fees to access their API. 

How higher API rates will impact low-code automation

So how is this going to affect those of us who build apps and automated workflows with no-code tools?

‍

Ultimately, “no-code” tools are only no-code on the user’s side of things. Behind the scenes, platforms like Zapier and Make rely on APIs to access all of the apps that they have integrations for.

With API access often being free or cheap, automation platforms can, in turn, keep their prices reasonably low as well. 

But if more apps start to charge higher rates for their APIs to make some money off of AI data-scraping, then automation platforms will have to raise their rates to keep up. 

‍

Why Twitter is now a “premium” app in Make

This isn’t just a hypothetical. You can already see some consequences of Twitter’s new rates. On Make’s pricing page, they indicate that only paid plans can access their “premium” apps. 

‍

Make’s premium apps consist of a variety of enterprise-grade tools, and just one consumer app to date: Twitter. 

If Make’s users started automating with Twitter for free through their platform, Make would lose money as they foot the bill for Twitter’s API charges. 

‍

Will other platforms raise their API rates as well?

For now, we’re not seeing a lot of other apps follow suit, but it may just be a matter of time. 

We expect to see Stackoverflow and other vibrant communities make similar changes in time. 

‍

Hopefully, they’ll approach the price hikes in a more reasonable or incremental way, such as by targeting the AI companies exclusively instead of saddling all API users with huge charges. 

‍

In the end though, we may be stuck paying much higher prices pretty soon, and automators certainly won’t be the only people impacted. 

Accessibility concerns

Apps and utilities focused on enhancing accessibility were some of the first to sound the alarm when Reddit and Twitter began imposing new API limits. 

Many accessibility features rely on being able to access application data through an API and not just through a visual interface. 

‍

The companies have carved out some exceptions for accessibility-oriented apps, but the developers and the community remain concerned about what may happen in the future. 

‍

Don’t wait to start automating your work

For the time being, builders like our team at XRay can keep using Zapier, Make, Workato, Airtable and other no-code tools just like we always have. 

But in the future, these tools could start to become more expensive. If there’s something you want to automate, waiting could be costly. It’s best to start building now. 

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

‍

Tutorial
July 19, 2023
How to Use Zapier’s Plugin for ChatGPT

ChatGPT is quickly becoming an indispensable tool at work. Whether you need help brainstorming new ideas, want to edit the style and tone of a piece of writing, or just need to quickly draft some social media posts, AI chatbots are rapidly becoming a go-to resource for busy knowledge workers. 

And all you need to do is give ChatGPT a good question or prompt to get started.

‍

But what if an AI assistant could handle the entire task with a prompt alone? With the new Zapier plugin for ChatGPT, we’re closer to that future than ever.

In this post, we’ll show you how to use Zapier’s ChatGPT plugin step by step, and explore some of the early possibilities with this beta feature. 

‍

Let’s get started. 

Overview

First, we’ll give you a brief demo of the Zapier ChatGPT plugin, and a quick overview of how it works. 

Then, we’ll take a closer look at every step of the process. 

‍

1. First, sign up for Zapier and ChatGPT Plus. A free ChatGPT account won’t work. 

2. In your ChatGPT settings, enable plugins. 

3. Click on the “no plugins enabled” message to open the plugin store and add the Zapier plugin. 

4. Authorize ChatGPT to access your Zapier account. 

5. Create an automated action you want to trigger with a prompt.

6. Enable the action. Return to ChatGPT and ensure that the Zapier plugin is enabled. 

7. Send a relevant prompt to ChatGPT. You’ll need to check its work and approve each step before it runs.  

‍

That’s how the Zapier’s plugin for ChatGPT works in a nutshell. Note that you can create several Zapier actions. ChatGPT will choose which to use based on the prompt that you’ve entered. 

Limitations of the Zapier beta plugin

Next, we’ll explain each of these steps in more detail, but first, we just want to note that this plugin is still in an early beta.

In its current state, it’s a very interesting piece of tech with a ton of potential, but for now, it has some pretty limited use cases in the real world. 

Ultimately, all of the actions that you can perform with the plugin can also be performed with normal Zapier automations. 

No brand-new capabilities 

Language models like ChatGPT generally can’t execute actions beyond generating and formatting text. With this plugin, ChatGPT is relying entirely on Zapier to automate tasks in your other apps. 

‍

As such, this plugin doesn’t really give you access to any new abilities yet; just a different way to access the same abilities. In most cases, you’ll be able to build more reliable and scalable automations with traditional Zaps. 

This is particularly true if you’re building for an entire team, and not just for personal use. 

Potential for growth

However, the plugin still represents a lot of exciting possibilities. If you’re a builder, or if you lead your own automation agency, it’s definitely worth checking out. 

It’s only a beginning, but it’s easy to see how this could become the basis for a fully-fledged virtual assistant powered by AI. Getting an early peek at this kind of development is well worth it if you’re already using ChatGPT Plus. 

‍

And if there are any tasks that you’re already relying on ChatGPT for every day, like drafting messages or summarizing long pieces of text, you may find that the Zapier plugin offers a more convenient workflow for you. 

With all of that mind, let’s dive in and take a closer look at each step of setting up and using the plugin.  

Setting up your accounts and installing the Zapier plugin

Sign up for ChatGPT Plus

NOTE: you may see some “Browse with Bing” features in our screenshots. Since we created this tutorial, OpenAI has indefinitely disabled the Browse with Bing feature. It’s not necessary for any of these tutorial steps; it was simply located within the same plugin menu area. 

‍

First, you’ll need to have a Zapier account and a ChatGPT Plus subscription. Unfortunately, a free ChatGPT account won’t work.  

The ChatGPT Plus plan will grant you access to beta features, such as this plugin. It also gives you access to the GPT4 model. GPT4 is a more advanced language model compared to 3 or 3.5, and delivers much more creative and convincing responses. 

‍

However, it does tend to be a bit slower, and OpenAI will limit you to 25 GPT4 messages every 3 hours. 

‍

If you don’t have a ChatGPT plus account, go to chat.openai.com, and click on “Upgrade to Plus” in the bottom left of the screen. 

‍

‍

You’ll then see pricing and feature details for ChatGPT Plus. All of the specifics are subject to change, but currently, it costs $20/mo. 

‍

‍

Once you’ve upgraded your account, go back to chat.openai.com, and start a new chat. You should now have the option to select ChatGPT4 as your language model. 

‍

When you mouse over GPT4, a dropdown menu will appear with a couple of options: Default and Plugins [Beta]. 

‍

‍

If you don’t see these options, you’ll just need to quickly adjust a setting. Click on your account in the bottom left and select “settings”. 

‍

‍

Select “Beta Features”, and enable plugins. 

‍

‍

Then return to the chat and hover over GPT4 again. Click on “plugins” to allow ChatGPT to incorporate plugins like Zapier into its responses. 

‍

‍

At the top of your chat window, you’ll see a message that either shows your currently selected plugin, or will say “No plugins enabled” if you haven’t added any plugins yet. Click on this message, then choose “Plugin store”. 

‍

‍

Search for Zapier, or select it from the list if it appears as a featured result. 

‍

‍

Then, log in to your Zapier account if you aren’t already signed in, and authorize it to connect to your ChatGPT account.

‍

 

The plugin will then immediately take you to an “actions” screen. This is where you’ll see any Zapier actions that you’ve created for ChatGPT to use. You can also use this page to create new actions, or edit and delete your existing actions. 

‍

Add an action to the Zapier plugin

Let’s create a new action so we can set up a task for ChatGPT and Zapier to perform. This action page that Zapier opens up is currently the only place you can manage your actions. 

‍

There’s no menu item for it yet in Zapier’s main app. If you need to find the page again later, just go to https://nla.zapier.com/openai/actions

Search for your app and action

From the actions screen, click on “Add a new action”. Then, you’ll need to search for the automated action that you want Zapier to set up for ChatGPT. 

This is a little different from your typical Zap setup. Instead of picking an app and then picking an action, you’ll have to search for both at once. 

‍

In our example, we’ll set up a simple action that lets ChatGPT send emails through a Gmail account. We’ll search for “Gmail: send email”, and select the appropriate action once it appears in the results. 

‍

‍

Configure your action: set specific values, or let the AI guess

Once you choose the action you want to use, you’ll need to configure it. 

Zapier will display a small selection of the most important options for configuring the action, but you can click on “Show all options” to see the rest.

‍

‍

For every field, you’ll essentially have the option of providing a preconfigured piece of data or letting AI guess what to use. 

‍

How you fill in these fields will depend largely on the action you want to set up. You’ll need to consider the scope of what you want to do with the Zapier plugin. 

‍

For instance, if we want to set up an action to always send emails to the same recipient, we could provide that recipient’s address in the “To” field. 

‍

‍

But if I want to be able to ask ChatGPT to send emails to anyone, it’s better to let AI guess what contents to use for the “To” field. 

‍

‍

You can also choose to not include a value for each field if you want to ensure that ChatGPT always leaves it blank. 

‍

We’d recommend trying out a few different settings to see what works best for your scenario. While the plugin is in beta, any tasks it uses won’t count against your total in Zapier, so you should feel free to experiment. 

However, the messages will still count against your 3-hour message limit in ChatGPT. 

‍

For now, we’ll stick with a simple setup. we’ll just connect our GMail account, and let AI guess for all of the rest of the values. 

‍

‍

That way, we can use the prompt to tell ChatGPT who to send the email to, who to CC, and what the content should be. 

‍

To finish setting up an action, just click on “Enable action”. If you want to edit or delete any of your actions, just return to the actions page. 

‍

Send a prompt in ChatGPT to trigger your action

Now that we have an action enabled, let’s send a prompt and try it out. 

First, make sure that you’re using ChatGPT4 with plugins enabled, and that the Zapier plugin is selected. 

‍

‍

Then, send a message that’s relevant to the action you’ve configured. For example, we’ll send a prompt that says:

‍

“Send an email to xraytutorials@gmail.com. Ask XRay to schedule a meeting next week to discuss our next Zapier tutorial. The tone of the email should be professional and friendly.” 

‍

Now, ChatGPT will start processing its response. It can take a few seconds for it to get going, and you’ll see this message about using Zapier at least once. 

‍

‍

Wait a few moments for ChatGPT to finish composing its response. The exact text will vary, but if you’ve asked it to perform an action that you’ve configured, it should tell you that it prepared the action with Zapier, but you need to review its output and confirm it first. 

‍

‍

Click on the link that ChatGPT provides and check its work. You can edit any of its choices, and click on “Run” once you’ve determined it’s ready to execute. 

‍

‍

This message looks good, so we’ll click on “run” without editing anything.

‍

‍

When we check the XRay Content inbox, we can see the email that Zapier and ChatGPT just sent. 

‍

‍

Asking GPT to create a Zap for you

In many cases, ChatGPT will offer to set up an automation in Zapier to automate the task in the future. Unfortunately, this isn’t quite as useful as it sounds.

‍

While the Zapier plugin for ChatGPT can actually create a new Zap for you, it typically won’t be able to reliably configure the steps. 

‍

We’ll ask Zapier to create an automation just as it offered to. We’ll specify that it should be scheduled to run every Monday at 3:05PM. 

‍

‍

ChatGPT tells us it’s created a Zap that matches our parameters. We’ll click on the link it gave us to check it out. 

‍

‍

As we can see, the automation isn’t actually scheduled; the title has just been edited. No other settings have been configured. 

‍

‍

As in these examples, you’ll usually need to fill in all of the fields, and fix any errors it made in the setup. 

‍

Hopefully, Zapier will continue expanding this plugin. It would be awesome to build Zaps entirely with natural language prompts. 

But for now, it can really only create basic placeholder Zaps. 

Sending prompts for multiple actions

That covers all the basics of using the Zapier plugin in ChatGPT, but before we wrap up this tutorial, we just want to show you one more thing.

‍

We’ve already seen how the plugin handles a single action and prompt, but you can also set up several actions and have ChatGPT draw on all of them as needed.

‍

Let’s see what that looks like in practice.

‍

We’ll quickly create two additional actions: one to find files in our Google Drive account, and another to send direct messages to a Slack channel.

‍

‍

Then, we’ll ask ChatGPT to search for a file containing this text: “GPT Plugin Test”. 

‍

‍

Just as before, we’ll have to click on the link and confirm the operation. 

‍

‍

‍

Since this action is a search, we’ll also have to manually send a message confirming that GPT should run the action. Once we do, it finds a few files that match our search term. 

‍

‍

Now we’ll ask it to send those files’ URLs in Slack. 

‍

‍

Once again, we’ll need to confirm the action.

‍

‍

And now we’ve got the links in Slack. 

‍

‍

With all of the required approvals, the process doesn’t necessarily save that much time, but it does prevent needing to open up several different apps to perform the task. 

Setting up several different actions will definitely make your Zapier plugin in ChatGPT much more useful. 

Unlocking new possibilities with AI and automation

Exciting new AI tools and use cases are emerging every day. New options like the Zapier plugin for ChatGPT are still in the early days of development, but they hold tremendous potential. 

It might be a bit clunky today, but with a plugin like this, we’re seeing the beginnings of a legitime virtual AI assistant that can find files, send messages, and perform all sorts of productive tasks. Check it out today to see what’s possible. 

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

Tutorial
July 12, 2023
How to Use “Repeating Groups” in Airtable Automations

Airtable automations let you get more out of your data, turning tables and spreadsheets into launchpads for automated workflows.

A recent update to Airtable automations has introduced a simple but extremely useful feature. 

In this post, we’re going to show you how to use the “Repeating Groups” function in Airtable automations, and we’ll give you a couple of detailed examples so you can follow along and see it in action. 

Let’s get into it. 

Overview

First, we’ll give you a quick overview of how it works. Then, we’ll walk you through the process in more detail. 

‍

1. Create an automation in Airtable. Use any trigger you want. 

2. With your trigger or another step, retrieve a piece of data that you can use as a list. This can be a linked record, a multiple select field, or a set of records found with a search. 

To begin, create an automation in Airtable. You can use any trigger you’d like. 

3. Add an action, and choose “Repeating Group” under “Advanced Logic”. 

4. Connect the Repeating Group to the list you want to use. 

5. Finally, add any actions that you want the automation to repeat for every item in the list.

‍

Whether your list has 1, 50, or 1,000 items, the actions you add to a repeating group will repeat for every single one of them. This is a great way to build flexible automations that can accommodate a variable number of items. 

Limitations of repeating groups

Just note that you can’t add any individual actions after a repeating group. Any action that you want the automation to only perform once needs to go before the repeating group. 

‍

You also can’t include a conditional logic module in the same Airtable automation as a repeating group.This will hopefully change in the future as Airtable continues to update their automations, but you should be aware of the limitation for now. 

‍

Now let’s dive deeper into repeating groups with a detailed walkthrough and a couple of example automations. 

‍

Our first example will explore how you can use repeating groups with linked record field or multiple select fields. The second example will demonstrate how you can use several records returned by a search action in a repeating group. 

Example Automation: looping through every item in a linked record

For our first and main example, we’re going to build an automation to alert users whenever they’ve been assigned a new task from our task management system. 

‍

In this “Team Tasks” table pictured below, users are assigned to tasks with a linked record, and more than one person can be assigned to the same task. 

‍

‍

The automation will run whenever a new task is submitted through the table’s form view, and, using the repeating groups feature, will send a separate Slack alert to each person on the task.

‍

‍

In the automation you’re building, make sure you have a linked record or multiple select field that you can use in the same way that we’re using the “Assignee” field in our example. 

Configuring the automation trigger

To get started, create a new automation. 

‍

You can choose any trigger you want. In our example, we’ll use a “When a form is submitted” trigger. We’ll select “Team Tasks” as the table we want the automation to watch, and “Task Form” as the form. 

‍

‍

Test the step to make sure the automation can successfully retrieve a record. 

‍

‍

Ideally, you should choose a record that has multiple items in your linked record or multiple select field.

It’s not strictly necessary, as a repeating group will work with any linked record or multi-select field, even if it only has one item. 

However, it will be easier to confirm that the automation has run correctly if you test it with multiple items instead of just one. 

‍

With that in mind, we’ll choose a task with more than one assignee. 

‍

If your trigger test was successful, your automation should have retrieved a record with a linked record field that you can use as a list. 

‍

Adding a “repeating group” step

Once your trigger is all set, you can add the “repeating group” function to your automation. 

Click on “Add advanced logic or action”. 

‍

Select “Repeating Group” under the “Advanced Logic” section at the top of the list. 

‍

‍

Next, you’ll need to choose the list that the automation should use. Click on the “Select input list” button. 

‍

‍

A “use data from
” window will pop up, letting you select a list from data retrieved earlier in the automation. Since the only earlier step in this automation is the trigger, that’s the only step we see here on the left. 

‍

On the right, you’ll see the fields retrieved in that step. Most of them are grayed out and can’t be selected, since these field types can’t contain lists. 

‍

‍

In our example, our only choices are “Department”, which is a multi-select field, and “Assignee”, which is a linked record field. We’ll select “Assignee”. 

‍

Once you’ve picked the field you want to use as a list, click on “Test input list”. The test should successfully retrieve a list, and you should see 2 or more items enumerated in the list. 

‍

‍

When you click on any of these numbered items, you can see more detail about it. In this case, since we’re using a linked record field, we can see the record ID and the record’s name. 

‍

Adding actions to your repeating group

‍

If your test looks good, then you can add an action to your repeating group. You can add any action that you’d like to a repeating group; just remember that it will run for every item in the list. 

‍

For our example, we want to send a Slack alert to each assignee, so we’ll select Slack and pick a “Send message” action.

‍

Now, you can configure your action like any other automated action in Airtable. We’ll choose our Slack account, and compose a message, using a mix of static and dynamic data. 

‍

Our message will start with some static text: “Hello, you’ve just been assigned a new task.” Then, we’ll insert data from the trigger to include the task title and a link where the user can view the task. 

‍

‍

We’ll also insert data from the current item in the repeating group to add the user’s name. 

‍

‍

Then, we’ll finish configuring this step by adding a name and an icon for the bot. 

‍

‍

Once you’ve configured your action to your liking, you can generate a preview to see what its output will look like. 

‍

‍

However, the preview will only show a sample for the first item in your list. Unfortunately, you also can’t use the “test automation” function for any automation that includes a repeating group. 

‍

Instead, you’ll have to run a quick live test. 

Testing your repeating group and actions

Turn the automation on, then perform whatever event is necessary to trigger your automation. 

For our example, we’ll add a new task with the “task creator” form, and we’ll be sure to add two assignees. 

‍

‍

After we submit the new task and trigger the automation, we can see two automated Slack messages in the #tutorials channel. Each one is addressed to a different user. 

‍

‍

If this were a real automation, we would want to send a DM to each user individually. But by just including the names, we can confirm that the repeating group processed each item individually. 

‍

That covers everything you need to know about using repeating groups with Linked Records or Multi-select fields. Let’s wrap up this tutorial with a quick look at using a list of records from a search instead. 

Example automation: looping through search results

Since we already covered the nuts and bolts of building an automation with a repeating group, we won’t repeat all of that detail again.

Instead, let’s just look at how you can add a search step to your automation to find records, and use the search results as a list. 

‍

From there, the automation will work in exactly the same way. 

Adding a search to your automation

Expanding on our task alert example, let’s say we want to send a message to the whole team every Monday at 9:15 AM alerting them of all the tasks that are incomplete and marked “urgent”. 

‍

We’ve already set up this trigger for an automation that will run every Monday at 9:15. Once again, you can use any trigger you’d like. 

‍

‍

Next, add a “find records” step and search for any records that match the conditions you’d like to search for. 

In our example, we’ll search for any tasks that are marked “High” priority and not marked “Done”. 

‍

‍

Once your search step is configured, test the action, and you should see a list of matching records. 

‍

‍

If your search was successful, add a repeating group action. Then, click on “Select input list” and use your search results as a list. 

‍

‍

Finally, you can add any actions that you want to repeat for each item in your list. In our example, we’ll create a similar Slack message and finish building the automation. 

‍

‍

Once again, you’ll need to run a live test to confirm that everything worked. In this case, since this is a scheduled automation, we’ll just change the scheduled time to be a couple minutes from now, turn our automation on
 

‍

‍


and right on time, we get a Slack message for every incomplete and urgent task. 

Build more reliable, flexible automations with repeating groups

Even in the world of no-code, iterating is an essential function for ensuring that our automations are flexible enough to handle variable data. After all, automations that can’t respond to real-world circumstances simply won’t be useful for anyone. 

Repeating groups are easy to set up, and will make your Airtable automations much more effective, so try them out today. 

If you’d like to learn more about automating your work with 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
July 5, 2023
How to Add Automatic AI Prompts to Zapier Automations

No-code automation is a great way to automate repetitive tasks at work. 

Until recently, though, it’s not been possible to create entirely new data inside of a workflow automation. 

Using conventional automation techniques, you can only duplicate existing data, or combine existing data to create new values. 

‍

But now with AI, your no-code automations can generate summaries, outlines, entire blog posts, and more. In this post, we’re going to show you how to add automated OpenAI prompts to your Zapier automations. 

‍

We’ll use an example that updates tasks in Asana, but the same principles apply to any apps that you can automate with Zapier.

The key components in this tutorial are really Zapier and OpenAI; the other apps you use are entirely up to you. 

‍

Now let’s get started.

A brief overview of automating AI prompts in Zapier

First, we’ll give you a brief overview of the entire process. Then, we’ll walk you through each step in more detail. 

‍

1. First, you need to create a new Zap and add a trigger event. 

2. Optionally, you can add actions and searches to gather additional data.

3. Add an OpenAI action, and choose “Send Prompt” as the event. 

‍

‍

4. Connect your OpenAI account to Zapier. You will be billed a very small amount to use the OpenAI API. 

5. Configure your OpenAI action, and enter your prompt. Be sure to include dynamic data where appropriate. 

‍

‍

6. Send the AI response to any other app that you’d like. Save it in Drive, update a record in Airtable, send it to Slack, etc.   

‍

Note that you can also use a ChatGPT step instead of OpenAI if you’d prefer. 

Both apps in Zapier will work in largely the same way, but you will see a few different options for each. 

For this tutorial, we’ll be focusing on the “OpenAI” app. 

‍

Now, let’s look at automating OpenAI prompts with Zapier step by step.

‍

Add a trigger and gather other required data with actions, searches

First, you’ll need to create a new Zap and add a trigger. 

‍

We’ll go over this part of the automation quickly, since it’s not really the main focus of the tutorial. However, If you’re not familiar with using Zapier in general, you can check out our beginner’s guide to learn the basics. 

‍

You can select any trigger event that suits the automation you want to build. For instance, If you want your OpenAI prompt to summarize an email, you’d probably use something like a GMail trigger. 

‍

In our example, we want OpenAI to generate a new description for every task that we add to an Asana project, using the tasks’ details as a basis for its response. 

After it generates the description, we’ll have it update the task with the new information. 

‍

To set up that automation, we’ve already created an Asana trigger that watches for new tasks in a specific project. 

‍

‍

Once you’ve set up the trigger you want to use, be sure to test it and confirm that it’s able to find some data. 

‍

Optional actions and searches 

Next, if you want to use any additional data for your prompt that can’t be found in your trigger, you’ll need to add one or more action or search steps to find that data.

‍

In our example, we’ve added an Airtable search step to look up the client and project associated with the task. This information, which includes attributes like the project start and end date, may help to inform the AI-generated description. 

‍

‍

In your automation, you might be able to gather all the data you need in the trigger. But if you do need your automation to grab some extra data that will go into your prompt, just remember to add these steps before the prompt. 

‍

If you’ve added any additional steps, test them out to make sure they’re working properly. 

‍

Once you have all the data you need to feed into your prompt, it’s time to add an action that will create and send that prompt. 

Add an OpenAI step to Zapier and configure your account

Add a new action to your Zap. Choose OpenAI as the app, and select “Send prompt” as the event. 

‍

‍

Now, you’ll need to connect your OpenAI account to Zapier. If you don’t already have an OpenAI account, open up a new tab to create one at openai.com. 

‍

As we noted in the overview, sending OpenAI prompts through Zapier will incur a charge on your OpenAI account. 

The exact price will depend on the language model you use, but will ultimately come out to a few cents per prompt at most. 

‍

‍

Additionally, new OpenAI accounts include a $5.00 API credit, but this does expire after a few months if it isn’t used. In the end, the cost to access OpenAI’s API is very small, but it’s worth noting that it isn’t free. 

‍

You can learn more about the pricing structure on the OpenAI pricing page. 

‍

If you’re comfortable with the charges you’ll be responsible for, go to platform.openai.com to finish connecting your account to Zapier. 

‍

Click on your account name, and select “View API keys”.

‍

‍

Click on “Create new secret key” to generate a key that will let third-party apps like Zapier access your OpenAI account. 

‍

‍

Copy that key, and return to your Zap. 

‍

‍

Click on “Connect a new account”, and paste the key you copied earlier. 


‍

The popup should close, and return you to your Zap in progress. Now, you can start configuring all of the necessary settings for your OpenAI prompt step. 

‍

Configure the OpenAI step and write your prompt

First, you’ll be asked to choose the model that you want to use for the prompt. Zapier defaults to using the “DaVinci” model, and recommends it for most use cases in your Zaps. 

‍

‍

However, there are several other models that you can choose from under the “Model” tab. If you’d like to learn more about each model and the cost to use it, you can check out OpenAI’s pricing page again. 

‍

Write your prompt for the AI to process

‍

Next, you can start crafting the actual prompt that you want to send to OpenAI. Your prompt can include both static text entered directly into this field, and dynamic data retrieved from the trigger and earlier steps in your Zap. 

‍

‍

In other words, you can enter a prompt here exactly like you would with ChatGPT, but you can also replace some words with Zapier data instead of static text. 

Be sure to note the style and tone that you want the AI to use as well as the content that you want it to generate. 

‍

In our example, we’ll use this prompt to ask the AI to generate a task description:

‍

“Create a description for the following task based on the information provided. Your description should consist of 1-3 short sentences describing the task and its parameters. Include a brief assessment of the task’s urgency based on the information provided.

Write in the second person, and use a friendly and professional tone, like you’re speaking to a coworker.”

‍

Add dynamic data to your prompt

After the main part of the prompt, we’ll include the task’s key attributes, identified with simple labels. 

‍

‍

By including dynamic data like this, we can ensure that the prompt describes each individual task that runs through the automation

‍

Note that you may need to go back and adjust your prompt after testing it out. When you’re dealing with AI, it’s often a game of trial and error.

‍

If you want to avoid the very small charges, you can use ChatGPT to test your prompt. However, ChatGPT may be using a different model than what you've chosen in Zapier.

‍

Set the model’s temperature

‍

Next, you can set the model’s temperature. The temperature can also be thought of as the model’s “Creativity”. 

‍

‍

The higher the number, the less predictable the results will be. Additionally, as you set the temperature higher, the likelihood of inaccurate “hallucinations” increases as well. 

‍

Whenever you’re dealing with AI, there’s no guarantee of accuracy, but you should probably go for lower numbers (maybe even zero) if you want more accurate but less creative answers.

Choose a maximum length (optional)

The next setting is “Maximum length”. 

This sets the max length of the AI’s response in tokens. With OpenAI language models, 1,000 tokens are roughly equivalent to 750 words. 

‍

‍

You can change this setting to whatever you’d like, but note that most models have a limited number of tokens that they can process as context. Even if you set your max higher than that number, the limit will still apply. 

‍

By default, Zapier will attempt to auto-calculate the context limit and use that as a maximum length. You can search for more info about the model you’re using if you want to know more about exactly how it works. 

‍

Provide a stop sequence (optional)

‍

Next, you can enter an optional stop sequence. If you enter a stop sequence, the AI will stop generating an answer once it produces the same characters as you’ve provided in your stop sequence.

‍

‍

For example, your prompt may ask the AI to generate a numbered list of app name ideas. If your stop sequence is “7.”, the model should stop after it produces the characters “7.”

Then, it will remove the stop sequence from its response. 

‍

If you don’t want to add a stop sequence, and you probably won’t in most use cases, you can just leave this field blank. 

‍

Top P, Frequency Penalty, and Presence Penalty

Finally, let’s take a look at these last three settings: Top P, Frequency Penalty, and Presence Penalty.

‍

These are all advanced options for adjusting the output of the model. You can tweak these options to make the model more or less repetitive, for example.

‍

‍

You can read the descriptions provided in Zapier for more info, but you probably won’t need to change these for most use cases. You can start by leaving these fields with their default values, and adjusting them later if you want to fine-tune your results. 

‍

Test your OpenAI action

Once you’ve configured the OpenAI action as desired, give the step a test. You should see OpenAI’s response to your prompt, along with a lot of other data. 

‍

‍

Note that if you’re using dynamic data to populate this step, the AI’s answers may be quite different each time. 

The test should give you a general sense of how it will respond, but expect some variation each time the Zap runs with different data. 

‍

Among the other data, you can also see things like how many tokens the prompt used. 

‍

‍

After reviewing the test data, you can adjust your OpenAI prompt as needed. Once it’s ready, you can add an additional step to your Zap to share, edit, or otherwise use the AI-generated answer. 

Send your prompt to other apps

Add a new action to your Zap. 

‍

You can add an action in virtually any app that you want to use. You could send the prompt in a Slack message, add it to an email, enter it into an Airtable record, or anything else you want to do with it. 

‍

For our example, we’ll add a new step to update our original Asana task with this new description.

‍

‍

To find the right task, we’ll enter the ID of the task that triggered the automation into the “task” field. Then, we’ll leave most of the fields blank.

‍

‍

By leaving them blank in this “update” step, we’re essentially telling Zapier to leave those fields as they are. It won’t delete the contents that are already there. 

‍

We’re only going to update the “notes” field by adding in the ‘Response’ value from the OpenAI step. The ‘Response’ is the answer that OpenAI generated for your prompt. 

If you want to send the AI’s answer to another app, this is the piece of data you need to look for. 

‍

‍

Once you’ve configured your step to your liking, give it a quick test. 

‍

In our example, we get a success message in Zapier. 

‍

‍

Then, when we open up Asana, we can see the task updated with a new description. 

‍

‍

If your Zap ran correctly, turn it on and publish it. Now, whenever your trigger condition is met, Zapier will automatically send a prompt to OpenAI exactly as you’ve configured it to. 

Discover new possibilities in your Zaps with AI

AI is rapidly unlocking all sorts of new possibilities in workflow automation. Now, as automators, we’re no longer limited to working with existing data. 

We can use AI prompts to generate, edit, and summarize new content, and we can use automation providers like Zapier to send the answers to any app we want. 

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

‍

Tutorial
June 28, 2023
8 Ways to Trigger Automations in Airtable

Airtable is more than just a database app. With extensive workflow automation features, you can use Airtable to streamline your processes and start automating your repetitive tasks. 

If you’re new to Airtable automation and wondering how to get started, this post is for you. 

We’re going to show you the 8 different ways you can trigger automations in Airtable, and explain the best use cases for each as we explain the pros and cons of every technique. 

When a record enters a view

We’ll start with one of the most versatile and effective triggers that Airtable offers: “When a record enters a view.”

Here’s how it works: your automation runs whenever a record appears in your designated view. 

‍

‍

Imagine, for instance, that your team is tracking content creation through Airtable. When an article is marked "Ready for Review," it enters the view labeled "Needs Review", which in turn triggers your automation to run. 

‍

‍

This approach is particularly effective if you are aiming for high transparency and an easily accessible, maintainable automation.

Anyone on your team, even those with no prior experience with automation, can refer to the view and check its filters to understand when the automation will be activated. If you want to update the automation to run under different conditions, you simply need to update the view’s filters. 

‍

‍

However, it's important to remember that having easily editable views can also be a downside.

You wouldn’t want to attach an automation to a view that everyone on your team can – and frequently does – edit. That could lead to the automation running at unexpected times with the wrong data. 

To keep everyone in the loop, we’d always recommend copying the automation URL for any “When record enters view” automation into the description of the view that triggers it. 

You can find an automation’s URl by opening the automation editor and selecting the dropdown menu next to the automation’s name. 

‍

‍

Then, return to the “Data” tab, and open the related Airtable view. Click on the view’s name at the top of the table to access and edit the description.

‍

 

Note that you won’t be able to click on the link directly from the view description in the sidebar. You’ll have to edit the description to make it work as a hyperlink.

‍

‍

You’ll want to make sure to clearly document the automation, but all-in-all, “When a record enters a view” is an extremely useful trigger, and it’s often the best place to start when you’re building an automation in Airtable. 

When a record matches conditions

The next trigger we’ll look at is "When a record matches conditions." This is similar to "when a record enters a view," but with this trigger, the automation runs whenever a record matches the specific conditions that you configure within the automation itself, rather than conditions within the table. 

Continuing with our content creation example, we could build an automation with this trigger that runs whenever this “Status” field is set to “Ready for review.”

‍

‍

This method is ideal when you want the automation to work for the entire table, and not just a specific view.

For instance, you might have organized your content table into different views for “Interviews” and "Tutorials," but you want the review process to be consistent across all of your content. 

‍

‍

It’s worth noting that this kind of trigger isn't as immediately visible or accessible as a "when record enters a view" trigger. 

However, this can sometimes be the better choice, since it's less likely that team members will accidentally edit the conditions that control the automation. 

On the flip side, it might be a bit easier to accidentally trigger the automation. To help prevent accidental automation runs, you can attach the automation’s URL to the description of the relevant fields. 

‍

‍

Like the “record enters a view”, the “matches conditions” trigger is highly versatile, and a great starting point if you’re not sure where to begin. 

When a record is created

Now, let's look at the "When a record is created" trigger. This is similar to the previous two triggers, but it has an even broader scope. 

‍

‍

This trigger activates whenever a record is created in the specified table.  This means it will activate for every single record created in that table, even if the record is blank or incomplete, which could make automation runs unreliable in many circumstances. 

This trigger can be useful if the records are being created by a separate automation, or being synced from an external source like Salesforce or Google Calendar, since you know that all of those records will be complete from the moment they’re created. 

‍

In a table where you’re adding records manually, you could use this trigger type to automatically add templated content to your fields. 

For example, in a content creation database, you may want every new record to start with some templated descriptions like, “This post is about
”

You could set up a “Record Created” automation, and add a step to add the templated text to the “Description” field of every new record.  

‍

‍

Whenever you create a record, those fields will be automatically filled in with your preconfigured content. 

‍

‍

If you find that the “Record created” is just too broad, you could also add conditional logic to your automation to ensure that subsequent steps only run if certain conditions are met.

‍

‍

However, if you’re doing that, you may as well just use a “new record in view” trigger or a “matches conditions” trigger instead. It’s much easier to set up conditions and filters when you’re using those triggers. 

‍

Ultimately, the “record created” trigger is worth considering for a few specific circumstances, but probably won’t see much use in your Airtable automations unless you’re syncing data to Airtable from another app. 

Additionally, if you’re doing a lot of data syncing in Airtable, you’ve got to try Data Fetcher. It’s a useful Airtable extension dedicated entirely to syncing data to your tables from external sources. 

When a form is submitted

Let's move on to the "When a form is submitted" trigger. 

This one is pretty much exactly what it sounds like; it runs whenever someone submits a response to a specified Airtable form.

‍

‍

If you're not familiar with Airtable forms, it's a tool that allows you to create a form for any table by simply adding a form view, editing the survey it creates, and opening up the shareable link. 

‍

‍

This automation trigger can be useful for alerting your team whenever someone has responded to one of your forms. 

For instance, you could use an automation with the form trigger to send an automated Slack message whenever a new lead reaches out to you on your website. 

‍

‍

You could also use a "new record in view" trigger to achieve similar results, but if someone adds a new record directly to that view, the “new record in view” automation would still run and may encounter an error.  

The form trigger is ideal if you want to ensure the automation only runs for form submissions.

If you have any kind of Airtable contact form or survey on your company’s website, we’d definitely recommend checking out this trigger. 

When a record is updated

Next up is the "When a record is updated" trigger. 

This one activates whenever a record is updated, or more specifically, whenever any of your specified fields are updated.

‍

‍

The “record updated” trigger is best suited to creating a sync between two data sources. 

For example, let's say different departments in your company are using different task management systems. Your content tasks are managed in Airtable, while your engineers are using Jira. 

‍

‍

To facilitate collaboration, you want both teams to be able to see each other’s tasks and view each other’s progress. 

With a “record updated” trigger, you can build an automation that runs whenever a record is updated in your Content Tasks table. 

Then, those updates can get pushed to a similar database in Jira. 

‍

‍

To pull updates from Jira, you’d likely need a scheduled automation in Airtable to go fetch the information from Jira. We’ll cover the scheduling trigger next. 

‍

If you need to sync lots of information consistently, you could also look into tools like Whalesync or Unito for more robust syncing functionality. 

‍

Much like the "record created" trigger, the "Record updated" trigger is very sensitive, and any update you make to any record will make the automation run. But as with any automation trigger, you can use a conditional logic step to prevent automated actions from running if certain conditions aren’t met.

Run automations at a scheduled time

Sometimes, you don’t want your automations to be contingent on specific events or circumstances. Sometimes, you just want to have an automation run at set intervals. 

‍

With the “at scheduled time” trigger, you can do just that. 

‍

Just choose the interval and timing you want to use, then add the actions that you want the automation to perform. 

‍

‍

For instance, let’s say you’re managing your team’s tasks in Airtable. Every monday at 9:30 am, you could send a Slack message with a run-down of any urgent and incomplete tasks. 

To facilitate that automation, you could create an “Urgent and incomplete” view in your Tasks table. 

‍

‍

Then, add a “find record” step after your automation’s trigger, and use that step to search for all records in the “Urgent and Incomplete” view.

‍

‍

Next, you would just need to add a “repeating group” step to repeat an action for every item in a list. In this case, you would use all the records retrieved in the “find record” step as your list. 

‍

‍

Finally, you would just need to add whatever actions you’d like to repeat for every item in the list, like sending a Slack message for every unfinished task. 

‍

‍

This example took a bit of work to set up, but with the scheduled trigger, it will now run automatically every Monday without requiring any additional work on our end. 

‍

‍

Scheduling automations is an easy way to set up an automated routine without needing to worry about particular events occurring. 

When a webhook is received

Every trigger we’ve discussed so far is firmly in the no-code camp, but this one is a little more technical. 

With the “when a webhook is received” trigger, you can prompt your Airtable automation to run whenever it receives a webhook. 

‍

‍

A webhook is an HTTP request that contains URL-encoded data. 

When you send a webhook to a web application like Airtable, you can have it perform certain actions based on the data attached to your request. 

‍

Triggering an airtable automation with a webhook is a bit more advanced than the other triggers we’re looking at today, so we’ve made a separate tutorial covering it, which you can check out here. 

‍

In general, a webhook trigger is great if you want to send data to Airtable from another app, and immediately perform automatic actions with that data, like creating a new record. 

‍

Webhook triggers are a little trickier to learn than the rest, but they’re great for building a comprehensive automated infrastructure for your team. 

‍

When an interface button is clicked

The final trigger we’ll look at today is “When a button is clicked”. 

This trigger will let you run your automations on demand with a single click. 

‍

‍

Right off the bat, it’s important to note that this automation only works with buttons created in an Airtable interface, and not with buttons created in a data view. 

‍

‍

To use the “button clicked” trigger, you’ll need to create an interface first. If you want to learn more about creating interfaces, you can check out the last section of our Airtable Beginner’s Guide post. 

‍

Once you’ve created an interface, you’ll need two elements to make the button-triggered automation work. 

First, you’ll need a “record picker” element connected to a table that you want to reference in the automation. 

‍

‍

Second, you’ll need a button element, set to “Run an automation”.

‍

‍

With both of those elements in place, you can attach your button to your automation, and the automation will run with the selected record from the “record picker” element.

‍

‍

For instance, we could set up another automation to send reminders about urgent tasks.

But instead of sending reminders to everyone, we can pick an individual employee with the record picker.

‍

‍

Then, when we click on the button, the automation will send them a personalized reminder about their urgent, unfinished tasks. 

‍

‍

Automated buttons are a relatively new feature and might be a little awkward to set up, but they can be very useful for creating automations that only run when you choose to run them.

Choose the right trigger for your circumstances

With eight different ways to trigger your automations in Airtable, there’s something for every circumstance. 

Whether you want to schedule your automations to run in the background, connect them to a form or a view, or even launch them with the click of a button, Airtable’s got you covered. 

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

Tutorial
June 21, 2023
How to Build a No-code AI Chatbot in Zapier

How would you like to build your own AI Chatbot without writing a single line of code?

With Zapier’s Interfaces tool, you can get a fully functional chatbot up and running in a matter of minutes. 

In this post, we’ll walk you through the process of building and configuring an AI Chatbot in Zapier step by step. 

Unlocking new possibilities with Zapier Interfaces

Until recently, it wouldn’t have been possible to create a chatbot like this with Zapier. But now with their new Interfaces feature, Zapier is evolving from an automation provider to a full-stack application development platform. 

There are some serious technical limitations with this Zapier chatbot, as many of the underlying features are still in beta, but it will only get better and more functional from here. 

How it works

Building a no-code Chatbot in a Zapier interface is very simple and only takes a few minutes. 

We’ll give you a quick overview of how it works now, then we’ll walk you through the whole process with a detailed step-by-step guide.  

‍

‱ First, you’ll create a new interface in Zapier. 

‱ Then, add a Chatbot component to one of the interface’s pages. 

‱ Configure your Chatbot’s settings to your liking by providing a title, a directive, and other useful options. 

‱ Open up your live page to test out your Chatbot. 

‱ Once everything is all set, copy the link to share it with anyone on the web. 

‍

Now, let’s take a closer look at each of these steps. 

‍

Getting Started with Interfaces in Zapier

As we’ve already alluded to, building an AI Chatbot in Zapier will lean heavily on Zapier’s recently added Interfaces.

So what is an interface in Zapier?

An Interface creates a simple UI where users can interact with several Zapier automations or other tools that you’ve built through a web page. 

‍

You can add chatbots, forms, links, and other components to your Zapier interfaces. 

‍

‍

Interfaces are a great option if you’ve been looking for a simple way to package and share your Zapier automations with coworkers. They’re especially useful if you're not already using an app like Airtable that can offer similar features. 

‍

The core features of interfaces are accessible with any Zapier account. However, some features will require a premium interfaces plan, which is in addition to your main Zapier subscription. 

‍

‍

For instance, if you want to use custom URLs and remove Zapier branding for your interfaces, or even have your chatbot provide longer responses, you’ll need a premium plan. That said, everything we cover today can be done with a free interfaces plan, so you can explore these new features without having to spend anything upfront. 

Creating an Interface for your Chatbot

To get started with making a custom AI chatbot in a Zapier interface, log in to Zapier, and select “Interfaces” in the menu on the left. 

‍

‍

Create a new Interface, and choose “Start from Scratch”. 

‍

‍

‍

The interface will start with a blank page simply titled “Page”.

‍

Interfaces, pages, and components 

Just to clarify some of the structure and terminology used here, an interface consists of one or more pages. Every page will have its own URL, and can hold several components, such as a chatbot, a form, or a table. 

‍

To start creating your chatbot, add a new component to your first page, and scroll down to “Chatbot”. 

‍

‍

When you select Chatbot, you’ll get this pop-up warning you that the Chatbot component is an experimental feature that’s subject to change. 

‍

‍

That’s fine; just keep in mind that any interface you build with a chatbot may change as Zapier updates the beta features. Click on “Yes” to continue. 

Configuring your chatbot

Now, you’ll see a new chatbot component configured with Zapier’s default settings.On the right, you’ll have a panel where you can customize our Chatbot’s functionality and display settings. 

‍

‍

For our example, we’re going to configure this Chatbot to be an automation brainstorming tool. When a user gives it the names of a few apps, the Chatbot should provide a list of ways to automate those apps with no-code tools like Zapier. 

‍

Setting the chatbot’s name, directive, and greeting

‍

First, you can set a name for your Chatbot. We’ll call ours “Automation Brainstormer”. 

‍

‍

Next, let’s skip ahead to one of the most important parts of the Chatbot: the directive. The directive is where we can tell the Chatbot what to do. We can tell it what kind of answers it should give, the tone it should use, and the overall identity that it should assume. 

In general, the more detail you can provide in your directive, the better the Chatbot will perform to your specifications. Filling out the directive right away will make it easier to configure your other settings and test your Chatbot as you continue building your page. 

‍

Here’s a directive we’ve already written up for our Chatbot: 

‍

“You are a workflow automation ideas bot. You help knowledge workers to brainstorm ways that they can automate their work to create time, produce more reliable results, and become more confident in their day-to-day work. When users give you a list of two more app names, such as ‘Hubspot and Slack’, you suggest a list of 5-10 ways that they could automate those applications using no-code tools like Zapier.

You also suggest ways they might build automations using native automation features in those applications. 

Your suggestions are focused on professional use cases. 

You provide your suggestions with a friendly and helpful tone.”

‍

If you’d like to use that directive as a starting point for your own Chatbot, just copy and paste it into your configuration menu. 

‍

Next, you can choose a default greeting for your chatbot to use. You can either provide a static greeting that will be used every time, or you can open up this dropdown and select “Generated” to use an AI-generated greeting instead. 

‍

‍

Here’s a good example of why you should fill out the directive early on. With the directive already provided, you can ask the Chatbot to describe what it does, and it can actually give an answer based on its directive. 

For instance, we’ll have our chatbot greet users based on the prompt “Greet the user and describe what you can do.”

‍

‍

Let’s take a peek at our live page to see what that looks like. If you want to look at your live page at any time, just click on the page’s URL in the top left. 

‍

‍

As soon as we open the page, the chatbot greets us exactly as we asked it to. It describes what it is and what it can do, and tells us to list some apps to get started. 

‍

‍

And if we refresh the page, we get a similar but slightly different response. 

‍

‍

Using a generated greeting can help to easily add a little more personality and detail, but it does run the risk of being a bit inconsistent. Just choose whichever you think is more appropriate for your use case. 

In our example, we’ll stick with the generated greeting; we want to show off what the chatbot can do right from the get-go. 

Now let’s go back to the interface editor. 

Setting placeholder texts, language models, and your bot’s temperature

To resume editing any component, like your chatbot-in-progress, just hover over the component and click “Edit”. 

‍

‍

The next setting we need to configure is the “prompt placeholder”. This is just the static placeholder text that the user will see before they start typing a prompt. 

You can enter whatever you’d like here. For our automation brainstormer bot, we'll just add a message that says: “List two or more apps to get some automation ideas.”

‍

‍

We’ve already entered a directive, so next let’s look at “Model”. 

If you subscribe to the “Interfaces Premium” plan, you’ll be able to choose from different language models for your Chatbot to use. On the free plan, you’ll have to stick with OpenAI GPT3.5. 

‍

‍

Upgrading to the premium plan will also let you increase the max response length. On the free plan, you’re limited to responses of 2048 tokens, which is equivalent to about 1,500 words. 

‍

Next, you’ll see a slider that lets you control the “creativity” of your chatbot. This setting is also often called the model’s “temperature” in other AI tools. 

The higher the number, the more creative the bot will try to be in its answers. That also means that you’re more likely to see hallucinations, or instances where the chatbot provides factually incorrect answers. 

‍

Ultimately, if you want to build a Chatbot that’s more likely to provide reliable, factual answers, you should really set the temperature or “creativity” to 0. But whenever you’re dealing with a Chatbot, hallucinations are always a possibility. 

Since this bot is all about brainstorming, and we’re mostly just demonstrating the setup, it’s OK if it comes up with some ideas that aren’t totally accurate, so we’ll leave it at the default of 0.7 for now. 

‍

Adding a disclosure message and editing your bot’s layout

Next, there’s a simple toggle that lets you choose whether or not to display a disclosure message. Zapier provides a default disclosure, which you can edit if you’d like. 

When you toggle it on, the chatbot will include this disclosure message at the bottom of every message it sends. 

‍

‍

If you want to be absolutely sure that your users know they’re interacting with an AI bot, including the disclosure is a good way to go. 

‍

The last options in this “Content” tab are just a couple of settings to control the visual layout of the Chatbot component. With these options, you can change the width and alignment of your chatbot. 

‍

Building a chatbot with specific data sources

You’re nearly finished configuring your chatbot. Let’s just take a quick look at the other tabs in your interface.  

Under “Data”, you’ll just see a “Coming soon” message (note: this will likely be updated after this blog’s original publishing date of 06/21/23). 

‍

‍

This feature isn’t finished yet, but at some point, you should be able to provide data that your Chatbot can use to inform its answers. 

This will help your chatbot to give more specific answers about your company or your product without having to write an extremely long, detailed directive. 

‍

A current leader in chatbot storage is called Pinecone - but you’ll need to build a non-Zapier chatbot to leverage Pinecone. Chatbase.co might also be worth a look if you’re looking to create a Chatbot with an external data source right now. 

‍

Alternatively, you can reach out to XRay if you’d like to build a chatbot for your company using custom data like your blogs, about us pages and more. We could even help you to build a bot for internal company use that leverages specific portions of your company’s data to assist your team in financial planning, project management, and more. 

‍

Embed your chatbot and add automated actions

Under “Embed”, you can grab the HTML embed code for your page, but only if you have a premium interfaces subscription.

‍

‍

Finally, under “Actions”, you can connect your chatbot to some automated actions. For now, all of the actions have to be triggered with a button, and there are only two choices. 

‍

‍

You can configure the button to copy the text of the Chatbot’s message, or have it launch a Zap. 

‍

‍

For instance, you might want to build a Zap that will let the user send the Chatbot’s response to a Slack channel with a single click. 

‍

For our automation brainstormer, we’ll just add a “Copy Message” button to our chatbot. 

To add a “copy message action”, just add an action and provide some text for the button and notification. 

‍

‍

Then, click “Create action” to add it to your chatbot. 

Test and share your chatbot

Now, you’re all set to test our Chatbot on the live page. Click on the URL to open up your page. 

‍

‍

In our example, our Automation Brainstormer Chatbot immediately introduces itself with a generated message. 

‍

‍

We’ll ask it how to automate Pipedrive, Shopify, and Microsoft Teams.

‍

‍

In just a matter of seconds, it comes up with a list of 8 ideas for automating these apps. 

‍

‍

Let’s see how it handles a follow-up question. We’ll ask for more information about Automation #1. 

‍

‍

Now, it provides a more detailed set of instructions for building the first automation it described. Not bad. We’ll click on the “Copy message text” button that we added to save that answer for later. 

‍

Explore automation possibilities on XRay.Tools

If you’d like to try out a real automation brainstorming chatbot, just go to XRay.Tools and search for the apps you’d like to use. 

Select any app to view a detailed list of its available triggers, actions, and searches on Zapier and other platforms. On that page, you can also ask a dedicated chatbot for more information about the app’s capabilities, and API documents.

Build a simple no-code chatbot in Zapier

Building a no-code AI chatbot with Zapier Interfaces is a fast and easy way to leverage a helpful AI assistant for your team. It only takes a few minutes to get started, so try it out today. 

Just bear in mind that we’re working with a lot of experimental and beta features here! You’ll probably see lots of updates to these tools over the next few months, so be ready to adapt. 

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

‍

Tutorial
June 14, 2023
Airtable Beginner’s Guide Part 2

When it comes to organizing data for your team, Airtable is one of the best apps available. With features like linked records, customizable filters and views, workflow automation, and visual interfaces, Airtable can completely transform the way you work. 

In this second part of our Airtable Beginner’s guide, we’ll give you a closer look at all of those features so you can start building and sharing more advanced databases. 

Creating 2-way associations with linked records

Let’s continue our deep dive into Airtable with a look at linked records and lookups. Linked records are a handy feature in Airtable that allow you to associate records between two different tables. 

This makes it easy to build complex relationships between your data, and ensures that your records stay organized and connected.

‍

Here’s a quick overview of how linked records work:

1. Create two tables that you want to link. Both must be in the same base. 

2. In either table, create a new field. 

3. Choose “Link to another record” as the field type. 

4. Select the table you want to link to. 

5. Save your new Linked Record field. 

6. (Optional) Add lookup fields to display additional data from the linked record. 

Linked record example: associating clients and project managers

Let’s dive into further detail with an example. 

Let's say you have two tables in your Airtable base: "Clients" and "Project Managers". You want to be able to associate each Client with the Project Manager who is assigned to them. 

Here's how you can use linked records to accomplish this. 

In the "Clients" table, add a new field called "Project Manager". Set the field type to "Link to another record".

In the "Link to" section, select the table that you want to link to. In this example, that will be the "Project Managers" table.

When you save the field, you'll see a new column with the title "Project Manager" appear in your "Clients" table. This column will be a link to the "Project Managers" table.

To link a Client record to a Project Manager record, click on the cell in the "Project Manager" column for that record. 

A pop-up menu will appear, allowing you to select the Project Manager record you want to link to. Note that the dropdown menu displays each record using the Primary field as the label. 

This is another reason why we like to use a formula to populate the primary field, as we mentioned in the first part of this guide. 

By using a formula to name the primary field, we can ensure that the naming conventions are consistent, making it easy to find the record we need when we’re creating linked records. 

We can also quickly update those naming conventions by simply editing the formula, instead of renaming every record manually. 

Adding lookups to linked records

Once you've linked a Client record to a Project Manager record, you can access information from the linked record using lookup fields. 

To create a lookup field, add a new field to the table that already contains your linked records, and set the field type to “Lookup”. In our example, we’ll add a Lookup field to our Clients table. 

Under the “Configuration” section, select the linked record that you want to add a lookup to. In our example, we’ll choose the "Project Manager" field. 

Then, choose the field you want to look up. Note that you’ll need a separate lookup field for each attribute that you want to look up. We’ll start with Email in our example. 

Now we can see the Project Manager’s email address in the clients table whenever we add a PM to a record. 

Using linked records and lookups like this can help to prevent redundancies. You’ve already entered the data once in your other table; with a linked record, you don’t have to enter all the same data again. 

Plus, it lets you put the same data in multiple places without having to worry about inconsistencies. Whenever you update a record, the update will be reflected automatically in any record that links to it. 

Linked records vs. select fields

In many cases, you might not be sure whether you should use linked records, or just use a single- or multi-select field instead. 

In general, you should use linked records whenever you need to access additional attributes from the associated record, and not just a single label or value. 

If you only need that one piece of data, using a select field will probably be quicker and easier. 

Overall, linked records are a powerful tool that can help you organize and connect your data in Airtable. By linking records between tables and using lookup fields to pull in related data, you can create a robust database that is tailored to your specific needs.

‍

Sort and manage your data with filters and views

With the addition of linked records and lookups, our base is becoming much more robust and useful. Now, let’s take it even further by adding some custom filters and views. 

Filters help you narrow down the records that are visible in a particular view, while views allow you to create different perspectives on your data. 

We’ll start with creating a filter.

Adding a filter to your table

You can add a filter to any Airtable view with a few quick steps:

1. Click on the “Filters” button at the top of any Airtable view

2. Add at least one condition

3. Save your filter. Any data that doesn’t match your condition(s) will be hidden from the view, but not deleted. 

‍

To further illustrate these steps with an example, suppose you have an Employees Directory table which contains information about all the employees in your company. You want to create a filter that only shows new hires – employees who joined within the last month. Here's how to create that filter.

Open the Employees Directory table in Airtable, and click on the "Filter" button in the toolbar. In the window that appears, click on “Add condition” to add a new rule to your filter. 

‍

Configure your filter condition. You have extensive options to filter for field contents and values which will vary based on the field type. In our example, we want to only display employees who have a “Date Hired” value that’s a month old or less.

We’ll set our condition to:

where “Date Hired” is on or after “1 month ago”.

Once you’ve configured your filter condition, click outside of the filter window to save your changes, and you'll see the filtered results in your table.

Now that you've created a filter to show new hires, you may want to create a new view that only shows those results.

Creating a new view for your filter

In Airtable, a “View” is a customizable way to display the data from a table. Each view can use its own type, such as Grid or Kanban, and can have specific filters and sorts that determine which data is displayed.

Here's how to create a new Grid view that uses the filter you just created. 

Under the “Create
” section in the left hand menu, click on “Grid”. Give your new view a name, and click “Create new view”. 

‍

In your new grid view, click on “Filters” to add the same filter as before to this new view. 

Then, go back to the original grid view, delete the filter, and give it a name like “View All”. 

Now, you can just switch back and forth between these two views to see all employees, or just new hires. 

Note that filters and views will never delete data: they just sort or hide data temporarily based on your configured settings. 

Other view types: Kanban, Timelines, Forms, and more

These two views are pretty convenient, but grid views are just the start. 

Airtable also offers several other types of views that you can use to visualize and organize your data. Read on for a brief overview of each type. 

Kanban views

A Kanban view is a board-style view that displays records as cards, which can be dragged and dropped into different columns. 

The columns can be mapped to any single-select field, like a “Status” or “Priority” field. 

A kanban board is useful for visualizing workflows and progress, and is great for managing a tasks database. 

Timeline and Gantt views

A Timeline view is a chronological view that displays records as events on a timeline. This view is useful for tracking deadlines and high-level milestones.

Similar to a timeline view, a Gantt view is a view that displays records as bars on a timeline, and shows dependencies between tasks. 

Because of the dependencies, this view is useful for more granular project management and scheduling compared to a “Timeline” view. 

Gantt views and Timeline views both require a Pro account. 

NOTE: to use Timeline and Gantt views correctly, each record will need to have at least two date fields that can be mapped to “Start date” and “End date”. 

Calendar views

A calendar view is a view that displays records as events on a calendar, and allows you to filter by date range and other criteria. 

Calendar views are ideal for scheduling and planning, and can be a great way to make a content calendar or high-level schedule. 

Gallery views

A gallery view is a view that displays records as cards in a gallery, and allows you to customize the card layout and fields displayed. 

Using a gallery view lets you focus on an image attached to each record, and could be a great way to review design assets or media.  

List views

A list view is a view that displays records as a list, and allows you to customize which fields are displayed and in what order. 

A list essentially looks and works like a simplified grid. Lists are a convenient way to just display a title and basic info for each entry instead of a long list of fields. 

Of course, you could always just hide fields in a grid view, but list views feature a simpler UI which makes it easier for non-technical people to view a curated subset of a larger database. 

Form views

Finally, a form view is a view that allows you to create a custom form for adding new records to your table. 

Airtable forms are a great way to collect data from external sources and simplify data entry. They can also be a useful tool when you start building automations in your databases. 

Many automations will trigger whenever a record enters a specific view, or whenever a record is added to a database. If you add the record directly into any other view type, an automation may trigger while you’re still populating fields, which could result in the automation trying to run with incomplete data. 

With a form, a record isn’t created until you click “submit”, so you can ensure that all of the data you need is there before the record is added. 

Pick the right view for your scenario

Each type of view is designed to serve a different purpose, so it's important to choose the right view for your specific needs. 

Just make sure to always keep a simple grid view with all of your records displayed. Even though filters and views don’t delete any of your data, they can make it hard to find certain records or fields if you don’t have a convenient “view all” option. 

Building workflow automations in Airtable

Airtable is one of the best database apps available for building no-code and low-code workflow automations. 

The granular control afforded by filters and views makes it easy to choose when your automations run, and which records they process. 

You can easily set up an automation to run whenever a new record is added to a specific view, so essentially, you can prompt an automation to run based on any data that’s available to you in Airtable. 

Many automations can even be built directly in Airtable, although third-party providers like Zapier and Make will definitely give you a more extensive list of integrations with other software you already use. 

To give you an idea of how Airtable automation works, I’ll show you how to build a simple automation using Airtable’s native automation tools. 

First, here’s a brief overview of how to build an automation in Airtable in a few quick steps:

1. Click on the “Automations” tab at the top of your base. 

2. Click “Create automation” in the bottom left hand menu. 

3. Choose a trigger, such as “When a record enters a view”. 

4. Configure your trigger. For instance, you may need to identify the base and table you want to watch. 

5. Add an automated action. Choose an Airtable action, or an integration with another app. 

6. Authorize the integrated app, if required. 

7. Configure your automated action. Include dynamic data from Airtable when applicable. 

8. Click on “Test automation” to run a test. 

9. Once your automation is performing correctly, turn it on, give it a name, and save the URL to the related view. 

Automation example: creating automated Slack alerts for an Airtable view

Now let’s explore those steps in more detail. 

Every automation consists of a single trigger event that prompts the automation to run, and one or more automated actions that will occur whenever the trigger is activated. 

For our example, we’re going to send an automated Slack message whenever a new hire is added to the “Onboarding” view. 

The onboarding view has a filter so that it only shows employees with a ‘Status’ equal to ‘Onboarding’. 

When you’re building an automation in Airtable, the easiest way to control when the automation runs is to pair your automation with a dedicated view like this.  

Creating a new automation and configuring the trigger

To get started, just click on the "Automations" button in the toolbar, and select "Create automation".

You’ll then see several options for your automation’s trigger. Choose “When a record enters a view.”

Then, we need to select the table and view that we want the automation to watch. We’ll choose the “Employees” table, and the "Onboarding" view as the view we want to watch for new records.

Then, under the “test step” section, click “Choose record” to pick a record that you can use to test the automation as you’re building it. You may want to add a dedicated “test” record with mock data to be safe. 

If the test was successful (i.e., if the trigger retrieved the record), you’ll see a small success message under the “Test Step” section. 

Adding automated actions

With a successfully tested trigger, you can click the “Add advanced logic or action” button to add a Slack step. 

In the window that appears, scroll down to “integrations” to find the application you want to use. In our example, we’ll select ‘Slack’, and choose “Send message”. 

When you’re using an Airtable automation to send data to other apps for the first time, you’ll always need to sign in to the relevant apps and authorize Airtable. 

Click on “Select [app name] account”, and choose “Connect new [app name] account”. 

Review Airtable’s required permissions and click “Allow” to continue. 

Now, you can configure the new action. Any required fields will be marked with a red asterisk.

In our Slack example, we need to provide the message that we want to send, and the user or channel that we want to send the message to. 

We’ll send the message to our “Tutorials” channel, and add a message that provides some basic information about the employee. 

Adding dynamic data to an automation 

Any text that you enter directly into the “Message” field (or similar fields for other apps) will be used exactly as written every time the automation runs. 

If you want to include dynamic data retrieved from the record that triggered the automation, you’ll need to click on the blue plus sign to access data from the trigger (or earlier actions). 

In our example, we can directly enter the initial message (“A new employee is ready for onboarding!”), as well as the labels for the employee’s information. However, we’ll need to access data retrieved in the trigger to include the employee’s actual name, department, and start date. 

The remaining fields are optional, but we’ll go ahead and give our Slack bot a name and an emoji. 

Testing your automation

Once your action is fully configured, you can click on “Generate a preview”. 

The preview will show you the content that your action will create (more or less), but won’t actually perform the action. 

Even if everything in the preview looks good, it’s always a good idea to give the automation a real test just to be sure. Click on “Test automation”. 

Then, select a record and click ‘Run automation’. 

The action you configured should now run with your chosen record. In our example, we got a Slack message, exactly as we configured it in the automation. 

Finalizing your automation

Once you’ve got a successful test, you can turn your automation on and give it a descriptive name. 

Once your automation is on, it will run whenever the trigger condition is met. 

At this time, it’s also a good idea to copy the URL of the automation itself and copy it to the description of the related view. 

That way, you’ll always know that the “Onboarding” view, for instance, is connected to this specific automation. 

‍

Overall, Airtable's automation features make it easy to automate repetitive tasks and streamline your workflow, saving you time and effort in the long run. 

With a little bit of planning and experimentation, you can create powerful automations that help you get more done with less effort.

This is just the beginning of what you can do with automations in airtable. There is full support for API calls, custom javascript, and more that can help even the most sophisticated product and tech teams to stay connected with external databases and apps. 

Building automations in third-party providers

For more complicated automations, or automations that use apps not supported by Airtable, you can use third-party providers like Zapier or Make. 

Zapier and Make support thousands of popular web apps, and offer extensive options for building everything from simple two-step automations to sophisticated workflows with loops and branching paths. 

If you’re a no-code builder, Airtable is a great app to use as a centralized database that supports all of your automations across several different platforms. 

You can use it to control when all your automations run, and to collect and process the data your automations create. 

If you’d like to explore Airtable automation with third-party providers, we have tons of tutorials on our blog for both platforms, like our comprehensive Beginner’s Guide to Zapier. 

You can also check out our automation search engine, XRay.Tools, to quickly discover what you can automate with Airtable and the tools you already use. 

But for this walkthrough, we’ll be sticking with what you can do in Airtable itself, so let’s finish up this beginner’s guide with a quick look at Airtable interfaces. 

Creating customized, interactive interfaces in Airtable

Let’s wrap up this Airtable deep dive with a quick look at interfaces. 

Interfaces are a feature that lets you distill any table into a simple visual interface or dashboard. Interfaces can help you to create a visually engaging summary of your data, or build a simpler layout for your team to interact with. 

While interfaces have much more aesthetic customization options than standard tables, they’re still not suited to creating customer-facing products. 

In other words, if you want to build a website out of your Airtable data, you’ll need an app like Softr to create a polished, user-friendly UI. 

You can learn more about Softr in this post about building a complete no-code product. 

There’s a lot you can do with interfaces, and we won’t be able to cover it all in this post. 

But to help you get started with Airtable’s interfaces, we’ll show you how you can build a simple Dashboard interface to get a visual summary of your tables. 

Creating a simple dashboard interface in Airtable

To begin, just click on “Interfaces” in the toolbar next to “Automations”. Then, choose “Start building”. 

Now, you can give your interface a name. We’ll call ours “Employee Dashboard”. 

Next, you can choose a layout type to get started with for your first page. You can add several pages to your interface with different layouts, so feel free to experiment.  

On the right, you’ll see a preview of your selected layout. 

Most of the layouts are pretty similar to Airtable’s various view types, but one that’s a little more unique is the “Dashboard”, which is what we’ll select for our first page.  

A dashboard displays statistics derived from your data, like the total number of records in a specific view or a table, and a visual breakdown of records based on specific fields. 

Select the Dashboard layout, click “Next”, and pick a table that you want to use as a source for your dashboard. In our example, we’ll choose the “Employees” table we created earlier. 

By default, the dashboard includes a filter, three high-level numbers, a bar chart, and a pie chart. 

You could customize these figures a little bit on the “Add elements” screen, but you’ll have more granular control once the dashboard is created, so just click “Next” for now.  

Then, give your page a name and click “Finish” to create your initial dashboard. 

Customizing your dashboard

This first number with a green background is configured to count all records in the table, so we’ll update the label to reflect that. 

Click on the element itself, then click on the “Appearance” tab in the right hand menu. 

Then, enter a new title to replace “Count”. 

‍

The next two numbers are also just counting the total number of records. We don’t need to see that same number three times, so let’s update those. 

Select the second number, then under “records”, choose “Specific records” so that the element will only count records that match certain conditions. 

In our example, we’ll have this element count how many employees are marked as “Onboarding”. 

We can also change this element’s title just like we changed the first element’s. 

We only want these two numbers for now, so we’ll delete the third.

 

Then we can just drag the remaining elements to resize them.

Editing the charts in a dashboard

To edit the charts in your dashboard, just select them and configure your options in the panel on the right. You can change the chart type, the data source, and the appearance of the charts. 

Just like the number elements, you can also resize these charts however you’d like. 

Adding new elements to your dashboard

Clicking on the “Add Element” button in the bottom left will let you add a new element to your page. 

For instance, we added a button that links to our “Add a New Employee” form. 

‍

To wrap things up with this quick interface overview, let’s edit the filter that you see at the top of the page. 

When we select it, we can see that there currently is no filter under the “Data” section. 

We’ll add a filter, select “Department is”, and leave the selection blank for now. 

Now we can click on “Preview” to see what the published interface will look like. 

When a user is looking at the interface, they’ll see all the data you configured, but they won’t be able to edit anything in this specific dashboard. 

However, the user will be able to change this filter at the top to choose which departments they’d like to see. 

Once you’re happy with your interface, click on “Publish” to configure permissions and create a shareable link for your dashboard. 

Using an interface is a great way to share reports or specific data without giving direct access to your database. 

Configuring interfaces can be a little tricky, but you’ll get the hang of it with a little trial and error. 

Once you’ve learned the ropes, you’ll be able to create some great new pages for displaying, summarizing, and sharing your data.

Organizing your data and workflows with Airtable

Airtable is a versatile tool that can be used in a variety of contexts, from personal organization to project management and beyond. 

By following the walkthroughs in this guide, you can get started with Airtable and begin to see the benefits of using a flexible, customizable database to manage your data.

From creating your first table to adding automation and creating interfaces, Airtable offers a range of features that can help you streamline your workflow and improve your productivity. 

Whether you're a beginner or an experienced user, there's always more to learn with Airtable, and we hope this guide has provided a solid foundation for your journey.

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

‍

Tutorial
June 7, 2023
Airtable Beginner’s Guide Part 1

Do you want to transform the way your company tracks and organizes data? Are you ready for a serious upgrade to your day to day workflows?

If your databases aren’t helping you to get work done, you need to check out Airtable. 

Airtable is a powerful tool that combines the simplicity of a spreadsheet with the functionality of a database. 

With Airtable, you can organize your data in a way that makes sense to you, and create customized workflows to automate repetitive tasks and streamline your processes.Whether you're a freelancer, a small business owner, or aparat a larger organization, Airtable has something to offer. 

In this two-part beginner’s guide, we’re going to show you everything you need to know to get started with Airtable. 

What This Guide Covers

In this beginner's guide, we'll cover the basics of using Airtable, from creating your first table to adding automation and creating interfaces.

By the end of the two-part guide, you'll have a solid understanding of how to use Airtable to manage your data and improve your workflows. 

‱ First, we’ll explain what Airtable is, and what sets it apart from apps like Google Sheets, Excel, Monday.com, and Asana. 

‱ Next, we’ll show you what you’ll see when you first open up Airtable, and we’ll quickly explain how bases, tables, and views are structured, so you’ll understand everything you’re looking at. 

‱ Then, I’ll walk you through the process of setting up your first base and table in Airtable. We’ll keep things very simple to start, but as we go, I’ll demonstrate some of Airtable’s key features for viewing, sorting, and utilizing your data. 

‱ Finally, we’ll wrap up part 1 of the guide with a look at some useful formulas and functions that you can add to your tables. 

In the second part of this guide, we’ll cover linked records, customizable filters and views, powerful no-code automations, and building your own custom interfaces for your data. 

What is Airtable, and what sets it apart?

‍

First, for those who might not be familiar, what is Airtable?

Airtable is a flexible database app. You can use Airtable to organize, filter, and sort your data, run calculations, and pretty much do anything else that you can do in spreadsheet software like Google sheets and Microsoft Excel. 

However, Airtable also includes several unique features that make it an ideal no-code or low-code database for you and your company. 

By leveraging these features, you can use Airtable to do a lot more than just storing and managing your data. You can even use Airtable to build your own custom systems for task and project management, content creation pipelines, and managing your network like a CRM.

This gives Airtable the flexibility to replace apps like Monday.com, Asana, Hubspot, Pipedrive and more. 

You can use Airtable as the backbone of your team’s digital infrastructure; making it a singular source of truth for every piece of data your company creates. 

You can even use it to power no-code and low-code automations to simplify and supercharge your workflows in other applications. 

We’ll give you a quick overview of some of the key features that set Airtable apart. Then, we’ll take you through the process of creating an Airtable base step-by-step so you can see these features in action firsthand. 

Sort your data however you’d like with filters and views

Airtable’s customizable filters and views are a great way to sort data for humans and software alike. By applying filters and choosing an appropriate view type, you can control the data you see and control how it’s displayed. 

You can then share specific views with clients or other collaborators to ensure that they only see the data you want them to see. 

And if you want to start automating your work with no-cod and low-code tools, you can easily set up automations that run whenever a record enters a specific view. 

This is just scratching the surface of what you can do with filters and views; we’ll go into much more detail in the second part of this guide. 

Create 2-way associations between data with linked records

Next, let’s take a brief look at linked records. Linked records let you create associations between records in two different tables. 

This can be a great way to associate each client with a project manager on your team, or each item in a customer’s order with predefined products in your inventory. 

Then, with lookup fields, you can automatically include additional data from the associated record. By simply adding a linked project manager to your client, you can also instantly see the PM’s email address and phone number. 

Or, by adding a linked product to a customer’s order, you can instantly see the price and description of the product. 

Linked records and their lookup fields let you see the same data in multiple places without the manual effort and errors that come with duplicating the data. 

Linked records are a great example of the kind of simple, out-of-the-box features that Airtable offers which would require complex formulas to replicate in something like Google Sheets or Excel. 

Just like with filters and views, we’ll go into more detail on linked records in the second part of the guide. 

Easily support no-code and low-code automation

Between its native automation tools and its extensive integrations with third-party automation providers, Airtable is an indispensable tool for any no-code builder.

As you can see in Airtable’s page on XRay.Tools, Airtable is supported by virtually every popular automation app, like Zapier, Make, Workato, n8n, and Bardeen. 

Even if you aren’t using apps like Zapier, Make, or similar automation providers, you can build no-code automations directly in Airtable itself. 

While Airtable’s native automation tools don’t support as many integrations as third-party apps, you can still use Airtable to automate actions in dozens of popular apps like GMail, Slack, Microsoft Teams or Github. 

With features like automation, filters, views, and more, Airtable is an ideal database app for no-code and low-code builders. 

We’ll cover all of these features in depth in the next part of our guide. Now, we’ll walk you through building your first base. To follow along, just go to www.airtable.com and create a free account. 

What you’ll see on Airtable’s home screen

First, let’s take a look at what you’ll see the first time you open up Airtable.  

When you first open up Airtable, you’ll have one default workspace called “My First Workspace”. 

You can see three options here for creating your first base: Start from scratch, Quickly upload, and Start with templates. 

You’ll also see a few options down in the bottom left-hand corner: Templates, Marketplace, and Universe. 

Templates

With “Templates”, you can browse a library of premade layouts that you can use to quickly build your Airtable bases. Templates are a great timesaver, but we’d recommend starting from scratch first so you can develop an understanding of how Airtable really works. 

Marketplace

If you click on “Marketplace”, you can explore a variety of free and paid extensions. Extensions are essentially add-ons that extend the functionality of your Airtable bases. 

Extensions can be extremely useful tools, but we won’t really be covering them in this beginner’s guide. For newcomers, there’s more than enough to explore with Airtable’s native features alone. 

Universe

Under “Universe”, you can find a bunch of case studies and other articles exploring how you can use Airtable in hundreds of different industries and use cases. 

There are lots of great resources that you can explore later, but for now, let’s focus on setting up your first base and table. 

Airtable’s basic structure and hierarchy

As you’re getting started with Airtable, it’s important to know how everything is structured so you can build databases that suit your unique needs. 

Airtable follows a simple hierarchy of Workspaces, bases, and tables. 

A workspace is essentially a folder for your bases. 

If you click on “Create a workspace”, you can add a new workspace to your account. 

When you click on “All workspaces”, you’ll see your new workspace right alongside the default space created by Airtable. 

A base is a database that can hold multiple tables, and a table is where you can store individual records. 

Each individual record can contain several fields displayed as separate columns, and each field can have its own unique type. 

We’ll explore field types in more depth later on. For now, let’s create a base in our new Workspace. 

‍

Building your first base and table in Airtable

When you create a new base, Airtable will automatically add a new table (called “Table 1”) with a few default fields and three blank records. You’ll see this same setup every time you create a new table. 

Airtable will provide fields for Name, Notes, Assignee, and Status. You can edit these fields, delete them, or add more. 

For our example, we’ll turn this base into a team directory. Follow along to explore some of Airtable’s field types and other features. 

Label your records with the “primary field”

The first field on the left (labeled “Name” by default) is called the primary field. It’s the field that’s used to identify each record. 

As a general best practice, we at XRay like to populate the primary field with a simple formula - but we’ll get back to that later. First, we’ll walk you through editing your other fields and adding new field types. 

Editing fields in Airtable

Instead of this “Notes” field, we want a “First Name” field to start building our Team Directory.  

You can click the arrow next to any field name to edit that field. This will let you access a menu where you can change the field’s name and type. 

Change the type to “Single line text”.

Change the name to “First Name”, and click “Save” to save your changes. 

Then follow the same process to change the “Assignee” field into a “Last Name” field.

Use unique field types to suit your data

Next, let’s add some basic contact info to our directory. 

Change the Status field into an “Email address” field. 

When you choose the “Email” field type, any email address entered will be formatted as a “mailto” link, so you can start composing an email by clicking on the address. 

Choosing an appropriate field type for your data in Airtable can add a lot of convenient features to your base. 

Creating new fields in Airtable

We’ve used up all of the existing fields in Airtable’s default template, so we’ll need some new fields for phone number, department, start date, and notes. 

To add a new field, just click on the plus sign at the right of all your current fields. 

Then choose the name and type of your field.  We’ll add a phone number field with the phone number type.

Then we’ll add a single select field for “Department”. 

Create a list of options with single select fields

With a single select field, you can add a list of preconfigured options for a user to choose from whenever they add or edit a record. 

In our example, we’ll add options for a few key departments, like Engineering, Design, HR, Accounting, and Marketing. 

You can change the color for any of these options by just clicking on the color and picking the one you’d like to use. 

You can also set a default option to use for every new record, but we’ll leave that blank. 

Note that Airtable also has multi-select fields that work in largely the same way, but will allow you to choose multiple options in the same record. 

To finish setting up our Team Directory’s fields, we’ll add a “Start Date” field with the “Date” type, and we’ll add a “Notes” field with the “Long text” type. 

Then, quickly fill in a few records with data so that you’ll have something to work with - but leave the primary field blank for now.

Populating the primary field with a “concatenate” formula

As we mentioned earlier, we always fill in the primary field with a formula at XRay. In this Team Directory, we’ll use a simple “Concatenate” formula to display each team member’s name in a “Last, First” format. 

First, change the primary field’s type to “Formula”. 

A formula field will be automatically populated with the result of the formula you enter. You won’t be able to edit the contents of any specific formula field manually.

To add the “Concatenate” function, start typing “concat” in the “formula” field. You should see the “Concatenate” function appear. 

You can just click on the function to insert it into your formula field.

The concatenate formula will combine, or concatenate, multiple strings of text. 

Each separate piece of text that you want to combine needs to be separated by a comma. 

Search for the “last name” field, select it from the list, add a comma, and then add the “first name” field. 

Then save the field. 

This formula works, but note that it smooshes the last name and first name together. That’s because the concatenate formula will only include any text or data we explicitly enter into it. 

We need to add another piece of text to the concatenate formula to separate these two strings. 

Edit the formula, and add a comma and space in quotes (“, “) to give this field better formatting. 

Your “Name” field should now be properly formatted.

Using ampersands instead of Concatenate

Alternatively, you can also combine fields and text by using an ampersand between each item, like this: Last Name & “, “ & First Name

Functionally, it’s the same thing as the concatenate formula, so you can use whichever you’d prefer. 

Maintain consistent records and enable quick updates with formula fields

But why go through all that trouble? Why not just enter the full name manually?

Using a formula field as the primary field ensures that all of your records are named consistently. 

For a directory like this, you don’t want to have some people labeled as “Smith, John” while others are “Jane Doe”. 

And if you want to change how each record is labeled, you can just change the formula once instead of updating every single record individually. 

For instance, try updating the formula to put the surname last. 

Instantly, all of your records should reflect the new formula and formatting: “first name” first, “last name” last. 

And if you change the formula back, your records will once again be updated instantly. 

Making these changes manually for every record could take hours with a large database, so using formula fields can be a huge time saver. 

Automation best practice: Label formula fields with emojis 

Just a quick note for no-code builders: if you’re using Airtable for automation with providers like Zapier, another best practice to employ here is to add a specific emoji to any formula field, like a lightning bolt or robot face. 

This will let you identify this field as a formula field when you’re working in an automation provider like Zapier. 

While Airtable will prevent you from entering data directly into formula fields, third-party apps like Zapier will often let you try to enter data into them, which may cause the automation to run with unexpected results. 

Using an emoji is a simple way to remind yourself to leave the field blank when you’re building in Zapier. 

That’s just a quick aside for any automators out there; now let’s get back to Airtable. 

Importing CSV data into Airtable

Now that we have all of our fields configured, this is a decent table to get started with, but we need some more data to really explore Airtable’s features.  

Let’s quickly add some existing data by importing a CSV. 

If you want to create some mock data to work with while you’re exploring Airtable, we’d recommend checking out Mockaroo. That’s what we used to instantly generate the mock data in our example.

To start importing a CSV, click on the arrow next to the table name, scroll down to the first option that says “Import data”, and select CSV from the menu. 

Choose the file you want to import, and click on “upload”. 

When you import a CSV, Airtable will try to automatically map each field in the CSV to an appropriate field in the table, but it will often make some mistakes or even just skip fields (as you can see in the example below). 

Don’t worry if Airtable didn’t assign your fields correctly; you can map the fields manually in the “Adjust your import” section. 

Just select the field in your CSV that matches each field in your Airtable base. 

Note that you can’t map anything to the formula field, since that field will be populated automatically by the formula we entered. 

In many cases, your CSV will include a title for each field as the first entry. While this can be helpful for initially mapping your fields, it’s not something that you need to keep in your final database. 

To exclude that row, just click on “other settings”, and choose “Exclude first row in import”. 

Now that all of the fields are matched up, you can just click on “import” to add the data to Airtable. 

Note that your formula should instantly populate all of the primary fields for your newly imported records.

 

Next, let’s take a look at a couple of simple features that immediately make Airtable more accessible. 

Sorting and grouping data in Airtable

Right now, like any spreadsheet, all of this data is not especially easy for a person to read. It’s just row after row of data. 

But by sorting or grouping this table, you can instantly make it easier to parse. 

Click on “Group”, and group by “department”. 

Now, all of the records will be split into a visually distinct group for each department listed in the “department” field. This makes it much easier to scan the data and find the entry you want. 

To add even more organization, you can add a sort to display every record in alphabetical order. 

Click on “Sort”, and sort by the “Last Name” field, A-Z. 

Now, every record is sorted alphabetically within each group. Anyone can look up a team member in the directory in seconds, and it just took a few clicks. 

You can even save these different sorts and groupings as unique “views” within the table, but you’ll have to wait for Part 2 before diving into views. 

Now that we have the basics in place, let’s go further and start exploring some of Airtable’s more powerful features. 

An introduction to Airtable formulas and functions

Next, let’s go into some more depth with formula fields. 

Formula fields automatically generate the contents of a given field by running a simple calculation. 

We already showed you how to use a simple concatenate formula for the “Name” field, but there’s so much more you can do with Airtable formulas. 

If you’re familiar with writing formulas in other spreadsheet apps, Airtable’s formulas will be very easy to use. 

But even if you don’t have any experience with formulas in other software, don’t worry; Airtable uses a simple syntax that’s easy to learn. Just explore the official formula field reference guide for more info.

Transform and reformat your data with Airtable functions

Formula fields are useful in countless different contexts. 

You may want to create a due date field that’s 3 weeks after a start date field. You may want to simply reformat some data to capitalize names, convert dates to a specific format, or concatenate several fields together like we did earlier. 

There are nearly 100 different functions that can be combined for thousands of use cases, so we can’t cover them all in this guide. 

But for now, we’ll give you a few quick examples to help you get started with Airtable formulas. 

Display every record’s unique ID with RECORD_ID()

One very simple but extremely useful function will let you retrieve and display the unique ID of every record. 

Just add a new formula field, and enter “Record_ID()”. Name the field “Record ID”, and save it. 

‍

Now, every record displays its unique ID, which will make it easy to find, update, or delete any record with an automation. 

Record ID is a simple but convenient function for any no-code builder, as it will let you easily and accurately reference the record ID in automation platforms like Zapier and Make. 

Hiding fields

If you don’t want to show this field all the time, you can just click on the arrow next to the field name and select “Hide field”. That will hide the field in this view, but won’t delete it. 

As a helpful reminder, Airtable lets you know that you have one hidden field in this view with a button at the top of the view.  

Formulas with multiple inputs

Adding the record ID is very simple, but most Airtable formulas will require a little bit more information. 

You’ll usually need to provide two or more pieces of data called “arguments” to have the function run properly. 

For example, let’s take a look at formatting dates with an Airtable formula. 

Format dates in Airtable with DATETIME_FORMAT

When you’re working with automation and other no-code tools, you often end up with dates that are pretty difficult for a human to quickly read. 

For instance, in the screenshot below, we’ve added the kind of date-time that Zapier will often produce in the new “Ugly Date” field. 

It includes the time and time zone in a single long chain of characters, like this: 2023-05-09T15:14:26-04:00. 

Let’s add a new formula field to reformat this into something that’s a bit easier to read. Just be sure to create a new “Ugly Date” field first, and copy and paste the datetime above into one of the records. 

Create a new formula field, and call it something like “Date - Formatted”. 

To find an appropriate function to add to the formula, just start searching for “Date”. Once you start typing “Date”, you’ll notice a list of options appears. 

If you’re building a formula in Airtable and you don’t know the exact name of the function you want to use, you can just search for a relevant keyword and it should appear. 

Click on the “DATETIME_FORMAT” function to insert it into your formula. 

Providing the required inputs in the DateTime function

When you add a function to a formula field in Airtable, a helpful tooltip will explain everything you need to enter into your function. 

The first argument needs to be the date that we want to reformat, so you can just reference the {Ugly Date} field. Add a comma after the field’s name to complete the first argument. 

‍

For the second argument, you need to specify the date-time format you’d like to use. 

For example, if you want to include the month, day, and year with 2 digits each, all separated by hyphens, you can enter MM-DD-YY in quotes. Then, close out your formula with another parenthesis, and save the field. 

Now you should see the reformatted date in the “Date - Formatted” field for the record that included an “Ugly Date”. 

However, you’ll also notice that all of your other records say #ERROR!

This is because the “Ugly Date” field referenced in “Date - Formatted” field is empty for all of these records. There’s nothing to reformat, and that causes an error.

Once you enter a date into the “Ugly Date” field for another record, the “Date-Formatted” field will be populated correctly. 

Building flexible formulas with IF statements

However, if you want to ensure that every record looks nice whether a date is provided or not, you could use a simple “If” statement instead. 

With an If statement, you can use different functions when certain conditions are met. 

To construct an If statement, add the “IF()” function to your formula. 

Then, you’ll need to provide three arguments to complete the IF function. 

First, you need the logical condition that the function will assess. In this case, we want the function to determine if there’s any content in the “Ugly Date” field. We can do that by simply entering the “Ugly Date” field as the first argument. 

The next argument will specify what the formula should do if the condition is true. In our case, that will simply be the DateTime formula we already entered.

So we’ll add a comma after that formula and enter our final argument: the formula that should run if the condition is false. 

In that case, we just want the field to say “No date provided”, so we can enter that text in quotes. Now we’ll close out this If statement with a parenthesis, and save it. 

Now, every record with an empty “Ugly Date” field just says “No date provided” in the Date - Formatted field. 

Using formulas in Airtable can be a convenient way to format your data, run calculations, and retrieve vital information automatically. Try exploring Airtable’s formulas on your own to discover ways you can turn your spreadsheets into a dynamic database. 

Begin organizing your team’s data with Airtable

With some specialized field types and a couple formulas, you should be well on your way to discovering what Airtable has to offer. In the second part of this guide, we’ll go even further and cover linked records, filters and views, workflow automation, and customizable interfaces. 

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

‍

Tutorial
May 31, 2023
3+ Ways to Share Your Airtable Bases

Airtable is a fantastic app for organizing your team’s data, and with Airtable’s extensive options for sharing and syncing specific views, it’s easy to collaborate with coworkers or people outside of your organization. 

In this post, we’re going to take a deep dive into Airtable’s Share and Sync settings, and we’ll show you three different ways you can share your Airtable bases: Sharing views with a link, syncing data between tables, and using form views. Along the way, we’ll also cover creating HTML embeds with your Airtable data, and the new “Data Libraries” feature. 

With all of these options, you can easily configure your Airtable bases to start collaborating with your team, your clients, or anyone on the web.

‍

Note: All of the sharing options that we’ll go over today can be accessed by clicking on the “Share and Sync” button at the top of any view. 

Sharing Views with a Link

To get started, let’s take a look at creating shareable links and embeds for specific views.

Sharing a view with a link will let you share the data from a specific view in a “read-only” format. You can allow users to copy data from the shared view, but you can’t allow people to edit records from that link. If you’d prefer to add the data directly to your site, Airtable will also provide an optional HTML embed. 

Shared views and embeds work for all view types except for lists, and they’re a useful way to share data for simple reports, demonstrations, and reference. They’re especially helpful if you need to share data with someone who doesn’t use Airtable. 

In this tutorial, we’ll demonstrate view sharing using a basic grid, but all of the options are essentially the same no matter which view type you’re using. 

Creating a shareable link for your view

To get started, open up the view that you want to share. Then, click on the “Share and Sync” button in the toolbar.

The first option in the menu will be “Create link to view”. When you select this option, Airtable will create a shareable link for the view that you currently have open. 

There are several options you can configure here, but first, let’s just see what the shared view looks like. 

Preview your shared link

We’ll copy this link, and open it up in another browser so we can see exactly what everyone else opening this link will see. 

All of the data from our view is visible here, and we can filter, sort, or group the data however we’d like.

But with the shared view link, we can’t edit or delete records, and we can’t add any new ones either. 

Now we’ll go back to our Airtable base to explore our options for configuring our shared view.

Disabling or regenerating your shared link

Immediately, you should note that the “Share and Sync” button is now highlighted in pink. This indicates that the view has been shared. It’s basically just a reminder that any data in this view may be visible to others. 

If you want to disable or reconfigure the sharing link, click on “Share and sync” and select “Link settings”. 

At the bottom of this menu, you’ll see a couple relevant settings. 

First, there’s “Generate new link’. This will create a new URL where people can access your shared view. This is useful if you want to keep sharing the base, but remove access for anyone who only has the old URL. 

Next, you’ll see “Disable link”. This option will disable the existing link, and won’t create a new one. This is helpful if you just want to stop sharing the view altogether. If you disable the link, you’ll see the “Share and sync” button is no longer highlighted, since this view isn’t being shared anymore. 

Allow users to copy data from your shared view

At the top of the “Link settings” menu, the first option you’ll see is “Allow viewers to copy data out of this view”. After creating a shared view, this setting is enabled by default.

When “copy data” is enabled, anyone with the link will be able to easily duplicate the data in your view into an Airtable base of their own. 

When opening a shareable link with copying enabled, users should see a button at the top of the view that says “Use this data”. 

When someone clicks on it, Airtable will let them make a copy of this view in another Airtable account. Any copy that users make won’t be synced to the original table in any way, but they will see any data that was in the view when they made their copy. 

If you disable this option, users won’t see a “Use this data” button, but they could still copy the data manually. However, if they try to copy multiple records at once, Airtable will prevent them from doing so. 

Ultimately, this setting is just about providing a convenient way for users to copy the data if you’d like. 

Displaying hidden fields in shared views

Next, there’s an option that says “Show all fields in expanded records”. Although you might see a different word instead of “record” - we’ll explain why at the end of this section. 

Essentially, this option will determine if users can see your view’s hidden fields or not. If you leave the option disabled, users will have no way to see this view’s hidden fields. 

If you enable the option, users still won’t see hidden fields in the main layout of the shared view, but they will be able to see these fields when they expand the record. 

In our example, “Record ID” is a hidden field in this view. We’ll enable “Show all fields in expanded records” and see what that looks like in the shared view. 

We can’t see the “Record ID” field in the grid view, but when we expand any record, we can see an option to view hidden fields. 

Why does my Airtable base say “Show all fields in expanded people”?

You might see some unusual or unexpected verbiage in this option. This is because the “hidden fields” option will use whatever term you’ve provided for ‘records’ in your table. 

So if the records in your table are called “People”, this option will say “Show all fields in expanded people”. If the wording looks a little strange, Airtable is probably just using your custom term for “record”. 

Adding password protection to your shared view

Going back to the link settings, the next option we see is to “Restrict access with a password”. Enabling this will require users to enter a password before they can access the shared view.

Once you enable the option, you’ll be prompted to create a password for the view. This is the password users will need to enter to see your shared view.

Once the password is set, you can click on “edit” to change the password. Just note that once you change the password, the old one won’t work anymore. 

Here’s what a user will see when they open up a password-restricted link. 

Once they enter the correct password, they can see the shared view. 

If you’d like to go back to allowing unrestricted access to your shared view, you can just disable this option at any time. However, you will need to set the password again if you re-enable the option. 

Limit your shared view to users with a specific email domain

To finish out the “Link settings” options, we see a setting to “Restrict access to an email domain”. 

When this setting is enabled, users will have to log in to Airtable before they can see the data in your shared view. They’ll only be able to see it if they use an email address from the domain that you specify. 

For example, we could limit access to a view to users with an XRay.Tech domain.

When we open up the view, we’re prompted to sign in to Airtable. 

If we use an “@gmail.com” account,  we won’t be able to access the view. 

Just like with passwords, you can disable this setting at any time to remove the domain requirement. 

Creating an HTML embed for shared views

Finally, before we explore synced tables, let’s take a look at embedding your shared views.

If you’d like to add your shared view to a page on your website, or as part of a slide deck, Airtable provides an embed code with shared links. 

The embed will use all the same settings as the shareable link. It just adds an iFrame wrapper so you can embed the view into your site’s HTML.

To embed a shared view, start by opening the view you want to share and click on “Share and Sync”. 

Click “Embed this view”. Airtable will open up a new tab with a few options for configuring your embed, and a preview of what the embed will look like on desktop and mobile. 

The first option is “Use card layout on desktop”. 

Embedded views always use a card layout on mobile, as you can see in the preview. When you enable this option, you’ll also see a card-based layout on desktop. If you select it, you’ll see the layout updated in your preview. 

 The next option is “Show view controls”. As the tooltip says, enabling this will let users filter and sort data in your shared view. 

Once you’ve configured your settings, you can view, edit, and copy the embed code in the panel on the right hand side. 

Creating synced tables and using the new data library feature

Next, let’s go over creating synced tables in Airtable. 

With synced tables, the contents of your selected view will be automatically synced to another table that you choose. 

The two tables can be in different bases, and in different workspaces. However, they both need to be within the same organization. 

Additionally, you can only create syncs using grid views. Once you’ve created a sync, you can then create additional views with different types for the same data. You just have to create the initial sync with grid views. 

1-Way and 2-way syncs

By default, Airtable sets up 1-way syncs, and until recently, this was the only option for synced tables in Airtable. 

With a 1-way sync, you can edit the source table, and all of your edits will be reflected in the synced table. However, you can’t edit any synced records in the synced table. You can only make edits to the source table.  

Recently, Airtable has added beta support for 2-way syncs, which allows you to edit synced fields directly. Your changes will then be synced to the original source table. 

Configuring a 1-way sync

To get started with syncing your tables, open the view that you want to use as a source and click on “Share and Sync”.

Then, select ‘Sync data to another base’. Check “allow data in this view to be synced to other bases”. Then click on “Sync this view”.

You’ll be prompted to choose a workspace and base that you’d like to sync this view to. Here, you can choose whether to copy the data or sync it. Copying the data will just duplicate the data in its current state, and won’t sync any changes made in the future. 

Once you’ve finished your initial configuration, click “Create Table”. 

Airtable will open up your new synced table, and a new settings window will pop up. 

In this window, you can rename the sync by clicking on the three dots next to the sync name. In this same sub-menu, you can also change sync source, or choose which fields that you want to include in the sync. 

Back in the main settings menu, you’ll see an option called “Edit source records”. Selecting this option will enable a 2-way sync, but you’ll have to reconfigure the source base as well. 

We’ll focus on setting up a 1-way sync for now, but we’ll revisit the 2-way sync later in this post.

Configuring automatic or manual syncs

The next option will let you choose how and when your synced table is updated. By default, this is set to “Automatically sync changes at regular intervals”, but you have two other options as well. 

If you choose “Only sync changes when requested”, the synced table will never automatically retrieve updated data from the source table. Instead, you’ll have to run a manual sync whenever you want to update the data. 

If you choose “Stop syncing changes and convert to unsynced table”, the synced table will just become a regular table. Whatever data was in the table will remain, but it won’t be synced with the source anymore. 

In most cases, you’ll probably want to use “Automatically sync changes at regular intervals” so your synced table stays up to date on its own. You can expect a sync about every 5 minutes or so, but the exact interval will depend on your Airtable pricing plan. 

Handling deleted records

Finally, our last option in this menu is to “Delete records when they are deleted or hidden in source”.

When a record is deleted in the source table, you can choose whether or not to have it deleted in the synced table as well. 

If you’d like to revisit any of these options later, you can reopen this menu at any time in your synced table by clicking on the table name and selecting “Update sync configuration”.

Reviewing your finished sync

In your fully configured synced table, you should see all of the data from the source table. Every field will have a lightning bolt symbol, indicating that the data comes from a sync. 

Since this is a 1-way sync, you can’t edit any of these fields or add new records. However, you can add new fields, such as formula fields that reference data from these synced fields. 

To see how the sync works in action, return to your source view and make a couple quick edits. Your synced table should update shortly after without requiring any additional input. 

But what if you want the sync to work in both directions? 

Configuring a 2-way sync

For anyone working at large organizations, enabling 2-way syncs can be a huge boost to productivity and collaboration. 

To enable a 2-way sync, go back to your source view. Click on “Share and Sync”. 

Select “Sync data to another base”, and enable “Allow edits from other bases”. Choose which fields you’d like to include in this sync, or just use all fields.

Once you’ve configured the fields you want to use, close this settings menu and return to your synced table. 

Click on the table name and select “update sync configuration”. 

Enable the option that reads “Edit source records”, and close this settings menu. 

Now, you can make edits to either the source or the synced table, and those edits will automatically be synced to the other table. 

However, you can’t add or delete records in the synced table. You can only edit records that already exist in the source table. 

Note that the synced table still includes the lightning bolts, while the source doesn’t. That should help you to tell the two apart at a glance. 

Syncs in Airtable are great for sharing data with your team without having to share an entire base that may include sensitive information, or information that’s just not relevant to that department. 

However, syncs aren’t a viable way to share data with outside organizations like clients and customers. 

Using data libraries in Airtable

To finish up with Airtable syncs, let’s take a look at a closely related feature: your Airtable Data library.

The data library is essentially a way to create a templated synced table. It will enable your team to create a synced table referencing your selected view whenever they want. 

Under the “Share and sync” menu, you’ll see an option to add your view’s data to your organization’s “Data library”.

When you’ve added a view to your data library, users in your organization will have the option to quickly copy any data shared to the library whenever they make a new table. 

To add a view to your data library, click on “Share and Sync”. Select “Publish to data library”.

Airtable will prompt you to provide a name and a description. It will also give you the option to lock the current table, which it will enable by default. 

You can’t edit the share and sync settings of a table when it’s locked, but you can unlock the table later just by clicking on the view title.

Once you’ve configured all your settings, click on “Publish”. 

Your view is now part of your Data library. 

To access it, create a new table. Any views that you’ve added to your Data Library will be visible near the top of the menu. 

If you select a Data Library option, your new table will be a synced table using the original view as the source. 

Your new table will use a 1-way sync. You won’t be able to edit any synced fields in the synced table. 

Currently, 2-way syncs aren’t compatible with the Data Library feature. If you enable a 2-way sync in a table synced to a data library, the dataset will be set to “Inactive”, and won’t be accessible when creating a new table. 

–

Data libraries are a bit of a niche feature for small companies, but could easily become an indispensable tool for larger organizations . 

If you’re managing data for a large publisher or marketing agency, using data libraries will be a great way to streamline your sources of truth and let every department reference critical data with just a couple of clicks. 

Collecting data with form views

Finally, let’s take a look at the last option that you’ll see in the sharing panel: Form views. 

In Airtable, a form view creates a survey that includes a question for each field in the table. As the owner or editor of the base, you can remove questions from the survey to skip certain fields, edit the field labels into questions, and add descriptions for further context. 

Once your form is configured however you’d like, you can send it out and gather data from anyone with the form link. 

This is a great way to let people contribute to your Airtable bases without needing any direct access to your data. 

To get started, click on Share and Sync, and click “Create a form view”. 

Alternatively, you can create a new view in the left hand panel by clicking on the plus sign next to “Form”. 

By default, your new form view will include every field in the table. If there are any fields you want to skip in your form, you can just drag and drop them out of the form. 

Taking a field out of the form won’t hide or remove the field in other views; it will just skip the field in the form. If you’d like to add any fields back in, you can just drag and drop again. 

Every field will start with its original label from your table, but you can edit these into more verbose questions and prompts. 

Editing the titles or adding descriptions won’t affect the fields in your other views either. 

Opening the form and submitting data

While you’re in the form builder, you can’t actually complete the form and submit data. 

You can enter text into the boxes, but there’s no way to submit that text and create a new record from this editor. 

Once you have all the questions you want, you can click on “Open form” to see the live form and test it out. 

When accessed through this link, you should be able to fill out the form and create a new record with your responses. Note that the new record will not be created until the form is submitted. 

After you’ve given your form a preview and a test, it’s time to share the form. Return to the form view in your Airtable base and click on “Share form”. 

Here, you can copy the form’s URL to share it with others, and configure key sharing settings. 

Configuring your form’s sharing settings

The form sharing settings are all pretty straightforward, but let’s go through those options one at a time. 

With “Restrict access with a password”, you can set a password that users must enter before accessing the form. 

If you enable “Restrict access to an email domain”, you can limit access to users with an email address from a specific domain. This is a good way to limit responses to people from your organization. 

“Stop accepting new responses” will prevent people from submitting new data without getting rid of the link. When you enable this option, you can also provide a custom message to give further context. 

For instance, in this screenshot, we’ve updated the message in this task creation form to say “The task maker is down for maintenance! Check back on Monday.”

If you open the form after selecting “Form is not accepting responses”, you’ll just see a message like the one pictured below. 

The “stop accepting new responses” option is a good way to temporarily pause data collection on a form. 

When you’re ready for people to start using the form again, you can just disable the option. No need to make or share a new link.  

The last couple options will be helpful if you want to make a new link or delete the one you’ve created. “Generate new link” will let you disable the current link and create a new one, while “Disable link” will disable the current form URL without creating a new one. 

Ultimately, forms are a convenient way to let anyone contribute to a base, even if they’re not part of your organization - or even if they don’t use Airtable. 

Form views are the only way to create a publicly accessible URL where anyone can contribute data to your bases. 

Just remember to be careful about when and how you use form views. In many cases, you might not want anonymous users contributing data to just any base. 

But with Airtable's sharing options, you can make sure that the form is only accessible to the people you want to share it with. 

‍

Share and collaborate with Airtable

By configuring a few simple settings, you can share any airtable data you’d like with your team, your clients, or anyone on the web. Just follow along with this tutorial and choose the sharing format that works best for you. 

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

‍

Understanding Automation
May 24, 2023
The Rise of the Workflow Designer

Have you ever heard of a workflow designer? Chances are, you probably haven’t yet. It’s a role that’s only beginning to emerge right now.

But over the next few years, it’s going to become extremely important for any business that wants to leverage the latest technology and get the most out of their software. 

In this post, we’re going to explain what a workflow designer is, and why workflow design will become a critical discipline for every industry in the coming years. 

Operations managers: precursors to Workflow design

First, let’s address the circumstances that have built up to the rise of the workflow designer, and the circumstances that many companies are dealing with right now. 

While you probably aren’t familiar with any workflow designers yet, you likely are familiar with some operations managers who work in specific departments.

For instance, your company may have people on your team working in sales operations, marketing operations, finance operations, or even no-code ops. 

These roles have emerged as talented salespeople or marketers switch their focus to helping others in their department determine the best way to get their work done. 

Operations managers help their team to establish consistent, reliable processes that achieve the results the business is looking for. But even with great operations managers, companies often continue to face the problem of siloed data. 

Struggling with siloed data

At many companies, each department will frequently struggle to get the data they need to truly make informed decisions. 

Sharing data across teams is a critical issue, since many processes are not confined to a single department. For instance, simply engaging with a new lead will involve efforts from marketing, sales, finance, and your product team. 

In many cases, your finance ops manager can’t always get the data they need from the other departments. 

A handoff between the sales team and finance department is a great example of how the specific price and package purchased might get lost in communication. And they won’t always be able to share the data that they create with the rest of the team either. 

Since Salesforce licenses are so expensive, you might not want to pay for your accounting team to have access to the deal pipeline. 

This forces you to move the data out of Salesforce so your accounts team can access it.

Most often, this data transfer is handled through messages, emails, or conversations between team members in different departments. 

Without a well-designed workflow in place, you’re likely going to see lots of manual work in exporting and processing that data as it gets handed off from one department and their software to another department and their different software.

A chief operations officer or a general operations manager can try and create systems to bring together data from every department, but this can be difficult when every team is relying on different apps and the COO or Ops Manager may not be familiar with most of them. 

They could potentially consult with IT or engineering, but we all know how overburdened tech teams usually are. Grabbing more of their time for internal operations tends not to be a great use of your resources. 

This is where a workflow designer comes in. 

What workflow designers do

A workflow designer designs and implements better ways to work using automation, AI, and other no-code tools.

They find ways to connect and improve the software your company already uses, and find ways to streamline the way that your team works. 

Designing the way you spend your time at work

A workflow designer’s main responsibility is to optimize your time. 

Much of modern app development is focused on maximizing the amount of time that you spend in that app. To that end, popular SaaS tools have been introducing all sorts of add-ons and new features that go beyond the original core functionality of the app. 

For instance, this is why you’ve seen Zoom add email and calendar, while Google Calendar adds Hangouts to each meeting by default. The lines are getting blurrier and blurrier between application feature sets. 

Just consider how many different ways you and your team take notes. Nearly every app used in the workplace wants to offer meetings, and chat, and notes, and more, so that you stay in their ecosystem from 9 to 5. 

Workflow designers are uniquely positioned to push back against all of the apps that want to eat up your time and attention. 

With no-code automation and AI software becoming more prevalent and more accessible every day, workflow designers now have the tools they need to build systems that connect every department in an organization. 

Using strategies like no-code automation, Workflow designers can help you to leverage the most useful pieces of each app while minimizing the amount of time you have to spend in each one. 

Simplifying your workflows with no-code tools

In many cases, a workflow designer can refine your business process so you just have to fill out a form or click a button, prompting an automation to move your data through every relevant app in the background. 

With less time devoted to menial tasks, you and your team can direct your attention to where it has the greatest impact: on creative, analytical, strategic, and thoughtful work. 

Well-designed workflows will improve the employee experience for everyone at your company. 

Without getting bogged down in tedious, repetitive tasks, your team can focus more on the work that actually requires their unique skills and insight. 

And with the consistency created by standardized and automated workflows, your team will be more confident in their work than ever. 

Perhaps most importantly of all, a workflow designer will enable you to spend more of your time on making key decisions, and less time on the execution of your decisions. 

Spend more time making decisions and less time processing data

Fundamentally, a workflow designer is someone who increases your capacity to make decisions. After all, you can only make so many decisions in a day, because it takes time to gather the data and implement your ideas. 

A workflow designer will analyze the way you’re working now, and find ways to get the right information faster.They’ll also make sure the data you get is accurate, and consistently formatted so you can actually trust your source of truth. 

With better data delivered to you in less time, you’ll have more time every day to make critical decisions. 

Going beyond workflow automation

But workflow design is not just about automation. Connecting tools together to automate tedious, repetitive work is a big part of implementing a workflow designer’s insights, but it’s certainly not their only approach. 

Ultimately, a key part of a workflow designer’s job is to understand every facet of your company’s processes. By understanding how work gets done now, they can discover opportunities to improve your processes without getting rid of everything that already works great. 

And critically,  it’s important not to skip the step of asking why you would build the automation, and if you should build it in the first place.

In many cases, you can optimize your workflows by simply reorganizing your data in Airtable, Notion, or whatever app you’re using. 

In other cases, simply documenting a standard process to follow will help your team to be more efficient. 

And with AI becoming more sophisticated and more accessible every day, the best solution is often to just send a quick prompt to ChatGPT. 

A good workflow designer will never jump straight to building a complex automation when a simpler solution is a better fit. 

Retaining control over your automated workflows

Even when a workflow designer decides to implement an automation, they can still ensure that your team retains critical oversight over the entire process, with the ability to confirm automated work at key moments. 

For instance, they might build a workflow that sends automated responses to your inbound leads.

Instead of just sending that automated response right away, the workflow designer might ensure that your team can check the message first, and edit it if needed. 

That way, you can be confident that you’re always sending your leads contextually appropriate responses, while still drastically reducing the amount of time you have to spend drafting personalized responses for similar inquiries. 

Regardless of the specific strategies and systems they implement, a workflow designer understands that your most valuable resource is the people at your company.

Their time and their attention are limited. 

Designing better workflows that save time and get more reliable results will let you get the most out of your team’s time. This will enable you to scale your processes by removing the bottlenecks that limit your capacity.  

How to start leveraging workflow design today

Workflow design is quickly emerging as an important discipline for any industry. But how can you start leveraging the benefits of workflow design today?

To get started, you can always check out the posts on our blog. We’ve published lots of tutorials and deep dives to help you think like a workflow designer and give you the tools and knowledge you need to optimize workflows for yourself and for your team. 

Our tutorials are often focused on the nuts and bolts of automation, but our upcoming workflow design course will take a more holistic approach to workflow design. We’ll share our own strategies for analyzing a workflow, discovering the best opportunities for optimization, and implementing critical improvements.

This course won’t just help you to streamline your own day-to-day work; it will show you methods you can use to improve workflows for your entire team.

If you and your team aren’t looking to take on the additional responsibilities of being workflow designers yourselves, you can always reach out to XRay instead. 

Our workflow consultants will help you to uncover areas to improve in your workflows, and build the automations, AI tools, and other resources you need to streamline your processes. 

Just click on “Contact” to schedule a 15-minute discovery meeting, or explore our site to learn more about what we do. 

Putting more focus on how we work

Far too often, we put too much focus on slogging through our work, and we don’t stop to reflect on how and why we do what we do. Workflow designers can help to answer these key questions, create more scalable processes, and improve your employee’s experience at your workplace.

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

‍

Tutorial
May 17, 2023
Make Modular Automations with Sub-Zaps in Zapier

Are you tired of building the same actions repeatedly in Zapier? Do you find yourself duplicating similar Zaps for different purposes? Well, there's a solution for you! Let's explore how you can use Sub-Zaps in Zapier to create modular and reusable automations, saving you time and effort.

Why Use Sub-Zaps?

Sub-Zaps allow you to repeat commonly used sets of automated actions without having to build all the same steps in multiple Zaps. Let's take a look at a few use cases where Sub-Zaps can be particularly beneficial. 

Create consistent data from different apps

Sub-Zaps are a great way to ensure that you create consistent, reliable data from any number of different sources. 

Imagine you need to create new tasks and alert the assignee. Instead of creating multiple Zaps with the same actions, you can build a Sub-Zap that contains the steps for creating tasks and assigning them. This way, you can establish multiple avenues for creating tasks, such as using a simple form or sending a message in a dedicated Slack channel.

Or, suppose you want to add new leads and clients to your CRM from various sources like your website, third-party channels, emails, or in-person meetings. By using a Sub-Zap, you can ensure that all leads are added to your CRM in the same standardized manner, regardless of the source.

Quick and easy updates to your Zaps

Sub-Zaps are particularly useful when it comes to updating frequently used actions. Instead of updating these actions in multiple Zaps, you can update a single Sub-Zap. For example, if you switch your CRM from Copper to HubSpot, you can simply swap out one step in your Sub-Zap, instead of replacing that step in every Zap that funnels leads to your CRM.

It's important to note that Sub-Zaps are currently in beta, so the user experience may not be as polished as other features in Zapier. Nevertheless, they are functional and definitely worth trying out if you've built several Zaps that perform similar actions. Using Sub-Zaps appropriately will help you build more efficient and easily maintainable automations.

Overview: How Sub-Zaps work

Let's take a quick look at the broad strokes of how Sub-Zaps work and how you can incorporate them into your workflow. 

Sub-Zaps are built as separate Zaps that can be called from other Zaps. A Sub-Zap always starts with the trigger "Start a Sub-Zap" and ends with a "Return from Sub-Zap" step. This ensures that Sub-Zaps won't run unless called upon by another Zap.

Note: in this tutorial, we’ll refer to the Zap that calls on a Sub-Zap as the "parent Zap." There's nothing inherently different about parent Zaps, and it’s not a term you’ll see in Zapier; it's just a term we’re using to describe any Zap that calls on a Sub-Zap.

In the Sub-Zap trigger, you can include a list of inputs to collect data from the parent Zap. These inputs will gather relevant data for the Sub-Zap from the parent Zap.

In the "Return from Sub-Zap" step, you can include a list of outputs to send back to the parent Zap. These outputs are the data returned from the Sub-Zap to the parent Zap.

To call a Sub-Zap, you need to add a "Sub-Zap" action to your Zap and choose the "Call a Sub-Zap" event. Select the Sub-Zap you want to use and include any required inputs. You can then add additional actions to the Zap and turn it on to start using it. 

It's important to ensure that both the parent Zap and the Sub-Zap are published and turned on for the automation to work correctly.

Detailed Walkthrough: How to build and call a Sub-Zap

Let's go through a step-by-step walkthrough of how to create and use Sub-Zaps in Zapier. 

For our example, we’ll build a Sub-Zap that creates tasks in our Notion tasks database. 

Then, we’ll call on our Sub-Zap in one parent zap that watches for Airtable records.

And we’ll call on it again in another automation that watches for Slack messages in a dedicated “Tasks” channel. 

Creating a new Sub-Zap

First, create a new Zap. Immediately give it a descriptive name. Having a descriptive name is important when building a Sub-Zao, because you need to be able to find this Sub-Zap easily later. 

For the trigger, search for “Sub-Zap”. 

Choose “Start a Sub-Zap” as the event. This will indicate that Zapier should consider this Zap a Sub-Zap, which is required for it to be selectable in your parent zap. 

Then, fill in any inputs or “arguments” you want the Sub-Zap to collect from the parent Zap. 

The Sub-Zap won’t automatically have access to any of the data gathered in the parent Zap’s trigger and actions. 

Any data that you want to use from your parent Zap needs to be included in these inputs. 

In our example, there are a few fields we’ll need in order to create a complete task, like task title, assignee, due date, project, Notion ID, and Slack ID. 

When you create your inputs, you’re just providing labels; you don’t need to provide any values for these inputs yet. 

Testing Sub-Zaps: a tricky (but workable) process

Once you’ve added all the inputs you want to collect, you can click “Continue” and test the trigger. This is where you’ll first run into the main downside of Sub-Zaps. 

Testing is a bit clunky in Sub-Zaps, to say the least. 

When you run your test, the trigger will almost certainly succeed, but every one of your inputs will simply say “Missing Sample Data”.

Don’t worry! As bad as this may look, it’s actually fine. You’ll be able to add test data in a moment. 

Since the Sub-Zap is a fully separate Zap, it can’t gather any dynamic data from your Parent Zap unless you’ve already sent a call to this Sub-Zap from your parent Zap. 

Since you’ll probably want to use real data while we’re building and testing our Sub-Zap, go ahead and create a new Zap that you can use as a “parent Zap" in a new tab. 

In our example, we want our parent Zap to create tasks in Notion by filling out a short form in Airtable, so we’ll use a “New record” trigger in Airtable.

Once your trigger is configured, add a new action, and search for “Sub Zap”. 

Choose “Call a Sub Zap” as the event, and select the Sub-Zap you created earlier. 

Next, you can fill out all of the inputs that you configured in your Sub-Zap. Make sure to use dynamic data from your parent Zap wherever appropriate. In our example, we’ll fill out all of our inputs with data from the retrieved Airtable record. 

After providing data for all of your inputs, you can test the “Call a Sub-Zap” step. 

When you test the step, you’ll get an error because you haven’t added a “Return” step to our Sub-Zap yet, but this is fine. You can fix that later. 

Your sub-Zap received the call from the parent Zap anyway, so you’ll have the test data you need to build the rest of the Sub-Zap. 

Finishing your Sub-Zap with test data

Now you can switch back to the Sub-Zap and test the trigger again. 

This time, you should be able to see the call you just made from the parent Zap, and it should include all of the data you entered into the inputs. 

You can now add the actions that you want to include in your Sub-Zap. Adding actions in a Sub-Zap will be exactly the same as adding actions to any other Zap. Just make sure to only include the actions that you want to repeat every time you call on the Sub-Zap. 

In our example, we’ll add a Notion step to create a new database item in our “Tasks” database. We’ll fill in the fields with the data sent by the parent Zap. 

We also want to send a Slack message to the task’s assignee, so we’ll add a Slack action and choose “Direct message” as the event. We’ll fill out the message and include the Notion URL where the assignee can see their new task. 

Just like building any other Zap, you’ll want to test each step as you add them to your Sub-Zap. 

Once you’ve added and tested all of the actions you want your Sub-Zap to perform, you just need to add a “Return” action so that Zapier knows that the Sub-Zap is complete. 

Add an action, search for “Sub-Zap”, and choose “Return from a Sub-Zap” as the event. 

In the “Output/Return values” fields, you can include any data that you’d like to send from your Sub-Zap to any parent Zap that calls on it. We’ll just include the Notion task URL in our example. 

Test your return step, then publish the Sub-Zap and turn it on. 

Testing and calling a finished Sub-Zap

Now, you can go back to your parent Zap and test the “Call a Sub-Zap” action again. This time, the test should succeed. 

However, when you test a Sub-Zap call from the Parent Zap, the Sub-Zap won’t actually run any of its actions. Like we mentioned before, testing your work with Sub-Zaps is clunky. 

To make sure that the whole setup works, ensure that both the parent Zap and the sub-Zap are on, and run a live test. 

For our example, that means we’ll have to fill out the Airtable form to trigger the Parent Zap, which should in turn call on the Sub-Zap, which will create a Notion task, and send a Slack message. 

First we fill out the form.

Then, after we wait a few minutes for the Zap to trigger, we see a new Slack message.

The link takes us to the newly created task in Notion. 

So to sum it up, here’s how you can create a new Sub-Zap:

‍

1. Create a new Zap

2. Choose “Start a Sub-Zap” as the trigger

3. Add the inputs you want your Sub-Zap to collect

4. The first time you test the trigger, you won’t see any sample data

5. Create a new Zap to send the data (a “parent Zap”)

6. In your parent Zap, add a “Sub-Zap” action and choose “Call a Sub-Zap”. Call on the Sub-Zap you created earlier, filling in all of your inputs 

7. Return to your Sub-Zap. Test the trigger again, and load the recent call from your parent Zap. 

8. Add actions to your Sub-Zap, using data from your parent Zap as needed

9. Add a “Return from Sub-Zap” action to complete your Sub-Zap. 

10. Test your Sub-Zap, turn it on, and publish it. 

11. Return to your parent Zap, and test the sub-Zap again. 

12. Publish and turn your parent Zap on. 

13. Run a live test of your parent Zap. It should run all of its own steps, as well as the Sub-Zap. 

‍

Then, you can just call the Sub-Zap from any other Zap by adding a “Sub-Zap” step and choosing “Call a Sub-Zap”. 

Make your Zaps easier to maintain with Sub-Zaps

Sub-Zaps are a useful tool for building more efficient, easily maintainable Zaps. Since it’s still in beta, there’s still lots of room for improvement, but it’s well worth the effort if you’re building for a team and find yourself constantly duplicating your automations for each team member. 

Give it a shot today, and start saving some time while you’re building! If you’d like to see more tips about no-code automation and productivity, be sure to check out our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

‍

Understanding Automation
May 10, 2023
Fighting Back Against the Attention Economy

Every app that you use wants to eat up as much of your time as possible. It’s no secret that social media apps like Twitter or entertainment apps like YouTube want to keep you in an endless scroll of recommended content. 

But it’s not just social media that wants to monopolize your time. 

Even the software that you use for work, the software that is supposed to help you to be more productive, often wants to use up as much of your time and attention as it possibly can. 

But there are ways to fight back and reclaim your time for yourself. 

In this post, we’re going to explain how and why the software you use every day for work is trying to monopolize your time. 

We’ll also show you how you can take control of your time with tools like no-code workflow automation. 

Why your software monopolizes your time

First, let’s talk about why these apps want to take up all of your time. 

When it comes to social media, entertainment, and other general purpose apps, the motivation is pretty clear. They want to turn your views into advertising dollars. The more time you spend scrolling, the more money the app owner makes from advertisers. 

But business apps have a different aim. After all, most of them don’t run ads, so they clearly have a different goal in mind. 

Apps that you use to do your work every day, like CRMs and task management platforms, are focused on user retention. They want to have as many users as possible month after month, year after year, because that translates to subscription revenue. 

They might do that by creating a great product that solves an important problem for your industry. 

They might also create a large, recurring user base by making their users reliant on their product. 

Becoming reliant on a single app

If all of your contacts, all of your clients, all of your sales metrics, all of your inbound and outbound marketing and more are all inside of a single CRM like Hubspot or Copper or Pipedrive, then you’re pretty much stuck with that CRM. 

If updates to the app, or changes to your business make it so that it’s no longer a great fit, you may feel forced to keep using the software anyway, since making a switch could cost a great deal of time and effort. 

Ultimately, though, switching from one ordinary SaaS tool to another will always be possible, if at times frustrating. 

The worst examples of getting stuck with software always come from ERPs. 

The danger of ERPs

ERPs, or enterprise resource planning software, are typically consolidated applications that include features for running nearly every aspect of a business. 

If you’re running a growing business, you may have already considered switching to an ERP to try and boost your efficiency and start gathering more data about your company. 

ERPs offer some great benefits, but it’s not a decision to make lightly. You’ll have to abandon nearly all of the apps you’re using right now and switch to the ERP software instead. 

While switching away from a CRM or an Ecommerce platform might be difficult, switching away from an ERP - which might include lead handling, task management, human resources, purchasing and more -  will be a significant transformation for the business. 

And ultimately, the exorbitantly priced ERP will dictate how you get your work done 

So with all of these different applications trying to grab your attention and make you reliant on them, what’s the answer?

Whether you’re using everyday SaaS tools or an ERP, how do you get what you want from your software without becoming dependent on a single tool? How can you create systems that can grow and change as your company evolves?

Reclaiming your time with workflow automation

One solution that works for many companies is workflow automation with no-code and low-code tools. 

Workflow automation lets you connect the software you already use to take the best aspects from each, without having to spend all of your time manually switching from one app to another.

If you’ve been following our blog for a while, then you’re sure to be familiar with workflow automation already.  

But for the newcomers, workflow automation automates repetitive tasks in the software that you use every day. 

Here’s how it works: when a triggering event occurs in one app, that prompts an action, or series of automated actions, in other apps. 

Automate your workflows at any scale

An automated workflow can be very simple, or highly complex. 

For instance, a simple workflow might run whenever someone signs up for your newsletter on your website. The automation will then add the new subscriber to your contacts directory in Airtable, and subscribe them to your newsletter in Mailchimp. 

A more complex automated workflow might perform dozens of different actions.For example, you might have an onboarding workflow that triggers whenever you mark a deal as “Closed Won” in your CRM. 

The automation could then create a record in Airtable for the client, a project in your task management app, some basic onboarding tasks within that project, new folders in Google Drive to share deliverables, and a shared Slack channel for communication with your team. 

It could also send a welcome email to the new client with a scheduling link for your kickoff meeting, along with a form to fill out with basic information about their company. 

All of this could happen with the click of a button. 

Where to build automated workflows

Automated workflows can be built in thousands of popular web apps, and typically come in two distinct forms. 

First, you have native automations built into the app as an added feature.

Second, you have automation providers that are focused solely on moving data between any application that you’d like - as long as it has an API. 

Native automation features

You can find native automations in many popular apps that aren’t specifically dedicated to automation. Slack, Hubspot, and Mailchimp all feature automation capabilities, for instance. 

But these automations tend to be somewhat limited in scope, and will generally be related to the app’s main purpose - like sending messages in slack, or creating and managing campaigns in Mailchimp. 

Third-party automation providers: Zapier, Make, Workato, etc. 

If you want to exercise total control over your workflow and access complex logic to build sophisticated automations, then you’ll need to check out dedicated automation providers like Zapier and Make. 

These providers have thousands of integrations for the web apps you already use every day, and can build everything from simple two-step connections to intricate workflows like the onboarding example we discussed earlier. 

Controlling how you work with automation 

Whichever approach you choose, workflow automation is a great tool for gaining control of your time. It lets you define your processes as efficient, repeatable tasks.

Instead of opening up Mailchimp, Hubspot, and other apps to add a new contact, where you may easily get distracted with all of your campaigns, analytics and other data, you can just fill out a brief form, and use an automation provider to add the contact to every relevant app at once. 

You can spend one minute focused on completing that form, then get back to what you’re doing. And when you start using new apps, you can have that same ‘new contact form’ populate those apps as well with a quick update to the underlying automation.

Getting started with workflow automation

So how do you start implementing automated workflows at your company?

If you’d like help from the workflow consultants at XRay just reach out to us today and tell us about the processes you’d like to optimize. We help companies every day to build custom automated workflows to control the way they work, and the way that they spend their time. 

For the builders out there, we’d encourage you to seek out some of the thousands of automation tutorials that are available online. You can check out this resources board to see our in-depth beginner’s guides for Zapier, Notion, and Make. 

Organize your processes and resources with XRay Workflow

We built that board in XRay Workflow, an app that we’ve created to help people organize, maintain, and perform workflows.

While it might seem counterproductive to add another app to the mix after everything we’ve been talking about, the goal of XRay workflow is to let you keep using the apps you want, and to let you use them how you want. 

On an XRay Workflow board, you can use pins to save and access any content that you want from the web. You can embed or link to your most frequently used pages, save text snippets that you’re always copying and pasting, and a lot more. 

With XRay Workflow, you can curate the perfect workflow that lets you maintain focus from start to finish. 

You can include app embeds for the specific tables, pages, or views that you need to use for a specific task and ignore the rest. 

Curating workflows with a Stitch

When it comes to organizing your team’s workflows, one of the most useful pin types is the versatile “Stitch”. You can create Stitches from several pins to build practical walkthrough guides. 

The step-by-step documentation will be presented right alongside the apps where you actually accomplish the task. 

Building Stitches for your processes is a great way to refine your workflow, and even delegate it to someone else. Saving your workflow in a Stitch even allows you to train someone new, since you’ve documented the entire process step by step. 

By gathering all of the resources you need for each task into a dedicated stitch or board, you can reduce all of the time and focus you lose every day on context switching. 

Every board you create can also be shared with your entire team, so you can be sure that everyone is looking at and accessing identical, up-to-date information. 

If you’d like to try out XRay Workflow, just go to www.xrayworkflow.com. 

XRay Workflow is currently in beta, and is totally free to use.

Privacy and security in XRay Workflow

As the creators of XRay Workflow, we take privacy and security very seriously. Even though the beta for XRay Workflow is free, you and your data are not the product. 

We have plans for a premium version of XRayWorkflow to do things like Version Control for your processes, publicly publishing your process for other people to buy and adopt, and a lot more coming later on.

But the basic features of XRay Workflow will always be free. Our goal with XRay Workflow is to help teams maintain focus, consistency, and context, when performing repeated workflows.

If you’d like to organize your daily work, give it a shot, and let us know what you think. Our team is always working to make XRay Workflow a better experience for our members, and your feedback is extremely valuable. 

Staying productive in the attention economy

It’s always a struggle to stay productive in a world where every app wants your attention. But with workflow automation, you can carefully design the way you want to work to avoid wasting time in your software. Start exploring tools like Zapier and Make, or reach out to XRay today to get started. 

If you’d like more tips on productivity and workflow automation, 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.