Placeholder canvas

SheetMagic

Documentation

Documentation

Getting started

Install SheetMagic

Go to the official SheetMagic Google Sheets Addon and click install. Easy.

 

Create a copy of SheetMagic Starter Sheet

Our starter sheet is helpful because it gives easy access to all functions and our prompt library. Here’s how to access it:

  1. Click here to go to the starter sheet
  2. Go to File -> Make a copy to create a copy of the Sheet.

Create an OpenAI account and API key

In order to use SheetMagic, you’ll need to have an OpenAI account and create a new secret key for SheetMagic. Here’s how to do it:

  1. Go to OpenAI’s website and create an account (if you don’t have one already).
  2. Once you’re logged in, go to the API Keys page.
  3. Click on “New Secret Key” and give it a name like “SheetMagic”.
  4. Copy the API key that is generated.

IMPORTANT NOTE: You may need to add a card on file to the account first before creating an API key is an option!

Set your OpenAI API key & license key in SheetMagic

Now that you have an OpenAI API key, you’ll need to set it in SheetMagic. Here’s how:

  1. In your Google Sheet, click on Extensions -> SheetMagic -> Save OpenAI API Key to Google Account.
  2. Paste your API key in the dialog box and click “Save”.

NOTE: If you want to share your sheet with other teammates or contractors without giving them your API key, you can use the “Save OpenAI Key to Sheet” instead.

Next, we’ll also need to get our SheetMagic license key into the tool. Here’s how:

  1. Go to your SheetMagic account
  2. Click on the License Management tab
  3. Click copy on your license key
  4. Go back to your Google Sheet and go to Extensions -> SheetMagic -> Verify SheetMagic License Key and save your license key there.
 

Use SheetMagic in your Google Sheet

Congratulations! You’re now ready to start using SheetMagic. Here’s how to use it:

     

    1. In any cell in your Sheet, type =ai("your prompt here") to call ChatGPT.

    1. To use multiple cells in your prompt, separate them with commas. For example, =ai("the beginning of your prompt,", A3, A5).

    1. Press Enter and watch SheetMagic generate text based on your prompt!

Functions

All Functions Available

AI Functions What does it do?
=ai(“PROMPT”) Interact with your Google Sheets data with AI. You can select from GPT-3.5-Turbo, GPT-4, GPT-4-Turbo while using the AI function in the sidebar.
=aiimage(“PROMPT”, “SIZE”)

Generate an image based on a given prompt using the =aiimage() function. By default, the function creates a square image. To specify the image orientation, add a size parameter: “portrait”, “landscape”, or “square”.

Example usage: =aiimage("giraffe", "landscape")

TIP: If you want the image to show up in a cell (instead of the link to an image), you can use the =image() function on the image link that Dall-E generates.

=ailist(“List 10 books”, “gpt-4-turbo”, “horizontal”)

Use the =ailist function to easily generate lists with AI. By default, the function uses ‘gpt-3.5-turbo’ in a vertical format. Enter your list request as =ailist(“Your list prompt here”). For tailored outputs, you can customize the model to ‘gpt-4-turbo’ and adjust the orientation to ‘horizontal’ or other preferences as needed.

Tip: Copy & Paste as values after your list is created (CTRL + SHIFT + V) so you don’t lose it.

=gptv(“IMAGEURL”, “PROMPT”)

This uses the GPT Vision Model to describe an image URL. By default, if you just give this function an image URL, it will describe the image, but you can also add your own custom prompt if you’d like to have more customization.

For example, if your image URL was in cell A1, you’d type =GPTV(A1, “Tell me the animal in this photo”) or whatever your custom prompt may be.

Scraping Functions What does it do?
=visit(“URL”) Visits a URL and returns all of the content on that page (which you can then interact with using AI)
=serp(“SEARCH QUERY”, 20) By default, this will return the top 20 search results from DuckDuckGo in a table with the URL, meta title, and meta description.

You can change how many results you get back from the function by editing the number in the second half of the function. DuckDuckGo typically maxes out at around ~25 results.
=bulkserp(“SEARCH QUERY”) Gets top 5 search results from DDG and puts them horizontally.
=getMetaTitle(“URL”) This will return the meta title for a given URL
=getMetaDescription(“URL”) This will return the meta description for a given URL
=getH1(“URL”) This will return the H1 for a given URL.
=getH2(“URL”) This will return any H2s on a page for a given URL.
=getHeadings(“URL”) This will return all the headings on a page for a given URL.
=getp(“URL”) This will return all paragraphs wrapped in a <p> tag for a given URL.
=pagedata(“URL1”, “URL2”) This will get a lot of the page data listed above for a list of URLs and put it into an organized table for you.

