Veracross + Google Onboarding

Modified on Thu, 20 Nov at 4:49 PM

Step 1: Set up your Google environment (5 minutes)

  • Create a new User in Google, who will be the "calendar owner" and creator of the events that get created. Name the User "SchoolCal Admin" or something related, and set the email as ("schoolcal@yourdomain"). We'll need to log in to SchoolCal with this User later in onboarding.

  • Create a "Custom Admin Role" in Google Admin Console. Name it something like, "Calendar Administrator". This role needs the following permissions:

    • USERS -> "READ" access to

    • CALENDAR -> "ALL SETTINGS"

    • The role should have 11 privileges assigned

  • Assign your new SchoolCal user to the new custom role

    • Press the "assign members" button 

    • Assign your SchoolCal user (created in the previous step) to this role

  • Create a Domain Wide Delegated service account to access the required scopes

    • Login to Google Admin Console and navigate to Manage Domain Wide Delegation (Security > API Controls > Manage Domain Wide Delegation)

    • Click “Add new

    • Input the Client ID from your SchoolCal account

    • Enter the required OAuth scopes (⚠️ Note: The list of OAuth scopes may be updated in the Admin Console. Always verify the required scopes there before proceeding.)

  • https://www.googleapis.com/auth/calendar.events

  • https://www.googleapis.com/auth/calendar

  • https://www.googleapis.com/auth/admin.directory.user.readonly

  • https://www.googleapis.com/auth/admin.directory.resource.calendar.readonly

Step 2) Set up your Veracross environment (5 minutes)

  • Create an API V3 account for SchoolCal

  • Add SchoolCal as an "Oauth Partner" in Axiom, and give it the appropriate scopes (steps below):

    • Login to Veracross/Axiom

    • Navigate to the "Identity and Access Management" homepage

    • Add SchoolCal as an "integration partner" by finding it in the list of partners (middle of the page, towards the bottom of the list)

      • click "Start Integration

      • NOTE: you may need to add the security role of "OAuth_App_Admin" and refresh the page in order for the "start integration" button to appear. 

      • When complete, you should be presented with a screen that shows the SchoolCal name and email address. 

  • Add appropriate scopes to SchoolCal (follow the steps here to enable all and save time)

    • Click the "Add OAuth Application"

    • Go to the "scopes" tab and add the following scopes:

    • List Academics: Calendar Rotation Days

      Read Academics: Calendar Rotation Day


      List Academics: Class Schedules


      List Academics: Class Meeting Times

      Read Academics: Class Meeting Time


      List Academics: Classes

      Read Academics: Class


      List Academics: Block Groups

      Read Academics: Block Group


      List Academics: Configuration - Block Schedules

      Read Academics: Configuration - Block Schedule


      List Academics: Configuration - Block Meetings Times

      Read Academics: Configuration - Block Meeting Time


      List Academics: Configuration - Blocks/Periods

      Read Academics: Configuration - Blocks/Period


      Read Academics: Blocks by Group

      List Academics: Blocks by Group


      List Academics: Grading Periods

      Read Academics: Grading Period


      List Academics: Rotation Days

      Read Academics: Rotation Day


      List Academics: Courses

      Read Academics: Course


      List Academics: Departments

      Read Academics: Department


      List Academics: Enrollments

      Read Academics: Enrollment


      List Academics: Classes - Permissions

      Read Academics: Classes - Permission


      List Academics: Rooms

      Read Academics: Room


      List Academics: Subjects

      Read Academics: Subject


      List Athletics: Rosters

      Read Athletics: Roster


      List Athletics: Sports

      Read Athletics: Sport


      List Athletics: Team Practice Schedules


      List Athletics: Teams

      Read Athletics: Team


      List Classes

      Read Classes


      List Courses

      Read Course


      List Event Groups

      Read Event Group


      List Events: Athletics

      Read Events: Athletic


      List Events: Attendance

      Read Event: Attendance


      List Events

      Read Event


      List Extended Care: Class Meeting Times

      Read Extended Care: Class Meeting Time


      List Extended Care: Classes

      Read Extended Care: Class


      List Extended Care: Courses

      Read Extended Care: Course


      List Extended Care: Registrations

      Read Extended Care: Registration


      List Programs: Class Meeting Times

      Read Programs: Class Meeting Time


      List Programs: Classes

      Read Programs: Class


      List Programs: Courses

      Read Programs: Course


      List Programs: Enrollments

      Read Programs: Enrollment


      List Resource Reservations: Reservations

      Read Resource Reservations: Reservation


      List Resource Reservations: Resources

      Read Resource Reservations: Resource


      List Staff/Faculty

      Read Staff/Faculty


      List Students

      Read Student


      List Summer: Class Meeting Times

      Read Summer: Class Meeting Time


      List Summer: Classes

      Read Summer: Class


      List Summer: Courses

      Read Summer: Course


      List Summer Enrollments

      Read Summer Enrollment

Step 3: Connect Veracross to SchoolCal (5 min)

  • Sign in to SchoolCal with your Google email

  • Click “Connections” from the left-hand menu

  • Find “V3 API connection” and click “Manage Connection

  • Fill in your school's short nameAPI username, and secret key (found on the Veracross Identity & Access Management page)

  • Click “Update Connection

  • Click “Data” from the left-hand menu

  • Click “Load SIS Data

Step 4: Connect Google to SchoolCal (5 min)

  • Click “Connections” from the left-hand menu

  • Find “Google” and click “Manage Connection

  • Click “Edit

  • Enter the email address for your SchoolCal Google user

  • Click “Update Connection

Step 5: Run a Test Sync (10 min)

  • Navigate to “Flows” in the left-hand menu

  • Click “Add New Flow

  • Select Flow Type: “Class Schedules to User Calendars

  • Input Flow Name, e.g. “Schedules Test Sync”

  • Find your new Flow under all Flows, and click View Details

  • Click Filters and apply desired filters for this Flow

  • Click Template and customize how the events are displayed

    • Select an event type from the “Available Fields” panel on the right

    • This will display all metadata available to add to the template

    • To input metadata, wrap metadata names in brackets {{ }}, and use periods to indicate nested or “child” schema

    • Example: to include a Class Schedule’s course name, you’d write: {{Section.Course.Name}}

  • Enable the Pilot Mode toggle at the top of the Flow page

  • Click the Pilot Users link below the toggle, and input the users you want to run a test sync with

  • Click Sync Flow Now to initiate a sync

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article