Cause: Insufficient permissions or expired OAuth token.
Solution:
- Go to
Connectionssection - Find the connection showing an error icon
- Click
Re-authorizeand follow the OAuth flow again - Test the connection before using it in your board
By the end of this guide, you’ll have created and activated your first automation board in IONFLOW. This hands-on tutorial walks you through connecting an external app, building a simple workflow with visual nodes, testing it safely, and deploying it to production.
If you haven’t logged in yet, start with the Introduction guide to understand what IONFLOW can do. This tutorial assumes you already have access to your IONFLOW account.
What you’ll need to complete this tutorial
You must have login credentials. Contact your admin if you don't have access yet.
Read Guide →Optional: credentials for Gmail, Slack, Google Sheets, or HubSpot to connect.
Read Guide →This tutorial takes 10 minutes from start to finish. You can pause anytime.
Read Guide →Don’t worry about making mistakes! Boards can be tested in preview mode without affecting real data, and you can always delete or edit them later.
Build your first automation board from scratch
Open your browser and navigate to your IONFLOW URL (typically https://yourcompany.ionflow.io)
Log in with your work email and password. If using SSO, click Sign in with SSO and follow your organization’s authentication process.
Expected Result: You should see the Dashboard with summary widgets showing Boards, Connections, and Executions.
In the left sidebar, click Connections to see available app integrations.
For this tutorial, you can use Global Connections (pre-configured by IONFLOW) or create your own:
+ New ConnectionGmail, Slack, HTTP Request)Test Connection to verifySaveExpected Result: Connection appears in the list with a green checkmark indicating it’s active.
In the left sidebar, click Boards (formerly called Workflows)
Click the + New Board button in the top-right corner
In the dialog that appears:
My First AutomationTesting IONFLOW board creationCreateExpected Result: The visual editor opens with an empty canvas and a sidebar of available nodes.
Every board needs a trigger to start execution. From the node library on the left:
Manual Trigger node (looks like a play button icon) onto the canvasSchedule Trigger if you want time-based automationClick on the trigger node to configure it:
Every 5 minutes)Expected Result: Trigger node appears on the canvas with a blue outline (indicating it’s selected).
Now add an action that executes when the trigger fires:
HTTP Request in the node library (this works without external connections)Configure the HTTP Request node:
https://api.ipify.org?format=json (returns your IP address - safe to test)GETExpected Result: Two nodes connected by a line (edge). The HTTP Request node shows a green checkmark if configured correctly.
Before activating, always test in preview mode:
Preview button in the top toolbar (looks like a play icon with a test tube)If you see JSON with your IP address like {"ip":"123.45.67.89"}, the test succeeded!
Expected Result: Output panel shows green success indicator with response data.
After testing successfully:
Commit in the top toolbar (saves changes like git commit)Initial version - working HTTP testSaveExpected Result: The board is saved. You’ll see a confirmation message and the is_dirty indicator disappears.
To run the board automatically (if using Schedule Trigger) or make it available for manual execution:
Active switch in the top-right corner from OFF to ONExpected Result: Board status changes to Active. If using a schedule trigger, executions will appear in the Executions section automatically.
Troubleshoot problems you might encounter
Error message: 'Connection not authorized' when testing board
Cause: Insufficient permissions or expired OAuth token.
Solution:
Connections sectionRe-authorize and follow the OAuth flow againPreview mode runs fine, but board doesn't execute when activated
Cause: Trigger not properly configured or board not activated.
Solution:
Active toggle is ONExecute manually from the board listExecutions history for error messagesCan't drag a line between nodes
Cause: Incompatible port types or incorrect connection direction.
Solution:
Mapper node if data transformation is needed between incompatible portsSearching for a specific node but it doesn't appear
Cause: Node belongs to a Grapp (integration app) that’s not installed or requires a specific connection type.
Solution:
Connections - if yes, create a connection firstHTTP Request node as a generic alternative for REST APIsYou’ve completed your first IONFLOW automation
You’ve successfully created, tested, and saved your first board in IONFLOW! Here’s what you accomplished:
Now that you understand the basics, explore more advanced features like adding conditional logic with Decision nodes, looping through data with Iterator nodes, or saving data to Persistent Data for use across multiple executions.
Continue your IONFLOW journey
Understand advanced board features like branching, looping, scripting, and version control.
Read Guide →Explore Connections to integrate Gmail, Slack, HubSpot, Google Sheets, and 50+ other apps.
Read Guide →View detailed logs, replay failed executions, and analyze performance metrics.
Read Guide →Store data between board executions using IONFLOW's mini-database feature.
Read Guide →Trigger boards automatically when events happen in external apps (real-time automation).
Read Guide →Get help with common errors and learn debugging techniques for complex boards.
Read Guide →Was this tutorial helpful?