---
title: "init(message:previousMessages:)"
framework: Suggested Actions
role: symbol
role_heading: Initializer
platforms: [iOS 27.0+, iPadOS 27.0+, Mac Catalyst 27.0+, macOS 27.0+, visionOS 27.0+]
path: "suggestedactions/suggestedactionsview/init(message:previousmessages:)"
---

# init(message:previousMessages:)

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

## Declaration

```swift
@MainActor init(message: SuggestedActionsMessage, previousMessages: [SuggestedActionsMessage] = [])
```

## Parameters

- `message`: The message that you want to generate suggested actions for.
- `previousMessages`: An array of messages that precede the provided message. The Suggested Actions framework uses them as context to generate suggested actions for the message. The system limits the number of previous messages it considers to the value of doc://com.apple.suggestedactions/documentation/SuggestedActions/SuggestedActionsMessage/previousMessagesLimit. This parameter defaults to an empty array if you don’t include previous messages.

## Discussion

Discussion Use this initializer to present suggested actions that the framework generates for a provided message. The Suggested Actions framework analyzes the message, and previous messages you provide as additional context, then shows relevant actions that a person can take. If you call generate(message:previousMessages:) to generate suggested actions for future use, and later pass a SuggestedActionsMessage, the Suggested Actions framework checks for suggested actions it already generated and cached. If it finds a message with a matching id, the SuggestedActionsView uses the cached result and renders the suggested actions immediately. The following example shows how an app might show a SuggestedActionsView with information from previous messages: struct ChatView: View {     @Binding     var messages: [ChatMessage]

var body: some View {         ForEach(messages) { message in             ChatBubble(message)

SuggestedActionsView(                 message: message.suggestedActionsMessage,                 previousMessages: message.previousMessages                     .suffix(SuggestedActionsMessage.previousMessagesLimit)                     .map(\.suggestedActionsMessage)             )         }     } }

## See Also

### Displaying suggested actions

- [generate(message:previousMessages:)](suggestedactions/suggestedactionsview/generate(message:previousmessages:).md)
- [SuggestedActionsMessage](suggestedactions/suggestedactionsmessage.md)
