Getting Started
Set up webhooks to receive real-time event notifications from Teachfloor.
Prerequisites
- Teachfloor account with access to Developers page
- Publicly accessible HTTPS endpoint
- Ability to process HTTP POST requests
Setup Steps
Access Webhook Settings
- Log in to your Teachfloor account
- Navigate to Developers → Webhooks
Add Endpoint
- Click Add Endpoint
- Enter your HTTPS endpoint URL
- Select which events to receive
- Click Save
Get Signing Secret
- Click Reveal Signing Secret on your endpoint
- Copy and store the secret securely
- Use this to verify webhook signatures
Webhook Payload
All webhooks have this structure:
{
"id": "evt_abc123",
"type": "course.join",
"created_at": "2025-10-07T15:30:00.000000Z",
"data": {
// Event-specific data
}
}
Basic Implementation
app.post('/webhooks/teachfloor', express.json(), (req, res) => {
// Respond immediately
res.status(200).send('OK');
// Process async
processWebhook(req.body).catch(console.error);
});
Route::post('/webhooks/teachfloor', function (Request $request) {
// Respond immediately
response('OK', 200)->send();
// Process async
ProcessWebhookJob::dispatch($request->json()->all());
});
Requirements
Your endpoint must:
- Accept POST requests
- Return 2xx status within 3 seconds
- Verify signatures (see Security)
Next Steps
- Security - Verify signatures
- Delivery & Retries - Understand reliability
- Event Reference - View available events
- Troubleshooting - Common issues