Google Classroom

App · Courses · 20 actions

Manage Google Classroom classes: create and update courses, read rosters, invite students and teachers, post announcements and materials, set assignments with due dates, and read and grade student work.

Actions

ActionWhat it does
Create assignmentCreate an assignment or a question in a class, with instructions, a due date, a point value, a topic and attached links.
Create classCreate a Google Classroom class owned by the connected account.
Create topicCreate a topic in a class, so assignments and materials can be grouped under it on the Classwork page.
Delete assignmentDelete an assignment or question, along with every student submission for it.
Delete classPermanently delete a class and everything in it.
Get classRead one class in full, including its enrollment code, its Classroom link, and the Calendar and Google Group it owns.
Get user profileLook up a Classroom user's name, email address and photo by their user ID or email address.
Grade submissionGrade one student's submission and, by default, return it so the student can see the grade.
Invite someone to a classInvite someone to join a class as a student, a teacher, or its owner.
List announcementsList the announcements posted to a class's stream, most recently updated first.
List assignmentsList the assignments and questions in a class, with their due dates and point values.
List classesList the Google Classroom classes the connected account can see.
List materialsList the materials posted to a class: reading, links and resources with nothing to hand in and no grade.
List student submissionsList every student's submission for one assignment, with its state, whether it was late, and the grades on it.
List studentsList the students enrolled in a class, with each one's name and email address.
List teachersList the teachers of a class, with each one's name and email address.
List topicsList the topics in a class: the headings that assignments and materials are grouped under on the Classwork page.
Post announcementPost an announcement to a class's stream, optionally with links attached, and optionally scheduled to publish later.
Post materialPost material to a class (reading, links or resources with nothing to hand in and no grade), optionally filed under a topic.
Update classChange a class's name, section, subject, description, room or state.

Create assignment

Create an assignment or a question in a class, with instructions, a due date, a point value, a topic and attached links. Classroom creates one submission per student as soon as it is published.

Inputs

Coursecourse_idtextRequired
The class to work with.
TitletitletextRequired
Title of the assignment.
Instructionsdescriptiontext
Instructions shown to students.
Typework_typetext
What kind of work students hand in.One of: ASSIGNMENT, SHORT_ANSWER_QUESTION (Short-answer question), MULTIPLE_CHOICE_QUESTION (Multiple-choice question). Default: ASSIGNMENT.
Publish or save as draftstatetext
Publish it to the class now, or save it as a draft only teachers can see.One of: PUBLISHED (Publish to the class), DRAFT (Save as a draft). Default: PUBLISHED.
Pointsmax_pointsnumber
What the assignment is out of, as a whole number. Use 0, or leave empty, for ungraded work.From 0 to 1000.
Duedue_atdate and time
When the assignment is due. Leave empty for no due date.
Topictopic_idtext
File this under an existing topic in the class. Leave empty for none.
Attachment linkslink_urlslist
Web addresses to attach, one per entry. A YouTube link is attached as a playable video; anything else (including a Google Docs or Drive link) is attached as a link card. Up to 20.
Publish atscheduled_timedate and time
Hold the assignment until this date and time. Leave empty to publish it right away.

Outputs

alternate_linktext
Link to the assignment in Google Classroom
course_idtext
ID of the class
creation_timetext
When it was created
creator_user_idtext
User ID of the teacher who created it
descriptiontext
Instructions
due_attext
When it is due, as a UTC timestamp; empty if no due date
idtext
Assignment ID. Use this with the submission actions.
materialslist
Attachments on the post
max_pointsnumber
Points the assignment is out of; 0 means ungraded, and null means no point value was set
scheduled_timetext
When it is scheduled to publish, if it is scheduled
statetext
PUBLISHED, DRAFT or DELETED
titletext
Assignment title
topic_idtext
ID of the topic it is filed under
update_timetext
When it was last changed
work_typetext
ASSIGNMENT, SHORT_ANSWER_QUESTION or MULTIPLE_CHOICE_QUESTION
Example output
{
  "alternate_link": "https://classroom.google.com/c/NzQ1MjkxMDM4NDcy/a/NzQ1MjkxMDM5MjIy",
  "course_id": "745291038472",
  "creation_time": "2026-08-21T14:12:33.006Z",
  "creator_user_id": "108372910384729103847",
  "description": "Write up Tuesday's potato-core experiment.",
  "due_at": "2026-09-04T23:59:00Z",
  "id": "745291039222",
  "materials": [],
  "max_points": 100,
  "scheduled_time": "",
  "state": "PUBLISHED",
  "title": "Lab report: osmosis",
  "topic_id": "745291038999",
  "update_time": "2026-08-21T14:12:33.006Z",
  "work_type": "ASSIGNMENT"
}

