Canvas

Learning management system

Go to site
Explore
/
Apps
/
Canvas

Canvas API Integrations

Build and run workflows using the Canvas API. Use 1000s of source-available triggers and actions across 2,000+ apps. Or write custom code to integrate any app or API in seconds.

Overview

The Canvas API allows you to tap into the power of the Canvas Learning Management System, enabling educators and administrators to automate tasks, synchronize educational tools, and manage courses and users programmatically. It provides endpoints for accessing course information, user details, assignments, and more, which can be incredibly useful for creating customized educational experiences and streamlining administrative workflows. With Pipedream, you can harness these capabilities to trigger actions, connect with other apps and services, and create complex automations without writing extensive code.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import { axios } from "@pipedream/platform"
export default defineComponent({
  props: {
    canvas: {
      type: "app",
      app: "canvas",
    }
  },
  async run({steps, $}) {
    return await axios($, {
      url: `https://${this.canvas.$auth.domain}/api/v1/users/self`,
      headers: {
        Authorization: `Bearer ${this.canvas.$auth.oauth_access_token}`,
      },
    })
  },
})

Choose an API to Connect with Canvas API

1
-
24
of
2,000+
apps by most popular

HTTP / Webhook
HTTP / Webhook
Get a unique URL where you can send HTTP or webhook requests
Node
Node
Anything you can do with Node.js, you can do in a Pipedream workflow. This includes using most of npm's 400,000+ packages.
Python
Python
Anything you can do in Python can be done in a Pipedream Workflow. This includes using any of the 350,000+ PyPi packages available in your Python powered workflows.
OpenAI (ChatGPT)
OpenAI (ChatGPT)
OpenAI is an AI research and deployment company with the mission to ensure that artificial general intelligence benefits all of humanity. They are the makers of popular models like ChatGPT, DALL-E, and Whisper.
Salesforce (REST API)
Salesforce (REST API)
Web services API for interacting with Salesforce
HubSpot
HubSpot
HubSpot's CRM platform contains the marketing, sales, service, operations, and website-building software you need to grow your business.
Zoho CRM
Zoho CRM
Zoho CRM is an online Sales CRM software that manages your sales, marketing, and support in one CRM platform.
Stripe
Stripe
Stripe powers online and in-person payment processing and financial solutions for businesses of all sizes.
Shopify Developer App
Shopify Developer App
Shopify is a user-friendly e-commerce platform that helps small businesses build an online store and sell online through one streamlined dashboard.
WooCommerce
WooCommerce
WooCommerce is the open-source ecommerce platform for WordPress.
Snowflake
Snowflake
A data warehouse built for the cloud
MongoDB
MongoDB
MongoDB is an open source NoSQL database management program.
Supabase
Supabase
Supabase is an open source Firebase alternative.
MySQL
MySQL
MySQL is an open-source relational database management system.
PostgreSQL
PostgreSQL
PostgreSQL is a free and open-source relational database management system emphasizing extensibility and SQL compliance.
AWS
AWS
Amazon Web Services (AWS) offers reliable, scalable, and inexpensive cloud computing services.
Twilio SendGrid
Twilio SendGrid
Send marketing and transactional email through the Twilio SendGrid platform with the Email API, proprietary mail transfer agent, and infrastructure for scalable delivery.
Amazon SES
Amazon SES
Amazon SES is a cloud-based email service provider that can integrate into any application for high volume email automation
Klaviyo
Klaviyo
Email Marketing and SMS Marketing Platform
Zendesk
Zendesk
Zendesk is award-winning customer service software trusted by 200K+ customers. Make customers happy via text, mobile, phone, email, live chat, social media.
ServiceNow
ServiceNow
The smarter way to workflow
Notion
Notion
Notion is a new tool that blends your everyday work apps into one. It's the all-in-one workspace for you and your team.
Slack
Slack
Slack is a channel-based messaging platform. With Slack, people can work together more effectively, connect all their software tools and services, and find the information they need to do their best work — all within a secure, enterprise-grade environment.
Microsoft Teams
Microsoft Teams
Microsoft Teams has communities, events, chats, channels, meetings, storage, tasks, and calendars in one place.

Example Use Cases

  • Automated Course Enrollment: Trigger an automation that adds students to courses in Canvas based on their enrollment in a separate student information system. When a new student record is created in the SIS, the workflow on Pipedream can add that student to the appropriate Canvas course.

  • Assignment Submission Tracking: Monitor assignment submissions in real-time by setting up a workflow that listens for new submissions on Canvas. When a submission is detected, send a notification to the instructor via email, Slack, or another messaging service connected through Pipedream.

  • Grading and Feedback Sync: Simplify the grading process by creating a workflow that automatically retrieves new grades entered in Canvas and syncs them with an external gradebook. Additionally, feedback entered in the external system can be pushed back to Canvas, keeping all records consistent and up-to-date.

Authentication

Canvas uses OAuth authentication. When you connect your Canvas account, Pipedream will open a popup window where you can sign into Canvas and grant Pipedream permission to connect to your account. Pipedream securely stores and automatically refreshes the OAuth tokens so you can easily authenticate any Canvas API.

Pipedream requests the following authorization scopes when you connect your account:

OAuth Request Configurations:
  1. authorization
    GEThttps://{{custom_fields.domain}}/login/oauth2/auth?client_id={{custom_fields.client_id}}&redirect_uri={{oauth.redirect_uri}}&state={{oauth.state}}&response_type=code&scope={{oauth.space_separated_scopes}}
  2. accessToken
    POSThttps://{{custom_fields.domain}}/login/oauth2/tokencontent-type: application/x-www-form-urlencodedaccept: application/json
    client_id={{custom_fields.client_id}}&client_secret={{custom_fields.client_secret}}&redirect_uri={{oauth.redirect_uri}}&grant_type=authorization_code&code={{oauth.code}}&replace_tokens=false
  3. refreshToken
    POSThttps://{{custom_fields.domain}}/login/oauth2/tokencontent-type: application/x-www-form-urlencodedaccept: application/json
    client_id={{custom_fields.client_id}}&client_secret={{custom_fields.client_secret}}&grant_type=refresh_token&refresh_token={{oauth.refresh_token}}