Debugging tips

Building Axiom automations may not require any coding knowledge, but it can still sometimes be tricky to get things to work just right - particularly if you are building a bot with complex logic. If you are struggling to understand why something isn't working, try the following things and see if they help.

# Use 'Wait'

Axiom tries to intelligently wait for elements to load, but often, page loads can take longer than axiom detects, and come with extra unpredictable behaviours after loading.

Many issues are resolved by adding extra 'wait' steps on 'Interact with page'.

# Use the keyboard

If you can use the keyboard to do something - do it. In general, keyboard shortcuts work much better than clicking on different UI elements. For the same reason that it's more efficient for a human to use these shortcuts, it's more efficient for bots, too.

Learning the available shortcuts on your web app can open up a lot of new possibilities, make your bots a lot simpler to build, and make them more reliable.

In addition, when filling in forms using the keyboard can be very helpful. For example, if you are having trouble selecting a field with the selector tool, try using the tab key instead - almost all web forms support it. You can omit the selector on the "Enter Text" step, which will let you type text into whatever form field is currently selected.

This trick can also work for complex custom elements like date pickers - play with them and see if they accept keyboard input. This can save many an hour of frustration!

# Batch long jobs using Google Sheets

The longer an automation has to run, the higher the chance that an error will occur. Even worse, an error on row 5000 of a 10,000 row automation can cause your automation to fail without doing anything useful at all - a nightmare! You can hugely reduce the chances of these frustrating events happening by batching long jobs into smaller chunks.

Please read our documentation on batching here to learn more.

# Use the "Display a message" step

It can be very helpful to visualise what results are being selected at particular points during the automation. The "Display a message" step will show up a message of your choosing on the screen when the bot reaches that point. You can add any data you like to the step, letting you see what its value is at that point.

# Use custom selectors when results are inconsistent

Axiom's selector tool is powerful, but it can't figure out everything on its own. Sometimes you might get strange results, particularly in automations that run over many pages. There can be subtle differences in the code of these pages, which then lead to unexpected behaviour in your automation.

It is often possible to rectify this by digging in and using custom selectors for the fields that are proving problematic - see the guide here. You can compare the two pages that have different results, and try and find the common selector that will produce a consistent result.

# Break up long automations

If an automation is long, it can be helpful to use the "Run another Axiom" step to break things up into smaller sub steps, which can then be worked on individually. This can save a lot of waiting around for long automations to finish in order to test one small part of it. The "Run another Axiom" step does as it suggests - it loads and runs another Axiom automation currently saved in your account as though its steps were part of this one.

Note that the sub-axiom has to be completely self-contained; it cannot use any data that is used in the parent automation. If you need to pass data between the parent axiom and its sub-axioms, you can write the data you want to pass to a Google Sheet. This can be quite powerful!

# Try "Continue on error" to handle inconsistency

In the settings page of Axiom (click the gear icon at the top of the Axiom Builder) there is an option called "Continue on error". This option can be very helpful if you have an automation which sometimes produces an error, but where this is expected behaviour.

For example, sometimes a field might be missing on a form, but you'd like to continue with the rest of this automation anyway rather than stop dead. In these cases, "Continue on Error" can help you avoid a lot of difficult conditional checks.

# Ask for help

Although Axiom opens up a lot of possibilities, sometimes what you want to do can be difficult to figure out. When using Axiom you are building your own software, and this is great - but when things aren't behaving themselves it can be a tedious and frustrating experience.

If you are struggling to get something to work, please send us an email at, or fill in the support form (opens new window), and we can give you some more specific pointers on your issue. We use Axiom a lot and know many tricks that might help!