TextSight has no app in the Zapier directory. To run it from a Zap, add a Webhooks by Zapier action (paid Zapier plans only) that POSTs your text to https://api.textsight.ai/v2/detect with a TextSight API key, issued on Pro and above. Zapier then turns the score, verdict and per-sentence results into fields later steps can branch on.
We are not going to pretend there is a native listing on a page you found by searching for one. This page is the exact setup, the exact field names, and the limits that will bite you.
TextSight is not currently listed in the Zapier app directory. A native listing would give you a searchable "TextSight" step with pre-filled fields. It does not exist today, and every page that claims one for a tool in this category is worth checking before you trust it.
What works instead: Webhooks by Zapier pointed at https://api.textsight.ai. The endpoints take plain JSON with a single auth header, so Zapier needs no special support to call them. You lose the pre-filled dropdowns; you keep every capability.
Two costs to know up front. Webhooks by Zapier is not on Zapier's Free plan: Zapier pricing lists Webhooks as not included on Free, and Zapier help lists it for Professional, Team and Enterprise (both checked 2 November 2026). And TextSight API keys are issued from Pro upward — Free and Starter accounts cannot create one.
| Detector | Native Zapier app? | Zapier actions |
|---|---|---|
| GPTZero | Yes — GPTZero: Detect AI | Scan Text, Scan File |
| Winston AI | Yes — Winston AI | Detect AI Content, Detect Plagiarism, Detect AI Image |
| Eden AI | Yes — Eden AI | AI Generated Content Detection (among many other AI actions) |
| TextSight | No | None. Use Webhooks by Zapier against /v2/detect, /v2/score or /v2/rewrite, as below. |
Zapier app pages checked 2 November 2026. Plan requirements for those apps were not stated on their pages; check them before you build. A Zapier Community thread from July 2026 also names Hastewire as having a native app, and suggests Webhooks for tools without one.
This is the detection flow. Swap one URL at the end and it becomes the rewrite flow.
Sign in at app.textsight.ai on Pro or above and create a key. It looks like sk_live_…. Treat it like a password: a Zap stores it in plain configuration, so use a key issued for automation rather than reusing one from another system. A key needs the scan scope for /v2/detect and /v2/score, and the humanize scope for /v2/rewrite.
In your Zap, add an action step, search for Webhooks by Zapier, and pick the Custom Request event. The POST event can set headers too, but it builds the body from key-value pairs; Custom Request sends the JSON you type exactly as entered, which keeps the preserve array for rewrites intact (see Zapier help).
Fill the fields exactly like this, mapping text to whatever your trigger produced — a Google Docs body, a form answer, a Slack message:
If your HTTP client makes bearer tokens awkward, x-api-key: sk_live_… is accepted instead. Nothing else changes.
Run the test. Zapier parses the JSON response and splits it into individually mappable fields — this is the step people skip, and skipping it is why later steps show no options to map. After a successful test you will see humanization_score, ai_probability, verdict and the rest in the field picker.
Add a Filter or Paths step. Filter on verdict exactly matching ai, or on ai_probability greater than 0.7. Without this, every item continues down the Zap and you have built a logger rather than a check.
From POST /v2/detect. These are the real response keys, so what you see here is what appears in Zapier's field picker.
| Field | Type | What it holds |
|---|---|---|
humanization_score | 0–100 | How human the text reads. Higher is more human. |
ai_probability | 0–1 | The inverse view, as a probability. Easiest field to filter on numerically. |
verdict | enum | human below 0.3, mixed from 0.3 to 0.7, ai at 0.7 and above. |
confidence | number | How settled the result is. Low confidence is a reason to route for human review rather than auto-act. |
reasoning | string | A short written explanation. Useful as the body of a Slack alert. |
sentences | array | Each entry has text, its own score, and a label of ai or human. |
model | string | Which engine produced the result. |
request_id | string | Log this. It is what support needs to trace a specific call. |
Need less? POST /v2/score returns only humanization_score, ai_probability, confidence and request_id. Same engine, smaller payload — a good default when you are only filtering on a number.
Point the action at https://api.textsight.ai/v2/rewrite and it humanizes instead of scoring.
| Body field | Accepts | Notes |
|---|---|---|
text | string | Required, at least 50 characters. Each call runs inside a fixed time budget; a rewrite that cannot finish returns temporarily_unavailable, so split long text into smaller calls. |
tone | conversational, professional, academic, blog, email | Defaults to professional if omitted or unrecognised. |
strength | 1–5 | 1–2 light, 3 balanced, 4–5 aggressive. |
preserve | array of strings | Locked verbatim through the rewrite. This is how you protect citations, client names, product SKUs and figures. |
{
"text": "{{trigger_field}}",
"tone": "blog",
"strength": 3,
"preserve": ["TextSight", "Q3 2026", "£4,200"]
}It returns rewritten plus a fresh humanization_score and ai_probability, and a score_reliable boolean. When score_reliable is false the rewrite is still valid but the scoring was degraded — branch on it and re-scan rather than trusting the number.
The preserve array is the field most people miss. A rewrite that quietly rephrases a quoted source or a legal figure is worse than no rewrite. Populate it.
Each is a trigger, a webhook, a filter, and a destination. None needs more than four steps.
Google Docs → TextSight → Slack
A new doc lands in a shared Drafts folder. Score it, filter on verdict equals ai, and post reasoning plus the score into the editorial channel. Reviewers see the flag before they spend time on the piece.
Forms → TextSight → Sheets
Guest posts, applications, support tickets. Score each entry with /v2/score and append humanization_score and request_id to a sheet. No filter — the value is the trend line, not the alert.
Airtable → TextSight → Airtable
A row moves to "Ready to publish". Send the body to /v2/rewrite with your brand terms in preserve, write rewritten back to the row, and store the new score alongside it for the audit trail.
Every one of these has caused a broken automation somewhere. Better here than in production.
A character cap per detection call, set by plan. 67,500 characters on Pro, 90,000 on Business and 135,000 on Enterprise. Longer input returns a text_too_long error — it is not silently truncated. A Zap handling long documents must split the text or stop and alert, otherwise you will record a score for a document that was never scored.
Rate limits are per account, not per key. 60 requests a minute on Pro, 120 on Business, 240 on Enterprise. Issuing extra keys does not raise the ceiling; it only lets you scope and revoke them separately. A bulk Zap looping over 500 rows will hit this — add a delay step.
A monthly call quota, also per account. 5,000 calls a month on Pro, 10,000 on Business and 50,000 on Enterprise, counted from the first of the month. Only successful calls count. Past the quota, calls return forbidden until the month rolls over, so a Zap that scores every new row should be sized against it.
Handle the error codes. You may get unauthorized for a missing or wrong key, forbidden past the monthly quota, invalid_request for a missing or empty text, text_too_long past the cap, rate_limited at the per-minute ceiling, detector_unavailable when the engine is degraded, and temporarily_unavailable when a rewrite runs out of time. A Zap that assumes success will write empty values into your sheet on every one of these.
Detection is English-language. The API says so in its own discovery response. Scores on non-English text are not reliable enough to automate against, and a Zap that routes rejections on one is making decisions it cannot support.
A score is evidence, not proof. No detector is 100% accurate. Automating a consequence — rejecting an application, failing a student, cancelling a contract — off a single score is the wrong use of this API. Automate the routing: flag it, surface it, and let a person decide. See where the detector is weakest.
Because there is nothing Zapier-specific in the request, every one of these runs the identical call. Check each one's own plan limits; we have only verified what is linked:
Make. The HTTP → Make a request module. Make's pricing page lists a Free plan with 1,000 credits a month (checked 2 November 2026).
n8n. The HTTP Request node. n8n Cloud is a paid plan with a free trial, and a self-hosted version is on GitHub (checked 2 November 2026) — the right answer when the text you are scoring cannot leave your infrastructure through a third-party SaaS.
Pipedream. Real code steps, so you can parse sentences properly instead of flattening it. Its pricing page labels Free plan usage as development only (checked 2 November 2026).
Google Apps Script. UrlFetchApp.fetch() covers Docs, Sheets and Gmail. The fastest route to scoring a column of drafts, with no third-party platform in the path at all.
No. There is no native listing today. The Webhooks by Zapier route above is the supported path, and it does the same job. We would rather document what works than list an app that does not exist.
For Zapier, yes — Zapier pricing lists Webhooks as not included on the Free plan, and Zapier help lists Webhooks by Zapier for Professional, Team and Enterprise (both checked 2 November 2026). Any other tool that can send an authenticated HTTP POST, such as Make, a self-hosted n8n or Google Apps Script, can make the same call.
Pro or above. Free and Starter cannot create API keys. Per-minute limits are 60, 120 and 240, and monthly call quotas 5,000, 10,000 and 50,000, on Pro, Business and Enterprise, both counted per account.
humanization_score, ai_probability, verdict, confidence, reasoning, a sentences array, model and request_id — all individually mappable once you have run the test.
For detection it depends on your plan: 67,500 characters per call on Pro, 90,000 on Business and 135,000 on Enterprise. Beyond that you get text_too_long rather than a truncated result. Rewriting needs at least 50 characters and runs inside a fixed time budget per call, so send long documents in smaller pieces rather than assume they were processed.
Checked on 2 November 2026: GPTZero (GPTZero: Detect AI, with Scan Text and Scan File), Winston AI (Detect AI Content, Detect Plagiarism and Detect AI Image) and Eden AI (AI Generated Content Detection) all have app pages on zapier.com — see the table above. TextSight does not, so it runs through Webhooks by Zapier instead. A native app saves setup; the webhook route exposes every field the API returns.
Yes — point the same action at /v2/rewrite. It takes text plus optional tone, strength and a preserve array that survives the rewrite verbatim, and returns the rewritten text with a fresh score.
All integrations — every surface TextSight ships, and honest status on the ones it does not.
AI detection API — what the detection endpoints return and which plans include them.
Best AI detector with an API — how the detector APIs compare, if you are still choosing one.
API documentation — full request and response shapes, error codes and worked examples.
AI humanizer API — what /v2/rewrite does to a draft and how it is scored afterwards.
Pricing — which tier issues keys, monthly and annual.
Detection limitations — required reading before you automate anything off a score.
API terms — the terms governing programmatic use.
Create an account, upgrade to Pro, issue a key, and paste it into a Webhooks step. The hardest part is deciding what to do with the score.