POST
Entries.RunAutomation
Run one active automation for the customers linked to selected entry rows. Matches the dashboard Entry-filter Run Automation button: select entry rows, choose an automation, and the automation runs on each related customer. For a single-customer custom tab, send customer_id with the selected entry row ids (mode=tab) to use the tab-scoped dashboard path.
Permissions
- User must be logged in with a valid bearer token.
- Returned or changed records are limited by the user permissions, team access, folder access, and account settings.
Action
- Validates automation_id belongs to the account and is active.
- Resolves selected entry rows to customers, or uses customer_ids directly.
- Calls the same dashboard PHP runners used by the UI.
Push Service
Emits realtime automation.run after a successful bulk run.
Automation
Runs the chosen automation_event id through run_automations_by_id for each selected customer/entry row, same as the dashboard.
Special Instructions
- Use Entries.AutomationsList (or AutomationEvents.List with automation_status=1) to fill the automation picker.
- Preferred App fields: automation_id + ids (entry row ids from Entries.List). The API resolves each row customer_id and runs the automation for those customers.
- Dashboard-compatible aliases: selected_cust_id can be comma-separated customer ids (admin Entry-filter JS), and selected_all_cust_id is the single customer id for tab-scoped runs.
- Optional entry_id limits selected row lookup to one entry/tab setting.
- Maximum 500 selected ids per request.
- Existing Entries.Add/Update/Delete still auto-run entries.created/updated/deleted. This route is only for manual bulk Run Automation.
Required Parameters
| Name | Type | Sample | Explanation |
|---|---|---|---|
automation_idpost | int | 2827 | Active automation id from Entries.AutomationsList / AutomationEvents.List. |
Optional Parameters
| Name | Type | Sample | What it gives |
|---|---|---|---|
idspost | string|array | 66aa00000000000000000001,66aa00000000000000000002 | Selected entry row ids from Entries.List. Aliases: row_ids, entry_ids, entry_row_ids, selected_entry_ids. |
customer_idspost | string|array | 123,456 | Run directly for these customers. Alias: selected_cust_id (dashboard admin field). |
customer_idpost | int | 123 | When sent with entry row ids (or mode=tab), runs the custom-tab dashboard path for this customer. Alias: selected_all_cust_id. |
entry_idpost | int | 7 | Optional entry/tab setting id to scope selected row lookup. Alias: tab_id. |
modepost | string | tab | Use tab or entry_rows to force the custom-tab runner. Default resolves customers from selected entry rows. |
automation_typepost | string | manual | Optional event type for tab-scoped runs (dashboard data_type). Defaults to the automation event. |
Authentication
Send the bearer token returned by Login in the request header.
Authorization: Bearer YOUR TOKEN
Sample Request
{
"url": "\/app\/Entries.RunAutomation",
"method": "POST",
"headers": {
"Authorization": "Bearer YOUR TOKEN"
},
"body": {
"automation_id": "2827",
"ids": "66aa00000000000000000001",
"entry_id": "7"
},
"url_user": "https:\/\/{user}.bull36.com\/app\/Entries.RunAutomation",
"url_domain": "https:\/\/{domain}\/app\/Entries.RunAutomation"
}Endpoint
POST /app/Entries.RunAutomation
POST https://{user}.bull36.com/app/Entries.RunAutomation
POST https://{domain}/app/Entries.RunAutomationSample Output
{
"success": 1,
"message": "Success",
"automation_id": 2827,
"mode": "entries_to_customers",
"customer_ids": [
"123"
],
"count": 1
}JavaScript Example
const token = 'YOUR TOKEN';
const autos = await fetch('/app/Entries.AutomationsList', { method: 'POST', headers: { Authorization: 'Bearer ' + token } }).then(r => r.json());
const automationId = autos.data[0].id;
const body = new URLSearchParams({
automation_id: String(automationId),
ids: '66aa00000000000000000001',
entry_id: '7',
});
const res = await fetch('/app/Entries.RunAutomation', { method: 'POST', headers: { Authorization: 'Bearer ' + token }, body });
console.log(await res.json());Error Example
{
"success": 0,
"message": "Automation was not found."
}