Skip to content

πŸ”— CRM lead push β€” plus AI guardrails and encrypted chats

Choose a tag to compare

@chattermate chattermate released this 31 Jul 18:23
· 83 commits to main since this release
e2695ca

Released 2026-07-31

Captured leads now flow straight into your CRM, agents stay on your business's topics instead of being used as a free general-purpose AI, and chat content is encrypted at rest.

Highlights

CRM lead push β€” HubSpot & Pipedrive

  • Connect HubSpot or Pipedrive from Integrations with a one-click OAuth install; credentials are stored encrypted.
  • Leads captured in a conversation are pushed automatically, with the AI's conversation summary attached as a readable note rather than a wall of raw text.
  • A Sync to CRM action on the People drawer pushes any individual person on demand, including everything captured about them β€” not just their email.
  • Captured company names are linked to a Pipedrive organization, so the lead lands attached to the right account.
  • Syncing runs in its own worker, so a slow CRM never holds up a chat.

Guardrails for your AI agents

  • Every agent now carries a platform guardrail: it answers anything about your business, and declines when someone tries to use it as a general-purpose AI β€” homework, puzzles, algorithm problems, essays, unrelated translation.
  • The rule is editable per agent, because "off-topic" depends on the business. If yours is tutoring, coding education or copywriting, rewrite it so those requests get answered β€” or switch the scope rule off entirely.
  • Visitor messages are treated as data, never as instructions. Chat-template payloads are blocked before they ever reach the model; subtler attempts are answered normally and recorded.
  • Agents no longer disclose their own configuration, instructions or tool definitions.
  • Triggers are logged so you can see whether abuse is actually happening, and catch a rule that is refusing real customers.

Encrypted chat at rest

  • Chat message content is now encrypted in the database.
  • Self-hosted installs will no longer start with the shipped example encryption or auth secrets β€” set your own. This prevents a deployment silently running on keys that are public in the repository.

"AI can make mistakes" in the widget

  • A small disclosure line in the chat footer, on by default, and switchable off per agent under Chat Customization.
  • It disappears the moment a human agent takes the conversation over, because from that point it isn't true.

MCP tools that actually start

  • The backend image now ships Node and uv, so stdio-based MCP servers launch instead of failing on a missing runtime.
  • When an MCP tool fails, the error surfaces instead of disappearing β€” and connection credentials are no longer written to the logs.

Reliability

  • Agent runs are now bounded by a timeout (AGENT_RUN_TIMEOUT, default 90s) and terminate cleanly when they hit the tool-call limit, instead of hanging a conversation indefinitely. Transfer-to-human runs are bounded the same way.
  • A model turn that produces nothing no longer leaves the widget stuck on a typing indicator.
  • Groq answers are recovered when the model skips the structured-output tool.

Fixes

  • Widget: replies render markdown live as they stream, instead of arriving as plain text and reformatting at the end.
  • Widget: long code blocks scroll inside the message bubble instead of stretching the chat.
  • Widget: the inline handoff contact form fits without scrolling and stays inside the chat area.
  • Widget: a human taking over no longer ends the conversation; the header presence line stays readable on light designs.
  • Inbox: links in an agent's message bubble were invisible against the bubble colour.
  • Knowledge: an empty crawl now fails loudly instead of silently producing nothing, and linking or unlinking a source no longer 500s or leaves stale search filters behind.
  • Help center: article images now load reliably on both S3 and local-uploads deployments, and the add / edit FAQ forms now let you set a topic.
  • Self-hosted: runtime configuration is read consistently, and API URLs no longer end up with a doubled /api/v1.

Upgrading

Nine database migrations run automatically on start. All are additive β€” new tables and columns for CRM connections, guardrail events and the new agent settings β€” so a rollback of the code needs no rollback of the database. No configuration changes are required for existing cloud workspaces.

Self-hosted: set your own ENCRYPTION_KEY and auth secrets before upgrading β€” the backend now refuses to start on the public example values.

Existing chat history keeps working throughout: rows that are still plaintext are read as-is, and new content is written encrypted. To encrypt what is already stored, run backend/scripts/encrypt_chat_at_rest.py once after upgrading.