n8n-nodes-browserflow
v2.0.1
Published
Browserflow for n8n connects Browserflow automations to n8n, with support for endpoint-based web automation and existing Browserflow workflow actions.
Downloads
1,158
Maintainers
Readme

Browserflow for n8n
Browserflow for n8n includes two Browserflow nodes:
- Browserflow V2 for endpoint-based Browserflow automations in n8n workflows.
- Browserflow for LinkedIn for the existing LinkedIn-focused Browserflow action set.
See the latest platform update at browserflow.io. Questions? Contact [email protected].
Release Notes
2.0.1
- Split the public README into separate sections for Browserflow V2 and Browserflow for LinkedIn.
- Updated the public package description to reflect Browserflow's broader web automation direction.
- Kept the Browserflow for LinkedIn functionality and positioning available for existing workflows.
2.0.0
- Introduced the new major-version baseline for the Browserflow n8n package.
Browserflow V2
Browserflow V2 connects Browserflow endpoint-based automations to n8n workflows.
Browserflow is evolving beyond LinkedIn automation into a broader web automation platform designed to work well with third-party workflows. This node is the Browserflow V2 path for that direction inside n8n.
Runtime Behavior
- The node invokes endpoint runs with
wait_for_completion=false. - Metadata discovery uses the same Browserflow user API key as invoke; the node sends
X-Browserflow-Api-Keyon both/metadataand invoke requests. - While a run is active, the node polls the same endpoint using
flow_run_id, so it reuses the same run instead of starting duplicates. - Polling treats additional transitional statuses as active (
pending,processing,in_progress) and keeps polling unknown non-terminal statuses too. - Polling supports numeric and string run identifiers, so run tracking still works when an API returns non-numeric IDs.
- For terminal success-like statuses (
success,completed,ok,done), the node can keep polling a bit longer when output is still empty, to avoid early empty responses. - Polling stops when the run reaches a terminal state with usable output, or when the max wait window is reached.
- Per node you can configure
Max Wait SecondsandPoll Interval Secondsto makeExecutereturn sooner or wait longer. - If
max_results/max_pagesare present in Input Values, the node also sends them top-level to the endpoint runtime controls. - Node output is compact/sanitized: each item returns
{run_id, flow_run_id, session_id, status, output}and internal debug fields are not exposed inoutput.
Environment knobs:
BROWSERFLOW_EXECUTE_REQUEST_TIMEOUT_MS(default20000)BROWSERFLOW_EXECUTE_POLL_INTERVAL_MS(default3000)BROWSERFLOW_EXECUTE_MAX_WAIT_MS(default90000)BROWSERFLOW_METADATA_TIMEOUT_MS(default12000)BROWSERFLOW_LOCALHOST_ALIAS(defaulthost.docker.internal, useful when n8n runs in Docker)
Example Workflow
- Add the Browserflow V2 node to your workflow.
- Configure your Browserflow credentials and endpoint URL.
- Load the available input fields from the endpoint metadata.
- Map your input values in n8n.
- Execute the workflow to run the Browserflow automation.
Browserflow for LinkedIn
The Browserflow Node allows you to automate LinkedIn interactions using the Browserflow API. This node provides a variety of operations to interact with LinkedIn profiles, scrape data, send connection invites, and more.
Features
- Check Connection: Check the connection status of a LinkedIn profile.
- Get Profile Data: Retrieve data from a LinkedIn profile.
- Send Connection Invite: Send a connection invite to a LinkedIn profile (with an optional message).
- Get Chat History: Retrieve chat history from a LinkedIn conversation.
- Scrape Profiles from Search: Scrape LinkedIn profiles based on search criteria (e.g., category, search term, location).
- Scrape Profiles from Post Comments: Scrape profiles from LinkedIn post comments and reactions.
- Send Message: Send a direct message to a LinkedIn profile (with a mandatory message).
Node Operations
1. Check Connection
- LinkedIn URL: The LinkedIn profile URL to check the connection status.
- Endpoint:
/linkedin-check-connection-status
2. Get Profile Data
- LinkedIn URL: The LinkedIn profile URL to retrieve data.
- Endpoint:
/linkedin-profile-data
3. Send Connection Invite
- LinkedIn URL: The LinkedIn profile URL to send a connection invite.
- Add Message: Toggle to include a custom message.
- Message: Optional message to include in the invite.
- Endpoint:
/linkedin-connection-invite
4. Get Chat History
- LinkedIn URL: The LinkedIn profile URL to retrieve chat history.
- Endpoint:
/linkedin-get-chat-history
5. Scrape Profiles from Search
- Category: The category to scrape (persons or companies).
- Search Term: The search term to use for scraping.
- Number of Pages: The number of pages to scrape.
- City: The city to filter the search results.
- Country: The country to filter the search results.
- Endpoint:
/linkedin-scrape-profiles-from-search
6. Scrape Profiles from Post Comments
- Post URL: The URL of the LinkedIn post to scrape profiles from.
- Add Comments: Toggle to include comments in the scrape results.
- Comments Offset: The number of comments to skip.
- Comments Limit: The maximum number of comments to scrape.
- Add Reactions: Toggle to include reactions in the scrape results.
- Reactions Offset: The number of reactions to skip.
- Reactions Limit: The maximum number of reactions to scrape.
- Endpoint:
/linkedin-scrape-profiles-from-post-comments
7. Send Message
- LinkedIn URL: The LinkedIn profile URL to send a message.
- Message: The message to send (mandatory).
- Endpoint:
/linkedin-send-message
Example Workflows
Example 1: Send a Connection Invite
- Add the Browserflow Node to your workflow.
- Set the operation to Send Connection Invite.
- Provide the LinkedIn profile URL.
- Optionally, enable Add Message and provide a custom message.
- Execute the workflow to send the connection invite.
Example 2: Scrape Profiles from Search
- Add the Browserflow Node to your workflow.
- Set the operation to Scrape Profiles from Search.
- Provide the search criteria (e.g., category, search term, location).
- Execute the workflow to scrape profiles based on the search criteria.
Example 3: Send a Direct Message
- Add the Browserflow Node to your workflow.
- Set the operation to Send Message.
- Provide the LinkedIn profile URL and the message.
- Execute the workflow to send the message.
Local n8n Startup for Node Testing
When testing this custom node locally, always use the project scripts so the node is auto-registered and verified:
./scripts/start-local-n8n.sh
./scripts/healthcheck-local-n8n.shWhat this guarantees:
- symlink registration:
~/.n8n/custom/browserflow-n8n -> <repo>/browserflow-n8n/dist - n8n health endpoint responds
- both custom nodes are loaded:
CUSTOM.browserflowandCUSTOM.browserflowV2
Optional override:
./scripts/healthcheck-local-n8n.sh http://localhost:5678