Your First Workflow
This tutorial walks you through building a complete automation in Vesbite – from flashing firmware on a device to seeing records appear in Airtable. By the end, you’ll have a working Flow that listens for RFID tag reads from an Impinj R700, extracts the EPC code, and creates a row in an Airtable base every time a tag is scanned.
Time: ~15 minutes
What You’ll Build
A Flow with three nodes:
- Device Event trigger – fires when the R700 reads an RFID tag
- Set Variable action – extracts the EPC from the event payload
- Airtable Create Record action – writes the EPC and a timestamp to a table
When a tag passes in front of the reader, the entire chain runs automatically in the cloud.
Prerequisites
- A Vesbite account – sign up here if you don’t have one
- An Impinj R700 RFID reader connected to your network
- An Airtable account with a base containing a table that has at least two columns:
EPC(single line text) andRead At(date/time)
Step 1: Install the Vesbite Firmware
Before the R700 can communicate with Vesbite, it needs the Vesbite firmware installed as a custom application.
Follow the complete firmware installation guide at Impinj Integration. In summary:
- Open the R700 web interface at
https://<R700-IP-ADDRESS> - Log in with the default credentials (
root/impinj) - Upload the
vesbite-r700-latest.upgfirmware file - Reboot the device
After the reboot completes, the Vesbite application starts automatically and the device is ready for adoption.
Step 2: Adopt the Device
Adoption links the R700 to your Vesbite account so you can monitor it, send it commands, and subscribe to its events in Flows.
- Open a browser tab and navigate to
http://<R700-IP-ADDRESS>– the adoption code is displayed on the device’s main page - You’ll see an adoption code displayed prominently on the home screen
- You have two options:
- Quick adopt: Click the Adopt in Vesbite button. If you’re already logged into Vesbite in the same browser, the device links automatically.
- Manual adopt: Copy the adoption code, then in Vesbite go to Devices in the sidebar, click Add Device, paste the code, and click Adopt.
- After a few seconds, the device appears in your device list with a green “Connected” status indicator.
Step 3: Explore Device Capabilities
Before building a Flow, take a moment to understand what your device can do.
- Click on your R700 in the device list to open the device detail page
- Explore the three tabs:
Actions tab – Commands you can send to the device. For the R700, you’ll see actions like startReading and stopReading. You can execute these directly from this page to test them.
Events tab – Data the device publishes. The R700 has a tagreads event that fires when RFID tags are detected. The event schema shows the payload structure, including fields like epc, tid, antenna, and rssi.
Settings tab – Configurable parameters like antenna power, read mode, and session. You can adjust these from Vesbite or push them from a Flow.
The tagreads event is what we’ll use as our Flow trigger. Note the payload structure – each tag read event contains an array of tag objects with an epc field.
Step 4: Connect the Airtable Integration
Before building the Flow, let’s make sure Airtable is connected.
- Navigate to Flows in the sidebar
- Click Create Flow and give it a name like “Tag Read to Airtable”
- We’ll set up the Airtable connection in Step 8 when we add the Airtable node – Vesbite lets you authenticate inline while building your Flow
If you’d prefer to test the connection first, see the Connecting Your First Integration tutorial for a detailed walkthrough.
Step 5: Create a New Flow
- If you haven’t already, navigate to Flows in the sidebar and click Create Flow
- Name your Flow (e.g., “Tag Read to Airtable”)
- You’ll see an empty canvas with a prompt to add your first trigger
The canvas is where you’ll visually wire together your automation. Each node represents an operation, and connections between nodes define the execution order.
Step 6: Add a Device Event Trigger
The trigger defines what starts your Flow. We want it to fire every time the R700 reads a tag.
- Click Add First Trigger on the canvas
- The activity picker slides in from the right – browse the Devices category or search for “Device Event”
- Click Device Event to add it to the canvas
- Double-click the trigger node to open its settings panel
- In the Device dropdown, select your R700
- In the Event dropdown, select
tagreads - Click Save
Your trigger is now configured. Every time the R700 detects tags, this node fires and passes the event data downstream.
Step 7: Add a Set Variable Action
The tagreads event delivers an array of tag objects. Let’s extract the EPC from the first tag into a clean variable that’s easy to reference later.
- Click the + button below the Device Event trigger
- In the activity picker, search for “Set Variable” (under the Core or Data category)
- Click Set Variable to add it to the canvas
- Double-click the Set Variable node to open its settings
- Set the Variable Name to
epc - Set the Value to:
{{ variables.eventData[0].epc }}- Click Save
What’s happening here: variables.eventData contains the raw payload from the trigger. The tagreads event sends an array of tag objects, so [0] grabs the first one and .epc extracts its Electronic Product Code. This Vex expression uses the {{ }} syntax to evaluate at runtime.
Step 8: Add an Airtable Create Record Action
Now let’s send the extracted EPC to Airtable.
- Click the + button below the Set Variable node
- In the activity picker, search for “Airtable” and select Create Record
- Double-click the Airtable node to open its settings
- In the Connection dropdown, select an existing Airtable connection or click Add Connection
If adding a new connection:
- A popup window opens to Airtable’s authorization page
- Log in to your Airtable account
- Grant Vesbite permission to access your bases
- The popup closes and your new connection appears in the dropdown
- Once connected, the Base dropdown populates dynamically from your Airtable account. Select the base that contains your target table.
The Table dropdown populates with tables from the selected base. Select your table (the one with
EPCandRead Atcolumns).The Fields section appears, showing the columns from your selected table. Map each field:
| Field | Value |
|---|---|
| EPC | {{ variables.epc }} |
| Read At | {{ date.now }} |
- Click Save
Expression breakdown:
{{ variables.epc }}– references the variable we set in Step 7{{ date.now }}– a built-in Vex function that returns the current date and time
Step 9: Publish and Test
Your Flow is complete. Time to make it live.
- Review the canvas – you should see three connected nodes: Device Event --> Set Variable --> Airtable Create Record
- Click the workflow menu (top-right) and select Publish
- Your Flow status changes from “Draft” to “Published”
Here’s what the completed flow looks like during execution – watch each node light up as it processes:
Now test it:
- Hold an RFID tag near your R700’s antenna (or trigger a read from the device’s Actions tab using
startReading) - Wait a few seconds for the event to propagate through the Flow
- Check your Airtable base – a new row should appear with the tag’s EPC and the current timestamp
If the record doesn’t appear, check the Flow execution log (next step) to diagnose any issues.
Step 10: Monitor Execution
Vesbite tracks every Flow execution so you can see exactly what happened.
- Navigate to Flows in the sidebar and click on your Flow
- Open the Executions tab to see a list of all runs
- Click on a specific execution to view its detail page
The execution detail page shows:
- Status of each node (completed, failed, skipped)
- Input and output data for every activity – click a node to inspect what data it received and what it produced
- Timing – how long each step took
- Error details if anything failed, including the full error message and stack trace
Use this page to debug expression errors, connection failures, or unexpected data transformations.
Next Steps
You’ve built a complete IoT-to-cloud automation. Here are some ways to go further:
- Connecting Your First Integration – Learn more about OAuth, API key, and database connections
- Understanding Flows – Deep dive into how the Flow engine processes your automations
- How to Build a Flow – Reference for all canvas operations and node types
- Actions Reference – Complete list of device actions and how to use them in Flows
- Browse Integrations – See all available services you can connect
Ideas to try next:
- Add an If/Else branch to only create Airtable records for specific EPC patterns
- Add a SendGrid node to email a notification when a high-value tag is scanned
- Use a ForEach loop to process all tags in a multi-tag read event instead of just the first one
- Add a Device Action node to call
stopReadingafter a specific tag is found