wire ▸ zapier opened 0
ZapierApp-to-app integration platform

Use Writ
inside Zapier.

Give a Zap the one thing it can't reach on its own: a site with no API, behind your login.

Writ runs on your own accounts, with your own credentials and data, on sites you are authorized to use.
gap ▸ hits a wall 1
01
the gap

Where Zapier alone hits a wall

Zapier connects thousands of apps that already expose an API. When the app or site you need doesn't have one, or the action lives behind a login with 2FA, there's no connector to pick, and a Zap can't drive a real browser to do it.

fit ▸ one step 2
02
how it fits

Writ becomes one step in your Zapier flow

Writ makes the no-API site behave like any other step in a Zap. Use a "Webhooks by Zapier" action (or a scheduled Zap) to POST to the Writ endpoint /v1/{slug}/{path} with your wt_ key; Writ runs the browser workflow on your account and returns JSON the next Zap step can use. Writ can also POST into a "Catch Hook" trigger to start a Zap when a watched page changes.

Zapier flow
triggers & steps
Writ endpoint
browser on your account
JSON result
back in Zapier
login + 2FA CAPTCHA dynamic JS wt_key
wire ▸ steps captured 4
03
wire it up

Connect Writ with Zapier

  1. 1

    Publish the workflow in Writ

    Record the login-gated action in Writ and publish it as a managed endpoint with a wt_ key.

  2. 2

    Add a Webhooks by Zapier step

    In your Zap, add a "Webhooks by Zapier → POST" action pointed at /v1/{slug}/{path}, with the wt_ key in the Authorization header.

  3. 3

    Attach a persona for login/2FA

    In Writ, attach a persona so login, TOTP, and mailbox-OTP 2FA are handled on your own account.

  4. 4

    Map the response forward

    Use Writ's JSON response in the following Zap steps, or start a Zap from Writ via a "Catch Hook" trigger on a page change.

The call Zapier makes

webhooks-by-zapier · bash
# Webhooks by Zapier → POST
URL:     https://api.usewrit.app/v1/{slug}/{path}
Method:  POST
Headers:
  Authorization: Bearer wt_xxx
  Content-Type:  application/json
Data:
  input.query: {{trigger.search_term}}

A representative request. The endpoint is /v1/{slug}/{path}; authenticate with a wt_ key. API reference.

split ▸ who does what 4
04
better together

Zapier + 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 Zapier alone Zapier + Writ
Apps that already have an API Zapier's core strength: a huge connector catalog Stays native in Zapier, no Writ needed
A site with no connector at all No connector to select; the site is unreachable from a Zap Writ turns it into a callable endpoint a Zap can POST to
Logged-in pages behind 2FA Relies on each app's API/OAuth, not in-browser login Runs on your authorized session; TOTP + mailbox OTP handled
CAPTCHA on your own accounts Not an in-browser capability Handled inside the Writ browser run
In-browser actions (fill, submit, buy) Steps are app API actions, not page interactions 30+ step types drive the real page
Start a Zap when a page changes Triggers fire on app events, not arbitrary page changes Writ posts to a Catch Hook on a detected change
ask ▸ common questions 5
05
faq

Common questions

Which Zapier step calls Writ?
A "Webhooks by Zapier → POST" action to /v1/{slug}/{path} with your wt_ key in the Authorization header. A scheduled Zap can call it on a cadence; any following step can read the JSON response.
Can Zapier automate a site that has no API?
Not on its own; that's exactly what Writ adds. Build the endpoint in Writ for the no-API site, then call it from your Zap like any other step.
Can a page change kick off a Zap?
Yes. Add a "Catch Hook" trigger in Zapier and have Writ (via a Monitor or webhook) POST to it when the watched page changes.
Is my login safe?
Writ runs on your own account with a persona that carries login and 2FA; credentials resolve at runtime and never pass through Zapier.