Inspiration
Healthcare professionals suffer from severe "app fatigue." Clinicians and hospital administrators constantly switch between EMRs (Electronic Medical Records), scheduling software, and communication tools. We were inspired to bridge this gap by bringing critical medical data directly into the platform where teams already collaborate: Slack. Our vision was to create an intelligent assistant that makes querying patient data as easy as asking a colleague a question.
What it does
Pulse is a highly secure, AI-powered medical assistant that lives natively within Slack. By leveraging Slack's Agent Builder, Pulse allows users to type natural language queries (e.g., "Get the summary for patient 3"). In the background, it instantly extracts the intent, queries our enterprise SQL database, and returns a cleanly formatted patient summary including DOB, blood type, and clinical notes directly into the chat. It eliminates context-switching and accelerates clinical workflows.
How we built it
We built Pulse using a robust, enterprise-grade technology stack. The backend is a .NET 10 ASP.NET Core Web API, utilizing Entity Framework Core for secure interactions with a Microsoft SQL Server database. To connect this local backend to Slack, we implemented the Model Context Protocol (MCP). We exposed a secure webhook via Ngrok that listens for Slack's message.im and app_mention events, dynamically processes the JSON payloads, and responds securely using the Slack Web API.
Challenges we ran into
One of our biggest hurdles was dealing with Slack's event retry policy. Slack expects a lightning-fast 3-second acknowledgement, and if missed, it retries sending the same event multiple times, causing our bot to spam the channel. We overcame this by implementing an intelligent Event Deduplication system using C#'s ConcurrentDictionary to cache and track processed event_ids in memory. Furthermore, aligning the new Model Context Protocol (MCP) standards with our custom .NET API required deep architectural focus.
Accomplishments that we're proud of
We are incredibly proud of successfully bypassing complex middleware to establish a direct, real-time connection between a Slack Agent and a fully operational .NET 10/SQL Server backend. Delivering a seamless "Plug & Play" experience—where the database auto-seeds itself on launch—was a huge win for us.
What we learned
We gained deep, hands-on experience with Slack's Event API and the new Agent Builder ecosystem. We learned how to securely tunnel local environments using Ngrok for rapid webhook development, and how to implement robust deduplication logic in asynchronous C# environments.
What's next for Pulse
The next step is to expand Pulse's capabilities from "Read-Only" to "Write". We plan to implement full appointment booking and clinical note logging natively from Slack. Additionally, we want to integrate LLMs (like OpenAI or Claude) directly into the .NET backend to allow for highly conversational follow-up queries, such as analyzing a patient's historical health trends over time.
Built With
- .net-10
- asp.net-core
- c#
- entity-framework
- model-context-protocol
- ngrok
- slack-api
- sql-server
Log in or sign up for Devpost to join the conversation.