The XRay.Tech Blog

XRay automated Journey's onboarding process for faster, more reliable results and a consistent source of truth.
Filters
View all
Category one
Category two
Category three
Category four
Search
Clear
Filter by category
Clear
Filter by tools
Clear
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Tag
Showing 0 of 100
Tutorial
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.

Tutorial
May 3, 2023
Trigger Your Make Scenarios with Webhooks

Are all of your scenarios putting you too close to your operation limits in Make? Are you looking for a better way to build modular scenarios?

In this low-code tutorial, we’re going to show you how to use webhooks to trigger your automations in Make to reduce the number of operations your automations use and save some money on your monthly bill. 

At XRay, we build automated workflows to help people save time and create more reliable processes. 

We often use webhook triggers in Make to help reduce the number of operations consumed by each scenario, and to create modular automations that are easier to trigger, update, and maintain.  

In this tutorial, we’ll show you how we set up webhook triggers with a custom script in Airtable, and how you can accomplish something similar with a pin in XRay Workflow. 

Why use webhooks as triggers?

To get started, let’s explore why you may want to use a webhook trigger in Make. 

First off, your plan in Make places a limit on the amount of data that you can process, and the number of “operations” you can run. 

Cut down on wasted operations

Every time any module runs in one of your scenarios, that counts as an operation - even if the scenario doesn’t process any data or run completely. 

For instance, if your scenario has a “Watch” module as the trigger – like “Watch records” in Airtable – the trigger module will run every 15 minutes (or at what interval you’ve set it to). 

Even when it doesn’t find any new records – because there aren’t any new records for it to find – it still adds an operation to your total operations used.

One or two operations won’t make much of a difference, but it adds up fast. If you’ve left your “Watch” trigger to the default of 15 minutes, your scenario will use up 96 operations a day based on the first module alone.

You could set the interval to be slower, but this often won’t suit your circumstances. Scheduling a slow interval might mean that vital information comes to you hours later than you needed it.

Even if you only expect to have one or two new records a day, you might still need the automation to run promptly when those records come in. 

Instead, a more efficient and scalable approach is to replace your Watch module with a webhook trigger.

What are webhooks?

A webhook is, per Wikipedia, “a method of augmenting or altering the behavior of a web page or web application with custom callbacks.”

Essentially, a webhook lets you control actions in your app by sending a simple HTTP request.

With a webhook trigger, your trigger module won’t run at all and won’t use up any operations unless it catches a webhook.

However, it still will run instantly when it does receive a webhook. 

Building modular automations with webhook triggers

In addition to reducing your operation usage, you may want to use webhook triggers to build more modular automations. 

For instance, let’s say you have an automation that runs whenever you launch a new project for a client. 

This automation would create several relevant project folders, create tasks in your project management app, and send a message to the client. 

Instead of managing it all in one gigantic automation, you might want to split it into several different pieces: one for the project folders, one for the tasks, and one for the message. 

You could then trigger each piece as needed with webhooks. If you’re familiar with the concept of sub-Zaps in Zapier, this will allow you to achieve a similar modular effect in Make. 

Using a modular setup would make it much easier to maintain each piece of the workflow, and to call on them as needed. 

You could even re-use each scenario for other automations that might require a new folder, a new task, or a message to the client. 

Creating webhook triggers in Make

Whatever your use case is, setting up a webhook trigger in Make is pretty simple. 

To set up a webhook trigger in Make, create a new scenario or duplicate the scenario that you want to edit.

Add a “Webhooks” module. 

Choose “Custom Webhooks”. 

Then, add a new hook.

Be sure to give it a descriptive name so that you can keep track of it later in your list of webhooks. Then, click “save”.

To test the webhook, we need to configure another app to send data to the webhook’s URL. 

Copy the webhook to the clipboard, then open up the app you’d like to use to send the webhook. 

Configure another app to send data to your webhook

There are many apps that you can use to send webhooks. If you’re a developer, you can use an app like Postman.

But for all the no-code and low-code builders out there, we’ll show you how it works with Airtable. Then, we’ll walk you through an even easier way to send webhooks with our own app, XRay Workflow.

Sending data to a webhook from Airtable 

Airtable is an ideal app to use as a no-code or low-code database for your automations.

It’s a great place to store the data you create, look up data to use in your automations, and create some native automations as well. 

To send a webhook from Airtable, start by creating a new automation in your base. 

For example, we’ll just configure a simple automation that runs whenever a new record enters a specific view. You can use any trigger you’d like here, but using a “When record enters view” trigger will be a direct replacement for a “Watch records” module in Make. 

Note: Airtable doesn’t bill based on tasks or operations, so you don’t need to worry about how this trigger will impact billing. 

Then, add a “Run Script” step. This is where we’ll configure the automation to send data to our Make webhook. 

Don’t worry; all you’ll need to do is replace a couple of lines of text. Even if you’re not familiar with coding, you should be able to just follow along with this tutorial. 

We’ve included a code snippet on the resources board for this tutorial that you can copy and paste to get started. Just click here to access the resources board

In the screenshot below, you can preview the code snippet that you’ll find in the resources board. 

This script will get the record ID of each new record, the name and value of each field associated with that record, and then send all of that data over to our Webhook. 

Insert your webhook’s URL

Replace everything up to the question mark in “webhookUrl” with your webhook’s URL that you copied earlier from Make.

In other words, this line in the template…

const webhookUrl = `ADD WEBHOOK NAME?RecordID=${recordId}`;

Becomes something like…

const webhookUrl = `https://hook.us1.make.com/abcd123def456fghi789abcd123def456fgh?RecordID=${recordId}`;

In our snippet, the value for this variable should already be enclosed in backticks, but make sure to add them back if they were accidentally deleted. 

Provide your table’s name

Replace the value for the “tableName” variable with your table’s name or ID, once again enclosed in quotes or backticks. Write the name exactly as it appears in Airtable. 

In our example below, we’ve updated the table name to “Employee Onboarding”

Add an input variable for the Record ID

On the left hand panel, add an input variable. Name the input variable  “recordId”, and set the value to “Airtable record ID”.

Testing the webhook trigger

Return to your Make and run your scenario to make sure it’s listening for new data. 

Then, back in Airtable, go ahead and click on “Test” to run your automation’s script. 

You should see a success message in Airtable (Status 200). 

In Make, your trigger module should have retrieved some data from your Airtable script. Confirm that all of the data you need is present, then configure the rest of your scenario in Make.

In our example, we’ll just add a simple Slack step that will demonstrate that Make received data for every field in our Airtable base. The automation will send a quick DM that includes the record name and a couple of other fields. 

When we test the automation again by running the Make scenario followed by the Airtable script, we see a new message appear in Slack. 

With a webhook trigger, the scenario runs instantly when the webhook receives data, but doesn’t use any operations while it’s waiting. 

Sending data to webhooks with XRay Workflow

Now let’s take a look at using webhooks with XRay Workflow.

XRay Workflow is an app we’ve developed that lets users gather resources from around the web into simple, contextualized boards. 

XRay Workflow includes several different ways to “pin” content from anywhere on the web:

Doc pins, which feature real-time editing and collaboration on rich text documents;

Text pins, which let you copy and paste snippets of text with a single click;

Embed pins, which allow you to embed nearly any web app or web page;

Link pins, which let you save and quickly open any URL or local file path;

• And push pins, which let you send URL-encoded data on demand with a single click. 

Push pins are a great method for setting up automations with webhook triggers, and launching them whenever you’d like them to run. 

In this section, we’ll show you how to configure a push pin in XRay Workflow to trigger an automated scenario in Make. 

Downloading XRay Workflow

To get started, go to xrayworkflow.com to download XRay Workflow. Right now, the app is in beta and totally free to use on Mac, PC, and mobile devices.

If you use a webhook from XRay Workflow to trigger your automation, your initial Make module will essentially be the same as before. 

Once again, you’ll create a Webhooks module, choose “Custom Webhooks”, and add a new hook with a descriptive name. 

You can prompt the webhook to start listening for data by running the module. 

To provide that data, just copy the webhook URL, and open up XRay Workflow. 

In XRay Workflow, you can view all of your boards on the left hand panel. You can click on the + symbol to create a new board. 

Each board is divided into sections, which hold pins. You can add as many sections as you’d like to each board, and provide an optional description to give some more context for each section. 

Then, click on the + symbol in any section to create a new pin. In our example, we’ll add a new pin in the “Webhook Demo” section of our board. 

Give your new pin a name and a color, and choose “Push Pin” as the type.

Now, it will ask for a URL. Paste in the URL that you copied earlier from Make. 

Click on “Add Pin” to save this pin to your board. 

Now, you can click on the pin to send data to the webhook trigger in Make. Clicking on a push pin will trigger a 3-second countdown before actually sending the data. 

If you want to cancel your request, just click on the pin again to stop the countdown, and no data will be sent. 

If you let the countdown finish, you’ll see a brief confirmation that your data was sent. 

When you go back to Make, you should see that your webhook module has received data. 

Currently, XRay Workflow doesn’t support sending dynamic data through webhooks. You can add URL-encoded variables to the pin’s URL, but they’ll always have the same values. 

However, if you want to supplement your automation with additional information, you can always add a search step to your scenario in Make to  find data in Airtable, Smartsuite, or any other app you can see in XRay.Tools that has a Find or Search Step.  

Building efficient automations with webhook triggers

Building your Make automations with webhook triggers can help to reduce your operations usage and keep your monthly charges in check. It also makes it easier to maintain and update your automations as you look to build more complex workflows.

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

Tutorial
April 26, 2023
How to Use the New Notion Buttons

Template buttons in Notion just got a whole lot better. 

Now, in addition to adding any content blocks you’d like with a click, you can create new pages, update database items, and even create content with AI. 

In this post, we’ll walk you through all of the latest features in Notion buttons, including new AI prompts, adding and editing pages in databases, and a couple of great new UX additions. 

Let’s get started!

Creating quick templates with AI features

Adding a new button

To access buttons, you can just pull up the content block menu on any page. 

Type “/button”, and click or press “enter” to add a button to your page. This will immediately open up a module where you can create and configure your button. 

The module will instantly open up the “add a step” menu, which will let you add an automatic action that will occur whenever you click on your finished button. After you’ve added your first step, you can just click on “add a step” again to add another step to your button. 

Currently, Notion gives you five different options for steps: “Insert blocks”, “Add page to…”, “edit pages in…”, “Show confirmation”, and “Open page”. 

Let’s go through these options one at a time. 

Use “Insert blocks” to create convenient templates

“Insert blocks” will be very familiar if you were using Notion template buttons before the recent update. It will allow you to define a set of blocks to use as a template. 

Then, whenever you click on the finished button, Notion will add the blocks in your template to the page. 

For instance, we’ll quickly put together a meeting notes template with a few headers to serve as section titles, and a couple of bulleted lists for notes. We’ll name our button “New Meeting Notes”, and click “Done” to save it. 

Now, when we click on “New Meeting Notes”, the template is instantly duplicated on the page. 

Again, this is nothing new if you’ve been using template buttons for a while. 

Using AI features in buttons

What is new is the suite of AI features that Notion has added, which work very well with the “Insert blocks” function in buttons. 

Notion has added some fantastic new AI features to their app, which we covered in a recent post

Now, they’ve created some convenient AI blocks that you can add to your buttons, so you can run prompts with a single click. 

Let’s edit our Meeting Notes button to see how these AI features work. 

In the same “insert blocks” step, we’ll type “/ai” to bring up a few AI blocks. 

These first two options – Summary and Action Items – are preconfigured buttons themselves. 

Clicking on them will prompt Notion’s AI to summarize the contents of the page, or generate a list of action items from the page’s content.

Buttons nested within buttons can be a little confusing, so we’ll show you how this works step by step. 

We’ll add an “Action Items” button to our “New Meeting Notes” button template, and click on “Done” to save our changes. 

Now, we’ll click on the New Meeting Notes button.

The button generates the same template as before, but now it includes an AI prompt at the bottom. 

We’ll fill in the meeting notes with some actual content, then we’ll click on “Generate” to create a list of action items from the page’s contents. 

And in a couple seconds, Notion generates a pretty good list of tasks. 

The summary button works in exactly the same way as the Action items button, so we don’t need to go through that step by step. 

Using custom AI blocks

However, “Custom AI block” is a little different. With “Custom AI block”, we can create a block with a prefilled prompt of our own. 

For instance, let’s add a “Key Questions” section to the meeting notes template. 

Then, we’ll add a custom AI block with the following prompt:

Create a two-column pros and cons list assessing each question listed under “Key Questions”.

We’ll click on “Done” to save the button. 

Then we’ll click on the meeting notes button to generate the template.

We’ll manually add some content into each section, including key questions, so that the AI prompt will have something to work with.

Then, we’ll click on the AI prompt. 

In a matter of seconds, we have a neatly organized 2-column layout with some legitimate pros and cons for each question. 

Combining AI prompts with buttons can help you to complete repetitive work or get insights from AI in much less time. 

Now let’s take a look at the other new features in Notion buttons. 

Adding and editing pages in databases

Automatically adding pages to a database

“Add page to” will let you add a page to a database of your choice whenever you click on the finished button. 

Just choose the database you want to add pages to, then configure how the page will be set up. 

First, choose “Add page to” from the button menu. Then, choose the database you want to add pages to. In our example, we’ll choose the “Meeting Notes Database”. 

You can add content to any field that’s already in the database, or just leave them blank. In our example button, we’ll fill in the title and the meeting notes date by adding properties for both, but we’ll leave attendees blank. 

We’ll give our button a title, and click “Done” to save our changes.

Now, when we click the “Add meeting notes to DB” button, a new page is instantly created in our database.

In the pop-up at the bottom of the screen, there’s a handy link that will take us to the newly created page. 

Automatically editing pages in a database

“Edit pages in” will let you automatically update pages in a database based on your own custom filters and configuration.

You can use this function to instantly update dozens or hundreds of records at once instead of making the same changes over and over again manually. 

For example, you might want to move the due date for every task that’s currently due on a company holiday.

Or you might want to remove every task that’s assigned to your recently promoted Project Manager and reassign them to your new hire. 

The “Edit pages in” function works with any field type, including “relation” fields.

In our example, we’ll update all of the HR tasks in our “Tasks” database with a relation to our employee handbook from 2023, replacing all of the relations to “Employee Handbook 2022”. 

First, add an “edit pages in” step to your button. Then, pick a database to edit pages in.

You can edit all pages in the database, or click on the dropdown to add a filter to identify the specific pages you want to edit.

In our example, we’ll set up a filter to only edit the tasks which have their “Department” set to “HR”. 

Then, we’ll click on “Edit a property” to update the “Related Documents” field. We’ll select the “Related Documents” property and “Replace with” Employee Handbook 2023. 

