Skip to main content
Your Digital Twin contains the call_canvas and search_canvas tools specialized in interacting with and retrieving data from Canvas using the Canvas REST APIs.
Understanding the two Canvas tools:
  • call_canvas — The comprehensive Canvas integration tool that provides full access to the Canvas REST API ecosystem. Use this tool for complete CRUD operations including creating assignments, grading submissions, managing enrollments, posting discussions, retrieving detailed analytics, and any operation that requires write access or complex data manipulation.
  • search_canvas — A lightweight, read-only tool that exclusively leverages the Canvas Smart Search API. Use this tool when you only need to discover and retrieve links to specific content within a course (such as finding a particular assignment, page, or resource). It’s optimized for quick content discovery without the overhead of full API access.
When to use each:
  • Choose search_canvas for simple queries like “find the syllabus” or “locate the midterm assignment”
  • Choose call_canvas for actions like grading, creating content, viewing detailed submission data, or any operation beyond basic search

Overview

Pria Tools for Canvas (called Canvas Tools on a few screens) enable seamless, conversational access to your Canvas Learning Management System through natural language queries. Instead of navigating through multiple web pages and menus, users can simply ask questions and receive immediate, accurate responses powered by Canvas REST APIs.

Benefits and Use Cases

For Students

The Canvas tools transforms how students interact with their coursework by providing instant access to critical information:
  • Quick Assignment Lookups: Ask “When is my biology assignment due?” or “What assignments do I have this week?” to get immediate answers
  • Grade Tracking: Query “What’s my current grade in calculus?” or “Show me my quiz scores” without navigating through multiple pages
  • Discussion Management: Find out “What discussions do I need to respond to this week?” to stay on top of participation requirements
  • Deadline Management: Eliminate the stress of clicking through Canvas menus during busy study periods

For Educators

Teachers and instructors gain powerful administrative and pedagogical capabilities:
  • Student Progress Monitoring: Instantly identify “Which students haven’t submitted their midterm papers?” or “Show me all students who scored below 70% on the last three quizzes”
  • Data-Driven Instruction: Access participation data, engagement metrics, and performance analytics for early intervention strategies
  • Administrative Efficiency: Check enrollment numbers, retrieve discussion participation data, and manage course logistics through simple conversations
  • Content Management: Create discussion posts, manage assignments, and update course materials using natural language commands

Advanced Capabilities

The tools handle sophisticated queries that would typically require multiple manual steps:
  • Complex filtering and sorting of student data
  • Bulk operations on assignments and enrollments
  • Cross-referencing multiple data sources (grades, submissions, participation)
  • Automated reporting and analytics generation

How It Works

Architecture

Behind the scenes, the Canvas tools operate through a sophisticated translation layer:
  1. Natural Language Processing: Converts user questions into structured API requests
  2. Authentication Handling: Automatically manages OAuth tokens and session credentials
  3. API Translation: Maps conversational queries to precise Canvas REST API endpoints
  4. Data Formatting: Transforms API responses into human-readable, contextual answers
  5. Error Handling: Gracefully manages API limitations and provides helpful feedback

Example Workflows

Student Query Flow:
Instructor Query Flow:
Administrative Query Flow:

Role-Based Access Control

The Canvas tools call Canvas with each person’s own Canvas authorization — the consent they give the first time the twin needs Canvas. Canvas then applies that person’s role in the course, and the scopes of your Developer Key.

Permission Levels

Students

Read-Only Access
  • View assignments and submissions
  • Check grades and feedback
  • Access course content
  • Participate in discussions

Instructors

Teaching Functions
  • Grade assignments
  • Manage course content
  • Create discussions and assignments
  • View student analytics
  • Post announcements

Administrators

Full Access
  • Account management
  • User enrollment operations
  • System-wide analytics
  • Course creation and deletion
  • Institution-level settings

Security Model

