If you're building your own agent, you can now authenticate to MemHub with a personal access key instead of the interactive browser login a headless loop can't do. Mint one with a single API call, drop it in an environment variable, and point any MCP client — or a plain HTTP call — at MemHub as yourself.

A key acts as you, at one seat's throughput — so it's a teammate, not a firehose for a multi-tenant app. You can scope a key read-only, hold several at once (mint a new one and revoke the old to rotate without downtime), and revoke any of them instantly. It drives MemHub's own memory over the MCP server or the REST API, and can mint and manage your Memory API keys — read the guide.

As a team fills MemHub with brains, finding the right one shouldn't mean scrolling. The brains page now has stackable filters — narrow by who owns a brain, who it's shared with, its category or status, or when it was created or last updated — and sorts on any of those.

Lay them out however you work: a compact List, a Board of cards, or Sections grouped by folder, with drag-and-drop to move a brain into a folder right from the list. The layout you pick sticks between visits.

HubSpot

MemHub

If the context your team works from lives in HubSpot, your agents have been working without it. Connect a HubSpot account from Integrations and its Contacts, Companies, and Deals become something an agent can read in chat — and write back to — rather than something you paste in by hand.

Routines can use the CRM too — reads only, and opted into per routine rather than inherited, so a routine can't reach your CRM by accident.

Features9
  • Dark mode across Studio, the developer portal, and the changelog — follow your system theme or pin it light or dark.
  • Routines — create one by hand, with or without a brain to work against.
  • Routines — the pull-request trigger asks which repo, scoped to the workspace.
  • Docs render in-app at /docs, including a full personal-access-key API reference.
  • A repo-owned changelog at /changelog, backfilled to April.
  • What's new in the sidebar profile menu, flagging releases you haven't read.
  • Press C on Brains, Routines, or Skills to create one.
  • Installation guide — a tab per client, so the setup you copy matches the tool you use.
  • APIAPI keys — rotate a key in place: one call mints a new secret (keeping the key's name and owner) and revokes the old one, instead of recreate-then-revoke by hand.
Improvements8
  • Routines — filter on trigger type and enabled state, and sort on when each last ran.
  • Brains — a brain's updated time now reflects changes to what's inside it, not just edits to the brain itself.
  • MCP serverrecall_directives takes a session_id and holds back directives that same session just wrote, so an agent stops rediscovering its own output.
  • Per-turn conversation capture no longer shreds episode boundaries — a client can ship each turn as it happens and still get one coherent episode.
  • APIBilling — credit history filters by date range and carries totals.
  • APIRetrieval quality — self-echo filtering, anchor junk filtering, and anchor candidate selection.
  • APIexclude_conv_id on recall_facts_by_entities, to leave the current conversation out of its own recall.
  • APIAPI keys — a rotated key stays attributable to its owner; rotating a legacy ownerless key assigns it to whoever rotated it, so it's no longer admin-only to manage.
Fixes5
  • Chat — what the agent says it can do comes from its tool list, never from something it remembered.
  • Explore — the catalog no longer claims it's empty before the list has loaded.
  • Brains — creating a section says up front that sections are private.
  • MCP server — the 401 challenge advertises the MCP endpoint rather than the mount root, so clients retry against the right URL.
  • Docs — code blocks are readable in light mode.
Security2
  • APIAPI keys — fixed a bug where a revoked key kept authenticating; revocation now takes effect immediately rather than up to ten minutes later.
  • APIAPI keys — creating, revoking, and rotating a key now fail closed: a request that resolves no signed-in user is rejected rather than treated as an admin.