> ## Documentation Index
> Fetch the complete documentation index at: https://learn.nexudus.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Search ProactiveActionConfigs

> Search and list ProactiveActionConfig records with filtering, sorting, and pagination.

A ProactiveActionConfig is the settings row for one proactive AI agent at one location: whether it runs at all, whether it may act without human review and above what confidence, how many actions it may raise per day, how long it waits before repeating itself, which delivery channel it prefers, and any custom drafting or voice prompts. There is at most one row per location and CriteriaType, and an agent with no row is off. The default posture is human-in-the-loop: the agent raises ProposedAction records into the operator AI Inbox for review, and only turning on AutoExecute lets sufficiently confident actions go out unattended.

## Authentication

> [!NOTE]
>
> This endpoint requires OAuth2 authentication. Include a valid bearer token in the `Authorization` header.
> The authenticated user must be a full unrestricted administrator or have the **`ProactiveActionConfig-List`** role.

## Enums

> [accordion] eOutboundChannel
>
> | Value | Name |
> | - | - |
> | 1 | Email |
> | 2 | Voice |
> | 3 | CoworkerMessage |
> | 4 | HelpDesk |
> | 5 | WhatsApp |

## Query Parameters

### Pagination & Sorting

**page** `integer` (default: 1)

The page number to retrieve.

**size** `integer` (default: 25)

The number of records per page.

**orderBy** `string`

The property name to sort results by (e.g. `Name`, `CreatedOn`).

**dir** `integer`

Sort direction. `0` for ascending, `1` for descending.

### Filters

**ProactiveActionConfig\_Business** `integer`

Filter by iD of the location this agent configuration applies to. Each location holds at most one configuration per CriteriaType, and an agent with no configuration row is treated as off..

**ProactiveActionConfig\_CriteriaType** `string`

Filter by name of the proactive agent this configuration governs, matching a criteria evaluator: DueInvoiceCriteria, ContractExpiryCriteria, SupportPatternCriteria, SupportIssueCategoryCriteria or MissingFaqCriteria. Unique per location; the actions it produces carry the same value in ProposedAction.CriteriaType..

**ProactiveActionConfig\_Enabled** `boolean`

Filter by whether this agent runs for the location. When false, or when no configuration row exists at all, the agent is skipped entirely and proposes nothing..

**ProactiveActionConfig\_AutoExecute** `boolean`

Filter by whether this agent may act without human review. When true, an action whose confidence reaches AutoExecuteMinConfidence is delivered straight away and recorded as AutoExecuted; anything below it still lands in the inbox. Internal-alert agents ignore this..

**ProactiveActionConfig\_AutoExecuteMinConfidence** `number`

Filter by confidence an action must reach before AutoExecute will send it without review, on a 0.0–1.0 scale (not a percentage). Defaults to 0.85. Has no effect while AutoExecute is false..

**ProactiveActionConfig\_MaxActionsPerDay** `integer`

Filter by cap on how many actions this agent may raise for the location in a single day; it also caps how many candidates one evaluation run will consider. Empty means uncapped, in which case a run still considers at most 20 candidates..

**ProactiveActionConfig\_CooldownHours** `integer`

Filter by how long the agent waits before raising the same trigger again, in hours; defaults to 24. A candidate is skipped when a non-expired action with the same deduplication key was created inside this window, so in practice it throttles repeat outreach about the same invoice, contract or customer..

**ProactiveActionConfig\_ChannelPreference** `integer`

Filter by overrides the delivery channel this agent proposes: Email, Voice, CoworkerMessage, HelpDesk or WhatsApp. Empty leaves the choice to the agent's own default. Voice requires the location's AI voice channel to be enabled, and WhatsApp requires a configured WhatsApp number..

**ProactiveActionConfig\_CustomPromptOverride** `string`

Filter by extra drafting instructions for this agent, up to 2000 characters, appended to its built-in prompt — for example a tone or signature convention. Starting the text with "OVERRIDE:" (case-insensitive) replaces the agent's whole prompt template instead of adding to it..

**ProactiveActionConfig\_FirstMessage** `string`

Filter by opening line spoken or sent when this agent starts an outbound conversation, up to 500 characters. Supports \{\{variable}} placeholders such as \{\{company\_name}} plus the agent-specific variables listed by the criteria-variables endpoint. Empty uses the built-in opening..

**ProactiveActionConfig\_SystemPrompt** `string`

