---
title: "donate(result:)"
framework: appintents
role: symbol
role_heading: Instance Method
path: "appintents/appintent/donate(result:)-9b25i"
---

# donate(result:)

Donates the app intent and a result to the system asynchronously.

## Declaration

```swift
@discardableResult func donate(result: some IntentResult) -> IntentDonationIdentifier
```

## Parameters

- `result`: The effective result of the intent. Use this parameter to specify the result your intent would have returned. For example, if the action opened another item, include a result with a related doc://com.apple.AppIntents/documentation/AppIntents/OpenIntent type.

## Discussion

Discussion When someone interacts with your app’s interface, create an app intent for the interaction and call this method. Use this method when the result of the intent is also relevant, such as when the result of the action triggers another app intent. Donating intents helps the system predict future actions and improve the overall system experience. Don’t donate intents that the system creates during interactions with your app. Call this method to donate the intent and result synchronously, which you might do if you’re not using Swift concurrency. The system ignores any exceptions it encounters during the donation process.

## See Also

### Donating the intent to the system

- [donate()](appintents/appintent/donate()-1e60c.md)
- [donate()](appintents/appintent/donate()-jp6k.md)
- [donate(result:)](appintents/appintent/donate(result:)-36cia.md)
- [callAsFunction(donate:)](appintents/appintent/callasfunction(donate:)-3qvbt.md)
- [callAsFunction(donate:)](appintents/appintent/callasfunction(donate:)-7v1om.md)
