# Google Classroom

Your Toolhouse AI Worker can connect to Google Classroom using 62 specialized tools.

## Auth Connection

This service requires an auth connection to use its tools. You can set this up in your Toolhouse dashboard under [Auth Connections](https://toolhouse.app/auth-connections?authkit_slugs=google_classroom).

## Tools (62)

### `Google Classroom Courses Aliases Create`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_ALIASES\_CREATE**

Tool to create an alias for a course. Use when you need to add an alternative identifier to a course after confirming the course ID.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example                     | Description                                                                                                                                                                                                                                       |
| ---------- | ------ | :------: | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `alias`    | string |     ✅    | `"p:test_alias_history301"` | The alias to create. Must be unique within its scope and cannot exceed 256 characters. Domain-scoped aliases (prefix 'd:') can only be created by domain administrators. Project-scoped aliases (prefix 'p:') can be created by any project user. |
| `courseId` | string |     ✅    | `"835614853904"`            | Identifier of the course. This may either be the Classroom-assigned identifier or an alias.                                                                                                                                                       |

***

### `Google Classroom Courses Aliases Delete`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_ALIASES\_DELETE**

Tool to delete an alias of a course. Use when you need to remove an alias from a course after confirming the course ID and alias name.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example          | Description                                                                                 |
| ---------- | ------ | :------: | ---------------- | ------------------------------------------------------------------------------------------- |
| `alias`    | string |     ✅    | `"p:test_alias"` | The alias to delete. This may not be the Classroom-assigned identifier.                     |
| `courseId` | string |     ✅    | `"1234567890"`   | Identifier of the course. This may either be the Classroom-assigned identifier or an alias. |

***

### `Google Classroom Courses Aliases List`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_ALIASES\_LIST**

Tool to list aliases for a course. Use when you need to retrieve all aliases associated with a specific course.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter   | Type    | Required | Example                                 | Description                                                                                                                |
| ----------- | ------- | :------: | --------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| `courseId`  | string  |     ✅    | `"835614853904"`                        | Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.                     |
| `pageSize`  | integer |          | `10`                                    | Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum.                     |
| `pageToken` | string  |          | `"Cg0KC2NvdXJzZVRva2VuEjgKIghhYmNkZWY"` | nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. |

***

### `Google Classroom Courses Announcements Create`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_ANNOUNCEMENTS\_CREATE**

Tool to create an announcement in a course. Use after confirming the course ID is valid.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                   | Type   | Required | Example                          | Description                                                                 |
| --------------------------- | ------ | :------: | -------------------------------- | --------------------------------------------------------------------------- |
| `text`                      | string |          | `"Welcome to the new semester!"` | The text content of the announcement.                                       |
| `state`                     | string |          | `"DRAFT"`                        | State of the announcement; if omitted defaults to PUBLISHED.                |
| `courseId`                  | string |     ✅    | —                                | Identifier of the course.                                                   |
| `materials`                 | array  |          | —                                | List of materials to attach to the announcement.                            |
| `assigneeMode`              | string |          | `"ALL_STUDENTS"`                 | Mode for assigning the announcement; ALL\_STUDENTS or INDIVIDUAL\_STUDENTS. |
| `scheduledTime`             | string |          | `"2023-10-15T09:00:00Z"`         | RFC3339 timestamp at which to publish the announcement.                     |
| `individualStudentsOptions` | object |          | —                                | Options for INDIVIDUAL\_STUDENTS assignee mode.                             |

***

### `Google Classroom Courses Announcements Delete`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_ANNOUNCEMENTS\_DELETE**

Tool to delete an announcement. Use after confirming the announcement ID.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example          | Description                               |
| ---------- | ------ | :------: | ---------------- | ----------------------------------------- |
| `id`       | string |     ✅    | `"abcdef123456"` | Identifier of the announcement to delete. |
| `courseId` | string |     ✅    | `"1234567890"`   | Identifier of the course.                 |

***

### `Google Classroom Courses Announcements Get`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_ANNOUNCEMENTS\_GET**

Tool to get an announcement. Use when you need to fetch an announcement by course and announcement ID.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example     | Description                                                                                    |
| ---------- | ------ | :------: | ----------- | ---------------------------------------------------------------------------------------------- |
| `id`       | string |     ✅    | `"annc123"` | Identifier of the announcement to retrieve.                                                    |
| `courseId` | string |     ✅    | `"12345"`   | Identifier of the course. This identifier can be either the Classroom-assigned ID or an alias. |

***

### `Google Classroom Courses Announcements Get Add On Context`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_ANNOUNCEMENTS\_GET\_ADD\_ON\_CONTEXT**

Tool to get metadata for Classroom add-ons in the context of a specific announcement post. Use when validating query parameters and user permissions for add-ons loading in an iframe. Returns the current user's role (student or teacher) with exactly one context field populated.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example          | Description                                                                                                                                                      |
| -------------- | ------ | :------: | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `itemId`       | string |     ✅    | `"835813743554"` | Identifier of the Announcement, CourseWork, or CourseWorkMaterial with the attached add-on.                                                                      |
| `postId`       | string |          | —                | Deprecated. Use itemId instead.                                                                                                                                  |
| `courseId`     | string |     ✅    | `"835614853904"` | Identifier of the course.                                                                                                                                        |
| `addOnToken`   | string |          | —                | Optional authorization token passed when redirecting to the add-on's URL. Required unless the add-on has attachments or the requesting project created the post. |
| `attachmentId` | string |          | —                | Optional identifier for the specific attachment. Required for all requests except Attachment Discovery iframe.                                                   |

***

### `Google Classroom Courses Announcements List`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_ANNOUNCEMENTS\_LIST**

Tool to list announcements in a course. Use after you have the course ID to page through announcements.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter   | Type    | Required | Example                          | Description                                                                                                                        |
| ----------- | ------- | :------: | -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| `orderBy`   | string  |          | `"updateTime asc"`               | How to sort announcements. Use `updateTime desc` (newest first) or `updateTime asc` (oldest first). Defaults to `updateTime desc`. |
| `courseId`  | string  |     ✅    | `"1234567890"`                   | Identifier of the course whose announcements should be listed. Can be the Classroom-assigned identifier or an alias.               |
| `pageSize`  | integer |          | `30`                             | Maximum number of announcements to return. Must be between 1 and 100. Defaults to 30 if not set.                                   |
| `pageToken` | string  |          | `"Cg0KC3ByZXZpb3VzUGFnZVRva2Vu"` | Token specifying the next page of results to return. Obtain from a previous list call's `nextPageToken`.                           |

***

### `Google Classroom Courses Announcements Modify Assignees`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_ANNOUNCEMENTS\_MODIFY\_ASSIGNEES**

Tool to modify assignee mode and options of an announcement. Use when you need to change who can view an announcement, either making it visible to all students or to specific students only.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                         | Type   | Required | Example          | Description                                                                                                                                                                                                          |
| --------------------------------- | ------ | :------: | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`                              | string |     ✅    | `"835813743554"` | Identifier of the announcement.                                                                                                                                                                                      |
| `courseId`                        | string |     ✅    | `"835614853904"` | Identifier of the course. This may be the Classroom-assigned identifier or an alias.                                                                                                                                 |
| `assigneeMode`                    | string |     ✅    | `"ALL_STUDENTS"` | Mode of the announcement describing whether it is accessible by all students or specified individual students. Use ALL\_STUDENTS for all students to see the item, or INDIVIDUAL\_STUDENTS for a subset of students. |
| `modifyIndividualStudentsOptions` | object |          | —                | Options for modifying which students can view the announcement when assigneeMode is INDIVIDUAL\_STUDENTS.                                                                                                            |

***

### `Google Classroom Courses Announcements Patch`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_ANNOUNCEMENTS\_PATCH**

Tool to update fields of an announcement. Use when you need to modify specific details of an existing announcement after confirming which fields to update.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                   | Type   | Required | Example                           | Description                                                                 |
| --------------------------- | ------ | :------: | --------------------------------- | --------------------------------------------------------------------------- |
| `id`                        | string |     ✅    | `"abcdef123456"`                  | Identifier of the announcement to update.                                   |
| `text`                      | string |          | `"Updated announcement content."` | The text content of the announcement to set.                                |
| `state`                     | string |          | `"PUBLISHED"`                     | State of the announcement.                                                  |
| `courseId`                  | string |     ✅    | `"1234567890"`                    | Identifier of the course.                                                   |
| `materials`                 | array  |          | —                                 | List of materials to attach to the announcement.                            |
| `updateMask`                | string |     ✅    | `"text,scheduledTime"`            | Comma-separated list of fields to update. E.g., 'text,state'.               |
| `assigneeMode`              | string |          | `"ALL_STUDENTS"`                  | Mode for assigning the announcement; ALL\_STUDENTS or INDIVIDUAL\_STUDENTS. |
| `scheduledTime`             | string |          | `"2023-10-15T09:00:00Z"`          | RFC3339 timestamp at which to publish the announcement.                     |
| `individualStudentsOptions` | object |          | —                                 | Options for INDIVIDUAL\_STUDENTS assignee mode.                             |

***

### `Google Classroom Courses Announces Add On Attachs Delete`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_ANNOUNCES\_ADD\_ON\_ATTACHS\_DELETE**

Tool to delete an add-on attachment from a course announcement. Requires the add-on to have been the original creator of the attachment.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example          | Description                                                            |
| -------------- | ------ | :------: | ---------------- | ---------------------------------------------------------------------- |
| `itemId`       | string |     ✅    | `"835813743554"` | Identifier of the announcement under which the attachment is attached. |
| `postId`       | string |          | `"835813743554"` | Deprecated. Use itemId instead. Optional identifier of the post.       |
| `courseId`     | string |     ✅    | `"835614853904"` | Identifier of the course.                                              |
| `attachmentId` | string |     ✅    | `"123456789"`    | Identifier of the add-on attachment to delete.                         |

***

### `Google Classroom Courses Announces Add On Attachs Get`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_ANNOUNCES\_ADD\_ON\_ATTACHS\_GET**

Tool to get an add-on attachment from an announcement. Use when you need to retrieve a specific add-on attachment. Requires the add-on requesting the attachment to be the original creator.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example          | Description                                                                                              |
| -------------- | ------ | :------: | ---------------- | -------------------------------------------------------------------------------------------------------- |
| `itemId`       | string |     ✅    | `"835813743554"` | Identifier of the Announcement, CourseWork, or CourseWorkMaterial containing the attachment.             |
| `postId`       | string |          | `"835813743554"` | Deprecated. Use itemId instead. Optional identifier of the post.                                         |
| `courseId`     | string |     ✅    | `"835614853904"` | Identifier of the course.                                                                                |
| `attachmentId` | string |     ✅    | `"123456789"`    | Identifier of the add-on attachment. Classroom-assigned identifier for this attachment, unique per post. |

***

### `Google Classroom Courses Announces Add On Attachs List`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_ANNOUNCES\_ADD\_ON\_ATTACHS\_LIST**

Tool to list all add-on attachments created under an announcement. Use when you need to retrieve attachments added by an add-on. Requires the add-on to have active attachments on the post or permission to create new attachments.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter   | Type    | Required | Example                                 | Description                                                                                           |
| ----------- | ------- | :------: | --------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| `itemId`    | string  |     ✅    | `"835813743554"`                        | Identifier of the Announcement, CourseWork, or CourseWorkMaterial whose attachments should be listed. |
| `courseId`  | string  |     ✅    | `"835614853904"`                        | Identifier of the course.                                                                             |
| `pageSize`  | integer |          | `10`                                    | Maximum number of attachments to return. Default is 20, maximum is 20.                                |
| `pageToken` | string  |          | `"Cg0KC2NvdXJzZVRva2VuEjgKIghhYmNkZWY"` | Token for retrieving the next page of results from a previous list response.                          |

***

### `Google Classroom Courses Course Work Add On Attachs Delete`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_COURSE\_WORK\_ADD\_ON\_ATTACHS\_DELETE**

Tool to delete an add-on attachment from course work. Use when the add-on needs to remove an attachment it originally created. Requires the add-on to have been the original creator of the attachment.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example          | Description                                                                                               |
| -------------- | ------ | :------: | ---------------- | --------------------------------------------------------------------------------------------------------- |
| `itemId`       | string |     ✅    | `"835814480041"` | Identifier of the Announcement, CourseWork, or CourseWorkMaterial under which the attachment is attached. |
| `postId`       | string |          | —                | Optional. Deprecated, use itemId instead.                                                                 |
| `courseId`     | string |     ✅    | `"835614853904"` | Identifier of the course.                                                                                 |
| `attachmentId` | string |     ✅    | `"123456789"`    | Identifier of the attachment to delete.                                                                   |

***

### `Google Classroom Courses Course Work Get Add On Context`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_COURSE\_WORK\_GET\_ADD\_ON\_CONTEXT**

Tool to get metadata for Classroom add-ons in the context of a specific course work. Use when validating query parameters and user permissions for add-ons loading in an iframe. Returns the current user's role (student or teacher) with exactly one context field populated.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example          | Description                                                                                                                                                      |
| -------------- | ------ | :------: | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `itemId`       | string |     ✅    | `"835814413923"` | Identifier of the Announcement, CourseWork, or CourseWorkMaterial with the attached add-on.                                                                      |
| `courseId`     | string |     ✅    | `"835614853904"` | Identifier of the course.                                                                                                                                        |
| `addOnToken`   | string |          | —                | Optional authorization token passed when redirecting to the add-on's URL. Required unless the add-on has attachments or the requesting project created the post. |
| `attachmentId` | string |          | —                | Optional identifier for the specific attachment. Required for all requests except Attachment Discovery iframe.                                                   |

***

### `Google Classroom Courses Course Work Materials Add Attachs`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_COURSE\_WORK\_MATERIALS\_ADD\_ATTACHS**

Tool to list all add-on attachments under a course work material post. Use when you need to retrieve attachments created by an add-on. Requires the add-on to have active attachments or permission to create new attachments on the post.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example          | Description                                                                 |
| ---------- | ------ | :------: | ---------------- | --------------------------------------------------------------------------- |
| `itemId`   | string |     ✅    | `"835618315038"` | Identifier of the Announcement, CourseWork, or CourseWorkMaterial resource. |
| `courseId` | string |     ✅    | `"835614853904"` | Identifier of the course.                                                   |

***

### `Google Classroom Courses Course Work Materials Delete`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_COURSE\_WORK\_MATERIALS\_DELETE**

Tool to delete a course work material. Use after confirming the course work material ID and course ID.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example          | Description                                                                                 |
| ---------- | ------ | :------: | ---------------- | ------------------------------------------------------------------------------------------- |
| `id`       | string |     ✅    | `"792777918580"` | Identifier of the course work material to delete.                                           |
| `courseId` | string |     ✅    | `"835614853904"` | Identifier of the course. This may either be the Classroom-assigned identifier or an alias. |

***

### `Google Classroom Courses Course Work Modify Assignees`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_COURSE\_WORK\_MODIFY\_ASSIGNEES**

Tool to modify assignee mode and options of coursework. Use when you need to change who can view coursework, either making it visible to all students or to specific students only.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                         | Type   | Required | Example          | Description                                                                                                                                                                                                        |
| --------------------------------- | ------ | :------: | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `id`                              | string |     ✅    | `"835814480041"` | Identifier of the coursework.                                                                                                                                                                                      |
| `courseId`                        | string |     ✅    | `"835614853904"` | Identifier of the course. This may be the Classroom-assigned identifier or an alias.                                                                                                                               |
| `assigneeMode`                    | string |     ✅    | `"ALL_STUDENTS"` | Mode of the coursework describing whether it is accessible by all students or specified individual students. Use ALL\_STUDENTS for all students to see the item, or INDIVIDUAL\_STUDENTS for a subset of students. |
| `modifyIndividualStudentsOptions` | object |          | —                | Options for modifying which students can view the coursework when assigneeMode is INDIVIDUAL\_STUDENTS.                                                                                                            |

***

### `Google Classroom Courses Course Work Patch`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_COURSE\_WORK\_PATCH**

Tool to update one or more fields of a course work. Use when you need to modify specific details of an existing course work after confirming which fields to update.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                    | Type   | Required | Example                                                | Description                                                                                                                                                                                 |
| ---------------------------- | ------ | :------: | ------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`                         | string |     ✅    | `"835814480041"`                                       | Identifier of the course work to update.                                                                                                                                                    |
| `state`                      | string |          | `"PUBLISHED"`                                          | State of the course work. Can be DRAFT, PUBLISHED, or DELETED.                                                                                                                              |
| `title`                      | string |          | `"Updated Assignment Title"`                           | Title of the course work to set. Valid UTF-8, 1-3000 characters.                                                                                                                            |
| `dueDate`                    | object |          | —                                                      | Model for due date.                                                                                                                                                                         |
| `dueTime`                    | object |          | —                                                      | Model for due time in request.                                                                                                                                                              |
| `topicId`                    | string |          | `"123456789"`                                          | Topic ID to assign. Must match an existing course topic.                                                                                                                                    |
| `courseId`                   | string |     ✅    | `"835614853904"`                                       | Identifier of the course. Can be the Classroom-assigned identifier or an alias.                                                                                                             |
| `materials`                  | array  |          | —                                                      | Additional materials to attach (max 20 items).                                                                                                                                              |
| `maxPoints`                  | number |          | `100`                                                  | Maximum grade points for the course work. Must be non-negative; zero indicates ungraded.                                                                                                    |
| `updateMask`                 | string |     ✅    | `"title"`                                              | Comma-separated list of fields to update. Teachers can modify: title, description, state, dueDate, dueTime, maxPoints, scheduledTime, submissionModificationMode, topicId, gradingPeriodId. |
| `description`                | string |          | `"This is an updated description for the assignment."` | Description of the course work to set. Maximum 30,000 characters.                                                                                                                           |
| `assigneeMode`               | string |          | `"ALL_STUDENTS"`                                       | Mode for assigning course work; defaults to ALL\_STUDENTS.                                                                                                                                  |
| `scheduledTime`              | string |          | `"2024-12-20T09:00:00Z"`                               | RFC 3339 timestamp at which to publish the course work.                                                                                                                                     |
| `gradingPeriodId`            | string |          | `"987654321"`                                          | Grading period identifier.                                                                                                                                                                  |
| `individualStudentsOptions`  | object |          | —                                                      | Options for INDIVIDUAL\_STUDENTS assignee mode.                                                                                                                                             |
| `submissionModificationMode` | string |          | `"MODIFIABLE_UNTIL_TURNED_IN"`                         | Controls when students can modify submissions.                                                                                                                                              |

***

### `Google Classroom Courses Coursework Rubrics List`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_COURSEWORK\_RUBRICS\_LIST**

Tool to list rubrics for a specific coursework. Use when you need to retrieve grading rubrics that the requester has permission to view.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter        | Type    | Required | Example                 | Description                                                                          |
| ---------------- | ------- | :------: | ----------------------- | ------------------------------------------------------------------------------------ |
| `courseId`       | string  |     ✅    | `"835614853904"`        | Identifier of the course. Can be the Classroom-assigned ID or an alias.              |
| `pageSize`       | integer |          | `1`                     | Maximum number of items to return. Default and maximum is 1.                         |
| `pageToken`      | string  |          | `"CgYIARID"`            | Token from a previous list call indicating the next page of results.                 |
| `courseWorkId`   | string  |     ✅    | `"835814480041"`        | Identifier of the course work.                                                       |
| `previewVersion` | string  |          | `"PREVIEW_UNSPECIFIED"` | Optional preview version of the API that specifies new capabilities being previewed. |

***

### `Google Classroom Courses Create`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_CREATE**

Tool to create a new course. Use when a teacher needs to establish a Classroom course before enrollment.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter            | Type   | Required | Example                                                                                 | Description                                                                    |
| -------------------- | ------ | :------: | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| `name`               | string |     ✅    | `"Math 101"`                                                                            | Name of the course. Max length 750 characters.                                 |
| `room`               | string |          | `"Room 201"`                                                                            | Room location for the course. Max length 64 characters.                        |
| `ownerId`            | string |     ✅    | `"teacher@example.com"`                                                                 | Identifier of the course owner. Can be the user's numeric ID or email address. |
| `section`            | string |          | `"Period 2"`                                                                            | Section of the course. Max length 2800 characters.                             |
| `courseState`        | string |          | `"ACTIVE"`                                                                              | Initial state of the course.                                                   |
| `description`        | string |          | `"This course covers foundational concepts in algebra, geometry, and problem-solving."` | Detailed description of the course. Max length 30,000 characters.              |
| `descriptionHeading` | string |          | `"Algebra and Geometry"`                                                                | Heading for the course description. Max length 360 characters.                 |

***

### `Google Classroom Courses Delete`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_DELETE**

Tool to delete a course. Use when you need to remove a course after confirming the course ID.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example        | Description                         |
| --------- | ------ | :------: | -------------- | ----------------------------------- |
| `id`      | string |     ✅    | `"1234567890"` | Identifier of the course to delete. |

***

### `Google Classroom Courses Get`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_GET**

Tool to get details for a specific course. Use when you need full course information by ID.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example   | Description                                                                                    |
| --------- | ------ | :------: | --------- | ---------------------------------------------------------------------------------------------- |
| `id`      | string |     ✅    | `"12345"` | Identifier of the course. This identifier can be either the Classroom-assigned ID or an alias. |

***

### `Google Classroom Courses Get Grading Period Settings`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_GET\_GRADING\_PERIOD\_SETTINGS**

Tool to retrieve grading period settings for a course. Use when you need to access the grading periods configured in a course.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example          | Description                                                                          |
| ---------- | ------ | :------: | ---------------- | ------------------------------------------------------------------------------------ |
| `courseId` | string |     ✅    | `"835614853904"` | Identifier of the course. This can be the Classroom-assigned identifier or an alias. |

***

### `Google Classroom Courses List`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_LIST**

Tool to list all courses accessible to the authenticated user. Use when you need a paginated list of courses.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type    | Required | Example                                 | Description                                                                                                 |
| -------------- | ------- | :------: | --------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `pageSize`     | integer |          | `10`                                    | Maximum number of items to return. Must be ≥1.                                                              |
| `pageToken`    | string  |          | `"Cg0KC2NvdXJzZVRva2VuEjgKIghhYmNkZWY"` | Token identifying the page of results to return.                                                            |
| `studentId`    | string  |          | `"me"`                                  | Restricts returned courses to those in which the student is enrolled. Can be the user's numeric ID or 'me'. |
| `teacherId`    | string  |          | `"me"`                                  | Restricts returned courses to those taught by the teacher. Can be the user's numeric ID or 'me'.            |
| `courseStates` | array   |          | `["ACTIVE"]`                            | Restricts returned courses to those in specified states.                                                    |

***

### `Google Classroom Courses Patch`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_PATCH**

Tool to update one or more fields of a Classroom course. Use after retrieving course details and confirming fields to update.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter            | Type   | Required | Example          | Description                                                     |
| -------------------- | ------ | :------: | ---------------- | --------------------------------------------------------------- |
| `id`                 | string |     ✅    | `"1234567890"`   | Identifier of the course to update.                             |
| `name`               | string |          | `"Biology 101"`  | New name of the course.                                         |
| `room`               | string |          | `"Room A"`       | New room/location for the course.                               |
| `ownerId`            | string |          | —                | New owner user ID for the course.                               |
| `section`            | string |          | `"Period 3"`     | New section of the course.                                      |
| `updateMask`         | string |     ✅    | `"name,section"` | Comma-separated list of fields to update. E.g., 'name,section'. |
| `courseState`        | string |          | —                | New state of the course.                                        |
| `description`        | string |          | —                | New detailed description of the course.                         |
| `descriptionHeading` | string |          | —                | New heading for the course description.                         |

***

### `Google Classroom Courses Posts Add On Attachments List`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_POSTS\_ADD\_ON\_ATTACHMENTS\_LIST**

Tool to list all add-on attachments created under a post. Use when you need to retrieve attachments added by an add-on. Requires the add-on to have active attachments on the post or permission to create new attachments.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter   | Type    | Required | Example          | Description                                                                                                                                     |
| ----------- | ------- | :------: | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| `itemId`    | string  |          | `"835813743554"` | Identifier of the Announcement, CourseWork, or CourseWorkMaterial whose attachments should be enumerated. Optional query parameter.             |
| `postId`    | string  |     ✅    | `"835813743554"` | Identifier of the post under the course.                                                                                                        |
| `courseId`  | string  |     ✅    | `"835614853904"` | Identifier of the course.                                                                                                                       |
| `pageSize`  | integer |          | —                | Maximum number of attachments to return. The service may return fewer than this value. If unspecified, at most 20 attachments will be returned. |
| `pageToken` | string  |          | —                | A page token received from a previous list call. Provide this to retrieve the subsequent page.                                                  |

***

### `Google Classroom Courses Posts Get Add On Context`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_POSTS\_GET\_ADD\_ON\_CONTEXT**

Tool to get metadata for Classroom add-ons in the context of a specific post. Use when validating query parameters and user permissions for add-ons loading in an iframe. Returns the current user's role (student or teacher) with exactly one context field populated.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example          | Description                                                                                                                                                                  |
| -------------- | ------ | :------: | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `itemId`       | string |     ✅    | `"835813743554"` | Identifier of the Announcement, CourseWork, or CourseWorkMaterial with the attached add-on.                                                                                  |
| `postId`       | string |     ✅    | `"835813743554"` | Identifier of the post (path parameter, deprecated - but required in path).                                                                                                  |
| `courseId`     | string |     ✅    | `"835614853904"` | Identifier of the course.                                                                                                                                                    |
| `addOnToken`   | string |          | —                | Optional authorization token passed when redirecting to the add-on's URL. Required unless the add-on has attachments on the post or the requesting project created the post. |
| `attachmentId` | string |          | —                | Optional identifier for the specific attachment. Required for all requests except Attachment Discovery iframe.                                                               |

***

### `Google Classroom Courses Students Create`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_STUDENTS\_CREATE**

Tool to add a student to a course. Use when enrolling a user as a student in a course. Domain administrators can directly enroll users; students can self-enroll with an enrollment code.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter        | Type   | Required | Example          | Description                                                                                                                                                                           |
| ---------------- | ------ | :------: | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `userId`         | string |     ✅    | `"me"`           | Identifier of the user to enroll as a student. Can be the numeric identifier for the user, the email address of the user, or the string literal "me" to indicate the requesting user. |
| `courseId`       | string |     ✅    | `"818669578118"` | Identifier of the course. Can be the Classroom-assigned identifier or an alias.                                                                                                       |
| `enrollmentCode` | string |          | `"2zpvki3j"`     | Enrollment code of the course. Required if the userId corresponds to the authenticated user. Optional for domain administrators who can directly enroll users.                        |

***

### `Google Classroom Courses Students Delete`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_STUDENTS\_DELETE**

Tool to delete a student from a course. Use when you need to remove a student's enrollment from a specific course. This revokes their access to course materials and participation.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example          | Description                                                                                                                                                                                                     |
| ---------- | ------ | :------: | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `userId`   | string |     ✅    | `"12345"`        | Identifier of the student to delete. The identifier can be one of the following: the numeric identifier for the user, the email address of the user, or the string literal 'me' indicating the requesting user. |
| `courseId` | string |     ✅    | `"835614853904"` | Identifier of the course. This may be the Classroom-assigned identifier or an alias.                                                                                                                            |

***

### `Google Classroom Courses Students Get`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_STUDENTS\_GET**

Tool to retrieve a specific student of a course. Use when you need to get detailed information about a student enrolled in a course by courseId and userId.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example                   | Description                                                                                                                                                        |
| ---------- | ------ | :------: | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `userId`   | string |     ✅    | `"118050831788026661489"` | Identifier of the user. This can be the numeric identifier for the user, the email address of the user, or the literal string 'me' indicating the requesting user. |
| `courseId` | string |     ✅    | `"835614853904"`          | Identifier of the course. This may be the Classroom-assigned identifier or an alias.                                                                               |

***

### `Google Classroom Courses Students Guardians List`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_STUDENTS\_GUARDIANS\_LIST**

Tool to list guardians of a student in a course. Use when you need to retrieve and paginate guardians for a given student in a course.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter   | Type    | Required | Example                                 | Description                                                                                     |
| ----------- | ------- | :------: | --------------------------------------- | ----------------------------------------------------------------------------------------------- |
| `courseId`  | string  |     ✅    | `"1234567890"`                          | Identifier of the course. Can be the Classroom-assigned ID or an alias.                         |
| `pageSize`  | integer |          | `20`                                    | Maximum number of guardians to return. Must be between 1 and 100. Defaults to server's default. |
| `pageToken` | string  |          | `"Cg0KC2NvdXJzZVRva2VuEjgKIghhYmNkZWY"` | Token identifying which page of results to return.                                              |
| `studentId` | string  |     ✅    | `"student123"`                          | Identifier of the student (the user's id or email address, or 'me').                            |

***

### `Google Classroom Courses Students List`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_STUDENTS\_LIST**

Tool to list students in a course. Use after you have the course ID to page through enrolled students.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter   | Type    | Required | Example                                 | Description                                                                                                     |
| ----------- | ------- | :------: | --------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| `courseId`  | string  |     ✅    | `"1234567890"`                          | Identifier of the course whose students should be listed. Can be the Classroom-assigned identifier or an alias. |
| `pageSize`  | integer |          | `100`                                   | Maximum number of students to return. Must be between 1 and 100.                                                |
| `pageToken` | string  |          | `"Cg0KC2NvdXJzZVRva2VuEjgKIghhYmNkZWY"` | Token specifying which page of results to return. Obtain from a previous list call's `nextPageToken`.           |

***

### `Google Classroom Courses Teachers Delete`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_TEACHERS\_DELETE**

Tool to delete a teacher from a course. Use when you need to remove a teacher's enrollment from a specific course. This revokes their teaching access to the course.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example                | Description                                                                                                                                                                                                     |
| ---------- | ------ | :------: | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `userId`   | string |     ✅    | `"999999999999999999"` | Identifier of the teacher to delete. The identifier can be one of the following: the numeric identifier for the user, the email address of the user, or the string literal 'me' indicating the requesting user. |
| `courseId` | string |     ✅    | `"835614853904"`       | Identifier of the course. This may be the Classroom-assigned identifier or an alias.                                                                                                                            |

***

### `Google Classroom Courses Teachers Get`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_TEACHERS\_GET**

Tool to get teacher enrollment. Use when you need to retrieve a specific teacher in a course by courseId and userId.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter   | Type   | Required | Example                          | Description                                                                                    |
| ----------- | ------ | :------: | -------------------------------- | ---------------------------------------------------------------------------------------------- |
| `fields`    | string |          | `"courseId,userId,emailAddress"` | Selector specifying which fields to include in a partial response.                             |
| `userId`    | string |     ✅    | `"78910"`                        | Identifier of the teacher to retrieve. Can be the teacher's numeric user ID or email address.  |
| `courseId`  | string |     ✅    | `"12345"`                        | Identifier of the course. This identifier can be either the Classroom-assigned ID or an alias. |
| `quotaUser` | string |          | `"user-1234"`                    | Arbitrary string assigned to a user for quota purposes (server-side applications only).        |

***

### `Google Classroom Courses Teachers List`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_TEACHERS\_LIST**

Tool to list teachers in a course. Use after you have the course ID to page through enrolled teachers.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter   | Type    | Required | Example          | Description                                                      |
| ----------- | ------- | :------: | ---------------- | ---------------------------------------------------------------- |
| `courseId`  | string  |     ✅    | `"1234567890"`   | Identifier of the course whose teachers should be listed.        |
| `pageSize`  | integer |          | `30`             | Maximum number of teachers to return. Must be between 1 and 100. |
| `pageToken` | string  |          | `"ABCDEF123456"` | Token specifying which page of results to return.                |

***

### `Google Classroom Courses Topics Create`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_TOPICS\_CREATE**

Tool to create a course topic. Use when you need to organize course content into named sections.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example        | Description                                      |
| ---------- | ------ | :------: | -------------- | ------------------------------------------------ |
| `name`     | string |     ✅    | `"Homework"`   | Name of the topic.                               |
| `courseId` | string |     ✅    | `"1234567890"` | Identifier of the course to create the topic in. |

***

### `Google Classroom Courses Topics Delete`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_TOPICS\_DELETE**

Tool to delete a course topic. Use when you need to remove a topic from a course after confirming the course and topic IDs.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example          | Description                        |
| ---------- | ------ | :------: | ---------------- | ---------------------------------- |
| `id`       | string |     ✅    | `"abcdef123456"` | Identifier of the topic to delete. |
| `courseId` | string |     ✅    | `"1234567890"`   | Identifier of the course.          |

***

### `Google Classroom Courses Topics Get`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_TOPICS\_GET**

Tool to get a course topic. Use when you need to retrieve details of a specific course topic by ID after confirming the course and topic IDs.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example          | Description                                                                          |
| ---------- | ------ | :------: | ---------------- | ------------------------------------------------------------------------------------ |
| `id`       | string |     ✅    | `"abcdef123456"` | Identifier of the topic to retrieve.                                                 |
| `courseId` | string |     ✅    | `"1234567890"`   | Identifier of the course. This can be the Classroom-assigned identifier or an alias. |

***

### `Google Classroom Courses Topics List`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_TOPICS\_LIST**

Tool to list topics in a course. Use when you have confirmed the courseId and need to retrieve its topics.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter   | Type    | Required | Example          | Description                                                |
| ----------- | ------- | :------: | ---------------- | ---------------------------------------------------------- |
| `courseId`  | string  |     ✅    | `"1234567890"`   | Identifier of the course (Classroom-assigned ID or alias). |
| `pageSize`  | integer |          | `30`             | Maximum number of topics to return; zero means no limit.   |
| `pageToken` | string  |          | `"abcdef123456"` | Token identifying which page of results to return.         |

***

### `Google Classroom Courses Topics Patch`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_TOPICS\_PATCH**

Tool to update fields of a course topic. Use when you need to rename a topic after confirming its current details.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example        | Description                                                                |
| ------------ | ------ | :------: | -------------- | -------------------------------------------------------------------------- |
| `id`         | string |     ✅    | `"topic123"`   | Identifier of the topic.                                                   |
| `name`       | string |          | `"Homework 1"` | New display name of the topic.                                             |
| `courseId`   | string |     ✅    | `"1234567890"` | Identifier of the course.                                                  |
| `updateMask` | string |          | `"name"`       | Comma-separated list of fields to update. Currently only 'name' supported. |

***

### `Google Classroom Courses Update`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_UPDATE**

Tool to update a course. Use when you need to modify course details like name, description, or state. This performs a full update (PUT) of the course.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter            | Type   | Required | Example                                                                                 | Description                                                                                                       |
| -------------------- | ------ | :------: | --------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| `id`                 | string |     ✅    | `"835614853904"`                                                                        | Identifier of the course to update. This can be either the Classroom-assigned identifier or an alias.             |
| `name`               | string |     ✅    | `"History 301: World Civilizations"`                                                    | Name of the course. Max length 750 characters. Valid UTF-8.                                                       |
| `room`               | string |          | `"Building C - Room 306"`                                                               | Room location for the course. Max length 650 characters.                                                          |
| `ownerId`            | string |     ✅    | `"118050831788026661489"`                                                               | Identifier of the course owner. Can be the user's numeric ID or email address. Only admins can modify this field. |
| `section`            | string |          | `"Evening Class - Section B"`                                                           | Section designation of the course (e.g., 'Period 2'). Max length 2,800 characters.                                |
| `courseState`        | string |          | `"ACTIVE"`                                                                              | State of the course. Can be ACTIVE, ARCHIVED, PROVISIONED, or DECLINED.                                           |
| `description`        | string |          | `"A comprehensive study of world civilizations from ancient times to the present day."` | Detailed description of the course. Max length 30,000 characters.                                                 |
| `descriptionHeading` | string |          | `"Exploring Ancient to Modern History"`                                                 | Optional heading for the course description. Max length 3,600 characters.                                         |

***

### `Google Classroom Courses Work Materials Patch`

Integration name: **GOOGLE\_CLASSROOM\_COURSES\_WORK\_MATERIALS\_PATCH**

Tool to update fields of a course work material. Use when you need to modify specific details of an existing course work material after confirming which fields to update.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example                           | Description                                                                                                    |
| --------------- | ------ | :------: | --------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| `id`            | string |     ✅    | `"0987654321"`                    | Identifier of the course work material to update.                                                              |
| `state`         | string |          | `"PUBLISHED"`                     | State of the course work material.                                                                             |
| `title`         | string |          | `"Updated Material Title"`        | Title of the course work material (1-3,000 characters).                                                        |
| `topicId`       | string |          | —                                 | Identifier of the topic to associate with this material.                                                       |
| `courseId`      | string |     ✅    | `"1234567890"`                    | Identifier of the course. Can be the Classroom-assigned identifier or an alias.                                |
| `updateMask`    | string |     ✅    | `"title"`                         | Comma-separated list of fields to update. Supported fields: title, description, state, scheduledTime, topicId. |
| `description`   | string |          | `"Updated material description."` | Description of the course work material (max 30,000 characters).                                               |
| `scheduledTime` | string |          | `"2023-10-28T16:01:23Z"`          | RFC3339 timestamp when the material is scheduled to be published.                                              |

***

### `Google Classroom Course Work Create`

Integration name: **GOOGLE\_CLASSROOM\_COURSE\_WORK\_CREATE**

Tool to create a CourseWork item in a course. Use when you need to assign an assignment or question to students immediately or on a schedule.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                    | Type   | Required | Example | Description                                                           |
| ---------------------------- | ------ | :------: | ------- | --------------------------------------------------------------------- |
| `state`                      | string |          | —       | Whether to save as draft or publish immediately                       |
| `title`                      | string |     ✅    | —       | Title of the coursework                                               |
| `dueDate`                    | object |          | —       | Date portion of coursework due date (year, month, day).               |
| `dueTime`                    | object |          | —       | Time portion of coursework due time (hours, minutes, seconds, nanos). |
| `topicId`                    | string |          | —       | Topic ID to organize coursework under                                 |
| `courseId`                   | string |     ✅    | —       | Identifier of the course                                              |
| `workType`                   | string |     ✅    | —       | Type of coursework being created                                      |
| `materials`                  | array  |          | —       | Materials to attach to the coursework                                 |
| `maxPoints`                  | number |          | —       | Maximum points available for the coursework                           |
| `assignment`                 | object |          | —       | Assignment details if workType is ASSIGNMENT                          |
| `description`                | string |          | —       | Detailed description or instructions                                  |
| `scheduledTime`              | string |          | —       | RFC3339 timestamp to auto-publish the coursework                      |
| `shortAnswerQuestion`        | object |          | —       | Details for short-answer question.                                    |
| `multipleChoiceQuestion`     | object |          | —       | Details for multiple-choice question.                                 |
| `submissionModificationMode` | string |          | —       | Controls if students can edit submissions after turn-in               |

***

### `Google Classroom Course Work Delete`

Integration name: **GOOGLE\_CLASSROOM\_COURSE\_WORK\_DELETE**

Tool to delete a specific CourseWork. Use when you need to remove a coursework item from a course after confirming the IDs.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example        | Description                                  |
| ---------- | ------ | :------: | -------------- | -------------------------------------------- |
| `id`       | string |     ✅    | `"987654321"`  | Identifier of the coursework item to delete. |
| `courseId` | string |     ✅    | `"1234567890"` | Identifier of the course.                    |

***

### `Google Classroom Course Work Get`

Integration name: **GOOGLE\_CLASSROOM\_COURSE\_WORK\_GET**

Tool to get details of a specific coursework. Use when detailed information about a particular assignment is needed.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example   | Description                                                                                            |
| ---------- | ------ | :------: | --------- | ------------------------------------------------------------------------------------------------------ |
| `id`       | string |     ✅    | `"cw123"` | Identifier of the coursework item to retrieve.                                                         |
| `courseId` | string |     ✅    | `"12345"` | Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. |

***

### `Google Classroom Course Work List`

Integration name: **GOOGLE\_CLASSROOM\_COURSE\_WORK\_LIST**

Tool to list coursework in a course. Use after verifying courseId.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter          | Type    | Required | Example                         | Description                                                                                                                                                                                            |
| ------------------ | ------- | :------: | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `orderBy`          | string  |          | `"dueDate asc,updateTime desc"` | Sort ordering for results. Comma-separated list of fields with optional direction. Supported fields: 'updateTime', 'dueDate'. Supported direction keywords: 'asc', 'desc'. Default: 'updateTime desc'. |
| `courseId`         | string  |     ✅    | `"1234567890"`                  | Identifier of the course (Classroom-assigned ID or alias).                                                                                                                                             |
| `pageSize`         | integer |          | `20`                            | Maximum number of items to return. Zero or unspecified indicates the server may assign a maximum. The server may return fewer than the specified number.                                               |
| `pageToken`        | string  |          | `"CgYIARID"`                    | NextPageToken from a previous list call, indicating subsequent page of results to return. Must be used with otherwise identical request.                                                               |
| `previewVersion`   | string  |          | `"PREVIEW_UNSPECIFIED"`         | Preview version of the API. Set to access new capabilities in the Preview Program.                                                                                                                     |
| `courseWorkStates` | array   |          | `["PUBLISHED"]`                 | Restriction on the coursework state to return. Only coursework matching one of these states is returned. If unspecified, defaults to \['PUBLISHED'].                                                   |

***

### `Google Classroom Course Work Materials Create`

Integration name: **GOOGLE\_CLASSROOM\_COURSE\_WORK\_MATERIALS\_CREATE**

Tool to create course work material. Use when adding resources or notes to a course.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                   | Type    | Required | Example                  | Description                                                                                                         |
| --------------------------- | ------- | :------: | ------------------------ | ------------------------------------------------------------------------------------------------------------------- |
| `state`                     | string  |          | —                        | The state of the course work material (e.g., PUBLISHED, DRAFT).                                                     |
| `title`                     | string  |          | `"Chapter 1 Notes"`      | Title of the course work material.                                                                                  |
| `topicId`                   | string  |          | —                        | Identifier of the topic to which this material belongs.                                                             |
| `courseId`                  | string  |     ✅    | —                        | Identifier of the course.                                                                                           |
| `materials`                 | array   |          | —                        | Materials attached to the course work material. Each element defines one of driveFile, link, form, or youtubeVideo. |
| `description`               | string  |          | `"Notes for chapter 1."` | Description of the course work material.                                                                            |
| `assigneeMode`              | string  |          | —                        | Who can see the material. Defaults to ALL\_STUDENTS.                                                                |
| `scheduledTime`             | string  |          | —                        | RFC3339 formatted time when the material is scheduled to be published, e.g., '2020-10-28T16:01:23Z'.                |
| `associatedWithDeveloper`   | boolean |          | —                        | Whether this material is associated with a developer project.                                                       |
| `individualStudentsOptions` | object  |          | —                        | Options for INDIVIDUAL\_STUDENTS assignee mode.                                                                     |

***

### `Google Classroom Course Work Materials Get`

Integration name: **GOOGLE\_CLASSROOM\_COURSE\_WORK\_MATERIALS\_GET**

Tool to get a coursework material. Use when you need to retrieve details of a specific coursework material by course and material ID.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example        | Description                                                                 |
| ---------- | ------ | :------: | -------------- | --------------------------------------------------------------------------- |
| `id`       | string |     ✅    | `"cwmat123"`   | Identifier of the coursework material.                                      |
| `courseId` | string |     ✅    | `"1234567890"` | Identifier of the course. Can be Classroom-assigned identifier or an alias. |

***

### `Google Classroom Course Work Materials List`

Integration name: **GOOGLE\_CLASSROOM\_COURSE\_WORK\_MATERIALS\_LIST**

Tool to list course work materials in a course. Use when you need to retrieve and paginate materials for a given courseId.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter   | Type    | Required | Example                                 | Description                                                                       |
| ----------- | ------- | :------: | --------------------------------------- | --------------------------------------------------------------------------------- |
| `orderBy`   | string  |          | `"updateTime desc"`                     | Optional sorting order; allowed values are 'updateTime asc' or 'updateTime desc'. |
| `courseId`  | string  |     ✅    | `"1234567890"`                          | Identifier of the course whose courseWorkMaterials should be returned.            |
| `pageSize`  | integer |          | `30`                                    | Maximum number of items to return. Must be between 1 and 100. Defaults to 30.     |
| `pageToken` | string  |          | `"Cg0KC2NvdXJzZVRva2VuEjgKIghhYmNkZWY"` | Token identifying which page of results to return.                                |

***

### `Google Classroom Course Work Student Submissions List`

Integration name: **GOOGLE\_CLASSROOM\_COURSE\_WORK\_STUDENT\_SUBMISSIONS\_LIST**

Tool to list student submissions for a specific coursework. Use when you need to fetch or paginate student submissions by course and coursework, optionally filtering by user, state, or timeliness.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type    | Required | Example                    | Description                                                                                   |
| -------------- | ------- | :------: | -------------------------- | --------------------------------------------------------------------------------------------- |
| `late`         | string  |          | —                          | Filters returned submissions to those that are on time or late.                               |
| `states`       | array   |          | `["TURNED_IN","RETURNED"]` | Filters returned submissions to those in the specified states.                                |
| `userId`       | string  |          | `"me"`                     | Restricts returned submissions to those owned by the specified user. Use numeric ID or 'me'.  |
| `courseId`     | string  |     ✅    | `"1234567890"`             | Identifier of the course.                                                                     |
| `pageSize`     | integer |          | `50`                       | Maximum number of items to return. Defaults to 30; maximum is 100.                            |
| `pageToken`    | string  |          | —                          | Token for next page of results.                                                               |
| `courseWorkId` | string  |     ✅    | `"0987654321"`             | Identifier of the coursework; use '-' to return submissions for all coursework in the course. |

***

### `Google Classroom Course Work Student Submissions Reclaim`

Integration name: **GOOGLE\_CLASSROOM\_COURSE\_WORK\_STUDENT\_SUBMISSIONS\_RECLAIM**

Tool to reclaim a student submission for editing. Use after a student requests to edit their turned-in submission, resetting its state to CREATED.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example        | Description                           |
| -------------- | ------ | :------: | -------------- | ------------------------------------- |
| `id`           | string |     ✅    | `"sub123"`     | Identifier of the student submission. |
| `courseId`     | string |     ✅    | `"1234567890"` | Identifier of the course.             |
| `courseWorkId` | string |     ✅    | `"cw123"`      | Identifier of the coursework.         |

***

### `Google Classroom Get Coursework Addon Attachment`

Integration name: **GOOGLE\_CLASSROOM\_GET\_COURSEWORK\_ADDON\_ATTACHMENT**

Tool to get an add-on attachment from course work. Use when you need to retrieve a specific add-on attachment. Requires the add-on requesting the attachment to be the original creator.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example          | Description                                                                                              |
| -------------- | ------ | :------: | ---------------- | -------------------------------------------------------------------------------------------------------- |
| `postId`       | string |     ✅    | `"835814480041"` | Identifier of the CourseWork item containing the attachment.                                             |
| `courseId`     | string |     ✅    | `"835614853904"` | Identifier of the course.                                                                                |
| `attachmentId` | string |     ✅    | `"123456789"`    | Identifier of the add-on attachment. Classroom-assigned identifier for this attachment, unique per post. |

***

### `Google Classroom Get Coursework Material Addon Context`

Integration name: **GOOGLE\_CLASSROOM\_GET\_COURSEWORK\_MATERIAL\_ADDON\_CONTEXT**

Tool to get metadata for Classroom add-ons in the context of a specific course work material. Use when validating query parameters for add-ons loading in an iframe. Returns course/item identifiers and role-specific context.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example          | Description                                                                                                                                                |
| -------------- | ------ | :------: | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `itemId`       | string |     ✅    | `"835618315038"` | Identifier of the Announcement, CourseWork, or CourseWorkMaterial resource.                                                                                |
| `courseId`     | string |     ✅    | `"835614853904"` | Identifier of the course.                                                                                                                                  |
| `addOnToken`   | string |          | —                | Optional. Authorization token passed when redirected from Classroom. Required unless the add-on has attachments or the developer project created the post. |
| `attachmentId` | string |          | —                | Optional. The attachment identifier. Required for most requests except Attachment Discovery iframe scenarios.                                              |

***

### `Google Classroom Invitations Create`

Integration name: **GOOGLE\_CLASSROOM\_INVITATIONS\_CREATE**

Tool to create an invitation for a user to a course. Use after confirming the course ID is valid.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example                 | Description                                                                      |
| ---------- | ------ | :------: | ----------------------- | -------------------------------------------------------------------------------- |
| `role`     | string |     ✅    | `"STUDENT"`             | Role to invite the user as.                                                      |
| `userId`   | string |     ✅    | `"student@example.com"` | Identifier of the user to invite. Can be the user's numeric ID or email address. |
| `courseId` | string |     ✅    | `"1234567890"`          | Identifier of the course to invite the user to.                                  |

***

### `Google Classroom Invitations Delete`

Integration name: **GOOGLE\_CLASSROOM\_INVITATIONS\_DELETE**

Tool to delete an invitation. Use when you need to remove an invitation after confirming the invitation ID.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                                  | Description                             |
| --------- | ------ | :------: | ---------------------------------------- | --------------------------------------- |
| `id`      | string |     ✅    | `"ODM1NjE0ODUzOTA0Kjc5Mjc3ODM4NzcwNlpa"` | Identifier of the invitation to delete. |

***

### `Google Classroom Invitations Get`

Integration name: **GOOGLE\_CLASSROOM\_INVITATIONS\_GET**

Tool to retrieve an invitation by its identifier. Use when you need to view invitation details.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                     | Description                             |
| --------- | ------ | :------: | --------------------------- | --------------------------------------- |
| `id`      | string |     ✅    | `"your_invitation_id_here"` | Identifier of the invitation to return. |

***

### `Google Classroom Invitations List`

Integration name: **GOOGLE\_CLASSROOM\_INVITATIONS\_LIST**

Tool to list invitations that the requesting user is permitted to view. At least one of userId or courseId must be supplied.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter   | Type    | Required | Example                                 | Description                                                                                                                                                                                             |
| ----------- | ------- | :------: | --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `userId`    | string  |          | `"me"`                                  | Restricts returned invitations to those for a specific user. Can be the user's numeric identifier, email address, or 'me' for the requesting user. At least one of userId or courseId must be supplied. |
| `courseId`  | string  |          | `"1234567890"`                          | Restricts returned invitations to those for a course with the specified identifier. At least one of userId or courseId must be supplied.                                                                |
| `pageSize`  | integer |          | `100`                                   | Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.                                |
| `pageToken` | string  |          | `"Cg0KC2NvdXJzZVRva2VuEjgKIghhYmNkZWY"` | Token identifying the next page of results to return. Obtained from a previous list call's nextPageToken.                                                                                               |

***

### `Google Classroom List Courses Student Groups`

Integration name: **GOOGLE\_CLASSROOM\_LIST\_COURSES\_STUDENT\_GROUPS**

Tool to list student groups in a course. Use when you need to retrieve groups within a specific course.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter   | Type    | Required | Example                                 | Description                                                                                         |
| ----------- | ------- | :------: | --------------------------------------- | --------------------------------------------------------------------------------------------------- |
| `courseId`  | string  |     ✅    | `"840561215908"`                        | Identifier of the course. Can be the Classroom-assigned identifier or an alias.                     |
| `pageSize`  | integer |          | `30`                                    | Maximum number of items to return. Zero or unspecified indicates no limit.                          |
| `pageToken` | string  |          | `"Cg0KC2NvdXJzZVRva2VuEjgKIghhYmNkZWY"` | Token specifying which page of results to return. Obtain from a previous list call's nextPageToken. |

***

### `Google Classroom List Coursework Addon Attachments`

Integration name: **GOOGLE\_CLASSROOM\_LIST\_COURSEWORK\_ADDON\_ATTACHMENTS**

Tool to list all add-on attachments created by an add-on under a course work. Use when you need to retrieve attachments added by an add-on to course work.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example          | Description                                                      |
| ---------- | ------ | :------: | ---------------- | ---------------------------------------------------------------- |
| `postId`   | string |     ✅    | `"835814480041"` | Identifier of the CourseWork whose attachments should be listed. |
| `courseId` | string |     ✅    | `"835614853904"` | Identifier of the course.                                        |

***

### `Google Classroom Registrations Create`

Integration name: **GOOGLE\_CLASSROOM\_REGISTRATIONS\_CREATE**

Tool to create a registration for push notifications from Google Classroom. Use when you need to set up notifications from a specific feed to a Cloud Pub/Sub topic. Requires the OAuth scope <https://www.googleapis.com/auth/classroom.push-notifications>.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter          | Type   | Required | Example | Description                                                                                                                                                              |
| ------------------ | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `feed`             | object |     ✅    | —       | Specification of the feed to subscribe to. The feedType determines which notifications will be sent, and conditional info fields must be provided based on the feedType. |
| `cloudPubsubTopic` | object |     ✅    | —       | The Cloud Pub/Sub topic where notifications will be published. Classroom must have permission to publish to this topic.                                                  |

***

### `Google Classroom User Profiles Get`

Integration name: **GOOGLE\_CLASSROOM\_USER\_PROFILES\_GET**

Tool to retrieve a user profile by user ID. Use when you need to get information about a specific user including their name, email, photo, and permissions.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                   | Description                                                                                                                                               |
| --------- | ------ | :------: | ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `userId`  | string |     ✅    | `"118050831788026661489"` | Identifier of the user to retrieve. Can be the numeric user identifier, user's email address, or the literal string 'me' to indicate the requesting user. |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.toolhouse.ai/toolhouse/integrations/google-classroom.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