Filter by voice-agent system prompt for outbound conversations this agent starts, up to 2000 characters. By default the text is added to the standard prompt; starting it with "OVERRIDE:" (case-insensitive) replaces the standard prompt entirely, and the server then rejects the save unless the text also contains the \{\{voice\_message}} placeholder..

**ProactiveActionConfig\_CriteriaConfiguration** `string`

Filter by agent-specific thresholds as a flat JSON object of string values, keyed by the parameter keys the criteria-parameters endpoint publishes for this CriteriaType — for example reminder day counts, minimum invoice amounts or ticket thresholds. Empty means every parameter falls back to its published default..

### Range Filters

**from\_ProactiveActionConfig\_AutoExecuteMinConfidence** `number`

Filter by confidence an action must reach before AutoExecute will send it without review, on a 0.0–1.0 scale (not a percentage). Defaults to 0.85. Has no effect while AutoExecute is false. greater than or equal to this value.

**to\_ProactiveActionConfig\_AutoExecuteMinConfidence** `number`

Filter by confidence an action must reach before AutoExecute will send it without review, on a 0.0–1.0 scale (not a percentage). Defaults to 0.85. Has no effect while AutoExecute is false. less than or equal to this value.

**from\_ProactiveActionConfig\_MaxActionsPerDay** `integer`

Filter by cap on how many actions this agent may raise for the location in a single day; it also caps how many candidates one evaluation run will consider. Empty means uncapped, in which case a run still considers at most 20 candidates. greater than or equal to this value.

**to\_ProactiveActionConfig\_MaxActionsPerDay** `integer`

Filter by cap on how many actions this agent may raise for the location in a single day; it also caps how many candidates one evaluation run will consider. Empty means uncapped, in which case a run still considers at most 20 candidates. less than or equal to this value.

**from\_ProactiveActionConfig\_CooldownHours** `integer`

Filter by how long the agent waits before raising the same trigger again, in hours; defaults to 24. A candidate is skipped when a non-expired action with the same deduplication key was created inside this window, so in practice it throttles repeat outreach about the same invoice, contract or customer. greater than or equal to this value.

**to\_ProactiveActionConfig\_CooldownHours** `integer`

Filter by how long the agent waits before raising the same trigger again, in hours; defaults to 24. A candidate is skipped when a non-expired action with the same deduplication key was created inside this window, so in practice it throttles repeat outreach about the same invoice, contract or customer. less than or equal to this value.

**from\_ProactiveActionConfig\_CreatedOn** `string`

Filter records created on or after this date. Format: `YYYY-MM-DDTHH:mm`.

**to\_ProactiveActionConfig\_CreatedOn** `string`

Filter records created on or before this date. Format: `YYYY-MM-DDTHH:mm`.

**from\_ProactiveActionConfig\_UpdatedOn** `string`

Filter records updated on or after this date. Format: `YYYY-MM-DDTHH:mm`.

**to\_ProactiveActionConfig\_UpdatedOn** `string`

Filter records updated on or before this date. Format: `YYYY-MM-DDTHH:mm`.

## Code Examples

### Simple listing

```bash cURL theme={null}
curl -X GET \
  "https://spaces.nexudus.com/api/sys/proactiveactionconfigs?page=1&size=15&orderBy=CriteriaType&dir=0" \
  -H "Authorization: Bearer YOUR_TOKEN"
```

```javascript JavaScript theme={null}
const response = await fetch(
  'https://spaces.nexudus.com/api/sys/proactiveactionconfigs?' + new URLSearchParams({
    page: 1,
    size: 15,
    orderBy: 'CriteriaType',
    dir: 1 // Ascending
  }),
  {
    headers: {
      'Authorization': 'Bearer YOUR_TOKEN'
    }
  }
);

const data = await response.json();
```

```python Python theme={null}
import requests

response = requests.get(
    'https://spaces.nexudus.com/api/sys/proactiveactionconfigs',
    params={
        'page': 1,
        'size': 15,
        'orderBy': 'CriteriaType',
        'dir': 0 // Ascending
    },
    headers={
        'Authorization': 'Bearer YOUR_TOKEN'
    }
)

data = response.json()
```

### Filtering by CriteriaType

```bash cURL theme={null}
curl -X GET \
  "https://spaces.nexudus.com/api/sys/proactiveactionconfigs?ProactiveActionConfig_CriteriaType=example-value&orderBy=CriteriaType&dir=0" \
  -H "Authorization: Bearer YOUR_TOKEN"
```

