LouiseA
LouiseA3w ago

Received a (200 OK) but no product info

Hello, I'm building a Dynamic Carousel and I created an airtable formula that should return products based on customer quer now I want to test it. My VF API call is successfully sending the request (200 OK) but with 2 curly brackets [ ] and no product information returned back. I have screen shots here. Any help would be appreciated. Thanks
No description
No description
No description
1 Reply
Tico | Voiceflow Assistant
It looks like the call itself is fine (​200 OK) but the filter you’re sending to Airtable isn’t matching any rows, so Airtable returns an empty array:
{
"records": [] // two square brackets = no rows found
}
{
"records": [] // two square brackets = no rows found
}
What to check: 1. Formula correctness
• Test the exact filterByFormula in the Airtable GUI first – make sure the view shows the rows you expect.
• Remember to URL-encode the formula when you put it in the API step (spaces → %20, >%3E, etc.). A single missed encode will make Airtable treat the whole string as invalid and return 0 rows. 2. Table / View / Base IDs
• Confirm the baseId and tableIdOrName (or view) you’re hitting are the same ones where the data lives.
• If you copied the URL from the browser, sometimes the table name is case-sensitive. 3. Request example
GET https://api.airtable.com/v0/{baseId}/{tableName}?filterByFormula=SEARCH(
LOWER("%7Buser_query%7D"),
LOWER({Product})
)%3E0
Authorization: Bearer {AIRTABLE_API_KEY}
GET https://api.airtable.com/v0/{baseId}/{tableName}?filterByFormula=SEARCH(
LOWER("%7Buser_query%7D"),
LOWER({Product})
)%3E0
Authorization: Bearer {AIRTABLE_API_KEY}
4. Capture path in Voiceflow
• In the API Step > Capture Response choose records → store to a variable (e.g. products_raw).
• If you need only the fields array, map records.*.fields. 5. Build the carousel
• In a Code / Function step transform products_raw into the cards array that Carousel trace expects, then output it.
• If products_raw is empty, branch to a “no products found” path instead of rendering an empty carousel. Quick test checklist
✓ Formula works inside Airtable view
✓ Same base/table IDs in Voiceflow
✓ Query params are URL-encoded
✓ Authorization header present
✓ Response shows records with data when you test in Postman/Insomnia Fixing any of the above should turn that [] into a list of product objects you can pass to the Dynamic Carousel. Docs for reference: https://docs.voiceflow.com (API Step & Airtable integration sections).

Did you find this page helpful?