Depreciated functions:

=ailong(), =ai16k(), =gpt4(), =gpt4t(), =gpt432k() have all been depreciated.

Please use the =ai() function and use the SheetMagic sidebar to select the model you'd like to use.

=ai("PROMPT")

This function is the core way you use AI in Google Sheets.

To interact with your spreadsheet, here's a basic example:

=ai("Summarize this information: ", A2)

This would summarize all the information in the cell A2.

You could also use a range of cells OR with multiple cells separated by commas. For example, you could type

=ai("Summarize this information: ", A2:A50)

or

=ai("Summarize this information: ", A2, B6)

This AI function will use whatever model you have selected in the sidebar. You can also enable safe mode to minimize errors (especially if you are getting a maximum execution time error.

=visit("URL")

This function will visit a URL and return all of the content on that page (which you can then interact with using AI).

For example, if you type into a cell:

=visit("https://www.hubspot.com/inbound-marketing")

It would return all of the content on that page in the cell,

This can be helpful for a wide variety of reasons, but as an example, you could use AI on the content to create a better blog post. You could use AI to extract the important topics your competitors talk about in their post or use AI to determine topics that they missed so you can create something more unique.

Opportunities are endless and you could use it for a wide variety of use cases - that is just a small one.

=serp("SEARCH QUERY")

This function will return the top 20 search results from DuckDuckGo in a table with the URL, meta title, and meta description.

For example, if you type into a cell:

=serp("Best running shoes for men")

It would return the top 20 search results for that search query:

=PageData("MULTIPLE URLS")

This function will get all sorts of page data for a list of URLs and put it into an organized table for you.

For example, if you type into a cell:

=pagedata("https://www.hubspot.com/", "https://callscaler.com")

It would scrape and return the URL, Meta Title, Meta Description, H1, all the headings shown on the page, and all the paragraphs on the page each into their own cell.

Other scraping functions

You can also use other scraping functions as well for specific parts about a page:

=getMetaTitle("URL")
This will return the meta title for a given URL

=getMetaDescription("URL")
This will return the meta description for a given URL

=getH1("URL")
This will return the H1 for a given URL.

=getH2("URL")
This will return any H2s on a page for a given URL.

=getHeadings("URL")
This will return all the headings on a page for a given URL.

=getp("URL")
This will return all paragraphs wrapped in a <p> tag for a given URL.

Videos

Are you a visual learner? No problem! Here are some videos to get you started!

First Time Setup Guide

Full SheetMagic Demo

Articles

Written guides on how to use SheetMagic

Common Errors

Unable to get a response from AI

We've recently updated this so that it outputs the exact error so that you can learn & fix the issue yourself. You may also see the message "An error occurred from OpenAIs side. This is not related to SheetMagic & the issue stems directly from your OpenAI account."

There are two typical errors in this situation...


Error #1: The model `gpt-4` does not exist or you do not have access to it

Fix: As of August 4, 2023, you fix this by going to your OpenAI billing settings and make sure you have a paid OpenAI account and paid at least $1 to OpenAI. If it's not working, check the OpenAI help article on how to get GPT-4 access as this may be more up to date as they make changes.


Error #2: You exceeded your current quota, please check your plan and billing details

Fix: To fix this, go your OpenAI billing settings and make sure you have a paid OpenAI account and paid at least $1 to OpenAI. If it's still not working, make sure you don't have any quota settings as that may make you hit your limit.


If you're still having trouble, please include a shareable link to your sheet in a support message so we can check the issue and let us know what error you're seeing.

#ERROR - Exceeded maximum execution time

Unfortunately Google Sheets has a hard limit of 30 seconds for each function to run, so if you try to create longer outputs it will not work because it takes too long and it will cause an error because of the Google Sheets limit.

Fix: Try enabling SAFE MODE in the SheetMagic sidebar and this will allow you to bypass the limit and also caches your results from the AI so you don't get charged twice.

I get a #NAME? error

Go to extensions and click "Use SheetMagic on this Sheet" to load SheetMagic, otherwise your Google sheet won't recognize custom functions.

Exception: Service invoked too many times for one day: urlfetch.

When scraping, SheetMagic does not have any limitations, however you may run into this limitation from Google for URL fetching.

The limit is set by Google on a per account basis. Consumer accounts (gmail) have a limit of 20,000 urlfetch calls per day, while business accounts (Google Workspace) can make up to 100,000 urlfetch calls daily.

Connect your email to get started with SheetMagic

Already have an account? Click here to login

Earn up to 40% lifetime recurring commissions with our affiliate program