Saturday, February 14, 2026

Customise AI agent shopping with proxies, profiles, and extensions in Amazon Bedrock AgentCore Browser


AI brokers that browse the online want greater than fundamental web page navigation. Our clients inform us they want brokers that preserve session state throughout interactions, route visitors via company proxy infrastructure, and run with customized browser configurations. AgentCore Browser supplies a safe, remoted browser setting in your brokers to work together with internet purposes. Till now, in Agent Core Browser, every browser session began from a clean slate with default settings and direct web entry, limiting what brokers may accomplish in real-world enterprise environments.

At present, we’re saying three new capabilities that tackle these necessities: proxy configuration, browser profiles, and browser extensions. Collectively, these options offer you fine-grained management over how your AI brokers work together with the online.

These three capabilities offer you management over how AgentCore Browser periods connect with the web, what state they preserve, and the way they behave. Proxy configuration permits you to route browser visitors via your personal proxy servers, offering IP stability and integration with company community infrastructure. Browser profiles persist cookies and native storage throughout periods, so brokers can resume authenticated workflows with out repeating login flows. Browser extensions load Chrome extensions into periods to customise browser habits in your use case. This publish will stroll via every functionality with configuration examples and sensible use instances that can assist you get began.

How persistent browser profiles maintain AI Brokers working easily

Clients constructing brokers for e-commerce testing, authenticated workflows, and multi-step consumer journeys want browser periods that bear in mind state. With out persistent profiles, brokers are required to re-authenticate and rebuild context in the beginning of each session, including latency and fragility to automated workflows. Browser profiles remedy this by saving and restoring cookies and native storage between periods, so an agent that logged right into a portal yesterday can choose up the place it left off at present.

IP stability is one other frequent requirement. Healthcare and monetary portals validate periods primarily based on supply IP tackle, and rotating AWS IP addresses trigger frequent re-authentication cycles that break long-running workflows. Proxy assist permits you to route visitors via servers with secure egress IPs, sustaining session continuity and assembly IP allowlisting necessities. Organizations that route visitors via company proxies want to increase this follow to AI brokers for browser periods. Proxy configuration permits entry to inside webpages and assets that require proxy-based connectivity.

Browser extensions enable customized configurations akin to advert blocking, authentication helpers, or different browser-level customization. When mixed with proxy logging, these capabilities helps present entry management and audit proof that might compliance packages akin to FedRAMP, HITRUST, and PCI. 

Characteristic 1: Proxy configuration

Browser now helps routing browser visitors via your personal exterior proxy servers. If you create a browser session with proxy configuration, AgentCore configures the browser to route HTTP and HTTPS visitors via your specified proxy servers.

The way it works

You name StartBrowserSession with a proxyConfiguration specifying your proxy server. If utilizing authentication, AgentCore retrieves proxy credentials from AWS Secrets and techniques Supervisor. The browser session begins together with your proxy configuration utilized, and browser visitors routes via your proxy server primarily based in your area routing guidelines.

Getting began with proxies

Full these stipulations earlier than continuing.

import boto3 
import json 
shopper = boto3.shopper('secretsmanager') 
shopper.create_secret( 
    Title="my-proxy-credentials", 
    SecretString=json.dumps({ 
        'username': '', 
        'password': '' 
    }) 
) 

Step 2: Create a browser session with proxy configuration 

session_client = boto3.shopper('bedrock-agentcore', region_name="") 
 
response = session_client.start_browser_session( 
    browserIdentifier="aws.browser.v1", 
    title="my-proxy-session", 
    proxyConfiguration={ 
        "proxies": [{ 
            "externalProxy": { 
                "server": "", 
                "port": 8080, 
                "credentials": { 
                    "basicAuth": { 
                        "secretArn": "arn:aws:secretsmanager:::secret:" 
                    } 
                } 
            } 
        }] 
    } 
) 
print(f"Session ID: {response['sessionId']}")

The credentials subject is optionally available for proxies with out authentication.

Area-based routing

Use domainPatterns to route particular domains via designated proxies, and bypass.domainPatterns for domains that ought to join immediately:

proxyConfiguration={ 
    "proxies": [ 
        { 
            "externalProxy": { 
                "server": "corp-proxy.example.com", 
                "port": 8080, 
                "domainPatterns": [".company.com", ".internal.corp"] 
            } 
        }, 
        { 
            "externalProxy": { 
                "server": "general-proxy.instance.com", 
                "port": 8080 
            } 
        } 
    ], 
    "bypass": { 
        "domainPatterns": [".amazonaws.com"] 
    } 
}

