<!--
{
  "availability" : [
    "iOS: 10.0.0 -",
    "iPadOS: 10.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 11.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 3.2.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SiriKit",
  "identifier" : "/documentation/Intents/INPerson",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Intents"
    ],
    "preciseIdentifier" : "c:objc(cs)INPerson"
  },
  "title" : "INPerson"
}
-->

# INPerson

Information about a person participating in a SiriKit interaction.

```
class INPerson
```

## Overview

SiriKit uses [`INPerson`](/documentation/Intents/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`](/documentation/Intents/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`](/documentation/Intents/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`](/documentation/Intents/INPerson/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`](/documentation/Intents/INPerson) class conforms to the [`INSpeakable`](/documentation/Intents/INSpeakable) protocol, though, SiriKit still populates the [`spokenPhrase`](/documentation/Intents/INSpeakable/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`](/documentation/Intents/INSpeakable).

> Important:
> To provide the best experience, especially when donating instances of ``doc://com.apple.sirikit/documentation/Intents/INSendMessageIntent`` and ``doc://com.apple.sirikit/documentation/Intents/INStartCallIntent``, assign a value to a person’s ``doc://com.apple.sirikit/documentation/Intents/INPerson/contactIdentifier`` if they exist in the device owner’s contacts database. Otherwise, assign a value to the ``doc://com.apple.sirikit/documentation/Intents/INPerson/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 ``doc://com.apple.sirikit/documentation/Intents/INPerson/siriMatches`` property.

## Topics

### Creating a person

[`init(personHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:)`](/documentation/Intents/INPerson/init(personHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:))

Creates a person with the specified name and contact information.

[`init(personHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isMe:)`](/documentation/Intents/INPerson/init(personHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isMe:))

Creates a person with information that indicates whether the person is the user of the device.

[`init(personHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:relationship:)`](/documentation/Intents/INPerson/init(personHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:relationship:))

Creates a person with the specified name, contact, and relationship information.

[`init(personHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isMe:suggestionType:)`](/documentation/Intents/INPerson/init(personHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isMe:suggestionType:))

Creates a person that includes required metadata for messaging intents.

[`init(personHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:aliases:suggestionType:)`](/documentation/Intents/INPerson/init(personHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:aliases:suggestionType:))

Creates a person with the specified name, contact, and alias information.

[`init(personHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isContactSuggestion:suggestionType:)`](/documentation/Intents/INPerson/init(personHandle:nameComponents:displayName:image:contactIdentifier:customIdentifier:isContactSuggestion:suggestionType:))

Creates a person with information Siri can use to suggestion the person at appropriate times.

### Accessing the name

[`displayName`](/documentation/Intents/INPerson/displayName)

The person’s formatted name.

[`nameComponents`](/documentation/Intents/INPerson/nameComponents)

The individual components of the person’s full name.

### Accessing the person’s identity

[`personHandle`](/documentation/Intents/INPerson/personHandle)

The unique handle that your app assigns to the person.

[`image`](/documentation/Intents/INPerson/image)

An image of the person.

[`isMe`](/documentation/Intents/INPerson/isMe)

A Boolean value indicating whether the person is the user of the device.

[`aliases`](/documentation/Intents/INPerson/aliases)

The additional handles that Siri may use to identify the person.

### Accessing app-specific identifiers

[`contactIdentifier`](/documentation/Intents/INPerson/contactIdentifier)

The Contacts database identifier for the person.

[`customIdentifier`](/documentation/Intents/INPerson/customIdentifier)

The unique identifier that your app uses to identify the person.

### Accessing suggestion details

[`isContactSuggestion`](/documentation/Intents/INPerson/isContactSuggestion)

A Boolean value that indicates whether the person is a contact suggestion.

[`suggestionType`](/documentation/Intents/INPerson/suggestionType)

The type of contact information to donate with interactions.

[`INPersonSuggestionType`](/documentation/Intents/INPersonSuggestionType)

Constants indicating how to display the person’s identity.

### Accessing relationship details

[`relationship`](/documentation/Intents/INPerson/relationship)

The relationship between this person and the person using the device.

[`INPersonRelationship`](/documentation/Intents/INPersonRelationship)

Constants indicating the relationship between the person using the device and another person.

### Accessing matched people

[`siriMatches`](/documentation/Intents/INPerson/siriMatches)

The list of matches Siri provides for you to resolve or disambiguate.

### Deprecated

  <doc://com.apple.sirikit/documentation/SiriKit/deprecated-symbols>



---

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)