AI Chatbot for Airtable: your business already lives in a base, so let it answer
Somewhere in your workspace there is a table that is really the company: the product list, the pricing grid, the policy tracker, the roster of what is available where. Export a view of it as CSV, upload it, and every record becomes a piece of knowledge the assistant can retrieve. Then send chat events the other way, and a conversation becomes a record.
Get Started Free See the real stepsSee what the chatbot would answer
Start with your website. The assistant reads your pages first, and your table goes on top of that as exact, record-level detail.
Why Airtable ends up holding the real answers
Airtable wins in a very specific way. It is not a spreadsheet and it is not a database anybody had to commission — it is the thing an operations person built in an afternoon because nothing else fitted, and then everyone started depending on it. Field types, linked records, a view per team. It grew into the source of truth without ever being declared one.
Which creates a strange gap. The answer to "is the walnut version in stock in the 90cm size" is sitting in a table, precise and current, while your website says something vague about a range of finishes. The customer asking the question cannot see the base, and the person who can is in a meeting. A chatbot that has been given that table closes the gap in one sentence.
One record in, one retrievable answer out. The structure you built for your own sanity turns out to be exactly the structure retrieval wants.
This is why the spreadsheet import exists and why it treats rows the way it does. A normal document has to be cut into overlapping blocks and the system hopes the right sentence lands in the right block. A table needs none of that guesswork, because the file already says where one fact ends and the next begins. So each data row is stored as its own chunk, and a question about one product retrieves that product rather than a paragraph that mentions eleven of them.
Two directions, and they are not the same job
Almost everyone arriving here wants one of these two things, and mixing them up wastes an afternoon. They are built differently and they have different requirements.
Base becomes knowledge
You export a view as CSV and upload it. Every record becomes retrievable. No connector, no API key, works on any plan within the row limit.
Chat becomes records
A chat event fires a webhook, a connector receives it and creates a record in your table. Needs a paid plan and one automation tool in the middle.
Direction A is the one that changes what visitors experience, because it changes what the chatbot knows. Direction B is the one that changes what your team sees on Monday. Most teams end up doing both, in that order.
Direction A: turning an Airtable view into chatbot knowledge
Be clear on this before you begin, because it decides how you work afterwards: Asyntai does not connect to Airtable. There is no OAuth screen, no stored API key, no background polling of your base. You export, you upload, and what the assistant knows is a snapshot of that file.
.csv and .xlsx are accepted; anything else is rejected by the file check. The page confirms how many rows it stored.What the field names are doing
Each data row becomes one chunk, and the chunk text is built by pairing every field name with its value, skipping empty cells. So your headers are not labels for humans — they are text the AI reads as part of the answer. Lead time earns its place. Notes 2 adds noise to every single chunk.
| Product | Finish | Lead time | Price |
|---|---|---|---|
| Halden desk, 140cm | Oak | In stock, ships in 2 working days | EUR 640 |
| Halden desk, 140cm | Walnut | Made to order, 4–5 weeks | EUR 720 |
| Halden shelf unit | Oak | In stock, ships in 2 working days | EUR 310 |
- One self-contained record per row. A row that only makes sense next to the row above it will be retrieved alone, and then it makes no sense at all.
- Computed values export as text. A formula or rollup arrives as the value you can see, which is exactly what the assistant needs.
- Attachments are the trap. An attachment field exports as a filename and a URL, and Airtable states that attachment URLs obtained through CSV export expire after a few hours. Keep a permanent link in a plain text field if visitors should get one.
- Comments do not travel. Record comments, field descriptions and anything living only in an extension are not part of the export. If the real answer is in a comment, move it into a field.
- One topic per upload. Separate files for the product table and the policy table are much easier to replace when only one of them changes.
Doing the upload from the API
If a monthly manual export is not going to survive contact with reality, use the endpoint instead. It takes a multipart/form-data POST with the file in a field called file. API access needs a paid plan.
The key can travel as X-API-Key instead if that suits your tooling. One behaviour difference is worth remembering: where the dashboard refuses an oversized file outright, the API accepts it and stops at your plan's row limit, so compare rows_processed with what you sent. Details are in the API documentation. A weekly job that exports the view, POSTs it here and deletes the previous entry is as close to a sync as this gets — and it is honest about being a re-upload.
Direction B: sending chat events into an Airtable base
The other way round needs one piece in the middle, and it is worth explaining why rather than hiding it. Asyntai webhooks POST a fixed JSON body — an event field and a payload field — and send exactly three headers: Content-Type, X-Webhook-Event and X-Webhook-Signature. There is no field for a bearer token, so the webhook cannot authenticate to the Airtable API by itself.
So you add a connector, and it takes about ten minutes. In Make, start a scenario with Webhooks → Custom webhook and finish with the Airtable Create a Record module, which asks you for the base and then the table. In Zapier, start with Webhooks by Zapier → Catch Hook and finish with the Airtable Create Record action; Create or Update Record and Find or Create Record are there too when you want one record per visitor rather than one per message. n8n, Pabbly and a small endpoint of your own all work the same way.
Register the webhook in Asyntai under Settings → API, paste the connector URL, tick your events and set a signing secret. Then trigger one real chat, because both tools learn the field structure from an actual request rather than from a schema.
Start with escalation.requested alone. Turning on message.received on a busy site will create a record for every exchange, and both your connector's operation count and your record count will notice.
Two Airtable workflows worth building first
Each is a webhook trigger plus one or two steps, and neither changes how the assistant answers.
An intake table that closes the loop
Escalations land as records with a status field, an owner and the visitor's question in full. That much is ordinary. What makes it worth doing is the next column: once somebody answers the question, that answer is sitting in a field — and that field is in the view you export as knowledge. Yesterday's unanswered question becomes tomorrow's answer, without anybody writing a help article.
A demand signal on the product table
Route message.received through a filter and log which products people ask about, with the page they were on. Link the record to your product table and a rollup gives you a question count per product. Buyers get a demand signal that has nothing to do with what sold — it is what people wanted to know about, which usually arrives weeks earlier.
What an Airtable-fed chatbot does well
Record-exact retrieval
Each row is stored and searched on its own, so a question about one variant pulls that variant instead of a wall of nearby text.
Answers using your own content
Your table sits alongside your website pages and documents. The chatbot answers from that material rather than from generic AI knowledge.
The view is the filter
Because only visible fields are exported, deciding what the assistant may say is the same act as building a view. No second permissions system.
Replies in their language
A table written in one language still answers visitors in theirs. 30+ languages, detected from the question, nothing to configure.
Signed webhooks
Every delivery carries an HMAC-SHA256 signature of the body generated from your secret, so your connector can reject anything else.
Scriptable refresh
The knowledge upload is an API endpoint, so a scheduled job can replace the snapshot as often as your data really changes.
Airtable chatbot questions
Can the chatbot read my base live?
No, and it is better to know that up front. Asyntai holds no Airtable API key and does not poll your base. You export a grid view as CSV and upload the file, in the dashboard or through the knowledge endpoint. What the assistant knows is a snapshot taken at upload time, so an edit means another export and another upload.
How do I export a table for the chatbot?
Click the arrow to the right of the grid view name and choose Download CSV. Only the field values visible in that view are exported, so hide internal fields first. A whole base cannot be exported as one file — each table downloads separately, which suits this well, since one upload should hold one topic.
How many records can I upload as knowledge?
100 data rows on Free, 500 on Starter, 2,000 on Standard and 10,000 on Pro — see pricing. The header row is not counted. The dashboard refuses an oversized file and names both numbers; the API accepts it and stops at your limit, so check rows_processed against what you sent.
Can a conversation create a record?
Yes, with one connector in the middle. Asyntai webhooks post a fixed JSON body and send only Content-Type, X-Webhook-Event and X-Webhook-Signature, so they cannot present an API key on their own. Route the webhook into Make, Zapier, n8n, Pabbly or your own endpoint and use the record-creating step: Create a Record in Make, Create Record in Zapier.
Do attachments and formulas survive the export?
Computed values come through as text, which is what the assistant needs. Attachments are the exception: the field exports as a filename and a URL, and Airtable states that attachment URLs obtained through CSV export expire after a few hours. Treat them as disposable and keep a permanent link in a normal text field.
Related pages
Other ways to feed the assistant, and other tools that can carry the same four events.
Let the table answer the question
Export one view, upload it, and see how much sharper the replies get. The free plan includes 100 messages a month, enough to test a real table against real questions.
Get Started Free