Skip to content
Scalpels home

Scalpels is officially launching on October 31, 2026. Special early adopter pricing is available now.

← All documentation

Documentation

Bobbin

Getting started

Updated

This page takes you from an empty Laravel Cloud account to a running Bobbin with a first captured and replayed request.

Install through Scalpels

Connect GitHub and Laravel Cloud to your Scalpels team, then open Catalog, choose Bobbin and select View requirements. The general flow is described in Install a product. Installing Bobbin needs the Supporter tier or a partner team, because Bobbin is Experimental.

Bobbin's manifest asks for:

Item What Scalpels provisions Why Bobbin needs it
PHP 8.5 The runtime the app is deployed on.
Database Neon serverless Postgres 18 Stores endpoints, captures, destinations, delivery history, users and the queue's lock records.
Managed queue One managed queue Runs replay deliveries.
Scheduler Enabled Runs the daily retention cleanup and the replay redispatch check. See Configuration.
Post-deploy php artisan migrate --force Creates Bobbin's schema and its single team.

There is no object storage and no cache: capture bodies are stored in the database. There is no build step.

Bobbin declares no environment keys, so the install screen asks you for nothing. Laravel Cloud supplies the database and queue settings when it attaches those resources. Do not add your own database, cache or queue variables to the environment; they would shadow the values Cloud injects.

When the deployment finishes, request https://<your-host>/up. A 200 response means the app is running.

Create the first user

Create the Owner account with Built for Cloud's administration command. For a local installation, run:

php artisan create-admin --local

For a Laravel Cloud installation, target the deployed environment:

php artisan create-admin --environment=<cloud-environment>

Then sign in at /bfc/login. Bobbin enrols the authenticated account into this installation's team on its first successful sign-in, so no Tinker command or manual database update is required.

To add another operator, run create-admin again with --force, then have that account sign in. Bobbin enrols each successfully authenticated account into the same installation team.

If a user who was already signed in before this fix still receives 403, sign out and sign back in once to complete enrolment.

Capture your first request

  1. Sign in at https://<your-host>/bfc/login. You land on the endpoint list.

  2. Select New endpoint, give it a name such as Billing events, and select Create endpoint.

  3. Copy the Capture URL shown on the endpoint page. It looks like https://<your-host>/hooks/<public-id>.

  4. Send it a request:

    curl -i -X POST 'https://<your-host>/hooks/<public-id>?source=docs' \
      -H 'Content-Type: application/json' \
      --data '{"event":"example"}'
    

    Bobbin answers 204 No Content once the request is stored.

  5. Select View captures and open the capture to see its query string, headers and body.

Replay it

  1. On the endpoint page, select Security settings, enter a public HTTP or HTTPS Destination URL, and select Save destination.
  2. Open the capture and select Queue replay.
  3. Watch Delivery history on the same page. The delivery moves from queued to running to succeeded when the destination answers with a 2xx status.

Next, read Capturing webhooks and Replaying captures for the details.