<!--
{
  "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/IntentParameter",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "App Intents"
    ],
    "preciseIdentifier" : "s:10AppIntents15IntentParameterC"
  },
  "title" : "IntentParameter"
}
-->

# IntentParameter

A property wrapper that indicates the associated property is an input argument of the app intent.

```
@propertyWrapper final class IntentParameter<Value> where Value : _IntentValue, Value : Sendable
```

## Overview

When you implement an [`AppIntent`](/documentation/AppIntents/AppIntent) type, declare its parameters using the `@Parameter` property wrapper.

## Topics

### Creating an intent parameter for primitive types

[Integers](/documentation/AppIntents/IntentParameter-Int)

Configure the details for parameter variables that contain integers.

[Doubles](/documentation/AppIntents/IntentParameter-Double)

Configure the details for parameter variables that contain floating-point
values.

[Booleans](/documentation/AppIntents/IntentParameter-Boolean)

Configure the details for parameter variables that contain Boolean values.

[Strings](/documentation/AppIntents/IntentParameter-String)

Configure the details for parameter variables that contain strings or
attributed strings.

[URLs](/documentation/AppIntents/IntentParameter-URL)

Configure the details for parameter variables that contain URLs.

### Creating an intent parameter for common framework types

[Dates](/documentation/AppIntents/IntentParameter-Date)

Configure the details for parameter variables that contain date values.

[Date components](/documentation/AppIntents/IntentParameter-Date-Components)

Configure the details for parameter variables that contain date components.

[Files](/documentation/AppIntents/IntentParameter-File)

Configure the details for parameter variables that contain files.

[Currencies](/documentation/AppIntents/IntentParameter-Currencies)

Configure the details for parameter variables that contain currency values.

[Payments](/documentation/AppIntents/IntentParameter-Payments)

Configure the details for parameter variables that contain payment-related
values.

[People](/documentation/AppIntents/IntentParameter-Person)

Configure the details for parameter variables that contain references to people.

[Placemarks](/documentation/AppIntents/IntentParameter-Placemark)

Configure the details for parameter variables that contain a geographic
location.

[Measurements](/documentation/AppIntents/IntentParameter-Measurements)

Configure the details for parameter variables that contain, among others,
temperature, mass, speed, energy, duration, length, and volume values.

### Creating an intent parameter for custom types

[App entities](/documentation/AppIntents/IntentParameter-App-Entity)

Configure the details for parameter variables that contain custom app entities.

[App enums](/documentation/AppIntents/IntentParameter-App-Enum)

Configure the details for parameter variables that contain custom app enums.

### Accessing the underlying value

[`defaultValue`](/documentation/AppIntents/IntentParameter/defaultValue)

[`projectedValue`](/documentation/AppIntents/IntentParameter/projectedValue)

[`wrappedValue`](/documentation/AppIntents/IntentParameter/wrappedValue)

[`valueState`](/documentation/AppIntents/IntentParameter/valueState-swift.property)

Check if an IntentParameter was provided an initial value

[`ValueState`](/documentation/AppIntents/IntentParameter/ValueState-swift.enum)

Indicates whether an IntentParameter was provided an initial value or if it was unset

### Requesting a value

[`requestValue(_:)`](/documentation/AppIntents/IntentParameter/requestValue(_:)-592nd)

Request a value from the user for this parameter.

[`needsValueError(_:)`](/documentation/AppIntents/IntentParameter/needsValueError(_:))

Returns a `restartPerform` error with context to request a value from the user for this
parameter and re-perform the intent with the new value.

### Requesting confirmation

[`requestConfirmation(for:dialog:)`](/documentation/AppIntents/IntentParameter/requestConfirmation(for:dialog:))

Request that the user confirm the parameter value.

[`requestConfirmation(for:dialog:view:)`](/documentation/AppIntents/IntentParameter/requestConfirmation(for:dialog:view:)-6hiyi)

Use `requestConfirmation` when you need to the ask user to confirm the parameter value.

[`requestConfirmation(for:dialog:view:)`](/documentation/AppIntents/IntentParameter/requestConfirmation(for:dialog:view:)-9z0pe)

Use `requestConfirmation` when you need to the ask user to confirm the parameter value.

### Requesting disambiguation

[`requestDisambiguation(among:dialog:)`](/documentation/AppIntents/IntentParameter/requestDisambiguation(among:dialog:))

Request that the user disambiguate amongst an array of values for this parameter.

[`needsDisambiguationError(among:dialog:)`](/documentation/AppIntents/IntentParameter/needsDisambiguationError(among:dialog:))

Returns a `restartPerform` error with context for the user to disambiguate amongst an array
of values from for this parameter and re-perform the intent with the new value.

### Deprecated

[Deprecated symbols](/documentation/AppIntents/IntentParameter-Deprecated)

Review unsupported symbols and their replacements.

## Relationships

### Conforms To

[`Escapable`](/documentation/Swift/Escapable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`AnyIntentValue`](/documentation/AppIntents/AnyIntentValue)

[`Sendable`](/documentation/Swift/Sendable)

[`Copyable`](/documentation/Swift/Copyable)

---

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)