When you click your finished button, all of your updates will happen automatically. Once the automation starts, there’s no way to stop the changes.

The pop-up at the bottom of the screen tells you how many pages were updated, and gives you a link. 

If only one item was edited, then the pop-up will link directly to that one page. If the button updated several items, then the message will link to the edited database instead.

Utility steps: adding confirmation buttons and automatically opening pages

The last two steps we’ll cover today are focused on improving the user experience of your buttons. 

With these features, you can add a confirmation dialogue to your buttons, and automatically open a specified page. 

Let’s start with Show confirmation. 

Show a Confirmation before launching your automations

It can be pretty risky to let users make extensive changes to your databases with a single click. After all, anyone might click it by accident and run hundreds of changes that shouldn’t have happened. 

With a Confirmation step, you can easily add a simple safeguard that will prompt the user to confirm their action a second time before running the automations in your button. 

To add confirmation to any button in Notion, just edit the button and add a new step. Then, choose confirmation. 

You can customize all of the text in the confirmation dialogue, including the labels for both buttons, but we’ll leave them to their defaults in our example. 

Then, move the confirmation step up to the top of the list, so it’s the first action that the button performs. 

Always make sure to place the confirmation step before the action that you want to include confirmation for. 

Click “Done” to save your changes.

Now when you click on the button, a modal pops up asking whether you want to continue or cancel. Clicking “Cancel” will prevent the automation from running. 

Automatically open any page

Finally, let’s take a look at “Open page”. 

With “Open page”, your button will automatically open up whichever page you choose. This can be a useful function to add to any button that adds new pages or edits existing ones. 

The built-in pop-up dialogue will include links to whatever was edited or created, but that message is easy to miss, and opening the page automatically will save you a click.

To add an open page step, add or edit any button in Notion, add a step, and select “Open page”. 

Choose the page you’d like to open. We’ll set it to open up the Meeting Notes Database in our example.

You can choose to have it open up in side peek, center peek or full screen. 

We’ll choose center peek, and click “Done”. 

Now when we click the button, the new page is created, and the database is opened up automatically. 

Automate your workflows with Notion’s buttons

Notion’s new button features preserve everything great about template buttons, and add new automated actions to let you be more productive.

With the ability to create new pages, update database items, and even use AI to create content, these buttons have become surprisingly powerful little tools for workflow automation.

Try them out today, and start saving time on all your tedious tasks in Notion. 

If you’d like to explore more tips and tutorials about no-code workflow automation, check out our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Understanding Automation
April 19, 2023
Stop Switching to New Apps

Are you and your team struggling to get the most out of your software? Do you feel like you’re paying way too much money for what you’re getting? Are you thinking about switching tools for the hundredth time? 

If your software isn’t living up to expectations, swapping it for something new is a tempting solution. 

But in many cases, the issue isn’t the app itself or its features. The issue is how you’re using the app. 

In this post, we’re going to explain why, more often than not, you don’t need to switch software to get the results that you want. Instead, using automation to connect your tools together will create consistency, trust, and confidence among your team. 

My Experience with finding the right task management tools

Any modern company uses lots of SaaS tools.

And no matter how many you’re using, it’s always tempting to add more to the stack, or to try and switch out your tools for better ones. 

Before I launched XRay.Tech, I founded, ran and eventually sold a digital design agency called Checkmate. At Checkmate, we went through just about every single task management app there is. 

We used Basecamp. We used Asana several different times. We tried Monday.com for a while. We used apps that I can’t even remember anymore. 

In the end, none of them really made a difference. 

Now, don’t get me wrong. My team at Checkmate was a group of talented, motivated people. They had no problem getting their work done. But the task management apps we kept cycling through had very little to do with that. And ultimately, the apps didn’t give us what we were really looking for. 

Me and my leadership team weren’t just trying to get people to stay on task or stay busy. 

We wanted to get a high-level view of every project. We needed to see how work was getting done so that we could capacity plan and quote upcoming projects. 

We wanted to give clients realistic timelines, and we wanted to prevent our team from having to crunch to get things done. 

We always struggled to find that balance, and switching tools really didn’t help. 

Building a project management system to fit our strategic goals

Today, at XRay, we’re using a custom task management system in Notion, based on Thomas Frank’s ultimate task template. 

And now, we’re able to get those exact insights that I was always looking for at Checkmate. 

But the key difference here is not that we’ve switched to Notion instead of Asana or Basecamp. What really matters is how we create and manage tasks, and the systems we’ve built around task management. 

It’s not the app that really matters; it’s how we’re using it as an organization, and how we make it fit into our workflows.

3 Questions to ask yourself before making a switch

Before you make a switch - before you ask your team to migrate all of their data and to start over from square one - consider these questions:

• What do you want to get from the app that you’re not getting now?

• What process do you and your team use the app for?

• And could you build any no-code systems to support consistent use of the app?

Exploring these questions will often prevent you from needing to make yet another switch that will cost your team’s time and resources. 

You really don’t know how green the grass is on the other side of a tool transition. And if you do need to try a new app, getting the answers to these questions will help you to actually pick the right one for your goals. 

Let’s take a closer look at each of these questions, and how they can guide you to the right decision.

What do you want to get from your app? 

First, what do you want to get out of the software in question? Try to go beyond just the basic functionality of the app. 

For instance, with our task manager, we obviously want our team members to be able to create tasks and track their progress. But the larger goal was to be able to gather data on how our team works. 

How long does it take to complete a project? How much of our time and resources are we devoting to each of our clients and members? Are we able to meet our projected timelines for project completion? 

These were the data points we were really looking for. 

Ultimately, most task management apps offer the features to track projects and tasks, and to sort them by client, project, and status. 

So the real issue is less with the tool that we were using, and more with the way we’re using it. 

How does your team use the app now?

At XRay, we’ve made sure to create a standardized process for task creation and management. We’ve made a clear distinction between tasks and projects, and we’ve made an extremely simple way for anyone on our team to create a task. 

Because ultimately, the biggest problem I encountered with task management apps at my old company wasn’t missing this feature or that one. 

It’s that team members wouldn’t know if the work they were about to do constituted an entire new project, or if it was just a new task within a project. 

It was often too much of a hassle to just make a task, so they wouldn’t always track the work they were doing. Which, in the end, undermined our big picture goal of tracking how our entire team works. 

Making sure our team knows exactly how and when to create tasks at XRay has made our task management system much more successful. 

Example: getting the right data from a CRM

For another example, with a CRM, you certainly want to be able to track the progress of every lead and deal that you interact with. But the real strategic purpose of having a CRM for your company is likely more about the metadata that the CRM can gather for you. 

You want to know how many of your leads are closing, so you can see if your team is meeting your sales targets. 

You want to see the source of each lead, so you know which channels are giving you the best referrals. 

Virtually any CRM can do this, but the key is to ensure that your team is entering every lead correctly and promptly. 

Otherwise, you’ll end up in the same situation my old company faced with task management: your app might be just fine, but it will be missing the data that you want it to collect. 

This topic of data creation - whether that data refers to tasks or leads or something else - takes us neatly to the last question I want to address today. 

Building no-code automations to support your app

What no-code systems can you build to support your team’s use of the app?

This can certainly be a trickier question, but it’s the sort of thing that we specialize in at XRay. 

There are a few different ways our team can create tasks, but the primary method that we encourage actually starts in Slack. 

All we have to do to create a new task is to write a message in a relevant channel.

 

Then, we just react with a custom emoji that corresponds to the team member we want to assign the task to. We even have a backlog emoji if the task isn’t ready to be assigned yet. 

We’ve set up an automation in Make and Airtable that will then take that message and create a task with it in Notion.

It will automatically add it to the project that we’ve associated with the channel, and it will assign it to the correct person. It will also fill in other fields with our preconfigured defaults, like setting a due date 7 days after the current date.

We like this system because it’s quick and easy to use, and it keeps everything visible for our whole team.

The automation also ensures that all of the vital information is present for every single task that we create. It dramatically reduces the number of uncategorized or miscategorized tasks that would make our data meaningless.  

Creating consistent, reliable processes with workflow automation

Workflow automation tools like Zapier, Make, and Airtable aren’t just about saving time. They also help you to create standardized, reliable processes like our Slack task maker. 

They ensure that your team creates complete and useful data, and they let you use your apps the way you want to. 

To revisit our CRM example, you might want to create a simple Airtable form that your team can use to enter leads. This way, you can ensure that every lead is created with all of the required information, and none of the essential fields are skipped. 

To make things simpler, you can also exclude any fields or attributes that you aren’t interested in tracking. 

Simple automations for tasks like data entry can help to make sure that your team is using each app correctly, which in turn can help you to accomplish your big picture goals with the app. 

Before making a switch, try rethinking the way you use your software

We all use a long list of software every day to do our jobs. As we start to get frustrated with the apps at our disposal, our first instinct is often to switch to something new. 

But in many cases, you just need to rethink how you’re using your software. What do you want to accomplish with it? How is your team using it? Can workflow automation help them to use it more consistently and correctly?

More often than not, answering these questions will save you and your team from a costly software switch. 

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

Tutorial
April 12, 2023
How to Write API calls in Zapier

When Zapier doesn’t have the integrations or features that you’re looking for, you don’t need to give up on building the automation.

Instead, you can just use an API call to create the functionality yourself. 

In this post, we’ll show you how to write an API call in Zapier. 

We’ll walk you through some strategies you can use to write API calls in your Zaps, even if you’re not familiar with coding. 

You can use these techniques for both the “Webhooks by Zapier” action, or Zapier’s new “API Request” actions, which are currently in beta. 

When and Why to Use an API Call

First, let’s explore when and why you should use API requests or webhooks in Zapier. 

In most cases, you’ll want to use an API call whenever Zapier doesn’t natively support the functionality that you want to access. 

There are three main use cases for writing API calls in your Zaps:

• If Zapier doesn’t have an integration for the app you want to automate, you may be able to build your Zap with webhooks instead. 

If Zapier does support the app you want to automate, but doesn’t support the specific action you want to perform, then you can try to add that action with a webhook action, to make a custom API call. 

• Finally, if Zapier supports your app and your desired action, but doesn’t have all of the configuration settings that you want to use, then webhooks with an API request may be able to help. 

Discover what you can automate with XRay.Tools

Since using webhooks in Zapier is mostly about compensating for the things Zapier can’t do, we’d always recommend doing a quick search on XRay.Tools before you commit to writing an API call. 

Just enter the name of your app, and you’ll see every trigger, action, and search that you can automate with it in Zapier, Make and Workato. 

Even if you’re pretty sure Zapier doesn’t support what you want to do, it’s always worth a quick check first.  Zapier updates support for their apps weekly, so you never know what may have changed since you last tried building your workflow. 

Zapier’s new “API Requests” actions

Checking XRay.Tools will also show you if your app has support for Zapier’s new “API Requests” feature. 

API requests are in beta at time of writing. Right now, they offer somewhat similar functionality to the “Webhooks by Zapier” action which we’ll be using first in this tutorial, but they let you skip a few steps by including authorization, which is often one of the trickiest parts of API Calls. 

On the other hand, you will need to write the body of your request as code, and won’t be able to structure it as a simple form, so it may be easier for low-coders to stick with the “Webhooks by Zapier” action. 

If your app has support for API Requests, you’ll see the action right alongside all the app’s other available actions in XRay.Tools

If you don’t see an “API Request” action, or if you just don’t want to write out your request with code, then you can just use the “Webhooks by Zapier” action instead. 

Writing an API Call with “Webhooks by Zapier”

Now let’s go through the process of creating an API call in Zapier step by step. 

Before we start building an API call, we’ll first take a moment to confirm that we can’t do what we want with Zapier’s prebuilt actions. 

For our example, we want to automatically create projects in Harvest. This is something we can do in Zapier.

However, we also want to make sure that every project created by this automation is set to a fixed fee of $750.

“Fixed fee” isn’t an option that Zapier gives us, so we’ll need to go with an API call instead. And since “API request” isn’t available for Zapier’s Harvest integration, we’ll need to use the dedicated “Webhooks by Zapier” integration. 

Our example Zap already has a trigger to watch for new records in Airtable, so we’ll add an action by searching for “Webhooks by Zapier”. 

The webhooks action will prompt you to pick an event type. If you’re not familiar with writing code, or API calls specifically, this might already seem a little confusing, but don’t worry; there’s an easy way to make sense of it. 

Your options are Custom Request, GET, POST, and PUT. 

• GET will let you search for existing data in your app. 

• POST will allow you to create new data.

• PUT will allow you to create new data, or update existing data. 

Custom Request will let you choose other methods, like PATCH or DELETE. 

NOTE: Zapier does not natively support any DELETE actions across any application, so Custom Requests will be your only option if you’re trying to automatically delete something. If you choose to write an API call to delete data, be very careful; any errors in your API call might end up deleting data you didn’t intend to destroy. 

You can probably figure out which will suit your needs just based on those descriptions, but this is as good a time as any to check your app’s API docs to be sure. You’ll be referencing the API docs a lot as you’re building, so you may as well start early.

If you Google “[your app] api docs”, the official API documentation should be one of the first results. 

Harvest’s API docs are very well organized, and include lots of useful examples to help us get started. 

Unfortunately, not every app will keep neat and tidy documentation like this, but if you’re struggling, you can always search for support from other users or leave a comment below and we’ll try to help you out. 

Since we want to create a project in our example, we’ll scroll down to the “Projects API” section, and click on “Projects”. 

Here, the docs explain all of the attributes that make up a “project” object in the app. These are all the settings that we have access to via Harvest’s API. If it isn’t listed here, then we can’t add it, update it, find it, or delete it. 

Under “Create a project”, we’ll see more specific information about actually creating a project. Right at the top of the section, we can see the type of request we’ll need to use: POST. 

So we’ll choose POST as our event back in our Zap, then continue. 

Building and configuring a basic API call in Zapier

Start with the bare minimum

When you’re creating an API call in Zapier, the best approach is to start with the bare minimum, and build up from there. 

Your first goal should be to successfully create an object with the webhooks step. Just provide the required fields, and type in static data for now. 

Once you’ve done that, you can go back and configure more specific settings, or add dynamic data from earlier steps in your Zap. 

URL and payload type 

Every API call needs a URL to send your request to. Your app’s API docs will specify the required URL for your desired action. 

In the Harvest API docs we can see an example of a full API call that will create a new project.

In the first line, after “curl”, we can see the URL we need to use. Once you’ve found your URL, just copy and paste it into Zapier, without the quotes. 

If you’re primarily a no-code builder, we’d recommend sticking with “form” for the payload type. 

That will let you enter all the data you need into each form field, similar to any other step in Zapier, instead of needing to mess around with specific coding syntax. 

