Airtable List records tool won't capture response in a variable
I'm using the built in Airtable list records tool. Attached is a screenshot of how I have it configured. When I run my flow, it works and gets a response back from Airtable. In the log, it tells me [Integration tool] "airtable_list_records" succeeded . However, the variable never gets set. It always remains as 0. I don't even see a step in the log where it's attempting to set the variable. I've tried changing the object but that doesn't help either.
2 Replies
Why the variable is staying at 0
• Variable:
• Object path:
• Variable:
• Object path:
✅ Object path resolves to a primitive.
✅ No other step overwrites the variable later. Once the path targets a primitive you’ll see the “Set variable …” line in the logs and the variable will show the expected value instead of 0. Documentation: https://docs.voiceflow.com
List records
returns an object that looks like this:
Voiceflow variables can only hold primitive values (string, number, boolean). If you try to save the entire response (an object/array) the assignment is ignored, so the variable falls back to its default (0 in your case). That’s why you don’t see a “set variable” line in the logs even though the call itself succeeded.
How to capture something useful
1. In the tool configuration, point the Output variable at the piece of data you really need – a primitive value.
• To save the number of rows:• Variable:
total_records
• Object path:
records.length
• To grab the first row’s “Name” field:• Variable:
first_name
• Object path:
records[0].fields.Name
2. If you actually need the full JSON, follow the tool with a Function or Code step and do:
Then return it via outputVars
so it’s stored as a string.
Quick checklist
✅ Variable already exists in the project (same spelling).✅ Object path resolves to a primitive.
✅ No other step overwrites the variable later. Once the path targets a primitive you’ll see the “Set variable …” line in the logs and the variable will show the expected value instead of 0. Documentation: https://docs.voiceflow.com
I tried records[0].fields.Discipline but that doesn't work either. It's the same issue
Same with records.length . No matter what I put into the capture response object, it doesn't save to my variable