Key concepts and terminology to know to use Actioner.
Actioner is the easiest way to integrate your toolset through apps that connect the most popular tools and work more efficiently in Slack. You can start with ready-made apps in app directory or build your own Slack apps, without code.
Actioner has a few main components. Let's take a closer look at each one.
Actions are the atomic units of work you do in your everyday applications. They range from listing customer activities to updating deals, from streamlining incident management process to getting notified of customer queries in Slack.
Any business process can be run as an action via Actioner. Unlike other systems that force you to switch contexts frequently, Actioner lets you do all your work by running actions in Slack.
An action takes in a set of inputs, gets a job done in your tool through executing requests and functions, and then produces outputs.
An action can be manually run in Slack or on Actioner, or it can be automatically triggered by a workflow. Let's take a closer look at the basics of running actions.
You can run any action manually in Slack, or alternatively, in Actioner.
Running an action in Slack
In Slack, type /actioner and then find the action you want to run - either by typing its name or selecting it from dropdown. Continue with enter parameters to your action.
After running your action, you can switch between different output views and share them with your team in your preferred Slack channel.
Running an action in Actioner
Running actions in Actioner is simple. Go to action bar from left menu and start typing the name of your action. As you type, action bar enables you to find and select your action from a list of auto-suggested options. Continue to enter parameters with smart suggestions. You can switch to form view by clicking form icon on the action bar. When all is set, run your action and browse through outputs.
Running actions automatically with workflows
Workflow is the process of automating and executing business processes where an event happening in your tool triggers one or multiple actions according to a set of rules.
A workflow is distinguished by its simplicity and repeatability. Actioner gives you the right tools to automate any process without the hassle.
Example automations that can be setup with Actioner:
Get alerted in Slack when a deal is updated in your CRM. Run followup actions through Slack notifications to send your updates back to your CRM, and enable data synchronization between your CRM and Slack.
Get notified of new customer tickets in Slack, track them through their lifecycle, update end-users and ensure fast resolution.
Automatically sync data between your marketing tool and CRM instead of manually exporting leads from one tool to another.
An app is a collection of actions and workflows that are bundled together. Apps work as containers to hold actions and workflows, enabling all of its actions to be run with continuity.
An app can consist of tool-specific actions and workflows or it can be setup with actions and workflows that run in multiple tools.
There are plenty of tools, tasks, and operations that are common across your organization and other companies. App directory helps you discover and use what Actioner Community has built as ready-made actions and workflows. You can use them as is or customize them through the action designer to fit your exact needs.
Visit app directory to discover an app that connects with your favorite tools. Actioner’s app directory contains apps connected with the most popular tools and solutions for sales, support, incident management use-cases. You can install an app in seconds, add up multiple actions and workflows to your stack and start running actions immediately.
For an action to communicate with a tool, it has to be authorized to interact with it. This authorization is referred as a connection.
Requests in Actioner are sent to perform actions or to retrieve data for action components. Connections simply enable actions to send API requests to an application.
A connection works as a template for authentication in your tool. You can setup how Actioner connects to your system by adding a connection and entering authentication credentials and enable the requests to be successfully sent to your system.
Depending on the connection type, the credentials for authentication and authorization can be username/password or an API key or a shared OAuth2 access token.
Once a connection is added to an app, it becomes available to be used by the API and Slack requests added to the actions in the app.
Connections are not tied to a single request or a single action - a connection added to an app can be used by multiple requests or actions.
Credentials can be shared for a connection. That is referred to as sharing scope. When Shared credentials option is enabled for a connection, all API requests associated with that connection are sent with the credentials entered by app admins. When disabled, each user enters their own credentials to execute requests and run actions.
Shared credentials do not mean that your credentials are exposed to any user. Credentials are used to authenticate requests for the actions that are run by any users in that app. Let's say you have an action that creates deals in HubSpot and the HubSpot connection uses a sales manager's credentials. When create deal action is run by sales reps, all deals will be shown as created by the sales manager even though the sales reps are creating deals.
To trigger an action through a workflow, API requests are required to be associated with a connection that has Shared credentials option enabled.
Due to the nature of workflows, workflows trigger actions automatically. To be able to run an action automatically, Actioner needs to understand via which users' connection credentials to authenticate the action's requests. Actioner relies on a connection with enabled Shared credentials option to automatically authorize requests with the credentials entered by app admins.
To run actions in Slack, your Actioner workspace needs to be connected to a Slack workspace. Slack connections are also referenced in Slack requests to trigger Slack requests and Slack workflows to listen Slack events.
A Slack connection can be added by an Actioner workspace admin and once added can be used by all apps in that Actioner workspace.
Actioner app directory has apps designed to connect the most popular tools and work more efficiently within Slack. But every industry and company has unique needs to meet and internal processes that tie up time. That's where building your own apps that work in Slack come into play.
Whether you’re a developer or a knowledge worker, building your own Slack app is the way to improve workflows and customize your tools for your team.
Actioner workflows enable you to automate your processes by listening events from your tools and Slack workspace. You can add a workflow that listens a webhook, a Slack or a HubSpot event. You can then add new steps to your workflow and connect them with actions.
You app can consist of workflows that
- listen events happening in your tool and execute Slack-specific functions, such as notifying a user or creating a collaboration channel.
- and listen events happening in your Slack workspace and perform an operation in your tool, such as creating a record or updating an entity.
Workflow is the process of executing and automating routine processes. An event happening in your tool or in your Slack workspace triggers an action or actions according to a set of rules. Workflows in Actioner can be as simple or as complex as you'd like, and can work across multiple tools and services.
Every workflow has a trigger, a condition, and steps that runs actions.
- Trigger is the event that sets the workflow into motion. A new object created or a record update in your tool can be a trigger.
- Condition is the requirement that the trigger must satisfy for the workflow to run an action. You can setup conditions based on the data of the event Actioner receives from your system.
- Steps are the events that occur as a result of the trigger if conditions are satisfied. You can add steps that run actions such as that creates a Slack notification or updates a record in your tool.
A workflow is set into motion WHEN your system sends an event to Actioner and pings the trigger, IF conditions are met and THEN executes the action(s) in the workflow steps. A workflow runs its steps every time the trigger event occurs as long as the conditions are satisfied.
A workflow is triggered when Actioner receives data
- through a webhook or
- from your connected Slack workspace or
- from your connected HubSpot account.
Depending on the event source, there are three types of webhooks in Actioner.
Sending and receiving data represent a webhook. Webhooks setup in your tools or services let you pass data for events happening in them. It is triggered with a set of events, such as when a new incident is created in PagerDuty or a ticket's priority is updated in Zendesk.
Slack workflow is a specific type of event listener tailored for Slack. It is triggered with a set of events happening in your Slack workspace, such as new members joining a channel or new messages posted to a channel or emojis added to specific messages.
HubSpot workflow is a specific type of event listener tailored for HubSpot. It is triggered with a set of events happening in your HubSpot account, such as deal updates, new contacts being added, or companies removed from your HubSpot account.
Jobs in Actioner enable you to automate your tasks that manage work that is one-time or on a recurring basis. Every job in Actioner triggers a workflow or an action one-time or on a recurring basis.
Example jobs that can be run with Actioner:
- Alert your customer support team to update their tickets 20 minutes before breaching SLA.
- Notify your sales team to log their notes into your CRM 1 hour after finishing their meetings with customers.
- Remind your team to participate in daily standups every weekday.
- Generate the volume reports on a weekly basis and automatically share it in your team's Slack channel.
Every job in Actioner triggers a workflow or an action one-time or on a recurring basis. A job on a schedule eliminates the need to remember to run an action or a workflow with a deadline. Running a job on a recurring basis enables you to automate your actions or workflows that is repetitive in nature.
Depending on the frequency of how you want to run your action or workflow, you can setup
Scheduled jobs. They are the actions or workflows that are run only once at the date and time you specified. You can use them to remind important deadlines.
Recurring jobs. They are the actions or workflows that run on a recurring basis. You can use them to remind repetitive tasks that take place daily, weekly or monthly.
A database is an organized collection of information, or data that is set up for easy access, management and updating the information.
Databases in Actioner are scoped to the app they are added to, meaning that they can be accessed, managed or updated inside the app they belong to. Actions in an app can use databases to store, get, update or delete the necessary data. For example, when a time-off request is submitted in a HR app that works in Slack, you can store the data of the request in a database for future use.
Data within a database is modeled in rows and columns in a series of tables to make processing and data querying efficient.
An app can contain multiple data tables. A table defines the structure and validation rules of the data it holds.
A data table is composed of fields and records.
You can think of fields as the columns in relational databases. Similarly, records are the correspondant of rows in a relational database.
Tables are the templates or definitions for holding records. When a record in a table is created, it means that that fields have values assigned. Records are instances of a table with specific field values.
Fields are the building blocks of a table. There are various field types that you can use in defining your data table structure. Fields also have properties that help you set the rules for the data they hold.
Records are instances of a table with specific field values. A new record in a table is created by assigning values to table fields.
Design actions with Actioner to extend the capabilities of your tools, make them more functional and easy-to-use in Slack.
Action designer is a flexible no-code visual designer tool, used for creating and customizing actions. If you are looking to design Slack apps from scratch, action designer is the right tool for you by enabling productivity and automation accessible by everyone.
Design mode is the interface that lets you access and update your action's components. You can design and test your actions by navigating between Inputs, Outputs, Requests and Functions of your action on the same screen.
In design mode, your progress on your actions is automatically saved as a draft as you update any component. When your action is ready to be run, you can apply your changes, or revert them and save the action without your progress and delete your draft.
An action takes inputs, executes requests and functions, and produces outputs.
Inputs are the fields for collecting information to run an action. HubSpot deal name text field or a dropdown listing the Zendesk users can be the inputs of an action.
Inputs are the form fields that are filled out to run the action. They can be text fields, select components, checkboxes, radio buttons, date-time pickers or plain text and header blocks.
Run button and run steps
Run button is visible to users while running an action in Slack or in form view. A user clicks this button to run the action.
Run steps are the list of the requests and functions in the order they are executed when an action is run.
Outputs are the components showing the results of your actions. They can be visual tables, charts, informational texts or the raw responses of requests and functions. A report of your customer list or a chart showing weekly sales volume are some outputs that can be generated with Actioner. You can take follow-up actions on your outputs, interact with charts, download and share them.
Your action may have multiple charts and tables or one that shows the result of your action. If multiple outputs are setup for your action, all of them are produced once the action is run.
Requests are used to specify how your action communicates with your tools. You can
- generate values for your input and output components,
- specify what to perform in your tools,
- perform Slack-native functions such as creating a collaboration channel, mentioning users for approval or posting a message in your channel,
- add utility functions such as calculations, translations, weather status or gifs from Giphy,
- open external links.
There are 6 types of requests in Actioner: API, Slack, utilities, link, job and table.
API requests are used to retrieve dynamic values for action components and to perform an operation in your application.
You can get the list of deals to run
Show deal action and prompt users to select a deal. You can retrieve the list of users while listing deals on a table output, and display the names of deal owners instead of their ids. You can configure an API request that creates a new Zendesk ticket when
Get support from IT action is run.
Slack requests are used to execute Slack-native functions, such as to send a direct message to a user or to create a collaboration channel.
Utility requests are used for specific functions natively provided by Actioner. Getting the weather status or a translation of a phrase or inserting gifs from Giphy to your outputs or Slack markdown blocks are some utility requests that can be used to enrich actions.
Link requests are used to open external links in a new tab.
Job requests are used to create, update or delete scheduled jobs.
Table requests are used to perform operations on the records of your tables in your apps.
Once created, functions are scoped to the action. By adding a function, you can manipulate and transform any data generated by the action. If you find yourself using the same or similar blocks of code multiple times throughout your action, it might be worth pulling that out into a function.
You can store variables —and their values— both on action level and on app level and extend the functionality of your actions to all workflows and actions across your app.