<!--
{
  "availability" : [
    "iOS: 16.0.0 -",
    "iPadOS: 16.0.0 -",
    "macCatalyst: -",
    "macOS: 13.0.0 -",
    "tvOS: 16.0.0 -",
    "visionOS: -",
    "watchOS: 9.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AppIntents",
  "identifier" : "/documentation/AppIntents/IntentDonationManager/donate(intent:)-57fg4",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "App Intents"
    ],
    "preciseIdentifier" : "s:10AppIntents21IntentDonationManagerV6donate6intentAA0cD10IdentifierVx_tAA0aC0RzlF"
  },
  "title" : "donate(intent:)"
}
-->

# donate(intent:)

Donates the specified app intent to the system synchronously.

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

## Parameters

`intent`

An app intent for an action the person performed. Include enough information
in the app intent for you to recreate the action later.

## Return Value

A unique identifier you can use to refer to the donation later. The method
returns this value whether the donation succeeds or fails.

## 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
ignores the error.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)