Follow

Zapier Integration

This document describes how to set up integration via Zapier.

Zapier Integration Overview

Zapier is essentially a GUI interface for building your own integration to any system that has open APIs. This means that you can readily integrate QuickSchools with any other system, using Zapier as the go-between.

 

To facilitate this integration, you will need to first establish a link between Zapier and an external system (like QuickSchools). From there, you can create either a Trigger or an Action. These are described in more detail below:

Triggers in Zapier

A trigger is essentially an API call to an external system that checks for new / updated records. Once a new / updated record is detected, the Trigger can be used to facilitate an Action.

 

For QuickSchools, there are a specific set of API Resources that you can use to detect new records. Please see “API Endpoints in QuickSchools” section below for a complete list.

Actions in Zapier

Similar to Triggers, Actions are also an API call to an external system, EXCEPT instead of detecting changes, an Action will perform an action on a particular record (for example, create a new record, update a record, or delete a record).

For QuickSchools, a complete list of API Resources available for Actions are listed in the following site:

https://apidocs.quickschools.com 

Zaps: Putting it all together

Once you’ve created Triggers and Actions in Zapier, you can then link them together into Zaps. So for example, you could have a trigger in QuickSchools to detect new students, and you can then have an Action to send out emails. By creating a Zap, you can link any number of Actions to a Trigger. This means that you can automatically send out emails when a student is created in QuickSchools.

 

Setting up an Account on Zapier

Signing up for an account

  • Go to https://zapier.com/ 
  • Click on Sign-up
    • Enter Work Email, First Name and Last name
    • Click on Sign Up
  • Enter Password > Click on Sign Up
  • Select your Role and Company Size > Click on Continue
  • Select Apps you would want to use (optional)

Creating a Zapier Integration

Create a Zapier Integration App

Zapier_Integration.png

  • Enter all required fields for the App
    • Name (Example: QuickSchools)
    • Description
    • Intended Audience: select Private
    • Role (Example: I have no affiliation with _)
    • Category (Example: Education)
  • Click on Create

Authentication

When setting up Authentication, you will need the following:

  • API Endpoint
  • API Key

API Endpoints in QuickSchools

The following API endpoints can be used for creating triggers with QuickSchools

API endpoint URL and Respective fields returned:

  • Students: https://api.quickschools.com/sms/v1/students-zap
    • Fields Returned: 
      • "id" - Student Stub ID
      • "fullName" - Student Full Name
      • "studentNumber" - Student Number
      • "smsClassId" - Class ID
      • "classCode" - Class Code (Grade Code)
      • "className" - Class Name (Grade Level)
      • "email" - Student Email address
      • "enrollmentDate" - Enrollment Date
      • "multiLineResidentialAddress" - Student address
      • "zip" - Zip Code
      • "state" - State
      • "city" - City
      • "country" - Country
      • "username" - Quickschools username for student, return "N/A" if not available
  • Teachers: https://api.quickschools.com/sms/v1/teachers-zap
    • Fields Returned:
      • "id" - Teacher ID
      • "fullName" - Teacher Full Name
      • "title" - Title
      • "gender" - Teacher gender
      • "creationDate" - Creation Date
  • Sections: https://api.quickschools.com/sms/v1/sections-zap
    • Fields Returned:
      • "id" - Subject Set ID
      • "sectionCode" - Subject Set Code
      • "sectionName" - Subject Set Name
      • "classId" - Class ID
      • "className" - Class Name (Grade Level)
      • "creationDate" - Creation Date
      • "teachers" - An array of JSON objects that contain teacher information:
      • "id": Teacher ID
      • "fullName": Teacher full name
      • "employeeNumber" - Employee Number
  • Section Enrollment: https://api.quickschools.com/sms/v1/sectionenrollments-zap
    • Fields Returned:
      • "id" - Section Enrollment ID
      • "classSubjectSetId" - Subject Set ID
      • "sectionCode" - Subject Set Code
      • "sectionName" - Subject Set Name
      • "studentStubId" - Student Stub ID
      • "studentNumber" - Student Number
      • "fullName" - Student Full Name

For all other endpoint, please refer to the following site:

https://apidocs.quickschools.com 

 

API Key in QuickSchools

