<!--
{
  "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/SuggestedActionsView",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Suggested Actions"
    ],
    "preciseIdentifier" : "s:16SuggestedActions0aB4ViewV"
  },
  "title" : "SuggestedActionsView"
}
-->

# SuggestedActionsView

A view that displays suggested actions for a message.

```
@MainActor struct SuggestedActionsView
```

## Overview

The suggested actions view displays inline actions for a messaging app, next to a message, using context you provide.
This view animates suggested actions as they become available. If no suggested actions are available,
the view’s size is zero and remains zero until they become available. At size zero, a `SuggestedActionsView` doesn’t
affect your surrounding layout. As a result, place the view for every message in a conversation.
It doesn’t introduce gaps between messages if a message doesn’t have suggested actions.

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

## Customize the appearance

To customize a `SuggestedActionsView`, apply standard SwiftUI view modifiers to change
its appearance. Additionally, the view reads the following modifiers from its parent views:

- <doc://com.apple.documentation/documentation/SwiftUI/View/tint(_:)>,
- <doc://com.apple.documentation/documentation/SwiftUI/View/foregroundStyle(_:)>,
- <doc://com.apple.documentation/documentation/SwiftUI/View/font(_:)>
- <doc://com.apple.documentation/documentation/SwiftUI/View/buttonBorderShape(_:)>

## Generate suggested actions for future use

To avoid showing a loading state when the view appears, call
[`generate(message:previousMessages:)`](/documentation/SuggestedActions/SuggestedActionsView/generate(message:previousMessages:)) to let the Suggested Actions framework create suggested actions and
cache them for future use. When you
later initialize a `SuggestedActionsView`, the framework checks the `id` of cached suggested actions based on their messages’ `id` property. If it finds an `id` that matches the `id` of a new [`SuggestedActionsMessage`](/documentation/SuggestedActions/SuggestedActionsMessage), the system
uses the already generated suggested action.

The following example shows how an app might show a `SuggestedActionsView` with information about previous
messages using a capsule border shape, blue tint, and the callout font style:

```swift
SuggestedActionsView(
    message: message.suggestedActionsMessage,
    previousMessages: message.previousMessages
        .suffix(SuggestedActionsMessage.previousMessagesLimit)
        .map(\.suggestedActionsMessage)
)
.buttonBorderShape(.capsule)
.tint(.blue)
.font(.callout)
```

## Topics

### Displaying suggested actions

[`init(message: SuggestedActionsMessage, previousMessages: [SuggestedActionsMessage])`](/documentation/SuggestedActions/SuggestedActionsView/init(message:previousMessages:))

Creates a view that shows suggested actions for the specified message.

[`static func generate(message: SuggestedActionsMessage, previousMessages: [SuggestedActionsMessage]) async`](/documentation/SuggestedActions/SuggestedActionsView/generate(message:previousMessages:))

Fetches and caches suggested actions for the provided message.

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

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

## Relationships

### Conforms To

[`View`](/documentation/SwiftUI/View)

[`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)