If you’re more comfortable with coding, you can choose another option like “json” or “raw”, but we’ll stick with “form” for our example.

Technically, these three formats are equivalent, so it's up to you and what you’re comfortable with. 

Filling in the data fields

Under this data section, you’ll need to fill in information for each attribute of the object you want to create (or update, or find). 

In our case, that means we’ll need to define several attributes to create our “project” object. 

Going back to Harvest’s API docs, we can see that several parameters are bolded. These are the parameters that are listed as “required”, so these are the ones we’ll start with. 

Again, it’s always best to start with only the required fields. Even though the optional parameters include settings that we want to access, we can add those once we know that our API call is working as intended. 

Once you’ve determined which fields are required, create a key-value pair for each of them in your Zap.

In our example, we’ve added key-value pairs for client_id, name, is_billable, bill_by, and budget_by. These labels are the “keys” - essentially, the name of each pair. Next, we’ll fill in the “values” - the setting or content it includes. 

The client ID attribute will tell Harvest which client we want to create the project for. We’ll grab the ID from the URL bar of the client’s page in our Harvest account, and paste it into Zapier.

This is a common trick for finding IDs for objects in your apps. Logging into your SaaS tool will often show your object’s ID inside of the URL bar - whether that object is a client in Harvest, a page in Notion, or a task in Trello. 

Next, we need a name for our project. The API docs indicate that this parameter accepts a “string”, which basically means that it just needs text.

We can give our Project any name we want. We’ll enter it without any quotes or other special characters. 

“Is_billable” is a boolean parameter, which means it accepts values of “true” or “false”. Since we want our project to be billable, we’ll enter “true”. Again, we’re not including any quotes or any other special characters. 

“Bill_by also accepts a string, but in this case, the string has to match one of the four options indicated in the description. We’ll bill by “project”, and enter Project exactly as it appears in the documentation. 

Budget_by is similar to bill_by. We’ll enter “person” to set our budget based on hours per person. 

The remaining options can be left to their defaults for our API call. In most cases, you won’t need to edit these. 

Adding headers for authentication and more

All of the data we want to create is in place, but we need to fill out the headers first. Headers are often used in API calls to identify and authenticate the user making the request. 

Just as a reminder: if you’re using an “API Request” action instead of a webhook, you won’t need to include any additional headers for authorization.

If we go back to the example API call that we found in the Harvest docs, we can see three lines of code flagged with an “H”. These are the headers that we need to include in our API call. 

We’ll add each of them as keys under Headers, leaving out the colon and quotes: Authorization, Harvest-Account-Id, and User-Agent.

For the value associated with  ‘Authorization’, we need to enter the term “Bearer” and a space, then provide a personal access token from Harvest. 

We can just go to the developers section in Harvest to create a token and copy it. We can also see our Account ID in this same section, which we’ll need next. 

Sensitive data like access tokens and account IDs can generally be found under a “developers” setting, or elsewhere in your app’s preferences. Your API docs may contain information specific to your app, or you may need to search through their other support docs. 

Once we’ve pasted both of these into Zapier, we just need to provide a User Agent. This simply identifies the user making the API call. Their API docs don’t appear to include any specific information about what’s required here. 

Harvest suggests using your email address, but it appears that you can put anything in this field; the API call will work anyway. 

This is an area of API calls that will differ for every application. The requirements in your header can be tricky, so be patient and test one thing at a time. 

Now that we have our data and headers all set, we can test the step. 

Success! We’ve created a project. If we check Harvest, we can see the project, complete with all of the options we configured. 

Adding optional parameters and dynamic data

Now that we’ve built our bare minimum API call, we can go back and add the optional parameters we want to use, and dynamic data generated by Zapier. 

Building up from a simple API call and testing your changes one step at a time will be a huge help when you inevitably run into some errors.

It will make it much easier to isolate the change that’s likely to have caused the error in the first place. 

First, we’ll go back to the data section of our API call and add key-value pairs for “is_fixed_fee”, which we’ll set to “true”, and “fee”, which we’ll set to 750. 

Then, we’ll add some dynamic data to one of the other data fields. We’ll replace the project name with the “Name” field that Zapier retrieved from Airtable. 

We’ll test the Zap again, and confirm that a project was created in Harvest with a fixed fee of $750. 

Writing an API call with Zapier’s new “API Requests” actions

Next, we’ll take a quick look at the other method of creating API calls in Zapier.

As mentioned earlier, the API request action is only available for a select list of apps right now. You can check the whole list in this Zapier support page, or you can search for your app in XRay.Tools to see if “API request” is supported. 

For our example, we’ll use the API request action to send a message in Slack, since we can see here in XRay.Tools that Slack has an “API request” action available. 

We’ll pull up Slack’s API docs for reference, and create a new Slack action. We’ll choose “API request”. 

The API Request options are somewhat similar to our earlier Webhooks steps, but there are some key differences. 

As Zapier notes, authentication is handled automatically, so we don’t need to include any headers for authentication. 

You can also only pass along raw data with the API requests action; you currently can’t enter key-value pairs into convenient text fields like before. 

But just as before, you’ll need to provide a Method and a URL, which you can find in your app’s API docs. 

By default, this action will send URL-encoded data. URL encoding is a bit of a pain to work with, so in our example, we’ll add a header to change the Content type to application/JSON. 

That will make our body much easier to read, and we won’t have to include characters like “%20” for every space. 

Like most API docs, Slack’s includes full examples of API calls. We’ll just copy and paste an example of a simple Slack message into the body of our API call, and update it with our own channel ID and text. 

NOTE: make sure that your code syntax matches the content type specified in your header. Since we’ve set the content type to JSON, our body must be formatted as a JSON object. 

With our API call configured, we’ll test the step. Note that when you use the API Request action, your Zapier test may be considered “successful” even if your API request failed. 

If you were able to send a request and get a response, Zapier usually considers that to be a success, even if it returns an error. 

So make sure to review the output of the step, and check your tool directly, before continuing. 

When we check Slack, we can see the message sent exactly as we set it up. 

All in all, we’d recommend that most low-coders stick with Webhooks by Zapier for now. API Requests still have a lot of bugs to work out, and they’ll require you to write out the entire body of the request.

If you’re struggling to get authentication to work in a Webhooks step, then you can try out API requests. Otherwise, I think Webhooks is the way to go, especially since “requests” are still in beta and limited to a few dozen tools.

Understanding and troubleshooting error messages

Before we wrap up this walkthrough, let’s quickly go over the kinds of error messages you’re likely to see as you’re building API calls in Zapier.  

If you get an error when you test your “Webhooks by Zapier” or “API Requests” action, you’ll likely see either a 400 response, or a 500 response. 

400 Errors

If you see a 400 error, like 404, that means there’s an error in your configuration. Check your API docs again and make sure you’ve configured everything correctly. 

Look for misplaced commas, or extra quotes, or any other small typo in your syntax that might have broken your API call.

If you still keep getting a 400 error, try searching on a resource like Stack Overflow for the issue to get more information. 

Again, keeping your API call simple to start with will make it much easier to find the problem. There will be far fewer variables that you need to test and control for. 

500 Errors

If you see a 500 message, like 503, then there’s an error in the app itself. Wait a moment and try again to see if the issue resolves itself. 

If you keep getting a 500 error, check to see if the app’s servers are down at a site like downdetector.com.  

You may have to wait a while for the app’s dev team to address the issue, but there’s nothing that you can do to fix it. If the tool is down, the tool is down. You’ll just have to wait. 

Ultimately, building API calls will often require a lot of trial and error as you figure out what’s working and what isn’t. 

Just take your time, read the docs carefully, and look for help when you need it, the comments section below is a great place to start. There are also thousands of people on Zapier’s forums, StackOverflow, and other communities building similar things who can give you great advice. 

Create any automation you want with API calls

Tools like Zapier provide thousands of integrations for popular apps, but sometimes, the solution you need won’t be available right out of the box. 

Even if you consider yourself a no-code builder, making the jump to a little low-code with API calls and webhooks will unlock a ton of new possibilities. 

So when you want to create an integration that Zapier doesn’t have, don’t be afraid to open up the API docs and start reading. 

If you’d like to learn more about no-code and low-code automations with tools like 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
April 5, 2023
Format, Parse, and Add Dates in Make

If you're using Make (formerly Integromat) for your no-code automation needs, you may find yourself needing to work frequently with dates and times. Sometimes, you’ll need to transform a lengthy timestamp into a brief, readable format, or add a few days to a given date. In other cases, you may need to parse a timestamp from a string so your apps can work with the date. 

In this blog post, we'll walk you through the process of parsing, formatting, and adding dates using a few simple inline functions.

You can also follow along with the video embedded below. 

Formatting Dates in Make

Formatting dates will allow you to automatically rewrite any date into a format of your choice. This can help you to output dates that are easier for people to read, or just to make sure that every date in your automation is formatted the same way every time. 

To format dates in Make, start by selecting any text field in any module within your scenario. In our example pictured below, we’re using a Slack module that sends a direct message. 

Click on the calendar icon to access Date and Time functions, then click on the “formatDate” function to add it to your text field.

Insert the date you wish to format before the semicolon. You can enter a date directly, or use data retrieved by your scenario. 

Then, enter the format you wish to use after the semicolon. For instance, a format of “MM-DD-YY” would return something like “01/28/23”, while “YYYY/MM/DD” would return “2023/01/28”. 

Once you’ve entered the format you’d like to use, run your scenario to view and verify the output.

Adding Time to a Date in Make

Want to send a followup email two hours after someone reaches out, or set a timeline for a one-month project? Adding time with functions like addHours and addDays may be just what you need. 

To add time to a date in Make, select any text field in any module within your scenario. Click on the calendar icon to access Date and Time functions, then click on “addDays” to add a specified number of days, “addHours” to add hours, etc.

Enter your initial date before the semicolon. Enter the number of days you want to add after the semicolon. 

Run the module to view and verify the output. By default, “AddDays” and similar functions return a timestamp, but you can format this date in Make using “formatDate”.

Enter the entire “AddDays” function and its inputs as the initial date. Then, enter the date format you wish to convert it to. 

Run the module again to verify the output.

Parsing Dates in Make

Finally, let’s take a quick look at parsing dates from strings in Make. 

In many cases, the apps in your Make scenarios won’t be able to process a date that’s written as a string. Instead of “01/28/23”, you’ll need to provide a full timestamp. 

To parse dates from strings in Make, select any text field in any module within your scenario. Click on the calendar icon to access Date and Time functions, then click on the “parseDate” function to add it to your text field.

Before the semicolon, insert the string that you want to parse a date from. After the semicolon, enter the format that the date is in (e.g., MM/DD/YY, or YYYY-MM-DD). 

Run the scenario to verify the output.

Easily work with dates and times in Make

With these inline functions, you'll be able to work with dates and times in Make with ease. Whether you're formatting dates, adding time, or parsing dates, these functions will help you automate your workflows and get more done in less time.

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

Tutorial
March 29, 2023
Notion Beginner’s Guide for 2023

Are you still creating all of your docs in Google drive, word, or text edit? Still managing your to-dos in a clunky app like Monday? Whether you’re managing documents for your entire company, or just keeping track of personal tasks and information, there's a better way. 

In this guide, we’ll show you the basics of Notion, one of the best apps for docs and notes available right now.

We’ll highlight the key features of Notion, and walk you through creating pages, databases, and more so you can start building your own Notion docs. 

What is Notion?

First, let’s cover the basics. What is Notion?

According to their own website, Notion is a tool that lets you put your wiki, docs, and projects together. 

In essence, Notion is a highly versatile platform that lets you create and customize nearly any type of document that you can think of. You can then share and edit all of those docs with your team, making it a great tool for collaboration. 

At its core, Notion is all about creating text documents and databases. But its greatest strength lies in its customization abilities. 

With Notion’s wide variety of content blocks, and the ability to nest documents within other documents, you can create nearly any type of layout that you want for your workspace. You can nest databases in pages, nest pages in those databases, create multi-column layouts, hide and show information with dropdown toggles, filter and sort the data in your databases to create custom views, and more. 

However you need to organize information, Notion can do it. It can handle project and task management, product documentation, content calendars or personal tasks like vacation planning or keeping a journal. 

To start building your own personalized workspace, all you need to do is learn how to use content blocks. 

Notion’s Pricing Plans

But first, of course, you’ll need to sign up for Notion. 

The good news is most of Notion’s core features are totally free for individual users. Additionally, if you have an email address with a “.edu” domain, you may be able to qualify for a free pro account. 

If you want to use Notion to support your whole organization, team plans start at $8 per user per month. 

AI features are also available for an additional $10 per month. 

You can see more details on their pricing page, which you can find along with other key resources in the Workflow Board we’ve compiled for this guide

But a free account is all you need to follow along with our tutorial for creating pages and databases. Just go to Notion.so and make your account to get started.

Creating a Page and Adding Content Blocks

Once you’ve created an account and signed in, you’ll see a simple interface. On the left, you’ll see all of the pages you have access to. If you’ve just created your account, you’ll only see a set of example pages created by Notion. You’ll also see your Teamspaces on top of this panel, if you’re part of a team plan. 

Everything in Notion is built around pages, and any data you create has to be stored within a page. So to start exploring Notion, just click on “Add a page” to create a new page.

You can type directly in the page to start creating your content. To bring up a menu where you can access different styles or special blocks, type /. Here, you’ll see a long list of text types and blocks.

To quickly find what you’re looking for, just enter a search term right after the forward slash. We’ll search for “H1” to find a large heading that we can use as a title for this page. 

After we’ve added our title, we’ll hit “enter” to start a new block. By default, every new block will just be a plain paragraph. If you want to change the type or style of any block, just hover over it, click the dots on the left, and select an option under “turn into…”

There are a ton of options for content blocks, so we won’t cover them all right now, but there are a couple we want to quickly highlight. 

Bullets are convenient for jotting down some quick notes or making a list of instructions. 

Toggle dropdowns are a great way to hide or show lengthy lists with a single click. If you need to add a FAQ to your workspace, toggle dropdowns are the best way to go. 

Markdown Shortcuts for Content Blocks

Want to make blocks even faster? There are also a lot of markdown based shortcuts that you can use to bypass the block menu and instantly add the block you’d like with one or two keystrokes.

For example, you can use an asterisk * to start a bulleted list, or use two brackets [] to start a to-do list with checkboxes.

To quickly add a toggle, you can just use the “greater than” > symbol.  

For a larger list of shortcuts, check out the Workflow Board for this guide

Multi-column Layouts and Images in Notion

Notion also makes it easy to create a multi-column layout. Just search for “column” to see your options. Notion will automatically divide the block into a few columns. 

