---
title: Confirming the Details of an Intent
framework: sirikit
role: article
role_heading: Article
path: sirikit/confirming-the-details-of-an-intent
---

# Confirming the Details of an Intent

Perform final validation of the intent parameters and verify that your services are ready to fulfill the intent.

## Overview

Overview After you resolve the parameters of an intent, but before you handle that intent, SiriKit may ask you to confirm the intent details. The confirmation phase is your chance to perform any final validation of the intent parameters and to verify that any needed services are available. For example, you might confirm that you can communicate with your company’s server. After performing your final validation, you provide SiriKit with a response object indicating how you plan to handle the request. The listing below shows a confirmation method used by a running app to validate an INStartWorkoutIntent object. Because the app uses Core Location to map the user’s run, the method verifies that the needed location services are available and returns a failure code if they are not. Otherwise, the response object contains the INStartWorkoutIntentResponseCode.ready code, which indicates that the app is ready to start the run. func confirm(startWorkout intent: INStartWorkoutIntent,         completion: @escaping (INStartWorkoutIntentResponse) -> Void) {     var code : INStartWorkoutIntentResponseCode = .ready     var activity : NSUserActivity? = nil              // If location services are not available, the user     // might need to change the type of workout.     if !CLLocationManager.locationServicesEnabled() {         code = .failureRequiringAppLaunch         activity = NSUserActivity(activityType:                "com.example.myRunningApp.noLocationAvailable")     }              // Deliver the response back to SiriKit.     let response = INStartWorkoutIntentResponse(code: code,              userActivity: activity)     completion(response) } Providing a custom NSUserActivity object with your response during confirmation is recommended but not required. If SiriKit needs to launch your app for any reason, it passes the provided activity object to your app. Your app can use any information in the object to take further actions. For example, you might include custom data in the user activity object that your app can then use to configure its interface.

## 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)
- [Registering Custom Vocabulary with SiriKit](sirikit/registering-custom-vocabulary-with-sirikit.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)
