Hey Bubble community ![]()
Wanted to share a project I built for the recent Bubble x Contra challenge. Posting it here as a showcase, since the build itself might be useful to others exploring AI integrations on Bubble.
What it is:
Trawl is an AI lead research app. Users chat with Trawly, the built-in AI agent, to find local business leads from Google Maps, save them to a database, and generate cold outreach drafts per lead.
A typical interaction looks like this: a user types βfind me dentists in Austin,β Trawly fires off a scrape, tells them itβll be ready in a couple minutes, and once leads land in the database, the user can browse, filter, and generate drafts from the dashboard.
Core features:
-> Chat-first AI agent with three tools: trigger a scrape, query saved leads, recall past conversations.
-> Dashboard with a filterable, exportable leads table. β Per-lead outreach draft generation with selectable tone and offer.
-> Conversation memory across sessions. β Freemium model. 20 lead credits/month free, paid plan with higher limits next.
The stack:
Bubble for the frontend, database, auth, and dashboard. n8n for AI agent orchestration and tool routing. Apify for the Google Maps scraping. Claude as the agentβs brain.
The interesting part for Bubble builders:
The agent lives entirely outside Bubble in n8n, and Bubble talks to it through the API Connector. Leads get written back to Bubble via the Data API. This means Bubble stays clean and fast, and all the heavy AI logic stays in a place built for orchestration.
For anyone trying to add real AI agent functionality to a Bubble app, this architecture works well: Bubble handles the user-facing app, n8n handles the brain, and they communicate over standard webhooks and the Data API. No plugins required.
#n8n #contra #apify