# Guide

# Getting started with basic browser automation

# Installing Axiom

Axiom has two parts: a Chrome extension, which you use to build and trigger Axiom automations (which we call "Axioms"), and a desktop application which actually does the work of running the automations.

The Chrome extension can be added by visiting the Chrome Store page, here, and clicking "Add to Chrome".

The installer for the Axiom desktop application can be downloaded by visiting this page and clicking the download button.

Once the installer has finished downloading, run it to install Axiom.

Once the installation process is finished, you will need to start the application. The Axiom desktop app has to be running to use all of Axiom's features.

# Opening and closing Axiom

To get started with Axiom, check for the axiom icon in the Chrome toolbar, which is in top left corner of your browser. It'll look something like this:

Click on the robot arm icon, as indicated, to load Axiom into the page and start working!

The Axiom window will automatically collapse when you move your mouse out of it. To re-open, just hover over the Axiom button that's left behind.

To remove Axiom from the page again, click the icon in the Chrome toolbar a second time.

# The dashboard

The Axiom dashboard is where you can see an overview of all of your automations.

To the left is a status window. This will show you if the Axiom desktop app is running and up to date. If the app is not running, it will look like this:

In this state you won't be able to start any automations - make sure to find it wherever it is installed on your computer and run it!

To the right is a listing of all the automations that have been created. To start with, your account will be preloaded with several demo Axioms. To run one of these demos, hover over it and click the play button:

The other icons here are the spanner, which lets you edit the Axiom, and the delete button, which lets you delete the Axiom permanently.

At the top is the main menu:

  • "Make an Axiom" - starts the automation builder
  • "Dashboard" - this screen!
  • "Account" - edit your account details
  • "Reporting" - shows you a report of Axioms that have run, and any errors that were encountered
  • "Help" - opens up a chat with a support agent

# Building an Axiom step-by-step

From the dashboard, click "Make an Axiom" to open the builder. You can start with a template, which will pre-load a set of steps for you, which then should be edited for your particular needs. Looking at these can be helpful as examples of how Axiom works. Clicking "Build your own Axiom by adding steps one-by-one" lets you start from scratch.

You can edit an existing Axiom by clicking the spanner icon from the dashboard:

Automations in Axiom are built by linking together a series of steps to create a custom workflow. Each step performs some useful task on its own, and can then be connected to any other step. Examples of steps provided by Axiom are:

  • Reading to and writing from Google sheets
  • Web scrapers, allowing you to retrieve data from web pages
  • UI automation bots, which allow the computer to automatically interact with a website. Here you configure sub-steps that instruct the bot where to click and what to type.
  • Webhook integration, which allows Axiom to trigger API events in other applications
  • Filters, which allow you to modify data according to certain rules
  • and many more!

To add a step to your Axiom, click the "+" button:

The step finder will open. Use the Search bar to find a particular step. If you have something in mind, try typing it in - we may well have something already set up for you!

Alternatively, you can browse the list manually to see the full range of what Axiom offers.

Click on a step in the list to add it to your automation:

You then just have to fill out the required fields, and the step is set up and ready to go! More information about each step can be found in further documentation, below.

# Running an Axiom

There are two ways to run an Axiom:

  • Click the play button next to the Axiom's row on the dashboard
  • Click the play button in the builder when creating or editing an Axiom

If an Axiom is running, the button will turn yellow and show a "stop" icon. Clicking it again stops the Axiom.

Sometimes an automation can take a little while to finish up and close down. If this happens, give it a few seconds to finish up what it's doing!

# Sharing and importing an Axiom

Click into the builder for an Axiom by clicking on the spanner icon in the dashboard, or by creating a new Axiom.

Advanced options for Axiom are available from the sidebar, which can be opened by clicking the cog at the side of the builder. Once this is done, to find the options to share and import Axioms, look for the share icon and click it:

To download this Axiom to a file, click the Download button. Another user can then import this file to run or continue work on this Axiom.

To import a file you have been sent or have previously downloaded, follow these steps:

  1. Click into the "Import Axiom" text box
  2. A file browser will open, allowing you to select the Axiom you want to import. Select the file you wish to import.
  3. Click "Import template"
  4. Axiom will warn you that importing the template will override what is currently loaded into the builder. Click "Confirm Import" to load the Axiom.

# Extracting content from a web page

# How to use the web scraper

To get started with scraping data, you should use the "Get data from a webpage" step. To add the "Get data from a webpage" step, click the "+" to add a new step and select it in the list:

The step will automatically fill in the current page as the target page to scrape from.

To choose what data to extract, click the "Select Data" button. This will then open the selector tool.

Axiom lets you add scraped data into a table structure, made up of columns and rows. You select the data you want to go in each column directly from the page.

A column is a single type of data that you want to scrape. For example, if you were trying to select names, addresses and phone numbers from a list of contact details, this should be created as three columns of data in Axiom: one for name, one for address, and one for phone numbers.

To select data for a column, click something you want to scrape on the page. Anything selected will be highlighted in orange, and will show up in the prevew table at the bottom of the page:

