-
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.
- Choose
search_canvasfor simple queries like “find the syllabus” or “locate the midterm assignment” - Choose
call_canvasfor actions like grading, creating content, viewing detailed submission data, or any operation beyond basic search
Overview
The Pria tools for Canvas (a.k.a Canvas Tools) enables 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:- Natural Language Processing: Converts user questions into structured API requests
- Authentication Handling: Automatically manages OAuth tokens and session credentials
- API Translation: Maps conversational queries to precise Canvas REST API endpoints
- Data Formatting: Transforms API responses into human-readable, contextual answers
- Error Handling: Gracefully manages API limitations and provides helpful feedback
Example Workflows
Student Query Flow:Role-Based Access Control
The Canvas tools implement intelligent, automatic role-based access control that adapts to each user’s Canvas permissions:Automatic Role Detection
The system determines user roles through:- SSO (Single Sign-On) authentication data
- OAuth token permissions and scopes
- Canvas enrollment and membership information
Permission Levels
Students
- View assignments and submissions
- Check grades and feedback
- Access course content
- Participate in discussions
Instructors
- Grade assignments
- Manage course content
- Create discussions and assignments
- View student analytics
- Post announcements
Administrators
- Account management
- User enrollment operations
- System-wide analytics
- Course creation and deletion
- Institution-level settings
Security Model
- Automatic permission verification before each API call
- Scope-based access control aligned with Canvas permissions
- Session-based authentication with automatic token refresh
- Audit logging of all API interactions
- Graceful denial of unauthorized requests with clear messaging
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
Create Developer Key
Disable Scope Enforcement (Development)
Configure Digital Twin
Test & Document Scopes
Enable Scopes (Production)
Multi-Instance Management
For Accounts Managing Multiple Digital Twins: Organizations with multiple Digital Twin instances can streamline configuration by storing Canvas API credentials at the account level:- Centralized Configuration: Set Canvas Client ID and Secret once at the parent account level
- Automatic Inheritance: All child Digital Twin instances automatically inherit these credentials
- Simplified Maintenance: Update credentials in one place to affect all instances
- Focus on Customization: Teachers can concentrate on behavior and content personalization rather than technical setup
Create Developer Keys
Developer Keys provide the authentication credentials necessary for your Digital Twin to communicate with Canvas through REST APIs.Step-by-Step Configuration
Sign in to Canvas

Navigate to Admin Panel

Access Developer Keys

Create New API Key

Configure Key Settings

Configure API Scopes
- 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


Copy Credentials
- Copy the Client ID (the numeric identifier, e.g., XXX217)
- Click Show Key and copy the Client Secret
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
Digital Twin Configuration
After creating your Developer Key in Canvas, you need to configure your Digital Twin instance with the API credentials.Configuration Steps
Access Admin Panel
Locate Your Instance

Add API Credentials

API Scopes
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
url:GET|/api/v1/courses/:course_id/smartsearch) by default.
Authenticate on SDK Login

Authorized Public URLs
.instructure.com or .edu to authenticate and execute requests against your institution’s Canvas REST APIs—ensure this URL is correct.
Save Configuration
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:
Initial Connection Test
Ask a Canvas Question
Authorize Access
-
Click the authorization link provided

-
Review the permissions requested

- Click Authorize in the Canvas OAuth consent screen
-
You’ll be redirected back to Praxis automatically

Verify Response

Tool Details
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.
What to Test
Verify different types of queries based on your role: Students:Troubleshooting
Standalone accounts
Error message:Invalid or missing API URL
Symptom: Authentication fails or redirects to the wrong Canvas instance Error message:Check Authorized URLs
Verify Domain Priority
.instructure.com or .edu. Order matters:Correct Order:school.instructure.com (production)Invalid or missing Client ID or Secret
Symptom: Error message about Client ID or Secret missing- Verify that you’ve copied the correct Client ID and Secret from Canvas
- Ensure the Developer Key is enabled in Canvas
- Check that the Redirect URI in Canvas matches:
https://pria.praxislxp.com/api/auth/token_complete - Update your Digital Twin instance with the correct credentials
Invalid or missing course information
Error message:Insufficient Scopes Error
Error Message:Identify Required Scope
/api/v1/courses/:course_id/assignments)Add Scope in Canvas
- Return to Canvas Developer Keys
- Edit your Pria API key
- Search for and enable the required scope
- Save changes
Generate New Token
- Log out of Praxis
- Log back in
- Re-authorize Canvas access when prompted
Token Expiration Issues
Symptom: Frequent re-authorization requests or “token expired” messages Cause: Access tokens expire after 60 minutes of inactivity Solution: This is normal behavior. The system automatically refreshes tokens in the background. If you’re prompted to re-authorize:- Click the authorization link
- Approve the request in Canvas
- Continue your session
Removing Token
When scopes have changed and require a new token, or to simply re-issue a new authorization token:Go to Profile

Remove Token

Issue New Token

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 instance configuration), and both lists must match.Canvas Scopes Reference
Smart Search
Canvas Smart Search provides an intelligent fallback mechanism when specific API endpoints are unavailable or return insufficient data due to scope restrictions.What is Smart Search?
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
How the Canvas Tools Use Smart Search
The Canvas tools automatically fall back to Smart Search when:- Specific API endpoints lack required scopes
- Direct API queries return no results
- Complex cross-resource queries are needed
- Natural language search provides better context
Official Documentation
For detailed information about Smart Search capabilities and parameters: Canvas Smart Search API DocumentationAvailability and Requirements
Best Practices
Additional Resources
Documentation Links
Support
For assistance with Canvas tools configuration or troubleshooting:- Search for help on the Canvas Community
- Contact Praxis AI Support for Digital Twin configuration issues
- Contact Instructure Support for Canvas-specific API or Smart Search availability questions