With this configuration, requests to  and inside.corp route via the company proxy,  requests to amazonaws.com bypass all proxies, and every thing else routes via the final proxy. These fields are simply an instance. Bypass domains can match bypass.domainPatterns to attach immediately and exterior proxy could be a legitimate proxy’s domainPatterns route via that proxy (first match wins primarily based on array order). 

Routing priority

When AgentCore Browser processes an outbound request, it walks via three tiers of routing guidelines to resolve the place to ship the visitors. It first checks the bypass checklist. If the vacation spot area matches a bypass.domainPatterns entry, the request connects on to the web with out utilizing any proxy. If the area doesn’t match a bypass rule, AgentCore checks every proxy’s domainPatterns so as and routes the request via the primary proxy whose sample matches. If no proxy sample matches both, the request falls via to the default proxy, which is the proxy entry that has no domainPatterns outlined.

Check the brand new proxy function with this code instance.

Characteristic 2: Browser profiles

Browser profiles allow you to persist and reuse session knowledge throughout a number of browser periods, together with cookies and native storage. An agent that authenticates with an online portal in a single session can restore that state in a later session with out logging in once more. That is helpful for authenticated workflows the place re-login provides latency, e-commerce testing the place procuring carts and kind knowledge must survive between periods, and multi-step consumer journeys that span a number of browser invocations.

The profile lifecycle has 4 levels. You begin by calling create_browser_profile() to create a named profile. On the finish of a session, you name save_browser_session_profile() to seize the present cookies and native storage into that profile. If you begin a brand new session, you cross the profile identifier within the profileConfiguration parameter of start_browser_session(), which restores the saved state into the brand new browser. If you not want the profile, you name delete_browser_profile() to scrub it up.

The next instance reveals an agent that provides objects to a procuring cart in a single session and verifies they persist in a subsequent session.

Full these stipulations earlier than continuing.

import boto3 

control_client = boto3.shopper('bedrock-agentcore-control', region_name="") # exchange by your area 

session_client = boto3.shopper('bedrock-agentcore', region_name="") # exchange by your area  
 
# Create a browser profile 
profile = control_client.create_browser_profile(title="ecommerce_profile") 
profile_id = profile['profileId'] 
 
# Session 1: Add objects to cart 
session1 = session_client.start_browser_session( 
    browserIdentifier=”aws.browser.v1”, 
    title="shopping-session-1" 
) 
# ... agent navigates and provides objects to cart ... 
 
# Save session state to profile 
session_client.save_browser_session_profile( 
    sessionId=session1['sessionId'], 
    browserIdentifier=”aws.browser.v1”, 
    profileIdentifier=profile_id 
) 
session_client.stop_browser_session(sessionId=session1['sessionId'], browserIdentifier="aws.browser.v1") 
 
# Session 2: Resume with saved profile 
session2 = session_client.start_browser_session( 
    browserIdentifier=”aws.browser.v1”, 
    title="shopping-session-2", 
    profileConfiguration={"profileIdentifier": profile_id} 
) 
# Cart objects from Session 1 are actually obtainable 

Check the brand new profile function with this code instance.

Characteristic 3: Browser extensions

Browser extensions allow you to load Chrome extensions into AgentCore Browser periods to customise how the browser behaves. You package deal extensions as ZIP recordsdata, add them to Amazon Easy Storage Service (Amazon S3), and reference them when beginning a browser session. This supplies entry to performance obtainable via the Chrome extension API, from proxy routing and advert blocking to authentication helpers and content material modification. For instance, you may inject authentication tokens for inside purposes, take away adverts, and monitor scripts that intrude with agent navigation, or modify web page content material to enhance how brokers work together with a website.

Your extension ought to observe the usual Chromium extension format and cling to Chromium extension tips.