Create class

Create a Google Classroom class owned by the connected account. The result includes the enrollment code students use to join.

Inputs

Class namenametextRequired
Name of the class.
Sectionsectiontext
Section of the class, e.g. 'Period 3'.
Subjectdescription_headingtext
Short subject line shown under the class name.
Descriptiondescriptiontext
Longer description of the class.
Roomroomtext
Room the class meets in.
Class statecourse_statetext
Active classes are visible to students right away. Provisioned classes stay hidden until you activate them.One of: ACTIVE, PROVISIONED (Provisioned (hidden for now)). Default: ACTIVE.

Outputs

alternate_linktext
Link to the class in Google Classroom
calendar_idtext
Google Calendar ID for the class, once it is active
course_group_emailtext
Google Group address for everyone in the class, if any
course_statetext
ACTIVE, ARCHIVED, PROVISIONED, DECLINED or SUSPENDED
creation_timetext
When the class was created
descriptiontext
Class description
description_headingtext
Description heading
enrollment_codetext
Code students use to join the class
idtext
Course ID. Use this with the other actions.
nametext
Class name
owner_idtext
User ID of the teacher who owns the class
roomtext
Room
sectiontext
Section, e.g. 'Period 2'
update_timetext
When the class was last changed
Example output
{
  "alternate_link": "https://classroom.google.com/c/NzQ1MjkxMDM4NDcy",
  "calendar_id": "classroom1234567890@group.calendar.google.com",
  "course_group_email": "ap_biology_a1b2c3@classroom.google.com",
  "course_state": "ACTIVE",
  "creation_time": "2026-08-14T16:02:11.735Z",
  "description": "Cells, genetics, evolution and ecology.",
  "description_heading": "AP Biology",
  "enrollment_code": "k7m2xqa",
  "id": "745291038472",
  "name": "AP Biology",
  "owner_id": "108372910384729103847",
  "room": "Lab 2",
  "section": "Period 3",
  "update_time": "2026-08-20T09:41:52.118Z"
}

Create topic

Create a topic in a class, so assignments and materials can be grouped under it on the Classwork page.

Inputs

Coursecourse_idtextRequired
The class to work with.
Topic namenametextRequired
Name of the topic.

Outputs

course_idtext
ID of the class
nametext
Topic name
topic_idtext
Topic ID. Use this when creating an assignment or material.
update_timetext
When the topic was last changed
Example output
{
  "course_id": "745291038472",
  "name": "Unit 1: Cell structure",
  "topic_id": "745291038999",
  "update_time": "2026-08-20T09:41:52.118Z"
}

Delete assignment

Delete an assignment or question, along with every student submission for it.

Inputs

Coursecourse_idtextRequired
The class to work with.
Assignmentcourse_work_idtextRequired
The assignment or question to work with.

Outputs

course_idtext
ID of the class
deletedtext
Always 'true' when the assignment was deleted
idtext
ID of the deleted assignment
Example output
{
  "course_id": "745291038472",
  "deleted": "true",
  "id": "745291039222"
}

Delete class

Permanently delete a class and everything in it. Classroom only deletes an archived class, so an active one is archived first.

Inputs

Coursecourse_idtextRequired
The class to work with.

Outputs

archived_firsttext
'true' if the class had to be archived before deleting
deletedtext
Always 'true' when the class was deleted
idtext
ID of the deleted class
Example output
{
  "archived_first": "true",
  "deleted": "true",
  "id": "745291038472"
}

Get class

