IP Library › Granted Patent US 12,481,837
Granted Patent B2
US 12,481,837 · App. 18/306,497 · Granted Nov 25, 2025

Prompt configuration for LLM integrations in spreadsheet environments

Inventors: Daniel Fabian (Wabern, CH); Alexander A. Babanov (Bothell, WA); Rasika Mudumbai Chakravarthy (Redmond, WA); Jakub Piotr Kotynia (Redmond, WA); Jason Christopher Tan (Woodinville, WA)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
G06F40/40G06F40/18G06F40/30
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,481,837
App. No.
18/306,497
Granted
Nov 25, 2025
Kind
B2
Abstract

Technology is disclosed herein for an application service which interfaces with an LLM service. In an implementation, the application service receives a natural language input from a user associated with a spreadsheet. The application service generates a prompt based on the user input and at least a portion of the spreadsheet. The prompt constrains the LLM service to a domain specific to the spreadsheet based on the portion and submits the prompt to the LLM service. The application service receives a reply to the prompt from the LLM service and responds to the input based on the reply from the LLM service.

Claims (48)

1 . A computing apparatus comprising:

one or more computer-readable storage media;

one or more processors operatively coupled with the one or more computer-readable storage media; and

program instructions stored on the one or more computer-readable storage media that, when executed by the one or more processors, direct the computing apparatus to at least:

receive, via a user interface of an application, a natural language input from a user associated with a spreadsheet;

identify a subset of data from the spreadsheet for a prompt to a large language model (LLM) service;

generate a mapping of cell addresses of the subset to different cell addresses of a second subset of the data to create the second subset;

generate the prompt based on the natural language input and the second subset, wherein the prompt constrains the LLM service to a domain specific to the spreadsheet;

submit the prompt to the LLM service;

receive a reply to the prompt from the LLM service; respond to the natural language input based on the reply from the LLM service receive, via the user interface, user input indicative of a selection of a spreadsheet formula suggested by the LLM service in the reply; and

recalculate the spreadsheet according to the spreadsheet formula.

2 . The computing apparatus of claim 1 , wherein create the second subset of the data, the program instructions further direct the computing apparatus to modify contents of cells of the subset for the second subset.

3 . The computing apparatus of claim 2 , wherein the cell addresses of the subset comprise row names and column names.

4 . The computing apparatus of claim 3 , wherein the program instructions further direct the computing apparatus to translate portions of the spreadsheet formula suggested by the LLM service that include the different cell addresses of the second subset to the cell addresses of the subset of the data according to the mapping.

5 . The computing apparatus of claim 4 , wherein the reply from the LLM service includes a plurality of suggested formulas for changing the spreadsheet and wherein the selection of the spreadsheet formula suggested by the LLM service comprises the selection of the spreadsheet formula suggested by the LLM service from among the plurality of suggested formulas.

6 . The computing apparatus of claim 5 , wherein the reply from the LLM service includes a self-evaluation of the spreadsheet formula suggested by the LLM service.

7 . The computing apparatus of claim 6 , wherein to respond to the natural language input based on the reply from the LLM service, the program instructions further direct the computing apparatus to determine, based on the self-evaluation provided by the LLM service, whether to display the spreadsheet formula suggested by the LLM service to the user.

8 . The computing apparatus of claim 6 , wherein the reply from the LLM service includes one or more of a calculated column and the spreadsheet formula.

9 . The computing apparatus of claim 8 , wherein the program instructions further direct the computing apparatus to:

analyze the spreadsheet formula to detect errors; and,

upon detecting an error in the spreadsheet formula, repair the spreadsheet formula.

10 . A method comprising:

receiving, via a user interface of an application, a natural language input from a user associated with a spreadsheet;

identifying a subset of data from the spreadsheet for a prompt to a large language model (LLM) service;

generating a mapping of cell addresses of the subset to different cell addresses of a second subset of the data to create the second subset;

generating the prompt based on the natural language input and the second subset, wherein the prompt constrains the LLM service to a domain specific to the spreadsheet;

submitting the prompt to the LLM service;

receiving a reply to the prompt from the LLM service;

receiving, via the user interface, user input indicative of a selection of a spreadsheet formula suggested by the LLM service in the reply; and

recalculating the spreadsheet according to the spreadsheet formula.

11 . The method of claim 10 , wherein to create the second subset of the data further comprises modifying contents of cells of the subset for the second subset.

12 . The method of claim 11 , wherein the cell addresses of the subset comprises row names and column names.

13 . The method of claim 12 , further comprising translating portions of the spreadsheet formula suggested by the LLM service that include the different cell addresses of the second subset to the cell addresses of the subset of the data according to the mapping.

14 . The method of claim 13 , wherein the reply from the LLM service includes a suggestion for changing the spreadsheet, wherein the suggestion includes one or more of a calculated column and the spreadsheet formula.

15 . The method of claim 14 , further comprising analyzing the spreadsheet formula to detect errors, and, upon detecting an error in the spreadsheet formula, repairing the spreadsheet formula.

