Inside SmartPitch: How CloudFronts Built an Enterprise-Grade AI Sales Agent Using Microsoft and Databricks Technologies
Why SmartPitch? – The Idea and Pain Point
The idea for SmartPitch came directly from observing the day-to-day struggles of sales and pre-sales teams. Every Marketing Qualified Lead (MQL) to Sales Qualified Lead (SQL) conversion required hours of manual work: searching through documents stored in SharePoint, combing through case studies, aligning them with solution areas, and finally packaging them into a client-ready pitch deck.
The reality was that documents across systems—SharePoint, Dynamics 365, PDFs, PPTs—remained underutilized because there was no intelligent way to bring them together.
Sales teams often relied on tribal knowledge or reused existing decks with limited personalization.
We asked: What if a sales assistant could automatically pull the right case studies, map them to solution areas, and draft an elevator pitch on demand, in minutes?
That became the SmartPitch vision: an AI-powered agent that:
- -Automates repetitive pitch-building tasks.
- -Leverages enterprise knowledge bases.
- -Evolves with each interaction.
As a result of this product, it has helped us reduce pitch creation time by 70%.
2. The First Prototype – Custom Copilot Studio
Our first step was to build SmartPitch using Custom Copilot Studio. It gave us a low-code way to experiment with conversational flows, integrate with Azure AI Search, and provide sales teams with a chat interface.
1. Knowledge Sources Integration
- –Dataverse CRM: Provided live client, lead, opportunity, and sales cycle data. SmartPitch accessed these entities (Leads, Accounts, Contacts, Opportunities) in read-only mode, enabling the agent to fetch accurate CRM insights during conversations.
- –SharePoint: Hosted Sales SOPs, FAQs, and case study documents. SmartPitch periodically synchronized with these files to answer procedural and sales-related queries.
- –CloudFronts Public Website: Served as a source of customer success stories, enriching sales conversations with real-world examples.
2. Data Flow
- A user asks SmartPitch a question in Microsoft Teams.
- SmartPitch queries Dataverse CRM, SharePoint, or the public website as needed.
- The retrieved data is processed via Azure OpenAI Service to generate contextual responses.
- Responses are returned to the user in Teams in natural language.
3. Conversational Flow Design
- -Custom Copilot Studio enabled low-code creation of guided conversation flows, capturing client context interactively.
- -Elevator pitch generation was implemented by querying relevant client data and case studies, then synthesizing the results into concise, persuasive responses using Azure OpenAI embeddings.
4. Integration and Security
- –Authentication: Entra ID and OAuth 2.0 for secure access to Dataverse and SharePoint.
- –Permissions: SmartPitch had read-only access, ensuring CRM and SharePoint data were never modified.
- –Deployment: Integrated as a Microsoft Teams app, with model orchestration handled via Azure OpenAI Service.
- –Maintenance: Knowledge bases in SharePoint and CRM were regularly synchronized; models fine-tuned based on user feedback.
5. Technical Stack
- -Frontend: Microsoft Teams App (Custom Copilot).
- -Backend: Azure OpenAI, Azure App Registrations.
- -Data Sources: Dataverse CRM, SharePoint, public website.
- -Integration: Teams via Microsoft Graph API, Copilot Studio channel integration.
6. Business Process Enablement
- –Lead Engagement and Qualification: AI analyzed leads, client industry, region, and past interactions to guide prioritization.
- –Opportunity Analysis: SmartPitch suggested similar clients and highlighted pipeline stages using CRM insights.
- –Knowledge Access: SOPs, FAQs, and success stories were seamlessly retrieved to support real-time decision-making.
- –Elevator Pitch Generation: Automated concise, contextual pitches tailored to client-specific data.
- –User Workflow Integration: Fully embedded within Microsoft Teams for everyday sales activities.
7. Early Prototypes
- -Demonstrated successfully in Zurich and New York.
- -Validated that AI-assisted pitch generation could enhance sales efficiency.
With Custom Copilot, we were able to:
- -Create guided conversation flows for capturing client context.
- -Attach a knowledge source (case study repository).
- -Generate short elevator pitches for clients.
We successfully demoed these early prototypes in Zurich and New York. They showed that the idea worked but they also revealed serious limitations.


3. Challenges in Custom Copilot
Despite proving the concept, Custom Copilot Studio had critical shortcomings:
- –Rigid control over conversations → The flow felt linear, lacking natural flexibility; as SmartPitch had linear, guided conversations; users could not easily deviate or interrupt the flow.
- –Minimal governance → No version history, limited monitoring, and no control over data quality feeding into the agent.
- –Model Flexibility → Only two Azure OpenAI models were available.
Lacked support for model fine-tuning or advanced RAG customization.
- –Integration Constraints → Dataverse and SharePoint integration were seamless.
However, incorporating complex external APIs or custom workflows was difficult.
- –Limited Deployment Options → Publishing to Microsoft Teams was straightforward. But it lacked advanced CI/CD pipelines and multi-channel integration flexibility.
This limitation meant SmartPitch, in its Copilot form, couldn’t scale to meet enterprise standards.

