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

# NSSaintAgent

> Administration and maintenance of SAINT counters and statuses.

Administration and maintenance of SAINT counters and statuses.

## Constructors

### NSSaintAgent()

```crmscript theme={null}
NSSaintAgent
```

Administration and maintenance of SAINT counters and statuses.

## Methods

## CreateDefaultSaintConfiguration()

Sets default values into a new NSSaintConfiguration.

```crmscript theme={null}
NSSaintConfiguration CreateDefaultSaintConfiguration()
```

**Returns:** [CRMScript.NetServer.NSSaintConfiguration](CRMScript.NetServer.NSSaintConfiguration)

<Note>
  NetServer calculates default values (for example, Country) on the entity, which is required when creating/storing a new instance
</Note>

**Example:**

```crmscript theme={null}
NSSaintAgent agent;
NSSaintConfiguration thing = agent.CreateDefaultSaintConfiguration();
thing = agent.SaveSaintConfiguration(thing);
```

## CreateDefaultStatusMonitor()

Sets default values into a new NSStatusMonitor.

```crmscript theme={null}
NSStatusMonitor CreateDefaultStatusMonitor()
```

**Returns:** [CRMScript.NetServer.NSStatusMonitor](CRMScript.NetServer.NSStatusMonitor)

<Note>
  NetServer calculates default values (for example, Country) on the entity, which is required when creating/storing a new instance
</Note>

**Example:**

```crmscript theme={null}
NSSaintAgent agent;
NSStatusMonitor thing = agent.CreateDefaultStatusMonitor();
thing = agent.SaveStatusMonitor(thing);
```

## CreateDefaultStatusMonitorPeriods()

Sets default values into a new NSStatusMonitorPeriods.

```crmscript theme={null}
NSStatusMonitorPeriods CreateDefaultStatusMonitorPeriods()
```

**Returns:** [CRMScript.NetServer.NSStatusMonitorPeriods](CRMScript.NetServer.NSStatusMonitorPeriods)

<Note>
  NetServer calculates default values (for example, Country) on the entity, which is required when creating/storing a new instance
</Note>

**Example:**

```crmscript theme={null}
NSSaintAgent agent;
NSStatusMonitorPeriods thing = agent.CreateDefaultStatusMonitorPeriods();
thing = agent.SaveStatusMonitorPeriods(thing);
```

## GetSaintConfigurations()

Returns the NSStatusMonitorPeriods entity.

```crmscript theme={null}
NSSaintConfiguration[] GetSaintConfigurations()
```

**Returns:** [CRMScript.NetServer.NSSaintConfiguration](CRMScript.NetServer.NSSaintConfiguration)\[]

**Example:**

```crmscript theme={null}
NSSaintAgent agent;
NSSaintConfiguration[] res = agent.GetSaintConfigurations();
```

## GetStatusMonitor(Integer)

Gets a single status monitor based on its identity

```crmscript theme={null}
NSStatusMonitor GetStatusMonitor(Integer id)
```

**Returns:** [CRMScript.NetServer.NSStatusMonitor](CRMScript.NetServer.NSStatusMonitor)

**Example:**

```crmscript theme={null}
NSSaintAgent agent;
Integer id;
NSStatusMonitor res = agent.GetStatusMonitor(id);
```

## GetStatusMonitorPeriods()

Returns the NSStatusMonitorPeriods entity.

```crmscript theme={null}
NSStatusMonitorPeriods GetStatusMonitorPeriods()
```

**Returns:** [CRMScript.NetServer.NSStatusMonitorPeriods](CRMScript.NetServer.NSStatusMonitorPeriods)

**Example:**

```crmscript theme={null}
NSSaintAgent agent;
NSStatusMonitorPeriods res = agent.GetStatusMonitorPeriods();
```

## GetStatusMonitors(Integer,String)

Gets all active status monitors for a specified target

```crmscript theme={null}
NSStatusMonitor[] GetStatusMonitors(Integer id, String type)
```

**Returns:** [CRMScript.NetServer.NSStatusMonitor](CRMScript.NetServer.NSStatusMonitor)\[]

**Example:**

```crmscript theme={null}
NSSaintAgent agent;
Integer id;
String type;
NSStatusMonitor[] res = agent.GetStatusMonitors(id, type);
```

## RegenerateCounters(Bool)

Regenerates the Saint counters\* this can take several minutes