Full these stipulations earlier than continuing.

  1. Add the extension to Amazon S3:
    # Add extension to S3 
    
    import boto3 
    s3 = boto3.shopper('s3') 
    s3.upload_file( 
        'my-extension.zip', 
        'amzn-s3-demo-bucket-extensions', 
        'extensions/my-extension.zip' 
    ) 

  2. Then, begin a session with the extension, pointing to the Amazon S3 bucket the place you’ve uploaded the zip file:
    import boto3 
    area = "" # exchange by your area 
    shopper = boto3.shopper('bedrock-agentcore', region_name=area) 
    
    response = shopper.start_browser_session( 
        browserIdentifier="aws.browser.v1", 
        title="my-session-with-extensions", 
        sessionTimeoutSeconds=1800, 
        viewPort={ 
            'peak': 1080, 
            'width': 1920 
        }, 
        extensions=[ 
            { 
                "location": { 
                    "s3": { 
                        "bucket": "amzn-s3-demo-bucket-extensions", 
                        "prefix": "extensions/my-extension.zip" 
                    } 
                } 
            }, 
            { 
                "location": { 
                    "s3": { 
                        "bucket": "amzn-s3-demo-bucket-extensions", 
                        "prefix": "extensions/another-extension.zip", 
                        "versionId": "abc123"  # Optional - for versioned S3 buckets 
                    } 
                } 
            } 
        ] 
    ) 
     
    print(f"Session ID: {response['sessionId']}") 
    print(f"Standing: {response['status']}") 
    print(f"Automation Stream: {response['streams']['automationStream']['streamEndpoint']}") 

Check the brand new extensions function with this code instance.

Conclusion

Proxy configuration, browser profiles, and browser extensions give AgentCore Browser the proxy routing, session persistence, and extensibility controls that clients must deploy AI brokers that browse the online in manufacturing. You’ll be able to route visitors via your company proxy infrastructure, preserve session continuity throughout interactions, and customise browser habits with extensions, all whereas maintaining credentials safe in AWS Secrets and techniques Supervisor. Clients can carry e-commerce context and data amongst periods, create your personal extension and check it in a safe setting earlier than launch, and, additionally, have browser connecting into your community via proxies. 

To get began, see the tutorials within the Amazon Bedrock AgentCore samples repository and the Amazon Bedrock AgentCore Browser documentation.  For extra details about pricing, go to Amazon Bedrock AgentCore Pricing. 


In regards to the Authors

Joshua Samuel

Joshua Samuel is a Senior AI/ML Specialist Options Architect at AWS who accelerates enterprise transformation via AI/ML, and generative AI options, primarily based in Melbourne, Australia. A passionate disrupter, he makes a speciality of agentic AI and coding strategies – Something that makes builders sooner and happier. Outdoors work, he tinkers with house automation and AI coding initiatives, and enjoys life along with his spouse, youngsters and canine.

Evandro Franco

Evandro Franco is a Sr. Knowledge Scientist engaged on Amazon Net Companies. He’s a part of the International GTM workforce that helps AWS clients overcome enterprise challenges associated to AI/ML on high of AWS, primarily on Amazon Bedrock AgentCore and Strands Brokers. He has greater than 18 years of expertise working with know-how, from software program improvement, infrastructure, serverless, to machine studying. In his free time, Evandro enjoys enjoying along with his son, primarily constructing some humorous Lego bricks.

Kosti Vasilakakis

Kosti Vasilakakis is a Principal PM at AWS on the Agentic AI workforce, the place he has led the design and improvement of a number of Bedrock AgentCore providers from the bottom up, together with Runtime, Browser, Code Interpreter, and Identification. He beforehand labored on Amazon SageMaker since its early days, launching AI/ML capabilities now utilized by hundreds of corporations worldwide. Earlier in his profession, Kosti was a knowledge scientist. Outdoors of labor, he builds private productiveness automations, performs tennis, and enjoys life along with his spouse and youngsters.

Yan Marim

Yan Marim is a Sr. GenAI Specialist Options Architect at Amazon Net Companies, primarily based in Brazil. As a part of the LATAM Specialist workforce, he guides clients via their generative AI adoption journey, specializing in Amazon Bedrock and agentic AI options. In his free time, Yan enjoys spending high quality time along with his spouse and canine, and watching soccer video games.

Kevin Orellana

Kevin Orellana is a Software program Growth Engineer at Amazon Net Companies on the Bedrock AgentCore workforce, primarily based in Seattle. He builds and operates core infrastructure powering agentic AI capabilities, together with Browser, Code Interpreter, and Runtime. Earlier in his profession, Kevin labored on the Bedrock inference workforce internet hosting frontier fashions. In his free time, he enjoys mountain climbing along with his Goldendoodle, experimenting with multi-agent simulations, and dealing towards constructing a private AI assistant that speaks English, Spanish, and Mandarin.

Related Articles

Latest Articles