Introduction to workflow automations

If you’re looking to streamline your operations, save time and reduce the number of manual, repetitive tasks your team carries out on a daily basis, you’ve probably heard of workflow automations. But what exactly are workflow automations and how can you get started? This article will give you an easy-to-understand introduction to the underlying principles of workflow automation, and then guide you through a practical example.

What are workflow automations?

A workflow is a set of steps that need to be carried out in order to complete a process. When you’re automating a workflow, you are simply defining a number of rules so that some or all of these steps can happen automatically. Simply put:

When this happens

Do this

Triggers and actions

A trigger is exactly what it sounds like: the event or step that triggers a series of actions to happen. This is the ‘When this happens’. An action is the step that happens after the trigger. This is the ‘Do this’.

Example

Let’s say you want to send an automatic message in a Slack channel when a task in your project management tool has completed:

  • Trigger: When a task is closed
  • Action: Send a Slack message

Conditions

Sometimes you want to refine the trigger by specifying conditions that need to be met in order for the trigger to fire. For example, you might only want to be notified when a task with a specific name is completed.

  • Trigger: When a task is closed
  • Condition to be met: Contains “Discovery call” in the title field
  • Action: Send a Slack message

Which steps or processes should I automate?

As a general rule of thumb, tasks that are repetitive are great candidates for automation. If you find yourself doing the same thing over and over, it’s probably a good idea to think about whether it could be automated. 

Can you think of the task as ‘When this happens, do this. Then do this. Then do this.’? If the answer is yes: you found yourself a workflow you can automate!

How to create your first automation

When getting ready to create your first automation, you first need to understand which tools are involved in the steps you want to automate. In our example, it would be our project management tool and Slack. 

So, let’s say our project management tool is SmartSuite. Since the trigger happens in SmartSuite, this is where we should start. We can now either automate this using a native automation, native integration or a third-party connector (or a mix of all three).

Native automations

A native automation is set up and carried out within the tool or platform you’re using. For example, you may use a native automation to trigger when a task updates and to then carry out actions within SmartSuite itself, such as leave comments or change task statuses. 

A lot of platforms today have native automation abilities, including most project management tools and CRMs.

Native integrations

Native integrations refer to built-in connections between two or more platforms that allow them to communicate directly. 

For example, let’s say we want to send a Slack message when a custom field is changed inside SmartSuite. Since SmartSuite has a native integration with Slack, we can do this natively within SmartSuite, once we’ve connected our Slack account to our SmartSuite account, without the need for a third-party connector like Zapier.

Third-party connectors

Third party connectors act as bridges between different applications and often come with more functionality than native automations. Popular examples include Zapier, Make, Relay or n8n. You’d typically use these when there is neither a native automation nor a native integration that can (or should) carry out your task.

Advanced automations 🧠

APIs and Webhooks

Sometimes you might want to use APIs or webhooks to connect different tools inside your workflow.

Webhooks are one-way. They send information from one system to another, but they don’t expect a response back (other than confirmation that the webhook was received). It’s like a notification - once the message is sent, the job is done. 

Example

When a payment is completed, the payment system sends a webhook to notify another system (like an inventory app) that the payment was successful.

APIs, on the other hand, can go both ways. With an API, one system makes a request (like asking for data or telling the other system to perform an action), and the other system responds with the requested information or confirmation. It’s a two-way conversation. You can ask, get an answer, or send data back and forth.

So, while webhooks push data in one direction, APIs allow for a more interactive exchange between systems.

Scripting

In some cases, you may need to write custom scripts to handle specific workflow automations. Many platforms offer scripting capabilities that allow you to write code that runs at specific trigger points. This is especially useful when automating highly customised workflows that involve unique or complex conditions, or when trying to save automation runs.

Automation runs, limits and efficiency

Most tools will have limits on how many automations you can run each month. The way the limits are counted differ slightly from tool to tool, so it’s best to check this before scaling your automations. In general, your automation limits will be defined either by the number of workflow executions or by the number of step executions. Workflow executions count the entire automation you’ve built and can include multiple steps, while step executions count each individual step.

💡 While this might not be top of mind when you first get started with automations, efficiency is a key consideration (and often a big pain point) once you’re automations start scaling.

Deciding whether and where to automate a workflow

When planning out your automations, there’s a few key questions to help you decide where to set up the automation:

  1. Should it be automated? - How often will this automation be used? Will you use this one or twice or on a daily basis?
  2. Is it possible? – Is the specific trigger or action possible in the tool I want to use? If not, is there a native integration or a third-party connector I could use? Would calling a webhook or utilising an API make it possible?
  3. Is it cost-effective? – Consider what the cost of the automation is in terms of automation runs and the limits of your tool. Will this push you into another pricing tier? Does this actually save the business money?
  4. Is it easy to maintain? – How complex will the automation be if I set it up natively compared to a third-party tool? Will this be difficult to maintain if I need to make changes in the future?

Let’s set up our first automation 🤖

To set up our first automation, we’ll use SmartSuite and their native Slack integration as an example. SmartSuite is a database and project management tool - at GoodOps, we use it to power our client portal. You can set up your first automation using the tools you already have available in your business - if none of them offer automation capabilities, you might want to consider switching to a more automation-friendly tool stack.


Example automation:
Notify me on Slack when a SmartSuite task becomes overdue and leave a comment on the task

Tools we need:

SmartSuite native automations and SmartSuite’s native Slack integration

Setting up our trigger:

We’ll first set up our trigger. We want this automation to run when the task ‘matches a condition’. The condition we’d like the task to match is when it becomes overdue. To achieve this, we’ll select the condition as

WHERE Due Date: End Is Yesterday + 0 days
AND
Status Not equal to Complete

In other words, we consider our task overdue if the due date was yesterday and the task has not been completed. 

Setting up our actions

Action 1: Leave a comment inside SmartSuite

Next we’re going to set up our first action. SmartSuite will have already filled in the first few fields for us, so no need to change these. They should now contain the same solution and table we’ve used for the trigger, and have selected the record that triggered the action in the record to leave the comment in.

All we need to do now is leave our comment. We’ll add the name of the assignee dynamically by clicking on the plus symbol and selecting ‘Assigned to’ and then we’ll add the rest of our message:

Hey {Assigned To}, are there any blockers with this task?

The result of this action will be a comment left on the overdue task:

Action 2: Send a message in Slack

Next, we’ll add our second action so that a message is sent automatically on Slack.

We first need to connect our Slack account.

Once we’ve done this, we can specify the channel and the message we’d like to send. Optionally, we can also choose an emoji and name for the ‘sender’ of the message (i.e. our SmartSuite bot).

The result of this action will be an automatic message sent in our slack channel, complete with a link to the overdue task.

Now all that’s left to do is to save our automation and wait for some overdue tasks!

Disclaimer: This page may contain affiliate links. This means if you purchase a service or product after clicking on our link, we may receive a small amount of commission. It won't cost you anything extra, and you might even get a discount as a result of clicking on our link.