```crmscript theme={null}
NSBatchTaskInfo RegenerateCounters(Bool runAsBatch)
```

**Returns:** [CRMScript.NetServer.NSBatchTaskInfo](CRMScript.NetServer.NSBatchTaskInfo)

**Example:**

```crmscript theme={null}
NSSaintAgent agent;
Bool runAsBatch;
NSBatchTaskInfo res = agent.RegenerateCounters(runAsBatch);
```

## RegenerateStatusMonitor(Integer)

Regenerates the given status monitor

```crmscript theme={null}
Void RegenerateStatusMonitor(Integer statusMonitorId)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSSaintAgent agent;
Integer statusMonitorId;
agent.RegenerateStatusMonitor(statusMonitorId);
```

## RegenerateStatusMonitors(Bool)

Regenerates status monitors

```crmscript theme={null}
NSBatchTaskInfo RegenerateStatusMonitors(Bool runAsBatch)
```

**Returns:** [CRMScript.NetServer.NSBatchTaskInfo](CRMScript.NetServer.NSBatchTaskInfo)

**Example:**

```crmscript theme={null}
NSSaintAgent agent;
Bool runAsBatch;
NSBatchTaskInfo res = agent.RegenerateStatusMonitors(runAsBatch);
```

## SaveSaintConfiguration(NSSaintConfiguration)

Updates the existing NSSaintConfiguration or creates a new NSSaintConfiguration if the id parameter is 0.

```crmscript theme={null}
NSSaintConfiguration SaveSaintConfiguration(NSSaintConfiguration saintConfiguration)
```

**Returns:** [CRMScript.NetServer.NSSaintConfiguration](CRMScript.NetServer.NSSaintConfiguration)

**Example:**

```crmscript theme={null}
NSSaint  agent;
NSSaintConfiguration thing = agent.CreateDefaultSaintConfiguration();
thing = agent.SaveSaintConfiguration(thing);
```

## SaveStatusMonitor(NSStatusMonitor)

Updates the existing NSStatusMonitor or creates a new NSStatusMonitor if the id parameter is 0

```crmscript theme={null}
NSStatusMonitor SaveStatusMonitor(NSStatusMonitor statusMonitor)
```

**Returns:** [CRMScript.NetServer.NSStatusMonitor](CRMScript.NetServer.NSStatusMonitor)

**Example:**

```crmscript theme={null}
NSSaint  agent;
NSStatusMonitor thing = agent.CreateDefaultStatusMonitor();
thing = agent.SaveStatusMonitor(thing);
```

## SaveStatusMonitorPeriods(NSStatusMonitorPeriods)

Updates the existing NSStatusMonitorPeriods or creates a new NSStatusMonitorPeriods if the id parameter is 0

```crmscript theme={null}
NSStatusMonitorPeriods SaveStatusMonitorPeriods(NSStatusMonitorPeriods statusMonitorPeriods)
```

**Returns:** [CRMScript.NetServer.NSStatusMonitorPeriods](CRMScript.NetServer.NSStatusMonitorPeriods)

**Example:**

```crmscript theme={null}
NSSaint  agent;
NSStatusMonitorPeriods thing = agent.CreateDefaultStatusMonitorPeriods();
thing = agent.SaveStatusMonitorPeriods(thing);
```

## SetRankOnStatusMonitors(String,Integer\[])

Sets rank order on status monitors

```crmscript theme={null}
Void SetRankOnStatusMonitors(String type, Integer[] itemsIds)
```

**Returns:** [CRMScript.Global.Void](CRMScript.Global.Void)

**Example:**

```crmscript theme={null}
NSSaintAgent agent;
String type;
Integer[] itemsIds;
agent.SetRankOnStatusMonitors(type, itemsIds);
```


## Related topics

- [SuperOffice.WebApi.Agents.SaintAgent](/en/api/reference/webapi/SuperOffice.WebApi.Agents.SaintAgent.md)
- [SuperOffice.WebApi.Agents.ISaintAgent](/en/api/reference/webapi/SuperOffice.WebApi.Agents.ISaintAgent.md)
- [Get Saint Configurations](/en/api/reference/restful/agent/saint_agent/get-saint-configurations.md)
- [Save Saint Configuration](/en/api/reference/restful/agent/saint_agent/save-saint-configuration.md)
- [SaintContact](/en/api/archive-providers/reference/saintcontact.md)
- [SaintPerson](/en/api/archive-providers/reference/saintperson.md)