4. Rebuilding in Azure AI Foundry – Smarter, Extensible, Connected
The next phase was Azure AI Foundry, Microsoft’s enterprise AI development platform. Unlike Copilot Studio, AI Foundry gave us:
- -A workspace for orchestrating agents with ~90 models.

- –Prompt flow orchestration and RAG (Retrieval Augmented Generation) capabilities.
- –Seamless Teams integration—any change to an agent reflected instantly in conversations.
Extending SmartPitch with Logic Apps
One of the biggest upgrades was the ability to integrate Azure Logic Apps as external tools for the agent. This allowed SmartPitch to:
- –Fetch company details from CRM systems like Dynamics 365.
- –Retrieve case studies dynamically via Logic Apps connected to SharePoint or other APIs.
- –Generate MQL-to-SQL files by triggering document creation workflows.
This modular approach meant we could add new functionality simply by publishing a new Logic App. No redeployment of SmartPitch was required.
Automating Document Vectorization
We also solved one of the biggest bottlenecks—document ingestion and retrieval—by building a pipeline for automatic document vectorization from SharePoint:
- Azure Logic App: Synced documents from SharePoint into Blob Storage.
- Blob Storage: Acted as a clean staging layer.
- Azure AI Search: Processed files using OCR, chunking, and embeddings to build a multimodal RAG index.
This allowed SmartPitch to search across text, images, tables, and PDFs, providing relevant answers instead of keyword matches.

But There Were Limitations
Even with these improvements, we hit roadblocks:
- -AI Foundry required custom MCP servers for tool extensions, with a complex setup.
- –Knowledge source limitations → Only one type of knowledge, especially – AI Search resource per agent. If a new one was added, the old one was removed.
- –Scalability bottlenecks → Complex integrations required infrastructure-heavy solutions like Azure Bot SDK + App Service.
- –Data governance was still weak—there was no unified way to clean, validate, and track lineage of knowledge sources.
- -Performance bottlenecks surfaced when scaling across multiple departments.
At this point, we realized the true bottleneck wasn’t the agent itself, it was the quality of the data powering it.

5. Bad Data, Governance, and the Medallion Architecture
SmartPitch’s performance was only as good as the data it retrieved from. And much of the enterprise data was dirty: duplicate case studies, outdated documents, inconsistent file formats.
This led to irrelevant or misleading responses in pitches.
To address this, we turned to Databricks’ Unity Catalog and Medallion Architecture:
- a. Bronze Layer: Ingest raw case studies, sales documents, CRM exports.
- b. Silver Layer: Clean and standardize formats, remove duplicates, enrich metadata.
- c. Gold Layer: Curated, trusted datasets powering SmartPitch.
- d. Unity Catalog: Enforced governance, lineage, and access policies across all data.
You can read our post on building a clean data foundation with Medallion Architecture [Link]
Now, every result SmartPitch surfaced could be trusted, audited, and tied to a governed source.

6. SmartPitch in Mosaic AI – The Final Evolution
The last stage was migrating SmartPitch into Databricks Mosaic AI, part of the Lakehouse AI platform. This was where SmartPitch matured into an enterprise-grade solution.
What We Gained in Mosaic AI:
- –Native Unity Catalog integration → Governance and data lineage built-in.
- –Mosaic AI RAG Studio → Out-of-the-box RAG pipelines for structured + unstructured data.
- –Open model ecosystem → Access to OSS models like Llama, OSS, Claude, plus partner models.
- –Fine-tuning and orchestration → Instruction tuning, parameter-efficient fine-tuning, multi-model routing.
- –Versioning and rollback → Unlike AI Foundry’s autosave model, Mosaic AI allowed controlled versioning and safe rollbacks.

