<!--
{
  "availability" : [
    "iOS: 27.0.0 -",
    "iPadOS: 27.0.0 -",
    "macCatalyst: 27.0.0 -",
    "macOS: 27.0.0 -",
    "visionOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SuggestedActions",
  "identifier" : "/documentation/SuggestedActions/SuggestedActionsMessage",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Suggested Actions"
    ],
    "preciseIdentifier" : "s:16SuggestedActions0aB7MessageV"
  },
  "title" : "SuggestedActionsMessage"
}
-->

# SuggestedActionsMessage

A representation of the message you use as context for suggested actions.

```
struct SuggestedActionsMessage
```

## Overview

Create a `SuggestedActionsMessage` from your app’s data model for a message, then pass
it to [`init(message:previousMessages:)`](/documentation/SuggestedActions/SuggestedActionsView/init(message:previousMessages:)) or
[`generate(message:previousMessages:)`](/documentation/SuggestedActions/SuggestedActionsView/generate(message:previousMessages:)).

The `id` you pass to the create a `SuggestedActionsMessage` must be unique for each message and
stable across app launches. Creating stable identifiers lets the framework match
messages against previously cached suggested actions.

> Note: To use the Suggested Actions framework, add the
> <doc://com.apple.documentation/documentation/BundleResources/Entitlements/com.apple.developer.suggested-actions>
> entitlement to your app target.

## Topics

### Creating the message representation

[`init(id: some Hashable, date: Date, subject: AttributedString?, body: AttributedString, sender: SuggestedActionsMessage.Participant, recipients: [SuggestedActionsMessage.Participant])`](/documentation/SuggestedActions/SuggestedActionsMessage/init(id:date:subject:body:sender:recipients:))

Creates a representation of a message that the system uses to display suggested actions.

[`struct Participant`](/documentation/SuggestedActions/SuggestedActionsMessage/Participant)

A sender or recipient of a message in a conversation.

### Accessing the considered number of messages

[`static var previousMessagesLimit: Int`](/documentation/SuggestedActions/SuggestedActionsMessage/previousMessagesLimit)

The maximum number of previous messages that contribute to generating suggested actions.

## Relationships

### Conforms To

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Sendable`](/documentation/Swift/Sendable)

---

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)