Lua/Honeycomb

Company Connections

Connect your company's CRM, Linear, and Slack from the Lua app so their records feed org-wide memory every member can query — and, optionally, so any agent can use them as a tool.

Company connections let an org admin wire a whole company's sources — your CRM, your Linear/Jira, your Slack — into the org in one click. Unlike a personal connection (scoped to the person who added it), a company connection is org-owned, and it can do two independent things:

  • Feed org memory — its records become shared memory every member can query, according to clear, per-source rules you control.
  • Be a tool any agent can use — turn on Agents can use this and any agent in the workspace can enable the source as a tool (e.g. read/update your CRM), acting through the one shared company connection.

Either capability can be on without the other — a source can feed memory only, be a tool only, or both. This is the point-and-click alternative to the webhook/API push described in Connectors & Webhooks — same destination, no configuration.

At a glance

  • Admin-only. Company connections live on the Tools page under the Company tab, visible only to org admins. (The Settings → Memory tab controls memory-feeding policy and links across to manage the connections.)
  • One click. Connect a source through its normal sign-in; it's marked company-owned automatically and starts feeding memory. No webhook setup, no API keys.
  • You choose what's company-wide. CRM and public channels feed the whole company; tickets ask first; private messages and DMs stay private. Nothing the source flags sensitive is ever widened.
  • Optionally a tool for every agent. Flip Agents can use this and the source becomes enable-able as a tool by any agent in the workspace.
  • Reversible, and you choose what happens to the memory. Disconnect a company source at any time; a prompt asks whether to also forget the memory it fed. Company sources keep that memory by default (it's org knowledge that outlives the connection) — forgetting is a deliberate opt-in.

Connect a company source

  1. Open the Tools page and select the Company tab (you'll see it only if you're an org admin).
  2. Under Available now, pick a source and choose Connect.
  3. Sign in to that source in the window that opens and approve access.
  4. That's it — the connection is company-owned and its records begin flowing into org memory within a minute.

Already-connected company sources are hidden from the list so you can't start a duplicate. A source only appears here if your workspace has it enabled for one-click connect.

What becomes company-wide

Each kind of source widens differently, so private content is never exposed by accident:

SourceWhat every member can queryWhat stays scoped
CRM (Lua CRM, Salesforce, HubSpot, …)All records — the shared book of business
SlackMessages in public channelsPrivate channels and DMs stay scoped to their members
Linear / Jira (tickets & tasks)Your choice at connect — see belowSensitive tickets are always kept private

Sensitive records are never widened. Whatever you choose, anything the source or Lua flags as sensitive (secrets, credentials, personal data) stays private.

Slack: channels, membership & privacy

Connecting Slack as a company source handles the channel plumbing for you:

  • Public channels are joined automatically. On connect, Lua adds itself to your workspace's public channels, so the whole company's public conversations flow into org memory without anyone inviting a bot channel by channel. New public channels are picked up as they're created.
  • Private channels flow when you invite Lua. Slack never lets an app add itself to a private channel — so a private channel only feeds memory once a member /invites Lua into it. That invite is the consent boundary.
  • Private-channel memory is scoped to the whole channel. A private channel's messages are readable in memory by every member of that channel — not just the person who sent them or was @mentioned. Lua reads the channel's roster and grants retrieval to exactly those people; if the roster can't be resolved it fails closed (author-only), never over-shares.
  • DMs and group DMs stay scoped to their participants.
  • Content is clean and attributed. Messages are stored as readable prose with real names (not raw U0123 ids), so recall and entity extraction are accurate.

The company-wide choice for tickets

Tickets can carry customer and reporter details, so when you connect Linear or Jira we ask before making them company-wide:

  • Make company-wide — every ticket becomes readable by all members in memory. Best for an internal engineering workspace where the whole team already shares the same boards.
  • Keep private — tickets stay readable by you, and visibility grows naturally as teammates connect their own Linear (each connection adds the access it can see).

You can change this later by reconnecting the source.

Coming soon: automatic team-aware scoping for Linear — a public team's tickets go company-wide, a private team's stay scoped to its members — so you won't have to choose. Until then, the choice above is how you control it.

Lua CRM: built in, zero setup

If your team runs on Lua CRM, there is nothing to wire up: it connects natively — no third-party sign-in, no webhook. The connection is company-owned from the start and appears in your connection lists as Lua CRM with the Lua logo. Records (deals, contacts, accounts, activities) push into company-wide memory as they are created or updated, joining the same shared book of business as any other CRM source.

Let agents use a company source as a tool

Feeding memory is separate from letting an agent act through a source. Each company connection has an Agents can use this toggle:

  • Off (default): the source feeds memory only. It never appears on any agent's tools.
  • On: the source is offered to the workspace. Any agent can then enable it from its own Tools page (under "From your company") and use it as a tool — for example, an agent connected to your company CRM can read or update records.

How it works and why it's safe:

  • Opt-in per agent. Turning the toggle on makes the source available; each agent still chooses to enable it. Nothing is forced onto an agent.
  • One shared account. Every agent acts through the single company connection, scoped to exactly the permissions you granted when you connected it — no agent gets more access than the connection itself has.
  • One switch to revoke. Turn Agents can use this back off and every agent that enabled it loses access at once.

Because it needs a shared account, this applies to shared-account sources (CRM, Linear/Jira, Slack) — not personal accounts like an individual's Gmail.

Manage & disconnect

The Company tab lists every company source, whether it's set company-wide, how many agents have enabled it as a tool, and who connected it.

Disconnecting a source stops ingestion and removes any agent tool access. It then asks what to do with the memory it already fed:

  • Keep memories (default for company sources). The knowledge stays queryable; only the live connection goes away. This is the right choice when you're re-plumbing a connection (for example, reconnecting the same source a different way) and don't want to lose company knowledge.
  • Also forget its memories. Permanently removes everything this connection added to memory. Shared ticket knowledge that other company connections also deliver still survives, because it's company-level knowledge that outlives any single connection.

How company memory stays fresh

Once connected, a company source keeps memory current automatically:

  • Edits update, they don't pile up. When a ticket's status changes or a CRM record is updated, memory versions the record — the latest is current, and time-scoped questions ("what was this ticket's status last week?") still answer correctly.
  • Deletes are honored. Delete a record at the source and it's removed from memory, along with everything derived from it.
  • No duplicates across connections. When two people's connections deliver the same ticket, it stays a single record readable by everyone who can see it — not a private copy per person.

See Ingesting Data for the record-level detail, and Spaces & Permissions for how memory decides who can read what.