Within each column, you still have access to all of Notion’s other block types. You can create headings, bulleted lists, toggles, and more here. To resize them, just click and drag on the edge. 

Next, you can add images to your page to give it a little visual appeal. Just search “image”, and select the appropriate block. Then, upload any image you’d like to use. Alternatively, you can just a drag and drop an image from your desktop into your Notion page. 

Notion AI

To finish out our quick overview of Notion content blocks, let’s touch briefly on Notion AI. 

Notion has recently added an AI assistant which you can use to generate or edit text with simple prompts. 

Just type “/AI” to get started, or hit the spacebar. We’ve created a separate guide for Notion AI which you can check out here if you’d like to see more of what Notion AI can do. 

Again, there are many more options for blocks, but they can all be accessed the same way by typing “/”, so we’d encourage you to explore those for yourself. 

For now, let’s take a look at nesting pages within pages. 

How to Nest Pages Within Pages in Notion

All of the blocks we’ve covered so far probably seem like nice features for a word processor, but they might not seem like anything too impressive just yet.

Here’s where things start to get a little more interesting: we can easily nest pages within other pages. 

Just type “/page” to create a new page. This creates a page within our original page, and opens it up so we can add content there. 

This sub-page has all the same features as our original page, so we can add any content blocks that we’d like here. We’ll also make sure to give it a title. Then, to get back to the parent page, we can just follow the breadcrumb menu in the top left. 

Now, we can see that the parent page includes a link to the subpage we created.

Nested pages are a great way to organize your lengthy text documents and company wikis. For instance, you might be creating an employee handbook, or some technical product documentation. With nested pages, you can separate your content into pages for each employee role, or pages for each use case for your app. 

This will make your documents much easier to navigate than a 50-page long Google doc, but much more contextually organized than a huge list of docs in a folder. 

If you need to find any of your pages, just hit Command + K on Mac or Ctrl + K on windows to search through all of your pages, their titles, attributes, and blocks. 

Creating and Linking Databases in Notion

Notion’s not limited to only creating text docs. One especially useful block type that it offers is the database.

You can create a database by typing “/database”.

This will add a fully functional database for storing and sorting data to your page.

This database is more than just a grid to arrange your text. Databases in Notion include several different field types, like date, single select and multi-select, checkboxes, and more. 

Linking Notion Databases with “Relations”

You can even use the “Relation” field type to create links between two different databases. A relation associates a record in one database with a record in another database

For example, you might want to link each project manager in your team’s directory with a client in your Clients database.

To create the relation, start by adding a new property and selecting the “relation” type.

Then, pick the other database that you want to create a relation to. 

Choose whether or not you want to show the relation in both tables, then add the relation. 

Now, you’ll be able to fill in the “relation” field with a link to a record in the related database. 

Then, you can also add rollup fields to display fields from the related record. For instance, you could include the client’s main point of contact, the project due date, project type, etc.

Whenever you update the data in the “Clients” database, any related records and their rollups will be updated automatically as well.

With relations, you can display the same data in multiple spots without messy copy and pasting, or needing to update separate databases every time you need to make a change. 

Using Filters in Notion Databases 

With filters, you can also display and hide data based on customized conditions. Then you can save that filter to a unique View, so you can quickly find data you need.

For instance, we’ll add a filter to this database of tasks so that we’ll only see tasks that aren’t marked as “Complete” or “Archived”.

In addition to filters, different views can also include completely different ways to arrange your data. 

For instance, you might want to use a kanban view to sort your tasks by status or triage them by priority.

Or you could use a calendar view to keep track of your planned blogs and social media posts. 

Just click on the “+” to add a new view, and choose the type you’d like to use. 

Creating Pages Inside of Databases

The last database feature we’ll cover in this guide is the ability to create pages within your databases. 

Each record in a database can be opened as a page. 

Then, you can add all of the same text, content, and blocks that you have access to in any page. 

This can be a great way to add notes to any database record, or to organize a long list of similar documents. 

For instance, if you’re creating a new “meeting notes” doc every day, it may make more sense to structure them as a part of a database rather than creating a new “Page” in Notion for each entry. 

Use Caution with Notion Databases and Nesting Pages

However, there are a couple areas where you should be cautious with Notion databases. 

If you try to share a page with a client or someone who is not part of your workspace, any relational fields that you’ve added will show up as blank.

That’s because your client, who will likely be added as a “view-only” user, won’t have access to the other database referenced by the relation. 

Additionally, if you nest pages inside of pages inside of a database, there's really no good way of knowing how deep those nested pages go within that database. You can’t filter for nested pages, or use any other method to know how many levels deep it goes, except for clicking on each subpage manually. 

Be careful about nesting too many pages within pages within pages. It might make things difficult for your coworkers. 

These really aren’t deal breakers with Notion; just a couple of words of caution for prospective power users!

Create Your Ideal Layout with Custom Blocks or Templates

Ultimately, with all of the options at your fingertips for customized pages and databases, Notion gives you the ability to create nearly any workspace you can imagine. 

With Notion, you can make your project management system, a content calendar,  a journal, or whatever else you’d like.

But if you’re not sure where to get started, you can always try templates. Templates let you copy a premade Notion layout with a single click. You can check out our blog about Notion templates for some recommendations, or browse the Notion template gallery to get started.

Where does Notion fit into a Software Stack?

So where does Notion fit in your software stack? Notion’s a very versatile app, so you can configure it to fit a lot of different use cases. 

But it primarily excels at building workspaces to manage your projects and tasks, and at creating any text documents that you or your company need to reference on a regular basis. As such, Notion can fully replace apps like Clickup, or Monday.

It also replaces many common use cases for apps like Google Docs and Microsoft Word, but there are still areas where those programs will be more appropriate for the context. Drafting copy, particularly for any long-form content, is often going to be easier in Google Docs. 

Additionally, formal documents that require fine-tuned formatting like contracts, proposals, or essays may be better suited to apps like Word. \

Basically, if you need pagination and footnotes, you’ll need to use a different app. And in those situations, you really won’t need Notion’s visual styling options. 

Sharing material with people outside of your organization is also far simpler in apps like Google Docs.  You just share the necessary doc or folder, and you don’t need to worry about issues with referenced tables or nested pages preventing your collaborator from seeing your content. 

However, if you need to quickly make a visually engaging doc, or a resource that your organization needs to access a lot, Notion will often be the preferable choice. Its search function also works much better than Google docs, as it lets you search the content of every block instead of just reading titles. 

Alternatives to Notion

If you’re looking for an alternative to Notion, you may want to look at Coda, Airtable, or Roam Research. Coda is very similar to Notion on the surface, but its structure is based more on databases than pages. Airtable also employs a database-focused approach, while Roam is generally similar to Notion as a document-focused app. 

Set Up a Custom Workspace for Your Team or For Yourself

Notion is a great tool for organizing docs and data for your company, or for yourself. Once you get familiar with creating pages and databases, there’s no limit to what you can build. And if you want to get started faster, just copy a template for inspiration. 

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

Understanding Automation
March 22, 2023
The Top 5 Apps with Exciting New AI Features

In the last several months, AI has jumped to the forefront of mainstream software. With tools like OpenAI’s ChatGPT, we’ve all seen how AI can help us with our everyday writing, brainstorming, and planning. 

So it’s no surprise that many other tech companies are racing to add AI into their feature sets. Search engines, automation providers, and database apps are just some of the apps that are starting to incorporate new AI components. 

In this post, we’ll show you five of the most interesting apps that are adding AI functions into their software. 

Edit and Generate Text with Notion AI

First, let’s take a look at Notion. Notion is an app for building a highly customizable workspace for docs, projects, and more. You can create anything from a simple text document to a robust database for tracking your team’s tasks.

Recently, Notion has added several “Notion AI” options right alongside their main content blocks. The app provides about 20 options for AI prompts that help you create content faster, improve your writing, translate text, brainstorm ideas, and more. 

So if you’ve been struggling with writer’s block, or just want to tighten up your writing, you may want to check out Notion AI. 

Notion AI previously required you to sign up for a waitlist, but now, every Notion account has access to AI features. 

Each account gets 20 AI responses for free, but after that, you’ll need to pay an extra $10/mo to keep using Notion AI. If you’re curious about Notion AI but don’t want to use up all of your free responses at once, you can check out our video here for a deep dive into Notion AI’s features

Build Full Interfaces with an AI Prompt in Coda

Next, let’s take a look at Coda.

Coda is a very similar app to Notion, as it also allows users to create versatile documents, tables, and charts to manage their workspace. 

Currently, there are multiple AI integrations in Coda’s “pack” library that allow for a lot of similar functionality to what we just covered in Notion. 

The OpenAI Pack by Spencer Chang will help you to draft emails or blog posts, brainstorm ideas, and pretty much everything else that Notion AI does. 

You can already add the OpenAI pack to your Coda docs for free right now, but Coda is also working on their own native AI features which will unlock much more advanced possibilities. 

Coda AI aims to provide more technical abilities, rather than simply focusing on writing and language processing tasks. It will be able to generate formulas, create tables, and search for relevant data. 

It’s even going to be able to create entire interfaces based on a single prompt using the “Solution builder”. 

For instance, in their preview video, Coda demonstrates how users can give a single short prompt to their AI and have it build a task manager like Asana that even includes time tracking.

Coda AI has the potential to do some amazing things, but for now, it’s still in Alpha. It likely won’t be ready for primetime until later this year, but you can join the Coda AI waitlist now to save your place in line. 

AI in Automation Apps like Tonkean, Zapier, and Make

Moving to the world of no-code automation, enterprise-focused Zapier alternative Tonkean has added an interesting GPT-3 integration to their feature set. 

Tonkean’s AI tools and automated workflows are focused primarily on enterprise use cases. They support workflows like procurement, handling legal requests, and responding to incoming invoices. 

Tonkean uses AI to analyze incoming data, surfacing key takeaways, and generating documents to respond to requests automatically. 

For instance, with their “LegalGPT” workflow, Tonkean’s AI sorts incoming legal requests, determines several key factors like the urgency and risk of each request, and alerts the team as needed. 

The AI tools Tonkean has put together are interesting, and could be very helpful if you’re running a large business with hundreds of employees. However, for smaller companies or startups, tools like Zapier or Make are likely going to be more accessible automation platforms. 

Building AI Workflows with Zapier and Make

Zapier and Make haven’t integrated any native AI features yet, but they can connect with AI software like OpenAI in the same way that they connect to any app. 

For instance, in Zapier, you can simply select the Open AI integration to configure and send an automated prompt and process the answer. 

If you’d like to see an example of how AI and Automation can work together, go to XRay.Systems to check out Debrief. This is a system we’ve built that lets users upload a recorded Zoom meeting and get an AI-generated summary, complete with any key action items they need to complete. 

Debrief relies primarily on no-code tools to create AI prompts for each uploaded video. 

Ultimately, one of the greatest benefits of no-code automation tools is that they can leverage virtually any app with an API. So even if they don’t develop native AI features, they can just integrate with an app that does. 

AI-Assisted Search in Microsoft’s Bing

Bing has been playing second fiddle to Google ever since its inception, but its quick adoption of AI just might help it to gain some ground against its competitors. At least, with the $10 billion they’ve already invested into OpenAI, that’s certainly what Microsoft is hoping for. 

At this point, you’ve probably already tried out OpenAI’s ChatGPT software, so to make it simple, you can think of Bing’s AI as essentially being a version of ChatGPT that’s actually connected to the internet. 

As a result, Bing can give faster, and - hopefully - more accurate responses to user questions. 

“Hallucinations” are still a huge problem in the world of AI, particularly with ChatGPT. It’s not uncommon for ChatGPT to give completely incorrect answers, and to insist on those incorrect answers when you try to correct it. 

By connecting to the internet, Bing’s AI may be able to use up-to-the-minute information to provide more accurate answers, but that remains to be seen. You can join Bing’s waitlist to find out for yourself (note: it appears that the waitlist is now granting instant access to “the new Bing”). 

Try Softr to Build Market-Ready Apps with AI Integrations

Finally, let’s take a look at Softr. 

Softr is a platform that enables you to build market-ready web apps with a no-code interface. 

In addition to several other content blocks for building your web app, Softr includes blocks that connect with DALL-E and OpenAI. 

For example, If you’d like to include AI prompts as part of your product, you can create a text box connected to OpenAI so that users can enter prompts and receive answers through your Softr web app. 

Softr’s OpenAi blocks are great for a first-time builder experimenting with an AI product.

Softr makes it very easy to create new data with integrations like OpenAI, and manage that data in a user-friendly app like Airtable. 

Overall, it’s one of the cheapest and fastest ways to build an MVP and start testing your idea on the market. 

Of course, Softr still has its limitations. Your web app must be connected to either Airtable or a Google sheet, so you don’t have many options for your backend. You also won’t have the same kind of granular control over your web apps’ design like you would in an app like Webflow or Wordpress. 

But if your priority is getting your AI product to market as fast as possible, Softr is a great choice. If you want to learn more about building a web app with Softr and Airtable, check out our video about working with a no-code tech stack right here, or try out Softr for yourself at softr.io

AI is Redefining the Way We Work

Through native features and third-party integrations, dozens of popular apps are already transforming the way people work with AI

This is only the beginning; there’s no doubt that we’ll be seeing AI features and tools added to countless web apps in the coming years. If you’d like to learn more about using AI and other tools to streamline your workflows, check out our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Tutorial
March 15, 2023
How to Use Notion's New AI Features

New AI tools are revolutionizing the way we work, and ChatGPT isn’t the only show in town. 

Every month, new software built on machine learning is emerging and becoming accessible to anyone, and popular apps like Notion are adding AI tools to an already impressive feature set.  

Now, with a simple command in Notion, you can ask an AI assistant to generate any text you can think of in a matter of seconds. 

In this post, we’ll show you how to start using Notion AI, and we’ll demonstrate what it can do with various prompts and options. 

Notion AI Pricing and Trial

Notion AI recently got out of beta, and is now available to all users. 

Unfortunately, you’re going to be limited to just 20 AI responses for free. You’ll have to opt for the AI add-on to keep using it indefinitely, and that’s priced at $10 per user per month.

But don’t worry; if you’d like to see what Notion AI can do without burning through all of your free responses at once, we’ve got you covered. 

We’ll show you all of Notion AI’s main commands, prompts, and options, so you can see what it’s capable of before you sign up for it. You can also check out the embedded video to see Notion’s AI working in real time. 

Exploring Notion AI: Summarize, Translate, Explain, and More

To access Notion AI, just type forward slash or hit space to bring up a list of options. You’ll see all of the familiar Notion commands, but you should also see several choices for AI-related commands in purple. We’ll go through these choices one at a time. 

