## Core Advantages
To create a browser in headful mode, simply [create a session](/sdk-reference/browser-sessions/start-browser-session):
## How It Works
1. **Session Creation**: Create a browser session with web bot auth enabled
2. **HTTP Message Signing**: All HTTP requests are automatically signed as Anchor Browser
3. **Authentication**: Cloudflare validates the signatures
4. **Access Granted**: Successfully authenticated requests can access protected content
## Using Web Bot Auth
### How Authentication Works
When you enable web bot auth, Anchor Browser automatically identifies all HTTP requests to websites using our registered identity. This allows you to access protected content that requires Cloudflare's web bot authentication without any additional configuration.
### Browser Configuration
```typescript theme={null}
{
"browser": {
"web_bot_auth": {
"active": boolean // Enable/disable web bot auth (default: false)
}
}
}
```
### SDK Examples
Enable web bot auth by setting the `web_bot_auth.active` flag to `true` in your session configuration:
## Overview
Anchor provides a **hosted** Model Context Protocol (MCP) integration, allowing you to use browser automation directly from your preferred AI tools without any local setup. Our hosted MCP server runs on our infrastructure and is available to all users with an Anchor API key.
This enables seamless browser control from Cursor, VS Code, Claude, ChatGPT, and other MCP-compatible tools without managing any local dependencies.
## What is MCP?
Model Context Protocol (MCP) is an open standard that allows AI assistants to interact with external tools and data sources.
In our case, it enables AI-powered tools to access and control our browser automation capabilities directly within your IDE, agent apps, or CI/CD pipelines.
## Hosted vs Self-Hosted
Our **hosted MCP service** provides:
* ✅ Zero setup - just add your API key
* ✅ Always up-to-date with latest features
* ✅ Managed infrastructure and updates
* ✅ Built-in scaling and reliability
* ✅ Direct integration with Anchor's cloud browsers
For advanced customization needs, see our [Open Source MCP Server](/advanced/mcp-open-source) documentation.
A Model Context Protocol (MCP) server that provides browser automation capabilities using [Anchor Browser](https://anchorbrowser.io)'s remote browser service with [Playwright](https://playwright.dev). This server enables LLMs to interact with web pages through Anchor's cloud-based browsers with built-in proxies, stealth features, and advanced capabilities.
This is based on the open source repository at [browsermcp-com/mcp](https://github.com/browsermcp-com/mcp), which extends Microsoft's Playwright MCP with Anchor Browser's cloud infrastructure.
Securely pass credentials and sensitive data to AI agents during task execution. Secret values are not logged and automatically cleaned up after completion.
Learn more about Secret Values →
## Available Models For Browser-Use
Then approve it in the popup window 'Yes, Save and Terminate'
## Session Recordings
The Session History dashboard shows all sessions. Each session has a link to its recording.
## Recording Playback
When you click on a session recording, the playback interface will be opened.
You can use it to view the recording, navigate through it, and download it as MP4 file.
### Prerequisites
* Python 3.8 or higher installed.
### Setup
1. **Get your API keys:**
* Go to [Anchor Browser API Key](https://app.anchorbrowser.io/api-keys?utm_source=groq)
2. **Install dependencies:**
Install the [Anchor Browser Python SDK](https://docs.anchorbrowser.io/quickstart/use-via-sdk?utm_source=groq). ([Typescript SDK](https://docs.anchorbrowser.io/quickstart/use-via-sdk?utm_source=groq) is also available).
```bash theme={null}
pip install anchorbrowser pydantic
```
## Quick Example: Extract Latest AI News
```python python theme={null}
import os
from anchorbrowser import Anchorbrowser
# Initialize the Anchor Browser Client
client = Anchorbrowser(api_key=os.getenv("ANCHOR_API_KEY"))
# Collect the newest from AI News website
task_result = client.agent.task(
"Extract the latest news title from this AI News website",
task_options={
"url": "https://www.artificialintelligence-news.com/",
"provider": "groq",
"model": "openai/gpt-oss-120b",
}
)
print("Latest news title:", task_result)
```
## Advanced Session Configuration
Create a session using advanced configuration (see Anchor [API reference](https://docs.anchorbrowser.io/api-reference/browser-sessions/start-browser-session?utm_source=groq)).
```python python theme={null}
import os
from anchorbrowser import Anchorbrowser
# configuration example, can be ommited for default values.
session_config = {
"session": {
"recording": False, # Disable session recording
"proxy": {
"active": True,
"type": "anchor_residential",
"country_code": "us"
},
"max_duration": 5, # 5 minutes
"idle_timeout": 1 # 1 minute
}
}
client = Anchorbrowser(api_key=os.getenv("ANCHOR_API_KEY"))
configured_session = client.sessions.create(browser=session_config)
# Get the session_id to run automation workflows to the same running session.
session_id = configured_session.data.id
# Get the live view url to browse the browser in action (it's interactive!).
live_view_url = configured_session.data.live_view_url
print('session_id:', session_id, '\nlive_view_url:', live_view_url)
```
## Next Steps
* Explore the [API Reference](https://docs.anchorbrowser.io/api-reference?utm_source=groq) for detailed documentation
* Learn about [Authentication and Identity management](https://docs.anchorbrowser.io/essentials/authentication-and-identity?utm_source=groq)
* Check out [Advanced Proxy Configuration](https://docs.anchorbrowser.io/advanced/proxy?utm_source=groq) for location-specific browsing
* Use more [Agentic tools](https://docs.anchorbrowser.io/agentic-browser-control?utm_source=groq)
# Make
Source: https://docs.anchorbrowser.io/integrations/make
Integrate Anchor Browser with Make (formerly Integromat) for no-code automation workflows
## About Make
[Make](https://www.make.com/) is a no-code automation platform that lets you connect apps and services together to build powerful workflows — without writing code.
## Quick Start
Use our modules to enhance your automation workflows with Anchor Browser powerful tools.
### Module Selection
Use our [AI Task Completion](/agentic-browser-control/ai-task-completion) module to perform various tasks in a single module.
### Basic Workflow
Here is a basic workflow that uses our modules to perform a task, capture a screenshot and save it to a file both in google drive and slack.
***
## Getting Help
If you experience any issues with Anchor Browser Make modules, please contact our support team at [support@anchorbrowser.io](mailto:support@anchorbrowser.io).
# n8n
Source: https://docs.anchorbrowser.io/integrations/n8n
Integrate Anchor Browser with n8n for no-code automation workflows
## About n8n
[n8n](https://n8n.io/) is an open-source workflow automation platform that lets you connect apps and services together to build powerful workflows — without writing code.
## Quick Start
Use our node to enhance your automation workflows with Anchor Browser powerful tools.
### Node Installation
Install the Anchor Browser node from the n8n community nodes:
```bash theme={null}
npm install n8n-nodes-anchorbrowser
```
### Credentials Setup
Set up your Anchor Browser API credentials:
Make sure after saving that the connection is tested successfully.
### Node Selection
Use our [AI Task Completion](/agentic-browser-control/ai-task-completion) node to perform various tasks in a single operation.
### Node Configuration
Configure your Anchor Browser node with the necessary settings, and then Execute step.
### Task Configuration
Configure your browser automation task:
***
## Getting Help
If you experience any issues with Anchor Browser n8n node, please contact our support team at [support@anchorbrowser.io](mailto:support@anchorbrowser.io).
# Airtable
Source: https://docs.anchorbrowser.io/integrations/open-source/playwright/business-applications/airtable
Automate Airtable database workflows with Playwright when APIs aren't available.
# How to Automate Airtable with Playwright
Automate critical Airtable database workflows with Playwright when APIs aren't available or sufficient. You'll eliminate manual data entry and reduce record management errors by automating repetitive database management processes. Use Playwright to interact with Airtable's web interface programmatically.
[View Airtable's API documentation](https://airtable.com/developers/web/api/introduction) for integration services when available.
## Setup
Install Playwright and configure authentication:
```bash theme={null}
npm install playwright
```
## Automate Workflows
Create scripts for common Airtable tasks:
```JavaScript theme={null}
import { chromium } from 'playwright';
const browser = await chromium.launch();
const page = await browser.newPage();
// Login to Airtable
await page.goto('https://airtable.com/login');
await page.fill('[data-testid="email-input"]', process.env.AIRTABLE_EMAIL);
await page.fill('[data-testid="password-input"]', process.env.AIRTABLE_PASSWORD);
await page.click('[data-testid="submit-button"]');
// Navigate to workspace and base
await page.click('[data-testid="workspace-switcher"]');
await page.click('text=Marketing Team');
await page.click('text=Campaign Tracker');
// Add new record to table
await page.click('[data-testid="add-record-button"]');
await page.fill('[data-testid="field-Campaign Name"]', 'Q1 Product Launch');
await page.selectOption('[data-testid="field-Status"]', 'In Progress');
await page.fill('[data-testid="field-Budget"]', '50000');
await page.fill('[data-testid="field-Start Date"]', '2024-01-15');
await page.click('[data-testid="save-record"]');
// Create filtered view
await page.click('[data-testid="view-switcher"]');
await page.click('[data-testid="create-view"]');
await page.fill('[data-testid="view-name"]', 'Active Campaigns');
await page.click('[data-testid="add-filter"]');
await page.selectOption('[data-testid="filter-field"]', 'Status');
await page.selectOption('[data-testid="filter-condition"]', 'is');
await page.selectOption('[data-testid="filter-value"]', 'In Progress');
await page.click('[data-testid="save-view"]');
await browser.close();
```
Playwright handles field validation, view creation, and record linking automatically. You can automate data imports, report generation, and workflow automation processes.
## Scale your Airtable automation with Anchor Browser
Run your Playwright Airtable automations on cloud browsers with enterprise-grade reliability and persistent Airtable sessions. Learn more and get started for free: [https://anchorbrowser.io](https://anchorbrowser.io)
# Attio
Source: https://docs.anchorbrowser.io/integrations/open-source/playwright/business-applications/attio
Automate Attio CRM workflows with Playwright when APIs aren't available.
# How to Automate Attio with Playwright
Automate critical Attio CRM workflows with Playwright when APIs aren't available or sufficient. You'll eliminate manual contact management and reduce data entry errors by automating repetitive customer relationship processes. Use Playwright to interact with Attio's web interface programmatically.
[View Attio's API documentation](https://docs.attio.com/) for integration services when available.
## Setup
Install Playwright and configure authentication:
```bash theme={null}
npm install playwright
```
## Automate Workflows
Create scripts for common Attio tasks:
```JavaScript theme={null}
import { chromium } from 'playwright';
const browser = await chromium.launch();
const page = await browser.newPage();
// Login to Attio
await page.goto('https://app.attio.com/login');
await page.fill('[data-testid="email-input"]', process.env.ATTIO_EMAIL);
await page.fill('[data-testid="password-input"]', process.env.ATTIO_PASSWORD);
await page.click('[data-testid="login-button"]');
// Navigate to contacts
await page.click('[data-testid="nav-people"]');
await page.click('[data-testid="add-person-button"]');
// Create new contact
await page.fill('[data-testid="first-name"]', 'Sarah');
await page.fill('[data-testid="last-name"]', 'Johnson');
await page.fill('[data-testid="email-field"]', 'sarah.johnson@company.com');
await page.fill('[data-testid="company-field"]', 'Tech Innovations Inc');
await page.selectOption('[data-testid="status-select"]', 'qualified-lead');
// Add deal to pipeline
await page.click('[data-testid="deals-tab"]');
await page.click('[data-testid="add-deal-button"]');
await page.fill('[data-testid="deal-name"]', 'Enterprise Software License');
await page.fill('[data-testid="deal-value"]', '25000');
await page.click('[data-testid="save-contact"]');
await browser.close();
```
Playwright handles dynamic form fields, relationship linking, and pipeline updates automatically. You can automate lead qualification, deal progression, and contact enrichment workflows.
## Scale your Attio automation with Anchor Browser
Run your Playwright Attio automations on cloud browsers with enterprise-grade reliability and persistent Attio sessions. Learn more and get started for free: [https://anchorbrowser.io](https://anchorbrowser.io)
# Bill.com
Source: https://docs.anchorbrowser.io/integrations/open-source/playwright/business-applications/bill
Automate Bill.com accounts payable workflows with Playwright when APIs aren't available.
# How to Automate Bill.com with Playwright
Automate critical Bill.com accounts payable workflows with Playwright when APIs aren't available or sufficient. You'll eliminate manual invoice processing and reduce payment errors by automating repetitive financial management processes. Use Playwright to interact with Bill.com's web interface programmatically.
[View Bill.com's API documentation](https://developer.bill.com/hc/en-us) for integration services when available.
## Setup
Install Playwright and configure authentication:
```bash theme={null}
npm install playwright
```
## Automate Workflows
Create scripts for common Bill.com tasks:
```JavaScript theme={null}
import { chromium } from 'playwright';
const browser = await chromium.launch();
const page = await browser.newPage();
// Login to Bill.com
await page.goto('https://app.bill.com/login');
await page.fill('[data-testid="email-input"]', process.env.BILL_EMAIL);
await page.fill('[data-testid="password-input"]', process.env.BILL_PASSWORD);
await page.click('[data-testid="login-button"]');
// Navigate to bills section
await page.click('[data-testid="nav-bills"]');
await page.click('[data-testid="create-bill-button"]');
// Create new bill
await page.fill('[data-testid="vendor-search"]', 'Office Supply Co');
await page.click('[data-testid="vendor-select"]');
await page.fill('[data-testid="invoice-number"]', 'INV-2024-001');
await page.fill('[data-testid="invoice-date"]', '01/15/2024');
await page.fill('[data-testid="due-date"]', '02/15/2024');
await page.fill('[data-testid="amount"]', '1250.00');
// Add line item details
await page.click('[data-testid="add-line-item"]');
await page.fill('[data-testid="description"]', 'Office supplies - January');
await page.selectOption('[data-testid="expense-account"]', 'Office Expenses');
await page.click('[data-testid="save-bill"]');
// Approve and schedule payment
await page.click('[data-testid="approve-button"]');
await page.click('[data-testid="schedule-payment"]');
await page.selectOption('[data-testid="payment-date"]', '02/10/2024');
await page.click('[data-testid="confirm-payment"]');
await browser.close();
```
Playwright handles vendor lookups, approval workflows, and payment scheduling automatically. You can automate invoice processing, expense categorization, and cash flow management workflows.
## Scale your Bill.com automation with Anchor Browser
Run your Playwright Bill.com automations on cloud browsers with enterprise-grade reliability and persistent Bill.com sessions. Learn more and get started for free: [https://anchorbrowser.io](https://anchorbrowser.io)
# Clickup
Source: https://docs.anchorbrowser.io/integrations/open-source/playwright/business-applications/clickup
Automate ClickUp project management workflows with Playwright when APIs aren't available.
# How to Automate ClickUp with Playwright
Automate critical ClickUp project management workflows with Playwright when APIs aren't available or sufficient. You'll eliminate manual task creation and reduce project tracking errors by automating repetitive productivity processes. Use Playwright to interact with ClickUp's web interface programmatically.
[View ClickUp's API documentation](https://clickup.com/api/) for integration services when available.
## Setup
Install Playwright and configure authentication:
```bash theme={null}
npm install playwright
```
## Automate Workflows
Create scripts for common ClickUp tasks:
```JavaScript theme={null}
import { chromium } from 'playwright';
const browser = await chromium.launch();
const page = await browser.newPage();
// Login to ClickUp
await page.goto('https://app.clickup.com/login');
await page.fill('[data-test="login-email-input"]', process.env.CLICKUP_EMAIL);
await page.fill('[data-test="login-password-input"]', process.env.CLICKUP_PASSWORD);
await page.click('[data-test="login-submit"]');
// Navigate to workspace
await page.click('[data-test="sidebar-workspace"]');
await page.click('text=Development Team');
// Create new task
await page.click('[data-test="new-task-button"]');
await page.fill('[data-test="draft-view__title"]', 'Implement user dashboard');
await page.fill('[data-test="description-input"]', 'Create responsive dashboard with analytics widgets');
await page.selectOption('[data-test="priority-select"]', 'high');
await page.click('[data-test="assignee-dropdown"]');
await page.click('text=John Developer');
// Set due date and create task
await page.click('[data-test="due-date-picker"]');
await page.click('[data-test="date-next-week"]');
await page.click('[data-test="save-task"]');
// Update task status
await page.click('[data-test="status-dropdown"]');
await page.click('text=In Progress');
await browser.close();
```
Playwright handles task creation, status updates, and team assignments automatically. You can automate sprint planning, time tracking, and project reporting workflows.
## Scale your Clickup automation with Anchor Browser
Run your Playwright Clickup automations on cloud browsers with enterprise-grade reliability and persistent Clickup sessions. Learn more and get started for free: [https://anchorbrowser.io](https://anchorbrowser.io)
# CrowdStrike
Source: https://docs.anchorbrowser.io/integrations/open-source/playwright/business-applications/crowdstrike
Automate CrowdStrike security workflows with Playwright when APIs aren't available.
# How to Automate CrowdStrike with Playwright
Automate critical CrowdStrike security workflows with Playwright when APIs aren't available or sufficient. You'll eliminate manual threat investigation and reduce incident response time by automating repetitive cybersecurity processes. Use Playwright to interact with CrowdStrike's web interface programmatically.
[View CrowdStrike's API documentation](https://developer.crowdstrike.com/) for integration services when available.
## Setup
Install Playwright and configure authentication:
```bash theme={null}
npm install playwright
```
## Automate Workflows
Create scripts for common CrowdStrike tasks:
```JavaScript theme={null}
import { chromium } from 'playwright';
const browser = await chromium.launch();
const page = await browser.newPage();
// Login to CrowdStrike Falcon
await page.goto('https://falcon.crowdstrike.com/');
await page.fill('[data-testid="username"]', process.env.CROWDSTRIKE_USERNAME);
await page.fill('[data-testid="password"]', process.env.CROWDSTRIKE_PASSWORD);
await page.click('[data-testid="login-button"]');
// Navigate to Incident Workbench
await page.click('[data-testid="nav-incident-workbench"]');
await page.click('[data-testid="view-all-incidents"]');
// Create new incident investigation
await page.click('[data-testid="create-incident"]');
await page.fill('[data-testid="incident-name"]', 'Suspicious Network Activity Investigation');
await page.selectOption('[data-testid="severity-level"]', 'Medium');
await page.fill('[data-testid="description"]', 'Unusual outbound traffic detected from workstation');
// Assign to security team
await page.click('[data-testid="assignee-dropdown"]');
await page.click('text=SOC Team Alpha');
await page.selectOption('[data-testid="priority"]', 'High');
// Add affected hosts
await page.click('[data-testid="add-hosts-tab"]');
await page.fill('[data-testid="hostname-search"]', 'DESKTOP-001');
await page.click('[data-testid="add-host"]');
// Generate investigation report
await page.click('[data-testid="generate-report"]');
await page.selectOption('[data-testid="report-format"]', 'PDF');
await page.click('[data-testid="download-report"]');
await browser.close();
```
Playwright handles threat detection workflows, incident management, and security reporting automatically. You can automate host isolation, malware analysis, and compliance reporting workflows.
## Scale your CrowdStrike automation with Anchor Browser
Run your Playwright CrowdStrike automations on cloud browsers with enterprise-grade reliability and persistent CrowdStrike sessions. Learn more and get started for free: [https://anchorbrowser.io](https://anchorbrowser.io)
# DocuSign
Source: https://docs.anchorbrowser.io/integrations/open-source/playwright/business-applications/docusign
Automate DocuSign electronic signature workflows with Playwright when APIs aren't available.
# How to Automate DocuSign with Playwright
Automate critical DocuSign electronic signature workflows with Playwright when APIs aren't available or sufficient. You'll eliminate manual document sending and reduce signature processing errors by automating repetitive contract management processes. Use Playwright to interact with DocuSign's web interface programmatically.
[View DocuSign's API documentation](https://developers.docusign.com/) for integration services when available.
## Setup
Install Playwright and configure authentication:
```bash theme={null}
npm install playwright
```
## Automate Workflows
Create scripts for common DocuSign tasks:
```JavaScript theme={null}
import { chromium } from 'playwright';
const browser = await chromium.launch();
const page = await browser.newPage();
// Login to DocuSign
await page.goto('https://account.docusign.com/');
await page.fill('[data-qa="Username"]', process.env.DOCUSIGN_EMAIL);
await page.fill('[data-qa="Password"]', process.env.DOCUSIGN_PASSWORD);
await page.click('[data-qa="Log In"]');
// Navigate to envelope creation
await page.click('[data-qa="nav-send"]');
await page.click('[data-qa="start-sending"]');
// Upload document
await page.click('[data-qa="upload-document"]');
const fileInput = await page.locator('input[type="file"]');
await fileInput.setInputFiles('./contracts/employment-agreement.pdf');
// Add recipients
await page.click('[data-qa="add-recipient"]');
await page.fill('[data-qa="recipient-name"]', 'John Smith');
await page.fill('[data-qa="recipient-email"]', 'john.smith@company.com');
await page.selectOption('[data-qa="recipient-role"]', 'signer');
// Position signature fields
await page.click('[data-qa="tag-document"]');
await page.click('[data-qa="signature-tab"]');
await page.click('[data-qa="signature-placement"]', { position: { x: 200, y: 400 } });
// Send envelope
await page.click('[data-qa="send-envelope"]');
await browser.close();
```
Playwright handles document uploads, recipient management, and signature field positioning automatically. You can automate contract distribution, template creation, and signing ceremony workflows.
## Scale your DocuSign automation with Anchor Browser
Run your Playwright DocuSign automations on cloud browsers with enterprise-grade reliability and persistent DocuSign sessions. Learn more and get started for free: [https://anchorbrowser.io](https://anchorbrowser.io)
# Dropbox
Source: https://docs.anchorbrowser.io/integrations/open-source/playwright/business-applications/dropbox
Automate Dropbox file management workflows with Playwright when APIs aren't available.
# How to Automate Dropbox with Playwright
Automate critical Dropbox file management workflows with Playwright when APIs aren't available or sufficient. You'll eliminate manual file organization and reduce sharing errors by automating repetitive document management processes. Use Playwright to interact with Dropbox's web interface programmatically.
[View Dropbox's API documentation](https://www.dropbox.com/developers/documentation) for integration services when available.
## Setup
Install Playwright and configure authentication:
```bash theme={null}
npm install playwright
```
## Automate Workflows
Create scripts for common Dropbox tasks:
```JavaScript theme={null}
import { chromium } from 'playwright';
const browser = await chromium.launch();
const page = await browser.newPage();
// Login to Dropbox
await page.goto('https://www.dropbox.com/login');
await page.fill('[name="login_email"]', process.env.DROPBOX_EMAIL);
await page.fill('[name="login_password"]', process.env.DROPBOX_PASSWORD);
await page.click('[data-testid="real-login-button"]');
// Navigate to team folder
await page.click('[data-testid="browse-folders"]');
await page.click('text=Team Shared');
// Create new folder structure
await page.click('[data-testid="new-folder-button"]');
await page.fill('[data-testid="folder-name-input"]', 'Q1 Reports');
await page.click('[data-testid="create-folder"]');
// Upload files to folder
await page.click('text=Q1 Reports');
await page.click('[data-testid="upload-button"]');
const fileInput = await page.locator('input[type="file"]');
await fileInput.setInputFiles(['./reports/january.pdf', './reports/february.pdf']);
// Share folder with team
await page.click('[data-testid="share-button"]');
await page.fill('[data-testid="share-email"]', 'team@company.com');
await page.selectOption('[data-testid="permission-level"]', 'edit');
await page.click('[data-testid="send-invitation"]');
await browser.close();
```
Playwright handles file uploads, folder permissions, and sharing workflows automatically. You can automate document organization, team collaboration setup, and backup processes.
## Scale your Dropbox automation with Anchor Browser
Run your Playwright Dropbox automations on cloud browsers with enterprise-grade reliability and persistent Dropbox sessions. Learn more and get started for free: [https://anchorbrowser.io](https://anchorbrowser.io)
# Figma
Source: https://docs.anchorbrowser.io/integrations/open-source/playwright/business-applications/figma
Automate Figma design workflows with Playwright when APIs aren't available.
# How to Automate Figma with Playwright
Automate critical Figma design workflows with Playwright when APIs aren't available or sufficient. You'll eliminate manual design handoffs and reduce version control errors by automating repetitive design collaboration processes. Use Playwright to interact with Figma's web interface programmatically.
[View Figma's API documentation](https://www.figma.com/developers/api) for integration services when available.
## Setup
Install Playwright and configure authentication:
```bash theme={null}
npm install playwright
```
## Automate Workflows
Create scripts for common Figma actions:
```JavaScript theme={null}
import { chromium } from 'playwright';
const browser = await chromium.launch();
const page = await browser.newPage();
// Login to Figma
await page.goto('https://www.figma.com/login');
await page.fill('[data-testid="email"]', process.env.FIGMA_EMAIL);
await page.fill('[data-testid="password"]', process.env.FIGMA_PASSWORD);
await page.click('[data-testid="submit"]');
// Navigate to team files
await page.click('[data-testid="dashboard-team-switcher"]');
await page.click('text=Design Team');
await page.click('text=Mobile App Redesign');
// Create new frame
await page.click('[data-testid="toolbar-frame-tool"]');
await page.click('[data-testid="canvas"]');
await page.selectOption('[data-testid="frame-preset"]', 'iPhone 14');
// Add components and export
await page.click('[data-testid="assets-panel"]');
await page.dragAndDrop('[data-testid="button-component"]', '[data-testid="canvas-frame"]');
await page.fill('[data-testid="text-input"]', 'Get Started');
// Export assets
await page.click('[data-testid="export-button"]');
await page.selectOption('[data-testid="export-format"]', 'PNG');
await page.selectOption('[data-testid="export-scale"]', '2x');
await page.click('[data-testid="export-download"]');
// Share with developer
await page.click('[data-testid="share-button"]');
await page.fill('[data-testid="share-email"]', 'developer@company.com');
await page.selectOption('[data-testid="permission-level"]', 'can view');
await page.click('[data-testid="send-invite"]');
await browser.close();
```
Playwright handles component manipulation, export processes, and collaboration workflows automatically. You can automate design system updates, asset generation, and developer handoff processes.
## Scale your Figma automation with Anchor Browser
Run your Playwright Figma automations on cloud browsers with enterprise-grade reliability and persistent Figma sessions. Learn more and get started for free: [https://anchorbrowser.io](https://anchorbrowser.io)
# HubSpot
Source: https://docs.anchorbrowser.io/integrations/open-source/playwright/business-applications/hubspot
Automate HubSpot CRM workflows with Playwright when APIs aren't available.
# How to Automate HubSpot with Playwright
Automate critical HubSpot CRM workflows with Playwright when APIs aren't available or sufficient. You'll eliminate manual lead processing and reduce sales pipeline errors by automating repetitive marketing and sales processes. Use Playwright to interact with HubSpot's web interface programmatically.
[View HubSpot's API documentation](https://developers.hubspot.com/docs/api/overview) for integration services when available.
## Setup
Install Playwright and configure authentication:
```bash theme={null}
npm install playwright
```
## Automate Workflows
Create scripts for common HubSpot tasks:
```JavaScript theme={null}
import { chromium } from 'playwright';
const browser = await chromium.launch();
const page = await browser.newPage();
// Login to HubSpot
await page.goto('https://app.hubspot.com/login');
await page.fill('#username', process.env.HUBSPOT_EMAIL);
await page.fill('#password', process.env.HUBSPOT_PASSWORD);
await page.click('#loginBtn');
// Navigate to contacts
await page.click('[data-selenium-test="nav-primary-contacts-contacts"]');
await page.click('[data-selenium-test="create-contact-button"]');
// Create new contact
await page.fill('[data-field="firstname"]', 'Michael');
await page.fill('[data-field="lastname"]', 'Chen');
await page.fill('[data-field="email"]', 'michael.chen@techcorp.com');
await page.fill('[data-field="company"]', 'TechCorp Solutions');
await page.selectOption('[data-field="lifecyclestage"]', 'marketingqualifiedlead');
// Create associated deal
await page.click('[data-selenium-test="associations-tab"]');
await page.click('[data-selenium-test="create-deal-button"]');
await page.fill('[data-field="dealname"]', 'TechCorp Enterprise Package');
await page.fill('[data-field="amount"]', '75000');
await page.selectOption('[data-field="dealstage"]', 'qualifiedtobuy');
await page.click('[data-selenium-test="save-contact"]');
await browser.close();
```
Playwright handles form validations, association creation, and pipeline updates automatically. You can automate lead scoring, email campaign management, and sales forecasting workflows.
## Scale your HubSpot automation with Anchor Browser
Run your Playwright HubSpot automations on cloud browsers with enterprise-grade reliability and persistent HubSpot CRM sessions. Learn more and get started for free: [https://anchorbrowser.io](https://anchorbrowser.io)
# Jira
Source: https://docs.anchorbrowser.io/integrations/open-source/playwright/business-applications/jira
Automate Jira project management workflows with Playwright when APIs aren't available.
# How to Automate Jira with Playwright
Automate critical Jira project management workflows with Playwright when APIs aren't available or sufficient. You'll eliminate manual ticket creation and reduce project tracking errors by automating repetitive development processes. Use Playwright to interact with Jira's web interface programmatically.
[View Jira's REST API documentation](https://developer.atlassian.com/server/jira/platform/rest/v11000/intro/#gettingstarted) for integration services when available.
## Setup
Install Playwright and configure authentication:
```bash theme={null}
npm install playwright
```
## Automate Workflows
Create scripts for common Jira tasks:
```JavaScript theme={null}
import { chromium } from 'playwright';
const browser = await chromium.launch();
const page = await browser.newPage();
// Login to Jira
await page.goto('https://your-company.atlassian.net/');
await page.fill('#username', process.env.JIRA_USERNAME);
await page.click('#login-submit');
await page.fill('#password', process.env.JIRA_PASSWORD);
await page.click('#login-submit');
// Navigate to project
await page.click('[data-testid="global-pages.directories.projects-directory-v2"]');
await page.click('text=Development Project');
// Create new issue
await page.click('[data-testid="project-sidebar.create-issue-button"]');
await page.selectOption('[data-testid="issue-type-select"]', 'Story');
await page.fill('[data-testid="issue-summary-field"]', 'Implement user authentication');
await page.fill('[data-testid="issue-description-field"]', 'Add OAuth login functionality');
await page.selectOption('[data-testid="assignee-select"]', 'john.doe');
await page.click('[data-testid="issue-create-submit"]');
// Update issue status
await page.click('text=DEV-123');
await page.click('[data-testid="issue-workflow-transition"]');
await page.click('text=In Progress');
await browser.close();
```
Playwright handles issue creation, workflow transitions, and field updates automatically. You can automate sprint planning, bulk status updates, and project reporting workflows.
## Scale your Jira automation with Anchor Browser
Run your Playwright Jira automations on cloud browsers with enterprise-grade reliability and persistent Jira sessions. Learn more and get started for free: [https://anchorbrowser.io](https://anchorbrowser.io)
# Miro
Source: https://docs.anchorbrowser.io/integrations/open-source/playwright/business-applications/miro
Automate Miro collaboration workflows with Playwright when APIs aren't available.
# How to Automate Miro with Playwright
Automate critical Miro collaboration workflows with Playwright when APIs aren't available or sufficient. You'll eliminate manual board setup and reduce brainstorming session errors by automating repetitive visual collaboration processes. Use Playwright to interact with Miro's web interface programmatically.
[View Miro's API documentation](https://developers.miro.com/docs) for integration services when available.
## Setup
Install Playwright and configure authentication:
```bash theme={null}
npm install playwright
```
## Automate Workflows
Create scripts for common Miro actions:
```JavaScript theme={null}
import { chromium } from 'playwright';
const browser = await chromium.launch();
const page = await browser.newPage();
// Login to Miro
await page.goto('https://miro.com/login/');
await page.fill('[data-testid="mr-form-login-btn-start-1"]', process.env.MIRO_EMAIL);
await page.click('[data-testid="mr-form-login-btn-start-1"]');
await page.fill('[data-testid="password"]', process.env.MIRO_PASSWORD);
await page.click('[data-testid="mr-form-login-btn-signin-1"]');
// Create new board
await page.click('[data-testid="create-board-button"]');
await page.fill('[data-testid="board-title-input"]', 'Sprint Planning Session');
await page.selectOption('[data-testid="template-select"]', 'Agile Planning');
await page.click('[data-testid="create-button"]');
// Add sticky notes for user stories
await page.click('[data-testid="toolbar-sticky-note"]');
await page.click('[data-testid="canvas"]', { position: { x: 200, y: 200 } });
await page.fill('[data-testid="sticky-note-text"]', 'As a user, I want to login easily');
await page.press('[data-testid="sticky-note-text"]', 'Escape');
// Create swimlanes
await page.click('[data-testid="toolbar-shapes"]');
await page.click('[data-testid="rectangle-shape"]');
await page.dragAndDrop('[data-testid="canvas"]', '[data-testid="canvas"]', {
sourcePosition: { x: 100, y: 100 },
targetPosition: { x: 800, y: 150 }
});
// Share board with team
await page.click('[data-testid="share-board-button"]');
await page.fill('[data-testid="invite-email"]', 'team@company.com');
await page.selectOption('[data-testid="permission-level"]', 'can edit');
await page.click('[data-testid="send-invitation"]');
await browser.close();
```
Playwright handles canvas interactions, shape creation, and collaboration features automatically. You can automate template setup, workshop facilitation, and board organization workflows.
## Scale your Miro automation with Anchor Browser
Run your Playwright Miro automations on cloud browsers with enterprise-grade reliability and persistent Miro sessions. Learn more and get started for free: [https://anchorbrowser.io](https://anchorbrowser.io)
# Monday
Source: https://docs.anchorbrowser.io/integrations/open-source/playwright/business-applications/monday
Automate Monday.com project management workflows with Playwright when APIs aren't available.
# How to Automate Monday with Playwright
Automate critical Monday.com project management workflows with Playwright when APIs aren't available or sufficient. You'll eliminate manual board setup and reduce task tracking errors by automating repetitive project management processes. Use Playwright to interact with Monday.com's web interface programmatically.
[View Monday.com's API documentation](https://developer.monday.com/api-reference/docs) for integration services when available.
## Setup
Install Playwright and configure authentication:
```bash theme={null}
npm install playwright
```
## Automate Workflows
Create scripts for common Monday.com tasks:
```JavaScript theme={null}
import { chromium } from 'playwright';
const browser = await chromium.launch();
const page = await browser.newPage();
// Login to Monday.com
await page.goto('https://auth.monday.com/login');
await page.fill('[data-testid="email-field"]', process.env.MONDAY_EMAIL);
await page.fill('[data-testid="password-field"]', process.env.MONDAY_PASSWORD);
await page.click('[data-testid="login-button"]');
// Create new board
await page.click('[data-testid="create-board-button"]');
await page.fill('[data-testid="board-name-input"]', 'Product Launch Campaign');
await page.selectOption('[data-testid="board-template"]', 'Marketing Campaign');
await page.click('[data-testid="create-board-confirm"]');
// Add new item to board
await page.click('[data-testid="add-item-button"]');
await page.fill('[data-testid="item-name"]', 'Website Landing Page');
await page.selectOption('[data-testid="status-column"]', 'Working on it');
await page.fill('[data-testid="person-column"]', 'Sarah Marketing');
await page.click('[data-testid="date-column"]');
await page.fill('[data-testid="due-date"]', '2024-03-15');
// Update item progress
await page.click('[data-testid="timeline-column"]');
await page.dragAndDrop('[data-testid="timeline-bar"]', '[data-testid="timeline-bar"]', {
sourcePosition: { x: 0, y: 0 },
targetPosition: { x: 100, y: 0 }
});
// Add automation
await page.click('[data-testid="board-menu"]');
await page.click('[data-testid="automations-tab"]');
await page.click('[data-testid="add-automation"]');
await page.selectOption('[data-testid="automation-trigger"]', 'when status changes to Done');
await page.selectOption('[data-testid="automation-action"]', 'notify person');
await page.click('[data-testid="save-automation"]');
await browser.close();
```
Playwright handles board creation, item management, and automation setup automatically. You can automate project tracking, team notifications, and reporting workflows.
## Scale your Monday.com automation with Anchor Browser
Run your Playwright Monday automations on cloud browsers with enterprise-grade reliability and persistent Monday sessions. Learn more and get started for free: [https://anchorbrowser.io](https://anchorbrowser.io)
# NetSuite
Source: https://docs.anchorbrowser.io/integrations/open-source/playwright/business-applications/netsuite
Automate NetSuite business workflows with Playwright when APIs aren't available.
# How to Automate NetSuite with Playwright
Automate critical NetSuite workflows with Playwright when APIs aren't available or sufficient. You'll eliminate manual data entry and reduce errors by automating repetitive business processes. Use Playwright to interact with NetSuite's web interface programmatically.
[View NetSuite's SuiteScript documentation](https://system.netsuite.com/help/helpcenter/en_US/APIs/REST_API_Browser/record/v1/2023.1/index.html) for API alternatives when available.
## Setup
Install Playwright and configure authentication:
```bash theme={null}
npm install playwright
```
## Automate Workflows
Create scripts for common NetSuite tasks:
```JavaScript theme={null}
import { chromium } from 'playwright';
const browser = await chromium.launch();
const page = await browser.newPage();
// Login to NetSuite
await page.goto('https://system.netsuite.com/pages/customerlogin.jsp');
await page.fill('#email', process.env.NETSUITE_EMAIL);
await page.fill('#password', process.env.NETSUITE_PASSWORD);
await page.click('#login-submit');
// Navigate to customer records
await page.click('text=Lists');
await page.click('text=Customers');
// Create new customer record
await page.click('text=New');
await page.fill('#companyname', 'Acme Corporation');
await page.fill('#email', 'contact@acme.com');
await page.click('#btn_multibutton_submitter');
await browser.close();
```
Playwright handles dynamic loading, form submissions, and navigation automatically. You can automate financial reporting, customer management, and inventory updates.
## Scale your NetSuite automation with Anchor Browser
Run your Playwright NetSuite automations on cloud browsers with enterprise-grade reliability and session persistence. Learn more and get started for free: [https://anchorbrowser.io](https://anchorbrowser.io)
# Notion
Source: https://docs.anchorbrowser.io/integrations/open-source/playwright/business-applications/notion
Automate Notion workspace workflows with Playwright when APIs aren't available.
# How to Automate Notion with Playwright
Automate critical Notion workspace workflows with Playwright when APIs aren't available or sufficient. You'll eliminate manual page creation and reduce content management errors by automating repetitive documentation processes. Use Playwright to interact with Notion's web interface programmatically.
[View Notion's API documentation](https://developers.notion.com/) for integration services when available.
## Setup
Install Playwright and configure authentication:
```bash theme={null}
npm install playwright
```
## Automate Workflows
Create scripts for common Notion tasks:
```JavaScript theme={null}
import { chromium } from 'playwright';
const browser = await chromium.launch();
const page = await browser.newPage();
// Login to Notion
await page.goto('https://www.notion.so/login');
await page.fill('[data-testid="login-email"]', process.env.NOTION_EMAIL);
await page.fill('[data-testid="login-password"]', process.env.NOTION_PASSWORD);
await page.click('[data-testid="login-submit"]');
// Navigate to workspace
await page.click('[data-testid="workspace-switcher"]');
await page.click('text=Team Workspace');
// Create new page
await page.click('text=+ New page');
await page.fill('[placeholder="Untitled"]', 'Weekly Status Report');
await page.click('[data-testid="template-button"]');
await page.click('text=Meeting notes');
// Add content to database
await page.click('text=Projects Database');
await page.click('text=+ New');
await page.fill('[data-testid="title-input"]', 'Q1 Marketing Campaign');
await page.selectOption('[data-testid="status-select"]', 'In Progress');
await page.click('[data-testid="save-button"]');
await browser.close();
```
Playwright handles page loading, template selection, and database updates automatically. You can automate content publishing, team collaboration workflows, and project tracking processes.
## Scale your Notion automation with Anchor Browser
Run your Playwright Notion automations on cloud browsers with enterprise-grade reliability and persistent Notion sessions. Learn more and get started for free: [https://anchorbrowser.io](https://anchorbrowser.io)
# Pipedrive
Source: https://docs.anchorbrowser.io/integrations/open-source/playwright/business-applications/pipedrive
Automate Pipedrive CRM workflows with Playwright when APIs aren't available.
# How to Automate Pipedrive with Playwright
Automate critical Pipedrive CRM workflows with Playwright when APIs aren't available or sufficient. You'll eliminate manual deal tracking and reduce sales pipeline errors by automating repetitive sales processes. Use Playwright to interact with Pipedrive's web interface programmatically.
[View Pipedrive's API documentation](https://developers.pipedrive.com/docs/api/v1) for integration services when available.
## Setup
Install Playwright and configure authentication:
```bash theme={null}
npm install playwright
```
## Automate Workflows
Create scripts for common Pipedrive tasks:
```JavaScript theme={null}
import { chromium } from 'playwright';
const browser = await chromium.launch();
const page = await browser.newPage();
// Login to Pipedrive
await page.goto('https://your-company.pipedrive.com/');
await page.fill('[data-testid="login-email"]', process.env.PIPEDRIVE_EMAIL);
await page.fill('[data-testid="login-password"]', process.env.PIPEDRIVE_PASSWORD);
await page.click('[data-testid="login-button"]');
// Navigate to deals pipeline
await page.click('[data-testid="menu-deals"]');
await page.click('[data-testid="add-deal-button"]');
// Create new deal
await page.fill('[data-testid="deal-title"]', 'Enterprise Software License');
await page.fill('[data-testid="deal-value"]', '45000');
await page.selectOption('[data-testid="deal-stage"]', 'qualified-to-buy');
await page.fill('[data-testid="person-name"]', 'Lisa Rodriguez');
await page.fill('[data-testid="organization-name"]', 'Global Tech Solutions');
// Set follow-up activity
await page.click('[data-testid="add-activity-button"]');
await page.selectOption('[data-testid="activity-type"]', 'call');
await page.fill('[data-testid="activity-subject"]', 'Follow-up demo call');
await page.click('[data-testid="save-deal"]');
await browser.close();
```
Playwright handles pipeline navigation, deal progression, and activity scheduling automatically. You can automate lead qualification, sales forecasting, and customer follow-up workflows.
## Scale your Pipedrive automation with Anchor Browser
Run your Playwright Pipedrive automations on cloud browsers with enterprise-grade reliability and persistent Pipedrive sessions. Learn more and get started for free: [https://anchorbrowser.io](https://anchorbrowser.io)
# Sage Intact
Source: https://docs.anchorbrowser.io/integrations/open-source/playwright/business-applications/sage-intact
Automate Sage Intacct financial workflows with Playwright when APIs aren't available.
# How to Automate Sage Intacct with Playwright
Automate critical Sage Intacct financial workflows with Playwright when APIs aren't available or sufficient. You'll eliminate manual accounting tasks and reduce processing errors by automating repetitive financial processes. Use Playwright to interact with Intacct's web interface programmatically.
[View Sage Intacct's API documentation](https://developer.intacct.com/api/) for integration services when available.
## Setup
Install Playwright and configure authentication:
```bash theme={null}
npm install playwright
```
## Automate Workflows
Create scripts for common Intacct tasks:
```JavaScript theme={null}
import { chromium } from 'playwright';
const browser = await chromium.launch();
const page = await browser.newPage();
// Login to Sage Intacct
await page.goto('https://www.intacct.com/ia/acct/login.phtml');
await page.fill('#userid', process.env.INTACCT_USERNAME);
await page.fill('#companyid', process.env.INTACCT_COMPANY);
await page.fill('#password', process.env.INTACCT_PASSWORD);
await page.click('#loginButton');
// Navigate to General Ledger
await page.click('text=General Ledger');
await page.click('text=Journal Entry');
// Create new journal entry
await page.click('text=+');
await page.fill('[name="description"]', 'Monthly Accrual Entry');
await page.selectOption('[name="account"]', '1200');
await page.fill('[name="debit"]', '5000.00');
await page.click('#post');
await browser.close();
```
Playwright handles dynamic forms, account lookups, and validation automatically. You can automate journal entries, invoice processing, and financial reporting workflows.
## Scale your Sage Intacct automation with Anchor Browser
Run your Playwright Intacct automations on cloud browsers with enterprise-grade reliability and persistent financial sessions. Learn more and get started for free: [https://anchorbrowser.io](https://anchorbrowser.io)
# Salesforce
Source: https://docs.anchorbrowser.io/integrations/open-source/playwright/business-applications/salesforce
Automate Salesforce CRM workflows with Playwright when APIs aren't available.
# How to Automate Salesforce with Playwright
Automate critical Salesforce CRM workflows with Playwright when APIs aren't available or sufficient. You'll eliminate manual data entry and reduce lead processing errors by automating repetitive sales processes. Use Playwright to interact with Salesforce's web interface programmatically.
[View Salesforce's REST API documentation](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/) for integration services when available.
## Setup
Install Playwright and configure authentication:
```bash theme={null}
npm install playwright
```
### Authentication Options
**Option 1: Direct Login (Basic)**
Store credentials securely using environment variables:
```JavaScript theme={null}
// Use environment variables for security
const SALESFORCE_USERNAME = process.env.SALESFORCE_USERNAME;
const SALESFORCE_PASSWORD = process.env.SALESFORCE_PASSWORD;
```
**Option 2: OAuth2 Integration**
For production environments, implement OAuth2 flow:
```
import { chromium } from 'playwright';
// OAuth2 flow for secure authentication
const page = await browser.newPage();
await page.goto('https://login.salesforce.com/services/oauth2/authorize?...');
// Handle OAuth callback and token exchange
const accessToken = await handleOAuthCallback(page);
```
## Automate Workflows
Create scripts for common Salesforce tasks:
```
import { chromium } from 'playwright';
const browser = await chromium.launch();
const page = await browser.newPage();
// Login to Salesforce
await page.goto('https://login.salesforce.com/');
await page.fill('#username', process.env.SALESFORCE_USERNAME);
await page.fill('#password', process.env.SALESFORCE_PASSWORD);
await page.click('#Login');
// Navigate to Leads
await page.click('[title="App Launcher"]');
await page.fill('input[placeholder="Search apps and items..."]', 'Leads');
await page.click('text=Leads');
// Create new lead
await page.click('text=New');
await page.fill('[name="firstName"]', 'John');
await page.fill('[name="lastName"]', 'Doe');
await page.fill('[name="Company"]', 'Acme Corporation');
await page.fill('[name="Email"]', 'john.doe@acme.com');
await page.selectOption('[name="LeadSource"]', 'Website');
await page.click('button[name="SaveEdit"]');
await browser.close();
```
Playwright handles dynamic Lightning components, field validations, and record saves automatically. You can automate lead conversion, opportunity updates, and account management workflows.
## Scale your Salesforce automation with Anchor Browser
Run your Playwright Salesforce automations on cloud browsers with enterprise-grade reliability and persistent Salesforce sessions. Learn more and get started for free: [https://anchorbrowser.io](https://anchorbrowser.io)
# SAP S/4HANA
Source: https://docs.anchorbrowser.io/integrations/open-source/playwright/business-applications/sap-s4-hana
Automate SAP S/4HANA business workflows with Playwright when APIs aren't available.
# How to Automate SAP S/4HANA with Playwright
Automate critical SAP S/4HANA workflows with Playwright when APIs aren't available or sufficient. You'll eliminate manual ERP tasks and reduce processing errors by automating repetitive business processes. Use Playwright to interact with SAP's web interface programmatically.
[View SAP's API documentation](https://api.sap.com/products/SAPS4HANA/apis/REST) for programmatic connections when available.
## Setup
Install Playwright and configure authentication:
```bash theme={null}
npm install playwright
```
## Automate Workflows
Create scripts for common SAP tasks:
```JavaScript theme={null}
import { chromium } from 'playwright';
const browser = await chromium.launch();
const page = await browser.newPage();
// Login to SAP S/4HANA
await page.goto('https://your-sap-system.com:8000/sap/bc/gui/sap/its/webgui');
await page.fill('#sap-user', process.env.SAP_USERNAME);
await page.fill('#sap-password', process.env.SAP_PASSWORD);
await page.click('#LOGON_BUTTON');
// Navigate to purchase orders
await page.fill('#RSWPSearchTextField', 'ME21N');
await page.press('#RSWPSearchTextField', 'Enter');
// Create new purchase order
await page.fill('[title="Vendor"]', '100001');
await page.fill('[title="Purchase Organization"]', '1000');
await page.fill('[title="Material"]', 'MAT-001');
await page.fill('[title="Quantity"]', '10');
await page.click('#toolbar_save');
await browser.close();
```
Playwright handles SAP GUI navigation, transaction codes, and form submissions automatically. You can automate procurement, financial postings, and material movements.
## Scale your SAP S/4HANA automation with Anchor Browser
Run your Playwright SAP automations on cloud browsers with enterprise-grade reliability and persistent SAP sessions. Learn more and get started for free: [https://anchorbrowser.io](https://anchorbrowser.io)
# ServiceNow
Source: https://docs.anchorbrowser.io/integrations/open-source/playwright/business-applications/servicenow
Automate ServiceNow IT service management workflows with Playwright when APIs aren't available.
# How to Automate ServiceNow with Playwright
Automate critical ServiceNow IT service management workflows with Playwright when APIs aren't available or sufficient. You'll eliminate manual ticket processing and reduce service delivery errors by automating repetitive ITSM processes. Use Playwright to interact with ServiceNow's web interface programmatically.
[View ServiceNow's API documentation](https://docs.servicenow.com/csh?topicname=c_RESTAPI.html) for integration services when available.
## Setup
Install Playwright and configure authentication:
```bash theme={null}
npm install playwright
```
## Automate Workflows
Create scripts for common ServiceNow tasks:
```JavaScript theme={null}
import { chromium } from 'playwright';
const browser = await chromium.launch();
const page = await browser.newPage();
// Login to ServiceNow
await page.goto('https://your-instance.service-now.com/');
await page.fill('[name="user_name"]', process.env.SERVICENOW_USERNAME);
await page.fill('[name="user_password"]', process.env.SERVICENOW_PASSWORD);
await page.click('[name="not_important"]');
// Navigate to Incident Management
await page.click('[data-testid="nav-incident-management"]');
await page.click('[data-testid="create-new-incident"]');
// Create new incident
await page.fill('[data-testid="caller-field"]', 'John Smith');
await page.selectOption('[data-testid="category-select"]', 'Hardware');
await page.selectOption('[data-testid="subcategory-select"]', 'Monitor');
await page.fill('[data-testid="short-description"]', 'Monitor display issues');
await page.fill('[data-testid="description"]', 'User reports flickering and color distortion on primary monitor');
await page.selectOption('[data-testid="priority-select"]', '3 - Moderate');
await page.selectOption('[data-testid="assignment-group"]', 'Desktop Support');
// Add work notes and resolve
await page.fill('[data-testid="work-notes"]', 'Replaced monitor cable. Issue resolved.');
await page.selectOption('[data-testid="incident-state"]', 'Resolved');
await page.selectOption('[data-testid="resolution-code"]', 'Solved (Permanently)');
await page.click('[data-testid="update-incident"]');
// Create change request
await page.click('[data-testid="change-management"]');
await page.click('[data-testid="create-change-request"]');
await page.fill('[data-testid="change-short-description"]', 'Server memory upgrade');
await page.selectOption('[data-testid="change-type"]', 'Standard');
await page.selectOption('[data-testid="risk-level"]', 'Low');
await page.click('[data-testid="submit-change"]');
await browser.close();
```
Playwright handles form navigation, dropdown selections, and workflow transitions automatically. You can automate incident resolution, change approvals, and asset management workflows.
## Scale your ServiceNow automation with Anchor Browser
Run your Playwright ServiceNow automations on cloud browsers with enterprise-grade reliability and persistent ServiceNow sessions. Learn more and get started for free: [https://anchorbrowser.io](https://anchorbrowser.io)
# Tableau
Source: https://docs.anchorbrowser.io/integrations/open-source/playwright/business-applications/tableau
Automate Tableau dashboard workflows with Playwright when APIs aren't available.
# How to Automate Tableau with Playwright
Automate critical Tableau dashboard workflows with Playwright when APIs aren't available or sufficient. You'll eliminate manual reporting tasks and reduce data processing errors by automating repetitive visualization processes. Use Playwright to interact with Tableau's web interface programmatically.
[View Tableau's REST API documentation](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api.htm) for integration services when available.
## Setup
Install Playwright and configure authentication:
```bash theme={null}
npm install playwright
```
## Automate Workflows
Create scripts for common Tableau tasks:
```JavaScript theme={null}
import { chromium } from 'playwright';
const browser = await chromium.launch();
const page = await browser.newPage();
// Login to Tableau Server
await page.goto('https://your-tableau-server.com');
await page.fill('[name="username"]', process.env.TABLEAU_USERNAME);
await page.fill('[name="password"]', process.env.TABLEAU_PASSWORD);
await page.click('[type="submit"]');
// Navigate to workbooks
await page.click('text=Explore');
await page.click('text=All Workbooks');
// Refresh data source
await page.click('text=Sales Dashboard');
await page.click('[data-test-id="refresh-button"]');
await page.waitForSelector('.refresh-complete');
// Export dashboard as PDF
await page.click('[data-test-id="share-button"]');
await page.click('text=Download');
await page.selectOption('[name="format"]', 'pdf');
await page.click('#download-button');
await browser.close();
```
Playwright handles dashboard loading, data refresh cycles, and export processes automatically. You can automate report generation, data source updates, and user permission management.
## Scale your Tableau automation with Anchor Browser
Run your Playwright Tableau automations on cloud browsers with enterprise-grade reliability and persistent Tableau sessions. Learn more and get started for free: [https://anchorbrowser.io](https://anchorbrowser.io)
# UiPath
Source: https://docs.anchorbrowser.io/integrations/open-source/playwright/business-applications/uipath
Automate UiPath RPA management workflows with Playwright when APIs aren't available.
# How to Automate UiPath with Playwright
Automate critical UiPath RPA management workflows with Playwright when APIs aren't available or sufficient. You'll eliminate manual bot deployment and reduce automation management errors by automating repetitive RPA administration processes. Use Playwright to interact with UiPath's web interface programmatically.
[View UiPath's API documentation](https://docs.uipath.com/orchestrator/reference) for integration services when available.
## Setup
Install Playwright and configure authentication:
```bash theme={null}
npm install playwright
```
## Automate Workflows
Create scripts for common UiPath tasks:
```JavaScript theme={null}
import { chromium } from 'playwright';
const browser = await chromium.launch();
const page = await browser.newPage();
// Login to UiPath Orchestrator
await page.goto('https://your-tenant.uipath.com/');
await page.fill('[data-testid="email"]', process.env.UIPATH_EMAIL);
await page.fill('[data-testid="password"]', process.env.UIPATH_PASSWORD);
await page.click('[data-testid="login-button"]');
// Navigate to Automation Cloud
await page.click('[data-testid="orchestrator-tile"]');
await page.click('[data-testid="processes-menu"]');
// Deploy new process
await page.click('[data-testid="add-process-button"]');
await page.fill('[data-testid="process-name"]', 'Invoice Processing Bot');
await page.selectOption('[data-testid="package-select"]', 'InvoiceBot_v1.2');
await page.selectOption('[data-testid="environment-select"]', 'Production');
await page.click('[data-testid="deploy-process"]');
// Schedule automation job
await page.click('[data-testid="jobs-menu"]');
await page.click('[data-testid="create-job-button"]');
await page.selectOption('[data-testid="process-dropdown"]', 'Invoice Processing Bot');
await page.selectOption('[data-testid="robot-select"]', 'Robot-01');
await page.fill('[data-testid="job-priority"]', 'High');
await page.click('[data-testid="start-job"]');
// Monitor job status
await page.click('[data-testid="monitoring-tab"]');
await expect(page.locator('[data-testid="job-status"]')).toContainText('Running');
await browser.close();
```
Playwright handles process deployment, job scheduling, and monitoring workflows automatically. You can automate bot management, queue processing, and performance reporting workflows.
## Scale your UiPath automation with Anchor Browser
Run your Playwright UiPath automations on cloud browsers with enterprise-grade reliability and persistent UiPath sessions. Learn more and get started for free: [https://anchorbrowser.io](https://anchorbrowser.io)
# Wrike
Source: https://docs.anchorbrowser.io/integrations/open-source/playwright/business-applications/wrike
Automate Wrike project management workflows with Playwright when APIs aren't available.
# How to Automate Wrike with Playwright
Automate critical Wrike project management workflows with Playwright when APIs aren't available or sufficient. You'll eliminate manual project setup and reduce task management errors by automating repetitive work management processes. Use Playwright to interact with Wrike's web interface programmatically.
[View Wrike's API documentation](https://developers.wrike.com/) for integration services when available.
## Setup
Install Playwright and configure authentication:
```bash theme={null}
npm install playwright
```
## Automate Workflows
Create scripts for common Wrike tasks:
```JavaScript theme={null}
import { chromium } from 'playwright';
const browser = await chromium.launch();
const page = await browser.newPage();
// Login to Wrike
await page.goto('https://www.wrike.com/login/');
await page.fill('[data-testid="email-input"]', process.env.WRIKE_EMAIL);
await page.fill('[data-testid="password-input"]', process.env.WRIKE_PASSWORD);
await page.click('[data-testid="login-button"]');
// Create new project
await page.click('[data-testid="create-project-button"]');
await page.fill('[data-testid="project-title"]', 'Website Redesign Project');
await page.selectOption('[data-testid="project-template"]', 'Marketing Project');
await page.click('[data-testid="create-project-confirm"]');
// Add new task
await page.click('[data-testid="add-task-button"]');
await page.fill('[data-testid="task-title"]', 'Design homepage mockup');
await page.fill('[data-testid="task-description"]', 'Create responsive design mockups for new homepage');
await page.selectOption('[data-testid="task-status"]', 'In Progress');
await page.click('[data-testid="assignee-dropdown"]');
await page.click('text=Design Team');
// Set task dates and priority
await page.click('[data-testid="start-date-picker"]');
await page.click('[data-testid="today-button"]');
await page.click('[data-testid="due-date-picker"]');
await page.click('[data-testid="next-week-button"]');
await page.selectOption('[data-testid="priority-select"]', 'High');
await page.click('[data-testid="save-task"]');
// Create custom dashboard
await page.click('[data-testid="dashboards-menu"]');
await page.click('[data-testid="create-dashboard"]');
await page.fill('[data-testid="dashboard-name"]', 'Project Overview');
await page.click('[data-testid="add-widget"]');
await page.selectOption('[data-testid="widget-type"]', 'Tasks by Status');
await page.click('[data-testid="save-dashboard"]');
await browser.close();
```
Playwright handles project creation, task assignment, and dashboard customization automatically. You can automate time tracking, resource allocation, and progress reporting workflows.
## Scale your Wrike automation with Anchor Browser
Run your Playwright Wrike automations on cloud browsers with enterprise-grade reliability and persistent Wrike sessions. Learn more and get started for free: [https://anchorbrowser.io](https://anchorbrowser.io)
# Zendesk
Source: https://docs.anchorbrowser.io/integrations/open-source/playwright/business-applications/zendesk
Automate Zendesk customer service workflows with Playwright when APIs aren't available.
# How to Automate Zendesk with Playwright
Automate critical Zendesk customer service workflows with Playwright when APIs aren't available or sufficient. You'll eliminate manual ticket processing and reduce response time errors by automating repetitive support processes. Use Playwright to interact with Zendesk's web interface programmatically.
[View Zendesk's API documentation](https://developer.zendesk.com/api-reference/) for integration services when available.
## Setup
Install Playwright and configure authentication:
```bash theme={null}
npm install playwright
```
## Automate Workflows
Create scripts for common Zendesk tasks:
```JavaScript theme={null}
import { chromium } from 'playwright';
const browser = await chromium.launch();
const page = await browser.newPage();
// Login to Zendesk
await page.goto('https://your-company.zendesk.com/agent/');
await page.fill('[name="user[email]"]', process.env.ZENDESK_EMAIL);
await page.fill('[name="user[password]"]', process.env.ZENDESK_PASSWORD);
await page.click('[type="submit"]');
// Navigate to tickets
await page.click('[data-test-id="views_views-list_row-item"]');
await page.click('text=Open tickets');
// Update ticket priority
await page.click('.ticket-row:first-child');
await page.click('[data-test-id="priority-field"]');
await page.selectOption('[data-test-id="priority-field"]', 'high');
// Add internal note
await page.fill('[data-test-id="omni-composer-rich-text"]', 'Customer escalation processed - priority updated');
await page.click('[data-test-id="submit-button"]');
await browser.close();
```
Playwright handles ticket loading, field updates, and comment submissions automatically. You can automate ticket routing, bulk status updates, and customer communication workflows.
## Scale your Zendesk automation with Anchor Browser
Run your Playwright Zendesk automations on cloud browsers with enterprise-grade reliability and persistent Zendesk sessions. Learn more and get started for free: [https://anchorbrowser.io](https://anchorbrowser.io)
# Apache Superset
Source: https://docs.anchorbrowser.io/integrations/open-source/playwright/e2e-testing/apache-superset
Test Apache Superset dashboards and data visualization workflows with Playwright's end-to-end testing framework.
# How to Test Apache Superset with Playwright
Test your Apache Superset dashboards and data exploration workflows with Playwright's end-to-end testing framework. You'll catch visualization errors and ensure data accuracy by testing charts and filters in a real browser environment. Use Playwright to automate dashboard interactions and validate SQL queries.
[View Superset's Playwright configuration](https://github.com/apache/superset/blob/master/superset-frontend/playwright.config.ts) from the official repository.
## Setup
Install Playwright and configure for Superset testing:
```bash theme={null}
npm install playwright
```
## Write Tests
Create tests for dashboard and chart functionality:
```JavaScript theme={null}
import { test, expect } from '@playwright/test';
test('dashboard loads with correct charts', async ({ page }) => {
await page.goto('http://localhost:8088/superset/dashboard/1/');
// Login if required
await page.fill('[name="username"]', 'admin');
await page.fill('[name="password"]', 'admin');
await page.click('[type="submit"]');
// Verify dashboard elements
await expect(page.locator('.dashboard-header')).toBeVisible();
await expect(page.locator('.chart-container')).toHaveCount(4);
});
test('chart filters update data correctly', async ({ page }) => {
await page.goto('http://localhost:8088/explore/');
// Apply filter
await page.click('[data-test="adhoc-filter-edit"]');
await page.selectOption('[data-test="select-column"]', 'category');
await page.fill('[data-test="filter-value"]', 'Technology');
await page.click('[data-test="run-query"]');
// Verify filtered results
await expect(page.locator('.slice_container')).toContainText('Technology');
});
```
Playwright handles chart rendering, filter interactions, and SQL query execution automatically. You can test custom visualizations, dashboard permissions, and data source connections.
## Scale your Apache Superset testing with Anchor Browser
Run your Playwright Superset tests on cloud browsers with enterprise-grade reliability and persistent database connections. Learn more and get started for free: [https://anchorbrowser.io](https://anchorbrowser.io)
# Grafana
Source: https://docs.anchorbrowser.io/integrations/open-source/playwright/e2e-testing/grafana
Test Grafana dashboards and monitoring workflows with Playwright's end-to-end testing framework.
# How to Test Grafana with Playwright
Test your Grafana dashboards and monitoring workflows with Playwright's end-to-end testing framework. You'll catch visualization bugs and ensure critical alerts work correctly by testing in a real browser environment. Use Playwright to automate dashboard interactions and validate data accuracy.
[View Grafana's Playwright configuration](https://github.com/grafana/grafana/blob/main/playwright.config.ts) from the official repository.
## Setup
Install Playwright and configure for Grafana testing:
```bash theme={null}
npm install playwright
```
## Write Tests
Create tests for dashboard functionality:
```JavaScript theme={null}
import { test, expect } from '@playwright/test';
test('dashboard loads with correct panels', async ({ page }) => {
await page.goto('http://localhost:3000/d/dashboard-id');
// Login if required
await page.fill('[name="user"]', 'admin');
await page.fill('[name="password"]', 'admin');
await page.click('[type="submit"]');
// Verify dashboard elements
await expect(page.locator('.panel-title')).toContainText('CPU Usage');
await expect(page.locator('.graph-panel')).toBeVisible();
});
test('alert rule triggers correctly', async ({ page }) => {
await page.goto('http://localhost:3000/alerting/list');
// Check alert status
await expect(page.locator('[data-testid="alert-rule"]')).toBeVisible();
await expect(page.locator('.alert-state-ok')).toContainText('OK');
});
```
Playwright handles dashboard loading, data refresh cycles, and alert state changes automatically. You can test panel configurations, data source connections, and user permissions.
## Scale your Grafana testing with Anchor Browser
Run your Playwright Grafana tests on cloud browsers with enterprise-grade reliability and persistent authentication sessions. Learn more and get started for free: [https://anchorbrowser.io](https://anchorbrowser.io)
# OpenHands
Source: https://docs.anchorbrowser.io/integrations/open-source/playwright/e2e-testing/openhands
Test OpenHands' AI-driven software development workflows with Playwright's end-to-end testing framework.
# How to Test OpenHands with Playwright
Test your OpenHands AI development workflows with Playwright's end-to-end testing framework. You'll catch UI bugs and ensure agent interactions work correctly by testing in a real browser environment. Use Playwright to automate chat interactions and validate code generation features.
[View OpenHands' Playwright configuration](https://github.com/All-Hands-AI/OpenHands/blob/main/frontend/playwright.config.ts) from the official repository.
## Setup
Install Playwright and configure for OpenHands testing:
```bash theme={null}
npm install playwright
```
## Write Tests
Create tests for AI agent functionality:
```JavaScript theme={null}
import { test, expect } from '@playwright/test';
test('chat interface loads and responds', async ({ page }) => {
await page.goto('http://localhost:3000');
// Verify chat interface is ready
await expect(page.locator('[data-testid="chat-input"]')).toBeVisible();
await expect(page.locator('[data-testid="send-button"]')).toBeEnabled();
// Send a message to the agent
await page.fill('[data-testid="chat-input"]', 'Create a simple Python function');
await page.click('[data-testid="send-button"]');
// Verify agent response appears
await expect(page.locator('.agent-response')).toBeVisible();
await expect(page.locator('.code-block')).toContainText('def');
});
test('file explorer functionality works', async ({ page }) => {
await page.goto('http://localhost:3000');
// Test file tree navigation
await page.click('[data-testid="file-explorer"]');
await expect(page.locator('.file-tree')).toBeVisible();
// Create new file through UI
await page.click('[data-testid="new-file-button"]');
await page.fill('[data-testid="file-name-input"]', 'test.py');
await page.click('[data-testid="confirm-button"]');
// Verify file appears in explorer
await expect(page.locator('text=test.py')).toBeVisible();
});
```
Playwright handles agent response timing, code syntax highlighting, and file system interactions automatically. You can test multi-step workflows, error handling, and agent memory persistence.
## Scale your OpenHands testing with Anchor Browser
Run your Playwright OpenHands tests on cloud browsers with enterprise-grade reliability and persistent authentication sessions. Learn more and get started for free: [https://anchorbrowser.io](https://anchorbrowser.io)
# Storybook
Source: https://docs.anchorbrowser.io/integrations/open-source/playwright/e2e-testing/storybook
Test Storybook components with Playwright's component testing framework.
# How to Test Storybook with Playwright
Test your Storybook components directly with Playwright's component testing framework. You'll catch UI bugs early by testing components in a real browser environment. Use Storybook's experimental Playwright integration to mount and interact with your stories.
[View the complete example](https://github.com/storybookjs/storybook/blob/795e05c3e6a72d7de10fbb2f4cb309e4dd333f46/docs/_snippets/portable-stories-playwright-ct.md) from the Storybook project.
## Setup
Install the required packages:
```bash theme={null}
npm install @storybook/react/experimental-playwright @playwright/experimental-ct-react
```
## Write Tests
Create tests that mount your stories:
```JavaScript theme={null}
import { createTest } from '@storybook/react/experimental-playwright';
import { test as base } from '@playwright/experimental-ct-react';
import stories from './Button.stories.portable';
const test = createTest(base);
test('renders primary button', async ({ mount }) => {
await mount(