Reminders
Reminders automatically email the primary signer, on an escalating schedule, until they complete the form. You configure them per request, or set a default on the form that every request inherits.
A reminder configuration requires a primary signer on the request. Without one, the request is rejected with 400.
Configuration
Attach a reminder object to the create-request body:
POST /v2/forms/{formId}/requests
Content-Type: application/json
{
"answers": { ... },
"primarySigner": { "fullName": "Jane Smith", "email": "[email protected]" },
"reminder": {
"enabled": true,
"config": {
"intervalHours": [24, 48, 72],
"maxReminders": 4,
"sendImmediately": true,
"emailSubject": "Please complete your form",
"emailBody": "Hi, your form is still waiting for you."
}
}
}reminder:
| Property | Type | Required | Description |
|---|---|---|---|
enabled | boolean | yes | true turns reminders on and validates config; false turns them off. |
config | object | When enabled | The reminder settings (see below). Required when enabled is true; omit it when enabled is false. |
reminder.config:
| Property | Type | Required | Description |
|---|---|---|---|
intervalHours | integer[] | yes | The gaps, in hours, between reminders. Non-empty, and each value at least 24 hours more than the one before it. |
maxReminders | integer | yes | The maximum total number of reminders to send. Must be at least 1. |
sendImmediately | boolean | no | Whether to send the first reminder at creation. Defaults to true. When true, intervalHours[0] must be ≥ 24. |
emailSubject | string | no | Custom subject line. Omit to fall back to a default template in the form's language; must not be blank. |
emailBody | string | no | Custom body. Omit to fall back to a default template in the form's language; must not be blank. |
The schedule
intervalHours are the gaps between reminders, and maxReminders caps the total (including the first). sendImmediately decides when the first one goes out:
sendImmediately: true(default) — the first reminder is sent at creation; each subsequent one follows the next gap inintervalHours.sendImmediately: false— nothing is sent at creation; the first reminder is delayed byintervalHours[0], then the rest follow.
If maxReminders is larger than the number of gaps, the last gap repeats. Only the primary signer is reminded — additional signers get nothing from Collect.
With intervalHours: [24, 48, 72] and maxReminders: 4:
| Reminder | sendImmediately: true | sendImmediately: false |
|---|---|---|
| 1 | immediately | 24 hours after creation |
| 2 | 24 hours later | 48 hours later |
| 3 | 48 hours later | 72 hours later |
| 4 | 72 hours later | 72 hours later |
Reminders stop once the form is submitted.
Form-level default
Set a reminder default on the form itself so every request inherits it without repeating the config — see Form Options.
Resolution and overrides
The configuration a request ends up with is resolved from these inputs:
| Input on the request | Effect |
|---|---|
reminder.enabled: false | Reminders off for this request, even if the form has a default. |
reminder.enabled: true | reminder.config is used as-is (overrides the form default, including its copy). |
(no reminder) | Inherits the form's reminder default, if any. No default → no reminders. |
To customize the wording for a request, include emailSubject / emailBody in reminder.config.
To turn a form's default off for a single request, send enabled: false and omit config:
{
"answers": { ... },
"reminder": {
"enabled": false
}
}Updated 3 days ago