You can obtain your QuickSchools API Key for your school, by going to the Developer Console:

  • Enable the Developer Console:
    • Go to Settings > Turn Features On/Off tab
    • On the bottom most portion of the screen, click on Enable under “Interested in developing your own apps?”

Enable_Developer_Console.png

    • Once enabled, you will be asked to configure the module. Ensure that you have access to the API Key

Configure_Developer_Console.png

    • Once the configuration is saved
      • Go to App Developer Console > API Keys tab
      • Click on Create New API Key
        • Enter the description for the API Key

Create_New_API_Key.png

    • Once the API Key has been created, to access the key, click on Show under the API KEY column

Access_API_Key.png

NOTES:

  • To know more about QuickSchools API Keys, please see here.


Setting up the Authentication in Zapier

  • In the Integration Home
    • Click on Setup Authentication

Setup_Zapier_Authentication.png

    • Select API Key
    • Click on Save

Setup_Zapier_Authentication_2.png

  • Under Step 1: Configure your Fields
    • Click on Add Fields

Setup_API_Key.png

      • Enter the Label (Example: API Key)
      • Enter the Key (Example: apiKey)
      • Set the field as Required
      • Set the Default Value (optional)
        • You can set the API Key from QS as the default value
      • Click on Add

API_Step_1.png

API_Step_2.png

    • Click on Show Options
      • Ensure that the URL Params is apiKey - {{bundle.authData.key}}
    • Click on Save & Continue

API_Step_2.1.png

  • Under Step 3: Test your Authentication
    • Click on “Sign in to [APP_NAME]”

API_Step_3.png

      • Enter the required field -- API Key
      • Click on Yes, continue

API_Step_3.1.png

    • Click on Test Authentication
    • Once successful, click on Save & Finish

API_STep_3.2.png

If the authentication is successful, you would see a “Request Successful” and a set of data under the Response tab.

API_Step_3.3.png

NOTES:

  • To know more about Zapier Authentication, see here.

 

Setting up a Trigger

  • In your Integration Dashboard, click on Triggers (found on the Left Panel)
  • Click on Add Trigger

Trigger_1.png

    • Enter the Key (Example: new_student)
    • Enter the Name (Example: New Student)
    • Enter the Noun (Example: student)
    • Enter the Description (Example: Triggers when a new student is added)
    • Enter the Directions (Optional - ideal if input is needed from user)
    • Select Visibility
    • Click on Save and Continue

Trigger_2.png

  • If you would want to add filters or allow users to enter data, you can add the fields in the Input Designer Tab; Otherwise skip this step and go straight to the API Configuration.
    • Click on Add User Input Field

Trigger_3.png

      • Enter the Key
      • Enter the Label
      • Enter the Help Text (Optional)
      • Select the Field Type
      • Enter the Default Text (Optional)
      • Set additional options:
        • Required
        • Allows Multiples
        • Alters Dynamic Fields
        • Dropdown
      • Click on Save

Trigger_4.png

  • Once your input fields have been set (optional), you can now setup your API Configuration:
    • Step 1: Configure your API Request
      • Set the Trigger Type:
        • REST Hook - This allows Zaps to run as soon as new data comes into your app.
        • Polling - Zapier sends a GET request to an API endpoint URL to request new data 
    • Set the API Endpoint
      • Enter the API endpoint URL
      • Click on Show Options
        • Set the apiKey Value
    • Set the Pagination (Optional)
    • Click on Save API Request & Continue

Trigger_5.png

  • Step 2: Test your API Request
    • Select the account you would want to test (automatically set)
    • Click on Test Your Request

Trigger_6.png

      • If test is successful, click on Finish Testing & Continue

Trigger_7.png

  • Step 3: Define your Output
    • Enter Sample data
      • Click on Use Response from Test Data to use the data from the successful API Request; Otherwise, manually enter the values
    • Define your Output Fields
      • Click on Generate Output Field Definitions to automatically add Output Fields based on the Sample Data; Otherwise, manually enter the values:
        • Set the Key
        • Set the Label
        • Set the Field Type
      • Click on Save Output & Finish

Trigger_8.png

  •  

Example:

Trigger_9.png

 

