Your app can integrate with Siri so that the user can perform certain tasks in response to spoken commands and questions. Siri handles the language processing and semantic analysis to turn spoken requests into instructions your app can handle. Your app defines the tasks it supports, validates information received, provides information for Siri to present, and takes action. Information from your app’s response is spoken by Siri and appears in the Siri interface. If appropriate, your app can provide a custom user interface for Siri to display. A fitness app, for example, might provide custom workout information.

The following types of iOS apps can integrate with Siri.

Type of app Supported Siri interactions
Audio and video calling Initiate calls.
Search the call history.
Messaging Send messages.
Read received messages.
Search for messages.
Payment services Send payments.
Request payments.
Pay bills.
Search for bills.
Photo management Search for photos and show them in the app.
Fitness activities Start, pause, resume, end, and cancel workouts.
Transportation services Book rides.
Provide ride status information.
Automotive apps that integrate with vehicles Activate hazard lights or honk the horn.
Lock and unlock the doors.
Check the current fuel or power level.
Automotive apps that integrate with CarPlay Change the car’s audio source.
Change the car’s climate.
Change the car’s defroster settings.
Change the car’s seat temperature.
Change the car’s radio station.

Strive for a voice-driven experience that doesn’t require touching or looking at the screen. People often interact with Siri through a headset, through their car, or from across the room. To the extent possible, let users complete tasks without unlocking their phone.

Respond quickly and minimize interaction. People use Siri for convenience and expect a fast response. Present efficient, focused choices that reduce the possibility of additional prompting.

Take people directly to content. Transitions from Siri to your app should go directly to the expected destination. Don’t show intermediary screens or messages that slow down the experience.

Be relevant and accurate. Make your app’s response relevant to the user’s current request and expectations. For example, if the user asks Siri to send a message with your app, send a message. Don't perform a different action.

Be appropriate. Never include content that could be offensive or demeaning.

When a request has a financial impact, default to the safest and least expensive option. Never deceive the user or misrepresent information. For a purchase with multiple pricing levels, don’t default to the most expensive. At the point where a user is making a payment, don’t charge extra fees without informing them.

Make sure your custom interface integrates well with Siri. It’s fine to use your app’s colors, imagery, and other design elements to communicate your brand, but any custom interface elements should still feel like they belong in Siri.

Don’t include your app name or icon in your custom interface. The system automatically shows this information.

Increase accuracy with custom vocabulary. Help Siri learn more about the actions your app performs by defining specific terms people might actually use in requests, such as contact names, photo tags, photo album names, ride options, and workout names. These terms should be nongeneric and unique to your app. Never include other app names, terms that are obviously connected with other apps, inappropriate language, or reserved phrases, such as “Hey Siri.” Note that any terms you define are used by Siri to help resolve requests, but aren’t guaranteed to be recognized.

Provide example requests. Provide Siri with example phrases to show in the guide that appears when you tap the Help button in the Siri interface. Use these phrases to teach people the easiest and most efficient way to use Siri with your app.

Don’t advertise. Your app’s Siri experience should never include advertisements, marketing, or in-app purchase sales pitches.

Don’t attempt to mimic or manipulate Siri. Your app should never impersonate Siri, attempt to reproduce the functionality Siri provides, or provide a response that appears to come from Apple.

For developer guidance, see SiriKit Programming Guide.