Key Security Features:
  • Each call uses the person’s own Canvas token, so Canvas allows only what their role and your Developer Key’s scopes allow
  • Tokens refresh automatically; each person can remove theirs at any time (see Removing Token)
  • Every Canvas call is listed under Tool Details on the answer that made it
A Canvas Faculty Access Token (see Digital Twin Configuration) acts with that instructor’s rights, not the rights of the person asking. When one is set, the twin can use it for anyone who talks to it — for example to read a gradebook on a student’s behalf. Set it only on Digital Twins where that is intended.

Getting Started

Prerequisites

Before configuring the Canvas tools, ensure you have:
  • Administrative access to your Canvas instance
  • Permissions to create Developer Keys in Canvas
  • Access to your Praxis Digital Twin configuration panel

Setup Overview

1

Create Developer Key

Generate API credentials in Canvas to enable communication between Praxis and Canvas
2

Disable Scope Enforcement (Development)

During initial setup, disable scope enforcement on your Developer Key so you can explore the full Canvas API without restrictions
3

Configure Digital Twin

Add Canvas credentials to your Digital Twin
4

Test & Document Scopes

Talk to your Digital Twin about Canvas topics as a normal user would. After each answer, open Tool Details underneath it — it lists every Canvas address the twin called. Keep that list: it becomes your scope list in the next step.
5

Enable Scopes (Production)

Once you have a complete list, enable scope enforcement on your Canvas Developer Key and add the same scopes to your Digital Twin’s configuration
The Developer Key you create for API access is separate and distinct from any LTI (Learning Tools Interoperability) keys used for embedding Pria as an LTI activity within Canvas.

Several Digital Twins, one set of credentials

For Accounts Managing Multiple Digital Twins: Organizations with several Digital Twins can streamline configuration by storing Canvas API credentials at the account level:
  • Centralized Configuration: Set the Canvas Client ID, Secret, API scopes and Faculty Access Token once on the account
  • Applies to every twin: A value set on the account is used by every Digital Twin in it, in place of the twin’s own value
  • Simplified Maintenance: Update credentials in one place to affect all of them
  • Focus on Customization: Teachers can concentrate on behavior and content personalization rather than technical setup
An account manager sets these in Admin › Accounts, on the account’s Shared Integrations tab. Secrets are never shown again after saving: leave a field blank to keep it. To become an account manager, contact the Praxis AI team at humans@praxis-ai.com. Move credentials to the account once your API scopes have stabilized.

Create Developer Keys

Developer Keys provide the authentication credentials necessary for your Digital Twin to communicate with Canvas through REST APIs.
Only one Developer Key is needed per organisation and can be shared across several Digital Twins.

Step-by-Step Configuration

1

Sign in to Canvas

Log in to your Canvas instance with administrative credentials.
Canvas sign-in page
2

Navigate to Admin Panel

Click Admin in the left navigation menu, then select your institution’s account (e.g., “Praxis AI”).
Canvas admin account selection
3

Access Developer Keys

In the account settings, select Developer Keys from the navigation menu.
Developer Keys menu option
4

Create New API Key

a. Click the + Developer Key button in the top-right corner
Add Developer Key button
b. Select + API Key from the dropdown menu
5

Configure Key Settings

Fill in the following required fields:Leave all other fields empty.
API Key settings form
6

Configure API Scopes

Scopes control which Canvas API endpoints your Developer Key is allowed to call. Think of them as a whitelist — if a scope isn’t enabled here, the API will reject the request even if the user has Canvas permissions for it.
Important: When first creating your Developer Key, we strongly recommend you disable scope enforcement. This allows unrestricted API access during development so you can discover which endpoints your Digital Twin actually needs. You will enable specific scopes later once you have a complete list.
a. Development Mode (Recommended First Step): Leave scope enforcement disabled. Interact with your Digital Twin normally and open Tool Details under each answer — it shows exactly which Canvas API endpoints each query uses. Keep a record of these endpoints; you will need to enable them as scopes here and add them to your Digital Twin’s configuration.b. Production Mode: Once you have documented all required endpoints, return to this Developer Key and enable scope enforcement:
  • Use the search box to find specific API functions (e.g., type “smart” to locate Smart Search)
  • Check the boxes for each API function you documented during development