You can also highlight a piece of text to see options for transforming the content with AI. When you select an item from the menu, Notion AI will generate an answer in the preview window.

A drop-down menu showing the different options that Notion AI can complete

If you’re happy with the results, you can click on “Insert below” to add the AI-generated copy underneath your original copy. You can also replace the original text with the AI’s response if you’d prefer, or prompt the AI to generate a new response. 

If you ask the AI to try again, you’ll likely receive a similar result, but it can offer up some significantly different approaches to the same prompt. If you’re not satisfied with the first answer, just give it another attempt and see what happens. 

Find Action Items

“Find action items” will analyze a piece of text, like an email or a Slack message, and return a short summary of any action items that the text asks for. 

Just highlight the text that you want the AI to analyze, click on “Ask AI”, then select “Find action items”. 

AI generated text in which Notion AI will parse out Action Items

Within a few seconds, Notion AI should generate a list of action items. 

Action Items as tasks generated by Notions AI

Translate Text to Any Language

“Translate” will translate the selected text into a language of your choice. Just like the “Find action items” option, just highlight the text you want to translate and choose the corresponding menu item. 

Notion AI translating a sentence from English to Spanish

You’ll see Notion AI translate your text in a matter of seconds. 

Bear in mind that AI translation may contain errors. If you don’t speak the language that you’re translating to, we’d always recommend including a note that the translation in question was AI-generated when you share or publish the text. 

Explain This

The “Explain this” option will prompt the AI to offer a simple explanation of the highlighted text. For example, when we ask Notion AI to explain the text of Wikipedia’s article on machine learning, it returns a simplified paragraph that explains the basic concept of machine learning. 

Notion AI generating a simple explanation of a Wikipedia article on Machine Learning

You can also use “Explain this” to define a word or term you’re unfamiliar with. If we ask Notion to explain “neuromorphic”, it offers the following definition: “Neuromorphic refers to the design and function of computer systems or devices that mimic the behavior of biological neural networks, such as those found in the brain.”

Notion AI explaining the term Neuromorphic

In this case, Notion AI’s definition lines up well with Wikipedia’s: “Neuromorphic computing is an approach to computing that is inspired by the structure and function of the human brain.” 

Again, like other AI tools, AI is not always going to give an accurate response. It can be a very useful shortcut, but still isn’t a substitute for real research. 

Improve Writing

The “Improve writing” prompt will attempt to polish the submitted text. It will typically correct spelling and grammar issues, but will also try to improve the flow and structure of your writing. For instance, when we enter a bit of text with a clunky, repetitive sentence, it simplifies with much cleaner phrasing. 

Notion AI improving the writing of a paragraph of data, with a menu with an option to replace that selection

If your copy is a bit dull or awkward, try running it through Notion AI for some quick revisions. 

Spelling and Grammar

If you just want to fix any typos or grammatical mistakes in your writing, you can use the “Spelling and grammar” option instead. Notion has a built-in spell check feature, and you’ve probably seen the familiar red underline appear under your misspelled words in the past. 

However, Notion’s automatic spell check often won’t always catch grammatical mistakes like “to” instead of “too”, or “their” instead of “there”. 

Notion AI fixing spelling and grammar issues on a sentence, with a dropdown menu offering to replace the selection

A quick spelling and grammar check with AI can help to ensure that you catch every mistake. 

Make Shorter

“Make shorter” will reduce the length of the selected text. While Notion AI will make the text shorter, it won’t necessarily make it any simpler. If you’re looking to make a dense selection easier to understand, you may want to use “Explain this” or “Simplify language” instead. 

Notion AI shortening a long paragraph with a dropdown menu asking to replace the selection with the AI generated text.

Make Longer

“Make longer” will add text to increase the length of your selection. It will try to add contextually relevant detail, but it’s quite likely to make your text redundant. If you’re not trying to reach a strict character minimum with your copy, “Make longer” probably won’t be that useful. 

Change Tone

If you want to switch your writing to a more professional or confident tone without changing the meaning of what you’ve written, you can use “Change tone”. 

Notion AI changing a short paragraph into a more professional type of paragraph, with a dropdown menu asking to replace the selection with the AI generated text.ef

When we apply a “professional” tone to our casually written example, we can see that it removes abbreviations and generally employs more formal language. 

Simplify Language

“Simplify language” will simplify your text to use more easily understood synonyms. It may also shorten verbose language to be a little more brief, or cut out unnecessary repetition. This is a useful function to try it out if you’re worried that your writing is getting a bit too dense for your audience. 

Notion AI taking a paragraph and simplifying the language used, with a dropdown menu asking to replace the selection with the AI generated text.

Custom Prompts

Under the “Draft with AI” section, you’ll see a long list of prompts, like “Brainstorm ideas…”, “Outline…”, “Press release…” and more. 

All of these options will open up a window where you can enter a custom prompt, and will prefill a start to the prompt like “Brainstorm ideas about”. 

A view of a Notion AI prompt to create a Custom prompt

You can also edit or delete the prefilled portion, so these options are essentially just a way to start a custom prompt. 

You can enter any prompt that you’d like, but a greater level of detail in your prompt will usually result in a better output. 

An Affordable AI Writing Assistant

Notion AI offers a helpful set of features for brainstorming, summarizing, or drafting content, and it puts all of these options right alongside your key notes and documents in Notion. 

At a price of $10 per user each month, and coming in at a quarter of the price of OpenAI’s premium plan, it’s an affordable option for anyone looking to make AI a critical part of their workflows. 

But even if Notion AI isn’t right for your tool belt or your budget, there are many more AI tools out there that you can explore - and we’ll be covering lots of them soon right here on the XRay blog. 

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

Tutorial
March 8, 2023
A Beginner’s Guide to Zapier - Updated for 2023

No matter what your level of technical expertise is, you don’t need to waste your time on tedious, repetitive tasks. With no-code automation providers like Zapier, anyone can automate the mindless work that’s eating their time. 

In this post, we’ll show you everything you need to know to get started with Zapier and begin creating automated workflows of your own. 

What is Zapier, and What is No-code Automation?

To get started, let’s address a simple question: What is Zapier?

If you’re already familiar with what Zapier is, you can just scroll down to the tutorial section of this article and start building your first Zap. 

But for everyone who’s just discovering the application for the first time, Zapier is a no-code automation provider.

What that means is that Zapier lets you connect two or more web apps to move data between them automatically. 

As a no-code app, Zapier lets you create these connections without needing to write any code. That’s right; you don’t need to know the first thing about coding or software engineering to build automations in Zapier! 

Now let’s break down what an automation looks like piece by piece. 

Anatomy of a Zapier No-code Automation

In Zapier, an automation (or “Zap”) consists of one triggering event – which prompts the automation to run –  and one or more automatic actions that occur whenever the trigger is activated. 

For example, you could build a Zap that connects Google Drive to a database app like Airtable. You could design your automation like this: 

Every time a new record is added to the “Clients” table in my Airtable base, create a new folder in Google Drive with the client’s name.

• Then, create a new Onboarding Agenda doc within that folder. 

Overflow of a Zapier Flow.  Starting with an Airtable Trigger, Google Drive Action and a Google Docs Action

In this simple 3-step Zap, the trigger is the creation of a new record in the specified table. 

The actions are to make a new folder in Google Drive and a new onboarding doc. These actions will run automatically whenever we add a new record to the table. 

There’s a lot more that you can do with different triggers, filters, and formatter steps, but you don’t need to worry about all of that right now. You can check out the other videos on our channel for more in-depth tutorials once you’ve developed an understanding of Zapier’s fundamentals. 

For now, let’s get back to the basics of Zapier. 

Tutorial: Building Your First Zap

Now let’s take a look at actually building a Zap. 

For our example, we’ll be creating an automation that runs whenever a new file is added to a specified “Uploads” folder in Google Drive. 

A Google Drive Uploads Folder with  files contained within this

Whenever a file is added, it will send us an alert in Slack as a direct message. 

An automatically generated Slack message notifying individuals of a new file uploaded to a folder

This will be a simple two-step Zap, so you can follow along on Zapier’s free plan. If you’re not using Slack or Google Drive, you can either create free accounts, or use similar apps like Microsoft Teams or Dropbox. 

The exact configuration options will be a little different, but it will still largely involve the same concepts. 

First, go to www.zapier.com and create an account (or log in if you already have one). If you’re creating an account for the first time, Zapier will grant you a free trial of some premium features.

If your free trial has already ended, don’t worry; you can complete this tutorial with Zapier’s free plan. 

Organize Your Zaps with Folders

When you open up Zapier, it might be tempting to click on the big orange button to create your first Zap, but hold on!

First, click on “Zaps”. 

Zapier main menu with the Zaps highlighted

Then, create a new folder for your Zap. It’s always good to stay organized so you can easily find your automations later when you need to perform maintenance. 

Folders is on the left side of the Zaps menu.  Click on the + to add either a New Private or Shared folder

In our example, we’ll choose our “tutorials” folder.

Once you have a folder selected, click on “Create” to make a new Zap. 

Make sure to give your Zap a descriptive name, like “Send Slack Alert for New Files in Uploads Folder”. 

Creating Your Trigger Event

Now, Zapier will prompt you to create a trigger. Like we outlined before, the trigger is the event that will prompt the automation to run. 

You’ll need to pick the app where your trigger will occur. For our example Zap, that’s going to be Google Drive. 

Choose an app to serve as a Trigger for your Zap

Zapier will put a small selection of commonly used apps in the trigger creation panel for easy access, but you can also search for your app with the search bar to find the thousands of other integrations Zapier has. 

Once you’ve selected Google Drive as the trigger app, you’ll need to choose the event. When you click on the dropdown, you’ll see two options that may both seem relevant: “New file”, and “New file in folder”.

Google Drive trigger is selected which will trigger when a New Folder appears in a Folder

“New file” would cause the Zap to run whenever a file is added to any folder in our Drive account. “New file in folder”, on the other hand, will let us limit the trigger to a specific folder. 

Always make sure to read the description of each trigger to find the best match for your planned automation. 

Authorizing Zapier to Access Google Drive or Other Apps

Once you’ve chosen your trigger, you can click on “continue”.

Now, Zapier will prompt you to choose an account for your trigger. This is the account that Zapier will use to actually access Google Drive (or whichever app you’re using for your trigger).

Select Google Drive Account to watch

Click on “Connect a new account”, and sign in to your Google account in the window that pops up.

Zapier will ask for some pretty extensive permissions, but that’s OK. You essentially want Zapier to be able to act on your behalf while using this app, creating folders and files based on the automations you set up. 

Allow Zapier to access your Google Drive account

Once you’ve signed in, you can select your account from the dropdown. 

If you ever want to manage the accounts you’ve connected to Zapier, you can just go back to the dashboard and select “Apps”. 

Configuring and Testing the Trigger Event

Now, click continue to start configuring your trigger. 

Next, you’ll need to choose the Drive and Folder that you want Zapier to watch. There’s usually only one option for Drive - My Drive.

But you’ll probably have many folders in your Drive to choose from. You could click through folders in Zapier to find the one you want, but we always recommend just entering the folder’s ID directly whenever you need to find a folder in Drive with Zapier. 

Copy the text after folders/ in Google Drive's URL to get the GDrive Folder ID

Just open up your Google Drive folder in another tab, and copy these characters after /folders/. To paste it in directly, click on “Custom”, then enter the ID into the field. 

Enter the GDrive Folder ID into the Folder field

Click “Continue”. 

Next, you’ll need to test your trigger. 

Whenever you’re building a Zap, you’ll need to use real test data. In other words, in order to build this Zap that checks for files in your “Uploads” folder, you need to have at least one file in your “Uploads” folder already. 

Make sure a File is in the Uploads Folder to correctly get trigger data

Upload a test file, like a .txt doc, then click on “Test Trigger”. When you test the trigger, Zapier will look for data that matches the conditions you specified - in this case, it will look for any file in the “Uploads” folder. 

Each Zapier trigger will return some information about the file or object it found. 

In this case, you’ll see a plethora of metadata about the file in Drive. Some of it could be very useful, but a lot of it is basically just noise. 

If you scroll down, you should see the file name, which will confirm that everything’s working as intended. 

Google Drive trigger information in Zapier with fields retrieved

Once your trigger is all set, you can click on Continue. 

Adding an Action to Your Zap

Now, you’ll be prompted to add an action. 

Just like with your trigger, you can search for the app you want to use here - in this case, choose Slack. 

Zapier Action menu, choose your correct app

We’ll go with “Send Direct Message” as our event, since we just want to send a private alert - don’t want to make too much noise on Slack. 

Choose Send Direct Message as the Slack Event

And just like with Google Drive, you’ll need to add a Slack account in order to use it in Zapier. 

Configuring the Slack Message

There are several options here for creating and sending our Slack message, but only two are required - the username of the person we’re sending the message to, and the message itself. 

You can just copy and paste your user ID from Slack for the former. To paste it in directly, click on “Custom”, then enter the ID into the field. 

For the latter, you can compose a quick message directly in Zapier. 

Enter some alert text directly into the “Message Text” field: “A new file has been added to the Uploads folder. View it here:”

The page to configure the Slack Action in Zapier

Then, by clicking on the “insert data” tab, you can use data that Zapier retrieved in the trigger. 

In this case, we want a link to the new file. 

Search for “Alt” to find the “Alternate Link” - that’s what Zapier calls the URL of a file in Google Drive.

Select the Alternate Link in the dropdown of variables for Google Drive to get a working link to your file

Understanding Dynamic Data in Zapier

This link that we’re inserting is dynamic information - whenever the automation runs, it will use the data that’s currently triggering the automation. 

Dynamic data like this is one of the essential features of any automation provider. It’s what will make your automations adapt to the data they’re currently handling, instead of always regurgitating a completely pre-configured action or block of text.

The "insert data" tab allows you to access dynamic data found or created by the Zap.  This data, like "File Name" or "Date Created" will change whenever the automation runs.  Dynamic data allows Zaps to automatically create contextually accurate data

In other words, if we have 5 different files enter our upload folder, we’ll get 5 different messages in slack. And each one will link to a different file.

This is what a dynamic automation looks like. 

Completing and Testing the Slack Action

To finish your message, we’d recommend customizing a few more of the available settings. 

Set the “bot name” to something unique, like “New File Frankie”. This is the name that the Slack bot will use to send the message. Giving it a unique name will help you to keep track of which automation is sending you an alert after you’ve set up several automations.  

Then, set the “bot icon” as a robot face or any other emoji that you’d like. You’ll need to configure it like this:

:robot_face:

Send your message as a Bot give that Bot a Name and an icon also do not auto-expand links

Finally, set “Auto-expand links” to NO. Auto-expanded links will include a preview image, which can make the message take up far more real estate on your screen than necessary. 

