---
title: "Connect Google Sheets and Tovuti LMS - APIANT.ai"
description: "When \"Aggregate Metric Changed\" fires in Google Sheets, your agent runs \"Create Event\" in Tovuti LMS."
canonical: "https://apiant.ai/connect/google-sheets-to-tovuti-lms"
---

# Connect Google Sheets and Tovuti LMS

When **Aggregate Metric Changed** fires in [Google Sheets](https://apiant.ai/connections/google-sheets), your agent runs **Create Event** in [Tovuti LMS](https://apiant.ai/connections/tovuti-lms), or **List Assignments** in Tovuti LMS to **Add Row** in Google Sheets. Describe the whole flow and it is built, tested on every scenario and kept running.

Google Sheets **16** triggers Google Sheets **46** actions Tovuti LMS **22** triggers Tovuti LMS **66** actions

What the catalog holds today. Ask for anything missing and your agent reads the API documentation and adds it.

## What do you want Google Sheets and Tovuti LMS to do together?

Give your AI client this address.

`https://mcp.apiant.ai`

One connection does both: ask your client to act in an app once, or have it build an automation that keeps running. Any client that takes a remote MCP server. Nothing to install. Create your free account, then sign in once in your browser.

### Set it up in your client

### Claude Code

Run this in the directory you want to work in.

`claude mcp add --transport http -s project apiant-ai https://mcp.apiant.ai`

Start Claude Code there, approve the server, and sign in in the browser page it opens.

[Claude Code guide (opens in a new tab)](https://apiant.ai/docs/mcp/claude-code)

### Claude, web and desktop

Open Customize, then Connectors, then Add custom connector, and paste the address. On Team and Enterprise an owner adds it first.

[Setup guide (opens in a new tab)](https://apiant.ai/docs/mcp)

### Cursor

Add the address to your MCP configuration as a server URL. Cursor signs you in in your browser.

[Setup guide (opens in a new tab)](https://apiant.ai/docs/mcp)

### Zed

Open Settings, then AI, then MCP Servers, then Add Server, then Add Remote Server.

[Setup guide (opens in a new tab)](https://apiant.ai/docs/mcp)

### Codex and the ChatGPT desktop app

Open Settings, then MCP servers, then Add server, and choose Streamable HTTP. From the terminal, Codex takes the address with its own add command and then signs you in.

[Setup guide (opens in a new tab)](https://apiant.ai/docs/mcp)

### Any other MCP client

Paste the address where the client asks for a remote MCP server URL, and name the server apiant-ai where it lets you. APIANT's skills reach the client over the same connection.

[Setup guide (opens in a new tab)](https://apiant.ai/docs/mcp)

Example flows

## What Google Sheets and Tovuti LMS can do together

### From Google Sheets to Tovuti LMS

- When **Aggregate Metric Changed** in Google Sheets then **Create Event** in Tovuti LMS
- When **Cell Range Values Changed** in Google Sheets then **Create Assignment** in Tovuti LMS

### From Tovuti LMS to Google Sheets

- When **List Assignments** in Tovuti LMS then **Add Row** in Google Sheets
- When **List Awards** in Tovuti LMS then **Create Multiple Spreadsheet Rows** in Google Sheets

Starting points drawn from the triggers and actions in the catalog today. Describe the flow you need, at any depth, and your agent builds it and tests every scenario before it ships.

Everything your agent can do with Google Sheets and Tovuti LMS

## Triggers and actions 38 triggers · 112 actions

- Trigger

**Aggregate Metric Changed**

Fires when an aggregate metric (sum/avg/count/…) over a column changes.

- Trigger

**Cell Range Values Changed**

Fires when the values in a specific cell range change.

- Trigger

**Conditional Format Rule Changed**

Fires when a conditional-format rule changes.

- Trigger

**Data Validation Rule Changed**

Fires when a data-validation rule changes.

- Trigger

**Developer Metadata Changed**

Fires when developer metadata changes.

- Trigger

**Filtered Range Values Changed**

Fires when the values in a filtered range change.

- Trigger

**New Rows**

Fires when new rows are appended to a Google Sheet.

- Trigger

**New Sheet Added**

Fires when a new sheet (tab) is added to a spreadsheet.

- Trigger

**New Spreadsheet Created**

Fires when a new spreadsheet is created in the account.

- Trigger

**Spreadsheet Metadata Changed**

Fires when spreadsheet metadata changes.

- Trigger

**Spreadsheet Properties Changed**

Fires when spreadsheet properties change.

- Trigger

**Spreadsheet Row Changed**

Fires when a row matching a query changes.

- Trigger

**Spreadsheet Search Match**

Fires when a spreadsheet matching search criteria is found.

- Trigger

**Table Query Result Changed**

Fires when the result of a SQL-style table query changes.

- Trigger

**Table Schema Changed**

Fires when a table's column schema changes.

- Trigger

**Worksheet Names Changed**

Fires when worksheet (tab) names change.

- Action

**Add Row**

Append a row to a Google Sheet

- Action

**Aggregate Column Data**

Read a range and compute an aggregate (sum|avg|min|max|count) over one column, skipping blank/non-numeric cells (so a header row is skipped automatically).

- Action

**Auto-Resize Rows or Columns**

Auto-fit row heights or column widths over an index range via autoResizeDimensions.

- Action

**Change Sheet Properties**

Update a worksheet's grid properties (row/column count) using an explicit field mask.

- Action

**Clear Basic Filter**

Remove the basic filter from a sheet via clearBasicFilter.

- Action

**Clear Spreadsheet Row(s)**

Clear the values in a range (formatting preserved).

- Action

**Copy Range**

Copy a source cell range to a destination range within the spreadsheet.

- Action

**Copy Worksheet**

Copy a worksheet into a destination spreadsheet.

- Action

**Create Chart**

Add a basic embedded chart (column/bar/line/etc.) built from a domain range and a series range on a sheet. Returns the new chartId.

- Action

**Create Conditional Formatting Rule**

Add a boolean conditional formatting rule (e.g. NUMBER_GREATER) that colors matching cells.

- Action

**Create Multiple Spreadsheet Rows**

Append many rows in one call.

- Action

**Create Spreadsheet**

Create a new Google Sheets spreadsheet with the given title.

- Action

**Create Spreadsheet Column**

Insert a blank column at a given index.

- Action

**Create Spreadsheet Row**

Append a single row of values to a sheet range.

- Action

**Create Spreadsheet Row at Top**

Insert a blank row just below the header (row 2), then write the given values into it in one operation.

- Action

**Create Worksheet**

Add a new worksheet (tab) to an existing spreadsheet.

- Action

**Delete Chart**

Delete an embedded chart via deleteEmbeddedObject.

- Action

**Delete Sheet**

Delete a worksheet from a spreadsheet by sheetId (gid).

- Action

**Delete Spreadsheet Row(s)**

Delete a contiguous block of rows by index.

- Action

**Find and Replace**

Find and replace text across the spreadsheet. Supply EXACTLY ONE scope: all_sheets=true OR sheet_id. Leave the other unset (do not pass all_sheets=false together with sheet_id).

- Action

**Find Spreadsheet**

Find spreadsheets by exact name via the Drive API (cross-host through the googlesheets connection).

- Action

**Find Worksheet**

Return the worksheet whose title matches the given title (sheet_id/index/found), reading the spreadsheet's sheet properties.

- Action

**Format Cell Range**

Apply background color and bold formatting to a cell range via repeatCell.

- Action

**Format Spreadsheet Row**

Apply a background color across an entire row via repeatCell over a row range.

- Action

**Get Conditional Format Rules**

List all conditional-format rules on each sheet (paired with the sheetId so a follow-up update can target a rule by index).

- Action

**Get Data Range**

Read all values in one or more ranges via batchGet.

- Action

**Get Data Validation Rules**

Read the data-validation rule set on every cell of a range (per-cell dataValidation, via includeGridData with a field mask).

- Action

**Get Many Spreadsheet Rows (Advanced)**

Read multiple ranges at once via batchGet.

- Action

**Get Row by ID**

Read a single row range. NOTE: Google Sheets has no row ID; the row number IS the identity.

- Action

**Get Sheet Names**

Return the titles of all sheets (tabs) in the spreadsheet.

- Action

**Get Spreadsheet by ID**

Fetch spreadsheet metadata (title, sheets, gids, grid properties).

- Action

**List Charts**

List all embedded charts (chartId + title) across every sheet in the spreadsheet.

- Action

**Lookup Spreadsheet Row**

Read a range and return the FIRST row whose cell at column_index equals match_value (Sheets has no server-side filter; this op filters the returned rows).

- Action

**Lookup Spreadsheet Rows (Advanced)**

Read multiple ranges via batchGet and return ALL rows whose cell at column_index equals match_value (Sheets has no server-side filter; this op filters the returned rows).

- Action

**Move Chart**

Reposition an embedded chart to a new overlay anchor cell via updateEmbeddedObjectPosition.

- Action

**Rename Sheet**

Rename a worksheet's title.

- Action

**Search Spreadsheets**

Search spreadsheets by name substring (or full-text) via the Drive API, cross-host through the googlesheets connection.

- Action

**Set Basic Filter**

Apply a basic filter to a range on a sheet via setBasicFilter.

- Action

**Set Data Validation**

Apply a ONE_OF_LIST dropdown data-validation rule to a cell range.

- Action

**Sort Range**

Sort a cell range by one column in ascending or descending order.

- Action

**Update Chart**

Replace an existing chart's spec (title, chart type, domain/series ranges) via updateChartSpec.

- Action

**Update Conditional Format Rules**

Replace an existing conditional-format rule (identified by its index on the sheet) with a new boolean rule.

- Action

**Update Data Validation Rule**

Overwrite the data-validation rule on a cell range with a ONE_OF_LIST dropdown (same endpoint as create; setDataValidation replaces whatever rule the range held).

- Action

**Update Spreadsheet Row**

Overwrite the values at a specific range.

- Action

**Update Spreadsheet Row(s)**

Update one or more disjoint ranges in a single batch.

- Action

**Upsert Row**

Read a range, find the row whose column_index cell equals match_value; UPDATE that row when found, otherwise APPEND a new row. One adaptive write request (method+path chosen by the match script).

- Trigger

**List Assignments**

Triggers when a new assignment is added in Tovuti, optionally limited to assignments matching the filters you set.

- Trigger

**List Awards**

Triggers when a new award (badge, milestone, or certificate) is added in Tovuti.

- Trigger

**List Awards Earned**

Triggers when a user earns an award, such as a badge, certificate or milestone, and returns the earned award with the user who received it.

- Trigger

**List Checklists**

Triggers when a new checklist is created in Tovuti, returning its title, due date, access settings and items.

- Trigger

**List Course Categories**

Triggers when a new course category appears in Tovuti, optionally limited to specific categories or titles.

- Trigger

**List Course Progresses**

Triggers when a learner gets a new course progress record, returning the learner, course, score, status and key dates.

- Trigger

**List Course Progresses (Alt)**

Triggers when a new course progress record appears for a user, with the user's name and the course title included.

- Trigger

**List Courses**

Triggers when a course appears in Tovuti LMS, returning the course with its category, pricing, access settings and custom fields.

- Trigger

**List Event Registrations**

Triggers when a new event registration is created, returning the registrant, event, payment and check-in details.

- Trigger

**List Events**

Triggers when a new event is added in Tovuti, returning the event's schedule, registration settings, counts and custom field values.

- Trigger

**List Lessons**

Triggers when a new lesson is added to Tovuti, with optional filters by course, title, language, teacher, publish status and dates.

- Trigger

**List Media Categories**

Triggers when a new media category is created in Tovuti.

- Trigger

**List Media Items**

Triggers when a new media item is added to your Tovuti media library, optionally limited by title, publish status or creation date.

- Trigger

**List Meetings**

Triggers when a new meeting is added in Tovuti, optionally limited by name, type, or meeting and creation dates.

- Trigger

**List Object Types**

Triggers when a new object type is added in Tovuti, returning its id, title and enabled status.

- Trigger

**List Profile Fields**

Triggers when a new custom profile field is added to your Tovuti account, returning the field's type, name, visibility and settings.

- Trigger

**List Quiz Results**

Triggers when a new quiz or assessment result is recorded, returning the learner, the score and whether they passed.

- Trigger

**List Quizzes**

Triggers when a new quiz is added in Tovuti, returning the quiz's details.

- Trigger

**List Subscriptions**

Triggers when a new subscription plan is added in Tovuti, returning the plan's title, pricing and availability.

- Trigger

**List Teams**

Triggers when a new team is created in Tovuti, optionally limited to specific teams, a title or a member type.

- Trigger

**List User Checklist Progress**

Triggers when a user's progress on a checklist item is recorded or changes, such as when an item is assigned or completed.

- Trigger

**List User Groups**

Triggers when a new user group is added in Tovuti, returning its title, parent group and member users.

- Action

**Create Assignment**

Creates an assignment that assigns or recommends courses or learning paths to users or user groups, and returns the new assignment.

- Action

**Create Award**

Creates a badge, certificate or milestone award in Tovuti and returns the new award.

- Action

**Create Checklist**

Creates a checklist in Tovuti with its due date, access restrictions and checklist items, and returns the new checklist.

- Action

**Create Course Category**

Creates a course category in Tovuti, optionally nested under a parent category and limited to chosen viewers. Returns the new category.

- Action

**Create Course Progress**

Creates a course progress record that tracks a user's progress through a course.

- Action

**Create Event**

Creates an event in Tovuti LMS and returns the new event, including its id, dates and registration settings.

- Action

**Create Lesson**

Creates a lesson in Tovuti, optionally placing it in a course and assigning its teachers, and returns the new lesson.

- Action

**Create Media Category**

Creates a media category in Tovuti, with its title, publishing status and who can access it.

- Action

**Create Meeting**

Creates a meeting in Tovuti LMS and returns the new meeting, including its join link details and access settings.

- Action

**Create Object**

Creates an object of a chosen object type in Tovuti, such as an organization, with its title, description, image and custom field values.

- Action

**Create Object Type**

Creates an object type in Tovuti LMS and returns the new object type.

- Action

**Create Quiz**

Creates a quiz or survey in Tovuti, optionally with its questions and assigned to a course or lesson. Returns the new quiz.

- Action

**Create Subscription**

Creates a subscription plan in Tovuti LMS with its title, pricing, billing period and availability, and returns the new plan.

- Action

**Create Team**

Creates a user team in Tovuti LMS, with its members, team leads and what those leads are allowed to manage. Returns the new team.

- Action

**Create User**

Creates a new user in Tovuti LMS, with optional user groups, teams, course enrollments, objects and profile fields, and returns the new user.

- Action

**Create User Group**

Creates a user group under a parent group in Tovuti, optionally adding users to it, and returns the new group.

- Action

**Event Registration**

Registers one or more existing users for a free event as individuals, optionally checking them in at the same time.

- Action

**Find Assignment**

Returns one assignment by its id, including its courses or learning paths, assigned users and groups, and dates.

- Action

**Find Assignments**

Returns the assignments that match the title, ids, dates, users, groups or teams you specify. Leave every filter blank to return all assignments.

- Action

**Find Award**

Returns one award, such as a badge, certificate, or milestone, by its ID, including its expiration settings, requirements, and recipients.

- Action

**Find Award Earned**

Returns the first award a user has earned that matches the given title, type or modified-date criteria, including when it was earned and when it expires.

- Action

**Find Awards**

Returns the awards that match the title, type, ids, or date filters you specify.

- Action

**Find Awards Earned**

Returns the awards users have earned across the account, matched by user, award title or type, group, team, or last-modified date.

- Action

**Find Checklist**

Returns a single checklist by its ID, including its items, access settings and due date details.

- Action

**Find Checklists**

Returns the checklists that match the title, ids, due dates, created dates or last-modified dates you specify.

- Action

**Find Course**

Returns a single course by its id, including its category, pricing, access settings and custom fields.

- Action

**Find Course Categories**

Returns the course categories that match a title, a set of category ids, or a last-modified date range.

- Action

**Find Course Category**

Returns a single course category by its ID, including its title, slug, parent category and visibility settings.

- Action

**Find Course Progress**

Returns one course progress record by its id, including the learner, the course, completed lessons, score, progress and status.

- Action

**Find Course Progress (Alt)**

Returns a user's course progress records, optionally narrowed to one course or lesson.

- Action

**Find Course Progresses**

Returns the course progress records that match the learner, course, lesson and date criteria you supply.

- Action

**Find Course Progresses (Alt)**

Returns course progress records across users, filtered by course title, user name, users, groups, teams, archived state, or started, last activity and completed dates.

- Action

**Find Courses**

Returns the courses that match the title, ids, categories, publication status or dates you specify.

- Action

**Find Event**

Returns one event by its id, including its schedule, registration counts and custom field values.

- Action

**Find Event Registration**

Returns the first event registration that matches the event, user, group, team, name or date criteria you specify.

- Action

**Find Event Registrations**

Returns the event registrations that match the search criteria, such as user name, event title, or user, group, team and event ids.

- Action

**Find Events**

Returns the events that match the criteria you supply, such as title, event ids, languages, or start, end, registration and modified dates.

- Action

**Find Lesson**

Returns one lesson by its id, including its course, teachers, activities and publish status.

- Action

**Find Lessons**

Returns the lessons that match the criteria you supply, such as title, course, teacher, language, publish status or date ranges.

- Action

**Find Media Categories**

Returns the media categories that match a title, a set of ids or a published status.

- Action

**Find Media Category**

Returns one media category by its id, including its title, parent category, published status and access settings.

- Action

**Find Media Item**

Returns one media item, such as a video, audio file, PDF or link, by its id.

- Action

**Find Media Items**

Returns the media items that match the title, ids, published status or creation dates you specify.

- Action

**Find Meeting**

Returns a single meeting by its numeric id, including its schedule, hosts, access settings and attendees.

- Action

**Find Meetings**

Returns the meetings that match the name, type, ids or date ranges you specify.

- Action

**Find Object**

Returns one object by its id, including its title, type, description and custom field values.

- Action

**Find Object Type**

Returns one object type by its id, including its title and whether it is enabled.

- Action

**Find Object Types**

Returns the object types that match a title, a list of ids or a last-modified date range.

- Action

**Find Profile Field**

Returns one custom user profile field definition, including its type, options and form settings.

- Action

**Find Profile Fields**

Returns the custom profile fields defined on user profiles in Tovuti that match the name, type, visibility, ids or modification dates you specify.

- Action

**Find Quiz**

Returns a quiz by its ID, including its settings, messages, questions, answer choices, and the course and lesson it belongs to.

- Action

**Find Quiz Result**

Returns one quiz or assessment result by its ID, including the score, pass status and the learner's answer to each question.

- Action

**Find Quiz Results**

Returns quiz and assessment results that match the criteria you give, such as the assessment, user, group, team, lesson, course or submission date. Each result is a summary with the score and pass status.

- Action

**Find Quizzes**

Returns the quizzes that match the title, course, lesson, status or last-modified date you specify.

- Action

**Find Subscription**

Returns one subscription plan by its ID, including its title, pricing, length, availability and user groups.

- Action

**Find Subscriptions**

Returns the subscription plans that match a title, a list of ids, or a last-modified date range.

- Action

**Find Survey Responses**

Returns the survey responses that match the survey, user, lesson, event, question or date criteria you specify.

- Action

**Find Team**

Returns one user team by its ID, including its members, team leads and what the leads are allowed to manage.

- Action

**Find Teams**

Returns user teams that match the title, team ids, member type, or created and modified dates you specify.

- Action

**Find User**

Returns one user by id, including their groups, teams, course enrollments, objects and custom profile field values.

- Action

**Find User Checklist Progress**

Returns learners' progress on their assigned checklist items, filtered by user, group, team, or assigned, created and modified dates.

- Action

**Find User Group**

Returns one user group by its id, including its name, parent group and the users in it.

- Action

**Find User Groups**

Returns the user groups that match the title, group, user, parent, hierarchy range or modified date you specify.

- Action

**Subscribe**

Subscribes one or more existing users to a subscription plan. For a paid plan, subscribes a single user and records the payment they made outside Tovuti.

- Action

**Unsubscribe**

Removes one or more users from a free subscription plan.

- Action

**Update User**

Updates an existing user's profile, password, status, group and team memberships, course enrollments, associated objects and custom profile fields. Returns the updated user.

## Each app on its own

- [ **Google Sheets** Google Sheets is Google's online spreadsheet app for creating, editing and sharing spreadsheets.](https://apiant.ai/connections/google-sheets)
- [ **Tovuti LMS** Tovuti is an all-in-one, cloud-based learning management system.](https://apiant.ai/connections/tovuti-lms)

Reviews

## What our customers say

## More from Google Sheets

- [ **Google Sheets to Stripe** Stripe is a payment processing platform for online businesses.](https://apiant.ai/connect/google-sheets-to-stripe)
- [ **Google Sheets to QuickBooks Online** QuickBooks Online accounting — manage customers, invoices, bills, payments, vendors, expenses, and more via...](https://apiant.ai/connect/google-sheets-to-quickbooks-online)
- [ **Google Sheets to Notion** A new tool that blends your everyday work apps into one. It's the all-in-one workspace for you and your team.](https://apiant.ai/connect/google-sheets-to-notion)
- [ **Google Sheets to Airtable** Organize anything with Airtable, a modern database created for everyone.](https://apiant.ai/connect/google-sheets-to-airtable)
- [ **Google Sheets to Trello** Trello is a visual collaboration tool that organizes projects into boards, lists, and cards.](https://apiant.ai/connect/google-sheets-to-trello)
- [ **Google Sheets to Intercom** Intercom is a customer communications platform for support, engagement, and marketing.](https://apiant.ai/connect/google-sheets-to-intercom)

## More into Tovuti LMS

- [ **HubSpot to Tovuti LMS** HubSpot is your all-in-one stop for all of your marketing software needs.](https://apiant.ai/connect/hubspot-to-tovuti-lms)
- [ **Salesforce to Tovuti LMS** Salesforce is a leading enterprise customer relationship management (CRM) platform.](https://apiant.ai/connect/salesforce-to-tovuti-lms)
- [ **Slack to Tovuti LMS** Slack is a messaging platform for teams. Post messages, manage channels, users, reminders, and react to...](https://apiant.ai/connect/slack-to-tovuti-lms)
- [ **Gmail to Tovuti LMS** Gmail is Google’s email service, featuring spam protection, search functions, and seamless integration with...](https://apiant.ai/connect/gmail-to-tovuti-lms)
- [ **Google Calendar to Tovuti LMS** Google Calendar is a time management tool providing scheduling features, event reminders, and integration...](https://apiant.ai/connect/google-calendar-to-tovuti-lms)
- [ **Google Drive to Tovuti LMS** Google Drive is a cloud storage solution for uploading, sharing, and collaborating on files across devices...](https://apiant.ai/connect/google-drive-to-tovuti-lms)

Questions

## Google Sheets and Tovuti LMS, answered

###

### What can start an automation from Google Sheets?

Any of Google Sheets's 16 triggers in the catalog, including Aggregate Metric Changed, Cell Range Values Changed, Conditional Format Rule Changed and Data Validation Rule Changed. Describe the moment in plain language and your agent picks the right one.

###

### What can your agent do in Tovuti LMS when something happens in Google Sheets?

Any of Tovuti LMS's 66 actions, including Create Assignment, Create Award, Create Checklist and Create Course Category. Your agent maps the data both ways and tests every scenario before it ships.

###

### Can it also run from Tovuti LMS to Google Sheets?

Yes. When something happens in Tovuti LMS, your agent can act in Google Sheets too. This page covers both directions: Tovuti LMS's triggers and Google Sheets's actions are listed here as well.

###

### Do I have to build a connector for Google Sheets or Tovuti LMS?

No. Both are in the catalog with their triggers and actions. You describe the automation; your agent builds it, tests every scenario and keeps it running.

###

### Can my AI client use Google Sheets and Tovuti LMS without building an automation?

Yes. With your AI client connected to APIANT, ask it to do something in either app once and it runs that action on the spot. Ask for an automation and your agent builds it, tests every scenario and keeps it running. One connection covers both.

###

### What happens when something fails?

Your agent works that out for you. It plans the failure paths along with the happy path, then tests every scenario before it ships.

###

### Is there a free plan?

Yes. Every plan includes the agent, including free, and building from your own AI client spends no assistant credits.