Read one class in full, including its enrollment code, its Classroom link, and the Calendar and Google Group it owns.

Inputs

Coursecourse_idtextRequired
The class to work with.

Outputs

alternate_linktext
Link to the class in Google Classroom
calendar_idtext
Google Calendar ID for the class, once it is active
course_group_emailtext
Google Group address for everyone in the class, if any
course_statetext
ACTIVE, ARCHIVED, PROVISIONED, DECLINED or SUSPENDED
creation_timetext
When the class was created
descriptiontext
Class description
description_headingtext
Description heading
enrollment_codetext
Code students use to join the class
idtext
Course ID. Use this with the other actions.
nametext
Class name
owner_idtext
User ID of the teacher who owns the class
roomtext
Room
sectiontext
Section, e.g. 'Period 2'
update_timetext
When the class was last changed
Example output
{
  "alternate_link": "https://classroom.google.com/c/NzQ1MjkxMDM4NDcy",
  "calendar_id": "classroom1234567890@group.calendar.google.com",
  "course_group_email": "ap_biology_a1b2c3@classroom.google.com",
  "course_state": "ACTIVE",
  "creation_time": "2026-08-14T16:02:11.735Z",
  "description": "Cells, genetics, evolution and ecology.",
  "description_heading": "AP Biology",
  "enrollment_code": "k7m2xqa",
  "id": "745291038472",
  "name": "AP Biology",
  "owner_id": "108372910384729103847",
  "room": "Lab 2",
  "section": "Period 3",
  "update_time": "2026-08-20T09:41:52.118Z"
}

Get user profile

Look up a Classroom user's name, email address and photo by their user ID or email address. Leave it as 'me' for the connected account.

Inputs

Useruser_idtext
Email address or Classroom user ID. Use 'me' for the connected account.Default: me.

Outputs

email_addresstext
Email address
family_nametext
Last name
full_nametext
Full name
given_nametext
First name
photo_urltext
Profile photo URL
user_idtext
Classroom user ID. Use this with 'Get user profile'.
Example output
{
  "email_address": "jordan.alvarez@example.edu",
  "family_name": "Alvarez",
  "full_name": "Jordan Alvarez",
  "given_name": "Jordan",
  "photo_url": "//lh3.googleusercontent.com/a/default-user",
  "user_id": "114829301847293018472"
}

Grade submission

Grade one student's submission and, by default, return it so the student can see the grade. Turn returning off to leave the grade as a draft only teachers can see.

Inputs

Coursecourse_idtextRequired
The class to work with.
Assignmentcourse_work_idtextRequired
The assignment or question to work with.
Submissionsubmission_idtextRequired
The student submission to grade.
GradegradenumberRequired
Points to award, out of the assignment's total. Decimals are rounded to two places.From 0 to 1000.
Return to the studentreturn_to_studenttrue/false
Hand the work back so the student sees the grade. Turn this off to keep it as a draft grade.Default: true.

Outputs

alternate_linktext
Link to the submission in Google Classroom
assigned_gradenumber
Grade the student can see; null when not yet returned
course_idtext
ID of the class
course_work_idtext
ID of the assignment
course_work_typetext
Type of the assignment this answers
creation_timetext
When it was created
draft_gradenumber
Grade only the teacher can see; null when ungraded
idtext
Submission ID. Use this with 'Grade submission'.
latetrue/false
Whether it was handed in late
returned_to_studenttrue/false
Whether the work was returned to the student
statetext
NEW, CREATED, TURNED_IN, RETURNED or RECLAIMED_BY_STUDENT
update_timetext
When it was last changed
user_idtext
User ID of the student the submission belongs to
Example output
{
  "alternate_link": "https://classroom.google.com/c/NzQ1MjkxMDM4NDcy/a/NzQ1MjkxMDM5MjIy/submissions/by-status/and-sort-last-name/student/MTE0ODI5",
  "assigned_grade": 92,
  "course_id": "745291038472",
  "course_work_id": "745291039222",
  "course_work_type": "ASSIGNMENT",
  "creation_time": "2026-08-21T14:12:34.220Z",
  "draft_grade": 92,
  "id": "Cg4I2LqbnpUQEO_hxr7VEA",
  "late": false,
  "returned_to_student": true,
  "state": "RETURNED",
  "update_time": "2026-09-03T18:30:02.774Z",
  "user_id": "114829301847293018472"
}