If something is missing that you want to select, click on this too. The tool will automatically try to pick up a pattern in what you have clicked, and will populate similar elements. It usually only takes 2 or 3 clicks to get the pattern down, but sometimes it may take more. Keep selecting until you can see the data that you want highlighted in orange.

If the tool selects too much, you can also remove items from a column by clicking on them. This will exclude them from the column's data.

Each column can have its result type changed by clicking on the column header. Currently you can select text (the default), links, or HTML as the type of data to extract:

Once you have one column set up, click the "+" button on the preview table to add a new column:

You can switch between columns at any time by clicking on the column header.

You can also remove any column by clicking the cross in its top corner:

Once you are happy with your selections, click the "Confirm" button to save your selections. If something goes wrong somewhere, you can click the "Reset" button, which clears all selections and columns so you can start again. If you don't want to save the selections you have made, click "Cancel" to return to the builder without saving the changes.

If the data you wish to scrape uses a pager, you can select this by clicking on the "Find Pager" button and selecting the "Next" element that the scraper should click on to advance to the next step. Note that you should not select the second page, as this will cause the bot to keep selecting the second page instead of cycling through all the pages as needed!

By default, the scraper is set to a maximum of 20 results. You can easily turn this off by clicking the toggle, which will allow all results to be selected:

# How to loop through a list of pages

Commonly, you might want to perform a set of steps on a series of pages, rather than just one. Some examples might going through a list of accounts in a CRM and updating account details, or going through a series of product pages and retrieving product information.

You can do this with Axiom in three simple steps:

Firstly, scrape the links to the pages you want to visit. To quickly scrape links, add the step, "Get a list of links to pages". This step works exactly as described in How to use the web scraper. You usually can find these links on an app's search or listing page.

Secondly, Add an "Interact with the page's interface" step, as described in How to automate the UI

Thirdly, you need to tell Axiom to visit your scraped links. To do this, click into the "Enter URL" field. When you do this, the sidebar should open up. This shows the data that has been collected by other steps, and which can now be used. Click on the yellow button for your scraped link data.

A preview will now appear, showing you the scraped data. Select the column which contains the links you scraped in the previous step, and click "Close and save":

Now, when you run this Axiom, the bot will visit each of the pages as given by the links you scraped.

You can perform any actions you like on each page by adding new sub-steps to the "Interact with a page's UI" step. To do this click on the "Add step to UI interaction" button, and choose the appropriate action. For example, you might scrape further data, as described in How to use the web scraper, or automate some UI interactions, as described in How to automate the UI.

# Automating the UI

Automation of the UI is done in Axiom by using the "Interact with a page's interface" step. This step creates a UI interaction bot, which can visit webpages, click on links and buttons, or enter text into web forms. Once you have added this step, you then configure the UI interaction bot by adding sub-steps to it.

# How to automate the UI

To add the "Interact with a page's interface" step, click the "+" to add a new step and select it in the list:

The first thing you will need to do is to fill out the URL to start with, so the UI interaction bot knows where to begin. To do this a "Go to a page" sub-step is immediately added. Add the URL you want to this box, or click the "Get current URL" button to grab the current URL from the page.

Once this is done, further sub-steps can be added to the UI interaction bot by clicking the "Add step to UI interaction" button:

This works the same as adding a normal step, except that the options given are specific to the UI interaction bot. These include the UI interactions you want the bot to perform, such as clicking or entering text into fields.

The web scraper is also available as a sub step, and works exactly as described in How to use the web scraper.

# Filling in a web form

To fill in a web form, first create a UI interaction bot by adding the "Interact with a page's interface" step, as described in How to automate the UI.

To enter text into a field, click the "Add step to UI interaction" button, and select the "Enter text" sub-step.

Click "Select text field" to load the selector interface. Click on the field you want to enter text into on the page, and enter the text you want to place within the field. If there's data from a previous step, you can click on it in the right hand sidebar, then select the column you want from the preview.

Once you have set up the fields as you require, you can get the UI bot to submit the form by clicking "Add step to UI interaction", selecting the "Click" sub-step, and then selecting the submit from the page.

You can use the "Press key(s)" sub-step to interact with more complex elements, such as drop downs. This is done by first clicking on the element you want to select by choosing the "Click" sub-step, and then,once this is configured, adding a "Press key(s)" sub-step. Click "Record" and press the required keys on your keyboard, usually the "down" cursor to select a particular item.

# Using custom selectors

Axiom accepts custom selectors. You can optionally use these instead of the selector tool, in instances where the provided tool is not able to select the element you'd like to click on.

To add a custom selector, click the "Set custom selector" button, delete anything that is in there, enter the selector into the text field, and click 'Save':

Axiom will accept any valid CSS selector, as defined here: https://www.w3schools.com/cssref/css_selectors.asp.

To determine a good custom selector to use, we recommend right clicking on the element you want to use, and clicking "Inspect Element" from the dropdown menu that appears:

This will open Chrome Dev Tools; you will see the HTML of the page on the upper pane, with the element you clicked on currently highlighted.