If you’re curious about what the other fields and settings do, Zapier provides helpful descriptive text for each one. 

Now that your message is all set, click continue and test the action.

Instantly, you should get a message in Slack. 

We’re almost done setting up this Zap. But first, it’s always good practice to run a live test to see how it will actually work in practice. 

Giving Your Zap a Live Test

Publish the Zap and turn it on, then upload a file to the “Uploads” folder.

When the Zap is live, it will check for new folders on a set interval. On a higher-level plan, it will run every five minutes, but on lower tiers, Zapier may only run every fifteen minutes. 

So you may want to grab a snack or knock out a quick task while you’re waiting. 

After a few minutes, the alert should show up in Slack exactly as intended.

That means your Zap is all set and ready to use. 

If it didn’t work as you expected, you can try our troubleshooting tips here

Now let’s explore some of the other features that you can access from Zapier’s Dashboard. 

Zapier’s Interface and Other Features

While building Zaps is the main thing that you’ll be using and accessing Zapier for, it’s also good to familiarize yourself with the other options and features that you have at your disposal. 

Dashboard

In your Dashboard, you’ll see a few helpful choices. 

You can search for an app to start building a new Zap, or browse Zapier’s recommendations for new Zaps to build. 

And if you scroll down to the bottom of the page, you’ll see a few more resources. With these links, you can sign up for early access to new features that are still in-development, or check out the “Learning Center” for Zapier’s own tutorials. If you need more support, you can click on “Hire an Expert” to view the Experts directory, or select “Ask the Community” to visit Zapier’s forums. 

You can ask the community for help, hire an expert or learn more about Zapier

Zaps

Under “Zaps”, you can see all of your Zaps and the folders you’ve stored them in. Here, you can edit Zaps you’ve already built, create new ones, or delete Zaps that you don’t need anymore.

You can also turn Zaps on or off if you just want to pause them for a while. 

Transfers

Under transfers, you can build a different type of automation. In Zapier, a “transfer” is used to import a large dataset from one app to another. 

For instance, you might want to use a transfer to move your company directory from Google Sheets to Airtable. In this tab, you can see your existing transfers or create a new one. 

Transfers support bulk movement of data

Frankly, transfers aren’t that great of a feature yet. They might become more useful in the future, but for now, you’re probably better off with a simple CSV export for a one-time migration, or using an app like Whalesync for automated syncing. 

My Apps

Under the “My apps” tab, you’ll see all of the apps that you’ve authorized for Zapier to access. 

You’ll see the apps that you’ve individually authorized, the apps that your team has shared with you (if you’re on a team plan), and any custom integrations you’ve built. 

Select My Apps to see all connected apps plus add a new Connection

Authorization for your apps will often expire after several weeks have passed, or after you’ve changed your password for the app, so it’s good to check in on this tab periodically for any issues. 

Zap History

Under Zap history, you can see a record of each individual run for every single Zap. This is a useful tab for keeping track of your total Zap runs and tasks, which can be limited based on your subscription plan. 

Use Zap History to see Usage Statistics and previous zap runs

It’s also a helpful starting point whenever you have a Zap that isn’t behaving as expected. Clicking on a failed Zap run, or a run that’s considered “Successful” but didn’t do what you wanted, is a great way to see more detail and start troubleshooting. 

You can use the search bar in the top right to find specific data associated with any Zap run to make your troubleshooting quicker and easier. 

Explore

The “Explore” tab will take you out of the Zapier app and back to their website, where you’ll see more ideas and templates for Zaps you can build. 

The “Explore” tab will take you out of the Zapier app and back to their website, where you’ll see more ideas and templates for Zaps you can build. 

Get Help

Under “Get Help”, you can get help. No surprises there!

Here, you’ll see a comprehensive list of guides and tutorials to help you learn the basics of Zapier or troubleshoot common errors. 

you’ll see a comprehensive list of guides and tutorials to help you learn the basics of Zapier or troubleshoot common errors. 

Once again, this takes you out of the Zapier app and back onto their website. 

Manage Plan

Finally, at the bottom of this panel, you can see your overall usage statistics and manage your plan. 

When you click on “manage plan”, you’ll see several options for managing your subscription, your payment methods, and more. 

Zapier Pricing Plans (March 2023)

While we’re on the subject - let’s quickly go over the available pricing plans for Zapier. 

You can see all of the details in the screenshot below or on the pricing page here, so we won’t bother repeating all of the information. We will give you a few quick tips, though.

Zapiers Plans and pricing page

Zapier’s Free Plan 

The free plan is only really useful for checking out Zapier for the first time. With the two-step limit, you won’t be able to build many useful automations, and you’re limited to five total Zaps anyway. 

Get the Most out of Zapier with a Pro Plan

The starter plan gives you a bit more to work with, but if you intend to rely on any Zaps in your day-to-day work, you’ll probably want to use the Professional or Professional plus tiers. 

Of course, if you’re hoping to make workflow automation a mainstay at your company, you’ll need to consider the Team or Company plans to get everyone at your organization on board. 

But as an individual user, the Pro or Pro Plus plans will probably be your best bet if you’re looking to get the most out of Zapier. 

Why Zapier is Great for Beginners

As you’re looking at those prices, you might be wondering: is Zapier worth it? Why would I want to pay $20 or more for this every month?

Zapier isn’t the only no-code or low-code automation provider available. There are tons of similar tools available, like Make or Workato, so you may want to consider them as well. 

However, there are three key benefits that make Zapier one of the best choices for no-code automation beginners. 

Zapier is Easy to Use

First off, Zapier is extremely easy to use. 

As we’ve already mentioned, Zapier doesn’t require you to have any kind of coding background at all. You don’t even need to have any experience with similar automation apps. 

As long as you’re generally comfortable with using modern web apps, you’re good to go with Zapier. 

If you do have some experience with writing code, you may actually want to check out Make instead. You can learn more about Make in this tutorial here

Zapier Has Thousands of Software Integrations

Second, in addition to being easy to use, Zapier has a huge number of software integrations. 

It supports thousands of popular web apps. If you check their list of integrations, you’ll see everything from Google Drive and Hubspot to Microsoft Office and Shopify. 

There’s integrations for CRMs, website builders, productivity tools, task managers and more. 

Really, unless you’re using custom software, the odds are very good that Zapier supports your apps. 

But you can always do a quick search for your app in XRay.Tools, a simple search engine that shows you what you can automate with the tools you already use. 

Getting Support for Zapier is Easy

Finally, Zapier is an extremely popular tool, which gives you lots of options for support if you run into any issues.

You can check out Zapier’s Experts directory to get one-on-one help from experienced pros like XRay. 

You can also check out a plethora of forums to get help from other users. 

Ultimately, if you encounter a problem when you’re using Zapier, you can probably find dozens of other people who have been there before and found a solution. 

Start Automating Your Workflows Today

With Zapier, anyone can start automating their work, regardless of their technical experience or background. If you’d like to check it out for yourself, just go to www.zapier.com and follow along with this tutorial. 

If you’d like to take your Zapping to the next level, check out our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Understanding Automation
March 1, 2023
The 5+ Best Notion Templates for Boosting Your Productivity

Notion is an extremely useful application for managing your documents, notes, and more. With a wide variety of content blocks, you can build nearly any layout you can think of.

But one of the most convenient features in Notion is the ability to copy templates with a single click. Everything from task management systems and business strategy docs to notebooks and vacation planning boards are readily available in user-created templates that you can add to your own workspaces. 

In this post, we’ll show you five of the best Notion templates that you can use to help boost your productivity at work or at home. Most of the templates are free to use, and all of them can help you to get more done without having to spend lots of time formatting your Notion pages.

Manage Your Company’s To-dos with “Ultimate Tasks” by Thomas Frank

First, let’s take a look at Thomas Frank’s “Ultimate Tasks” template.

Thomas Frank is an expert in Notion and productivity, and he has a great YouTube channel that explores how you can use Notion to get more done. His "Ultimate Tasks" template is a great starting point for anyone looking to get organized and streamline their workflows.

Thomas Frank's Ultimate Tasks template

The template allows you to create projects in Notion, and create tasks within those projects. You can assign tasks to specific team members, set due dates, view projects in different formats like Calendars or Kanban boards, or even add sub-tasks to each task. 

All of these features are included for free. 

To access the template, simply open it up in the link below and click "duplicate." If you're interested, you can subscribe to Frank's newsletter for even more productivity tips and tricks, but it is not necessary to access the template. 

Give it a try and see how it can help you boost productivity for you and your whole origanization.

Try the Ultimate Tasks Template here

Stay On Top of Personal Tasks and Content Creation with Ali Abdaal’s Part-Time Productivity Planner

Next, let’s go over Ali Abdaal’s “Part-time Productivity Planner” template.

Ali Abdaal’s YouTube channel is another great resource for productivity and mindfulness tips and tricks.

His "Part-time Productivity Planner" template is an ideal choice for anyone looking for a simpler task management system that’s focused more on personal priorities rather than company or team tasks. It features a simple table for your daily tasks and weekly reflections, so you can focus on a few key priorities without getting overwhelmed by extra stats and data.  

Ali Abdaal's Part-time Productivity Planner

This template is especially helpful for content creators, as Ali also maintains a YouTube Notion Template Repository, which is a useful resource for aspiring YouTubers or veteran content creators. 

Ali Abdaal's YouTube Repository

These templates and associated videos offer great tips for planning, writing, and shooting YouTube videos. By following the templates and videos, you'll be able to get started with your own channel or make your existing production smoother. 

The part-time productivity planner is normally priced at $19.00, but at the time of publication is available for free. To access the YouTube repository, you’ll just need to subscribe to Ali Abdaal’s newsletter. 

Give some of Ali Abdaal’s templates a try and see how they can help boost your productivity and mindfulness.

Part-time Productivity Planner

YouTube Notion Template Repository

Organize Your Startup with Hivemind by Optemization

If you're looking for an alternative to Thomas Frank's "Ultimate Tasks" template for your startup, you may want to consider Hivemind by Optemization.

Hivemind bills itself as an "Operating System for Early-Stage Startups." While Ultimate Tasks is more generalized for any business, Hivemind is specifically focused on helping startups to organize their tasks and priorities.

Hivemind by Optemization

The template framework includes a dozen databases and over 44 templates to organize your startup's goals, networks, and systems.

However, it’s not a particularly cheap option, with packages starting at $295 and going up to nearly $1,000. As you can probably guess, this template is not intended for casual users. Instead, it’s more ideal for startups looking to use Notion as a robust backbone for their entire infrastructure.

If you're interested in learning more, you can check out their website by the link in the description.

If the price is too steep for your budget, don’t worry; we’ve got a few more free and cheap templates in this post that can also help you to tackle your to-dos. 

But if you’re running a rapidly growing startup and need a solid foundation for organization and goal setting, Hivemind may be a solid choice for you.

Learn more about Hivemind at Optemization’s Website

Create Business Strategy Docs with Landmark Labs

Next, let's take a look at Landmark Labs' selection of free Notion templates. 

These templates are specifically designed for frequently-used documents, and cover several charts and diagrams that are often used for strategy and planning in any business. 

They include RICE scoring, SWOT analysis, and a Customer Journey map among many other options. These are business oriented, technical documents, and incredibly helpful to think through details that are easy for anyone to miss. 

A SWOT analysis template from Landmark Labs

These templates are a great way to create a commonly used layout for meetings, workshops and more with just a few clicks. 

They can spare you all the time and effort of building a visually engaging document from scratch, while still making sure all the important details are covered in one place.

The templates for these docs are free through Landmark Labs, but they do require a signup to access. Landmark also offers a selection of more advanced templates that require a premium account.

 You can find them all and try them out at the link below!

Explore Landmark Labs’ Notion Templates Here

Explore More Options with Notion’s Own Template Gallery

Of course, if none of the templates we’ve listed so far strike your fancy, you can always fall back on Notion’s own template gallery. 

These templates are created by Notion’s team and by the extensive Notion community. While you’re not likely to find anything as robust as Ultimate Tasks or Hivemind here, the large selection of free and low-cost templates covers a huge range of document types and styles. 

Notion's template gallery

You can download a business model canvas to plan your next venture, create a task management system to get ready for job interviews, plan all of your household maintenance tasks, and much more.

Just start browsing their gallery to get started.

Explore Notion’s Template Gallery Here

Streamline Your Work with Notion’s Templates

Whether you're looking for a more generalized solution or something focused on a particular use case, there's a Notion template out there for you. Give these templates a try, and see how they can help streamline your workflow and boost your productivity.

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

Tutorial
February 22, 2023
Automatically Import YouTube Data into Airtable with Data Fetcher

If you’re running a YouTube channel, keeping track of each video’s performance is essential for making sure that you’re reaching your audience with the right content. 

However, viewing all of your stats in YouTube analytics isn’t always enough. With limited options for sorting or running calculations, YouTube’s native analytics panel might not help you reveal the insights you’re looking for. 

In this post, we’ll show you how you can use a tool called Data Fetcher to import all of your YouTube channel stats into Airtable. 

This will let you view and sort your stats in a convenient location where you can take advantage of all of Airtable’s key features - like workflow automation, customizable data views, and more.

Example: A Completed Data Fetcher Request

The image below shows what your table will look like once you’ve finished setting up Data Fetcher.

You’ll have a list of every video in your channel, along with key stats like views, subscribers gained and more. We’ve chosen a limited selection of fields from YouTube to keep things simple, but you’ll be able to add as many fields as you’d like.

Automatic vs. Manual Updates

With a premium Data Fetcher plan, you can schedule automatic updates. All of these fields would update automatically at whatever time interval you designate. If you’re using the free plan, you’ll just need to import the data manually each time to update your records. 

Now let’s take a look at how you can build the table and configure Data Fetcher step by step. 

Initial Data Fetcher Setup

First, create a table in Airtable where you’d like to import your YouTube data.

If you know all of the fields you would like to include in the final table, you can add them now, but it’s not necessary. In general, it’s easier to just leave the table blank for now, and simply let Data Fetcher create fields for all of the imported data instead. 

Adding Data Fetcher to Your Airtable Base

Click on “Extensions” in the top right. Add an extension, and search for “Data Fetcher”. Click on “add” to add Data Fetcher to your base.

To make configuration easier, hover over Data Fetcher in your extensions panel, and click on this square icon to make the panel fullscreen. 

Create a Data Fetcher Request to Import YouTube Public Data

To begin importing data, click on “Create Request”. In Data Fetcher, a “Request” is an action that imports data. 

Search for the app you want to use. 

When you enter “YouTube”, you’ll see two different options: YouTube Public Data, and YouTube Analytics.

To get all of your YouTube data into Airtable, you’ll need to create two separate requests - one for each of these options. We’ll start with YouTube Public Data. 

