Use Writ
inside n8n.
Add the one node n8n can't build alone: a real browser on your logged-in accounts, called over HTTP.
Where n8n alone hits a wall
n8n orchestrates almost anything you can express as nodes and API calls, but it assumes the systems it talks to expose an API. When a target site has no API and sits behind a login with 2FA, there's no clean node for it, and hand-rolling a browser node is a project of its own.
Writ becomes one step in your n8n flow
Writ becomes a normal HTTP step in your flow. Point an HTTP Request node at the Writ endpoint /v1/{slug}/{path} with your wt_ key, and Writ runs the recorded browser workflow on your own account and returns JSON. For change-driven flows, have Writ POST to an n8n Webhook node instead. The browser side lives in Writ, the orchestration stays in n8n.
Connect Writ with n8n
- 1
Record the browser workflow in Writ
Record the login-gated action once (or describe it, or discover it from the site's network calls) and publish it as a managed endpoint.
- 2
Attach a persona
Attach a persona so Writ handles login, TOTP, and mailbox-OTP 2FA on your own account; secrets resolve at runtime and never appear in logs.
- 3
Add an HTTP Request node in n8n
In your n8n flow, add an HTTP Request node that POSTs to /v1/{slug}/{path} with your wt_ key and any inputs.
- 4
Use the JSON downstream
Map Writ's JSON response into the rest of your n8n nodes, or trigger Writ the other way via an n8n Webhook node for change-driven runs.
The call n8n makes
// n8n → HTTP Request node
POST https://api.usewrit.app/v1/{slug}/{path}
Authorization: Bearer wt_xxx
Content-Type: application/json
{
"input": {
"account": "[email protected]",
"since": "2026-07-01"
}
} A representative request. The endpoint is /v1/{slug}/{path}; authenticate with a wt_ key. API reference.
n8n + Writ, side by side
An honest split of who does what. Writ never replaces your orchestrator; it reaches the part it can't reach alone.
| What you need | n8n alone | n8n + Writ |
|---|---|---|
| Logged-in pages behind 2FA | No durable authenticated browser session; login/2FA is DIY per node | ✓Runs on your authorized session; handles TOTP + mailbox OTP |
| A site with no API | Nodes assume an API exists; a custom browser node is your project to build and maintain | ✓Recorded once, exposed as /v1/{slug}/{path} |
| CAPTCHA on your own accounts | Not a built-in step | ✓Handled inside the Writ browser run |
| Dynamic / JS-heavy pages | HTTP nodes fetch markup, not a rendered page | ✓Real browser waits for the page to settle |
| Orchestration & 400+ integrations | n8n's core strength: nodes, branching, custom code | ✓Stays in n8n; Writ is one HTTP step |
| Self-hosting the engine | n8n is source-available and self-host-first (its home turf) | ✓Writ's local/BYO agent runs on your machine; managed cloud optional |