Call OpenAI, Mistral, Nebius, OpenRouter, or local Ollama from a cell — and let an agent edit your sheet — on Excel for Mac, Windows, Web, and iPad.
Mac — download manifest.xml into Excel's add-in folder, then reopen Excel:
~/Library/Containers/com.microsoft.Excel/Data/Documents/wef/Windows / Web / a whole org — deploy via the Microsoft 365 admin center (Integrated apps), or publish to AppSource. See PUBLISHING.md.
Then open Home ▸ LLM Settings, pick a provider + model, and go.
| Function | What it does |
|---|---|
| =LLM.PROMPT(text, [provider], [model]) | Send a prompt, get the reply |
| =LLM.STREAM(text, [provider], [model]) | Like PROMPT, but streams into the cell live |
| =LLM.CLASSIFY(text, categories) | Pick one label from a range/list |
| =LLM.EXTRACT(text, instruction) | Pull a single value out of text |
| =LLM.FIELDS(text, fields) | Extract many fields into a row (text → table) |
| =LLM.TRANSLATE(text, language) | Translate a cell |
| =LLM.SUMMARIZE(text, [maxWords]) | Summarize a cell |
| =LLM.SENTIMENT(text) | Positive / Neutral / Negative |
| =LLM.LIST(prompt, [count]) | Generate a list, spilled down a column |
| =LLM.ASK(question, context) | Answer a question using a range as context |
| =LLM.SIMILARITY(a, b, [model]) | Semantic similarity (0–1) via embeddings |
| =LLM.MAP(range, instruction) | Apply an instruction to every cell (batched) |
| =LLM.LIST_MODELS([provider]) | Spill available models |
| =LLM.CONFIG() | Show the active provider/model |
Beyond functions, the task pane has an agent: describe a change in plain English (“sum column B into D1, then highlight anything over 100”) and the model edits the sheet directly — reading and writing ranges, formulas, and formatting via tool-calling. Its toolset can be extended with remote MCP servers.
OpenRouter, Nebius, and local Ollama work directly from the browser. For providers that block browser calls, a small serverless proxy keeps your API keys server-side.