Scope selection interface
Every scope you enable on this Developer Key must also be listed in your Digital Twin’s configuration. See the Canvas Scopes Reference for the full list of available scopes and the Digital Twin Configuration section for where to add them.
c. Click Save in the bottom-right cornerd. Enable the Developer Key by toggling the State button to “ON”
Enable API key toggle
7

Copy Credentials

Under the Details section:
  • Copy the Client ID (the numeric identifier, e.g., XXX217)
  • Click Show Key and copy the Client Secret
Store these credentials securely—you’ll need them for Digital Twin configuration.
Remember: One Developer Key can serve several Digital Twins. You’ll use these credentials when configuring each Digital Twin that needs Canvas access.

Understanding Scope Enforcement

When you enable scopes for Pria’s API integration, you establish precise security boundaries:
  • Explicit Permissions: Define exactly which Canvas operations Pria can perform on behalf of users
  • Principle of Least Privilege: Grant only the minimum access necessary for required functionality
  • Data Protection: Ensure Pria accesses only the data it needs to function
  • Audit Trail: Track which API functions are authorized and used
The Canvas tools act with each person’s own Canvas token, so Canvas’s native permissions apply: even with broad API scopes enabled, people can only do what their Canvas role (student, instructor, administrator) allows. The exception is a Canvas Faculty Access Token, which acts with that instructor’s rights.

Digital Twin Configuration

After creating your Developer Key in Canvas, you need to configure your Digital Twin with the API credentials.

Configuration Steps

1

Access Admin Panel

Click Admin at the top of your Praxis interface and select Instances (the admin list of Digital Twins).
2

Locate your Digital Twin

Find your Digital Twin in the list and click the green Edit pencil icon on the left.
Edit Digital Twin instance
3

Add API Credentials

In the editor:a. On the Configuration and Integrations tab, scroll to Integrations › Canvasb. Paste the credentials you copied from the Canvas Developer Key into Canvas Client Id and Canvas Client SecretCanvas API credentials fields
To post comments or perform teacher-level operations, create a personal access token for a registered course instructor and enter it in Canvas Faculty Access Token. Read the warning under Security Model first.
4

Canvas API Scopes

This is where you register the scopes your Digital Twin is allowed to use. The scopes listed here must match the scopes enabled on your Canvas Developer Key — if a scope is enabled in Canvas but not listed here (or vice versa), API calls for that endpoint will fail.
If you disabled scope enforcement on your Canvas Developer Key during development (as recommended), you still need to add scopes here. This list tells your Digital Twin which Canvas API endpoints it is permitted to call.
Each scope follows the syntax url:<HTTP Verb>|<Canvas API Endpoint Path>. For example:
  • The scope for GET /api/v1/courses/:course_id/smartsearch is url:GET|/api/v1/courses/:course_id/smartsearch
  • The scope for GET /api/v1/courses/:course_id/rubrics is url:GET|/api/v1/courses/:course_id/rubrics
Add the scopes you documented during your development/testing phase. See the Canvas Scopes Reference for a complete reference of available scopes.
If no scopes are configured for the Digital Twin (or at the account level, which takes precedence), Pria requests only the Smart Search scope (url:GET|/api/v1/courses/:course_id/smartsearch) by default.
Each Canvas API endpoint has an associated scope, and Canvas Developer Key scopes can only be enabled or disabled by a root account administrator or an Instructure employee. More info: Canvas REST APIs ScopesCanvas API Scopes
Use the Upload/Download buttons to manage the list with ease.Upload/Download
5

Authenticate on SDK Login