In Mosaic AI, SmartPitch wasn’t just a chatbot it became a data-native enterprise sales assistant:
- -Querying across multimodal datasets (text, images, diagrams).
- -Generating trusted, context-rich pitches aligned to client solution areas.
- -Scaling seamlessly with Databricks workflows and governance.differences between
From these, we came to know the following differences between agent development in AI Foundry & DataBricks Mosaic AI –
Attribute / Aspect | Azure AI Foundry | Mosaic AI |
Focus | Developer and Data Scientist | Data Engineers, Analysts, and Data Scientists |
Core Use Case | Create and manage your own AI agent | Build, experiment, and deploy data-driven AI models with analytics + AI workflows |
Interface | Code-first (SDKs, REST APIs, Notebooks) | No-code/low-code UI + Notebooks + APIs |
Data Access | Azure Blob, Data Lake, vector DBs | Native integration with Databricks Lakehouse, Delta Lake, Unity Catalog, vector DBs |
MCP Server | Only custom MCP servers supported; built-in option complex | Native MCP support with Databricks ecosystem; simpler setup |
Models | 90 models available | Access to open-source + foundation models (MPT, Llama, Mixtral, etc.) + partner models |
Model Customization | Full model fine-tuning, prompt engineering, RAG | Fine-tuning, instruction tuning, RAG, model orchestration |
Publish to Channels | Complex (Azure Bot SDK + Bot Framework + App Service) | Direct integration with Databricks workflows, APIs, dashboards, and third-party apps |
Agent Update | Real-time updates in Microsoft Teams | Updates deployed via Databricks workflows; versioning and rollback supported |
Key Capabilities | Prompt flow orchestration, RAG, model choice, vector search, CICD pipelines, Azure ML & responsible AI integration | Data + AI unification (native to Lakehouse), RAG with Lakehouse data, multi-model orchestration, fine-tuning, end-to-end ML pipelines, secure governance via Unity Catalog, real-time deployment |
Key Components | Workspace & agent orchestration, 90+ models, OpenAI pay-as-you-go or self-hosted, security via Azure identity | Mosaic AI Agent Framework, Model Serving, Fine-Tuning, Vector Search, RAG Studio, Evaluation & Monitoring, Unity Catalog Integration |
Cost / License | Vector DB: external, Model Serving: token-based pricing (GPT-3.5, GPT-4), Fine-tuning: case-by-case, Total agent cost variable (~$5k–$7k+/month) | Vector Search: $605–$760/month for 5M vectors, Model Serving: $90–$120 per million tokens, Fine-Tuning Llama 3.3: $146–$7,150, Managed Compute built into DBU usage, End-to-end AI Agent ~$5k–$7k+/month |
Use Cases / Capabilities | Agents intelligent, can interact/modify responses; single AI search per agent; infrastructure setup required; custom MCP server registration | Agents intelligent, interact/modify responses; AI search via APIs (Google/Bing); in-built MCP server; complex infrastructure; slower responses as results batch sent together |
Development Approach | Low-code, faster agent creation, SDK-based, easier experimentation | Manual coding using MLflow library, more customization, API integration, higher chance of errors, slower build |
Models Comparison | 90 models, Azure OpenAI (GPT-3.5, GPT-4), multi-modal | ~10 base models, OSS & partner models (Llama, Claude, Gemma), many models don’t support tool usage |
Knowledge Source | One knowledge source of each type (adding new replaces previous) | No limitation; supports data cleaning via Medallion Architecture; SQL-only access inside agent; Spark/PySQL not supported in agent |
Memory / Context Window | 8K–128K tokens (up to 1M for GPT-4.1) | Moderate, not specified |
Modalities | Text, code, vision, audio (some models) | Likely text-only |
Special Enhancements | Turbo efficiency, reasoning, tool calling, multimodal | Varies per model (Llama, Claude, Gemma architectures) |
Availability | Deployed via Azure AI Foundry | Through Databricks platform |
Limitations | Only one knowledge source of each type, infrastructure complexity for MCP server | No multi-modal Spark/PySQL access, slower batch responses, limited model count, high manual development |

7. Lessons Learned: The SmartPitch Journey
Looking back, each stage taught us something:
- 1. Custom Copilot → Great for prototyping, but too rigid for enterprise.
- 2. Azure AI Foundry → Strong orchestration + extensibility with Logic Apps, but struggled with governance and scaling.
- 3. Unity Catalog + Medallion → Solved the dirty data problem—governance is as important as intelligence.
- 4. Mosaic AI → Unified data + AI in one ecosystem, making SmartPitch robust, scalable, and enterprise-ready.

Conclusion
SmartPitch began as a simple idea: reduce the time sales teams spend building pitches. Along the way, it evolved into a flagship example of enterprise AI adoption:
- a. Prototype in Custom Copilot → Prove the idea.
- b. Extend in Azure AI Foundry → Add intelligence and modular tools via Logic Apps.
- c. Fix the data foundation → Unity Catalog + Medallion for governance.
- d. Scale in Mosaic AI → Build a data-native AI agent at enterprise scale.
Today, SmartPitch doesn’t just generate pitches, it demonstrates how enterprises can move from idea → prototype → scalable AI system by choosing the right platforms at each stage of maturity.
Want to explore how SmartPitch or Databricks Mosaic AI can accelerate your enterprise AI adoption? Talk to our Data & AI team. [ Data Ready Blueprint]