<!--
{
  "documentType" : "article",
  "framework" : "AppIntents",
  "identifier" : "/documentation/AppIntents/app-schema-domain-messages",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Messages"
}
-->

# Messages

Make your messaging app’s actions available to Apple Intelligence and Siri by adopting schemas for common messaging actions.

## Discussion

The `.messages` domain defines app schemas that provide a
structured representation for common messaging actions and content.
Apply schemas in the `.messages` domain to make your app’s messaging functionality available to Apple Intelligence and Siri.
Each schema defines the requirements for intents, parameters, and results so people get a consistent experience across messaging apps.
For example, a person can send a message on different apps that support the
[`sendMessage`](/documentation/AppIntents/AppSchema/MessagesIntent/sendMessage) schema with the same phrases.

The following table maps example phrases that apply to each schema.
Your app needs to support all of these schemas when it supports any one of them.

|Messages intent schemas                                                                              |Example phrases                                                                                                             |
|-----------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|
|``doc://com.apple.AppIntents/documentation/AppIntents/AppSchema/MessagesIntent/draftMessage``        |“Start a message.” or “Draft a message.”                                                                                    |
|``doc://com.apple.AppIntents/documentation/AppIntents/AppSchema/MessagesIntent/sendMessage``         |“Send a message to John asking what time the party starts.” or “Text the foodie group and ask, ‘What time is dinner again?’”|
|``doc://com.apple.AppIntents/documentation/AppIntents/AppSchema/MessagesIntent/editSentMessage``     |“Edit my last message.” or “Edit my last message to say ‘Good morning!’ instead of ‘Hello!’”                                |
|``doc://com.apple.AppIntents/documentation/AppIntents/AppSchema/MessagesIntent/unsendMessage``       |“Unsend my last message.” or “Unsend that.”                                                                                 |
|``doc://com.apple.AppIntents/documentation/AppIntents/AppSchema/MessagesIntent/setMessageReadStatus``|“Mark this message as unread.” or “Mark the message from the lawyer as unread.”                                             |

At build time, Xcode validates whether your app implements all the schemas in the group.

> Tip: Xcode generates a template implementation when you type `messages_` and select a schema from the suggestions list.

For more information about making your app’s actions available to Apple Intelligence and Siri, see [Apple Intelligence and Siri AI](/documentation/AppIntents/apple-intelligence-and-siri-ai).

## Topics

### Essentials

[Integrating your messaging app with Apple Intelligence](/documentation/AppIntents/integrating-your-messaging-app-with-apple-intelligence)

Adopt message schemas so people can send messages and manage conversations with Siri.

### Actions

[`draftMessage`](/documentation/AppIntents/AppSchema/MessagesIntent/draftMessage)

An intent schema that opens app to start or continue composing a message via touch.

[`editSentMessage`](/documentation/AppIntents/AppSchema/MessagesIntent/editSentMessage)

An intent schema that edits an already sent message with new content.

[`sendMessage`](/documentation/AppIntents/AppSchema/MessagesIntent/sendMessage)

An intent schema that sends a message with the associated parameters.

[`setMessageReadStatus`](/documentation/AppIntents/AppSchema/MessagesIntent/setMessageReadStatus)

An intent schema that changes the message read status to a given value.

[`unsendMessage`](/documentation/AppIntents/AppSchema/MessagesIntent/unsendMessage)

An intent schema that unsends a sent message.

[`MessagesIntent`](/documentation/AppIntents/AppSchema/MessagesIntent)

Identifies intent schemas in the messages domain.

### Content and parameter types

[`conversation`](/documentation/AppIntents/AppSchema/MessagesEntity/conversation)

An entity schema for a conversation.

[`customAttachment`](/documentation/AppIntents/AppSchema/MessagesEntity/customAttachment)

An entity schema for a custom attachment.

[`message`](/documentation/AppIntents/AppSchema/MessagesEntity/message)

An entity schema for a message.

[`messagePerson`](/documentation/AppIntents/AppSchema/MessagesEntity/messagePerson)

An entity schema for a message person.

[`MessagesEntity`](/documentation/AppIntents/AppSchema/MessagesEntity)

Identifies entity schemas in the messages domain.

### Types for static parameters

[`conversationAttribute`](/documentation/AppIntents/AppSchema/MessagesEnum/conversationAttribute)

An enum schema for a conversation attribute parameter.

[`customReaction`](/documentation/AppIntents/AppSchema/MessagesEnum/customReaction)

An enum schema for a custom reaction parameter.

[`messageAttribute`](/documentation/AppIntents/AppSchema/MessagesEnum/messageAttribute)

An enum schema for a message attribute parameter.

[`messageEffect`](/documentation/AppIntents/AppSchema/MessagesEnum/messageEffect)

An enum schema for a message effect parameter.

[`messageType`](/documentation/AppIntents/AppSchema/MessagesEnum/messageType)

An enum schema for a message type parameter.

[`MessagesEnum`](/documentation/AppIntents/AppSchema/MessagesEnum)

Identifies enum schemas in the messages domain.



---

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)