Under “Authorization”, create a new Connection to sign into your YouTube account and authorize Data Fetcher. 

The “Endpoint” dropdown will give you a few options for the type of data you want Data Fetcher to retrieve. Choose “List Channel Videos” to list all of the videos that have been published to a specific channel. 

Click on “Save and Continue”.

Get Your YouTube Channel ID

Now, you’ll need to enter the ID of the channel you want to get data for. You can enter any public channel into this field, but if you want to expand on this data with YouTube analytics info, you’ll need to choose your own channel.

Open up your YouTube channel in another browser window, and copy the string of characters after “/channel/”

Paste this into the “Channel Id” field. 

Configure Your YouTube Public Data Request

Choose a field to sort by, like date or view count. 

Then, you can add a search query if you’d like to limit the results to videos on your channel that match certain keywords. In our example, we’ll just leave this blank since we want to import data for all of our videos. 

Next you can choose the table and view that you want to import your data into. By default, this will be set to the table and view that you already have open, so you probably won’t need to change these. 

Finally, if you have a paid plan, you can schedule your plan to run automatically at regular intervals. Schedule your request as desired, and click on “Save & Run”.

Map Your Imported Fields

Next, you’ll see a table of the information that Data Fetcher retrieved. In this window, you can choose which fields you want to use, and which fields you want to map them to in your Airtable base. 

Just uncheck fields you don’t want to import. For instance, we’ll uncheck “Default thumbnail width”, since it’s not really useful for much of anything. 

NOTE: You must include the “Video ID” field to successfully update this data with YouTube analytics data in the second part of this tutorial. 

Once you’ve configured all the fields to your liking, click on Save & Run to finish the import. Your table will now be populated with data for every video uploaded to your channel. 

Adding YouTube Analytics Data to Your Table

To add statistics like video views to the public data, you just need to add a second Data Fetcher request for YouTube Analytics data. 

Go back to the Extensions panel, and add a new Data Fetcher request. This time, you’ll choose “YouTube Analytics” as the application. Connect with your YouTube account, and click “Save & Continue”.

Configuring Your YouTube Analytics Request

Choose a date range that you’d like to request data for. You can pick from several preconfigured options, or enter a custom date range.

Then, pick the fields you’d like to import. There are dozens of options here, including likes and dislikes, shares, annotation impressions and more. You can choose any number of fields you’d like here. 

The “Split by” field lets you determine how records will be divided. So if you choose “Day”, there will be a record for each day. If you choose “Video”, it will create a separate record for each video, and so on.

To ensure that this data maps accurately to our existing YouTube data, choose split by Video. Next, you can add filters to limit your results. Again, we’ll be leaving this field blank to make sure we get all of our channel’s videos. 

Updating Your Existing Data

To make sure that this request will update your existing records instead of creating new ones, click on “Advanced Settings”. 

Make sure that “Update” is selected instead of “Append”. Then, under “Update Based on Field”, select “Video Id”.

Click “Save & Run”, then map your fields. Click on “Save & Run” once more, and your table will be updated with new fields.

Manage Your YouTube Stats with the Features of Airtable

Now that your YouTube data is in Airtable, you can view and manage it in one convenient spot. You can use views and filters to easily sort your data, use formulas to run calculations and discover insights, or even trigger automations to run. 

Everything from simple data comparison to workflow automation will be easier with all of your data in Airtable. 

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.

Understanding Automation
February 15, 2023
Build Market-Ready Web Apps with this No-code Tech Stack

Looking to build a digital product, but don’t know how to code?

With the right software, you can build a fully-functional no-code product for your customers, and you can get it done in a tenth of the time it would take to code it from scratch, and half the time it would take to build with Bubble. 

In this post, we’ll show you some examples of the no-code apps you can use to build a database and a customer-facing frontend. We’ll also show you a couple of automation platforms that can make your app perform any action you might think of. 

Understanding Tech Stacks

If you’ve ever explored software engineering and application development, you’ve probably heard the term “tech stack” before.

In software development, a “tech stack” refers to all of the coding languages, frameworks, and tools that the engineers use to build a product. Even though we’re going to be talking about no-code tools in this article, the concept is still useful for understanding the different roles that each piece of software performs. 

Store and Process Data on the Backend

First, you have the backend of the application. 

The backend of an app is where data is stored and processed behind the scenes. It’s where the app actually performs the key functions that are prompted by the user’s commands.

Build a Frontend for User Interaction

The Frontend is where the user interacts with the app. In most applications, the frontend is usually accessible as a web page or an application on desktop and mobile devices. 

A No-code Tech Stack

Knowing where your no-code tool falls in your tech stack will make it much easier to look for alternatives and improvements. 

The no-code stack that we’ll look at in this video will use Airtable as the backend, along with automations built in Zapier and Make. To build a polished frontend interface for your users, you can employ an app called Softr. 

Now let’s take a closer look at each part of this stack. 

Use Airtable to Create a No-code Backend

We’ll start with the backend. To build the backend database of your no-code product, we almost always recommend using Airtable. 

If you’re not familiar with Airtable, it’s essentially a spreadsheet app on the surface. However, when you take the time to learn how to use Airtable, it can go much further than a simple spreadsheet. 

You can find several videos on our YouTube channel that demonstrate Airtable’s capabilities, but we’ll give you a quick idea of what it can do here. 

Filters and Views in Airtable

Airtable has customizable filters and views that let you control exactly how your data is sorted based on your own configured settings. This makes Airtable a very convenient way to analyze your data, but it also makes it an ideal database to support no-code automation. 

No-code Automation in Airtable

Airtable supports automation with dozens of popular apps, so you can automatically gather data from different sources or send out instant updates with the tools that you’re already using. 

Features like filters and views help Airtable to work extremely well as a database that supplements apps like Zapier and Make. 

For instance, you can create a view that only contains all of the users who signed up for your product in the last year. As soon as the user’s signup date is older than a year, they’ll be removed from that view automatically. You won’t need to do anything to update it.

Additional features like linked tables, form views, and extensions also set Airtable apart from other similar spreadsheet apps, but we’ll let you explore the rest of Airtable’s functionality on your own.

In short, Airtable is a highly sophisticated but very intuitive database app that makes for an ideal no-code backend. 

Build a No-code Frontend with Softr

Next, let’s move to the frontend and take a closer look at Softr. 

Softr is a great tool for building a polished web app for your product. Softr enables user signup, account creation, and payment right out of the box; no plug-ins required. 

Payment Processing, User Signup and More

Payments are done with a native Stripe integration, so your product will have a reliable payment processor that your customers can trust. 

Softr uses a one-time code system to let users sign in, eliminating the need for them to remember another password - and eliminating the need for you to securely process user passwords. 

Perhaps best of all, Softr connects with Airtable, making it easy to manage all of your product’s data through Airtable’s simple visual interface. 

And while we’re on the subject of simple visual interfaces - all of this can be designed and implemented through a drag-and-drop portal, similar to other wysiwyg editors like Webflow, Shopify, or Wix. 

Debrief: a Softr App Built by XRay

At XRay.Systems, you can see the Softr app that we built for Debrief, an automated system that lets users upload any meeting recording to get an AI-generated summary, and full transcription.

Once the user logs in, they can see all of their current recordings, upload a new one, view their billing info and more. 

With Softr and Airtable, you can build fully-functional, highly polished web apps like Debrief in a matter of days or weeks. Of course, you may need a few more tools to finish the product and add all of the functionality that you want.  

Add Automated Features with Zapier, Make, and More

Finally, you can flesh out your no-code tech stack with automation providers like Zapier and Make.  These tools will facilitate the business logic that actually creates value for your product.

In other words, they’ll let you move data where you want it to go, and perform any action you want to with it. 

Moving Data with No-code Automation

For example, in our Debrief app, we use Zapier to send a customer’s recording to Trint and transcribe it. Then, Airtable sends the transcript to OpenAI to get a summary. Once the summary is complete, Zapier sends that back to Airtable. 

Finally, Airtable connects with Softr to give access to the right user.

Unlock More Integrations and Flow Control

While Airtable has some decent support for built-in automations, providers like Zapier and Make have many integrations and abilities that Airtable doesn’t. Additionally, they offer extensive no-code logic to perform complex actions within your automations. You can add loops, if/then statements, routers, formatters, and more. And you can use all of them without writing any code. 

Zapier, Make, and other similar tools like Workato are essentially supplements for your Airtable backend. Whenever you need to do something that Airtable can’t do – or can’t do without writing code – you can turn to tools like these. 

Easily Update Your Tech Stack With New Tools

You can get to know these tools in greater detail with the tutorials on our channel.Once you’ve become familiar with them, you’ll find that you and your team can build virtually any web app that you come up with. 

However, the tools we’ve mentioned are not your only choices for building a no-code app. 

A key advantage of using a tech stack like this is modularity. Understanding how each tool fits into the bigger picture makes it easy for you to swap out and adapt to new software in the futureYou might want to try switching Softr for Blaze, or switching out GPT3 for another language model. 

By clearly defining your frontend, your backend, and your supplemental automations, you can easily isolate the parts of your product that you want to update without having to change the rest. 

Build With No-code to Get to Market Faster

Whichever specific tools you use, a no-code tech stack is the fastest way to set things up. In entrepreneurship, speed is often more important than perfection. 

With these no-code tools, you can move much faster than you would with traditional code, and even faster than building a Bubble app. So start using Airtable, Softr, Zapier and Make to begin building right now.

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

Tutorial
February 8, 2023
Summarize Your Emails with AI and No-code Tools

Having your inbox bombarded every day with lengthy emails is just part of the modern workplace. But you don’t have to read through every message yourself.

In this tutorial, we’ll show you how you can automatically summarize all of your long emails with AI and no-code tools. 

We’ll start with a quick overview of how it all works, then we’ll give you detailed step-by-step instructions so you can build it yourself. 

Automation Overview

The automation consists of three simple steps.

First, we send any email we want to summarize to this customized Zapier inbox. That triggers the automation to run. 

Use Email by Zapier to retrieve an Email

Then, the automation sends a prompt to OpenAI to get a summary of the email.

Send an Outbound Email with results from Open AI

 

Finally, we can send the resulting summary to Slack, another Email, or anywhere else we’d like to get the output. 

Use the Open AI integration to summarize an Email

With the complete automation, all you have to do is forward an email to the Zapier inbox. Wait just a moment, and you’ll get an AI-generated summary in your inbox. 

Now let’s take a look at building this automation step by step. 

Trigger: Send an email to a Zapier inbox

First, create a new Zap, and choose “Email by Zapier” as the trigger. Using Email by Zapier will allow you to trigger the automation immediately whenever you forward an email.

If you use Gmail or Outlook or a similar app as the trigger, you’ll have to wait 5 to 15 minutes for the automation to actually trigger. You’ll have to wait longer if you’ve got a lower subscription tier. 

But we don’t build automations with AI tools because we want to wait! So select Email by Zapier as the app for your trigger, and choose “New Inbound Email” as the event. 

Now, you can create a Zapier inbox where you’ll forward any email that you want to summarize. Give the inbox a name, like “summarizebot”, and copy the address to your clipboard. Click “Continue”. 

Email by Zapier will allow you to create your own email address

Then, in another window, send or forward an email to the Zapier address, and test the trigger. 

Send Email to the Zapier created address

Action: Send a Prompt to OpenAI

Next, add a new action to the automation and select “OpenAI (ChatGPT)” as the app. 

Choose “Send Prompt” as the event. 

You’ll need an OpenAI account with a payment method on file to use this step. Go to Openai.com, click on “API”, then click on “Signup” to create an account. Note that each account with a unique phone number will come with $15 worth of free credits. 

To add a payment method and set usage limits, click on your profile in the top right. Under billing, you’ll see several options. 

Check Open AI Usage Limits to know how you can send prompts

OpenAI’s API Pricing

While you will get charged for using OpenAI’s API, the rates are pretty reasonable. The exact price will depend on the language model you choose, but even our heavy use at XRay has only ever cost us $15/mo or less.

OpenAI’s pricing uses a “token” system, and charges between $0.0004 and $0.02 per 1,000 tokens. When using language processing, 1,000 tokens is equivalent to about 750 words. 

Connecting Your OpenAI Account to Zapier

To connect your OpenAI account to Zapier, click on “API Keys” under “User” on the left of the screen. Create a new secret key and copy it to your clipboard, then paste it into Zapier to authorize your integration. 

Generate an API key in Open AI

Select your newly authorized account, and click “Continue”. 

Before you start configuring the step, note that sending prompts through the Zapier integration will use tokens and be added to your monthly bill, even if you’re using Zapier’s testing functions. 

The charges probably won’t amount to much, but if you want to avoid racking up a bill while you’re building this automation, we recommend testing out the prompt directly through ChatGPT instead. 

Once you’ve crafted the prompt you’d like, you can just copy and paste it into Zapier.

Writing a Prompt for OpenAI

For our example prompt, we’ll stick with something simple:

“Briefly summarize the following email. Make a bulleted list of any action items required by the email.” 

After you enter your prompt into the field, make sure to insert the body of the email retrieved from the trigger. 

Write your Open AI prompt inside the Zapier Action step

Then test the step to get the output. 

Email the AI-Generated Summary

Finally, you just need to add one more step that will send your summary wherever you’d like it to go. 

For this tutorial, we’ll just send the summary as an email back to the original sender.

Add a new action, and pick the email app that you use, like GMail, Outlook, or Email by Zapier and choose “Send email” (or a similar option) as the action.

Then, fill out the necessary fields to compose your email. To send the summary back to whoever requested it, just set the “To” address as the address of the original sender from the trigger. 

Use Email by Zapier to send an Email back to the original address

Then, add the AI-generated summary from Step 2 into the body of the email. When you test the step, you should see the summary appear in your inbox. 

New Summarized Email

Use AI to Start Saving Time

AI is quickly becoming an extremely useful tool to speed up anyone’s workflows, and it’s more accessible than ever. By combining a platform like OpenAI with no-code tools like Zapier, you can tear through a bloated inbox in a matter of seconds. 

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

XRay Workflow
February 1, 2023
Deliver Projects with One Link Using XRay Workflow

Delivery of your work as a freelancer is just as important as the actual work you do. A smooth delivery means more repeat business and less questions from your client, and XRay Workflow has all the tools you need to prepare for delivery.

XRay Workflow is a tool-agnostic homescreen for your everyday work. It’s a versatile tool for saving and sharing resources from all over the web.It lets you save and immediately access websites, web apps, text, and even webhooks.

In this post and the accompanying video, we’ll show you a few examples to illustrate what XRay Workflow can do. Download XRay Workflow for free at xrayworkflow.com to follow along with this post in your own workspace. 

Saving text in a pin for easy one-click copy and paste

