Extending public sector intelligence with Agentforce and AWS Salesforce and AWS detailed an integration that connects Amazon Bedrock Data Automation to Salesforce Agentforce through the Model Context Protocol, letting public sector agencies query unstructured evidence such as body camera footage, surveillance video, and scanned documents in natural language without leaving the Salesforce console. The architecture stores files in Amazon S3, triggers an AWS Lambda function on upload that writes a document ID and metadata to Amazon DynamoDB and starts a Bedrock Data Automation job, then routes results through Amazon Bedrock AgentCore Gateway to an MCP server running on AWS Lambda. The companies said the setup is aimed at cutting the manual review, classification, and extraction work agencies perform on large volumes of unstructured evidence. Artificial Intelligence https://aws.amazon.com/blogs/machine-learning/ Extending public sector intelligence with Agentforce and AWS Public sector agencies process large volumes of unstructured evidence, such as body camera footage, surveillance video, and scanned documents, that require extracting insights before anyone can act on them. This post shows how to combine Amazon Bedrock Data Automation https://aws.amazon.com/bedrock/bda/ with the Model Context Protocol MCP to turn unstructured data into structured insights. You can then expose those insights through natural language queries in an AI agent, such as Salesforce Agentforce https://www.salesforce.com/agentforce/ . In our previous post, Modernizing evidence management in Salesforce Public Sector Solutions with Amazon S3 https://aws.amazon.com/blogs/publicsector/modernizing-evidence-management-in-salesforce-public-sector-solutions-with-amazon-s3/ , we used the External Storage of Files with Amazon Simple Storage Service Amazon S3 integration from Agentforce Public Sector https://www.salesforce.com/government/solutions/ formerly Public Sector Solutions as an example implementation. With that foundation in place, you now have durable, cost-efficient storage for body camera footage, surveillance video, photographs, audio recordings, and scanned documents. However, storage is only half the challenge. Without automation, you spend significant time manually reviewing, classifying, and extracting relevant details from these files before you can act on them. With this integration, Agentforce users can search for processed data stored on AWS, surface key insights from unstructured data, and perform more advanced actions, all without leaving the Salesforce console. Solution overview Two main flows work together to turn raw evidence into actionable investigative insights. The first flow moves unstructured media files and documents into Amazon S3 using the External Storage of Files with Amazon S3 for Public Sector https://help.salesforce.com/s/articleView?id=ind.psc external file storage amazons3.htm&language=en US&type=5 connector. Figure 1 illustrates how Amazon S3 provides enterprise-scale storage infrastructure for storing large documents and media files. Second, after data is in Amazon S3, an event-driven architecture asynchronously processes multimodal data using Amazon Bedrock Data Automation. Figure 2 shows how you can extend the storage solution to create an architecture pattern. This pattern transforms unstructured data into actionable insights and makes them available to Salesforce Agentforce through MCP. As Figure 2 illustrates, when a file or document lands in Amazon S3, an S3 event notification invokes an AWS Lambda function. The Lambda function generates a document ID, stores it alongside document metadata in Amazon DynamoDB, and starts an Amazon Bedrock Data Automation job to process the file. Amazon Bedrock Data Automation extracts structured insights based on the media type. When the job completes, an Amazon EventBridge rule triggers a second Lambda function that saves the results to a dedicated output bucket in Amazon S3. On the Salesforce side, a user’s chat in Agentforce triggers a configured action that calls AWS over MCP. The call routes through Amazon Bedrock AgentCore Gateway, a capability of Amazon Bedrock AgentCore, which authenticates the request and invokes an MCP server running on AWS Lambda. Amazon Bedrock AgentCore is the platform to build, connect, and optimize agents at scale, with any framework or model. The Lambda function first queries the DynamoDB table to locate the relevant results. It then retrieves and returns them from Amazon S3. The results return through AgentCore Gateway to Agentforce, where the data is loaded into the agent’s context for a natural language response. With Amazon Bedrock Data Automation, you can process each file based on its media type. For documents, it extracts text, identifies key fields, and generates structured summaries. For images, it produces descriptions and identifies objects or text within the frame. For video and audio files, it generates transcriptions and scene-level summaries. The Amazon Bedrock Data Automation project configuration defines which extraction capabilities to apply to each file type, and you can customize these settings in the Amazon Bedrock Data Automation console after deployment. This processing happens behind the scenes. Salesforce users can upload files, ask questions, and receive AI-powered insights entirely from the Salesforce console, without switching between systems or managing AWS resources directly. This architecture is intentionally modular and extensible, designed as a pattern you can adapt well beyond evidence management. Each component, from the processing pipeline to the query path, operates independently and can be customized to your agency’s unique requirements. For example, you can add custom processing logic in the AWS Lambda MCP Serverless Runtime or store additional metadata in Amazon DynamoDB for richer document lookups. You can also connect different agent frontends through MCP without changing the underlying data pipeline. Technical implementation guide This section walks through deploying the AWS infrastructure and configuring Salesforce Agentforce to connect to the MCP endpoint. Prerequisites Before beginning, complete the steps outlined in the previous post, Modernizing evidence management in Salesforce Public Sector Solutions with Amazon S3 https://aws.amazon.com/blogs/publicsector/modernizing-evidence-management-in-salesforce-public-sector-solutions-with-amazon-s3/ , as this post builds directly on that foundation. Additionally, confirm that your Salesforce org supports registering and calling external MCP servers through the Agentforce Registry. You can verify this by navigating to Setup API Catalog MCP Server and confirming the option to register an MCP server is available. Registering external MCP servers is available in Developer, Enterprise, Performance, and Unlimited Editions see Manage External MCP Servers https://help.salesforce.com/s/articleView?id=platform.api catalog manage manual external mcp servers.htm&type=5 . Deploy AWS Cloud Development Kit AWS CDK stack This GitHub repository https://github.com/aws-samples/sample-extending-public-sector-intelligence-with-Agentforce-and-AWS provides a deployment of the AWS resources required to create an event-driven architecture. The solution deploys a serverless infrastructure that includes Amazon EventBridge rules, Amazon Bedrock Data Automation configuration, AWS Lambda functions, Amazon DynamoDB tables, and Amazon Bedrock AgentCore Gateway. This sample code is provided to demonstrate the pattern and isn’t production ready, so review and harden it to meet your organization’s requirements before using it in production. After deploying the AWS CDK stack, configure Salesforce Agentforce to connect to the Amazon Bedrock AgentCore Gateway MCP endpoint. Agentforce connects to AgentCore Gateway using the MCP Streamable HTTP transport. With this connection, Agentforce can discover and invoke the evidence retrieval tools exposed by the gateway. The AWS CDK stack outputs several values you need to configure the connection between Salesforce and AWS. Retrieve these from the AWS Management Console before proceeding. Optionally, before configuring the Salesforce connection, you can validate your gateway endpoint using the MCP Inspector https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway-using-inspector.html , a developer tool for testing and debugging MCP servers through an interactive interface. This step isn’t required but can help confirm that your AgentCore Gateway is responding correctly before integrating it with Agentforce. Step 1: Get AWS CloudFormation outputs After the Intelligent Media Processing solution is fully deployed, the outputs required to set up the MCP connections are available in AWS CloudFormation under the McpGatewayStack outputs. As shown in Figure 3, the primary outputs are CognitoClientId , CognitoTokenEndpoint , and GatewayMcpEndpoint . Agentforce authenticates with AWS through Amazon Cognito. You need the client secret from your Cognito app client to complete the MCP server registration in Salesforce. Step 2: Get client secret 1. Open Amazon Cognito on the AWS Management Console. 2. In User Pools , choose the User pool name created by the AWS CloudFormation template. 3. Choose the app client that corresponds to this user pool. Figure 4 displays the Amazon Cognito app client page, where you can find the Client secret. Connect Agentforce to the MCP endpoint With the AWS credentials in hand, you can now register the MCP server in Salesforce. This establishes the authenticated link so Agentforce can call AWS tools. Step 3: Create MCP connection 1. In the Salesforce Setup console, open Quick Find and search for API Catalog , then choose MCP Server see Manage External MCP Servers https://help.salesforce.com/s/articleView?id=platform.api catalog manage manual external mcp servers.htm&type=5 . 2. Choose New . Then choose Register MCP Server to create a connection. 3. Name the MCP server AwsBdaResultsMcp and set the description to MCP server for accessing results from Amazon Bedrock Data Automation . 4. Take the values gathered from AWS in Step 1 and 2 and input them into their corresponding fields, as illustrated by Figure 5, then choose Create and Continue . 1. Follow the prompts. When you reach the MCP Server Allowlist, choose one or more of the available tools that you want to use and that were deployed with the AWS CDK. In production, scope the allowlist to only the tools your agent requires. See the Security considerations section. 2. Choose Save . You have successfully connected your Amazon Bedrock AgentCore MCP server to Salesforce Agentforce. Configure Agentforce to use MCP Now that the MCP server is registered, you can add MCP tools to an existing Agentforce subagent, or create a new subagent. The following steps walk through creating a dedicated Agentforce subagent whose primary task is handling requests related to evidence retrieval. This subagent uses the MCP tools to query processed evidence stored in AWS and return insights to the user in natural language. Step 4: Add MCP tool actions to your Agentforce agent To integrate an external MCP server, use the new Agentforce Builder. The following steps use the Employee Agent template. You can apply this same MCP integration to other agent types such as Service Agent or Customer Agent , though the exact navigation and configuration options might vary. If you have an agent that was built using the legacy Agentforce Builder, follow this guide to Upgrade to New Builder https://help.salesforce.com/s/articleView?id=ai.agent setup create upgrade.htm&type=5 . 1. From the App Launcher, open Agentforce Studio, then select New Agent . Select Agentforce Employee Agent from the available templates, then name it Case Agent or a name relevant to your use case. 2. In Agentforce Builder , create a new subagent. Enter Media Processor as the name and the following as the description: Subagent that handles all questions related to files, documents, photos, images, videos, or audio attached to the current case. Retrieves AI-generated insights from processed media and responds in natural language. 1. Choose Save . 2. In the Media Processor Subagent, under the Actions Available for Reasoning section, choose Add action , then select Add from Asset Library . Search for the MCP tool you registered searching AwsBdaResultsMcp narrows the results to the relevant tools . Figure 6 shows the connected MCP selected under the Actions Available for Reasoning section. 1. Under Reasoning Instructions , provide the subagent with instructions on what to do and how to reply. Use the following reasoning instruction template: Handle all questions about files, documents, photos, images, videos, or audio attached to the current case. Run