Turn on Require LMS sign-in on launch (Canvas or Blackboard) (in its own LMS sign-in (Canvas and Blackboard) section; also in Instance Settings › Connectors) to make everyone who opens the twin from Canvas authorize it in Canvas first. This Canvas sign-in also stands in for the emailed code that admin accounts are otherwise asked for inside Canvas — see More security for LMS login.Authenticate on SDK Login
6

Public Authorized URLs

Under Integrations › Embedding & LTI, the Canvas tools use the first URL in Public Authorized URLs that contains .instructure.com or .edu to authenticate and execute requests against your school’s Canvas REST APIs — ensure this URL is correct. A Canvas API URL set on the account (Shared Integrations tab) takes precedence.
Canvas API URL
As an example, the first URL in the list is Praxis AI’s Instructure URL: https://praxis-ai.instructure.com.
If your institution has a vanity URL, use that instead (e.g., https://my.university.edu).
7

Save Configuration

Click Update at the bottom of the panel to save your changes.
These credentials enable your Digital Twin to authenticate with Canvas on behalf of users. The actual user permissions are determined by their Canvas role and the OAuth authorization they grant.

Testing Your Canvas Integration

Once configuration is complete, verify that your Digital Twin can successfully connect to Canvas. This is the authorization screen students and instructors will see when first connecting to Canvas: Canvas Ss Consent Web

Initial Connection Test

1

Ask a Canvas Question

Navigate to your Digital Twin and ask a Canvas-related question:
or
2

Authorize Access

On first connection (or when your token expires), you’ll be prompted to authorize your Digital Twin to access Canvas:
  • Click the authorization link provided oAuth2 Connection
  • Review the permissions requested oAuth2 Authorize
  • Click Authorize in the Canvas OAuth consent screen
  • You’ll be redirected back to Praxis automatically oAuth2 Success
3

Verify Response

Your Digital Twin should return relevant information from your Canvas course, confirming successful integration.Tool Response
4

Tool Details

A comprehensive audit log of the Digital Twin’s Canvas interactions via the call_canvas tool is available in the Tool Details section of each response, allowing you to review successful execution status and identify the specific API functions that were called during the interaction.Tool Details
Token Management: Access tokens are valid for 60 minutes and are automatically refreshed in the background to maintain seamless access. You typically only need to authorize once per session or when tokens expire.

What to Test

Verify different types of queries based on your role: Students:
Instructors:
Administrators:

Troubleshooting

Pria’s own error messages say instance where this guide says Digital Twin — they mean the same thing.

Standalone accounts

Error message:

Invalid or missing API URL

Symptom: Authentication fails or redirects to the wrong Canvas instance Error message:
Cause: The system cannot determine your institution’s Canvas domain, or there’s a mismatch in the authorized URLs configuration. Solution:
1

Check Authorized URLs

In your Digital Twin configuration, ensure the first line of your Public Authorized URLs contains your institution’s primary Canvas domain:
2

Verify Domain Priority

The Canvas tools use the first domain in your authorized URLs list that contains .instructure.com or .edu. Order matters:Correct Order:
The tools will use school.instructure.com (production)
Production vs. Test Instances: It is strongly recommended NOT to share a single Digital Twin between production and test Canvas instances. This can cause domain confusion and authentication failures.If you must use both environments, the Canvas tools will select the first domain in your authorized URLs list that contains either:
  • An .edu vanity domain (e.g., school.edu)
  • .instructure.com (Canvas cloud hosting)

Invalid or missing Client ID or Secret

Symptom: Error message about Client ID or Secret missing
Solution:
  1. Verify that you’ve copied the correct Client ID and Secret from Canvas
  2. Ensure the Developer Key is enabled in Canvas
  3. Check that the Redirect URI in Canvas matches: https://pria.praxislxp.com/api/auth/token_complete
  4. Update your Digital Twin with the correct credentials

Invalid or missing course information

Error message:
This happens when the Digital Twin has no course context — launch Pria from a course page (or a placement that passes the course id) so the tools know which course to query.

Insufficient Scopes Error

Error Message:
Example:
Cause: The API endpoint being accessed requires a scope that hasn’t been authorized in your Canvas Developer Key. Solution:
1

Identify Required Scope

From the error message, note the endpoint path (e.g., /api/v1/courses/:course_id/assignments)
2

Add Scope in Canvas

  1. Return to Canvas Developer Keys
  2. Edit your Pria API key
  3. Search for and enable the required scope
  4. Save changes
3

Generate New Token

Users need a new token with the updated scopes: each person removes their Canvas token (see Removing Token), then asks a Canvas question again and authorizes when prompted. Signing out of Pria does not remove the token.
Important: When scopes are enforced, they must be defined in both locations:
  1. Your Canvas Developer Key (authorizes the scopes)
  2. Your Digital Twin configuration (declares required scopes)
Any modifications to the scope list require generating new access tokens, as scopes are embedded in the token at creation time.

Token Expiration Issues

Symptom: Frequent re-authorization requests or “token expired” messages Cause: Canvas access tokens last 60 minutes Solution: This is normal behavior. The system automatically refreshes tokens in the background. If you’re prompted to re-authorize:
  1. Click the authorization link
  2. Approve the request in Canvas
  3. Continue your session
If you experience excessive re-authorization requests, check that your browser allows cookies from pria.praxislxp.com and your Canvas domain.

Removing Token

When scopes have changed and require a new token, or to simply re-issue a new authorization token:
1

Go to Profile

Open Your Profile from the profile menu, then the Canvas / LTI tab.Profile
2

Remove Token

Under Canvas Access Token, select Remove to delete your Canvas token.Profile
3

Issue New Token

To generate a new token, simply ask a question about content on Canvas and follow the OAuth2 authorization flow.Profile

Canvas Scopes

Canvas API scopes are permission controls that act as a whitelist for your application’s API access. When scope enforcement is enabled on a Developer Key, Canvas only allows API calls to endpoints that have been explicitly authorized — all other requests are rejected with a 401 error, regardless of the user’s Canvas role. Scopes must be configured in two places (the Canvas Developer Key and your Digital Twin’s configuration), and both lists must match.

Canvas Scopes Reference

The complete scope reference — scope anatomy, common scopes by category, example use-case configurations, a starter JSON, best practices, and scope troubleshooting.
Canvas Smart Search provides an intelligent fallback mechanism when specific API endpoints are unavailable or return insufficient data due to scope restrictions. Smart Search is Canvas’s AI-powered search capability that allows natural language queries across course content, returning relevant results from:
  • Assignments and submissions
  • Discussion topics and posts
  • Pages and modules
  • Files and documents
  • Announcements
  • Quiz content
The Canvas tools automatically fall back to Smart Search when:
  1. Specific API endpoints lack required scopes
  2. Direct API queries return no results
  3. Complex cross-resource queries are needed
  4. Natural language search provides better context
API Endpoint:
Required Scope:

Official Documentation

For detailed information about Smart Search capabilities and parameters: Canvas Smart Search API Documentation

Availability and Requirements

Environment Availability: According to Canvas deployment notes, Smart Search is available only for Beta and Production releases. It may not be available in test or development Canvas instances.If you experience issues with Smart Search even after proper configuration, contact Instructure Support to verify that your Canvas instance has Smart Search enabled.

Best Practices

Recommended Configuration: Always include the Smart Search scope in your production configuration:
This ensures your Digital Twin can gracefully handle edge cases and provide comprehensive search capabilities even when specific API scopes are restricted.

Additional Resources

Support

For assistance with Canvas tools configuration or troubleshooting:

Community Examples

Explore real-world implementations and advanced use cases in the Praxis AI Community Repository: