<!--
{
  "availability" : [
    "iOS: 27.0.0 -",
    "iPadOS: 27.0.0 -",
    "macCatalyst: -",
    "macOS: 27.0.0 -",
    "tvOS: 27.0.0 -",
    "visionOS: 27.0.0 -",
    "watchOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AppIntents",
  "identifier" : "/documentation/AppIntents/IntentValueConvertible",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "App Intents"
    ],
    "preciseIdentifier" : "s:21AppIntentsTypeSupport22IntentValueConvertibleP"
  },
  "title" : "IntentValueConvertible"
}
-->

# IntentValueConvertible

A protocol that allows the system to use types to as app intent parameters or properties.

```
protocol IntentValueConvertible : IntentValueExpressing
```

## Overview

A type that conforms to `IntentValueConvertible` enables the App Intents framework to convert it to and from intent value
containers. This protocol forms the
foundation of the App Intents type conversion system, enabling seamless data exchange between
your app and the AppIntents framework.

To make a custom type usable in AppIntents, conform it to this protocol by implementing
the required [`makeContainer(context:)`](/documentation/AppIntents/IntentValueConvertible/makeContainer(context:)) method.

## Topics

### Instance Methods

[`func makeContainer(context: IntentValueContainer.ConversionContext) -> IntentValueContainer`](/documentation/AppIntents/IntentValueConvertible/makeContainer(context:))

Creates an intent value container that represents this value.

## Relationships

### Conforming Types

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

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

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

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

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

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

### Inherits From

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

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

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

### Inherited By

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

---

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)