---
title: Registering Custom Vocabulary with SiriKit
framework: sirikit
role: collectionGroup
path: sirikit/registering-custom-vocabulary-with-sirikit
---

# Registering Custom Vocabulary with SiriKit

Register your app’s custom terminology, and provide sample phrases for how to use your app with Siri.

## Overview

Overview Apps must register any vocabulary that’s used in a nonconventional way or that’s completely unique to your app. Siri uses your custom vocabulary to improve the speech recognition process and to ensure that your app has correct information. You must provide one or more example phrases for engaging your app through Siri. Example phrases correspond to the way that users speak about your app and should include any custom vocabulary terms defined by your app. The terms you define from your iOS app are automatically shared with your Intents extension on watchOS. You don’t need to register your user-specific or global vocabulary again from your Intents extension in watchOS. Register Example Phrases and Global Vocabulary Register your app’s example phrases and global vocabulary using the Info.plist file of your Intents app extension. All apps should provide at least a few phrases that teach users how to use Siri to trigger your intents. Siri displays your phrases in the Siri Guide and also uses custom vocabulary to improve the accuracy of its recognition process. To create a global vocabulary file: In your Xcode project, select New > File. In iOS > Resource, select the Property List file type. Click Next. Set the name of the file to AppIntentVocabulary.plist, and add the file to your iOS app. Click Create. Place your AppIntentVocabulary.plist file in the language-specific (.lproj) directory of your iOS app that corresponds to your base development language. Include localized versions of the file in each of your app’s language-specific project directories. In Xcode, you can create localized versions automatically from the File inspector. The global vocabulary file contains two keys at the root level: The IntentPhrases key contains example phrases for invoking your services. Always include this key. The ParameterVocabularies key defines your app’s custom terms that apply to all users of your app and the intent parameters to which they apply. You may omit this key if you don’t have any custom vocabulary terms. You may specify custom vocabulary terms for ride options and workout names. You must always associate custom vocabulary terms with a specific property of the corresponding intent object. You may associate the same term with multiple intents. For example, you may associate the same workout name with all of the workout-related intents. important: During development, Xcode forwards your global vocabulary to Siri but limits the availability of that vocabulary to your development device. Ingestion of your vocabulary data isn’t instantaneous, so you may need to wait a few minutes before testing any custom vocabulary. For information about how to fully specify example phrases and custom terms, see Global Vocabulary Reference. Register User-Specific Vocabulary You register user-specific vocabulary terms at runtime by calling the setVocabularyStrings(_:of:) method of an INVocabulary object. Unlike the global terms, which you declare in your app bundle, you declare user-specific terms at runtime from your iOS app. The terms you declare must belong to one of the following categories: Audiobook titles Audiobook author names Car names Contact names (only if they’re app-specific and not managed by the Contacts framework) Contact groups Music artist names Notebook titles Notebook groups Payment organization names Payment account nicknames Photo tags Photo album names Podcast or radio show titles Playlist titles Workout names Vehicle profile names When selecting the vocabulary to register, choose terms that could be misunderstood by someone not familiar with your app. For example, include terms whose literal meanings differ from your app’s usage of those terms. Don’t register terms that are easily understood, such as “My Photo Album” or “My Workout”. Each call to the setVocabularyStrings(_:of:) method replaces any previously registered terms of the same type. As a result, each call to that method must include all of the terms that you want to associate with the user. In addition, you must arrange terms based on priority, placing the most important terms first in the list you provide. The listing below shows an example that registers a set of custom workout names for the user. The example assumes that the app provides a custom sortedWorkoutNames method that sorts the workout names based on how recently the user used them. You execute this code from your iOS app, and not from your Intents app extension.

## Topics

### Related Topics

- [Global Vocabulary Reference](sirikit/global-vocabulary-reference.md)
- [Specifying Synonyms for Your App Name](sirikit/specifying-synonyms-for-your-app-name.md)

## See Also

### Articles

- [Adding User Interactivity with Siri Shortcuts and the Shortcuts App](sirikit/adding-user-interactivity-with-siri-shortcuts-and-the-shortcuts-app.md)
- [Defining Relevant Shortcuts for the Siri Watch Face](sirikit/defining-relevant-shortcuts-for-the-siri-watch-face.md)
- [Deleting Donated Shortcuts](sirikit/deleting-donated-shortcuts.md)
- [Dispatching intents to handlers](sirikit/dispatching-intents-to-handlers.md)
- [Improving Siri Media Interactions and App Selection](sirikit/improving-siri-media-interactions-and-app-selection.md)
- [Improving interactions between Siri and your messaging app](sirikit/improving-interactions-between-siri-and-your-messaging-app.md)
- [Confirming the Details of an Intent](sirikit/confirming-the-details-of-an-intent.md)
- [Handling an Intent](sirikit/handling-an-intent.md)
- [Resolving the Parameters of an Intent](sirikit/resolving-the-parameters-of-an-intent.md)
- [Generating a List of Ride Options](sirikit/generating-a-list-of-ride-options.md)
- [Handling the Ride-Booking Intents](sirikit/handling-the-ride-booking-intents.md)
- [Donating Reservations](sirikit/donating-reservations.md)
- [Specifying Synonyms for Your App Name](sirikit/specifying-synonyms-for-your-app-name.md)
- [Intent Phrases](sirikit/intent-phrases.md)
- [Localizing Your Vocabulary for Chinese Dialects](sirikit/localizing-your-vocabulary-for-chinese-dialects.md)
