API Reference: Automations
Create, configure, and inspect automations and review their execution history.
Overview
Automations execute actions automatically in response to triggers — sending messages, updating records, creating new records, running wizard steps, and more. The API supports full automation management (create, update, delete, and action ordering) plus execution history. All automation endpoints are privileged tier and require the TEAM_ADMIN_DATA_WIZARDS feature permission on your API key or token.
Key Concepts
- Trigger — The event that starts an automation.
triggerTypeis one ofSCHEDULE,RECORD_CREATED,RECORD_UPDATED,FIELD_VALUE_CHANGED,WIZARD_COMPLETED, orWIZARD_COMPLETION_FAILED;triggerConfigcarries trigger-specific settings (for example the schedule, watched fields, or the wizard'sdataWizardSimplyId). - Conditions — Optional
filterConditionsdetermine whether actions run for a given trigger event. - Actions — Ordered operations performed when the automation fires.
actionTypeis one ofSEND_EMAIL,UPDATE_FIELDS,CREATE_RECORD,RUN_WIZARD_STEP,CHARGE_PAYMENT, orSEND_USER_NOTIFICATION, with per-actionactionConfig,continueOnError,retryConfig, andonFailureActions. - Execution log — Every run is logged with status, timing, and per-run record counts.
List Automations
GET /v1/automations supports an optional dataCollectionSimplyId filter plus limit (1–100, default 25) and offset. Each automation includes id, name, isEnabled, triggerType, triggerConfig, filterConditions, dataCollectionSimplyId, maxRecordsPerExecution, and lastRunAt.
const automations = await s360.automations.list();
for (const auto of automations.data) {
console.log(`${auto.id}: ${JSON.stringify(auto.name)} [${auto.triggerType}] (enabled: ${auto.isEnabled})`);
}
curl -s "https://api.simply360.app/v1/automations" \
-H "Authorization: Bearer $S360_API_KEY"
Get Automation Details
Returns the automation with its ordered actions array.
const automation = await s360.automations.get('AUTO-1234-ABCD');
console.log(automation.data.actions);
curl -s "https://api.simply360.app/v1/automations/AUTO-1234-ABCD" \
-H "Authorization: Bearer $S360_API_KEY"
Create, Update, and Delete
// Create an automation (POST /v1/automations)
const created = await s360.automations.create({
name: 'Welcome new volunteers',
triggerType: 'RECORD_CREATED',
dataCollectionSimplyId: 'XXXX-XXXX-XXXX',
});
// Update it (PUT /v1/automations/{automationSimplyId})
await s360.automations.update(created.data.id, { isEnabled: true });
// Delete it (DELETE /v1/automations/{automationSimplyId})
await s360.automations.delete(created.data.id);
Manage Actions
| Endpoint | Description |
|---|---|
POST /v1/automations/{automationSimplyId}/actions | Add an action (actionType, actionConfig, executionRank, continueOnError, retryConfig, onFailureActions). |
PUT /v1/automations/{automationSimplyId}/actions/{automationActionSimplyId} | Update an action. |
DELETE /v1/automations/{automationSimplyId}/actions/{automationActionSimplyId} | Delete an action. |
PUT /v1/automations/{automationSimplyId}/actions/reorder | Reorder actions with orderedActionSimplyIds. |
await s360.automations.createAction('AUTO-1234-ABCD', {
actionType: 'UPDATE_FIELDS',
actionConfig: { fieldUpdates: { 'FLDS-STAT-USXX': 'Welcomed' } },
});
Execution Logs
Review the execution history for an automation. Each entry includes status, startedAt, completedAt, recordsProcessed, recordsFailed, executionDurationMs, and errorDetails.
const executions = await s360.automations.listExecutions('AUTO-1234-ABCD', {
limit: 25,
});
for (const log of executions.data) {
console.log(`${log.startedAt}: ${log.status} (${log.recordsProcessed} processed, ${log.recordsFailed} failed)`);
}
curl -s "https://api.simply360.app/v1/automations/AUTO-1234-ABCD/executions?limit=25" \
-H "Authorization: Bearer $S360_API_KEY"
Usage Notes
- Automations execute asynchronously after the trigger event. Use the execution log to confirm outcomes.
- Record writes made through the API fire
RECORD_CREATED,RECORD_UPDATED, andFIELD_VALUE_CHANGEDtriggers just like dashboard edits. See API Reference: Data Records. SEND_EMAILactions with a fixed recipient list additionally require an outgoing-email send permission on the caller.- Action and trigger configs reference entities by
simplyId, so automations are portable when synced across environments; automation changes are snapshotted into the team schema version history. maxRecordsPerExecution(default 100) caps how many records one run processes.- Failed executions include error details in the execution log. Common causes: missing message templates, invalid field references, and recipient records without contact information.