---
title: INInteraction
framework: intents
role: symbol
role_heading: Class
path: intents/ininteraction
---

# INInteraction

An interaction between the user and your app involving an intent object.

## Declaration

```swift
class INInteraction
```

## Mentioned in

Configuring the View Controller for Your Custom Interface Donating Reservations Donating Shortcuts Improving Siri Media Interactions and App Selection Deleting Donated Shortcuts Improving interactions between Siri and your messaging app

## Overview

Overview An INInteraction object encapsulates information about a SiriKit request and your app’s response. SiriKit creates interaction objects automatically when it needs your app to respond to a specific intent, either by handling the intent or providing an error explaining why your app couldn’t handle the intent. SiriKit places the interaction in an NSUserActivity object that the system passes to your app at launch time. You can also create instances of this class in your app and donate relevant interactions to the system. Donating interactions provides contextual information that might be helpful to other apps. Some system apps use donated interactions to improve search results or to anticipate user actions. For example, a ride-booking app could donate an interaction containing the user’s planned ride information. If the user subsequently uses the Maps app to search for restaurants, Maps can show relevant results near the user’s destination. You choose which of your app’s interactions you want to donate to the system. To donate an interaction, create an instance of this class, filling it with your intent object and response, and call the donate(completion:) method. You can also use the methods of this class to delete interactions when they are no longer relevant. note: Donate interactions only when the user initiates an interaction in your app. SiriKit already knows about interactions that it sends your app for intent handling.

## Topics

### Creating an Interaction Object

- [init(intent:response:)](intents/ininteraction/init(intent:response:).md)

### Getting the Intent and Response

- [intent](intents/ininteraction/intent.md)
- [intentResponse](intents/ininteraction/intentresponse.md)

### Donating Interactions to the System

- [donate(completion:)](intents/ininteraction/donate(completion:).md)

### Deleting Interactions from the System

- [deleteAll(completion:)](intents/ininteraction/deleteall(completion:).md)
- [delete(with:completion:)](intents/ininteraction/delete(with:completion:)-2d1gs.md)
- [delete(with:completion:)](intents/ininteraction/delete(with:completion:)-tcq9.md)

### Accessing Interaction Attributes

- [intentHandlingStatus](intents/ininteraction/intenthandlingstatus.md)
- [direction](intents/ininteraction/direction.md)
- [dateInterval](intents/ininteraction/dateinterval.md)
- [identifier](intents/ininteraction/identifier.md)
- [groupIdentifier](intents/ininteraction/groupidentifier.md)

### Getting the Value of a Parameter

- [parameterValue(for:)](intents/ininteraction/parametervalue(for:).md)

### Constants

- [INIntentHandlingStatus](intents/inintenthandlingstatus.md)
- [INInteractionDirection](intents/ininteractiondirection.md)

### Initializers

- [init(coder:)](intents/ininteraction/init(coder:).md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSecureCoding](foundation/nssecurecoding.md)

## See Also

### Shortcuts and Donations

- [Offering Actions in the Shortcuts App](sirikit/offering-actions-in-the-shortcuts-app.md)
- [Adding User Interactivity with Siri Shortcuts and the Shortcuts App](sirikit/adding-user-interactivity-with-siri-shortcuts-and-the-shortcuts-app.md)
- [Donating Shortcuts](sirikit/donating-shortcuts.md)
- [Deleting Donated Shortcuts](sirikit/deleting-donated-shortcuts.md)
- [Soup Chef: Accelerating App Interactions with Shortcuts](sirikit/soup-chef-accelerating-app-interactions-with-shortcuts.md)
- [Soup Chef with App Intents: Migrating custom intents](sirikit/soup-chef-with-app-intents-migrating-custom-intents.md)
- [Adding Shortcuts for Wind Down](sirikit/adding-shortcuts-for-wind-down.md)
- [INShortcutReference](intents/inshortcutreference.md)
- [INShortcut](intents/inshortcut-swift.enum.md)
- [INVoiceShortcutCenter](intents/invoiceshortcutcenter.md)
- [INVoiceShortcut](intents/invoiceshortcut.md)
- [INShortcutAvailabilityOptions](intents/inshortcutavailabilityoptions.md)
- [INShortcutReference](intents/inshortcutreference.md)
- [INIntentDonationMetadata](intents/inintentdonationmetadata.md)
- [Apple Watch support](sirikit/watch-and-widget-support.md)
