Handling intents can be divided into three stages. The first stage is the resolving stage. In this stage, your extension will go back and forth with Siri to figure out the correct parameters for the given intent. In this step, Siri could ask your app to verify that a certain username exists. Your extension will then have to figure out if the given input is valid and you'll provide Siri with a response code that tells it whether the parameter is resolved or maybe requires a little bit more clarification on the user's end.
The second stage is expected to confirm that everything is set up correctly and all requirements for executing the action are met. The final step is to actually act on the intent and perform the desired action. Let's go through these stages one by one.