Almost every integration project has one awkward system in it. The CRM and the calendar have clean APIs, the payment provider has webhooks, and then there is the industry booking platform, the lead marketplace or the legacy portal that offers nothing at all. No API, no webhooks, no export you can schedule.
Teams usually respond in one of two ways: give up and keep copying data by hand, or reach for browser automation and hope. There is a more careful middle path, and it starts with a question most people skip.
First, look for the doors the platform already opened
Platforms without a public API still need to get data in and out, because their own customers ask for it. Before building anything clever, we check the ordinary features:
- Public forms the platform provides for your website, such as enquiry or request forms
- Email notifications that contain structured data you can parse
- Scheduled exports to email, FTP or cloud storage
- Official integrations with Zapier, Make.com or similar
- Calendar feeds (iCal) for bookings and availability
On a recent project the booking platform had no API for creating leads, but it did offer a public request form for websites. Posting to that form, exactly as a website visitor would, created the lead with no login, no session and nothing to expire. That is far more durable than scripting a login screen.
Prefer anything without a login
Integrations that depend on a stored session cookie or a scripted login are fragile by design. Sessions expire, passwords rotate, and a new bot check on the sign-in page can stop everything overnight. If the only route is through a login, we treat it as temporary and plan for official access, not as the foundation of the system.
■ Two ways into a platform with no API
□ By hand
- ·Store a staff login and replay the session
- ·Breaks when a password, 2FA prompt or session changes
- ·Failures can go unnoticed
■ Automated
- →Submit the platform's own public request form
- →Nothing to expire: no stored login
- →Success and failure responses mapped explicitly
Map what success and failure actually look like
Undocumented endpoints often report results in surprising ways. In the project above, a successful submission returned a redirect, while a failed one returned a normal page. An automation that simply follows redirects would have treated both as success and silently lost leads.
■ The real workflow
Answers new, returning and referral enquiries with AI-drafted replies. An approval mode in a sheet decides whether a reply goes straight out by text or email, or is parked while the owner approves it by SMS.
Rendered from the production workflow export. Labels anonymized; no data, credentials or settings included.
Read all 78 steps
- Webhook · Mail hook
- Tools · Test mode
- Tools · Test email
- Tools · Test phone
- Tools · Settings
- Google Sheets · Read approval mode
- Flow control · Collect
- Tools · Mode
- AI · AI: ask
- Flow control · Router
- HTTP · Get Lead Details
- Google Sheets · Search rows
- HTTP · Get Lead Details
- AI · AI: ask
- AI · Get the lead's actual message
- AI · AI: ask
- AI · AI: ask
- Google Sheets · Chat history
- HTTP · Submit Planner Request
- Tools · Wait
- Tools · Combine text
- AI · AI: ask
- Google Sheets · Add row
- Tools · FAQs
- JSON · Parse JSON
- HTTP · Submit Planner Request
- AI · AI: ask
- Mailchimp · Add or update subscriber
- JSON · Parse JSON
- JSON · Parse JSON
- Tools · Set variables
- AI · AI: ask
- Mailchimp · Add or update subscriber
- Tools · Wait
- Google Sheets · Chat history
- Google Drive · Search for files folders
- Tools · Combine text
- Google Drive · Get a file
- Tools · FAQs
- Flow control · Aggregate
- AI · AI: ask
- Flow control · Approval gate
- JSON · Parse JSON
- Google Sheets · Park for owner approval
- Flow control · Router
- AI · AI: ask
- Twilio · Text the owner
- Google Sheets · Search rows
- Google Sheets · Search rows
- Google Sheets · Search rows
- Google Sheets · Update row
- Gmail · Handoff: alert the owner
- Google Sheets · Find the lead's message row
- Flow control · Approval gate
- Gmail · Reply to email
- Gmail · Reply to email
- Gmail · Reply to email
- Google Drive · Venue guide: find
- Google Sheets · Start their conversation log
- Flow control · Router
- Google Sheets · Update row
- Google Sheets · Update row
- Google Sheets · Update row
- Google Drive · Venue guide: download
- Google Sheets · Park for owner approval
- Gmail · Send email
- Twilio · Send SMS
- Gmail · Handoff: alert the owner
- Flow control · Venue guide: collect
- Twilio · Text the owner
- Google Sheets · Add row
- Google Sheets · Add row
- Gmail · Venue guide: send
- Tools · Wait 5 minutes
- Google Sheets · Log message
- Google Sheets · Did they reply?
- Gmail · No reply after 5 min: email
- Google Sheets · Log the fallback email
- Webhook
- Google Sheets
- AI
- HTTP
- Mailchimp
- Twilio
- Gmail
- Google Drive
So we record real responses for both outcomes and make the automation check for the specific success signal. Anything else is treated as a failure and raises an alert.
Write down the settings that can break it
Workarounds often depend on configuration inside the other platform: an IP allowlist, a spam check that must stay off, a form that must not be edited. Those settings belong in the handover document, in plain language, with the symptom you would see if someone changed them.
A useful test: if the integration stopped tomorrow, would anyone notice before a customer did? If the answer is no, the monitoring is not finished.
Know when to escalate
Some routes are not worth defending. If the only path involves defeating a bot check, sharing personal credentials or breaking a platform's terms, the right move is to ask the vendor for API access, or to change the process around the tool. A reliable manual step is better than an automated one that fails without warning.
If you have a system like this in your stack, we can review your integrations and tell you which connections are durable and which are waiting to break.
■ What we build
Your existing tools, physically connected through one data layer.
