- Feeds sync documents from a source system into an index so Circuit can search them. Once a feed is running, the documents are copies in Circuit. Your agent reads them during chats the same way it reads any other indexed document.
- Agent tools let an agent reach into an external system while a chat is happening to read or write live data: look up a Salesforce account, draft an email in Outlook, pull a record from Dynamics, find a file in Google Drive. Nothing is copied into an index. The agent makes the call at the moment the user asks.
Feeds
Feeds connect your indexes to external document sources and keep them synchronized. Instead of manually uploading documents, you can set up a feed that automatically imports and updates content from your existing systems. If you are an IT or security reviewer evaluating Circuit before users connect, start with Integration security and admin consent.At a glance
| Integration | Type | Authenticates with | Reads | Writes |
|---|---|---|---|---|
| Azure Blob Storage | Feed | Shared key | Blob containers | None |
| Bluebeam | Agent tool | OAuth | Projects, documents, sessions | Annotations, Studio sessions |
| Confluence | Feed | OAuth (Atlassian) | Spaces and pages | None |
| GitHub | Feed | Personal access token | Repository contents | None |
| Google Drive | Feed | OAuth (Google) | Files in My Drive and shared drives | None |
| Google Workspace | Agent tool | OAuth (Google) | Gmail, Calendar, Contacts | Gmail drafts |
| HubSpot | Agent tool | Private app token | None | Transactional emails |
| HubSpot Forms | Feed | Private app token | Form submissions | None |
| Microsoft Dynamics 365 | Agent tool | OAuth (Entra) | Entities | Entities |
| Microsoft Outlook | Agent tool | OAuth (Entra) | Mail (including shared mailboxes) | Drafts only |
| Notion | Feed | OAuth (Notion) | Pages and databases you share | None |
| OneDrive | Feed | OAuth (Entra) | Files you select | None |
| RSS | Feed | None | Public feed contents | None |
| Salesforce | Agent tool | OAuth with PKCE | Records, schema | Records |
| SharePoint | Feed | OAuth (Entra) | Sites the admin authorizes | None |
| Slack | Agent tool | Bot token | None | Messages to channels and threads |
All integrations
Azure Blob Storage
Feed · Sync documents from blob containers.
Bluebeam
Agent tool · Read projects and documents, manage annotations and Studio sessions.
Confluence
Feed · Sync pages from Confluence spaces.
GitHub
Feed · Sync repository contents and documentation.
Google Drive
Feed · Sync documents from My Drive and shared drives.
Google Workspace
Agent tool · Read Gmail and Calendar, draft Gmail replies, look up contacts.
HubSpot
Agent tool · Send transactional emails from a HubSpot template.
HubSpot Forms
Feed · Sync form submissions as documents.
Microsoft Dynamics 365
Agent tool · Read and update Dynamics records.
Microsoft Outlook
Agent tool · Read mail and draft replies.
Notion
Feed · Sync pages and databases you share with Circuit.
OneDrive
Feed · Sync documents from a user’s OneDrive.
RSS
Feed · Sync content from any public RSS or Atom feed.
Salesforce
Agent tool · Query, create, and update records. Production and sandbox.
SharePoint
Feed · Sync documents from SharePoint sites and libraries.
Slack
Agent tool · Post messages to channels and threads.
How feeds work
When you connect a feed to an index:- Initial import: Circuit imports all documents from the configured source.
- Ongoing updates: Circuit periodically checks for changes and re-imports updated documents.
- Deletions: If a document is removed from the source, it is removed from the index on the next update.
Setting up a feed
Choose the source
Navigate to your index and open its Integrations tab. Each feed appears as a row with a status badge: Active (green) when syncing normally, or a yellow badge such as Error or Paused when attention is needed. Hover the badge to see the reason.
Authenticate
Connect Circuit to your external system using OAuth or an API token, depending on the source.
Select content
Choose which spaces, folders, or pages to import. You can sync an entire workspace or select specific areas.
Feed best practices
- Be selective: Sync the folders, spaces, or repositories that contain relevant, current content. Indexing your entire cloud storage usually hurts quality.
- Organize at the source: Feeds reflect the structure they pull from. A clean source produces a clean index.
- Monitor feed health: Check periodically that feeds are syncing successfully. Some integrations require occasional reconnection if a user’s permissions change.
- Avoid duplicates: If the same content lives in multiple feeds or is also uploaded manually, agents may surface duplicate results.
Feed update frequency depends on your plan and configuration. Changes in the source typically appear in Circuit within a few hours.
Agent tools
Agent tools give an agent a live connection to an external system so it can read or write data during a chat. When an agent has an available tool, users can ask things like “show me open opportunities for Acme in Salesforce” or “draft a reply to the latest email from sarah@example.com” and the agent queries the system and responds with current data.When do they run? Agent tools run at chat time: an agent uses them on demand while talking to a user, like sending one Slack message or writing one Salesforce record. Feeds run ahead of time on a sync schedule: they bring external content into an index so agents can search it any time. The HubSpot pair illustrates the split: HubSpot (agent tool) sends transactional emails at chat time; HubSpot Forms (feed) imports past form submissions into an index ahead of time.
- Per user (Connected Accounts on your profile): each user connects their own account. The agent uses the signed-in user’s credentials and only sees what that user already has permission to see. This is the default for most integrations.
- Per agent (Integrations tab in the agent editor): an administrator attaches shared credentials to a specific agent. The agent uses the same credentials for every user. Currently this path is used for HubSpot.
Connected accounts (per user)
Each user connects their own external accounts from their profile. Go to your profile and find the Connected Accounts section. Supported providers include Salesforce, Microsoft Dynamics, Microsoft Outlook, Google Workspace, and Bluebeam. Each provider appears as a row with a short description (“Connect your Salesforce account to access customer data”). To connect:Click Connect
The button reads Connect when the account isn’t linked yet. It changes to Connecting… while you’re being redirected.
Sign in with the provider
Circuit opens the provider’s sign-in page (Salesforce, Microsoft, Google) and asks you to approve access. Follow the provider’s normal consent flow.
Review the connection
After consenting, you return to your profile. The row now shows your signed-in email (“Connected as sarah@example.com”) and a Disconnect button.
Disconnecting an account from your profile revokes Circuit’s access on the next attempt. Ongoing chats will see the tool fail; new chats will behave as if the integration is unavailable until you reconnect.
Per-agent integrations
Some integrations are configured on a specific agent instead of per-user, so every user of that agent shares the same connection. Open the agent in the admin console and select the Integrations tab. The fields shown depend on the provider. For HubSpot, the form exposes:- HubSpot Access Token: a private-app access token from your HubSpot account.
- HubSpot Email ID: the email address Circuit will impersonate when making calls (typically a shared integration user).
How agent tools differ from feeds
| Feed | Agent tool | |
|---|---|---|
| What it does | Copies documents from a source into an index | Calls the source system live during a chat |
| Where data lives | Inside a Circuit index | Stays in the source system |
| When data is read | On sync, then searched from the index | At the moment the user asks |
| Best for | Static reference material (catalogs, manuals, policies) | Live records that change often (opportunities, tickets, emails, calendar) |
| Configured on | An index | A user profile or an agent |
Best practices for agent tools
- Prefer per-user connections when possible. They inherit the user’s permissions, which keeps data access aligned with what each person is already allowed to see.
- Document what the agent will do. If an agent has write access (for example, can draft Outlook emails), make this explicit in the agent’s description so users aren’t surprised.
- Rotate shared credentials regularly. Per-agent tokens don’t expire on their own. Refresh them on whatever cadence your security policy requires.
- Use groups to scope access. Per-agent integrations apply to every user of the agent; if only part of the team should have that power, share the agent with a group rather than the whole workspace.