# Notifications & integrations

Review notifications, integration settings, webhook records and shared AI request state.

Category: Administration
Guide: https://avkul.in/docs/guides/module-platform/
Guided sample demo: https://avkul.in/docs/demo/module-platform/
Snapshot: 11 October 2026

## Features

- In-app notifications
- Integration status
- Integration configuration
- Webhooks
- AI requests

## Access and setup

Intended access: Assigned account with the required permissions
- An assigned school account with the required permissions.
- The academic, student or staff setup used by this workflow.

Permission keys: dashboard:view, communication:create, settings:view, settings:create, settings:update, settings:delete

## Workflow

1. Open the relevant integration or notification view.
2. Review status and permitted settings.
3. Configure a provider using approved credentials outside public documentation.
4. Use a controlled test and inspect the actual result.

## Fields and controls

- title (string, declared required)
- body (string, optional)
- userId (string, optional)
- channel (string, optional)
- dataJson (Record<string, unknown>, optional)
- feature (string, declared required)
- provider (string, declared required)
- model (string, optional)
- promptJson (Record<string, unknown>, optional)
- responseJson (Record<string, unknown>, optional)
- promptTokens (number, optional)
- completionTokens (number, optional)
- status (string, optional)
- errorMessage (string, optional)
- prompt (string, declared required)
- category (string, optional)
- configJson (Record<string, unknown>, optional)
- secretsRef (string, optional)
- isActive (boolean, optional)
- integrationId (string, optional)
- event (string, declared required)
- targetUrl (string, declared required)
- secret (string, optional)

## Current limits

- Saving settings is not proof of external delivery. No credential values are included in this documentation.

## Actual application access

- https://avkul.in/en/school/integrations

## API reference

- GET /api/v1/notifications — List My Notifications; dashboard:view
- POST /api/v1/notifications — Create Notification; communication:create
- POST /api/v1/notifications/:id/read — Mark Read; dashboard:view
- GET /api/v1/ai/requests — List Ai Requests; dashboard:view
- POST /api/v1/ai/requests — Log Ai Request; dashboard:view
- PATCH /api/v1/ai/requests/:id/complete — Complete Ai Request; dashboard:view
- POST /api/v1/ai/generate — Generate Ai; dashboard:view
- GET /api/v1/integrations/status — Integration Status; settings:view
- GET /api/v1/integrations — List Integrations; settings:view
- POST /api/v1/integrations — Create Integration; settings:create
- PATCH /api/v1/integrations/:id — Update Integration; settings:update
- DELETE /api/v1/integrations/:id — Remove Integration; settings:delete
- GET /api/v1/webhooks — List Webhooks; settings:view
- POST /api/v1/webhooks — Create Webhook; settings:create
- PATCH /api/v1/webhooks/:id — Update Webhook; settings:update
- POST /api/v1/webhooks/:id/test — Test Webhook; settings:update
- DELETE /api/v1/webhooks/:id — Remove Webhook; settings:delete

## Demo access

No login is required for the guided sample demo. Its fictional records and actions stay in this browser tab; they do not modify ERP records or send messages/payments. An assigned account is required for the actual ERP links.

Source inventory checked on 11 October 2026. This source inventory is not a certification of every external provider or device flow.