16 . One or more computer-readable storage media having program instructions stored thereon that, when executed by one or more processors operatively coupled with the one or more computer-readable storage media, direct a computing device to:

receive, via a user interface of an application, a natural language input from a user associated with a spreadsheet;

identify a subset of data from the spreadsheet for a prompt to a large language model (LLM) service;

generate a mapping of cell addresses of the subset to different cell addresses of a second subset of the data to create the second subset;

generate the prompt based on the natural language input and the second subset, wherein the prompt constrains the LLM service to a domain specific to the spreadsheet;

submit the prompt to the LLM service;

receive a reply to the prompt from the LLM service;

receive, via the user interface, user input indicative of a selection of a spreadsheet formula suggested by the LLM service in the reply; and

recalculate the spreadsheet according to the spreadsheet formula.

17 . The one or more computer readable storage media of claim 16 , wherein to generate the prompt based on the natural language input and the second subset, the program instructions further direct the computing device to identify a sample of the spreadsheet on which to base the prompt.

18 . The one or more computer readable storage media of claim 17 , wherein prompt create the second subset of the data, the program instructions further direct the computing device to modify contents of cells of the subset for the second subset.

19 . The one or more computer readable storage media of claim 18 , wherein the program instructions further direct the computing device to translate portions of the spreadsheet formula suggested by the LLM service that include the different cell addresses of the second subset to the cell addresses of the subset of the data according to the mapping.

20 . The one or more computer readable storage media of claim 16 , wherein the reply from the LLM service includes a suggestion for changing the spreadsheet, wherein the suggestion includes a calculated column and the spreadsheet formula.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 25, 2023
From: FABIAN, DANIEL; BABANOV, ALEXANDER A.; MUDUMBAI CHAKRAVARTHY, RASIKA; KOTYNIA, JAKUB PIOTR; TAN, JASON CHRISTOPHER
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 063432/0073 →
Continuity (2)
Provisional Application 63489403 · Mar 9, 2023
Related Publication 20240303440A1 · Sep 12, 2024
References Cited (17)
US 10956433B2 · Singh · 2021 [cited by examiner]
US 11977835B2 · Dvorak · 2024 [cited by examiner]
US 11983553B2 · Bent, III · 2024 [cited by examiner]
US 12073180B2 · Tunstall-Pedoe · 2024 [cited by examiner]
US 20190220438A1 · Pal · 2019 [cited by examiner]
Maddigan, Paula, and Teo Susnjak, “Chat2VIS: Generating Data Visualisations via Natural Language using ChatGPT, Codex and GPT-3 Large Language Models”, Feb. 2023, arXiv preprint arXiv:2302.02094, pp. 1-15. (Year: 2023). [cited by examiner]
Joshi, Harshit, Abishai Ebenezer, José Cambronero, Sumit Gulwani, Aditya Kanade, Vu Le, Ivan Radiček, and Gust Verbruggen, “FLAME: A small language model for spreadsheet formulas”, Jan. 2023, arXiv preprint arXiv:2301.1… [cited by examiner]
Zhang, Shuo, Vugar Abdul Zada, and Krisztian Balog, “SmartTable: A Spreadsheet Program with Intelligent Assistance”, Jul. 2018, The 41st International ACM SIGIR Conference on Research & Development in Information Retrie… [cited by examiner]
“ChatGPT Und Excel”, accessed on link https://web.archive.org/web/20230306105400/https://excelhero.de/ki/chatgpt-und-excel/, Mar. 6, 2023, retrieved on May 3, 2024, 15 pages. [cited by applicant]
“Launching GRID 2.0: the magical surface for numbers”, accessed on link https://grid.is/blog/launching-grid-2-0-the-magical-surface-for-numbers, Feb. 14, 2023, 3 pages. [cited by applicant]
Anonymous: “Holy Google Sheets! You Can Now Integrate the ChatGPT APIH”, accessed on link https://ai.plainenglish.io/holy-google-sheets-you-can-now-integrate-the-chatgptapi-b401ac065844, Published on Mar. 8, 2023, retri… [cited by applicant]
Gislason, et al., “Generative AI and spreadsheets”, accessed on https://medium.grid.is/gpt-3-and-spreadsheets-4808acfda30d, Feb. 8, 2023, retrieved on May 3, 2024, 7 pages. [cited by applicant]
International Search Report and Written Opinion received for PCT Application No. PCT/US2024/018285 May 29, 2024, 14 pages. [cited by applicant]
McNutt, et al., “On the Design of AI-powered Code Assistants for Notebooks”, arXiv2301.11178, Jan. 26, 2023, 18 pages. [cited by applicant]
Ragavan, et al., “GridBook: Natural Language Formulas for the Spreadsheet Grid”, ACM, 2022, pp. 345-368. [cited by applicant]
Sarkar, et al., “What is it like to program with artificial intelligence?”, arXiv:2208.06213, Aug. 12, 2022, 26 pages. [cited by applicant]
International Preliminary Report on Patentability (Chapter I) received for PCT Application No. PCT/US2024/018285 Sep. 18, 2025, 08 pages. [cited by applicant]