---
title: IntentValueConvertible
framework: appintents
role: symbol
role_heading: Protocol
path: appintents/intentvalueconvertible
---

# IntentValueConvertible

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

## Declaration

```swift
protocol IntentValueConvertible : IntentValueExpressing
```

## Overview

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:) method.

## Topics

### Instance Methods

- [makeContainer(context:)](appintents/intentvalueconvertible/makecontainer(context:).md)

## Relationships

### Inherits From

- [IntentValueExpressing](appintents/intentvalueexpressing.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

### Inherited By

- [IntentValueConvertibleWrapper](appintents/intentvalueconvertiblewrapper.md)

### Conforming Types

- [IntentCurrencyAmount](appintents/intentcurrencyamount.md)
- [IntentFile](appintents/intentfile.md)
- [IntentPaymentMethod](appintents/intentpaymentmethod.md)
- [IntentPerson](appintents/intentperson.md)
- [StringSearchCriteria](appintents/stringsearchcriteria.md)
- [SystemShortcut](appintents/systemshortcut.md)

## See Also

### Type conversions

- [IntentValueConvertibleWrapper](appintents/intentvalueconvertiblewrapper.md)
- [IntentValueExpressing](appintents/intentvalueexpressing.md)
