Add custom code to your Bubble app. Buildprint builds it, hosts it and plugs it into your app.

Extensions are websites and API endpoints that run next to your Bubble app, with their own database, file storage and secrets.

SM

Create an endpoint that receives Stripe webhooks, verifies them, and marks the order as paid in Bubble.

I need your Stripe signing secret. It stays on the server.

STRIPE_WEBHOOK_SECRETSaved for test

Published stripe-webhook

stripe-webhook

Verifies Stripe events and marks the order as paid in Bubble.

Extension URLPublished just now
acme-store.buildprintusercontent.com/stripe-webhook/a41f9c2/test/
DatabaseLiveTest

Build the parts that are slow or hard in Bubble. Ask for a webhook, an API or a whole website.

Describe the result you want. Buildprint Agent picks the structure, asks for anything it needs, and gives you a URL to use from your app.

Take Stripe webhooks

Check each event's signature and mark the order as paid in your Bubble app.

stripe-webhook/worker.ts
export default {
async fetch(request: Request, env: Env) {
const event = await verifyStripe(request, env.STRIPE_WEBHOOK_SECRET);
if (event.type === "checkout.session.completed") {
await markOrderPaid(event.data.object.metadata.order_id, env);
}
return new Response("ok");
},
};

Rate limit checkout

Stop people guessing discount codes, without filling your Bubble database.

discount-limiter3 tries a minute
  • POST/check?code=SUMMER10200
  • POST/check?code=SUMMER11200
  • POST/check?code=SUMMER12200
  • POST/check?code=SUMMER13429
  • POST/check?code=SUMMER14429

Give customers a portal

A site where customers see their orders and update their details.

acme-store.buildprintusercontent.com/portal
Your orders
  • #1042£86.40Paid
  • #1038£24.00Shipped
  • #1031£112.50Shipped

Handle big files

Take large uploads and build data exports, kept in the Extension's own file storage.

StorageLive
  • exports/orders-2026-10.csv4.2 MB
  • exports/customers-2026-10.csv1.8 MB
  • uploads/product-demo.mp4640 MB

Each Extension can have a database, file storage and secrets. Trying a change never touches real data.

  • Test and live are separate

    Each has its own data. Agent works on test, and checks with you before changing live data.

  • Agent asks for your keys

    Agent asks for API keys and tokens through a secure prompt, and sets them for test, live or both.

  • Secrets stay on the server

    Only server code can read them. They're never sent to a visitor's browser.

  • Deletes can be undone

    Data and files are kept for 30 days after you delete an Extension, so Agent can bring them back.

Resources
  • DatabaseLiveTest
  • StorageLiveTest
Environment variables
  • STRIPE_WEBHOOK_SECRETTest
  • STRIPE_WEBHOOK_SECRETLive
  • BUBBLE_API_TOKENTest
  • BUBBLE_API_TOKENLive

Every publish gets its own URL. Test runs the new code while live keeps the old.

A new publish never changes an older URL, and both keep their data. Tell Agent where you're using the Extension and it picks the right one.

Ship to live when you're ready

See what's on test and what's on live, and who published each version.

Deployments
  • c93e1b7TestRetry when Bubble is slow to answer
  • a41f9c2LiveVerify Stripe signatures
  • 7d20e58First version
Published atacme-store.buildprintusercontent.com

See how it's running

Every Extension shows its requests, errors and response times, with logs from the last 24 hours.

TrafficView logs
1,023
Requests
0.2%
Error rate
38 ms
p50
142 ms
p95

Common questions, answered.

Do I need to know how to code?

No. Tell Buildprint Agent what you want. It writes the code, sets up the database and storage, and publishes it.

How does my Bubble app use an Extension?

Every Extension has a URL. Call it from the API Connector, point a service like Stripe at it, or link to it from a page. Agent gives you the test or live URL depending on where you'll use it.

Can anyone call my Extension?

Extension URLs are public unless the Extension checks who's calling. For private data or protected actions, ask Agent to add authentication.

Can I use my own domain?

Extensions are published on a buildprintusercontent.com subdomain. You can change it to your project's name, and it applies to every Extension in the project.

How much does it cost?

Extension use is charged at Cloudflare's list prices, and paid plans include $5 a month of usage. Most projects never go over it. See the pricing table.

Build the part Bubble can't. Describe it, and Agent publishes it.

Connect your Bubble app, then ask Buildprint Agent for the webhook, API or site you need.