# Introduction

Check Sheet is a Google Sheets app that can send notifications when certain conditions in your spreadsheet are met.

You can use it for almost anything but a few examples are:

* Email a colleague when a task is assigned to them
* Post in a team Slack channel when a sales target is hit
* Send an alert to a Google Chat space when stock levels are low
* Email a client to remind them a payment is due tomorrow
* Update a Microsoft Teams channel when a form submission is received
* Email yourself when a stock price drops below a certain price

Get started by [installing it for free](/installing)


# Installing

You can install Check Sheet as an app available in all of your spreadsheets for free from the Google Workspace Marketplace:

[**Install Now**](https://workspace.google.com/marketplace/app/check_sheet_notifications/239755856136)


# Getting Started

Check Sheet allows you to create ["checks" ](/concepts/checks)for your spreadsheets that will monitor it for changes and if the ["condition"](/concepts/conditions) you define matches it will send you a notification.

Before you get started with creating your first check we recommened familiarising yourself with some of the key concepts in the app, starting first with ["checks"](/concepts/checks).

### Opening the App

To create your first check open the app from one of your spreadsheets by clicking on the Check Sheet logo in the sidebar on the right of your screen.

<div align="left"><figure><img src="/files/Pcy48x8Zcjl4xDIjHTcT" alt="" width="200"><figcaption></figcaption></figure></div>

### Can't find the app?

If you can't see the app in your sidebar you may need to refresh the spreadsheet you have open for it become visible.

If you can't see this sidebar at all you may need to click the arrow to make it visible in the very bottom right hand corner of your screen:<br>

<div align="left"><figure><img src="/files/mUheFnb7G8inNivYoSgX" alt="" width="202"><figcaption></figcaption></figure></div>

{% hint style="info" %}
If you have a small screen or several other apps installed you may need to click the three horizontal dots button near the bottom of the sidebar to find our app:
{% endhint %}

<div align="left"><figure><img src="/files/KuVYv5UL7F3dP5fmkK14" alt="" width="199"><figcaption></figcaption></figure></div>

<br>


# Checks

Everything in Check Sheet is based upon "checks", a check will monitor your spreadsheet for changes in the background and send you notifications if a certain condition is met.

You can create several checks and we will evaluate the state of your checks whenever:

* Your spreadsheet is updated
* A form that is linked to your spreadsheet is submitted
* Approximately once per hour

When creating a check you specify the range of cells that you want to monitor which can be a single cell such as `A1`or an entire column such as \`B:B\`.

In addition to the range you also specify a "condition" that we will evaluate against each of the cells in your range such as is the value equal to the text "Done" or is it greater than 5. If a cell in your monitored range is modified and matches your condition it may trigger a notification to be sent.

Check Sheet will remember the positions of the cells in your spreadsheet that match the condition of your check so you won't be sent a notification more than once about the same cell.

When configuring the [notifications](/concepts/notifications) for your check you can choose whether you want to be sent a notification every time a new value is found to match your condition or just the first time only.


# Conditions

You can create checks on your spreadsheet data based on a variety of conditions. The conditions you can use depends upon the type of data that you are checking.

## Numbers

For cells containing numbers you can define checks to see if they are:

* Valid Number
* Not Valid Number
* Empty
* Not Empty
* Equal To
* Not Equal To
* Greater Than
* Greater Than Or Equal To
* Less Than
* Less Than Or Equal To
* One Of ([CSV](https://en.wikipedia.org/wiki/Comma-separated_values) list of values to compare against)
* Not One Of ([CSV](https://en.wikipedia.org/wiki/Comma-separated_values) list of values to compare against)
* Matches Regex ([JavaScript RegExp](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions) to test the value)
* Between (inclusive range of values as a [CSV](https://en.wikipedia.org/wiki/Comma-separated_values), e.g. `1,5` means between 1 and 5)

## Text

For cells containing text you can define checks to see if they are:

* Empty
* Not Empty
* Equal To
* Not Equal To
* Starts With
* Ends With
* Contains
* Does Not Contain
* One Of ([CSV](https://en.wikipedia.org/wiki/Comma-separated_values) list of values to compare against)
* Not One Of ([CSV](https://en.wikipedia.org/wiki/Comma-separated_values) list of values to compare against)
* Matches Regex ([JavaScript RegExp](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions) to test the value)

## Dates

For cells containing dates you can define checks to see if they are:

* Yesterday
* Today
* Tomorrow
* Equal To
* Not Equal To
* Before
* After


# Values

The value(s) that your check condition is evaluated against can be one of three types as listed below.

It's important to note that when evaluating your checks we use the raw value from the spreadsheet, without any formatting applied. For example if you have a cell with a price in that you have formatted as a currency when entering the value you should not include this formatting, just the raw numeric value.

## Text

Any piece of text.

* **Example**: banana
* **Example**: multiple words

## Number

Any integer or decimal.

* **Example**: 5
* **Example**: 9.99

## Range

A reference to a a single cell or range of cells using [A1 notation](https://developers.google.com/sheets/api/guides/concepts#a1_notation) that is prefixed with an equals sign.

* **Example**: =A1
* **Example**: =C1:C10


# Notifications

You can set up your checks to send notifications to one or many [targets](#targets) via Email, Slack, Microsoft Teams, Discord or Google Chat. To add notifications to a check click the `Add` button under `Notifications` at the bottom of the create/edit check window.

If you are checking a range of cells you can choose whether to receive a notification just the first time a check matches or each time a new match is found. For example if you had a column with stock statuses you could either receive a notification just the first time a value goes from "In Stock" to "Out of Stock" or each time that occurs.

* [Targets](#targets)
  * [Email](#email)
  * [Slack](#slack)
  * [Microsoft Teams](#teams)
  * [Discord](#discord)
  * [Google Chat](#google-chat)
* [Values in Notifications](#values-in-notifications)
* [Dynamic Notifications Targets](#dynamic-notification-targets)
* [Customising Notifications](#customising-notifications)
  * [Subject](#subject)
  * [Content](#content)
  * [Variables](#variables)
  * [Formatting](#formatting)

## Targets

The target is where your notification will be sent to and can be one of the following. If you would to see another type of target supported please [contact us](mailto:support@checksheet.app?subject=Targets).

### Email

Notifications can be sent via email to yourself, your team or anyone you want by specifying the email address as the notification target.

To add multiple Email notifications add each email address on a separate line when typing into the text box by pressing the enter key.

### Slack

Notifications can be sent to a Slack channel by creating a "webhook" which you can do for free in a few minutes. You can [follow this guide](https://api.slack.com/messaging/webhooks#getting_started) to set up your webhook then you just need to copy the URL that Slack generates and use that as the notification target. It should look something like: `https://hooks.slack.com/services/...`

To add more than one Slack notification add each URL on a separate line when typing into the text box by pressing the enter key.

### Teams

Notifications can be sent to a Microsoft Teams channel via their simple and free to install Incoming Webhooks connector. You can [follow this guide](https://docs.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook#add-an-incoming-webhook-to-a-teams-channel) to set up your webhook then you just need to copy the URL that Microsoft generates and use that as the notification target.

To add more than one Microsoft Teams notification add each URL on a separate line when typing into the text box by pressing the enter key.

### Discord

Notifications can be sent to a Discord channel via their free to use webhook integration system. You can [follow this guide](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks) to set up your webhook then you just need to copy the URL that Discord generates and use that as the notification target. It should look something like: `https://discordapp.com/api/webhooks/...`

To add more than one Discord notification add each URL on a separate line when typing into the text box by pressing the enter key.

### Google Chat

Notifications can be sent to a Google Chat space via their free to use webhook integration system. You can [follow this guide](https://developers.google.com/chat/how-tos/webhooks#step_1_register_the_incoming_webhooks) to set up your webhook then you just need to copy the URL that Google generates and use that as the notification target. It should look something like: `https://chat.googleapis.com/v1/spaces/...`

To add more than one Google Chat notification add each URL on a separate line when typing into the text box by pressing the enter key.

**Note**: At present only [Google Workspace](https://workspace.google.com/pricing.html) accounts (paid) can use webhooks with Google Chat.

## Values in Notifications

By default notifications will only include a reference to the [A1 notation](https://developers.google.com/sheets/api/guides/concepts#a1_notation) of the cell(s) that were found to match your check.

If you want to include matching values from your spreadsheet you can enable the `Include Values` setting for your notification as shown in the screenshot below.

<div align="left" data-full-width="false"><figure><img src="/files/TdCWYo6pKIR5c5E5mwvL" alt="" width="533"><figcaption></figcaption></figure></div>

> ℹ️ This feature requires a [paid subscription](https://checksheet.app/pricing/)

## Dynamic Notification Targets

If you wish to set the notification target based on a value in your spreadsheet you can do so using dynamic notification targets.

Dynamic notification targets work by specifying the cell or range of cells that the target should be retrieved from using [A1 notation](https://developers.google.com/sheets/api/guides/concepts#a1_notation).

To set the notification target based on a single cell such as `C4` you would set your notification target to: `=C4`.

To set the notification target based on a range of cells such as a column you need to specify a range that matches the size of the range of your check. For example if your check was evaluating if any value in the range `A2:A` was greater than 10 you could set the notification target to retrieve the email addresses stored in column B by setting the target to `B2:B` which is a range of equivalent size. The corresponding cell will be selected and the notification sent to the value of that cell. Using the same example if a new match was found in `A10` then the notification would be sent to the value of the cell `B10`.

> ℹ️ This feature requires a [paid subscription](https://checksheet.app/pricing/)

## Customising Notifications

For some use cases you may want to customise the content of our notifications to include things such as the matching values or format them differently so they can be sent to third parties.

> ℹ️ This feature requires a [paid subscription](https://checksheet.app/pricing/)

### Subject

For Email notifications this is the subject of the Email, for Slack, Microsoft Teams, Discord or Google Chat this is the value used to summarise the message used in push notifications.

### Content

This is main content or body of the Email, Slack, Microsoft Teams, Discord or Google Chat message.

### Variables

A variable is a way to substitute data into the [subject](#subject) or [content](#content) of the notification. All variables are wrapped with curly brackets with the name of the variable in the middle like so: `{{ name }}`

When the notification is sent these variables will be replaced with their corresponding values.

The following variables are available, if there's something else you need please [contact us](mailto:support@checksheet.app?subject=Variables).

#### **Spreadsheet**

\
`{{ spreadsheet }}` - The name of the Spreadsheet\
`{{ sheet }}` - The name of the Sheet the Check is on\
`{{ url }}` - A link to the Spreadsheet

#### **Check**

\
`{{ check }}` - The name of your Check\
`{{ description }}` - A description of what your Check does\
`{{ range }}` - The range or cell your Check is on\
`{{ when }}` - What set of cells must match if the range contains multiple\
`{{ expected }}` - The expected value of your check\
`{{ condition }}` - The condition your check must meet

#### **Data**

\
`{{ time }}` - The time the match was found\
`{{ cell }}` - The [A1](https://developers.google.com/sheets/api/guides/concepts#a1_notation) position of the new match found\
`{{ value }}` - The value of the new match found\
`{{ row }}` - The values of the entire row the match was found in [CSV](https://en.wikipedia.org/wiki/Comma-separated_values) format\
`{{ column:A }}` - The value of one of the columns in the matching row\
`{{ A1:A10 }}` - The value(s) of any cell or range provided using [A1 notation](https://developers.google.com/sheets/api/guides/concepts#a1_notation)

For example, to create a notification with the following content for a check that was monitoring when a stock price exceeded a threshold:

```liquid
A new match was found in A2 for Sell in Stocks at 17:44:30.

Name: GOOG
Target: 100
Price: 105
```

You would use variables like so, in this example the column `A` contains the name of the stocks:

```liquid
A new match was found in {{ cell }} for {{ check }} in {{ spreadsheet }} at {{ time }}.

Name: {{ column:A }}
Target: {{ expected }}
Price: {{ value }}
```

## Formatting

You can apply formatting to the content of your notifications such as highlighting key information in **bold**.

What formatting options are available depend on the type of notification you can sending:

### Email

You can use [Markdown](https://www.markdownguide.org/basic-syntax/) or [HTML](https://developer.mozilla.org/en-US/docs/Web/HTML) to format the content of notification emails.

HTML:

```html
<p>
    <b>New Value:</b> {{ value }}
</p>

<p>
    <a href="{{ url }}">View Spreadsheet</a>
</p>
```

Markdown:

```markdown
**New Value:** {{ value }}

[View Spreadsheet]({{ url }})
```

### Slack

You can use a [subset of Markdown](https://api.slack.com/reference/surfaces/formatting#visual-styles) that Slack supports to format the content of notification messages.

### Microsoft Teams

You can use [Markdown](https://support.microsoft.com/en-us/office/use-markdown-formatting-in-teams-4d10bd65-55e2-4b2d-a1f3-2bebdcd2c772#ID0EBBD=Desktop) to format the content of notification messages.

### Discord

You can use [Markdown](https://support.discord.com/hc/en-us/articles/210298617-Markdown-Text-101-Chat-Formatting-Bold-Italic-Underline-) to format the content of notification messages.

### Google Chat

You can use [basic HTML](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting) to format the content of notification messages.


# Creating a Check

To create your first check open the Check Sheet app from one your spreadsheets as described in [Getting Started](/getting-started).

<div align="left"><figure><img src="/files/ttxPVP7NSvAHhnbEljaK" alt="" width="200"><figcaption></figcaption></figure></div>

You can then edit one of the example checks we've provided or click the green `Add Check` at the bottom of the app. If you have already created a check in this spreadsheet you'll see a green `Add` button at the top of your list of checks.

You'll then be presented with a blank form as shown below that allows you to enter the details of your check.

A check is made up of the following properties:

* **Name**: The name of your check, this will be shown in notifications
* **Sheet**: The sheet which contains the data you want to check
* **Range**: The single cell or range of multiple cells you want to check, specified in [A1 notation](https://developers.google.com/sheets/api/guides/concepts#a1_notation)
* **When**: The set of cells that must match if the range contains multiple, not visible for single cell ranges
* **Is**: The condition [condition](#conditions) that must be met for your check
* **Value**: The value you expect your condition to match against, it can be one of these [types](#values) and isn't visible for some conditions

A check can have many [notifications](#notifications) which have the following properties:

* **For**: For checks that contain a range of multiple cells this controls whether a notification will be sent for just the first match this is found or for every new match.
* **Send**: The [type of notification](#notifications) to send
* **Target**: The location the notification should be sent to, it can either be a static value such as an email address or a [dynamic target](#dynamic-notification-targets) i.e. a value retrieved from your spreadsheet


# Editing a Check

To edit a check, open Check Sheet and you should see a list of your checks.

Click the yellow `Edit` button on the check you want to edit and the check details will appear, don’t forget to hit save when you are done.


# Deleting a Check

To delete a check open Check Sheet and you should see a list of your checks.

Click the yellow `Edit` button on the check you want to delete and then the red `Delete` button at the bottom of the screen.


# Pausing a Check

If you wish to temporarily turn off a check without deleting it, open the check for editing as described in [Editing a Check](/workflows/editing-a-check)  and use the Paused checkbox to stop Check Sheet from monitoring this check.


# FAQ

Here are some frequently asked questions about Check Sheet and Google Sheets.

### Check Sheet

* [How do I install Check Sheet?](/faq/how-do-i-install-check-sheet)
* [How do I upgrade my subscription?](/faq/how-do-i-upgrade-my-subscription)
* [How do I update my payment method?](/faq/how-do-i-update-my-payment-method)
* [How can I resubscribe to email notifications?](https://checksheet.app/how-can-i-resubscribe-to-email-notifications/)
* [How do I cancel my subscription](/faq/how-do-i-cancel-my-subscription)
* [How do I delete my account?](/faq/how-do-i-delete-my-account)
* [How do I see how many checks I have?](/faq/how-do-i-see-how-many-checks-i-have)

### Google Sheets

* [Can Google Sheets send notifications to other users?](/faq/can-google-sheets-send-notifications-to-other-users)


# How do I install Check Sheet?

You can install Check Sheet as an app for Google Sheets for free from the [Google Workspace marketplace](https://workspace.google.com/marketplace/app/check_sheet_notifications/239755856136).

You can install the app for your account or if you are an admin of a Google Workspace you can install it for your entire organisation or “domain”.

Once you have installed the app it should appear in the sidebar on the right hand side of all of your spreadsheets.

<div align="left"><figure><img src="/files/pxl7AN7HwXij5uvqYiYd" alt="" width="413"><figcaption></figcaption></figure></div>

For more information you can check out our [getting started guide](https://checksheet.app/getting-started/).


# How do I upgrade my subscription?

You can upgrade to one of our [paid subscription plans](https://checksheet.app/pricing/) from within the Check Sheet app in one of your spreadsheets.

1. Open the Settings by clicking the three vertical dots at the top right of the app.\
   \
   ![](/files/rXkQFdvSPC2lfsPHsiMp)<br>
2. Click the `Upgrade` button button next to your current plan.\
   \
   ![](/files/AaVK93IfdAaiRLAnWIxp)<br>
3. A popup window should open showing the pricing and allowing you to complete your upgrade.<br>
4. If the popup window doesn’t open check your browser hasn’t blocked it, this will usually be indicated at the top of your browser window.


# How do I update my payment method?

You can update your payment method from within the Check Sheet app in one of your spreadsheets.

1. Open the Settings by clicking the three vertical dots at the top right of the app.\
   \
   ![](/files/dtZy4WJu426guR8bsH8r)\ <br>

2. Click the `Update` button next to your current payment method.\
   \
   ![](/files/zWjc2By1LqhyYVP3Y49k)

3. A new tab should open allowing you to update your payment method securely.\ <br>

4. If the new tab doesn’t open check your browser hasn’t blocked it, this will usually be indicated at the top of your browser window.


# How do I cancel my subscription

If you wish to cancel a paid Check Sheet subscription you can do this from within the app.<br>

1. Open the Settings by clicking the three vertical dots at the top right of the app.\
   \
   ![](/files/8OwWmXLyYrgf5qz2jh1r)<br>
2. Click the red `Cancel` button in the Subscription section\
   \
   ![](/files/gyaEwINt6LF2JmvPE5Ck)<br>
3. Optionally provide us with some feedback on why you are cancelling then click the `Cancel Subscription` button at the bottom of the screen\
   \
   ![](/files/x6uw0fyWTMze4Xi2cHZ5)<br>
4. This should trigger a popup window where you can confirm your cancellation\
   \
   ![](/files/qWFtxH3rTfD7JqzgtMey)
5. If you have any issues with this process please email us at <support@checksheet.app> and we can help you&#x20;


# How do I delete my account?

If you wish to completely delete your Check Sheet account you can do so from within the app.

1. ⚠️ If you have a paid subscription that you also wish to cancel you should do this *before* deleting your account: [How do I cancel my subscription](/faq/how-do-i-cancel-my-subscription)<br>
2. Open the Settings by clicking the three vertical dots at the top right of the app.\
   \
   ![](/files/8OwWmXLyYrgf5qz2jh1r)<br>
3. Scroll down to the bottom of the screen and click the `Delete Account` button\
   \
   ![](/files/rp7zdgFHzDBFFZBaKSwA)<br>
4. Confirm you want to delete your account, **this process cannot be reversed**\
   \
   ![](/files/1gjYLd0Rw1adcvel4Qf1)<br>
5. If you have any issues with this process you can email us at <support@checksheet.app>


# How do I see how many checks I have?

You can see how many checks you have within the Check Sheet app in one of your spreadsheets.

1. Open the Settings by clicking the three vertical dots at the top right of the app.\
   \
   ![](/files/dtZy4WJu426guR8bsH8r)

2. Look at the `Usage` section where you can see how many checks you have in total and in how many different spreadsheets those checks reside.\
   \ <img src="/files/EBpUqMfkxOHPpfXKj57D" alt="" data-size="original">

3. If you click the `View` button next to the count of spreadsheets you can see a breakdown of how many checks you have in each spreadsheet.\
   \
   ![](/files/bUFQEqMfEmcI1xazuIvH)


# Can Google Sheets send notifications to other users?

There are a few different types of notifications for Google Sheets that you can set up, here we’ll be focussing on [notifications for when your spreadsheet is updated](https://checksheet.app/blog/google-sheets-notifications/#notifications-when-a-spreadsheet-is-updated).

The built-in notification functionality **only allows sending notifications to yourself**, not to other users.

To send notifications to other users you **need to use an app like Check Sheet** or write some code using [Apps Script](https://developers.google.com/apps-script).

Using [Check Sheet](https://workspace.google.com/marketplace/app/check_sheet_notifications/239755856136) you can send notifications to multiple email addresses, Slack channels, Microsoft Teams channels, Discord channels or Google Chat spaces based on a variety of [conditions](https://documentation.checksheet.app/concepts/conditions).

You can [Install Check Sheet](https://workspace.google.com/marketplace/app/check_sheet_notifications/239755856136) for free from the Google Workspace Marketplace and learn more about how it works by reading [our documentation](https://documentation.checksheet.app/concepts/checks).

<div align="left"><figure><img src="/files/xaJKktlFrjlkBHIYBY0G" alt="" width="450"><figcaption></figcaption></figure></div>


# Examples

Here are some examples of how you can set up Checks to solve some common problems.

* [Checking when a single cell value is updated](https://checksheet.app/google-sheets-notifications-when-cell-value-changed/)
* [Checking when a range of cells is updated](https://checksheet.app/google-sheets-notifications-when-range-of-cell-values-change/)
* [Checking when a column is updated](https://checksheet.app/getting-notified-when-a-column-is-updated-in-google-sheets/)
* [Checking when a row is updated](https://checksheet.app/getting-notified-when-a-row-is-updated-in-google-sheets/)
* [Checking when a row is added](https://checksheet.app/getting-notified-when-a-new-row-is-added-in-google-sheets/)


# Limits

What limits apply to your usage of Check Sheet.

We offer a free version of our app that you can use for as long as you like with some limitations placed on your usage and certain features only available on paid plans, this enables us to cover our running costs and fund future improvements. We reserve the right to change these at any time but will do our best to give you notice of any changes that might affect your usage of Check Sheet.

### Spreadsheets

You can use Check Sheet in as many spreadsheets as you like.

### Checks

You can create 1 check on our free plan, if you reach this limit you will need to either delete your existing check before you can add a new one or upgrade to one of our paid plans.

### Notifications

You can send up to 500 notifications per month on our free plan. If you wish to send more than this you will need to upgrade to a [paid subscription plan](https://checksheet.app/pricing/).

This limit will reset monthly, any remaining allowance will not rollover. You can view your remaining allowance for this month from the Check Sheet > Settings screen, accessible from the drop down menu within the Check Sheet app.

### Google

Our application is also subject to the following [quotas and limits](https://developers.google.com/apps-script/guides/services/quotas) enforced by Google. For typical usage patterns they are unlikely to affect you but they are listed here for transparency.


