A multi-tenant cloud + mobile CRM
AWS-validated reference — full details available to AWS Partner Validation or on request. (Customer name held on file with VeUP.)
VeUP designed an in-app AI assistant for the customer multi-tenant CRM on Amazon Bedrock with Anthropic Claude — a tenant-isolated agent answering natural-language pipeline questions read-only via MCP tool calls over existing REST APIs, plus Smart Reply. Strict per-tenant, human-in-the-loop v1.
The challenge
the customer wanted to put AI directly inside its CRM rather than bolt on an external tool: let users ask natural-language questions about their own pipeline and accounts, and suggest context-aware replies to customers in the app. As a multi-tenant SaaS, the hard requirement was strict tenant isolation — no query, suggestion, or answer could ever cross a tenant, team, or user boundary — and the assistant had to read from the customer existing backend as the single source of truth rather than stand up a new live database. It needed a foundation model with strong reasoning and tool-use on infrastructure it already trusted.
The solution
An in-app AI experience layer on Amazon Bedrock with Anthropic Claude as the foundation model. The architecture exposes /chat and /suggest-reply endpoints backed by a tool/data-access layer of Model Context Protocol (MCP) servers that wrap the customer existing REST APIs, with optional retrieval-augmented search over the product knowledge base. Tenant, team, and user context propagates through every layer so each query is constrained to the caller's own data. Version 1 is read-only with human-in-the-loop for any writes, and the chat panel lives inside the customer rather than as a separate product. VeUP named Claude Sonnet 4.5 and Claude Opus 4.1 as the model options (backed by Sonnet 4.5), leveraging Bedrock's multi-provider catalog while standardizing on Claude for reasoning and tool-calling. Two priority use cases anchor the build: a tenant-aware analytics chatbot (read-only NL pipeline/account questions via existing-API tool calls, returning NL summaries + optional structured JSON) and Smart Reply context-aware customer-reply suggestions.
Production outcomes
| KPI | Result |
|---|---|
| Production outcomes | the customer has a documented, tenant-isolated agentic design on Bedrock and Claude: an agent that selects tools and composes answers over the customer's own data, with strict per-tenant scoping and a read-only, human-in-the-loop v1. VeUP delivered the live AWS resell and advisory engagement (~$142K/yr) and authored the AI design — a phased path from discovery through an in-app pilot. Measured POC and pilot outcomes will be captured as the build executes and are not published ahead of delivery. |
| Engagement window | 2025-04-17 (AWS resell — Customer Live); AI design (Art of the Possible) 2025-11-18 → Live AWS resell + advisory (Customer Live); AI assistant design delivered — POC/pilot delivery to follow; ongoing |
| Cost / TCO posture | Live AWS resell + advisory engagement, ~$142K/yr (~$11.8K/mo) AWS spend; est. annual cloud spend ~$108K; health Green. Phased delivery (Discovery → Foundation POC → In-App Pilot → Scale) keeps spend aligned to validated value; on-demand Bedrock with Claude model-tier routing as the primary cost lever. |
| Lessons & continuation | For a multi-tenant SaaS assistant, tenant/team/user context must propagate through every layer (model, tool, retrieval) so isolation is structural, not a prompt convention; read-only with human-in-the-loop for writes is the safe v1 posture; using existing REST APIs via MCP tool servers avoids standing up a new live database as a second source of truth. |
Amazon Bedrock (Anthropic Claude — Sonnet 4.5 / Opus 4.1) · MCP tool servers over existing REST APIs · optional RAG / semantic search · per-tenant context isolation
Architecture
The Well-Architected view of the design: the existing CRM and REST API backend stay unchanged as the single source of truth, while a net-new AI experience layer on Amazon Bedrock with Anthropic Claude adds an in-app chatbot and Smart Reply through MCP tool servers and optional RAG — with tenant/team/user context propagated through every layer and a read-only, human-in-the-loop v1.


