---
title: "donate(intent:)"
framework: appintents
role: symbol
role_heading: Instance Method
path: "appintents/intentdonationmanager/donate(intent:)-hly2"
---

# donate(intent:)

Donates the specified app intent to the system asynchronously.

## Declaration

```swift
@discardableResult func donate(intent: some AppIntent) async throws -> IntentDonationIdentifier
```

## Parameters

- `intent`: An app intent for an action your app performed. Put enough information into the app intent that your app can replicate the action later.

## Return Value

Return Value A unique identifier you can use to refer to the donation later.

## Discussion

Discussion When someone completes an action in your app, call this method to donate a matching app intent. The system doesn’t run the app intent you provide, but uses the information to predict future actions. If an error occurs during the donation process, this method throws that error so you can handle it.

## See Also

### Donating intents to the system

- [donate(intent:)](appintents/intentdonationmanager/donate(intent:)-57fg4.md)
- [donate(intent:result:)](appintents/intentdonationmanager/donate(intent:result:)-1ltmi.md)
- [donate(intent:result:)](appintents/intentdonationmanager/donate(intent:result:)-7ztce.md)
