Inspiration
Business communication is often fragmented. A customer may receive an SMS notification, contact support through WhatsApp, and receive a confirmation by email, with no shared context between those interactions.
We wanted to build a different experience where the conversation itself becomes the interface.
Messaging Experience was inspired by the idea of combining agentic AI with omnichannel communication, allowing customers to communicate naturally while an AI agent understands their intent, maintains context, and helps complete tasks across WhatsApp, SMS, RCS, and email.
What it does
Messaging Experience is an agentic AI communication platform that helps businesses have intelligent, context-aware conversations with their customers.
Customers can communicate through channels such as:
- SMS
- RCS
Instead of following rigid chatbot menus, customers can simply describe what they need.
For example:
"I want to reschedule my appointment to Friday."
The AI agent can understand the customer's intent, retrieve relevant context, use available tools to perform the required action, and respond with the result.
The platform combines AWS Communication Developer Services with AI agents to turn messaging from a notification channel into an interactive customer experience.
How we built it
Messaging Experience is built using:
- React for the frontend
- Python + Django for the backend
- PostgreSQL for persistent data and conversation history
- AWS AI Agents / Amazon Bedrock for agentic intelligence
- AWS End User Messaging for SMS and RCS
- AWS End User Messaging Social for WhatsApp
- Amazon SES for email
The architecture separates the AI, communication, application, and data layers.
Customer
│
├── WhatsApp
├── SMS
├── RCS
└── Email
│
▼
AWS Communication Developer Services
│
▼
Django API
│
┌────┴────┐
▼ ▼
PostgreSQL AI Agent
│ Amazon Bedrock
│ │
│ Agent Tools
│ │
└────┬─────┘
▼
Business Actions
│
▼
AWS Communication Developer Services
│
▼
Customer
When a customer sends a message, Django receives the communication event, retrieves the relevant conversation context from PostgreSQL, and passes the necessary information to the AI agent.
The agent determines the customer's intent and can use controlled tools to perform business actions. Django validates and executes those actions before returning the result to the agent.
Challenges we ran into
Multi-channel communication
WhatsApp, SMS, RCS, and email all have different capabilities and message formats. Designing a common communication layer while still supporting channel-specific functionality was one of our main challenges.
Conversation context
An AI agent needs more than the customer's latest message. We needed a reliable way to maintain conversation history and customer context so that interactions could continue naturally.
Safe AI actions
We wanted the AI agent to perform useful actions without giving the model unrestricted access to the application.
We solved this by exposing controlled backend tools. The agent requests an action, while Django handles validation, authorization, and execution.
AI Agent
↓
Tool Request
↓
Django Validation
↓
Business Logic
↓
Database / Service
↓
Result
Creating a natural experience
We also had to move away from traditional chatbot flows and design interactions where customers can communicate naturally instead of navigating complicated menus.
Accomplishments that we're proud of
We are proud of creating a working architecture that brings agentic AI and AWS Communication Developer Services together in a single customer experience.
Some of our key accomplishments include:
- Building an omnichannel messaging architecture
- Integrating AI agents with communication workflows
- Maintaining persistent conversation context
- Designing controlled tools for AI-driven actions
- Building a Django backend and React business dashboard
- Creating an architecture that can support different industries and customer workflows
Most importantly, we are proud of shifting the idea of messaging from simply sending notifications to helping customers accomplish tasks through conversation.
What we learned
We learned that building an agentic communication platform requires more than connecting an LLM to a messaging API.
The AI provides intelligence, but the surrounding system needs reliable communication, persistent context, business logic, security, and controlled tools.
We learned to separate responsibilities:
React → Business Interface
Django → Application & Orchestration
PostgreSQL → Conversation Memory
AI Agent → Reasoning & Decision Making
AWS CDS → Customer Communication
We also learned that giving AI agents access to well-defined tools is more reliable than allowing them to directly interact with application data.
What's next for messaging-experience
Our next goal is to make Messaging Experience more autonomous and capable of handling complete customer workflows.
We plan to add:
- Intelligent channel selection
- Proactive customer engagement
- Personalised customer journeys
- Multi-agent collaboration
- More business tools and integrations
- Conversation analytics
- Voice and messaging experiences
- Industry-specific AI agents
- AWS Marketplace deployment
Our long-term vision is to make Messaging Experience an agentic communication layer for businesses, where customers can start a conversation in any supported channel and complete meaningful tasks without leaving the conversation.
The goal is simple: turn messaging from a notification channel into an intelligent customer experience.
Built With
- bedrock
- django
- postgresql
- react
- redis
Log in or sign up for Devpost to join the conversation.