<!--
{
  "availability" : [
    "iOS: 10.0.0 -",
    "iPadOS: 10.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 12.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 3.2.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SiriKit",
  "identifier" : "/documentation/Intents/INSendMessageIntentHandling",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "Intents"
    ],
    "preciseIdentifier" : "c:objc(pl)INSendMessageIntentHandling"
  },
  "title" : "INSendMessageIntentHandling"
}
-->

# INSendMessageIntentHandling

An interface to handle sending messages to one or more designated users.

```
protocol INSendMessageIntentHandling : NSObjectProtocol
```

## Overview

Use the methods of the [`INSendMessageIntentHandling`](/documentation/Intents/INSendMessageIntentHandling) protocol to resolve, confirm, and handle requests to send text or audio messages to the designated users. Adopt this protocol in an object of your Intents extension that is capable of sending the messages.

Siri delivers an [`INSendMessageIntent`](/documentation/Intents/INSendMessageIntent) object to your handler when the user asks to send a message using your app. The provided intent object contains the recipients and content of the message. Use the methods of this protocol to resolve the parameters and to validate that sending the message is possible.

## Topics

### Resolving the Intent Parameters

[`-  resolveRecipientsForSendMessage:completion:`](/documentation/Intents/INSendMessageIntentHandling/resolveRecipients(for:with:)-609yw)

Resolves the user’s input when it isn’t clear who the recipients of the message are.

[`-  resolveOutgoingMessageTypeForSendMessage:withCompletion:`](/documentation/Intents/INSendMessageIntentHandling/resolveOutgoingMessageType(for:with:))

Determines what type of message to send.

[`-  resolveContentForSendMessage:withCompletion:`](/documentation/Intents/INSendMessageIntentHandling/resolveContent(for:with:))

Resolves the contents of the message.

[`-  resolveSpeakableGroupNameForSendMessage:withCompletion:`](/documentation/Intents/INSendMessageIntentHandling/resolveSpeakableGroupName(for:with:))

Resolves the name of the group receiving the message.

### Confirming the Response

[`-  confirmSendMessage:completion:`](/documentation/Intents/INSendMessageIntentHandling/confirm(intent:completion:))

Confirms that you can send the message.

### Handling the Intent

[`-  handleSendMessage:completion:`](/documentation/Intents/INSendMessageIntentHandling/handle(intent:completion:))

Sends the message to the specified recipients.

### Deprecated Methods

[`-  resolveRecipientsForSendMessage:withCompletion:`](/documentation/Intents/INSendMessageIntentHandling/resolveRecipients(for:with:)-2yejx)

Resolves the recipients of the message.

[`-  resolveGroupNameForSendMessage:withCompletion:`](/documentation/Intents/INSendMessageIntentHandling/resolveGroupName(for:with:))

Resolves the name of the group receiving the message.

## Relationships

### Inherited By

[`INMessagesDomainHandling`](/documentation/Intents/INMessagesDomainHandling)

### Inherits From

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)