First, let’s take a look at making a simple text pin. You can just click on the plus sign to add a new pin to any section.

Then, you can give the pin a name, a description, and a color. 

Next, you can pick the pin type. To save a snippet of text to copy later, select “Text”. 

Now you can add the content that you want to store and access in this pin, like how we’ve added a text snippet that promotes our latest case study. 

Click on “Add Pin” to finish. Now, you can just click on “Copy” to grab this text whenever you want to add it to an email or message.

Everyone on your team will have easy access to that same pin, so everyone can find and copy the correct link with a single click. 

Embedding Google Slides presentations and other web apps

Saving text is convenient, but it’s just the start of what you can do with XRay Workflow. XRay Workflow lets you embed most popular web apps, so you can also embed Notion pages, Airtable bases, CRM portals, and so much more. 

For instance, you can embed a Google Slides presentation so it can be viewed directly from XRay Workflow.

Just create a new pin, grab the presentation’s embed URL from Google Slides, and paste it in the “Embed URL” field.

Save the pin. Then, you can view the slide deck without needing to open up a new app or tab in your browser.

This is especially useful when sharing resources with a lead or a client, since you can make sure that you and your team are always using the most up-to-date presentation. 

Try building a board that’s all about engaging with new leads. Embed your presentations, your case studies, your contact forms, and your booking calendar. You’ll have everything you need for lead calls and follow-up in one convenient spot.

Trigger actions and automations with webhooks

For our last Pin example, let’s take a look at push pins.

Push pins let you save a webhook with URL encoded data and trigger it with a click. 

For instance, at XRay, we use a time tracking system built in Airtable and Google Calendar. To create a new event, any of our team members can just click on a pre-configured push pin, like the one pictured below, and the webhook triggers the automation to run.

You can use push pins to run anything that accepts webhooks. That includes everything from starting your roomba and turning on your lights with Google Home to logging your time.

Anything you can do with IFTTT, Zapier, or Make, can be launched with a simple push pin to initiate the trigger. 

Delivering automated workflow and other projects

XRay Workflow is great for organizing resources for any purpose, like delivering automated workflows and systems. 

As a freelancer or an agency, you can use XRay Workflow to put everything your client needs in one place. You can save practical documentation right alongside the tools and resources your client needs to run the automations you produce. 

For example, let’s say you’ve built an automation to help your client onboard new employees. The automation starts whenever a new record is added to a specified Airtable view.

With XRay Workflow, you can create embed pins for the Airtable form that launches the automation, the Asana tasks that the automation creates, the Notion documentation that explains how to use it, and a flow chart to bring it all alive. 

All of those resources can be sent to your client with a single URL. Just convert a board into a public board, copy the URL, and share it with your client. You can even add a password to the board for extra security. 

Forget about sending a long email with a dozen links that just gets lost in your client’s inbox. XRay Workflow lets you complete delivery with a single link.

Download XRay Workflow today

XRay Workflow is currently in beta development. Right now, it’s free to download for individual and team accounts.

If you’d like one-on-one support and custom configuration for your workspace, just contact our team here

XRay Workflow is built with enterprise grade security, runs as a desktop and web application, and can even be used on mobile devices - making all your resources just a click or tap away. 

Make Project Delivery Seamless with XRay Workflow

Sharing several links can make it difficult for your clients to find everything they need to use your automations, and a messy delivery can undermine even the best projects. 

Try XRay Workflow for the easiest, fastest, and most intuitive delivery that your clients will have ever experienced. Just go to www.xrayworkflow.com to get started.

Tutorial
January 25, 2023
How to Create 3 Types of Templates in Notion
Notion Buttons have received an update! All of the basic template features described below are still accessible, but you can also add new automations and AI features to your buttons. Check out XRay's blog post about the new and improved Notion buttons for more info.

Templates are some of the most useful features that you can use in Notion. Templates let you quickly recreate documents or content blocks that you need to use frequently, like meeting notes, tasks, or reports. 

In this post, we’ll show you three different kinds of templates that you can build in Notion: Template buttons, template pages, and public templates. 

Create a Template Button in a Page

First, let’s take a look at template buttons. With a template button, you can duplicate a predefined set of content blocks with a single click.

Template buttons have to be created within a specific page, and will always be found within that page. However, duplicating the page will also duplicate the template button. 

Add a template button

To get started, open up the page that you want to add your template button to. Type “/template”, and select the option that reads “template button”. 

This will immediately create a new template button titled “Add a new to-do”, and will open up a module where you can configure and customize your template. 

Configuring your template button

The default template button will just include a single checkbox, but you can replace this with whatever you’d like and add your own content. 

In our example, we’ll configure a simple template for meeting notes. The title will be “Add new meeting notes”. Then, we’ll convert the checkbox into an H1. We’ll add text that says “Meeting notes on Today”. Under that, we’ll start a bulleted list with a bit of placeholder text. 

Once you’ve finished editing the contents of your template button, just click on “Close”. Don’t worry; you can always edit the button later if you’d like to make changes. 

Click on your template button to use it

Now, you can click on your button whenever you’d like to generate a set of blocks on this page. When we click on the button, it generates the H1 and bulleted list that we configured in our template. 

To edit your template button, just mouse over it and click on the gear to open up the configuration menu again. 

Create a Template in a Database

If you want to create templates as separate pages, then you can create your template within a database instead.

To save time later, start by making a page with all of the content that you want to include in your template. Copy all of this content to your clipboard. 

Pick a database to save your template in

Then, create a new database where you want to store your template, or choose an existing database. Create a new record in your chosen database, and open the record as a page.

You should see an option to “create a template”. Click on that to create your new template.

Configuring your database template

Now, you can paste all of the content that you copied earlier into this template. Alternatively, you can just create all of the content within the template instead. 

Once you’re finished, be sure to give your template a title, then click on the “Back” button to return to the database. 

Whenever you create a new item in this database, you’ll now have the option to use the template that you created. 

You can also create additional templates within the same database to give yourself some options.

Just bear in mind that all of these templates will only be accessible within the database that you create them in. 

Create a Public Template to Share

Both of the options we’ve covered so far are great for creating templates for you and your team. But what if you want to share a template publicly?

For instance, you may have seen Notion templates from creators like Thomas Frank, or you might have browsed Notion’s gallery and perused all of their helpful templates. 

Sharing a page as a template

If you want other users in other workspaces to be able to copy your page as a template, you just need to set the sharing settings appropriately.

First, prepare your template as a page. Make sure you’re comfortable with publicly sharing all of the content that you’ve added to the page. 

Once your page is all set, click on “Share” in the top right, and turn on “Share to web”. Make sure the option “Allow duplicate as template” is checked.

Now, anyone with the link can just click on “duplicate” to add your page to their Notion workspace. This is a great way to share a Notion template with your audience, clients, or customers.

Block visibility on public templates

Keep in mind, if your page contains references to other databases or pages from your workspace, these blocks may not be shown. That’s because the referenced databases and pages are not shared to the web. As such, only blocks created within the page itself will be visible publicly. 

For instance, in this page that we’ve shared as a template, we have an inline database that we created on the page, and we also have a linked database that references content from our XRay workspace. 

When we make it public, only the inline database is visible. 

Use Notion More Efficiently with Templates

Notion is a great app for taking notes, drafting documents, and keeping track of your company’s critical information. Its versatile blocks let you arrange and display your content in nearly any format you can think of, but building a document from scratch every time can get a bit tedious.

With templates, you and your team can create the layouts you need instantly and get right back to work.  If you’d like to learn more about using Notion and other no-code tools in your everyday work, check out our blog or our YouTube channel. You can also follow XRay on Twitter, Facebook, or LinkedIn.

Tutorial
January 18, 2023
How to Sync Notion and Airtable Databases with Whalesync

Ensuring that your databases are accurate and consistent is essential for preventing errors in your workflows. However, manually updating the same records in different spots is a tedious process, and it’s liable to introduce even more mistakes into your records. 

Instead, you should keep your databases in sync with no-code automation tools like Whalesync. When you connect two databases in Whalesync, any updates to either database will be automatically reflected in the other table, making sure that your data will be accurate no matter where you access it. 

In this post, we’ll show you how to sync Notion and Airtable databases in Whalesync in a few simple steps. 

Preparing Your Databases in Notion and Airtable

First, you’ll need to have two similarly structured databases in both Notion and Airtable.

Having the same fields in both databases will ensure that your data syncs properly between the two apps.

Our Notion and Airtable Databases both have fields for Name, Company, Department, and Email

At the very least, you should make sure that both tables have fields for all of the attributes that you want to sync. If you want one of the tables to include extra fields that aren’t synced, that’s fine; you can simply configure the automation to ignore those fields. 

Create a New Base in Whalesync and Authorize Your Apps

Next, open up Whalesync and create a new base. This base will automatically synchronize your Airtable and Notion databases. 

To connect your Airtable and Notion databases to Whalesync, you'll need to authorize both services. 

To do this, simply pick your two apps from the list and follow the instructions to grant Whalesync access.

Authorizing Airtable

For Airtable, you'll need to provide your API key and your base sharing link

To get your API key, go to your Airtable account settings and scroll down to the API section. Click on the API key to reveal it and copy it, then paste it into the API key field in Whalesync. 

To get the base sharing link, click on the Share button in Airtable and enable base sharing. 

Then, copy the link and paste it into the appropriate field in Whalesync. Save the connection to complete the setup for Airtable.

For Notion, you'll be redirected to a window where you can authorize Whalesync. 

Simply pick the specific pages that you want to grant access to and save the connection.

Mapping Your Tables and Fields

Now that your Airtable and Notion databases are connected to Whalesync, it's time to map your tables. 

Click on "Map tables" and select the two tables that you want to sync. 

Then, click on “Map Fields” and identify the specific fields that you want to sync between your databases. 

Whalesync will automatically match up fields with the same name, but you can manually map additional fields as needed. 

For instance, since one of our databases has a field called “full name” while the other is just “Name”, we’ll have to map them together manually. 

Set Your Sync Direction and Turn on the Base

Now you’re nearly ready to turn on the sync. You just need to pick whether your base will operate as a 2-way sync or a 1-way sync. 

2-Way Syncs

With a 2-way sync, both databases will be updated to reflect changes made in either app. Changes you make in Notion will appear in Airtable, and changes you make in Airtable will appear in Notion. 

1-Way Syncs

With a 1-way sync, the base will only update records to reflect changes in one of your apps. If you select the arrow pointing towards Notion, then any edits you make in Airtable will be reflected in Notion. If you select the arrow pointing towards Airtable, then any edits you make in Notion will be reflected in Airtable.

Pick the syncing method you want to use, and turn your sync on. Now that it’s live, any updates you make to your database should be synced within a few moments. 

Save Time and Reduce Errors with Whalesync

Using Whalesync to keep your Airtable and Notion databases up to date can prevent costly errors caused by inaccurate or duplicate data, and it can save you some time on copying and pasting information from one app to another. It only takes a few minutes to get started, so try it out today!

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

Understanding Automation
January 11, 2023
How to Make Linked Records in Airtable

Airtable boasts a wide range of features that make it the perfect database for no-code and low-code automations. 

One of the simplest but most effective of these features is the ability to create linked records. 

Linked records let you establish a 2-way relationship between records in different tables. It’s a great way to associate two related pieces of data - like connecting project managers to all of the clients they’re working with. 

Once you’ve got a linked record in place, you can also add lookup fields, so you can see additional detail from the record that you’ve linked. 

In this post, we'll show you how it all works step by step.

Creating a Linked Record

Before you create a linked record, you’ll need to have two tables within the same base.

In our example, we’ll be linking our “Project Managers” table with our “Clients” table. Since they’re both in the same “Tutorials” base, we can do this with a linked record field type. 

To create a linked record, start by adding a new field. 

Then, select the option that says “link to another record”. 

Choose the table that you want to link to. In our example, we’ll choose the “Clients” table.

Airtable will then give you a couple of options: “Allow linking to multiple records”, and “Limit record selection to a view”. 

Linking Multiple Records

If you check “Allow linking to multiple records”, you can associate each record with multiple others. For example, this would allow you to associate one project manager with as many clients as you’d like. 

If your data should only support a one-to-one association, then you should turn this option off. Otherwise, you can leave it on.  

Limiting Record Selection to a View

Checking “limit record selection to a view” will ensure that you can only choose records from a specified view. Once you’ve set your options accordingly, create the field. 

Now, you can reference a record by just clicking on this linked field and selecting one of the options that comes up. 

Once you’ve linked one record to another, you’ll see the association in both tables. In our example, you can see a “Clients” field in our Project Manager table, and a “Project Manager” field in the Clients table.

Note that if you change the names of the linked table, the new name will not update in the other table. So if you change your “Clients” table to “Customers”, the Clients field in the Project Manager table will still be called Clients.  

Adding Lookup Fields

One of the most practical benefits of creating linked records is the ability to add lookup fields. Lookup fields let you display additional fields from your linked records. So instead of just seeing the name of the record, you can see any other attributes that you’d like to add. 

In our example, we’ll add lookup fields for the client’s email address, and their project type.

To add a lookup field, add a new field and select “Lookup”. You can also click on the linked field and select “Add Lookup”.

If you have multiple linked records in this table, you can choose which linked record you’d like to use. Then, choose the field from the linked record that you’d like to include. 

In our example, we’ll start with Email, then we’ll add Project Type in the same way. 

Note that lookup fields populate automatically, and can’t be edited directly. You’ll have to update the record in its original table instead.

You can add as many lookup fields as you like to see all of the data you need in one place. This is also super handy if you’re automating with Zapier or Make.

Using Linked Records and Lookup Fields in No-code Automations

If you’re a no-code automation builder, linked records and lookup fields can be a vital tool to have at your disposal. 

With linked records, you can put all of the data an automation needs in a single table, so you can gather it all with just one trigger or search step. For instance, we can quickly put together a Zapier automation that runs every week to send an email to one of our Project Manager’s clients.

We’ll use “schedule” as a trigger, so the automation runs every Monday at noon.

Then, we’ll add an Airtable step to find our project manager’s record. We’ll search the “full name” field for “Sarah Smith”, and test the action.

Now that Zapier found this record, we can use every field in future steps.

When we add a Gmail step, we can retrieve the client’s email from Sara Smith’s Project Manager record. No need for an additional search step in Zapier. 

And if we ever need to update the client’s email address, we don’t need to manually update it in the Project Manager record. It will happen automatically once we update the clients table. 

Use Airtable as Your Automation Database

Airtable is a great spreadsheet app for building no-code automations. Tools like linked records make it easier to build and maintain efficient Zaps and scenarios in Make. 

If you’d like to learn more about using tools like Airtable to support your no-code and low-code automations, 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.