```javascript JavaScript theme={null}
const response = await fetch(
  'https://spaces.nexudus.com/api/sys/proactiveactionconfigs?' + new URLSearchParams({
    ProactiveActionConfig_CriteriaType: 'example-value',
    orderBy: 'CriteriaType',
    dir: 1
  }),
  {
    headers: {
      'Authorization': 'Bearer YOUR_TOKEN'
    }
  }
);

const data = await response.json();
```

```python Python theme={null}
import requests

response = requests.get(
    'https://spaces.nexudus.com/api/sys/proactiveactionconfigs',
    params={
        'ProactiveActionConfig_CriteriaType': 'example-value',
        'orderBy': 'CriteriaType',
        'dir': 0 // Ascending
    },
    headers={
        'Authorization': 'Bearer YOUR_TOKEN'
    }
)

data = response.json()
```

### Range filters

```bash cURL theme={null}
curl -X GET \
  "https://spaces.nexudus.com/api/sys/proactiveactionconfigs?from_ProactiveActionConfig_UpdatedOn=2025-01-01T00:00&to_ProactiveActionConfig_UpdatedOn=2025-12-31T23:59&orderBy=UpdatedOn&dir=0" \
  -H "Authorization: Bearer YOUR_TOKEN"
```

```javascript JavaScript theme={null}
const response = await fetch(
  'https://spaces.nexudus.com/api/sys/proactiveactionconfigs?' + new URLSearchParams({
    from_ProactiveActionConfig_UpdatedOn: '2025-01-01T00:00',
    to_ProactiveActionConfig_UpdatedOn: '2025-12-31T23:59',
    orderBy: 'UpdatedOn',
    dir: 1 // Descending
   }),
  {
    headers: {
      'Authorization': 'Bearer YOUR_TOKEN'
    }
  }
);

const data = await response.json();
```

```python Python theme={null}
import requests

response = requests.get(
    'https://spaces.nexudus.com/api/sys/proactiveactionconfigs',
    params={
        'from_ProactiveActionConfig_UpdatedOn': '2025-01-01T00:00',
        'to_ProactiveActionConfig_UpdatedOn': '2025-12-31T23:59',
        'orderBy': 'UpdatedOn',
        'dir': 1 // Descending
    },
    headers={
        'Authorization': 'Bearer YOUR_TOKEN'
    }
)

data = response.json()
```

## Response

### 200

**Records** `ProactiveActionConfig[]`

The list of ProactiveActionConfig records matching the query. See the [Get one ProactiveActionConfig](https://learn.nexudus.com/rest-api/sys/get-proactiveactionconfigs-by-id.md) endpoint for the full list of properties returned for each record.

**CurrentPage** `integer`

Current page number.

**CurrentPageSize** `integer`

Number of records per page.

**CurrentOrderField** `string`

The field used for sorting.

**CurrentSortDirection** `integer`

The sort direction (`0` = ascending, `1` = descending).

**FirstItem** `integer`

Index of the first item on the current page.

**LastItem** `integer`

Index of the last item on the current page.

**TotalItems** `integer`

Total number of matching records across all pages.

**TotalPages** `integer`

Total number of pages.

**HasNextPage** `boolean`

Whether there is a next page of results.

**HasPreviousPage** `boolean`

Whether there is a previous page of results.

```json Example Response theme={null}
{
  "Records": [
    {
      "BusinessId": 0,
      "CriteriaType": "",
      "Enabled": false,
      "AutoExecute": false,
      "AutoExecuteMinConfidence": 0,
      "MaxActionsPerDay": null,
      "CooldownHours": 0,
      "ChannelPreference": 0,
      "CustomPromptOverride": null,
      "FirstMessage": null,
      "SystemPrompt": null,
      "CriteriaConfiguration": null,
      "Id": 87654321,
      "UpdatedOn": "2025-01-15T10:30:00Z",
      "CreatedOn": "2025-01-10T08:00:00Z",
      "UniqueId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "UpdatedBy": "admin@example.com",
      "IsNew": false,
      "SystemId": null,
      "ToStringText": "ProactiveActionConfig Example",
      "LocalizationDetails": null,
      "CustomFields": null
    }
  ],
  "CurrentPageSize": 15,
  "CurrentPage": 1,
  "CurrentOrderField": "CriteriaType",
  "CurrentSortDirection": 1,
  "FirstItem": 1,
  "HasNextPage": false,
  "HasPreviousPage": false,
  "LastItem": 1,
  "PageNumber": 1,
  "PageSize": 15,
  "TotalItems": 1,
  "TotalPages": 1
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.