> ## Documentation Index
> Fetch the complete documentation index at: https://superofficeas-bugfix-ty-screen-designer-paradox.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# NSMessagingAgent

> SMS and other external messaging systems.

SMS and other external messaging systems.

## Constructors

### NSMessagingAgent()

```crmscript theme={null}
NSMessagingAgent
```

SMS and other external messaging systems.

## Methods

## CreateMessage(NSIncomingMessage)

Creates a new message and insert it in the message queue. (inbox)

```crmscript theme={null}
Void CreateMessage(NSIncomingMessage incomingMessage)
```

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

## GetDeliveryStatus(Integer\[])

Gets delivery status

```crmscript theme={null}
NSMessageDeliveryStatus[] GetDeliveryStatus(Integer[] messagingIds)
```

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

## GetPlugins()

```crmscript theme={null}
NSProviderInfo[] GetPlugins()
```

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

## SendMessages(String,NSOutgoingMessage\[])

Sends an array of messages

```crmscript theme={null}
NSMessageDeliveryStatus[] SendMessages(String plugin, NSOutgoingMessage[] outgoingMessages)
```

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

**Example:**

```crmscript theme={null}
NSMessagingAgent agent;
String plugin;
NSOutgoingMessage[] outgoingMessages;
NSMessageDeliveryStatus[] res = agent.SendMessages(plugin, outgoingMessages);
```

## SendMessagesWithConfig(String)

Sends an array of messages using given config

```crmscript theme={null}
NSMessageDeliveryStatus[] SendMessagesWithConfig(String plugin, NSOutgoingMessage[] outgoingMessages, Map config)
```

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

**Example:**

```crmscript theme={null}
NSMessagingAgent agent;
String plugin;
NSOutgoingMessage[] outgoingMessages;
Map config;
NSMessageDeliveryStatus[] res = agent.SendMessagesWithConfig(plugin, outgoingMessages, config);
```

## SetDeliveryStatus(String,String,Integer,String)

Sets or change the delivery status on an outgoing message.

```crmscript theme={null}
Void SetDeliveryStatus(String plugin, String externalMessageId, Integer status, String statusDescription)
```

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