Most internal tasks and processes don't look that complicated from the outside. In fact, every company I've ever worked at has had quite straightforward processes in place. Need a new computer? Fill out an office gear form. Want time off? Request it through your HR tool. Piece of cake. (For the requester, that is.)
But it's the people behind these processes that have it hard. When you're reviewing hundreds of requests from employees and customers—like budget requests, internal IT approvals, or approving leads—things can get out of hand.
That's especially true when these kinds of processes require manual, human input. Having the right database tool—that's also built for automation—is key.
Zapier Tables is a no-code database tool that lets you easily move and store data, and build Zaps—what we call automated workflows—to fire off actions in other apps you use.
That means you can easily create an approvals table that gives you the power to review records before giving them the green light. Then, once you've approved (or rejected) a request, Zapier will trigger automated workflows to notify employees, add that data to another tool, and more.
In this blog post, I'll walk you through exactly how to create your own approvals table using Zapier Tables. Plus, I'll show you how to create automated workflows that will take this process to the next level.
Table of contents
Before you begin
Make sure you have a Zapier account. You can build your own project today at tables.zapier.com.
Overview: How to create an approvals table
Here's the quick version of how to create an approvals table with Zapier Tables, though we'll go into more detail down below:
Go to the Zapier Tables dashboard
Click + Create
Choose Blank table or Import data
Customize your table and add an approval button
Create Zaps to move your table data
Customize your settings
Step 1: Build your table in Zapier Tables
Let's start off with creating an approvals table from scratch. Head over to your Tables dashboard. On the top-right corner of your screen, click + Create.
Once you've done that, you'll see multiple table types you can choose from. If you're starting from scratch (and don't have any existing employee requests), you'll want to click Blank table.
Give your table a name and a description so you and your team can identify it, then click Create table.
This will create your table within Zapier Tables. Your table will include several empty fields, which you can now customize.
If you have an existing database with requests you want to add to your new table, click on Import data.
You can either upload a CSV file or import rows from Airtable and Google Sheets.
Step 2: Customize your table
For my table, I'm going to build an approval process for employees who need to request a budget for software tools.
We'll include fields for each person's name, email address, hire date, role, and the tools.
To edit the existing fields, click on the three-dot icon in the right-hand corner next to the field name, and click Edit field.
A right-hand side panel will appear—this is where you can edit the field name and field type, align the text, and add an icon.
Under field type, you can choose between a number of options such as text, long text, date and time, number, email address, and more.
Once you've finished editing each field, remember to click Save.
If you need to add a new field, just click on the + icon in the right-hand corner and repeat the same process as above.
Tip: You can also rearrange the order of your fields by clicking on the field name and dragging-and-dropping it into a new place.
For any other field adjustments, you can click on the three-dot panel icon next to each field name in order to lock, hide, and delete fields.
Remember, your table doesn't have to be super detailed, but it should include the key information your team needs to approve software budgets.
This is what our main fields look like:
Now it's time to add approval and rejection buttons to your table, so you can easily review and take action on any software requests moving forward.
Note: These buttons will only work if you create a Zap for them, but we'll talk more about that below.
Add an approval button to your table
Click on the +icon to add a new field. Add the name (in our case, we'll just use Yes). Under Field Type, select Button.
You can also adjust your button's alignment and include an icon if you want.
Under Type of Button, you can select Trigger Zap or Continue Zap. If you select Trigger Zap, that means that whenever you click on the button to approve a software request, it will kickstart an automated workflow (like for example, notifying your finance team in Slack).
If you select Continue Zap, that means that your workflow will run up until this action and wait until you click it. For example, you might want to wait until you have a certain number of requests before you batch-send Slack messages.
In our instance, we're going to choose Trigger Zap so that every time we approve a request, we'll send information from the employee's request to another app (like Slack).
Once you've set up your field's type, you'll also need to set a label (the text that goes inside your button) so it's easily identifiable.
Finally, you can also enable or disable your buttons, which is the state it's set to by default. You can also choose to disable the button once it's been clicked, which I fully recommend doing so you don't end up approving the same person four times.
Once you've set up those fields, remember to click Create. Here's what our button field looks like:
Note: Your button will be grayed out until we set up the connecting Zap.
Add a rejection button to your table
Now that we've set up our approval button, we're also going to add a rejection button. To do this, just add a new field by clicking on the +icon once more.
Give your new field a name and select Button under Field Type.
Because I also want to trigger a Zap that will do something different in this case (like warn the requester they weren't approved), I'll select Trigger Zap under Type of Button.
Then, under Default Button Label, I'll use "Reject" as the keyword.
This is what my two buttons now look like:
Tip: If at this stage you need to import records into your table (or download your existing records), you can easily do that by clicking on the three-dot icon in the upper left hand corner of your table.
If you want to view a specific record in full, click on the expand icon next to a record:
Expanding a record lets you take some additional steps, like copying a link to the specific record, duplicating it, deleting it, and so on.
Step 3: Build your button Zaps
Now that we've set up our core table, it's time to build the Zaps that will start whenever we click on the "approve" or "reject" button. Until you build your Zaps, your buttons will remain grayed out.
Build your approval Zap
In this instance, I'm going to build a Zap that notifies the finance team in Slack whenever a software budget is approved, so that they can take the necessary steps from there.
If your table doesn't have any entries yet, I recommend filling out at least one field with some information, even if it's just test data. Otherwise, your Zap won't be able to select a record when you're setting it up.
To set up a Zap, click on the three-dot panel next to your button field and click Create Zap.
You'll be taken straight to the Zap editor, where the trigger app and event (Trigger Zap Button Clicked) will already be filled in, like this:
Because you're creating this Zap directly from within your table, your table ID and your trigger button will also be set up in your trigger step:
Click Continue.
Now it's time to test your trigger so Zapier can find a test record to make sure the trigger is working properly. Click Test trigger. Once the test runs successfully, click Continue with selected record.
In this next step, you'll set up the action—the event your Zap will perform once it's triggered. Start by searching for and selecting your action app.
We'll use Slack in our example, as we want to notify the finance team in Slack whenever a software budget has been approved. But you can choose whichever app and event that best suits your workflow.
In my instance, I'll select Send Channel Message as my action event. Click Continue.
Next, connect your Slack account to Zapier by clicking on the dropdown menu and selecting +Connect a new account. You'll need to give Zapier permission to access your Slack account. (Note: You may have to first log in to Slack if you're not already logged in.) Once you've connected your account, click Continue.
Now you need to tell your Zap where to send the Slack message. Choose a Slack channel from the dropdown. This will be where our accounting team will get notified automatically whenever a tool request gets approved.
Next, type out the message that you'd like to send. You can add data from previous steps in your Zap by clicking inside any empty field where you want the data to go (such as inside the Message Text field) and selecting an option—or multiple options—from the Insert Data dropdown menu.
In this instance, we'll pull in the requester's name, their email address, and the approved software from our table, like so:
After you finish customizing your message text, you'll have further options to set up your message. For example, if you want the message to be sent from a bot instead of your Slack handle, make sure you select Yes under Send As A Bot? You can also give your bot a name, use a Slack emoji as the bot's icon, include a link to the Zap itself, and more.
Next, you'll need to test your Zap. Zapier will show you a preview of the Slack channel message before it's sent. Click Test & Continue.
Zapier will now send a test message to the Slack channel you selected with the message you've just set up.
If you're happy with how the message looks in Slack, you're ready to begin using your Zap. It will automatically send a Slack channel message every time you click the approval button in Tables.
Build your rejection Zap
Now, I want to do something slightly different for my reject button. If a software request doesn't get approved, I want to trigger a workflow that sends the requester an email, asking them to get in touch with their manager.
But you can set up any Zap you like here—it just depends on what you want your workflow to look like. For example, you might want to send your requester a notification in Slack or add the rejected software to an Airtable row.
In my instance, I'll follow the same process as my approval Zap for the trigger step, but I'll use Gmail for my action app. Then I'll select Send Email for my action event.
Next, I'll connect my Gmail account.
Now it's time to customize the email notification that will send each time my Zap triggers.
I'll pull in my Tables data from my previous step into my Zap by clicking inside any empty field.
Click on theTo field, then click on the Tables step in the dropdown menu to see all the data from your trigger. Then select the information you want to map to that field.
I'm also going to add data from my table to the Body field when crafting my email message:
Once you're happy with the way your Gmail message looks, don't forget to test the Zap to make sure it's working correctly and then publish it.
Step 4: Customize your table's settings
If you head back into your table, you'll see that both your approval and rejection buttons are now enabled:
You can view all your Zaps that are connected to your table by clicking the Zaps icon on the top section of your table. You can view the Zaps you've set up, see if they're switched on, and create new Zaps directly within the left-hand side panel that pops up.
If you click on the settings icon in the left-hand panel, you can edit the name and description of your table, delete it, and more.
Once you're happy with your table layout, you can also share the table with other team members by clicking Share in the top-right corner.
Provided you have a Team or Company plan, you can share your table with coworkers, stakeholders, and anyone else in your organization. You can also create a public link. There are a few different levels of access (builder, editor, view-only, no access), which is quite handy if, for example, you don't want other team members to accidentally delete or edit a field.
Other ways to enable approvals
Depending on the type of approval process you want to set up, you have a few other options to add approval steps to your table.
Click on Settings, which will open the Table Settings pane to the right.
You can choose to send records manually (pending) or automatically.
Processing records manually means that if you set up a Zap that triggers when your record is updated, you'll have the chance to review it first before processing it through the Zap.
This option is great when you want to approve a record before it’s sent through a Zap. You might want to wait until a lead record is completely filled in or verify that the employee records are correct before triggering a connected Zap.
For example, you could set up a Zap that triggers when a specific field is updated. In my example below, I've set up a Zap that triggers whenever the email proof field is updated, and sends the email link to a Slack channel. With the pending record turned on, I can review the record first.
If, on the other hand, you choose to send your records automatically, that means that any record you add in will trigger any connected Zaps without a delay.
Another good idea is to set up a checkbox field. This field acts in a similar way to a button field, where you can set up a Zap to trigger when it's either selected or unselected.
For example, if an employee software request is completed, you can check off the checkbox. You can then build a Zap to trigger when the box is checked, so that it sends approved requests to the IT team for reporting.
Test out your table
Now that your table is finished (hurrah!), you should think about doing a final check to make sure everything's working as it should.
Just click Approve on any test record you have in your table, like so:
Now, thanks to the Zap I set up previously, a Slack message is automatically sent to the accounting channel, notifying the team:
And now that I've approved Winston's request, the button will be grayed out, so I can easily keep track of who's been approved and who hasn't.
Now let's test out our rejection button to make sure it's working. Within seconds, your Gmail account will fire off an email, letting the requester know about next steps. Here's mine:
You can always troubleshoot and tweak anything you're not happy with. Once you've double-checked that everything is working smoothly, your new table is now ready to be used and shared with your team.
Streamline your internal processes with Zapier Tables
With Zapier Tables, you can build an entire approvals workflow that does a great job of setting you and your team up for success. Whether you want to build an approval system to process software requests, or one to process leads before you send them to your sales team, you can streamline your workflows.
Zapier Tables is a great option for managing your data and connecting it with the apps you use—and the other teams involved.
New to Zapier? It's a tool that helps anyone connect apps and automate workflows—without any complicated code. Sign up for free.
Related reading: