User guide
Guide
Connect your CRM once, say which fields matter once, and then send fastsift a call from the assistant you already use. It proposes the changes the conversation settles, with the sentence behind each, and writes only what you approve.
Getting started
- 1
Sign up and make a key
Sign in with Google or an email address on your account page. No card: an account starts with 20 conversations to try. Make a key there, for the machine you are setting up, and save it where every tool can find it:
mkdir -p ~/.config/fastsift echo 'FASTSIFT_API_KEY=fs_live_...' >> ~/.config/fastsift/.env - 2
Connect HubSpot and choose the fields
One sign-in, then a few questions about which fields fastsift may fill. It reads your CRM first, so the questions are about your own fields and their own values.
fastsift connect # opens a link: sign in to HubSpot and allow it fastsift setup # choose the fields it may fill fastsift status # which CRM this account is connected to - 3
Install it in your assistant
In Claude Code, two lines. Elsewhere, point an MCP client at the same server; see Install.
/plugin marketplace add eabdelmoneim/fastsift-plugin /plugin install fastsift@fastsiftThen say: here are my notes from the Northwind call, update the CRM.
Install
Claude Code
The plugin brings the tools and a skill that tells Claude how to use them: plan first, show you what it proposes, write only what you approve.
/plugin marketplace add eabdelmoneim/fastsift-plugin
/plugin install fastsift@fastsiftAny other MCP client
Claude Cowork, Codex, Cursor and anything else that speaks MCP over stdio. It needs uv installed and your key saved as above.
{
"mcpServers": {
"fastsift": {
"command": "uvx",
"args": ["--from", "fastsift", "fastsift-mcp"]
}
}
}From a shell, with no assistant at all
The same two calls, on a transcript file. Exit code 0 when nothing needed you, 1 when something is waiting.
fastsift plan call.txt # what it would change, and why
fastsift plan call.txt --apply # write the ordinary, confident ones
fastsift plan call.txt --apply --approve deal:d1:amountRunning the MCP server with tighter rules
Two flags an operator sets, which a calling model cannot change: --read-only refuses every write however a request is phrased, and --authorize lets a call write the ordinary, confident changes without naming each one. Without it, every change waits for the ids you approved. Closing a deal, its lost reason and money always wait, in every mode.
Connecting your CRM
fastsift connect gives you a link. You sign in to HubSpot as yourself and allow fastsift to read and write companies, contacts and deals, read their field definitions, and log notes. Nothing else is asked for.
- The connection belongs to your fastsift account, not to your laptop or your assistant. Nothing on your machine holds a CRM credential.
- Tokens are stored encrypted, and a token that expires while a conversation is being read is renewed without you noticing.
- `fastsift disconnect` forgets the connection and its tokens. You can also remove fastsift from HubSpot's connected apps, which has the same effect.
HubSpot today. If you use something else, say so and it goes on the list.
Choosing the fields
fastsift setup reads a sample of your own records and shows which fields your team fills and which sit empty, so the case for each is a fact about your CRM rather than our opinion. A field nobody fills is not a gap; a field filled sometimes and missing often is exactly what a conversation could close.
Beside each field is a sentence saying what settles it. It arrives drafted from your own field names and values, and it is meant to be corrected: two companies mean different things by the same field, and what you write is what gets asked about your calls.
- Mark a field sensitive and it always waits for you, however sure the answer is. Money, closing a deal and its lost reason are sensitive whatever you choose.
- Anything under the confidence you set waits for a person instead of being written. It starts at 70 percent.
- Run it again whenever your pipeline changes. The last answer is what every conversation is read against.
Using it
Give your assistant the conversation: pasted notes, a transcript file, a meeting summary, an email thread. It calls crm_plan, which reads and writes nothing, and comes back with what it found and what it proposes.
- The company, contact and deal it matched. If a company has one open deal, that is decided without asking; if it has three and the call does not say, it tells you rather than guessing.
- Each proposed change as field, what it is now, what it would be, how sure it is, and the sentence it rests on.
- Anything it could not settle, in words you can act on.
You then approve by id. What gets written is what fastsift proposed after reading your CRM, so an assistant can allow a change but cannot invent one.
What gets written
- Only values your CRM already accepts: a stage from your pipeline, a picklist value from your own list, a date or a figure the conversation actually stated.
- Every change is read back afterwards. If your CRM stored something else, because a workflow or a validation rule had other ideas, you are told rather than it being swallowed.
- A note is logged on the record saying what changed, from what, and the sentence behind it. Turn it off in setup if you would rather it did not.
What it has been doing
fastsift activity, or asking your assistant, answers how many conversations were read, how many changes were written, what is still waiting for someone, what your CRM stored differently, and which fields go missing most often. It counts fields, never anyone's words, and it is free.
Credit and billing
- An account starts with 20 conversations, so nothing needs paying until you have seen it read your own calls.
- $0.05 after that, to read one conversation into proposed changes, charged once however many questions that takes.
- Applying is free, and so is asking what it has been doing.
- A conversation that matched nothing in your CRM is given back: nothing was read.
- Sending the same conversation again after a dropped connection is charged once, not twice.
- Prepaid, so it can only spend what you have bought. Top up from $5 with `fastsift topup`, or ask your assistant for a payment link.
Limits and safety
- Nothing is written until you say so. Money, closing a deal and its lost reason are approved one at a time, always.
- A deal stage that would move backwards waits for a person, as does anything under your confidence threshold.
- Approving names a change fastsift proposed. A calling model cannot pass a value of its own.
- A conversation is data, not instructions. A transcript that says to update something else is a record to read, not an order to follow.
- It has not been measured against your CRM. Read its proposals for a week before letting it write the ordinary ones on its own.
Your data
- The conversation is read and not stored.
- A proposed change and the sentence behind it are kept for a week, so you can approve it after reading it, and then deleted.
- What we keep is what changed: the field, the record it belonged to, and whether it was written or held. Not the words anyone said.
- Your CRM tokens are stored encrypted and used only to read and write the records a conversation names.
The full account is on the privacy page.
Troubleshooting
It says no CRM is connected
Run fastsift connect, follow the link, and allow it. Then fastsift status will name the HubSpot account it is connected to.
It says the connection expired or was refused
Someone removed fastsift from HubSpot's connected apps, or the permissions changed. Connect again; nothing else is lost.
It could not tell which deal the call was about
That is the answer, not a failure: the company has several open deals and the conversation does not say which. Tell it which one, or update that deal by hand this once.
The plan id is not found
A plan can be applied for a week. After that, send the conversation again: your CRM has probably moved on anyway.
A change was written but stored differently
A workflow or a validation rule in HubSpot changed it. fastsift reads every write back so you find out from us rather than from a report three weeks later.
Reference
Commands
| command | what it does |
|---|---|
| fastsift connect | A link to authorize your CRM. |
| fastsift setup | Choose the fields it may fill and what settles each. |
| fastsift playbook | Show the fields it may fill. |
| fastsift status | Which CRM this account is connected to. |
| fastsift disconnect | Forget the CRM connection and its tokens. |
| fastsift plan FILE | Propose the changes a conversation settles. Writes nothing. |
| fastsift plan FILE --apply | Also write the ordinary, confident ones. |
| fastsift plan FILE --approve ID | Also write that one, including a sensitive one. |
| fastsift activity | Conversations read, changes written, changes waiting. |
| fastsift account | Email and credit left. |
| fastsift topup 10 | A payment link for more credit. |
Tools your assistant gets
| tool | what it does |
|---|---|
| crm_plan | Reads a conversation and proposes changes. Writes nothing. |
| crm_apply | Writes the approved changes, reads each back, logs a note. |
| crm_activity | Counts of what has been read, written and held. Free. |
| account | Credit left, and which CRM is connected. |
| topup | A payment link to add credit. |