---
title: "donate(completion:)"
framework: intents
role: symbol
role_heading: Instance Method
path: "intents/ininteraction/donate(completion:)"
---

# donate(completion:)

Donates this interaction object to the system.

## Declaration

```swift
func donate(completion: (@Sendable ((any Error)?) -> Void)? = nil)
```

```swift
func donate() async throws
```

## Parameters

- `completion`: A block to execute with the results. Provide a block if you want to know whether the interaction was donated successfully. The block has no return value and takes the following parameter.

## Mentioned in

Donating Reservations Donating Shortcuts

## Discussion

Discussion Call this method from your app when you want to donate a SiriKit interaction to the system to help improve search results. If you provide a block in the completion parameter, the system executes your block asynchronously with the results. important: Do not donate multiple interaction object representing the same user interaction. Each donated interaction should represent a single event that was handled by your app. For example, when sending a message to multiple recipients, a messaging app should donate only one interaction object, and the INSendMessageIntent object included in that interaction should contain the complete list of recipients. The app should not donate separate interactions for each recipient.
