---
title: INPerson
framework: intents
role: symbol
role_heading: Class
path: intents/inperson
---

# INPerson

Information about a person participating in a SiriKit interaction.

## Declaration

```swift
class INPerson
```

## Mentioned in

Improving interactions between Siri and your messaging app Handling an Intent Resolving the Parameters of an Intent

## Overview

Overview SiriKit uses INPerson objects to represent people with many different roles, including the sender or recipient of calls and messages, the payer or payee of a financial transaction, or the driver of a vehicle. You also use person objects to identify the corresponding contact in your app and to communicate information about that contact back to SiriKit. When resolving the parameters of an intent, use any provided INPerson objects to identify the corresponding contacts in your app. A person object contains information provided by the initial request, which could be as little as a single name spoken by the person interacting with Siri. After identifying the contact, create a new INPerson object and fill it with the information that you need to identify that contact again later. For example, you might specify a value for personHandle property that contains the information about how your app identifies that contact. When resolving the identities of contacts, SiriKit leverages the information in the device owner’s contacts database when that information is available. If the owner denies your app access to their contacts, SiriKit can’t use that information, which might cause many properties of a person object to be nil. Because the INPerson class conforms to the INSpeakable protocol, though, SiriKit still populates the spokenPhrase property with what the person interacting with Siri said, and you can use that information to try to identify the contact. For more information about that protocol, see INSpeakable. important: To provide the best experience, especially when donating instances of INSendMessageIntent and INStartCallIntent, assign a value to a person’s contactIdentifier if they exist in the device owner’s contacts database. Otherwise, assign a value to the customIdentifier property that identifies the person in your app. When attempting to resolve a message recipient or call contact, prefer to use the people Siri adds to the siriMatches property.

## Topics

### Creating a person

- [init(personHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:)](intents/inperson/init(personhandle:namecomponents:displayname:image:contactidentifier:customidentifier:).md)
- [init(personHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isMe:)](intents/inperson/init(personhandle:namecomponents:displayname:image:contactidentifier:customidentifier:isme:).md)
- [init(personHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:relationship:)](intents/inperson/init(personhandle:namecomponents:displayname:image:contactidentifier:customidentifier:relationship:).md)
- [init(personHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isMe:suggestionType:)](intents/inperson/init(personhandle:namecomponents:displayname:image:contactidentifier:customidentifier:isme:suggestiontype:).md)
- [init(personHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:aliases:suggestionType:)](intents/inperson/init(personhandle:namecomponents:displayname:image:contactidentifier:customidentifier:aliases:suggestiontype:).md)
- [init(personHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isContactSuggestion:suggestionType:)](intents/inperson/init(personhandle:namecomponents:displayname:image:contactidentifier:customidentifier:iscontactsuggestion:suggestiontype:).md)

### Accessing the name

- [displayName](intents/inperson/displayname.md)
- [nameComponents](intents/inperson/namecomponents.md)

### Accessing the person’s identity

- [personHandle](intents/inperson/personhandle.md)
- [image](intents/inperson/image.md)
- [isMe](intents/inperson/isme.md)
- [aliases](intents/inperson/aliases.md)

### Accessing app-specific identifiers

- [contactIdentifier](intents/inperson/contactidentifier.md)
- [customIdentifier](intents/inperson/customidentifier.md)

### Accessing suggestion details

- [isContactSuggestion](intents/inperson/iscontactsuggestion.md)
- [suggestionType](intents/inperson/suggestiontype.md)
- [INPersonSuggestionType](intents/inpersonsuggestiontype.md)

### Accessing relationship details

- [relationship](intents/inperson/relationship.md)
- [INPersonRelationship](intents/inpersonrelationship.md)

### Accessing matched people

- [siriMatches](intents/inperson/sirimatches.md)

### Deprecated

- [Deprecated Symbols](sirikit/deprecated-symbols.md)

### Initializers

- [init(coder:)](intents/inperson/init(coder:).md)
- [init(handle:displayName:contactIdentifier:)](intents/inperson/init(handle:displayname:contactidentifier:).md)
- [init(handle:nameComponents:contactIdentifier:)](intents/inperson/init(handle:namecomponents:contactidentifier:).md)
- [init(handle:nameComponents:displayName:image:contactIdentifier:)](intents/inperson/init(handle:namecomponents:displayname:image:contactidentifier:).md)

### Instance Properties

- [handle](intents/inperson/handle.md)

## Relationships

### Inherits From

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

### Inherited By

- [INRestaurantGuest](intents/inrestaurantguest.md)
- [INRideDriver](intents/inridedriver.md)

### Conforms To

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

## See Also

### Contacts

- [INPersonHandle](intents/inpersonhandle.md)
- [INPersonHandleLabel](intents/inpersonhandlelabel.md)