Invite someone to a class

Invite someone to join a class as a student, a teacher, or its owner. They join once they accept the invitation in Classroom.

Inputs

Coursecourse_idtextRequired
The class to work with.
Email addressuser_idtextRequired
Email address of the person to invite (their Classroom user ID also works).
Roleroletext
What to invite them as.One of: STUDENT, TEACHER, OWNER (Owner (hands over the class)). Default: STUDENT.

Outputs

course_idtext
ID of the class
idtext
Invitation ID
roletext
STUDENT, TEACHER or OWNER
user_idtext
Who was invited, as Classroom resolved them
Example output
{
  "course_id": "745291038472",
  "id": "Y2xhc3Nyb29tL2ludml0YXRpb24vNzQ1MjkxMDM4NDcy",
  "role": "STUDENT",
  "user_id": "114829301847293018472"
}

List announcements

List the announcements posted to a class's stream, most recently updated first.

Inputs

Coursecourse_idtextRequired
The class to work with.
Statesannouncement_stateslist
Only return items in these states. Leave empty for published and draft items.One or more of: PUBLISHED, DRAFT, DELETED (Deleted (not yet purged)).
Maximum resultsmax_resultsnumber
How many items to return, at most (1-500). Defaults to 50.From 1 to 500. Default: 50.

Outputs

announcementslist
List of announcements
Example output
{
  "announcements": [
    {
      "alternate_link": "https://classroom.google.com/c/NzQ1MjkxMDM4NDcy/p/NzQ1MjkxMDM5MTAx",
      "course_id": "745291038472",
      "creation_time": "2026-08-21T14:05:00.412Z",
      "creator_user_id": "108372910384729103847",
      "id": "745291039101",
      "materials": [
        {
          "title": "Lab safety checklist",
          "type": "link",
          "url": "https://example.edu/lab-safety"
        }
      ],
      "scheduled_time": "",
      "state": "PUBLISHED",
      "text": "Reminder: bring your lab notebooks on Thursday.",
      "update_time": "2026-08-21T14:05:00.412Z"
    }
  ]
}

List assignments

List the assignments and questions in a class, with their due dates and point values. Sort by due date to see what is next.

Inputs

Coursecourse_idtextRequired
The class to work with.
Statescourse_work_stateslist
Only return items in these states. Leave empty for published and draft items.One or more of: PUBLISHED, DRAFT, DELETED (Deleted (not yet purged)).
Sort byorder_bytext
What order to return the assignments in.One of: updateTime desc (Recently changed first), updateTime asc (Least recently changed first), dueDate asc (Due soonest first), dueDate desc (Due latest first). Default: updateTime desc.
Maximum resultsmax_resultsnumber
How many items to return, at most (1-500). Defaults to 50.From 1 to 500. Default: 50.

Outputs

course_worklist
List of assignments and questions
Example output
{
  "course_work": [
    {
      "alternate_link": "https://classroom.google.com/c/NzQ1MjkxMDM4NDcy/a/NzQ1MjkxMDM5MjIy",
      "course_id": "745291038472",
      "creation_time": "2026-08-21T14:12:33.006Z",
      "creator_user_id": "108372910384729103847",
      "description": "Write up Tuesday's potato-core experiment.",
      "due_at": "2026-09-04T23:59:00Z",
      "id": "745291039222",
      "materials": [],
      "max_points": 100,
      "scheduled_time": "",
      "state": "PUBLISHED",
      "title": "Lab report: osmosis",
      "topic_id": "745291038999",
      "update_time": "2026-08-21T14:12:33.006Z",
      "work_type": "ASSIGNMENT"
    }
  ]
}

List classes

List the Google Classroom classes the connected account can see. Narrow to the ones you teach or the ones you are enrolled in, and filter by state.

Inputs