NOTES:

  • Live Zaps automatically poll the URL for new data every 5 to 15 minutes, depending on the user’s Zapier plan.
  • Sample Output data is important for Triggers.
  • To know more about Adding a Trigger, see here.
  • To know more about Zapier’s Input Designer, see here.
  • To know more about REST Hooks, see here.


Setting up an Action

  • In your Integration Dashboard, click on Actions (found on the Left Panel)
  • Click on Add Action

Action1.png

  • Configure the Action Setting
    • Select the Action Type
      • Create - creates new items from the data users enter.
      • Search - find data in apps and optionally create new items if the search returns no results.
    • Enter the Key (Example: new_student)
    • Enter the Name (Example: New Student)
    • Enter the Noun (Example: Student)
    • Enter the Description (Example: Creates a new Student Record)
    • Set the Visibility Options
    • Click on Save and Continue

Action2.png

  • Configure your Input Fields (Optional)
    • Under Input Designer > Click on Add > Select the Field Type 
      • Input Field - the main type of field that most integrations use, with 10 field types to let users enter plain text data and map variables from previous triggers and actions into the field.
      • Dynamic Field - make API calls to your app, then show the returned data in a dropdown menu so users can select the item needed, often used for folders, projects, assignees, and other data that would need to be chosen from your app.
      • Line Item Group - organize a set of Input Fields to create line items, where each item in a comma separated list entered in the field would create a new separate item in your app, often used for line items in invoice and accounting apps.
    • In our case, we will select Input Field
      • Enter the Label
      • Enter the Key
      • Enter the Help Text (optional)
      • Select the Field Type
      • Enter the Default Test (optional)
      • Set the additional options
        • Required
        • Allows Multiple
        • Alters Dynamic Fields
        • Dropdown
        • Click on Save
  • Repeat the process until all input fields have been added.

Action3.png

  • Setup the API Configuration
    • Step 1: Configure your API Request
    • Enter API endpoint URL
    • Ensure that the URL Params are set 
      • Input Values would need to be set as URL Params and Removed from the Request Body
      • Use identifier {{bundle.inputData.[field_name]}} (replace [field_name] with the Key value of the field)
    • Click on Save API Request & Continue

Action4.png

    • Step 2: Test your API Request
      • Select the Account to be used for the test
      • Enter the values for the input fields set
      • Click on Test Your Request

Action5.png

      • If test is successful, click on Finish Testing & Continue

Action6.png

    • Step 3: Define your Output
      • Enter Sample Data (optional)
      • Define Output Fields (optional)

NOTES:

  • For Actions API endpoint URL and field identifiers, please see here.
  • To know more about Adding an Action, see here.
  • To know more about Input Designer, see here.
  • To know more about Zapier Action Types, see here.


Examples Scenarios (Zaps)

Here we discuss examples on how the QuickSchools API is used to address a specific use case, but linking either a Trigger or Action into a Zap.

Example 1: Adding a Student Record (Action)

To test the integration, besides in the Developer Platform

  • Go to https://zapier.com/app/dashboard
  • Click on Make a Zap
  • Setup your Trigger
    • In our example, the new student found in the trigger (below) will be added to a different QuickSchools Account.
  • Search for the App you created for the Action

Example_1.1.png

  • Select the Action Event from the list
  • Click on Continue

Example_1.2.png

  • Select the account to use (initialized during the Authentication Setup)
  • Click on Continue

Example_1.3.png

  • Map fields from your Trigger
  • Click on Continue

Example_1.4.png

  • Click on Test & Review

Example_1.5.png

  • Once the Test is Successful, you can either Retest the Action or Turn on the Zap

Example_1.6.png

Example 2: When a new Student record is created (Trigger)

To test the integration, besides in the Developer Platform

QuickSchools:

  • Create a new student record in QuickSchools

Example_2.1.png

Zapier:

Example_2.2.png

  • Select the Trigger you created from the list.
  • Click on Continue

Example_2.3.png

  • Select the account to use (this would be created during the initial login when setting up the Authentication)
  • Click on Continue

Example_2.4.png

  • Click on Test Trigger

Example_2.5.png

  • The most recently added student record would appear in the output.

Example_2.6.png

 

If you have any questions or concerns with the setting up your Zapier Integration, feel free to contact us via chat or email us at support@quickschools.com.

ARTICLE TAGS

Integrations Zapier

Was this article helpful?
0 out of 0 found this helpful