Selectors are a broad topic, so we can't cover everything here, but two quick tips are to look for "id" and "class" in the HTML. For example, take the following HTML code:

You can see that this HTML code includes the text 'class="ssrcss-f1h9ew-MainSection eustbbg2"' and 'id="main-content"'. This means that any of the following three custom selectors would work to select this content (there are three because classes are separated by spaces in HTML):

  • .ssrcss-f1h9ew-MainSection
  • .eustbbg2
  • #main-content

Using custom selectors can be challenging. We are always happy to help with more complex requirements - please get in touch at ai@axiom.ai or using the chat on https://axiom.ai/help if you need assistance!

# Using Google Sheets

To use Google sheets, you first must give Axiom permissions to read your google account. You can do this in two ways:

  1. Click the "Connect Google sheets" button from the Dashboard page, and follow the instructions
  2. When adding a Google sheet step, if you have not already connected your Google account you will be prompted to do so

# Read data from a sheet

To read in data from a Google Sheet, click the "+" button in the builder and select "Read data from Google Sheet" from the list.

Enter the URL of the spreadsheet you want to read from into the "Spreadsheet URL" text box. This can be easily found by opening the spreadsheet in Google Drive or Google Sheets and copying the URL.

Once this is entered, you can select the sheet you want by choosing it from the "Sheet name" drop down list:

You can also optionally specify the first and last cell to begin reading from, which is useful to skip reading in heading data or other blank space. These values can be set by taking the column and row values as they appear in Google sheets. For example, if you want to start reading data from column B and row 2, enter "B2" into the "First cell" section.

# Write data to a sheet

To write some data to a Google Sheet, click the "+" button in the builder and select "Write data from Google Sheet" from the list.

Enter the URL of the spreadsheet you want to write to into the "Spreadsheet URL" text box. This can be easily found by opening the spreadsheet in Google Drive or Google Sheets and copying the URL.

Once this is entered, you can select the sheet you want by choosing it from the "Sheet name" drop down list:

By default, the output of the previous step will be automatically populated for writing. You will see this in the "DATA" section:

If you want to change this, click the cross on the data token to remove it, and then click on "Click to connect step". The sidebar on the right will open, containing the data that is output from the other steps. Click on the yellow button for the data you want to connect it to your spreadsheet.

# Conditional logic and looping

# Ending an automation if a condition is not met

Axiom's "Continue only if a condition is met" step lets you check a data token for one or more values. If those values are found in the data, Axiom will continue the execution; otherwise, it will end.

To use this step, first create a step to access the data you want to check. This might be reading from a google sheet, or scraping web data.

Secondly, click the "+" button in the Axiom builder and find the "Continue only if a condition is met" step. You can use the search bar to make find it more quickly. Click it to add this step to your Axiom.

Thirdly, enter the keywords you want to check the data for. You can enter multiple keywords here, separated by commas, and can select whether all the data must appear in the data set for the condition to pass, or if it should pass if any of the keywords are present. You can select "Exact Match" to exclude partial matches from being accepted.

Finally, you can optionally chec the "Fail if condition not met" checkbox if you want the Axiom to trigger an error notification when the condition does not pass.

# Jumping to a different step in the automation if a condition is met

Axiom's "Conditionally jump to another step" step lets you check a data token for one or more values. If those values are found in the data, Axiom will move to the given step number.

To use this step, first create a step to access the data you want to check. This might be reading from a google sheet, or scraping web data.

Secondly, click the "+" button in the Axiom builder and find the "Conditionally jump to another step" step. You can use the search bar to make find it more quickly. Click it to add this step to your Axiom.

Thirdly, enter the keywords you want to check the data for. You can enter multiple keywords here, separated by commas, and can select whether all the data must appear in the data set for the condition to pass, or if it should pass if any of the keywords are present. You can select "Exact Match" to exclude partial matches from being accepted.

Finally, enter the step number that the Axiom should jump to if the condition passes. The step number is shown in the Axiom builder like so:

# Looping while a condition is true

The "Jump if a condition is met" step can be used to create loops by jumping to a previous step in the Axiom. The condition will then be checked multiple times until it no longer passes, at which point the Axiom will continue to the end.

# Adjusting how axiom runs

# Running axiom headless (invisible)

First, load your axiom's settings by clicking the 'gear' icon:

A pane opens on the right. Click on the eye icon, labelled 'Headless'.

# Running axiom with your own chrome

By default, axiom uses its own version of Chrome (this means all users are using the same version, we can test)

It may be helpful to use your own chrome. This may also solve any problems with sessions syncing.

First, load your axiom's settings by clicking the 'gear' icon:

Click on the other gear icon labelled 'load chrome extension'.

Here, you'll be able to specify the path to your chrome executable. This can be obtained from chrome://version in a new browser tab.

# Running axiom with other chrome extensions

You can use axiom with other chrome extensions.

First, load your axiom's settings by clicking the 'gear' icon:

Click on the other gear icon labelled 'load chrome extension'.

Here, you'll be able to specify the path to your chrome extension. Detailed instructions for obtaining this are provided next to the form input.