My roleroletext
Which classes to return, by your role in them.One of: any (Any class I can see), teacher (Classes I teach), student (Classes I'm enrolled in). Default: any.
Class statescourse_stateslist
Only return classes in these states. Leave empty for all.One or more of: ACTIVE, ARCHIVED, PROVISIONED (Provisioned (created, not yet accepted)), DECLINED, SUSPENDED.
Maximum resultsmax_resultsnumber
How many items to return, at most (1-500). Defaults to 50.From 1 to 500. Default: 50.

Outputs

courseslist
List of classes
Example output
{
  "courses": [
    {
      "alternate_link": "https://classroom.google.com/c/NzQ1MjkxMDM4NDcy",
      "calendar_id": "classroom1234567890@group.calendar.google.com",
      "course_group_email": "ap_biology_a1b2c3@classroom.google.com",
      "course_state": "ACTIVE",
      "creation_time": "2026-08-14T16:02:11.735Z",
      "description": "Cells, genetics, evolution and ecology.",
      "description_heading": "AP Biology",
      "enrollment_code": "k7m2xqa",
      "id": "745291038472",
      "name": "AP Biology",
      "owner_id": "108372910384729103847",
      "room": "Lab 2",
      "section": "Period 3",
      "update_time": "2026-08-20T09:41:52.118Z"
    }
  ]
}

List materials

List the materials posted to a class: reading, links and resources with nothing to hand in and no grade.

Inputs

Coursecourse_idtextRequired
The class to work with.
Statesmaterial_stateslist
Only return items in these states. Leave empty for published and draft items.One or more of: PUBLISHED, DRAFT, DELETED (Deleted (not yet purged)).
Maximum resultsmax_resultsnumber
How many items to return, at most (1-500). Defaults to 50.From 1 to 500. Default: 50.

Outputs

course_materialslist
List of materials
Example output
{
  "course_materials": [
    {
      "alternate_link": "https://classroom.google.com/c/NzQ1MjkxMDM4NDcy/m/NzQ1MjkxMDM5MzMz",
      "course_id": "745291038472",
      "creation_time": "2026-08-21T14:20:07.901Z",
      "creator_user_id": "108372910384729103847",
      "description": "Chapters 1-4, plus the two optional papers.",
      "id": "745291039333",
      "materials": [
        {
          "title": "Osmosis explained",
          "type": "youtube_video",
          "url": "https://www.youtube.com/watch?v=aBcDeFgHiJk"
        }
      ],
      "scheduled_time": "",
      "state": "PUBLISHED",
      "title": "Unit 1 reading list",
      "topic_id": "745291038999",
      "update_time": "2026-08-21T14:20:07.901Z"
    }
  ]
}

List student submissions

List every student's submission for one assignment, with its state, whether it was late, and the grades on it. Classroom creates a submission per student when the assignment is published, so filtering by state answers 'who hasn't handed in'.

Inputs

Coursecourse_idtextRequired
The class to work with.
Assignmentcourse_work_idtextRequired
The assignment or question to work with.
Submission statesstateslist
Only return submissions in these states. Leave empty for all of them.One or more of: NEW (New (never opened)), CREATED (In progress), TURNED_IN (Turned in), RETURNED (Returned to the student), RECLAIMED_BY_STUDENT (Reclaimed by the student).
Timelinesslatetext
Whether to return only late or only on-time work.One of: any (Late and on time), late (Late only), on_time (On time only). Default: any.
Maximum resultsmax_resultsnumber
How many items to return, at most (1-500). Defaults to 50.From 1 to 500. Default: 50.

Outputs

student_submissionslist
List of student submissions
Example output
{
  "student_submissions": [
    {
      "alternate_link": "https://classroom.google.com/c/NzQ1MjkxMDM4NDcy/a/NzQ1MjkxMDM5MjIy/submissions/by-status/and-sort-last-name/student/MTE0ODI5",
      "assigned_grade": null,
      "course_id": "745291038472",
      "course_work_id": "745291039222",
      "course_work_type": "ASSIGNMENT",
      "creation_time": "2026-08-21T14:12:34.220Z",
      "draft_grade": null,
      "id": "Cg4I2LqbnpUQEO_hxr7VEA",
      "late": false,
      "state": "TURNED_IN",
      "update_time": "2026-09-03T18:30:02.774Z",
      "user_id": "114829301847293018472"
    }
  ]
}

List students

List the students enrolled in a class, with each one's name and email address. This is the class roster.

Inputs

Coursecourse_idtextRequired
The class to work with.
Maximum resultsmax_resultsnumber
How many items to return, at most (1-500). Defaults to 50.From 1 to 500. Default: 50.

Outputs

studentslist
List of students
Example output
{
  "students": [
    {
      "course_id": "745291038472",
      "email_address": "jordan.alvarez@example.edu",
      "family_name": "Alvarez",
      "full_name": "Jordan Alvarez",
      "given_name": "Jordan",
      "photo_url": "//lh3.googleusercontent.com/a/default-user",
      "user_id": "114829301847293018472"
    }
  ]
}

List teachers

List the teachers of a class, with each one's name and email address.

Inputs

Coursecourse_idtextRequired
The class to work with.
Maximum resultsmax_resultsnumber
How many items to return, at most (1-500). Defaults to 50.From 1 to 500. Default: 50.

Outputs

teacherslist
List of teachers
Example output
{
  "teachers": [
    {
      "course_id": "745291038472",
      "email_address": "jordan.alvarez@example.edu",
      "family_name": "Alvarez",
      "full_name": "Jordan Alvarez",
      "given_name": "Jordan",
      "photo_url": "//lh3.googleusercontent.com/a/default-user",
      "user_id": "114829301847293018472"
    }
  ]
}

List topics

List the topics in a class: the headings that assignments and materials are grouped under on the Classwork page.

Inputs

Coursecourse_idtextRequired
The class to work with.
Maximum resultsmax_resultsnumber
How many items to return, at most (1-500). Defaults to 50.From 1 to 500. Default: 50.

Outputs

topicslist
List of topics
Example output
{
  "topics": [
    {
      "course_id": "745291038472",
      "name": "Unit 1: Cell structure",
      "topic_id": "745291038999",
      "update_time": "2026-08-20T09:41:52.118Z"
    }
  ]
}

Post announcement

Post an announcement to a class's stream, optionally with links attached, and optionally scheduled to publish later.

Inputs

Coursecourse_idtextRequired
The class to work with.
AnnouncementtexttextRequired
What the announcement says.
Publish or save as draftstatetext
Publish it to the class now, or save it as a draft only teachers can see.One of: PUBLISHED (Publish to the class), DRAFT (Save as a draft). Default: PUBLISHED.
Attachment linkslink_urlslist
Web addresses to attach, one per entry. A YouTube link is attached as a playable video; anything else (including a Google Docs or Drive link) is attached as a link card. Up to 20.
Publish atscheduled_timedate and time
Hold the announcement until this date and time. Leave empty to post it right away.

Outputs

alternate_linktext
Link to the announcement in Google Classroom
course_idtext
ID of the class
creation_timetext
When it was created
creator_user_idtext
User ID of whoever posted it
idtext
Announcement ID
materialslist
Attachments on the post
scheduled_timetext
When it is scheduled to publish, if it is scheduled
statetext
PUBLISHED, DRAFT or DELETED
texttext
Announcement text
update_timetext
When it was last changed
Example output
{
  "alternate_link": "https://classroom.google.com/c/NzQ1MjkxMDM4NDcy/p/NzQ1MjkxMDM5MTAx",
  "course_id": "745291038472",
  "creation_time": "2026-08-21T14:05:00.412Z",
  "creator_user_id": "108372910384729103847",
  "id": "745291039101",
  "materials": [
    {
      "title": "Lab safety checklist",
      "type": "link",
      "url": "https://example.edu/lab-safety"
    }
  ],
  "scheduled_time": "",
  "state": "PUBLISHED",
  "text": "Reminder: bring your lab notebooks on Thursday.",
  "update_time": "2026-08-21T14:05:00.412Z"
}

Post material

Post material to a class (reading, links or resources with nothing to hand in and no grade), optionally filed under a topic.

Inputs

Coursecourse_idtextRequired
The class to work with.
TitletitletextRequired
Title of the material.
Descriptiondescriptiontext
Description shown to students.
Publish or save as draftstatetext
Publish it to the class now, or save it as a draft only teachers can see.One of: PUBLISHED (Publish to the class), DRAFT (Save as a draft). Default: PUBLISHED.
Topictopic_idtext
File this under an existing topic in the class. Leave empty for none.
Attachment linkslink_urlslist
Web addresses to attach, one per entry. A YouTube link is attached as a playable video; anything else (including a Google Docs or Drive link) is attached as a link card. Up to 20.

Outputs

alternate_linktext
Link to the material in Google Classroom
course_idtext
ID of the class
creation_timetext
When it was created
creator_user_idtext
User ID of the teacher who posted it
descriptiontext
Material description
idtext
Material ID
materialslist
Attachments on the post
scheduled_timetext
When it is scheduled to publish, if it is scheduled
statetext
PUBLISHED, DRAFT or DELETED
titletext
Material title
topic_idtext
ID of the topic it is filed under
update_timetext
When it was last changed
Example output
{
  "alternate_link": "https://classroom.google.com/c/NzQ1MjkxMDM4NDcy/m/NzQ1MjkxMDM5MzMz",
  "course_id": "745291038472",
  "creation_time": "2026-08-21T14:20:07.901Z",
  "creator_user_id": "108372910384729103847",
  "description": "Chapters 1-4, plus the two optional papers.",
  "id": "745291039333",
  "materials": [
    {
      "title": "Osmosis explained",
      "type": "youtube_video",
      "url": "https://www.youtube.com/watch?v=aBcDeFgHiJk"
    }
  ],
  "scheduled_time": "",
  "state": "PUBLISHED",
  "title": "Unit 1 reading list",
  "topic_id": "745291038999",
  "update_time": "2026-08-21T14:20:07.901Z"
}

Update class

Change a class's name, section, subject, description, room or state. Only the fields you fill in are changed; set the state to Archived to close a class out at the end of a term.

Inputs

Coursecourse_idtextRequired
The class to work with.
Class namenametext
New name for the class. Leave empty to keep it.
Sectionsectiontext
New section. Leave empty to keep it.
Subjectdescription_headingtext
New subject line. Leave empty to keep it.
Descriptiondescriptiontext
New description. Leave empty to keep it.
Roomroomtext
New room. Leave empty to keep it.
Class statecourse_statetext
New state for the class. Leave empty to keep it.One of: ACTIVE, ARCHIVED, PROVISIONED (Provisioned (created, not yet accepted)), DECLINED, SUSPENDED.

Outputs

alternate_linktext
Link to the class in Google Classroom
calendar_idtext
Google Calendar ID for the class, once it is active
course_group_emailtext
Google Group address for everyone in the class, if any
course_statetext
ACTIVE, ARCHIVED, PROVISIONED, DECLINED or SUSPENDED
creation_timetext
When the class was created
descriptiontext
Class description
description_headingtext
Description heading
enrollment_codetext
Code students use to join the class
idtext
Course ID. Use this with the other actions.
nametext
Class name
owner_idtext
User ID of the teacher who owns the class
roomtext
Room
sectiontext
Section, e.g. 'Period 2'
update_timetext
When the class was last changed
Example output
{
  "alternate_link": "https://classroom.google.com/c/NzQ1MjkxMDM4NDcy",
  "calendar_id": "classroom1234567890@group.calendar.google.com",
  "course_group_email": "ap_biology_a1b2c3@classroom.google.com",
  "course_state": "ACTIVE",
  "creation_time": "2026-08-14T16:02:11.735Z",
  "description": "Cells, genetics, evolution and ecology.",
  "description_heading": "AP Biology",
  "enrollment_code": "k7m2xqa",
  "id": "745291038472",
  "name": "AP Biology",
  "owner_id": "108372910384729103847",
  "room": "Lab 2",
  "section": "Period 3",
  "update_time": "2026-08-20T09:41:52.118Z"
}

On this page