browserflow

Browserflow for n8n connects Browserflow automations to n8n, with support for endpoint-based web automation and existing Browserflow workflow actions.

Package Information

Released: 3 mo ago
Downloads: 148 weekly / 1,081 monthly
Latest Version: 2.0.1
Author: Browserflow

Documentation

Browserflow Logo

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 hello@browserflow.io.


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-Key on both /metadata and 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 Seconds and Poll Interval Seconds to make Execute return sooner or wait longer.
  • If max_results/max_pages are 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 in output.

Environment knobs:

  • BROWSERFLOW_EXECUTE_REQUEST_TIMEOUT_MS (default 20000)
  • BROWSERFLOW_EXECUTE_POLL_INTERVAL_MS (default 3000)
  • BROWSERFLOW_EXECUTE_MAX_WAIT_MS (default 90000)
  • BROWSERFLOW_METADATA_TIMEOUT_MS (default 12000)
  • BROWSERFLOW_LOCALHOST_ALIAS (default host.docker.internal, useful when n8n runs in Docker)

Example Workflow

  1. Add the Browserflow V2 node to your workflow.
  2. Configure your Browserflow credentials and endpoint URL.
  3. Load the available input fields from the endpoint metadata.
  4. Map your input values in n8n.
  5. 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

  1. Add the Browserflow Node to your workflow.
  2. Set the operation to Send Connection Invite.
  3. Provide the LinkedIn profile URL.
  4. Optionally, enable Add Message and provide a custom message.
  5. Execute the workflow to send the connection invite.

Example 2: Scrape Profiles from Search

  1. Add the Browserflow Node to your workflow.
  2. Set the operation to Scrape Profiles from Search.
  3. Provide the search criteria (e.g., category, search term, location).
  4. Execute the workflow to scrape profiles based on the search criteria.

Example 3: Send a Direct Message

  1. Add the Browserflow Node to your workflow.
  2. Set the operation to Send Message.
  3. Provide the LinkedIn profile URL and the message.
  4. 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.sh

What this guarantees:

  • symlink registration: ~/.n8n/custom/browserflow-n8n -> <repo>/browserflow-n8n/dist
  • n8n health endpoint responds
  • both custom nodes are loaded: CUSTOM.browserflow and CUSTOM.browserflowV2

Optional override:

./scripts/healthcheck-local-n8n.sh http://localhost:5678

Discussion