This is not the same as Lead capture, which stores names and numbers in your
inbox here. This puts them in your spreadsheet, in columns you chose, where
your team already works. You can have both on, and when you do the agent records
the details in both places rather than choosing between them.
Connecting your spreadsheet
Go to Actions, find Spreadsheet, and click Grist.1
Get an API key from Grist
In Grist, click your profile picture → Account settings → Developer,
and create a key in the API keys section.It does not expire until you remove it, so unlike a calendar key there is
nothing here that quietly stops working next year.
2
Paste it in
We call Grist once to check the key really belongs to someone. If it does
not work you are told immediately.
3
Give us the document
Open the document in Grist, go to Settings and find the API section.
Copy the Document ID from there.
4
Pick the table
We show you every table in the document with how many fields each has. Pick
one. We then read that table’s real column names and remember them.That is what the agent fills in. It cannot invent a column, and it cannot
reach any other table or any other document.
What the agent may do
Two switches, both off until you turn them on. Connecting your spreadsheet on its own gives the agent nothing.Every switch you turn on — here, on your calendar, anywhere — is described to
the agent on every turn of every call. A handful is sharp and quick. A long
list is a slower reply from an agent less sure which one you meant. Nothing
stops you, so the restraint is yours.
Filling the lead’s own row, not a new one
A lead list usually arrives with a row per person already in it — imported from an ad, a form or a CSV — and the job of the call is to fill in the rest. Left alone, every call adds a fresh line underneath and the row you already had stays half empty. On the spreadsheet card, pick the column that identifies each person under Update an existing row, and how to compare it:
When a caller matches, their answers go into that row. When nobody matches,
a new row is added as before.
We never guess the column. A column called Contact might hold an email or a
phone number, and a wrong guess writes one customer’s answers over another’s.
Filling in what the call already knew
On a campaign you already know things the customer is never asked — their name and number came from your own list. A model told not to repeat those back never volunteers them either, so they would stay blank. Fill from campaign variables on the same card maps a column to a variable your campaign supplies, one per line:When to save: during the call, or after it
A switch on the spreadsheet card, and it only changes phone calls.
Reading afterwards is usually the better call, and not only for the pause:
- An answer given in the first minute lands in the right column even if the question came in the fourth.
- Someone who corrects themselves — “sorry, it’s 42, not 41” — is recorded once, correctly, instead of twice.
- A call that ends abruptly still leaves everything that was said.
Chat and WhatsApp always save as they go. Nothing there ends the way a
call does, so there is no “after” to wait for. The switch is about calls.
Save in the background
A switch on the same card. With it on, the agent stops waiting for Grist. The answer is kept here the moment the customer gives it, and reaches your spreadsheet within a minute. Nothing is lost if Grist is slow, and nothing is lost if you have used up a free plan’s calls for the month — the work waits and goes through when it can. Turn it on if your agent answers the phone. A caller hears every second the agent spends waiting, and this removes all of them. Leave it off if you watch the sheet live — during a campaign, say — and want the row to appear as the words are spoken. Either way the agent never claims something is saved when it is not.What your customer experiences
Them: Hi, I’d like a quote for a kitchen. Agent: Of course. Can I take your name? Them: Priya Nair. Agent: Thanks Priya. And the best number to reach you on?By the end of that call there is one row in your spreadsheet with both answers in it, plus anything else you have columns for.
A column for what happened
Make a column called Summary — or Notes, Remarks, Comments — and turn on Summarise each call on the Voice page, and it fills with two or three sentences about what the customer said and how the call ended. It is the one column that is filled even when nothing else could be: somebody who says only “not interested, I’m busy” answers no question on your list, and that sentence is the whole useful record of the call.Things worth knowing
One row per conversation. Every answer goes into the same row, so you get one line per customer rather than one line per thing they said. The agent fills in only what it was told. A field it never heard is left empty. It will not guess. Formula columns are read, not written. Grist computes those itself. If every column in the table is a formula we say so when you pick it — the agent can read that table but cannot save anything into it. Looking something up is exact and case-sensitive.PRIYA does not match
Priya. Use it for order numbers, phone numbers and reference codes, which is
what customers give verbatim anyway.
It will not search for nothing. If the agent has no value to match on it asks
the customer for one, rather than returning whatever happens to be at the top of
your table.
At most five rows come back from a lookup. More than that read aloud is a
paragraph nobody can follow on a phone.
Free Grist has limits, and they are Grist’s rather than ours. A free site
allows 3,000 API calls a month and 5,000 rows per document. A busy phone
line can use those, and when they are gone Grist refuses — your card says so.
Save in the background handles the smaller bumps for you.
Disconnecting keeps your data. Rows already written stay in your spreadsheet;
they are your records, not ours to remove. Anything still queued and not yet
written is discarded, and we tell you how many that is before you are left
wondering.