All twins

HubSpot

live · conformance passing

Models the HubSpot CRM an agent actually calls: contacts, companies, deals, notes and tasks with string-typed properties, v4 associations in both directions, batch writes that can answer 207, a duplicate contact that names the record it collided with, and a search index that only catches up when the sandbox advances.

Category
CRM
Sandbox key
pat-na1-…
Verified against
hubspot-api-client 12.0.0, github.com/HubSpot/HubSpot-public-api-spec-collection v3+v4
Replaces
A shared HubSpot portal, or testing against production

Scenarios

Start a sandbox in one of these, or describe the state you want in a sentence and the seeder writes the records it implies.

  • Search index lagging

    Contacts that exist and are not yet returned by search, so the create-then-search sequence fails until the sandbox is advanced.

  • CRM with a pipeline

    Companies, the people at them, and deals spread across the stages of two real deal pipelines.

  • Paged contacts

    More contacts than two pages hold, so paging.next.after traversal runs against the real page size.

  • Throttled

    Every call the operator's token makes is rate limited.

  • Missing scope

    A token that may read contacts and nothing else, so every other call is refused for missing scopes.

  • Duplicate contact

    A contact whose email address a create will collide with, answered 409 naming the existing record.

  • Archived contact

    A soft-deleted contact, so the 404-versus-archived=true branch runs.

What it models

Records your code can read, write and edit for the life of the sandbox. A route the twin does not model returns a provider-shaped refusal rather than a plausible response.

  • contacts
  • companies
  • deals
  • notes
  • tasks
  • associations
  • properties
  • pipelines
  • stages
  • owners

Verified in CI against

  • pythonhubspot-api-client12.0.0
  • openapigithub.com/HubSpot/HubSpot-public-api-spec-collectionv3+v4

Live · console.twinbay.ai

Start with one base URL.

Create a sandbox, describe the state you want it in, and point your existing SDK at the hostname it gives you. The sandbox logs each request your agent makes, and you can edit any record it holds.

Start building

A sandbox in under a minute, no card required. Twinbay is free for academic researchers.