Integrations & Webhooks
Connect SchoolManager with third-party tools like Google Classroom, payment processors, and learning management systems.
Overview
You can extend SchoolManager by connecting it to popular external platforms. Native integrations let you sync student records, assignments, and payments without writing custom code. For advanced use cases, configure API access and webhooks to receive real-time updates.
Always store your API credentials securely and rotate keys every 90 days.
Native Integrations
SchoolManager supports direct connections to the most common education and finance tools.
Google Classroom
Automatically import rosters and push assignment grades back to Google.
Stripe
Accept tuition payments and sync invoices with student accounts.
Canvas LMS
Exchange course content and enrollment data with Canvas.
Zoom
Create and manage virtual classes directly from SchoolManager.
Setting Up API Access
Follow these steps to generate credentials and configure your first integration.
Create an API key
Navigate to Settings > API in the dashboard and click Generate Key. Copy the key immediately.
Add the key to your environment
Store the key in your server configuration:
export SCHOOLMANAGER_API_KEY="sm_live_9f8k2pLqX7mR4vN3"
Test the connection
Send a simple request to verify everything works.
Configuring Webhooks
Webhooks notify your systems when events occur inside SchoolManager.
curl -X POST https://api.example.com/webhooks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://your-webhook-url.com/webhook","events":["student.created","payment.succeeded"]}'
const response = await fetch('https://api.example.com/webhooks', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
url: 'https://your-webhook-url.com/webhook',
events: ['student.created', 'payment.succeeded']
})
});
import requests
response = requests.post(
'https://api.example.com/webhooks',
headers={'Authorization': 'Bearer YOUR_API_KEY'},
json={
'url': 'https://your-webhook-url.com/webhook',
'events': ['student.created', 'payment.succeeded']
}
)
Syncing Data with External Platforms
Use the tabs below to see platform-specific sync examples.
Enable roster sync in the integration settings. SchoolManager will pull class lists every hour and push grades when you publish them.
Map your Stripe products to tuition plans. Payments automatically update student balances and trigger receipt emails.
Troubleshooting Integration Issues
Check that your endpoint returns a 200 status code within five seconds. Review the delivery logs in the dashboard for the exact error response.
Confirm the service account has edit access to the target courses. Re-authenticate the integration if the connection status shows as expired.
Last updated today
Built with Documentation.AI