---
title: donate()
framework: appintents
role: symbol
role_heading: Instance Method
path: appintents/appintent/donate()-1e60c
---

# donate()

Donates the app intent to the system asynchronously.

## Declaration

```swift
@discardableResult func donate() async throws -> IntentDonationIdentifier
```

## Mentioned in

Donating your app’s data and actions to the system

## Return Value

Return Value An opaque identifier you can use to manage the donation later using an IntentDonationManager type.

## Discussion

Discussion When someone interacts with your app’s interface, create an app intent for the interaction and call this method. Donating intents helps the system predict future actions and improve the overall system experience. Don’t donate app intents that the system creates and asks you to handle.

## See Also

### Donating the intent to the system

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