Plugin Setup
The first step is creating a Reminder plugin configuration for your agent. The configuration holds the credentials, messaging account, and behavior settings used for all reminder items under this instance.
Navigate to Actions → Plugins in the agent sidebar, click Create New Plugin, and select Reminder.
Configuration Fields
| Field | Description |
|---|---|
| Name | A label for this plugin instance. Used to identify it in the admin panel. |
| Notification Key | The API key from CMS that authorizes the plugin to send notification templates on behalf of your agent. |
| Account Code | The messaging account (e.g., WhatsApp) through which reminders are delivered. |
| Default Tone | The tone the AI uses when composing reminder content. Default is polite. |
| Webhook URL | Optional. An external URL that receives an HTTP POST after each reminder delivery. See Webhook Notifications. |
Generated Credentials
When the configuration is saved, three credentials are generated automatically:
| Credential | Purpose |
|---|---|
| Secret | Used by the Dialog service to authenticate AI-triggered reminder creation. |
| Primary Key | Used by external systems to authenticate Integration API calls. |
| Secondary Key | A backup key for the Integration API. Useful for key rotation without downtime. |
Store these credentials securely. They are shown once on creation and can be regenerated later, but regenerating a key invalidates all existing callers using it.
Refreshing Integration Keys
If a key is compromised or you need to rotate credentials, you can refresh each key independently.
Refresh both keys at once:
POST /api/reminder/configuration/{agentId}/{configurationId}/refresh-keys
Refresh a single key:
POST /api/reminder/configuration/{agentId}/{configurationId}/refresh-keys?keyType=primary
POST /api/reminder/configuration/{agentId}/{configurationId}/refresh-keys?keyType=secondary
The response includes the new key value. All existing Integration API callers using the old key must be updated immediately after a refresh.
Updating the Notification Key
If your CMS notification key changes, update it without recreating the entire configuration:
PUT /api/reminder/configuration/notification-key
Request body:
| Field | Description |
|---|---|
notificationKey | The new notification key from CMS. |
accountCode | Optional. Update the messaging account code at the same time. |
Generating a Function Name with AI
The Generate Function Name feature uses AI to suggest a function identifier based on a description of your plugin's purpose. This name is used when exposing the plugin to the AI as a callable tool.
POST /api/reminder/configuration/generate-function-name
Request body:
{
"description": "Schedule appointment reminders for clinic patients"
}
Response:
{
"functionName": "schedule_appointment_reminder"
}
Use this name in your AI function tool settings. See AI Function Tool.
Server State
Each configuration has a Server State that controls whether reminder delivery is active. The state is either running or paused.
- While
paused, the background processor skips all reminders belonging to this configuration. - While
running, pending reminders are delivered on schedule.
To update the state:
PUT /api/reminder/configuration/{agentId}/{configurationId}/server-state
Request body:
{
"serverState": "paused"
}
Every state change is recorded in an audit log with a timestamp and the identity of the user who made the change. The last 10 state changes are retained.