Integrations

Make (Integromat) + CaptchaAI: Visual CAPTCHA Automation

Make (formerly Integromat) is a visual automation platform that connects apps, APIs, and workflows without code. When your automated flows encounter CAPTCHAs — form submissions, data lookups, or web interactions — CaptchaAI can solve them through Make's HTTP module.

This guide walks through setting up a Make scenario that submits CAPTCHAs to CaptchaAI, polls for solutions, and uses the token in downstream actions.

Real-World Scenario

You have a Make scenario that:

  1. Receives a webhook trigger with a URL and reCAPTCHA sitekey
  2. Submits the CAPTCHA to CaptchaAI for solving
  3. Polls until the solution is ready
  4. Sends the solved token back via webhook or to the next module

This pattern works for form automation, data entry workflows, and any scenario where a CAPTCHA blocks the automated path.

Step 1: Create the Scenario

In Make, create a new scenario with these modules:

Module 1: Webhook Trigger (Custom Webhook)

Create a custom webhook that receives CAPTCHA solve requests:

Webhook data structure:

{
  "sitekey": "6Le-wvkSVVABCPBMRTvw0Q4Muexq1bi0DJwx_mJ-",
  "pageurl": "https://example.com/form",
  "captcha_type": "recaptcha_v2"
}

Set up the webhook in Make:

  1. Add a Webhooks > Custom webhook module
  2. Click Add to create a new webhook
  3. Copy the webhook URL
  4. Define the data structure with sitekey, pageurl, and captcha_type fields

Module 2: HTTP Request — Submit Task to CaptchaAI

Add an HTTP > Make a request module:

Field Value
URL https://ocr.captchaai.com/in.php
Method GET
Query String See below

Query String parameters:

Key Value
key Your CaptchaAI API key
method userrecaptcha
googlekey {{1.sitekey}} (mapped from webhook)
pageurl {{1.pageurl}} (mapped from webhook)
json 1

Parse response: Yes — set to JSON.

After this module runs, the response contains:

{
  "status": 1,
  "request": "TASK_ID_12345"
}

Module 3: Sleep Module

Add a Tools > Sleep module set to 15 seconds. This gives CaptchaAI time to solve the CAPTCHA before you start polling.

Module 4: HTTP Request — Poll for Result

Add another HTTP > Make a request module:

Field Value
URL https://ocr.captchaai.com/res.php
Method GET
Query String See below

Query String parameters:

Key Value
key Your CaptchaAI API key
action get
id {{2.data.request}} (task ID from Module 2)
json 1

Module 5: Router — Check Result

Add a Router after the polling module with two routes:

Route 1: CAPTCHA Solved (status = 1)

  • Filter condition: {{4.data.status}} equals 1
  • Continue to the next action (webhook response, database insert, etc.)

Route 2: Not Ready Yet (request = CAPCHA_NOT_READY)

  • Filter condition: {{4.data.request}} equals CAPCHA_NOT_READY
  • Connect back to Module 3 (Sleep) to create a polling loop

Step 2: Handle the Polling Loop

Make supports loops through the Repeater module or by connecting modules back to earlier stages:

  1. Add a Repeater module set to 10 iterations (max polling attempts)
  2. Inside the repeater, place the Sleep → Poll → Router sequence
  3. The router breaks out of the loop when status = 1

Alternatively, use the Flow Control > Repeater module:

Setting Value
Repeats 10
Initial value {{2.data.request}} (task ID)

Each iteration sleeps 5 seconds, polls CaptchaAI, and checks if the result is ready.

Step 3: Use the Solved Token

Once the CAPTCHA is solved, the token is available in {{4.data.request}}. Use it in subsequent modules:

Option A: Return via Webhook Response

Add a Webhooks > Webhook response module:

{
  "token": "{{4.data.request}}",
  "status": "solved"
}

Option B: Submit to a Form

Add an HTTP > Make a request module that submits the token to the target website's form endpoint:

Field Value
URL Target form action URL
Method POST
Body Form data including g-recaptcha-response: {{4.data.request}}

Option C: Store in a Database

Add a Google Sheets, Airtable, or Database module to log the solve for tracking.

Error Handling

Configure error handlers on the HTTP modules:

  1. Module 2 errors (submit failed): Check for ERROR_ZERO_BALANCE (top up account) or ERROR_WRONG_USER_KEY (fix API key).
  2. Module 4 errors (poll failed): Check for ERROR_CAPTCHA_UNSOLVABLE (verify sitekey and pageurl) or network errors (retry).
  3. Timeout: If the repeater exhausts all iterations without solving, route to an error handler that logs the failure.

In Make, add error handlers by right-clicking a module → Add error handler → choose Resume (skip and continue) or Rollback (abort scenario).

Complete Scenario Flow

[Webhook Trigger]
      ↓
[HTTP: Submit to CaptchaAI in.php]
      ↓
[Sleep: 15 seconds]
      ↓
[Repeater: 10 iterations]
    ↓ (each iteration)
    [Sleep: 5 seconds]
    [HTTP: Poll CaptchaAI res.php]
    [Router]
      Route 1 (solved) → [Use Token] → [Webhook Response]
      Route 2 (not ready) → continue loop
      Route 3 (error) → [Error Handler]

Troubleshooting

Problem Cause Fix
Webhook not triggering URL not registered Verify webhook URL is active in Make
ERROR_WRONG_USER_KEY Invalid API key format Check API key is 32 characters, no extra spaces
Polling loop never resolves Sleep too short or wrong task ID Verify task ID mapping; increase sleep to 10 seconds
Scenario timeout Make's execution time limit (5 min on free plan) Upgrade plan or reduce polling interval
JSON parse error Response not parsed as JSON Enable "Parse response" on HTTP module; set json=1 in requests

