Why we built SkyAssist

A cancelled flight leaves an airline with hundreds of passengers needing rooms, answers and a new plan. A cancellation notification barely starts that work.

We built SkyAssist so passengers can explain what they need on WhatsApp, while airline staff handle routine recovery requests in parallel and focus on exceptions.

A passenger's next step

In our demo, a passenger needs a step-free room and vegetarian food. She explains this once, compares hotel offers, asks “which one is cheapest?” and chooses with a tap. A voucher and the hotel's confirmation follow.

The airline sets the spending limit. Expensive choices need approval, and staff can take over. Asking about a room does not book it.

How we built it

AWS End User Messaging handles WhatsApp and SMS; Amazon SES sends vouchers and staff alerts. WhatsApp lists and buttons turn answers into actions. Amazon Location finds nearby hotels; confirmed offers supply prices and availability.

A Strands agent running Amazon Nova on Bedrock AgentCore interprets needs and questions. Workflow code controls ranking, approvals and vouchers. Lambda, SQS and DynamoDB keep the case and audit trail together; Cognito protects the console.

What we learned

“Which one is cheapest?” is a question, not permission to book. We kept language understanding with the agent and booking decisions behind explicit choices and policy checks.

Demo scope and next steps

The video uses demo passenger and flight data in the deployed workflow. Staff record hotel offers on providers' behalf. Hotel discovery is live; direct hotel reservations and airline ticketing integrations are next. Alternative flights use the stored airline schedule.

WhatsApp free-form updates require a passenger message within the last 24 hours; otherwise they fall back to SMS. Proactive WhatsApp templates are pending Meta approval.

Built With

Share this project:

Updates

Submission history