All twins

Service twin · API only

HubSpot

Test sales and support agents that update CRM records, move deals, and manage customer workflows.

API onlyspec-groundedREST · MCP · CLI
Terminal
$ uv tool install blobfish-cli
$ blobfish twin login
$ blobfish twin-runs create --twins hubspot --ttl 60 --wait

What’s inside

A deterministic, seeded, resettable replica: every operation below executes real state transitions against the twin’s own SQLite state — reads are hash-invariant, writes produce inspectable diffs, and reset restores the seed baseline.

Operations28
Reads13
Writes15
Entities7
Lifecycles3

Seeded entities

EntityTableFieldsAbout
ownerowners6CRM owner (rep) that records are assigned to.
companycompanies10Company record moving through the marketing-to-customer lifecycle.
contactcontacts9Person at a company with a consent-aware qualification lifecycle.
pipelinepipelines5Ordered pipeline a CRM object type moves through.
pipeline_stagepipeline_stages6One stage of a pipeline with its win probability.
dealdeals13Revenue deal tied to a company, pipeline stage, and owner.
engagementengagements9Logged activity (call, email, meeting, note, task) against a contact or deal.

Guarded lifecycles

These state machines are enforced, not decorative: an action whose fromstate doesn’t match is rejected the way the production service rejects it.

company.lifecycle_stage

lead → marketing_qualified → sales_qualified → opportunity → customer → evangelist

contact.lifecycle_stage

subscriber → lead → marketing_qualified → sales_qualified → customer
  • qualify: lead|marketing_qualified sales_qualified

deal.status

open → won → lost
  • win: open won
  • lose: open lost

Three surfaces, one state

Mount HubSpot in a twin environment and the same seeded state serves vendor-shaped REST operations, an MCP endpoint for tool calling, and a generated bf-twin CLI — with copy-on-write sessions per rollout and a one-call reset to the seed baseline. Prefer raw HTTP? The same create works with curl:

API
$ curl -sS -X POST https://blobfish.ai/api/v1/twin/environments \
    -H "X-API-Key: $BLOBFISH_API_KEY" -H "Content-Type: application/json" \
    -d '{"services":["hubspot"],"ttl_minutes":60}'

Known limitations

Spec-grounded surface with synthetic seeded values; operations outside the spec are not mounted.