FAQ

How much does this cost?

Make pricing is based on operations. Each HTTP request and module execution counts as one operation. A typical CAPTCHA solve uses 5-15 operations (submit + sleep + 3-10 polls + result handling).

Can I solve Cloudflare Turnstile with Make?

Yes. Change the method parameter to turnstile and use sitekey instead of googlekey in the submit request.

Is there a Make app/module for CaptchaAI?

Not currently. Use the HTTP module with direct API calls as shown in this guide. This gives you full control over parameters and error handling.

Can I process multiple CAPTCHAs in parallel?

Yes. Set the scenario to process webhook events in parallel (Operations → Allow storing of incomplete executions → Yes). Each webhook trigger runs its own solve cycle.

Next Steps

Start automating CAPTCHA solving in Make — get your CaptchaAI API key and build your first scenario.

Related guides:

Discussions (0)

No comments yet.

Related Posts

Explainers reCAPTCHA v2 Invisible: Trigger Detection and Solving
Detect and solve re CAPTCHA v 2 Invisible challenges with Captcha AI — identify triggers, extract parameters, and handle auto-invoked CAPTCHAs.

Detect and solve re CAPTCHA v 2 Invisible challenges with Captcha AI — identify triggers, extract parameters,...

Automation Python reCAPTCHA v2
Apr 07, 2026
Reference CAPTCHA Token Injection Methods Reference
Complete reference for injecting solved CAPTCHA tokens into web pages.

Complete reference for injecting solved CAPTCHA tokens into web pages. Covers re CAPTCHA, Turnstile, and Cloud...

Automation Python reCAPTCHA v2
Apr 08, 2026
Tutorials Pytest Fixtures for CaptchaAI API Testing
Build reusable pytest fixtures to test CAPTCHA-solving workflows with Captcha AI.

Build reusable pytest fixtures to test CAPTCHA-solving workflows with Captcha AI. Covers mocking, live integra...

Automation Python reCAPTCHA v2
Apr 08, 2026
API Tutorials How to Solve reCAPTCHA v2 Enterprise with Python
Solve re CAPTCHA v 2 Enterprise using Python and Captcha AI API.

Solve re CAPTCHA v 2 Enterprise using Python and Captcha AI API. Complete guide with sitekey extraction, task...

Automation Python reCAPTCHA v2
Apr 08, 2026
Tutorials CAPTCHA Solving Fallback Chains
Implement fallback chains for CAPTCHA solving with Captcha AI.

Implement fallback chains for CAPTCHA solving with Captcha AI. Cascade through solver methods, proxy pools, an...

Automation Python reCAPTCHA v2
Apr 06, 2026
Use Cases Multi-Step Workflow Automation with CaptchaAI
Manage workflows across multiple accounts on CAPTCHA-protected platforms — , action, and data collection at scale.

Manage workflows across multiple accounts on CAPTCHA-protected platforms — , action, and data collection at sc...

Automation Python reCAPTCHA v2
Apr 06, 2026
Integrations Scrapy + CaptchaAI Integration Guide
Integrate Captcha AI into Scrapy spiders to automatically solve CAPTCHAs during web crawling with middleware and signal handlers.

Integrate Captcha AI into Scrapy spiders to automatically solve CAPTCHAs during web crawling with middleware a...

Automation reCAPTCHA v2 Scrapy
Jan 27, 2026
Troubleshooting ERROR_PAGEURL: URL Mismatch Troubleshooting Guide
Fix ERROR_PAGEURL when using Captcha AI.

Fix ERROR_PAGEURL when using Captcha AI. Diagnose URL mismatch issues, handle redirects, SPAs, and dynamic URL...

Automation Python reCAPTCHA v2
Mar 23, 2026
API Tutorials Solving CAPTCHAs with Kotlin and CaptchaAI API
Complete guide to solving re CAPTCHA, Turnstile, and image CAPTCHAs in Kotlin using Captcha AI's HTTP API with Ok Http, Ktor client, and coroutines.

Complete guide to solving re CAPTCHA, Turnstile, and image CAPTCHAs in Kotlin using Captcha AI's HTTP API with...

Automation reCAPTCHA v2 Cloudflare Turnstile
Mar 06, 2026
Integrations Axios + CaptchaAI: Solve CAPTCHAs Without a Browser
Use Axios and Captcha AI to solve re CAPTCHA, Turnstile, and image CAPTCHAs in Node.js without launching a browser.

Use Axios and Captcha AI to solve re CAPTCHA, Turnstile, and image CAPTCHAs in Node.js without launching a bro...

Automation All CAPTCHA Types
Apr 08, 2026
Integrations Puppeteer Stealth + CaptchaAI: Reliable Browser Automation
Standard Puppeteer gets detected immediately by anti-bot systems.

Standard Puppeteer gets detected immediately by anti-bot systems. `puppeteer-extra-plugin-stealth` patches the...

Automation reCAPTCHA v2 Cloudflare Turnstile
Apr 05, 2026
Integrations Scrapy Spider Middleware for CaptchaAI: Advanced Patterns
Build advanced Scrapy middleware for automatic Captcha AI CAPTCHA solving.

Build advanced Scrapy middleware for automatic Captcha AI CAPTCHA solving. Downloader middleware, signal handl...

Python reCAPTCHA v2 Web Scraping
Apr 04, 2026