Home Services: Sample End-to-End Test Script
This script exercises the Home Services flow end-to-end. Use this to verify the full experience including professional selection and request submission.
SPI Flow: GetServices → ListProfessionals → GetServiceSpecification → Q&A → GetUserInfo → MessageProfessional
Prerequisites
- Infrastructure deployed (
npx cdk deploy) - Add-on updated with endpoint from CDK deployment
- Add-on deployed (
alexa-ai deploy) - Permissions granted (via QR code scan or directly in Alexa+ app)
- Phone number added to your profile in Alexa mobile app (required for MessageProfessional)
- Echo Show device (required for APL visuals, pro cards, profile selection)
Conversation Script — House Cleaning (Browse & Choose)
| # | U/A | Utterance / Response | SPI Operation / Validation |
|---|---|---|---|
| 1 | User | "I need house cleaning" | — |
| 2 | Alexa | Alexa may ask for more details about your problem before showing professionals. | Alexa may ask the customer to provide more details about their problem before showing a list of pros, if the original request does not contain sufficient details. |
| 3 | User | "My house needs a deep cleaning, 3 bedrooms" | — |
| 4 | Alexa | Displays available professionals in your area with names, ratings, and pricing. | GetServices → ListProfessionals. Verify: Pro cards displayed with names, ratings, provider logo. |
| 5 | User | "Tell me about <Pro 1>" | — |
| 6 | Alexa | Displays professional details (name, years in business, rating, starting price). | Verify: Pro detail info rendered |
| 7 | User | "Let's go with <Pro 1>" | — |
| 8 | Alexa | "How many bedrooms do you have?" | GetServiceSpecification → Dynamic Q&A. Alexa may group questions together to help collect information needed from customers more quickly. |
| 9 | User | "3 bedrooms" | — |
| 10 | Alexa | "When would you like this done?" | Verify: Follow-up questions asked based on your service specification |
| 11 | User | "Within a week" | — |
| 12 | Alexa | "I've got your request ready. Sound good?" | Verify: Summary displayed with details |
| 13 | User | "Yes" | — |
| 14 | Alexa | "Great! Your request has been sent." | MessageProfessional. Verify: Request sent successfully |
Operations Coverage
| # | SPI Operation | What it validates |
|---|---|---|
| 1 | GetServices | Returns available service categories for the user's area |
| 2 | ListProfessionals | Returns ranked professionals matching the service and location |
| 3 | GetServiceSpecification | Returns dynamic Q&A form fields for the selected service |
| 4 | GetUserInfo | Returns the user's profile information from the partner's system (not from Alexa). This is the currently authenticated user on the third-party side. |
| 5 | MessageProfessional | Submits the request to the selected professional |
Supported Categories
Home Services supports dynamic categories via your service catalog (GetServices). Categories are not hardcoded — your catalog determines what's available. The starter template comes with one example for "House Cleaning," but you can expand to whatever home services categories you choose (for example, you can add a category for "TV Repair").
If you add a category, you also need to add a specification for that category. When Alexa sends a request to GetServiceSpecification for your new category, return a set of questions with the answers you support for that category so Alexa can ask customers.
Sample utterances for testing (matching the "House Cleaning" category in the template):
- "I need house cleaning"
- "Help me find a house cleaner"
- "I need help with house cleaning"
- "Alexa, my apartment needs cleaning. Help me find somebody"
If you change the categories in your service catalog, other utterances may be needed to match your new categories.
Notes
- Problem-first routing: Alexa may ask the customer to provide more details about their problem before showing a list of professionals, if the original request does not contain sufficient details.
- Batched Q&A: Questions come from your service specification (GetServiceSpecification). Alexa may group questions together to help collect information needed from customers more quickly.
- Dynamic categories: Your service catalog can expose many categories via GetServices. The template includes "House Cleaning" as an example, but you can add any category your service supports.
- Profile setup: Make sure to set up your phone number, zip code, and address in the Alexa mobile app before testing to avoid caching stale data.
Related topics
Last updated: Jul 21, 2026

