# Code Execution & File Creation
Source: https://docs.cassidyai.com/agents/advanced/code-execution-file-creation
Control whether Agents can analyze data, generate files, and process large connector results by writing and running code.
**Code Execution & File Creation** lets an [Agent](/agents/overview) write and run code when a request needs more than a normal text response. Agents use it to analyze spreadsheets, generate charts, create downloadable files, and work with large results from [Connectors](/agents/connectors/overview) or [Workflows](/workflows/overview).
New custom Agents have **Code Execution & File Creation** enabled by default.
If you're looking for Data Analysis, it has moved into this setting. Data
analysis is one of the main things Code Execution & File Creation enables.
## What it enables
When this setting is on, your Agent can:
* Analyze CSVs, spreadsheets, and structured files
* Create charts, summaries, and calculations from data
* Generate downloadable documents, spreadsheets, presentations, and PDFs
* Read large Connector or Workflow results that would otherwise be cut off
* Work with files attached in Chat or referenced from the [Knowledge Base](/knowledge-base/overview)
## Check or change the setting
Go to **Agents**, find the Agent you want to configure, click the **⋯** menu, and select **Edit**.
In the **Customize** section, expand **Advanced Settings**.
Use the **Code Execution & File Creation** toggle.
Click **Publish** to save the setting.
## Internet access
Organization admins can also control whether code execution can access the internet while processing files or installing packages. See [Control code execution and file creation internet access](/settings/code-sandbox).
## Related
Ask Agents to analyze spreadsheets, CSVs, and structured files.
Generate documents, spreadsheets, presentations, and reports.
Use Code Execution & File Creation inside Generate Text actions.
# Configure data retention
Source: https://docs.cassidyai.com/agents/advanced/data-retention
Control how long an Agent's chat history is stored to meet your organization's data governance requirements.
Chat retention settings let you control how long conversation history is stored for an [Agent](/agents/overview). This helps you manage data storage and comply with your organization's data governance policies.
Agent chat retention is an **Enterprise-only** feature. [Contact our sales
team](https://www.cassidyai.com/demo) to learn more about upgrading to
Enterprise access.
## Required privilege
Viewing and editing an Agent's chat retention settings requires the **Manage
Agent Data Retention** admin privilege. Org Admins have this privilege by
default. To grant it to other team members without full Admin access, add it
to a [custom role](/settings/roles-and-groups). Saving changes or deleting
chat history also requires edit access to that specific Agent.
## Set a retention policy
Navigate to the Agent you want to configure and click the **...** menu.
Select **Data Retention**. If you also have Agent export access, you'll find it nested under **Advanced** instead.
In the **Update Data Retention Period** dialog, select from the available options:
* **Forever** -- chat history is retained indefinitely, or until you manually delete it. This is the default for every Agent.
* **Custom** -- specify a retention period based on your needs.
If you selected **Custom**, enter the retention duration (e.g., `30`) in the **Period** field and select the unit from the dropdown: **Hours**, **Days**, **Weeks**, **Months**, or **Years**. The minimum period is 1 hour.
Click **Save** to apply the retention settings. Cassidy automatically deletes chat history older than the configured period, for every user who has chatted with this Agent.
## Manually delete chat history
You can delete all existing chat history for an Agent at any time, regardless of the retention setting.
Follow the steps above to navigate to the **Data Retention** settings for your Agent.
Click **Delete Agent Chat History**, then click **Delete** again to confirm.
Deleting chat history -- whether by retention policy or manual deletion --
removes it for every user who has chatted with the Agent, and it cannot be
recovered. Make sure your settings align with your organization's data
governance requirements before configuring retention.
## Next steps
Grant the Manage Agent Data Retention privilege to a custom role.
Learn about SSO, SAML, RBAC, and other enterprise controls.
# Build and configure an Agent
Source: https://docs.cassidyai.com/agents/build-and-configure
Create your first Agent, configure instructions, tools, and brand voice — manually or with the Agent Copilot.
Build a custom AI Agent tailored to your team's needs — whether from a plain-language description, a template, or a blank slate. Once created, you can configure every aspect of your Agent manually or use the [Agent Copilot](#use-the-agent-copilot) to do it with plain language.
## Create a new Agent
Navigate to the **Agents** page and click **+ New Agent** in the top right corner.
Select one of four options:
* **Custom Agent** — Describe your desired Agent in plain language and Cassidy generates it based on your description.
* **Create Blank Agent** — Start with an empty Agent for full manual customization.
* **Import Agent** — Upload an Agent JSON file to add it to your organization.
* **Template** — Browse 75+ templates organized by common use cases like sales, support, and marketing.
If you selected **Custom Agent** or a **Template**, the [Agent Copilot](#use-the-agent-copilot) opens automatically. Describe what you want your Agent to do, answer a few clarifying questions, and the Copilot builds out the instructions, name, description, and configuration for you.
After creation, review and fine-tune your Agent's settings in the editor. You can adjust the AI model, instructions, [knowledge](/agents/knowledge), [connectors](/agents/connectors/overview), [capabilities](/agents/capabilities/overview), and [brand voice](#brand-voice) at any time.
When you're satisfied with the configuration, click **Publish** to make the Agent available for your team. See [Publish versions and review history](/agents/sharing-and-management#publish-versions-and-review-history) for details on versioning and publishing.
Once published, your Agent is ready to use in [Chat](/guides/chatting-with-an-agent) and [Workflows](/workflows/overview).
## The Agent editor
The Agent editor is organized into three tabs:
* **Setup** — The core configuration for your Agent: its identity, AI model, instructions, knowledge, tools, and brand voice. This is where you define what your Agent knows and what it can do.
* **Deployments** — Where you make your Agent available outside of the Cassidy app — in [Slack](/integrations/slack/deploy-agent), [Microsoft Teams](/agents/deploy/microsoft-teams), [Google Chat](/agents/deploy/google-chat), [email](/agents/deploy/email), [embedded on your website](/agents/deploy/embed), or via [API](/agents/deploy/api). See [Deploy your Agent](#deploy-your-agent) for details.
* **History** — A log of past conversations users have had with this Agent. Use it to review how the Agent is performing and identify areas to improve.
You can configure your Agent in two ways:
* **Manually** — Edit each setting directly in the editor. The sections below walk through every option available in the Setup tab.
* **With the [Agent Copilot](#use-the-agent-copilot)** — Describe what you want in plain language and the Copilot updates the configuration for you. You can use the Copilot to build from scratch, make targeted changes, or optimize your existing instructions.
Both approaches work together — use the Copilot to get started quickly, then fine-tune individual settings manually.
## Configure your Agent
### Appearance
Set your Agent's icon, name, and description. The description helps your team understand what the Agent does and helps the system match the right Agent to a request.
### AI model
Select the foundation model your Agent uses. Cassidy supports models from OpenAI, Anthropic, and Google, each with different strengths. See [Choose the right AI model](/guides/choose-ai-model) for a comparison.
Expand **Advanced Model Settings** to adjust the **temperature** — a value that controls how creative or deterministic the Agent's responses are.
* **Lower temperature** (closer to 0): More consistent, predictable outputs. Best for tasks where the Agent should follow instructions precisely, like data extraction or compliance responses.
* **Higher temperature** (closer to 1): More varied, creative outputs. Best for brainstorming, marketing copy, or other creative tasks.
### Instructions
Write clear instructions that describe what the Agent should do, how it should respond, and any rules it should follow. Be specific — the more detail you provide, the better the Agent performs.
Reference [Knowledge Base](/knowledge-base/overview) items directly in
instructions by typing **#** to search for and select documents. The Agent
autonomously searches over referenced content when relevant.
You can pin a referenced item by hovering over it and clicking the pin icon. Pinned content is included directly in the prompt every time (counting toward token limits), so the Agent always sees it in full.
Click **Optimize** at the bottom of the instructions field to have the [Agent Copilot](#use-the-agent-copilot) analyze and improve your instructions automatically.
Agent instructions are one layer of AI customization. You can also set
[user-level personalization](/agents/personalize-your-chats) and
[organization-wide global instructions](/settings/global-instructions). See
[Custom AI instructions](#custom-ai-instructions) for details.
### Knowledge
Connect your Agent to your [Knowledge Base](/knowledge-base/overview) so it can search company documents and answer questions with accurate, cited responses. You can add entire collections, reference specific files in your instructions, and control when the Agent searches.
Click **+ Add** in the Knowledge section to browse and select sources.
For the full walkthrough — including Smart Search, inline references, and pinning — see [Agent knowledge](/agents/knowledge).
### How Agents use tools
When you give an Agent tools — [Connectors](#connectors), [Capabilities](#capabilities), [Skills](#skills), and [Workflows](#workflows) — you're not programming it to follow a rigid script. Instead, the Agent decides on its own which tools to use based on the conversation.
Think of it like giving a team member access to various resources. If someone asks a question about a customer, the Agent recognizes it should check Salesforce. If they ask for a chart, it uses Code Execution & File Creation. If they need the latest industry news, it uses Web Search. The Agent reads the user's request, evaluates which tools are relevant, and calls them automatically — no manual triggering required.
This means a single Agent can handle a wide range of requests as long as it has the right tools enabled. A sales Agent with Knowledge Base access, a HubSpot Connector, Web Search, and a follow-up email Workflow can answer product questions, pull up deal data, research a prospect's company, and send a personalized email — all in the same conversation.
You control what's available by choosing which tools to enable. The Agent handles the rest.
### Connectors
[Connectors](/agents/connectors/overview) let your Agent interact with external business tools in real time. Unlike [Knowledge Base](/knowledge-base/overview) integrations that sync content into Cassidy, Connectors query the external app when an action runs. Your Agent can look up a contact in HubSpot, run a Snowflake query, update a Salesforce record, or create a ServiceNow ticket, all within a conversation.
Click **+ Add** in the Connectors section to browse available Connectors. Each
Connector can use per-user or shared authentication. Under **Action
permissions**, choose which actions are always allowed, ask every time, or are
blocked.
Available connectors include [HubSpot](/integrations/hubspot/agent-connector), [Salesforce](/integrations/salesforce/agent-connector), [Airtable](/integrations/airtable/agent-connector), [Snowflake](/integrations/snowflake/agent-connector), and more. See [Overview of Connectors](/agents/connectors/overview) for the full list, connection methods, and permission controls.
### Capabilities
[Capabilities](/agents/capabilities/overview) are built-in abilities that extend what your Agent can do beyond conversation. They give Agents native abilities that don't require an external integration to set up.
New custom Agents have **Code Execution & File Creation** enabled by default. This powers data analysis, file generation, and large-result handling. To review or change that setting, expand **Advanced Settings** in the **Customize** section.
Click **+ Add Capabilities** to enable additional capabilities:
* **[Web Search](/agents/capabilities/web-search)** — Search the internet for current information during conversations. Useful for research, competitive intelligence, and answering questions that require up-to-date knowledge.
* **[Image Generation](/agents/capabilities/image-generation)** — Create and edit images from text descriptions using AI image models.
* **[Artifacts](/agents/capabilities/artifacts)** — Build interactive content like dashboards, calculators, reports, and prototypes that users can interact with directly in the chat.
* **[Browser Use](/agents/capabilities/browser-use)** — Navigate and interact with web pages to complete tasks like filling out forms, extracting content, or taking screenshots.
See [Overview of Capabilities](/agents/capabilities/overview) for setup details and how each one works.
### Skills
[Skills](/skills/overview) package reusable instructions, files, and tools that Agents can apply to specialized tasks. A Skill can be attached to multiple Agents and maintained in one place.
Find the **Skills** section and click **Add**.
Select the Skill the Agent should consider during conversations.
Publish the Agent so the attached Skill is available to users.
See [Use Skills in chat and Workflows](/skills/using-skills#attach-a-skill-to-an-agent) for setup details.
### Workflows
Connect [Workflows](/workflows/overview) your Agent can trigger during a conversation. When a user's request matches a connected Workflow, the Agent collects the required inputs and runs the Workflow — sending emails, updating records, generating documents, or any other multi-step automation.
Click **+ Add Workflow** to select from your published Workflows.
Add clear, descriptive names and descriptions to your Workflows so the Agent
knows when to call them. The Agent uses the Workflow name and description to
decide which Workflow matches a user's request.
See [Call Workflow](/agents/call-workflow) for the full setup and how it works in practice.
### Brand voice
Fine-tune your Agent's writing style by uploading examples of your organization's content. Click **Analyze** to have Cassidy study the examples and calibrate the Agent's tone, vocabulary, and style so every response sounds like your company.
## Use the Agent Copilot
The Agent Copilot is an AI-powered building partner that helps you configure Agents using plain language. Instead of editing each setting manually, describe what you want and the Copilot generates or updates the Agent's configuration for you — including instructions, name, description, tools, and more.
You can use the Copilot at any point: when creating a new Agent from scratch, when starting from a template, or when refining an existing Agent. It's the fastest way to go from an idea to a working Agent.
Do not manually edit the Agent while the Copilot is working — your changes
will be overwritten.
### Access the Copilot
* **When creating a new Agent**: The Copilot opens automatically if you choose **Custom Agent** or a **Template**.
* **When editing an existing Agent**: Click the wand icon in the top toolbar of the Agent editor.
### How the Copilot works
Type a plain-language description of the Agent or the change you want to make. The Copilot plans its approach and begins building.
The Copilot may ask follow-up questions to refine the Agent. Questions come as multiple choice, multi-select, free-text, or Knowledge Base attachment prompts. You can answer or click **Skip** to move on.
Expand the changes summary to see which fields were modified — icon, name, description, instructions, and more. The Copilot explains what it did and why.
Send follow-up messages to refine further. You can ask the Copilot to update instructions, add tools, adjust the description, or make any other changes.
### Copilot controls
| Control | What it does |
| - | - |
| **Regenerate** | Try a different approach for any Copilot message |
| **Edit message** | Modify your prompt and resubmit |
| **Thumbs up/down** | Give feedback on Copilot responses |
| **Restore checkpoint** | Revert the Agent to the version before a specific change |
| **New chat** | Start a fresh Copilot conversation |
| **Chat history** | Browse and return to earlier Copilot conversations |
| **Attach Knowledge** | Insert Knowledge Base documents or folders as references in your message |
## Custom AI instructions
Beyond the instructions you write directly on each Agent, Cassidy supports two additional layers of AI customization:
* **[User-level personalization](/agents/personalize-your-chats)** — Individual users can set their name, role, and response preferences so the AI tailors responses in [Chat](/guides/chatting-with-an-agent). These apply across all chats regardless of which Agent is selected. See [Personalize your chats](/agents/personalize-your-chats) for setup instructions.
* **[Global instructions](/settings/global-instructions)** — Admins can set organization-wide rules that apply to every Agent (and optionally Workflows). Use these for brand voice, compliance guardrails, or company context.
## Preview and test
Click the preview icon in the top-right corner of the Agent editor to open a test chat. This lets you try out your Agent and iterate on changes before publishing.
## Review chat history
The **History** tab shows every conversation users have had with your Agent. Use it to monitor how the Agent handles real requests, spot patterns in what users are asking, and identify areas where the instructions or knowledge need refinement.
## Manage versions
Access version history from the **Draft** dropdown at the top of the Agent editor. From here you can save drafts, publish new versions, compare changes between versions, and revert to a previous version.
For the full walkthrough, see [Publish versions and review history](/agents/sharing-and-management#publish-versions-and-review-history).
## Deploy your Agent
Once published, your Agent is available in Cassidy's [Chat](/guides/chatting-with-an-agent) by default. To make it available where your team already works, open the **Deployments** tab in the Agent editor and configure one or more deployment channels:
Chat with your Agent directly in Slack channels and DMs.
Add your Agent as a Teams bot for conversations and commands.
Deploy your Agent into Google Chat spaces.
Deploy your Agent to a dedicated email address.
Add a chat widget to your website for customers or internal users.
Integrate your Agent into any application via the Cassidy API.
## Next steps
Set up which Knowledge Base sources your Agent can search.
Organize Agents into folders, manage permissions, and version history.
Learn about Chat features including personalization, file uploads, and voice
mode.
Set organization-wide AI behavior rules for every Agent.
# Call a Workflow
Source: https://docs.cassidyai.com/agents/call-workflow
Let Agents trigger and run Workflows during conversations to automate complex tasks.
Call Workflow lets your [Agent](/agents/overview) run [Workflows](/workflows/overview) during a conversation. When a user's request is relevant to a connected Workflow, the Agent automatically decides to trigger it, collects the required inputs, and runs the Workflow — sending emails, updating records, generating documents, or any other multi-step automation.
## Add Workflows to an Agent
Go to **Agents**, find the Agent you want to configure, and click **Edit**.
In the **Setup** tab, scroll to the **Workflows** section and click **+ Add Workflow**. Browse and select the published Workflows you want the Agent to be able to trigger. You can add multiple Workflows to a single Agent.
Choose from your published Workflows. The Agent uses each Workflow's name and description to understand what it does and when to use it.
Click **Publish** to make the Workflows available in conversations.
## How it works
Once Workflows are connected, the Agent autonomously decides when to trigger them based on the conversation context. This isn't a keyword match — the Agent reads the user's intent, evaluates which connected Workflow is relevant (if any), and decides whether to call it.
1. The user makes a request that's relevant to a connected Workflow (e.g., "Send a follow-up email to the prospect").
2. The Agent determines which Workflow fits the request, then asks the user for any required inputs.
3. The Agent runs the Workflow and reports the results back in the conversation.
Add clear, descriptive names and descriptions to your Workflows — the Agent relies on these to understand when each Workflow should be used. The more context you provide in the Workflow's name and description, the better the Agent is at deciding when to trigger it.
## Next steps
Create the Workflows your Agent will trigger.
Learn about all the settings you can configure on an Agent.
# Artifacts
Source: https://docs.cassidyai.com/agents/capabilities/artifacts
Enable Agents to create rich, interactive artifacts like documents, tables, and visualizations.
The Artifacts capability lets your [Agent](/agents/overview) build interactive content during a conversation — dashboards, calculators, data visualizations, reports, and prototypes — without writing any code yourself. Artifacts render in a dedicated panel next to the chat, and you can iterate on them, open them in full view, and share them via link.
Artifacts are ideal for creating ad-hoc reports and visual presentations when you need to present information more effectively than plain text:
* **Visual presentation of complex data** — Transform sales data, performance metrics, or analysis results into interactive charts and graphs
* **One-off reports for meetings** — Generate quarterly performance sheets, project summaries, or presentation materials to share with leadership and teams
* **Prototyping and mockups** — Create proof-of-concept tools like pricing calculators, comparison tools, or workflow demonstrations to visualize ideas before full development
* **Making dense information digestible** — Convert lengthy text reports or analysis outputs into structured, visual formats with filtering and drill-down capabilities
Example artifacts include interactive dashboards (sales pipelines, KPI trackers), data visualizations (charts, graphs), calculators (pricing, margin analyzers), prototypes (quick MVPs), reports, and comparison tools.
## Enable Artifacts
You can enable Artifacts in two ways:
### On an Agent
Go to **Agents**, find the Agent you want to configure, and click **Edit**.
In the **Setup** tab, scroll to **Capabilities**, click **+ Add**, and select **Artifacts**.
Click **Publish** to make the capability available.
### In a Chat session
You can also toggle Artifacts on for any chat session using the **Tools** picker in [Chat](/guides/chatting-with-an-agent), without adding it permanently to the Agent.
## How to use it
**Choose the right AI model.** Artifacts involve generating structured code and visuals, so a capable model matters. Use a powerful, reasoning-capable model for complex artifacts like dashboards and data visualizations. New models are added regularly — see [Choose the right AI model](/guides/choose-ai-model) for current recommendations. You can change the model in your Agent's settings or per-chat.
Ask the Agent to create something interactive — a dashboard, a calculator, a report with charts, or a visual prototype. Be specific about what data to include and how it should look. You can provide data by uploading files, referencing [Knowledge Base](/knowledge-base/overview) items with **#**, or pulling data from connected integrations like Salesforce, Snowflake, or Airtable.
The Agent renders the artifact in a dedicated panel alongside the chat. You can interact with it directly — click buttons, filter data, and explore.
Continue the conversation to request changes, add features, or adjust the design and functionality. The Agent updates the artifact in real time based on your feedback.
Click the expand icon to view the artifact in a full-screen tab where you can explore all features and functionality.
Copy a link to the artifact so others can view it in their browser. Recipients must be signed into Cassidy and have access to the chat to view the artifact.
Artifacts are tied to each individual Chat. Save or share your Artifact before closing the Chat if you need to preserve access to it.
Artifacts display static data from the point of creation — they don't update automatically when underlying data changes. They work best as reports and ad-hoc analysis rather than operational dashboards that need live data refresh. For ongoing automations that generate artifacts programmatically, use the Create Artifact action in a [Workflow](/workflows/overview).
## Next steps
Analyze structured data and create visualizations from spreadsheets.
Automate interactive web tasks with a live browser.
# Browser use
Source: https://docs.cassidyai.com/agents/capabilities/browser-use
Enable Agents to browse websites and interact with web pages to complete tasks.
The Browser Use capability lets your [Agent](/agents/overview) automate interactive web tasks in a live browser — navigating pages, clicking buttons, filling out forms, and extracting data. Use it for tasks that require interacting with websites that don't have APIs, like government portals, vendor platforms, or dynamic search interfaces.
Browser Use works within Agents and can also be called by [Workflows](/workflows/overview) for more complex multi-step automations.
## Enable Browser Use
Go to **Agents**, find the Agent you want to configure, click the **⋯** menu, and select **Edit**.
In the **Setup** tab, scroll to **Capabilities**, click **+ Add**, and select **Browser Use**.
Click **Publish** to make the capability available.
## How to use it
Open a chat and select an Agent that has Browser Use enabled.
Type a message that requires interactive web browsing — for example, "Search SAM.gov for active contract opportunities related to cybersecurity."
The Agent opens a live browser session and shows real-time status updates as it navigates, clicks, and extracts data. Click the status dropdown to expand the list of steps, then click the latest step to open a side-by-side browser preview.
If you need to manually guide the session — for example, to solve a CAPTCHA — click **Click to take control** to interact with the browser directly.
When the Agent finishes, click the **Finished analyzing** dropdown to see the full sequence of actions it performed.
Click any individual step to see a screenshot of what the browser looked like at that point. Use the **Previous** and **Next** buttons to navigate between steps, with a step counter (e.g. "1 / 14") showing your position.
## Use cases
* **Government portals** — Search SAM.gov, SEC filings, or other public databases.
* **Vendor and supplier platforms** — Look up pricing, availability, or order status on supplier websites.
* **Dynamic search interfaces** — Navigate search UIs that require filling in forms and clicking through results.
* **Form submission** — Fill out and submit web forms on behalf of your team.
* **Competitive intelligence** — Browse competitor websites to gather pricing, feature, or positioning data.
## Browser Use vs. Web Search
| Feature | [Web Search](/agents/capabilities/web-search) | Browser Use |
| - | - | - |
| **Best for** | Quick lookups and reading publicly available pages | Interactive tasks requiring clicks, forms, and navigation |
| **How it works** | Searches and reads web pages | Opens a live browser and interacts with pages |
| **Speed** | Fast | Slower (requires browser rendering and interaction) |
| **When to use** | Simple page reading and information lookup | Dynamic websites that require interaction to access data |
Use [Web Search](/agents/capabilities/web-search) for simple page reading and Browser Use for interactive tasks. If you just need to read content from a URL, Web Search is faster.
## Next steps
Search the internet for real-time information without a full browser.
Run multi-step research combining web search and Knowledge Base.
# Image generation
Source: https://docs.cassidyai.com/agents/capabilities/image-generation
Enable Agents to generate images from text descriptions during conversations.
The Image Generation capability lets your [Agent](/agents/overview) create and edit images from text descriptions directly in a conversation. Use it for marketing visuals, social media graphics, concept mockups, presentations, and more.
## Enable Image Generation
Go to **Agents**, find the Agent you want to configure, click the **⋯** menu, and select **Edit**.
In the **Setup** tab, scroll to **Capabilities**, click **+ Add Capabilities**, and select **Image Generation**.
Click **Publish** to make the capability available in conversations.
## How to use it
Once enabled, start a conversation with your Agent and describe the image you want. The Agent creates custom images, modifies existing ones, and works with uploaded images to meet your creative needs.
* **Generate from a description** — Describe what you want and the Agent creates it. Be specific about style, colors, composition, and content for best results.
* **Edit a generated image** — After the Agent generates an image, follow up with changes like adjusting colors, adding elements, or changing the style.
* **Upload a starting image** — Attach an image in the chat (see [Upload files and media](/guides/chatting-with-an-agent#upload-files-and-media)) and ask the Agent to modify or build on it.
* **Choose the right balance** — Standard quality balances visual quality and generation speed for most requests. Ask for a polished final result when you want the Agent to prioritize visual precision, which may take longer.
The more specific your description, the better the result. Include details about style (photorealistic, illustration, flat design), mood (professional, playful, minimalist), colors, and composition.
## Next steps
Build interactive dashboards, reports, and prototypes.
Learn all the ways to create and export files from Cassidy.
# Overview of Capabilities
Source: https://docs.cassidyai.com/agents/capabilities/overview
Learn what Agent Capabilities are and how to enable web search, image generation, artifacts, browser use, and more.
Capabilities are built-in skills that extend what your [Agents](/agents/overview) can do beyond conversation. Unlike [Connectors](/agents/connectors/overview), which connect to external business tools, Capabilities give Agents native abilities like searching the web, generating images, building interactive artifacts, and browsing websites.
## Available Capabilities
Search the internet for current information during conversations.
Create and edit images from text descriptions.
Build interactive dashboards, calculators, reports, and prototypes.
Navigate and interact with web pages to complete tasks.
## Enable Capabilities on an Agent
Go to **Agents**, find the Agent you want to configure, and click **Edit**.
In the **Setup** tab, scroll to the **Capabilities** section and click **+ Add Capabilities**.
Choose the ones you want to enable from the dropdown. You can add multiple Capabilities to a single Agent.
Click **Publish** to make the Capabilities available in conversations.
## Capabilities in Workflows
Capabilities aren't limited to Agents — you can also add them directly to a [Generate Text](/reference/actions/generate-text) action in a [Workflow](/workflows/overview). This lets you enhance individual Workflow steps with skills like [Web Search](/agents/capabilities/web-search) or [Image Generation](/agents/capabilities/image-generation). For file creation, charts, calculations, and data analysis in Workflows, use [Code Execution & File Creation](/workflows/advanced/data-analysis).
To add a Capability, open the Generate Text action's settings, expand the **Capabilities** section, and click **+ Add Capability**.
## Next steps
Learn about all the settings you can configure on an Agent.
Connect your Agent to HubSpot, Salesforce, Airtable, and more.
# Web search
Source: https://docs.cassidyai.com/agents/capabilities/web-search
Enable Agents to search the web for real-time information during conversations.
The Web Search capability lets your [Agent](/agents/overview) search the internet for current information during a conversation. When a user asks a question that requires up-to-date data — like recent news, market prices, or competitor information — the Agent automatically searches the web and incorporates the results into its response.
## Enable Web Search
Navigate to **Agents**, find the Agent you want to configure, click **...** and select **Edit**.
In the **Setup** tab, scroll to the **Capabilities** section.
Click **+ Add Capabilities** and click **+ Add** on the **Web Search** option.
Click **Publish** to make the capability available in conversations.
## How it works
Once Web Search is enabled, the Agent intelligently decides when to search the web based on the question asked. If the Agent determines it already has enough information from its instructions and [Knowledge Base](/knowledge-base/overview), it skips the web search and responds directly. This ensures you get the most relevant and timely responses without unnecessary searches.
Web Search is best for questions about current events, recent data, or topics outside your Knowledge Base. For questions about your company's internal documents, the Agent uses its connected Knowledge Base instead.
You can also toggle Web Search on or off for any individual chat session using the **Tools** picker, without changing the Agent's permanent configuration. See [Use the tools picker](/guides/chatting-with-an-agent#use-the-tools-picker) for details.
## Web Search vs. Browser Use
| Feature | Web Search | [Browser Use](/agents/capabilities/browser-use) |
| - | - | - |
| **Best for** | Quick lookups and simple page reading | Interactive web tasks (filling forms, clicking, navigating) |
| **How it works** | Searches and reads publicly available web pages | Opens a live browser session and interacts with pages |
| **Speed** | Fast | Slower (requires browser rendering) |
## Next steps
Automate interactive web tasks with a live browser.
Run multi-step research combining web search and your Knowledge Base.
# Custom Connectors
Source: https://docs.cassidyai.com/agents/connectors/mcp-servers
Connect your own systems to Cassidy through MCP so Agents, Skills, and Workflow AI actions can use them.
A Custom Connector connects Cassidy to any system that speaks the [Model
Context Protocol](https://modelcontextprotocol.io) (MCP). Once someone with the
**Manage Connectors** privilege adds one, the people it's shared with can use it
in [Agents](/agents/overview), [Skills](/skills/overview), and
[Workflow](/workflows/overview) AI actions like any other Connector.
Complex actions work best with a powerful, reasoning-capable model. See
[Choose the right AI model](/guides/choose-ai-model).
## Set up a Custom Connector
You need the **Manage Connectors** privilege to add or edit Custom Connectors.
Once added, anyone the Connector is shared with can use it.
Open your account menu from the sidebar and select **Organization
Settings**.
Select **Connectors**, then choose **Custom Connectors**.
Click **Add Custom Connector**.
* **Icon** (optional) — An image to identify the Connector.
* **Name** — The name people see.
* **Description** — What the Connector does.
* **MCP server URL** — The URL of your MCP endpoint.
* **Transport Type** — **HTTP** (recommended) or **SSE**.
* **Authentication** — **OAuth 2.0** (recommended) or **API Key**, depending on what your server supports.
Expand **Advanced OAuth Credentials** to set your own OAuth app details. These are optional and usually only needed if you built the MCP server yourself.
* **Client ID**
* **Client Secret**
* **Scope** (e.g., `mcp.read mcp.write`)
* **Redirect URL** — If you are building a custom OAuth app and need to register a redirect URL, use: `https://app.cassidyai.com/api/connections/mcp`
Click **Add connector**.
Open the Connector's **...** menu and select **Manage access**. Share it
with specific people or groups, or with the whole organization.
A Connector shared with specific people shows as **Restricted** in the
catalog. You can also disable it for everyone without deleting it.
The Connector can now be added to Agents.
Custom Connectors that use OAuth also appear in **Customize** → **Connectors**
for the people they're shared with, so they can be used in any chat. Custom
Connectors that use an API key don't appear there.
## Add a Custom Connector to an Agent
Navigate to **Agents**, find the Agent you want to configure, click **...** and select **Edit**.
In the **Setup** tab, scroll to the **Connectors** section.
Click **+ Add Connector**, then click **+ Add** next to the Custom Connector.
* **Each user connects their own account** (recommended) — People sign in the first time the Agent needs the Connector. Each person sees only what they can already see in that system.
* **Use a shared connection** — Everyone uses one saved account and its permissions.
If you chose **Use a shared connection**, select an existing shared
connection or click **Create shared connection**. Sign in, give the
connection a recognizable name, and choose who can use it.
A shared connection lets other people act through the same external
account. Use a dedicated service account when possible. Changing or
disconnecting the connection affects every Agent and Workflow that uses
it.
Click **Next** and choose **Always allow**, **Ask every time**, or
**Disabled** for each action. Actions are grouped into Read, Write, and
Other categories.
Click **Add connector**, then save the Agent.
Open **Chat** and select the Agent.
If you chose **Each user connects their own account**, the Agent asks you to connect the first time it needs the Connector. Click **Connect** and sign in.
The Agent can now use the Connector's actions to answer questions and do
work in chat.
## Monitor Custom Connector actions
When an Agent uses a Custom Connector, expand the action in the response to see
its input and output. If an action is set to **Ask every time**, you can allow
it once, always allow it, or deny it.
## Data security
Custom Connectors follow the same security model as other
[Connectors](/agents/connectors/overview):
* **Permission-based access** — The Agent can only access what the connected account can see in the external system.
* **Auditability** — Every action is visible in the chat where it ran.
* **Shared connection control** — A shared connection uses one account you control, so you decide exactly what it can reach.
## Next steps
Learn about other Connectors available for your Agents.
Understand how Agents use Connectors, Knowledge Base, and Capabilities
together.
Add built-in skills like web search, image generation, artifacts, and
browser use.
Create multi-step automations for repeatable processes.
# Meetings Connector
Source: https://docs.cassidyai.com/agents/connectors/meetings
Let Agents search meeting transcripts, read summaries, and reference specific discussions in real time.
The Meetings [Connector](/agents/connectors/overview) gives your [Agents](/agents/overview) access to your [Cassidy Meetings](/meetings/getting-started) library. When someone asks what was discussed, the Agent searches transcripts and summaries and returns answers with **timestamped citations** that link back to the recording.
The Meetings Connector lets an Agent query your meeting library **directly** — no Knowledge Base import or sync setup. For step-by-step setup with screenshots, see [Chat with your meetings](/meetings/knowledge-base#add-the-meetings-connector-to-an-agent).
The Meetings Connector respects your organization's [meeting sharing and permissions](/meetings/sharing-and-permissions). Each user only sees meetings they have permission to view.
If you need meeting content **alongside other documents** in one Knowledge Base collection, you can [import meetings to your Knowledge Base](/meetings/knowledge-base#import-meetings-to-your-knowledge-base) instead — or use both approaches for different Agents.
## What you can ask
Here are some things you can ask an Agent with the Meetings Connector:
* "What did we decide about the Q3 roadmap in last week's planning meeting?"
* "Summarize my call with Acme Corp from yesterday"
* "What has the engineering team said about the migration timeline across recent standups?"
* "Find all meetings where pricing was discussed in the last month"
* "What action items came out of this morning's sync?"
For questions that span many meetings, the Agent automatically searches across multiple pages of results to build a complete picture. You can help by being specific about time ranges or participants.
## Next steps
Choose your approach, then follow the full setup walkthrough with screenshots.
Connect your calendar and start recording meetings.
Trigger actions automatically when meetings end.
See what other Connectors are available for your Agents.
# Connect and manage business apps
Source: https://docs.cassidyai.com/agents/connectors/overview
Learn how to connect business apps, manage personal accounts and approvals, and control which Connectors are available across your organization.
Connectors let your [Agents](/agents/overview), [Skills](/skills/overview),
and [Workflow](/workflows/overview) AI actions work with the tools your team
already uses. Ask an Agent to look up a HubSpot contact, check your Google
Calendar, query Snowflake, or update a Salesforce record, and it does it live,
with your account and your permissions.
## How Connectors differ from other integrations
Cassidy has three types of [integrations](/integrations/overview), each serving a different purpose:
| Type | Purpose | Data handling |
| - | - | - |
| **Connectors** | Agents, Skills, and Workflow AI actions read and write live data in external tools | Data is queried from the connected app when an action runs |
| **[Knowledge Base](/knowledge-base/overview) integrations** | Sync documents and content into Cassidy for AI-powered search | Content is imported and indexed for semantic search |
| **[Workflow](/workflows/overview) integrations** | Trigger repeatable automations and perform actions as steps in a Workflow | Data flows through the Workflow at execution time |
**Connectors vs. Knowledge Base integrations** — Knowledge Base integrations import and index content so your Agents can search it semantically. Connectors skip the import entirely and query the external system live, which means results are always up to date but limited to what the external API exposes.
**Connectors vs. Workflow integrations** — [Workflow](/workflows/overview) integrations connect apps for repeatable, multi-step automations that run on a schedule or in response to a trigger. Connectors are for ad-hoc, real-time queries that happen naturally during a conversation with an Agent.
## Available Connectors
Connect your own systems through MCP.
Search meeting transcripts, read AI summaries, and reference discussions
with timestamped citations.
Search and retrieve contacts, deals, companies, and tickets from your
HubSpot CRM.
Read and write records, opportunities, accounts, and cases in Salesforce.
Read and write records across your Airtable bases and tables.
Query your Snowflake data warehouse directly from a conversation.
Look up and manage tasks, projects, and subtasks in Asana.
Query your BigQuery data warehouse directly from a conversation.
View, create, and update calendar events from a conversation.
Read and write data in Google Sheets spreadsheets.
Search and manage sites, documents, pages, folders, and lists in SharePoint.
Read and manage items, boards, and updates in Monday.com.
Check availability, schedule meetings, and respond to invites in Outlook.
Search, create, and manage ServiceNow records and incidents.
For anything else, someone with the **Manage Connectors** privilege can [add a
Custom Connector](/agents/connectors/mcp-servers) for an internal system,
database, or API.
## Add a Connector for yourself
Your personal Connectors are available across chats in the Cassidy web app.
Click **Customize** in the sidebar, then select **Connectors**.
Search for an app or browse the available categories.
Open a Connector and click **Connect**, then complete the app's
authorization flow.
Open the Connector to choose which actions run without asking, ask you
first, or stay disabled.
A Connector disabled by your organization still shows while browsing, but you
can't connect it. Ask an admin to enable it.
## Manage a personal Connector
Open **Customize** → **Connectors**, click **Manage connectors**, then select a
Connector. Connectors that need you to sign in again show a warning badge in
the directory so you can jump directly to the fix.
* **Reconnect** when your sign-in expires.
* Use the switch to turn the Connector off for yourself. Your connection and
settings are kept.
* **Remove** takes the Connector off your list. You can add it again later.
* Change **Action permissions** to decide when Agents ask you before acting.
## Connector suggestions in chat
When a Connector would help with your request, the Agent can suggest it in
chat. Choose **Add** to connect the app and continue, or **Not now** to
continue without it. The Agent may also suggest reconnecting or turning on a
Connector you already have.
Suggestions appear only in the Cassidy web app. Admins can [turn them off for
the
organization](/settings/manage-connectors#control-connector-suggestions-in-chat).
## Add a Connector to an Agent
Go to **Agents**, find the Agent you want to configure, and click **Edit**.
In the **Setup** tab, scroll to the **Connectors** section and click **+ Add**.
Choose the Connector you want to enable from the list of built-in and
Custom Connectors.
Choose whether each person connects their own account or everyone uses one
shared account. See [Connection methods](#connection-methods) below.
For each action, choose **Always allow**, **Ask every time**, or
**Disabled**. See [Action approvals](#action-approvals) below.
Click **Save** or **Publish** to make the Connector available to users.
## Connection methods
When you add a Connector to an Agent, choose how people sign in:
* **Each user connects their own account** (recommended) — People sign in the
first time the Agent needs the app. Each person sees only what they can
already see in that app.
* **Shared connection** — Everyone uses one saved account and its
permissions. Workflows always use a shared connection, because nobody is
signed in when a Workflow runs.
### Create a shared connection
Use a dedicated service account or shared mailbox when possible. During setup,
you name the connection and choose who can use it.
Don't share an account you use for personal work. Changing or disconnecting a
shared connection affects every Agent and Workflow that uses it.
## Action approvals
Each Connector action has one of three settings:
* **Always allow** — The Agent runs the action without asking.
* **Ask every time** — The Agent asks you first.
* **Disabled** — The Agent can't run the action.
Actions are grouped into Read, Write, and Other categories.
Review write actions carefully. **Always allow** lets the Agent change data in
the connected app without asking first.
Your admin can require approval for some or all actions across the
organization. You can add approvals on top of this, but can't remove the ones
your admin set. See [Manage Connectors for your
organization](/settings/manage-connectors).
## Monitor Connector usage
When an Agent uses a Connector, expand the action in the response to see its
input, result, and approval status.
If an action is set to **Ask every time**, the chat pauses. You can allow it
once, always allow it, or deny it. **Always allow** is unavailable when your
admin requires approval for that action.
## Connectors in Workflows
Connectors aren't limited to Agents — you can also add them directly to a [Generate Text](/reference/actions/generate-text) action in a [Workflow](/workflows/overview). This lets the AI query live data from your business tools as part of an automated process, without needing a full Agent.
To add a Connector, open the Generate Text action's settings, expand the **Connectors** section, and click **+ Add Connector**.
In a Workflow, each action is either **Always allow** or **Disabled** — there is
nobody to ask. If your admin requires approval for an action, the Workflow
can't run it.
## Manage Connectors as an admin
Admins control which Connectors and actions the organization can use, and
when approval is required, without editing each Agent or person.
Configure organization-wide Connector access, action permissions, new-action
policy, and approval requirements.
## Next steps
Understand how Agents use Connectors, Knowledge Base, and Capabilities
together.
Add built-in abilities like web search, image generation, artifacts, and
browser use.
See every app Cassidy connects to and the integration types available.
Create multi-step automations for repeatable processes.
# Deep research
Source: https://docs.cassidyai.com/agents/deep-research
Enable and use deep research to let Agents perform thorough, multi-step research tasks.
Deep Research lets your [Agent](/agents/overview) perform thorough, multi-step research combining web search and your [Knowledge Base](/knowledge-base/overview). Instead of a single search, the Agent plans a research strategy, runs multiple searches, synthesizes findings, and delivers a comprehensive analysis with citations.
## Enable Deep Research
Deep Research is enabled per chat session, not per Agent.
Start a new chat or open an existing one.
Click **Tools** at the bottom of the chat input.
Enable the **Deep Research** toggle.
## How to use it
Type your research question. Deep Research works best with open-ended, complex questions that benefit from multiple angles — competitive analysis, market research, technical comparisons, or policy reviews.
The Agent may ask follow-up questions to refine the scope and direction of the research. Answer these to help it focus on what matters most.
The Agent delivers a comprehensive report with its findings, analysis steps, and citations to the sources it used — both web results and Knowledge Base documents.
## Cost
Deep Research uses approximately **500–1,300 credits** per run, depending on the complexity of the question and how many searches are needed. This is significantly more than a standard chat message because the Agent performs multiple searches and analysis steps.
Monitor your credit usage in [Settings](/settings/manage-credits). Consider using Deep Research for high-value research tasks where thoroughness matters more than speed.
## Next steps
For quick, single-search lookups instead of multi-step research.
Monitor and manage your organization's credit usage.
# Deploy via API
Source: https://docs.cassidyai.com/agents/deploy/api
Integrate your Agent into any application using the Cassidy API for programmatic access.
Use the Cassidy API to integrate your [Agent](/agents/overview) into any custom application, internal tool, or [Workflow](/workflows/overview).
**Prerequisites:**
* An Agent created in Cassidy
* An API key (or the ability to create one)
Go to **Agents** and select the Agent you want to deploy via API. Click **Edit** to open the Agent settings.
Navigate to the **Deployments** tab and select **Deploy via API**.
Click the **API Keys** link in the instructions. To navigate manually, open
your account menu and select **Organization Settings**.
In the **Organization Settings** window, go to the **API Keys** tab.
Click **+ Create API Key**, enter a name for the key, and click **Save**. Click the eye icon to reveal the key, then copy it and save it to a secure location. Click **Exit** when finished.
Copy and save your API key immediately — you won't be able to see it again after closing the dialog.
Return to the **Deploy via API** tab in your Agent's settings. Follow the sample code provided to create conversation threads and send messages programmatically.
## API basics
The Cassidy API uses threads and messages to manage conversations:
1. **Create a thread** — start a new conversation with the Agent
2. **Send a message** — add a user message to the thread
3. **Receive a response** — the Agent processes the message and returns a reply
For detailed endpoint documentation, request formats, and authentication details, see the [Cassidy API documentation](https://app.cassidyai.com/api-docs).
Keep your API key secure. Do not share it publicly or commit it to version
control.
You can delete an API key at any time from the **API Keys** tab by clicking
the ellipsis menu and selecting **Delete**.
## Next steps
Learn more about creating and configuring Agents.
Deploy your Agent to a dedicated email address.
Embed your Agent on a website without writing code.
# Deploy via email
Source: https://docs.cassidyai.com/agents/deploy/email
Deploy your Agent via email so users can send a message and receive responses directly in their inbox.
Deploy your [Agent](/agents/overview) via email so users can interact with it by sending messages to a dedicated email address and receiving responses directly in their inbox.
Email deployment is useful when:
* Your team already uses a shared email address for questions or requests
* You want to provide answers grounded in your [Knowledge Base](/knowledge-base/overview) without requiring users to log in
* Your users prefer email over chat-based tools
**Prerequisites:** - An [Agent created and published in
Cassidy](/agents/build-and-configure)
## Set up email deployment
Go to **Agents** and select the Agent you want to deploy via email. Click **Edit** to open the Agent settings.
Navigate to the **Deployments** tab and select **Email**.
Toggle on **Enable Email Deployment**. This activates the Agent's email address so it can receive and respond to messages.
Your Agent gets a dedicated email address like `your-name@agents.cassidyai.com`. The part before the `@` defaults to your Agent's name (e.g. `sales-enablement@agents.cassidyai.com`) and can be customized.
Using a custom email address (any value other than the Agent's ID) restricts senders to members of your organization. The **Anyone** sender filter is not available when using a custom address, and with **Specific Senders**, only senders who are also members of your organization will be accepted. See [Custom address and organization restrictions](#custom-address-and-organization-restrictions) for details.
Enter a **Sender Display Name** — this is the name that appears in the "From"
field when the Agent replies. By default it uses the Agent's name.
Under **Allow Emails From**, select a sender filter:
| Filter | Description |
| - | - |
| **Anyone** | Accept emails from any sender. Only available when using the Agent's default ID-based address. |
| **Anyone in Organization** | Only accept emails from users who are members of your Cassidy organization |
| **Users with Access** | Only accept emails from Cassidy users who have access to this specific Agent |
| **Specific Senders** | Only accept emails from addresses or domains you specify |
If you selected **Specific Senders**, add the email addresses or domains that should be allowed. You can mix individual addresses (e.g. `user@example.com`) and entire domains (e.g. `example.com`).
Use a domain filter like `example.com` to accept emails from any address at that domain — no need to list every individual sender.
Toggle **Reply All** on or off:
* **On** (default) — replies are sent to all original recipients and CC addresses
* **Off** — replies are sent only to the sender
Click **Save Settings** to activate the email deployment.
## How it works
When someone sends an email to your Agent's address:
1. Cassidy checks whether the sender is allowed based on your sender filter
2. The Agent processes the email using its instructions, [Knowledge Base](/knowledge-base/overview), [connectors](/agents/connectors/overview), and [capabilities](/agents/capabilities/overview)
3. The Agent sends a reply to the email thread with its response
4. Subsequent replies in the same email thread continue the same conversation with the Agent
The Agent has access to the email subject, body, and supported file attachments.
## Custom address and organization restrictions
When you set a custom email address (any name other than the Agent's ID), Cassidy automatically restricts senders to members of your organization. This means:
* The **Anyone** sender filter is disabled — you must use **Anyone in Organization**, **Users with Access**, or **Specific Senders**
* With **Specific Senders**, only senders who are also members of your organization can email the Agent
If you need to accept emails from anyone (including people outside your organization), use the Agent's default ID-based address.
## Use a custom domain with email forwarding
By default, email deployments use an `@agents.cassidyai.com` address. If you want emails sent to your own domain (e.g. `ai-assistant@yourcompany.com`) to reach the Agent, set up email forwarding from your mail provider.
This is useful when you want:
* A branded, professional email address your team already recognizes
* To route existing email aliases or distribution lists to the Agent
* To keep your internal email addresses visible to senders instead of a Cassidy address
### How it works
Your mail provider receives the email at your custom domain address, then automatically forwards it to the Agent's `@agents.cassidyai.com` address. Cassidy processes the forwarded email the same way as a direct one — the original sender, subject, body, and attachments are all preserved.
### Set up forwarding
In the email deployment settings, copy the Agent's `@agents.cassidyai.com` address.
Set up a forwarding rule that sends incoming messages to the Cassidy address you copied. The exact steps depend on your provider:
* **Google Workspace** — Use [routing rules](https://support.google.com/a/answer/4524505) in the Admin Console under **Apps > Google Workspace > Gmail > Routing**
* **Microsoft 365 / Exchange** — Use [mail flow rules (transport rules)](https://learn.microsoft.com/en-us/exchange/security-and-compliance/mail-flow-rules/mail-flow-rules) in the Exchange Admin Center
* **Other providers** — Look for "email forwarding", "mail routing", or "alias" settings in your provider's admin panel
Send a test email to your custom domain address and verify the Agent responds in the email thread.
## Next steps
Create or customize the Agent behind your email deployment.
Make your Agent available in Slack channels and DMs.
Add your Agent to Microsoft Teams.
Connect your Agent to your Knowledge Base for accurate, cited answers.
# Deploy via embed
Source: https://docs.cassidyai.com/agents/deploy/embed
Embed your Agent on any website or app so external users can chat with it directly.
Embed your [Agent](/agents/overview) on any website so visitors or team members can chat with it without leaving the page. Choose between a static iframe that's always visible or a floating modal that opens on click.
## Set up the deployment
Go to **Agents** and select the Agent you want to embed. Click **Edit** to open the Agent settings.
Navigate to the **Deployments** tab in your Agent's settings.
Toggle on **Enable Embedded Chat Deployment**.
Click **Add Whitelisted Domain** to specify which website domains are allowed to embed the Agent. You can add multiple domains and remove them as needed.
By default, anyone who has the embed URL can chat with your Agent. To restrict access to only your authenticated users, toggle on **Require Secure Token**.
When enabled, the embed URL requires a short-lived authentication token to work. Create this token on your own backend with your Cassidy API key after you authenticate the user. See [Restrict access with secure tokens](#restrict-access-with-secure-tokens) below for setup instructions. If visitors see an **Unauthorized** error instead of the chat, see [Troubleshooting](#troubleshooting).
Enter the **Agent Display Name** that visitors will see in the embedded chat widget.
Enter the **First Message** that greets visitors when they open the chat. Use this to welcome users or prompt them to ask a question.
Select the appropriate **Reference Mode** for your use case:
* **Disable References** — no citations shown in responses
* **Public Sources Only** — only links to publicly accessible sources
* **Include All References** (default) — all citations shown, but users need permissions to view private documents
* **Generate Public Links** — creates public URLs for cited documents
**Generate Public Links** can expose sensitive information. Only use this option if your Agent does not have access to private documents.
Click **Save Settings** to apply your configuration.
In the **Embed Code** section, choose between two formats:
* **Static IFrame** — the chat component is always visible on the page, ideal for support pages or help centers
* **Modal** — a floating button that opens the chat as an overlay, best when you want to offer help without taking up permanent space
Copy the embed code and paste it into your website's HTML where you want the chat to appear. If you're using a website builder, add it to a custom HTML block.
Test the embed on a staging environment before deploying to production. Click
**Preview** in Cassidy to see what the embedded chat looks like before
publishing.
## Regenerate your embed URL or modal
If you need to regenerate the current embed credentials (for example, when you suspect they may have been exposed), click the **Regenerate Embed Url/Key** button. This will create a new embed key or URL and immediately invalidate all existing chats using the old one.
## Restrict access with secure tokens
By default, an embedded Agent is public. Anyone with the embed URL can chat with it. Whitelisted domains only control which sites may visually embed the iframe in a browser; they do not stop someone who has the URL from opening it directly. To allow only your authenticated users to chat, enable **Require Secure Token**.
With secure tokens enabled, every embedded chat request must include a short-lived token. Your backend mints that token using your Cassidy API key.
Never put your Cassidy API key in frontend code. Mint tokens only from your
backend, then pass the resulting token to the frontend page.
Use your own login system to confirm the visitor is allowed to use the Agent.
From your backend, call the [embed token endpoint](https://app.cassidyai.com/api-docs) with your Cassidy API key. The token defaults to a 1-hour lifetime, with a 7-day maximum.
```js theme={null}
const response = await fetch("https://app.cassidyai.com/api/assistants/embed/token/create", {
method: "POST",
headers: {
"x-api-key": "{YOUR_API_KEY}",
"Content-Type": "application/json"
},
body: JSON.stringify({
deployment_key: "YOUR_DEPLOYMENT_KEY",
expires_in_seconds: 3600
})
})
const { token, expires_at } = await response.json()
```
Return the token to your frontend.
* **Static iframe** — append the token to the embed URL as a fragment (`#token=...`). The embed reads the token from the URL when it loads. Your app is responsible for refreshing tokens before they expire — mint a new token from your backend and update the iframe `src` with the new fragment.
```html theme={null}
```
* **Modal** — fetch a token from your backend after authenticating the user, then pass it to `Cassidy.initialize` as `authToken`. Your app is responsible for refreshing tokens before they expire.
```html theme={null}
```
### Troubleshooting
If **Require Secure Token** is enabled and the embed does not receive a valid token, visitors will see an **Unauthorized** screen instead of the chat. This means the embed is working, but the token was missing, expired, or not passed correctly.
Common causes:
* The embed code on your website does not include a token (for example, the iframe URL is missing `#token=...`, or the modal was initialized without `authToken`).
* The token expired and your site has not refreshed it yet.
* Your backend is not minting tokens correctly, or the token was created for a different deployment key.
What to do:
* If you copied embed code from Cassidy before setting up secure tokens, update your website with the latest embed instructions above.
* Ask whoever manages your website to confirm tokens are being created on your backend and passed into the embed.
* Try reloading the page. If the error persists, contact your site administrator or Cassidy support.
## Next steps
Learn more about creating and configuring Agents.
Deploy your Agent to a dedicated email address.
Build a custom integration using the Cassidy API.
# Deploy to Google Chat
Source: https://docs.cassidyai.com/agents/deploy/google-chat
Deploy your Agent to Google Chat so your team can access it in Google Workspace.
Deploy your [Agent](/agents/overview) to Google Chat so team members can interact with it in direct messages and Spaces within Google Workspace.
**Prerequisites:**
* An Agent created in Cassidy
* Google Workspace admin access
* A [Google Cloud](https://console.cloud.google.com/) project (or the ability to create one)
## Connect Cassidy to Google Chat
Go to **Agents** and select the Agent you want to deploy. Click **Edit** to open the Agent settings.
Navigate to the **Deployments** tab and select **Google Chat**.
Copy the **Webhook URL** provided by Cassidy. You'll need this when configuring the Chat bot in Google Cloud.
Go to the [Google Cloud Console](https://console.cloud.google.com/). If you don't have an account, select your country, agree to the Terms of Service, and click **Agree and Continue**.
Go to [Create a Project](https://console.cloud.google.com/projectcreate). Enter your project name and organization, select a location, and click **Create**.
Navigate to the [Chat API Library](https://console.cloud.google.com/apis/library/chat.googleapis.com). Make sure the correct project is selected and click **Enable**.
Go to [Chat API Credentials](https://console.cloud.google.com/apis/api/chat.googleapis.com/credentials). Click the **Create Credentials** dropdown and select **Service Account**. Name it (for example, "Cassidy Service Account") and click **Create and Continue**. Skip optional steps and click **Done**.
On the **Credentials** tab, click the pencil icon next to the service account you just created.
Go to the **Keys** tab, click **Add Key**, then select **Create New Key**. Choose **JSON** and click **Create** to download the key file.
Go to [Chat API Configuration](https://console.cloud.google.com/apis/api/chat.googleapis.com/hangouts-chat) and set up the following:
* Check **Build this Chat app as a Workspace add-on**
* Fill in the **Application Info** (name, avatar URL, description)
* Ensure **Enable Interactive Features** is enabled
* Under **Connection Settings**, select **HTTP endpoint URL**
* For **Triggers**, choose **Use a common HTTP endpoint URL for all triggers** and paste the **Webhook URL** from Cassidy
* Under **Visibility**, select **Make this Chat app available to specific people and groups** and enter your email for testing
Click **Save**.
Return to your Agent's **Deployments** tab in Cassidy. Under **Service Account Key**, click **Upload JSON File** and upload the key file you downloaded.
Click **Create Google Chat Deployment**. Optionally toggle on **Show Knowledge Base References** to display source citations in responses.
Open Google Chat, start a new chat, and search for your Agent name. Send a message to confirm it responds.
If you only need a few people to access the Agent, enter their emails in the **Visibility** setting and skip publishing to the Marketplace.
## Publish to your workspace
To make the Agent available to your entire Google Workspace organization, publish it through the Google Workspace Marketplace.
Go to the [Apps Marketplace API](https://console.cloud.google.com/apis/library/appsmarket-component.googleapis.com) and click **Enable**.
Go to the [OAuth Consent Screen](https://console.cloud.google.com/auth/overview). Click **Get Started**, enter your app name, support email, and set the audience type to **Internal**. Click **Create**.
In the [Google Workspace Marketplace SDK](https://console.cloud.google.com/apis/api/appsmarket-component.googleapis.com/googleapps_sdk), go to **App Configuration**:
* Set app visibility to **Private**
* Set installation settings to **Individual + Admin Install**
* Ensure **Workspace add-on** is selected under App Integrations
* Enter your contact info for developer information
Click **Save Draft**.
Go to the [Store Listing](https://console.cloud.google.com/apis/api/appsmarket-component.googleapis.com/googleapps_sdk_publish) tab. Fill in the app details (name, description, graphics), save as draft, then click **Publish**.
Your Agent should now appear in the Google Workspace Marketplace under [internal apps](https://workspace.google.com/marketplace/mydomainapps).
## Using your Agent in Google Chat
### Direct messages
Search for the Agent by name and start a direct message conversation. The Agent remembers the full conversation history across the thread.
### Spaces
Add the Agent to a Google Chat Space and @mention it to start a conversation. The Agent replies in-thread and remembers messages where it was mentioned.
## Next steps
Make your Agent available in Slack channels and DMs.
Deploy your Agent to a dedicated email address.
Embed your Agent on your website for external users.
# Deploy to Microsoft Teams
Source: https://docs.cassidyai.com/agents/deploy/microsoft-teams
Deploy your Agent to Microsoft Teams so your team can chat with it in channels and direct messages.
Deploy your [Agent](/agents/overview) to Microsoft Teams so team members can chat with it in channels, group chats, and direct messages.
**May 2026 update:** Microsoft Teams changed its app and bot creation policies. Cassidy can no longer create the Microsoft Teams bot for you automatically, so this guide walks you through creating the bot in Microsoft Teams and using Cassidy to generate the app package.
**Prerequisites**
* An [Agent created in Cassidy](/agents/build-and-configure)
* Access to the Teams Developer Portal
* The ability to create a Microsoft Teams bot
* Permission to submit custom apps for approval in Microsoft Teams, or a Teams admin who can upload the app package for you
* Your Microsoft 365 Tenant ID
* A Teams admin who can approve the app after you submit it
## How Microsoft Teams deployment works
Cassidy generates the Microsoft Teams app package for you. You create the bot in the Teams Developer Portal, paste Cassidy's callback URL into the bot, download the app package from Cassidy, import the package into Teams, and submit the app for approval.
Publishing the app in the Teams Developer Portal submits the app to your organization. A Teams admin must approve the app in the Teams admin center, then install it for users or make it available for users to install.
## Deploy your Agent
In Cassidy, open the [Agent](/agents/overview) you want to deploy. Go to the **Deployments** tab and click **Connect** on the Microsoft Teams card.
Fill in the details Cassidy will use to generate the Microsoft Teams app package:
* **Short name** — The app name shown in Teams. Microsoft requires 30 characters or fewer.
* **Long name** — Optional. Use this if your full app name is longer than the short name.
* **Short description** — A brief description of the app.
* **Long description** — A fuller description for app review.
* **App color icon** and **App outline icon** — The icons shown in Teams.
Click **Continue**.
Open the [Teams Developer Portal bot management page](https://dev.teams.microsoft.com/tools/bots). Click **New bot**, give the bot a name, and create it.
In the bot's **Configure** tab, paste the callback URL from Cassidy into **Endpoint address** and save the bot.
In the bot's **Client secrets** tab, click **Create your first client secret** or **New client secret**.
Copy the client secret value shown after creation. Microsoft only shows this value once. Do not copy the secret hint.
Return to Cassidy and paste:
* **Bot ID** — On the Teams Developer Portal Bot management page, copy the value from the **Bot Id** column for the bot you created. You can also paste the full bot page URL and Cassidy will extract the Bot ID for you.
* **Client secret** — Paste the one-time secret value from the previous step.
* **Tenant ID** — Paste your Microsoft 365 Tenant ID.
You can find your Tenant ID in the Microsoft Entra admin center. Microsoft documents the official steps in [Find your Microsoft 365 tenant ID](https://learn.microsoft.com/en-us/sharepoint/find-your-office-365-tenant-id).
Click **Save and continue** before downloading the app package. The bot will not work until Cassidy has saved these credentials.
In Cassidy, click **Download Teams app package**.
Cassidy downloads a `.zip` file that contains the Teams app manifest and icons. The app package includes your bot ID, personal chat support, group chat support, channel support, and file support.
In the Teams Developer Portal, go to **Apps** and click **Import app**. Use the import button to select the `.zip` file you downloaded from Cassidy.
Cassidy already generated the app package with your bot configuration, so you do not need to manually add the bot after importing.
In the Teams Developer Portal, open **Publish > Publish to your org** and submit the app.
This does not immediately make the app available. It creates an approval request for your Teams admin.
Publishing can fail if your Microsoft Teams account does not have permission to submit custom apps for your organization. If you see a publish request error, send the generated `.zip` package to your Teams admin. Your Teams admin can upload and approve the app from the [Teams admin center Manage apps page](https://admin.teams.microsoft.com/policies/manage-apps).
After you submit the app for organization approval, return to Cassidy.
Cassidy already saved the bot credentials before package generation. You can configure whether the Agent shows Knowledge Base references and collects feedback from Teams users. If you need to repeat setup or rotate bot credentials, disconnect the deployment and connect Microsoft Teams again.
## Admin approval and installation in Teams admin center
After the app is submitted to your organization, a Teams admin must approve and publish it in the Teams admin center. Publishing makes the app eligible for your organization, but the admin still needs to decide who gets it.
Microsoft Teams can take a while to reflect approval, availability, and
install changes after an admin updates the app. If the app still appears as
pending or unavailable immediately after approval, wait and refresh Teams
before troubleshooting further.
Share this section with your Teams admin.
In the Teams admin center, go to [**Teams apps > Manage apps**](https://admin.teams.microsoft.com/policies/manage-apps).
Search for the app by name and open it.
Review the app details, permissions, publisher information, icons, and scope.
The app should show the same name and descriptions you entered in Cassidy.
Click **Publish** to make the app available to users in your organization.
Depending on your organization's Teams app policies, users may still need permission to install the app.
Open the **Users and groups** tab for the app.
Choose who should get the app:
* **Everyone** — Install or make the app available for all users in the organization.
* **Specific users or groups** — Install or make the app available only for selected people or groups.
* **No one** — Keep the app unavailable until the admin is ready.
Changes to app availability and installation can take time to propagate to users in Teams.
## Update your Teams app
You can change the name, description, icons, and other details for an existing Agent app in the same Teams Developer Portal you used during setup.
If you are updating an app icon, prepare the corresponding `.png` file:
* **Color icon** — A full-color, 192 × 192 px image
* **Outline icon** — A transparent, 32 × 32 px image with a white outline
See [Microsoft's Teams app icon guidelines](https://learn.microsoft.com/en-us/microsoftteams/platform/concepts/design/design-teams-app-icon-store-appbar) for detailed design requirements.
Go to the [Teams Developer Portal](https://dev.teams.microsoft.com/apps), select **Apps**, and open your Agent's app.
Under **Configure**, update the details you want to change:
* Open **Basic information** to change the app name, descriptions, or other app details.
* Open **Branding** to replace the **Color icon** or **Outline icon**.
Save your changes.
Under **Configure**, open **Basic information** and change **Version** to a higher number. For example, change `1.0.0` to `1.0.1`. Click **Save**.
Open **Publish > Publish to org** and click **Submit app update**.
If the update requires approval, a Teams admin must open [**Teams apps > Manage apps**](https://admin.teams.microsoft.com/policies/manage-apps), search for and open the app, then click **Publish update**. Your changes can take time to appear in Teams after approval.
## Chat with your Agent in Teams
### In a channel
To use the Agent in a Microsoft Teams channel, mention the app using **@** followed by its short name. Start a new post and @mention the Agent — it will respond in that post's thread. The Agent only has access to that specific post's conversation history.
### In a direct message
Start a new direct message to the Agent for a private, ongoing conversation. The Agent has access to the full chat history in DMs, giving it more context for follow-up questions.
For any user to DM the Agent, they need to manually add the app first. Otherwise they may see "You cannot send messages to this bot." To add the app:
1. Click **Apps** in the left sidebar
2. Search for the app by name and click on it
3. Click **Add**
4. Start a new chat addressed to the app
**Known limitations:**
* After adding or removing the Agent, the Teams app list may take a moment to update
* Bots in private channels are not supported
* Bots cannot see the subject line of messages
## Next steps
Make your Agent available in Slack channels and DMs.
Add your Agent to Google Chat spaces.
Deploy your Agent to a dedicated email address.
# Agent knowledge
Source: https://docs.cassidyai.com/agents/knowledge
Set up what your Agent knows by adding Knowledge Base search, referencing specific files, and connecting sources.
Give your Agent access to your company's documents so it can answer questions with accurate, cited responses. You can connect entire [Knowledge Base](/knowledge-base/overview) collections, reference specific files in your instructions, and control when the Agent searches.
Before configuring Agent knowledge, make sure your [Knowledge Base is set up](/knowledge-base/setup) with the documents and sources your Agent needs.
## Add Knowledge Base search
Go to **Agents**, find the Agent you want to configure, click **...** and select **Edit**.
In the **Setup** tab, scroll to the **Knowledge** section and click **+ Add**.
Browse your Knowledge Base and select the collections, folders, or individual documents you want your Agent to search. Click **Save** to confirm.
Once you add knowledge, the Agent searches it when answering questions and cites the sources it used.
## Smart Search
When knowledge is added, you can enable **Smart Search** to let the Agent decide when to search the Knowledge Base.
* **Smart Search on** -- The Agent only searches when it determines the Knowledge Base is likely to help answer the request. This reduces unnecessary searches and improves response speed.
* **Smart Search off** -- The Agent searches the Knowledge Base on every request, regardless of whether it seems relevant.
Enable Smart Search for Agents that handle a mix of general questions and company-specific inquiries. Disable it for Agents that should always ground their answers in your documents.
## Reference files in instructions
You can reference specific Knowledge Base items directly in your Agent's [instructions](/agents/build-and-configure#instructions) by typing **#** in the instructions field. This opens a search dialog where you can find and select documents.
When you reference an item this way:
* The Agent autonomously searches over that content when it's relevant to a user's question.
* The referenced item is automatically added to the Agent's Knowledge section.
### Pin content inline
Hover over a referenced item in the instructions field and click the **pin icon** to include the content directly in the prompt. Pinned content counts toward the model's token limit but guarantees the Agent always sees it in full — useful for critical guidelines, style guides, or reference tables.
Pinning only works when the content is small enough to fit inline. Larger documents should be added to the Knowledge section instead.
## When to use each approach
| Approach | Best for | How it works |
| - | - | - |
| **Knowledge section** | Large document sets the Agent searches on demand | Agent performs semantic search across all added sources |
| **# reference in instructions** | Specific documents the Agent should be aware of | Agent searches referenced content when relevant |
| **Pinned content** | Small, critical documents the Agent must always see | Content included directly in every prompt |
## Next steps
Upload documents, connect integrations, and import websites.
Learn about all the other settings you can configure on an Agent.
# Overview of Agents
Source: https://docs.cassidyai.com/agents/overview
Agents are AI teammates that answer questions, complete tasks, and take action across your tools — grounded in your company's knowledge.
Agents are AI teammates that answer questions, complete tasks, and take action across your tools. They're grounded in your company's [Knowledge Base](/knowledge-base/overview), follow your guidelines, and work alongside your team — a sales rep who knows every deal, a support lead who's read every ticket, or an HR specialist who never forgets a policy.
Build Agents in minutes with natural language — no code, no technical skills required. Cassidy puts the power to build AI in the hands of the people who know the work.
## What makes an Agent
Every Agent is built from a combination of settings that define how it behaves, what it knows, and what it can do.
* **AI model** — Choose any foundation model as the base, including models from OpenAI, Anthropic, and Google. Switch as better ones arrive. See [Choose the right AI model](/guides/choose-ai-model) for guidance.
* **Instructions and goals** — Describe your Agent's purpose in plain language. Define what it does, who it helps, and what rules to follow.
* **[Knowledge Base](/knowledge-base/overview) search** — Agents pull from the same sources your best people use — documents, wikis, transcripts, and more. Responses cite the exact source so every answer is traceable.
* **[Connectors](/agents/connectors/overview)** — Chat with live data from tools like HubSpot, Salesforce, Airtable, and Snowflake. Connectors query records, pull structured data, and perform actions like updating a contact or creating a ticket.
* **[Capabilities](/agents/capabilities/overview)** — Agents go beyond chat. Give them abilities like [web search](/agents/capabilities/web-search), [image generation](/agents/capabilities/image-generation), [artifacts](/agents/capabilities/artifacts), and [browser use](/agents/capabilities/browser-use).
* **[Advanced settings](/agents/advanced/code-execution-file-creation)** — Enable options like Code Execution & File Creation, which lets Agents analyze data, generate files, and handle large results from tools.
* **[Skills](/skills/overview)** — Attach reusable procedures, files, and tools the Agent can apply when a request matches.
* **Brand voice** — Train Agents on your style guides and sample content so every response matches how your company communicates.
* **[Call Workflow](/agents/call-workflow)** — Trigger multi-step [Workflows](/workflows/overview) directly from a conversation to take action across your stack.
* **Deployments** — Deploy to [Slack](/integrations/slack/deploy-agent), [Microsoft Teams](/agents/deploy/microsoft-teams), [Google Chat](/agents/deploy/google-chat), [email](/agents/deploy/email), or [embed on your website](/agents/deploy/embed). Agents live inside the tools your team uses every day.
## Default Agents
Cassidy provides default Agents for each base AI model. These Agents are not trained on your organization's [Knowledge Base](/knowledge-base/overview) but are useful for general tasks that don't require company-specific context.
## How Agents work across Cassidy
Agents power multiple features throughout the platform:
In [Chat](/guides/chatting-with-an-agent), Agents let you quickly switch between different contexts — each Agent brings its own instructions, knowledge, and tools to the conversation.
In [Workflows](/workflows/overview), you can use the [Generate Text with Agent](/reference/actions/generate-text-with-agent) action to apply an Agent's full configuration — instructions, Knowledge Base access, brand voice, and capabilities — to a Workflow step.
## Next steps
Create your first Agent from scratch or from a template.
Connect your Agent to your Knowledge Base for accurate, cited answers.
Add web search, image generation, artifacts, and more.
Reuse your team's procedures across Agents and Workflow AI actions.
Make your Agent available in Slack, Teams, or on your website.
# Personalize your chats
Source: https://docs.cassidyai.com/agents/personalize-your-chats
Tell Cassidy who you are, connect your business apps, and add Skills so every chat understands your role, your tools, and how you like to work.
A few minutes of setup makes every chat more useful, no matter which
[Agent](/agents/overview) you use. There are three ways to personalize your
chats, and all of them live under **Customize** in the sidebar:
* **Personalization** — Cassidy learns your name, role, and how you like
answers formatted.
* **Connectors** — The Agent can reach the business apps you use every day,
like Outlook or Google Sheets.
* **Skills** — Cassidy follows reusable instructions for recurring tasks, like
a meeting-prep routine your team has refined.
These are your personal settings: they shape your own chats without changing
any Agent for anyone else.
## Tell Cassidy who you are
Personalization shapes how Cassidy responds in your chats — the name it uses,
the context it assumes about your work, and the style of its answers.
Click **Customize** in the sidebar and select **Personalization**. The same
**Customize** menu is in the top-right corner of a new chat.
* **What should Cassidy call you?** — The name you want used in responses.
* **What do you do?** — Your role or focus, like "Sales leader" or
"Product manager". This gives Cassidy context for its answers.
* **How should Cassidy respond?** — Preferences, context, or a writing
style you want used across your chats, up to 2,000 characters. For
example: "I manage the enterprise sales team focused on AmLaw 200 firms.
Keep responses concise and action-oriented. Use bullet points for key
takeaways."
Click **Save personalization**.
Your preferences now apply to every new chat.
Personalization applies to your own chats in the Cassidy web app. It is not
included in [Workflow](/workflows/overview) runs or external Agent deployments
like [Slack](/integrations/slack/deploy-agent) or [Microsoft
Teams](/agents/deploy/microsoft-teams), and changing your name here does not
change your profile name. For organization-wide rules that apply to every
Agent and Workflow, see [Global instructions](/settings/global-instructions).
## Connect your business apps
[Connectors](/agents/connectors/overview) let the Agent read and update data in
tools like Outlook, Google Calendar, and Google Sheets during a chat — look up
today's meetings, draft an email, or pull numbers from a spreadsheet. Connect
an app once under **Customize** → **Connectors** and it's available in every
chat in the Cassidy web app.
You stay in control: each Connector has action permissions that decide what
the Agent can do without asking and what needs your approval first. See [Connect
and manage business apps](/agents/connectors/overview) for the full
walkthrough, including approvals and managing connections.
## Add Skills
[Skills](/skills/overview) are reusable instructions, files, and tools — like
"Daily Workday Brief" or "Meeting Prep" — that Cassidy applies automatically
when they match your request, so recurring tasks come out the way you want
every time. Open **Customize** → **Skills** to see your active Skills, and
browse the directory to install more from your team's library.
See [Use Skills](/skills/using-skills) to learn how to install Skills and how
Cassidy applies them in chat.
## Next steps
Put your personalization to work in your first conversations.
Set up Connectors and control action approvals.
Install shared Skills and see how Cassidy applies them.
Create an Agent tailored to your team's work.
# Share and manage Agents
Source: https://docs.cassidyai.com/agents/sharing-and-management
Manage Agent permissions, organize with folders, and publish versions.
Control who can access and edit your Agents, organize them into folders, and manage version history.
## Organize Agents with folders
Folders help keep your Agent library organized and let you set permissions at the folder level.
Click **Agents** in the left sidebar.
Click **Create a Folder** or the **+** icon next to the **Folders** heading in the sidebar.
Enter a name and choose an access level:
* **Team can edit** — Anyone in your organization can view and edit Agents in this folder.
* **Team can view** — Anyone can view but not edit.
* **Restricted** — Only specific people and [groups](/settings/roles-and-groups) you add can access the folder.
Drag and drop Agents from the main area into the folder. You can move Agents between folders at any time.
## Manage permissions
### From the Agents page
Update folder permissions by clicking **...** on a folder and selecting **Share**. From there you can:
* Change the access type between **Team can edit**, **Team can view**, and **Restricted**.
* When using **Restricted** access, add specific people or [groups](/settings/roles-and-groups) who should have access. Start typing a name or email address and select from the list. For each person or group, set either **Can edit** or **Can view** permissions.
* Remove access by clicking the **x** next to a person or group.
Set up [roles and groups](/settings/roles-and-groups) to simplify permission
management. Instead of adding individuals one by one, create groups like
"Sales Team" or "Support Leads" and grant access to the entire group at once.
### Grant access to Agent chat history
Sharing an Agent folder does not automatically let recipients view other team members' conversations. You can separately grant a person or group access to all chat history for the Agents in that folder.
Chat history can contain sensitive information. Only grant this access to
people who need to review conversations for responsibilities such as quality
assurance, support oversight, or compliance.
By default, only Admins can grant or revoke chat history access. To delegate this responsibility, create a [custom role](/settings/roles-and-groups#create-a-custom-role) with the **Grant Access to Agent Chat History** privilege.
On the **Agents** page, click **...** on the folder containing the Agents, then select **Share**.
Add a person or group, then choose whether they **Can view** or **Can edit** the Agents in the folder.
To update someone who already has access, find the person or group in the sharing dialog and open the **...** menu next to their name.
Select **Can view chat history**, then confirm the warning. The person or group can now view conversations that any team member has had with the Agents in this folder.
To revoke access, open the folder's sharing settings, click **...** next to the person or group, and clear **Can view chat history**. Removing chat history access does not remove their existing **Can view** or **Can edit** access to the Agents.
### From the Agent editor
You can also manage permissions while editing an Agent:
In the Agent editor, click **...** and select **Organize & Share Agent** under **Sharing**.
Select where to save the Agent — **Team**, **Private**, or a specific folder. You can create new folders directly from this dialog.
Click **Save** to apply the new permissions.
To make an Agent private, drag it into the **Private** section or a private
folder on the Agents page.
## Pin an Agent
Pin an Agent when you want quick access from the main sidebar and Agent selectors. Only published Agents can be pinned.
Open the Agent's **...** menu and select **Pin to sidebar**. Personal pins are visible only to you.
Admins with the **Customize Pinned Resources** privilege can instead select **Pin for organization**. An organization pin appears for everyone who already has access to the Agent.
Pinning an Agent for your organization does not share it. If the Agent is
private or shared with a limited group, only those people will see the pin.
## Publish versions and review history
Agents use a versioning system so you can test changes before making them live.
### Save drafts
While editing, click **Draft** then **Save Without Publishing** to save your changes without making them available to end users. This lets you iterate on changes over time.
### Publish a version
Click **Publish** or go to **Draft** and select **Publish Current Draft**.
Enter a **Version Name** and optional description to document what changed. This helps you track changes over time.
Click **Create Version** to save the version, or **Publish** to save and immediately make it live.
### Review version history
Open the **Draft** dropdown at the top of the Agent editor to see all published versions and what changed since each one.
To revert to a previous version, click on the desired version. A modal shows the version details and changes being restored. Click **Restore Version** to confirm.
Reverting does not delete newer versions — you can go back to any saved
version at any time.
## Next steps
Create a new Agent or edit an existing one.
Set up user groups to simplify permission management.
# Install the Chrome and Edge extension
Source: https://docs.cassidyai.com/extensions/chrome
Access your Cassidy Agents from any webpage with the browser extension for Chrome and Edge.
The Cassidy browser extension lets you chat with your [Agents](/agents/overview) while browsing any website. Summarize articles, draft email replies, write LinkedIn messages, and analyze page content — all without leaving your browser tab.
The extension works with both **Google Chrome** and **Microsoft Edge**.
## Install the extension
Go to the [Cassidy AI extension](https://chrome.google.com/webstore/detail/cassidyai/kmkfkldjbchieogojgcbalncifahjogg) in the Chrome Web Store. You can also access this store from Microsoft Edge.
Click **Add to Chrome** (in Chrome) or **Get** (in Edge) to start the installation.
A dialog will ask for permission to add the extension. Review the request and click **Add extension** to allow Cassidy to read page content.
For quick access, pin Cassidy to your browser toolbar. Click the **puzzle piece** icon in the toolbar to open the extensions menu, then click the **pin** icon next to Cassidy.
Once pinned, you'll see the Cassidy icon in your toolbar. Click it to open the extension and start chatting with your Agents.
## Configure the extension
After installing, you can customize when and how the extension appears.
Locate the Cassidy tag in the bottom-right corner of your browser window. Hover over it to reveal the **gear** icon, then click it to open settings.
In the settings menu, configure when to show the Cassidy tag:
* **Show Cassidy icon on all browser tabs** — displays the tag on every webpage you visit.
* **Show Cassidy icon when selecting text** — displays the tag only when you highlight text on a page.
Your preferences save automatically when you close the settings menu.
When the Agent needs to read your current page, it requests your permission. You can respond in one of three ways:
* **Always allow** — the Agent reads the page automatically on every message without prompting again.
* **Allow once** — the Agent reads the page for this message only and asks again next time.
* **Deny** — the Agent responds without reading the page.
You can change this preference at any time from the **Tools** dropdown in the chat input area. Toggle **View Page** on or off to control whether the Agent automatically reads pages.
## What you can do with the extension
### Draft email replies
When viewing an email in Gmail, click the **Automate** button that appears next to the reply buttons. The Cassidy chat panel opens with a suggested prompt based on the email thread, giving you a starting point for your reply.
### Write LinkedIn messages
On LinkedIn, the **Automate** button appears next to message controls. Click it to open the chat panel with a pre-filled prompt that helps you craft a personalized message based on the conversation context.
### Summarize and analyze webpages
Click the Cassidy tag on any webpage to open the chat panel. Ask your Agent to summarize the page, extract key takeaways, or answer questions about the content. The Agent automatically reads the page to provide context-aware responses.
### Work with selected text
Highlight any text on a page to trigger the Cassidy tag (if the display setting is enabled). Click it to open the chat panel with the selected text included, so you can ask your Agent to rewrite it, translate it, explain it, or use it as context for a task.
## Next steps
Customize the Agent your extension uses with instructions, knowledge, and
capabilities.
Bring Cassidy directly into your Outlook inbox.
Add Cassidy to your iPhone or Android home screen.
# Deploy extensions for your organization from Microsoft 365
Source: https://docs.cassidyai.com/extensions/microsoft-365-admin-deploy
Install Cassidy's Office and Outlook extensions for your entire team from the Microsoft 365 admin center.
If you're a Microsoft 365 admin, you can deploy the Cassidy extensions to everyone in your organization — or to specific users and groups — so team members don't need to install them individually. This uses Microsoft's built-in **Integrated Apps** portal.
**Prerequisites**: You need **Global Admin** or **Exchange Admin** access in
your Microsoft 365 tenant.
## Deploy a Cassidy extension
Sign in to the [Microsoft 365 admin center](https://admin.microsoft.com) and go to **Settings** → **Integrated apps** (you may need to click "Show all" for Settings to appear).
Click **Get apps** to open the Microsoft Marketplace. Search for **Cassidy** and select the extension you want to deploy:
* **Cassidy for Outlook** — brings Agents into the Outlook inbox
* **Cassidy** — brings Agents into Word, Excel, and PowerPoint
Click **Deploy** (or **Get it now** followed by **Deploy**) on the extension listing. This opens the deployment configuration wizard.
Select who the extension should be deployed to:
* **Entire organization** — every user in your tenant
* **Specific users/groups** — only the people or Microsoft 365 groups you select
## Manage the deployment
After deploying, you can update who has access at any time:
1. Go to **Settings** → **Integrated apps** in the [Microsoft 365 admin center](https://admin.microsoft.com).
2. Find the Cassidy extension in the **Deployed apps** list and click on it.
3. Under the **Users** tab, update the assignment to add or remove users and groups.
4. Click **Update** to save your changes.
## Next steps
Individual installation instructions for end users.
Individual installation instructions for Word, Excel, and PowerPoint.
# Install the Microsoft Office extension
Source: https://docs.cassidyai.com/extensions/microsoft-office
Access your Cassidy Agents in Microsoft Word, Excel, and PowerPoint to generate content, edit files, and answer questions without leaving the app.
The Cassidy Microsoft Office extension brings your [Agents](/agents/overview) into Word, Excel, and PowerPoint. Draft and rewrite documents, analyze and edit workbooks, generate and refine slides, and tap into your company's [Knowledge Base](/knowledge-base/overview) — all from a side panel inside each app.
A single installation enables Cassidy in all three apps.
## Install the extension
Go to the [Cassidy Microsoft Office extension](https://appsource.microsoft.com/en-us/product/office/WA200008195) in the Microsoft Office Store.
Click **Get it now** to begin the installation process.
If you're not already signed in, you'll be prompted to log in to your Microsoft account before continuing.
A confirmation dialog shows your account information. Verify you're signed in with the correct account and click **Get it now**. Click **Edit your details** if you need to make changes.
A dialog asks if you'd like to install Cassidy for Word, Excel, and PowerPoint. Click **Continue** to proceed.
Once installed, you'll see the Cassidy icon in the toolbar of Word, Excel, and PowerPoint. You can also find it through each app's **Add-ins** menu.
The first time you open the extension in any of the three apps, you'll be prompted to sign in to your Cassidy account. Signing in once covers Word, Excel, and PowerPoint.
## Use Cassidy in Word
Open the Word document you want to work with.
Click the **Cassidy** icon from your toolbar or the Add-ins menu. The Agent opens in a side panel.
A prompt is automatically populated in the chat box based on your document, giving you a starting point. You can ask the Agent to draft new content, rewrite a section, summarize the document, or answer questions using your [Knowledge Base](/knowledge-base/overview).
Once you're happy with the generated content, click **Add to Document** to insert it directly into your Word document.
## Use Cassidy in Excel
Use Cassidy in Excel when you want an Agent to help with the workbook you have open. Ask questions about your data, fill in spreadsheet answers, build charts, and more.
Select the cell or range you want the Agent to work with. Cassidy shows your current Excel selection above the chat box so you can confirm the Agent has the right context.
Click the **Cassidy** icon from your toolbar and ask for the outcome you want. For example, ask the Agent to answer RFP questions, generate data insights, or create a chart.
If the Agent needs to change your workbook, Cassidy shows an approval card before applying the edit. Review the pending edits, then choose **Allow once**, **Allow all edits**, or **Deny**.
Use the edit permission button in the chat toolbar to choose how Cassidy handles future workbook edits. Select **Ask before edits** when you want to review each change, or **Accept all edits** when you want the Agent to apply edits without asking again in that chat.
## Use Cassidy in PowerPoint
Use Cassidy in PowerPoint when you want an Agent to help with the deck you have open. Generate new slides, rewrite copy, restructure bullets, draft speaker notes, and ask questions about your presentation — all without leaving PowerPoint.
Starting a new presentation or making substantial changes through
conversation? Use [Cassidy Slides](/slides/create-and-export-presentations),
then export the finished deck to PowerPoint. Use the Office extension for
native edits to a PowerPoint file you already have open.
Select one or more slides in the thumbnail panel, or click a shape on a slide, when you want the Agent to focus on a specific part of the deck. Cassidy shows your selection above the chat box, and the Agent always has visibility into your full deck so it can place new slides in the right spot.
Click the **Cassidy** icon from your toolbar and ask for the outcome you want. Common prompts:
* Polish the selected slide's wording, structure, and visual clarity
* Add a new slide to this presentation about a given topic
* Summarize this presentation
Before changing your deck, Cassidy shows an approval card describing what the Agent wants to do. Choose **Allow once**, **Allow all edits**, or **Deny**.
Use the edit permission button in the chat toolbar to choose how Cassidy handles future deck edits. Select **Ask before edits** when you want to review each change, or **Accept all edits** when you want the Agent to apply edits without asking again in that chat.
## Next steps
Customize the Agent your extension uses with instructions, knowledge, and
capabilities.
Add company documents so your Agent gives accurate, context-aware answers in
Word, Excel, and PowerPoint.
Install Cassidy extensions for your entire team from the Microsoft 365 admin
center.
Build, refine, present, and export a new deck through an Agent conversation.
# Add Cassidy to your phone's home screen
Source: https://docs.cassidyai.com/extensions/mobile
Add Cassidy to your iPhone or Android home screen so Chat opens like an app. Chat with Agents, continue conversations, and run Workflows from your phone.
You can chat with your [Agents](/agents/overview) from your phone. Add Cassidy to your home screen so it opens like an app — with its own icon, and without the browser address bar.
On your phone, Cassidy Chat is the full experience: start and continue conversations, switch Agents, attach files, use voice, and run [Workflows](/workflows/overview). Use a desktop browser to build Agents, edit Workflows, and manage your [Knowledge Base](/knowledge-base/overview).
## Add to your home screen
Sign in at [app.cassidy.ai](https://app.cassidy.ai) on your phone first, then follow the steps for your device.
Use **Safari**. Other iPhone browsers may not add Cassidy as an app.
Open **Safari** and go to [app.cassidy.ai](https://app.cassidy.ai). Sign in if you aren't already.
Tap the **•••** button in the Safari toolbar, then tap **Share**.
If you already see a **Share** button — a square with an arrow pointing up — tap that instead.
The share sheet opens with apps like Messages and Mail. Scroll down and tap **Add to Home Screen**.
If you don't see that option, scroll to the bottom, tap **Edit Actions**, and add **Add to Home Screen**.
Confirm the name **Cassidy**. If you see **Open as Web App**, leave it turned on so Cassidy opens like an app instead of a Safari tab.
Tap **Add**. The Cassidy icon appears on your home screen.
Tap the Cassidy icon. Chat opens without the Safari address bar.
Cassidy is on your home screen and opens like an app.
These steps also work on iPad. Add Cassidy from Safari, then tap the icon
on your Home Screen or in the Dock.
Use **Chrome**. After you tap **Install and create shortcut**, Chrome may ask whether
to **Install** Cassidy or **Create shortcut**. Choose **Install**.
Open **Chrome** and go to [app.cassidy.ai](https://app.cassidy.ai). Sign in if you aren't already, then tap the **three-dot** menu in the top-right corner of Chrome.
Tap **Install and create shortcut**. Some phones show **Add to Home screen** or **Install app** in this menu instead. If you see **Install app**, tap that, then skip the next step.
If Chrome asks how to add Cassidy, tap **Install**. Don't choose
**Create shortcut** — shortcuts open in Chrome with the address bar.
Review the Cassidy name and icon, then tap **Install**.
Tap the Cassidy icon on your home screen or in your app drawer. Chat opens without the Chrome address bar.
Cassidy is installed and opens like an app.
Firefox and Samsung Internet can also add Cassidy to your home screen from
their menus. Look for **Install** or **Add page to Home screen**.
## Use Cassidy on your phone
After you add Cassidy, tap the icon anytime to open Chat. If you're asked to sign in, use the same account you use on desktop.
You can:
* Start a new chat with the **+** button
* Open past chats from the **menu** in the top-left corner
* Switch [Agents](/agents/overview)
* Send messages, attach files, and use voice
* Run a [Workflow](/workflows/overview) from Chat
* Add items from your [Knowledge Base](/knowledge-base/overview) to a message
* Share a chat from the header
For a full walkthrough of Chat, see [Chat with an Agent](/guides/chatting-with-an-agent).
## Troubleshooting
Make sure you're in **Safari**, not Chrome or an in-app browser (for
example, a link opened from Slack or Gmail). Open [app.cassidy.ai](https://app.cassidy.ai)
in Safari itself.
Also avoid **Private Browsing**. Close the private tab, open a regular Safari
tab, and try again.
If the action still doesn't appear, open the share sheet, scroll to the
bottom, tap **Edit Actions**, and add **Add to Home Screen**.
On iPhone, delete the home screen icon, add Cassidy again, and leave **Open
as Web App** turned on.
On Android, choose **Install** instead of **Create shortcut** if Chrome
asks.
Sign in at [app.cassidy.ai](https://app.cassidy.ai) in a regular browser tab
first, then add Cassidy to your home screen again. Private or incognito
tabs won't keep you signed in.
Still stuck? Contact support at [support@cassidy.ai](mailto:support@cassidy.ai).
## Next steps
Select Agents, upload files, use tools, and continue conversations.
Use Cassidy while you browse on your computer.
# Install the Outlook extension
Source: https://docs.cassidyai.com/extensions/outlook
Access your Cassidy Agents directly in Outlook to draft replies, summarize threads, and automate email tasks.
The Cassidy Outlook extension brings your [Agents](/agents/overview) into your inbox. Draft email replies, summarize long threads, and work with email content — all from a side panel within Outlook.
## Install the extension
Go to the [Cassidy Outlook extension](https://appsource.microsoft.com/en-us/product/office/WA200008206) in the Microsoft Office Store.
Click **Get it now** to begin the installation process.
If you're not already signed in, you'll be prompted to log in to your Microsoft account before continuing.
A confirmation dialog shows your account information. Verify you're signed in with the correct account and click **Get it now**. Click **Edit your details** if you need to make changes.
A dialog asks if you'd like to install Cassidy for Outlook. Click **Continue** to proceed.
Once installed, find the Cassidy icon by clicking the **three dots** (more actions) at the right of the Outlook toolbar.
For quicker access, click **Customize toolbar** from the overflow menu and add Cassidy to your main toolbar.
## Use the extension
Once installed, open any email and click the **Cassidy** icon in your toolbar to open the Agent side panel. From there you can draft replies, summarize threads, and ask questions about email content — all without leaving Outlook.
### Draft email replies
Open the email you want to respond to.
Click the **Cassidy** icon from your toolbar. The Agent opens in a side panel next to your email.
A prompt is automatically populated in the chat box based on the email content, giving you a starting point for your reply.
Once you're happy with the generated reply, click **Add to Reply** to insert it directly into your email.
### Summarize email threads
Open a lengthy email conversation you need to catch up on.
Click the **Cassidy** icon from your toolbar and ask for a summary of the thread.
Cassidy analyzes the conversation and provides a concise summary of important points, action items, and decisions.
## Next steps
Customize the Agent your extension uses with instructions, knowledge, and capabilities.
Bring Cassidy into your documents, spreadsheets, and presentations.
Install Cassidy extensions for your entire team from the Microsoft 365 admin center.
# Analyze data with an Agent
Source: https://docs.cassidyai.com/guides/analyze-data-with-agent
Ask an Agent to analyze spreadsheets, CSVs, and structured files to find insights, create charts, and answer questions.
Agents can analyze structured data like CSVs, spreadsheets, and tabular files. Instead of treating files as plain text, an Agent can write and run code to inspect the actual data, calculate results, create visualizations, and explain the findings in conversation.
This is powered by [Code Execution & File Creation](/agents/advanced/code-execution-file-creation), which is enabled by default for new custom Agents.
## Before you start
If data analysis is not available for an Agent, edit the Agent and make sure
**Code Execution & File Creation** is enabled under **Customize** >
**Advanced Settings**.
## Provide data for analysis
You can provide data in several ways:
* **Upload a file in Chat** — Attach a CSV, Excel file, or other structured data file directly in the conversation.
* **Reference a Knowledge Base file** — If your data is already in the [Knowledge Base](/knowledge-base/overview), reference it in the conversation or in the Agent's instructions using **#**.
* **Use Connector results** — If your Agent has [Connectors](/agents/connectors/overview), Code Execution & File Creation can help the Agent work with large structured results from those tools.
## Analyze a file in Chat
Open [Chat](/guides/chatting-with-an-agent) and choose the Agent you want to use.
Upload a spreadsheet, CSV, or other structured file.
Ask the Agent what you want to learn from the data. For example:
*"Analyze this sales data and show monthly revenue trends, top-performing products, and any unusual changes."*
The Agent writes and runs code behind the scenes, then returns the results in the conversation. It can include summaries, tables, charts, or downloadable files depending on your request.
## Use Knowledge Base files
If you want the Agent to analyze the same file regularly, add the file to the Agent's instructions or reference a [Knowledge Base](/knowledge-base/overview) file in the conversation.
Knowledge Base files can also come from synced integrations like Google Drive, OneDrive, SharePoint, and Box, so the Agent can analyze the latest version.
## Tips for best results
The more detail you provide, the fewer assumptions the Agent needs to make.
* **Use specific column names** — Reference columns by their actual names, such as "Location" or "Revenue."
* **Explain value formats** — Describe whether states are abbreviated, dates use a specific format, or currencies are mixed.
* **Provide context about the data source** — Explain where the data came from and what each table represents.
* **Use a powerful model** — Data analysis works best with high-powered, reasoning-capable models. See [Choose the right AI model](/guides/choose-ai-model).
## Related
Learn how the Agent setting works and how to turn it on or off.
Generate documents, spreadsheets, presentations, and reports.
Analyze files and generate reports in repeatable Workflows.
# Chat with an Agent
Source: https://docs.cassidyai.com/guides/chatting-with-an-agent
Everything you need to know about chatting: selecting Agents, uploading files, using tools, voice mode, and more.
Cassidy's Chat interface is where you interact with AI [Agents](/agents/overview), access your [Knowledge Base](/knowledge-base/overview), and run [Workflows](/workflows/overview) — all in one place.
To start a new chat, click **New Chat** in the sidebar or on Home. The **Chats** tab on Home is where you can find and reopen previous conversations.
You can also chat from your [phone](/extensions/mobile), through the [Chrome extension](/extensions/chrome), [Outlook extension](/extensions/outlook), [Microsoft Office extension](/extensions/microsoft-office) (Word, Excel, and PowerPoint), and external deployments like [Slack](/integrations/slack/deploy-agent), [Microsoft Teams](/agents/deploy/microsoft-teams), [Google Chat](/agents/deploy/google-chat), [email](/agents/deploy/email), [embed](/agents/deploy/embed), and [API](/agents/deploy/api).
## Find chats and resources
Click **Search** in the sidebar, or press **Command + K** on a Mac or **Ctrl + K** on Windows. You can search your chats, meetings, Agents, Workflows, projects, Skills, files, and Cassidy help articles from one place. Use the tabs at the top when you want to narrow the results.
Search only shows resources you can access. Draft Agents, Workflows, and Skills do not appear because they are not ready to use.
Choosing a result takes you to the most useful next step. Agents start a chat, Workflows open in the Run view, Skills are added to a new chat, projects filter the **Chats** tab, and files open in a preview. You can also search for destinations such as **Account Settings → Notifications**.
## Select an Agent
Every chat uses an Agent. You can switch between custom Agents, foundational models, and Cassidy's pre-built Agents at any time.
Click the Agent dropdown at the top of the chat or in the text box to see your options.
You'll see three categories:
* **Custom Agents** — built by your team, trained on your [Knowledge Base](/knowledge-base/overview) with tailored instructions
* **Default Agents** — foundational models like GPT, Claude, and Gemini without your business context
* **Pre-built Agents** — Cassidy's ready-made options like the Data Analyst and Cassidy Help Agent
Default Agents don't have access to your company's Knowledge Base or custom instructions.
Hover over a published Agent, open its **...** menu, and select **Pin to sidebar**. Pinned Agents appear in the **Pinned** section of your sidebar and near the top of the Agent list. Draft Agents must be published before you can pin them.
Need a different Agent? Click the dropdown again and select a new one. The chat continues with the new Agent — no need to start over.
When chatting with a Q\&A Agent, responses include source citations that link
back to your Knowledge Base so you can verify the information.
## Personalize your chat
Tell Cassidy your name, role, and response preferences so every chat is tailored to you, no matter which Agent you use. Open **Customize** → **Personalization** from the sidebar or from the top-right corner of a new chat.
See [Personalize your chats](/agents/personalize-your-chats) for the full walkthrough and where your preferences apply.
For organization-wide AI behavior rules that apply to every Agent and Workflow, see [Global instructions](/settings/global-instructions).
## Reference your Knowledge Base
You can pull specific items from your [Knowledge Base](/knowledge-base/overview) directly into a chat to ask targeted questions.
In the chat text box, type **#** to open a search dropdown for your Knowledge Base.
Start typing keywords to filter results. Click the item you want to reference — it appears as a tag in your message.
Send your message with the referenced item. The Agent uses that specific document as context for its response. For example:
* "Can you summarize the main points of this employee handbook?"
* "How many vacation days am I entitled to according to this policy?"
* "What is the process for requesting time off?"
The **#** reference is useful when you want to point the Agent at a specific
document for a single question. To have an Agent always search certain
Knowledge Base items, add them to the Agent's configuration — see [Build and
configure an Agent](/agents/build-and-configure) for details.
The **#** picker can include recorded [meetings](/meetings/getting-started),
not only Knowledge Base items. To search **across** your meeting library in
chat (with citations back to recordings), add the [Meetings
Connector](/agents/connectors/meetings) to the Agent — see [Chat with your
meetings](/meetings/knowledge-base).
## Upload files and media
Share files, images, videos, and audio directly in chat to ask questions about their content. These uploads are temporary — they are not saved to your Knowledge Base.
In the bottom-left corner of the text box, click **+** to open attachment options.
Select **Attach a File** or **Attach an Image** from the menu. You can also drag and drop files directly into the chat window.
Once uploaded, the Agent can analyze the content. Try prompts like:
* "Summarize the key findings in this report"
* "What text is visible in this screenshot?"
* "Extract the data from this chart"
Uploaded files are temporary and tied to the chat session. If you need to
store a file permanently, [upload it to your Knowledge
Base](/knowledge-base/setup) first, then reference it with **#**.
## Use the tools picker
Click **Tools** at the bottom of the text box to see everything available in
the current chat. From here you can turn
[capabilities](/agents/capabilities/overview) such as [Web
Search](/agents/capabilities/web-search), [Image
Generation](/agents/capabilities/image-generation),
[Artifacts](/agents/capabilities/artifacts), and [Browser
Use](/agents/capabilities/browser-use) on or off for the chat.
The menu also lists your [Connectors](/agents/connectors/overview). Your own
Connectors follow your account settings rather than per-chat toggles. Select
**Add connector** to browse apps or **Manage connectors** to reconnect, change
action permissions, or turn a Connector off. Connectors the Agent's builder
added appear under **Enabled on Agent**. A warning icon means you need to
reconnect.
[Code Execution & File Creation](/agents/advanced/code-execution-file-creation) is configured on the Agent itself. New custom Agents have it enabled by default. If it is missing, edit the Agent and enable **Code Execution & File Creation** under **Customize** > **Advanced Settings**.
## Use voice mode
Voice mode lets you have a spoken conversation with your Agent instead of typing. Click the **microphone** icon in the text box to start speaking. The Agent transcribes your speech, processes it, and responds — both in text and, optionally, with audio playback.
## Use the writing editor
The writing editor is a side-by-side panel where you can draft and refine content while chatting with an Agent.
Click **Open editor** in the top-right corner of the chat interface.
Type directly in the rich text editor while chatting with the Agent. This is useful for researching ideas, drafting content, or getting real-time writing assistance.
When the Agent generates something you want to keep, click **Add to Editor** on the message. The content is automatically added to your document.
Click **File** then **Save to Knowledge Base** to store your document permanently. Choose a name and folder location, then click **Save**.
You can also export to Microsoft Word or PDF format.
Once saved, changes sync automatically between the writing editor and the Knowledge Base document.
The writing editor is tied to each individual chat. Save your work to the
Knowledge Base before closing if you want to keep it.
## Run a Workflow in chat
You can execute [Workflows](/workflows/overview) directly within a chat conversation to automate tasks without leaving the interface.
In the text box, click the **Workflows** button to see available Workflows.
Choose the Workflow you want to run from the list.
A form replaces the text box with input fields for the Workflow. Fill in the required information.
Click **Generate** to run the Workflow. Results appear directly in the chat.
After the Workflow runs, you can ask follow-up questions, refine inputs, or explore the results further in the same chat.
## Use a Skill
[Skills](/skills/overview) give Agents reusable procedures, files, and tools for specialized tasks. Installed Skills are available across your chats, while Agent-attached Skills are available whenever you use that Agent.
Agents choose relevant Skills automatically based on each Skill's name and description. To select one yourself:
Type **/** in the chat box.
Choose a published Skill under **Current Agent's Skills** or **My Skills**.
Continue writing your request and send the message. The Agent reads the selected Skill before responding.
See [Use Skills in chat and Workflows](/skills/using-skills) to install Skills and understand automatic selection.
## Use the prompt library
The prompt library lets you create reusable prompt templates so you can quickly apply consistent instructions across chats.
### Manage your prompts
In the chat text box, type **/** and click **Manage prompt library** from the menu.
Click **+ New prompt**. Describe what you want, and Cassidy generates a refined prompt for you. Or click **Create prompt manually (advanced)** to write it yourself.
When writing prompts manually, you can:
* Use **\[brackets]** for placeholders that change each time (e.g., \[professional] or \[witty] for tone)
* Type **#** to reference [Knowledge Base](/knowledge-base/overview) items
* Add example outputs so the Agent matches your preferred style
Click **Save** to store it. You can then click **Use prompt** to apply it immediately.
Prompts created in the library are visible to everyone in your organization.
### Apply a prompt in chat
The menu shows Cassidy's default prompts (like **Improve writing** and **Summarize**) and your custom prompts.
Click a custom prompt to insert it. Replace any placeholders with your actual values — these edits do not change the saved template.
Send the message. The Agent generates a response using your prompt template.
For default prompts like **Improve writing** or **Summarize**, a quick form
appears where you paste your text and click **Generate**.
## Analyze data
Upload spreadsheets or data files and let the Agent create charts, run calculations, and extract insights.
Choose the **Data Analyst** default Agent, or use a custom Agent. New custom Agents have [Code Execution & File Creation](/agents/advanced/code-execution-file-creation) enabled by default.
Click **+** and attach a CSV or Excel file, or drag and drop it into the chat.
Describe what you need:
* "Create a bar chart showing sales by region"
* "What are the key trends in customer behavior?"
* "What was the total revenue for Q1?"
Click **Analyzed sources** in the results, then click the code icon (`>`) next to any step to see the Python code the Agent used to process your data.
* **Use CSV or Excel format** — these are the only supported file types for data analysis
* **Organize data in rows and columns** — each row is a record, each column is a variable
* **Include descriptive column headers** in the first row — avoid blank rows above the headers
* **Keep data consistent** — no empty rows between entries, no multiple tables in one file, avoid multiple worksheets
Code Execution & File Creation can also:
* **Manipulate branded templates** — fill out forms, convert reports to presentations, edit Word documents and PDFs
* **Create synthetic data** — generate sample datasets for testing or demonstrations
For more on generating files, see [Create files in Cassidy](/guides/create-files).
## Edit and regenerate messages
You can modify a sent message and have the Agent generate a new response.
Move your cursor over the message you want to change. An edit icon appears on the right.
Click the edit icon, modify your text, and press **Enter**. The Agent generates a new response based on your updated message.
Click the left and right arrows at the top of the Agent's response to cycle through all generated versions.
You cannot edit Agent messages directly, but you can click **Regenerate** to
produce a new response with the same prompt.
## Branch a conversation
Branching creates a copy of a conversation up to a specific message, so you can explore a different direction without losing the original thread.
Open a chat and scroll to the message you want to branch from.
Click the **...** menu below the message and select **Branch in new chat**.
A new chat opens in a separate tab with the full conversation history up to that message. The original chat remains unchanged. The new chat is labeled "Branched from \[Chat Title]."
## Share and organize chats
Chats use the same sharing model as [Agents](/agents/sharing-and-management) and [Workflows](/workflows/sharing-and-deployment) — you can share with specific teammates, [groups](/settings/roles-and-groups), or your whole organization, and set each person's access to **View** (read-only) or **Edit** (can send messages).
### Share a chat
Open the **...** menu on any chat and select **Share**, or click the **Share** button in the chat header. Choose who can access it and set their permission level. Sharing a chat does not notify the recipient — you'll need to send them the link directly.
### Organize chats with projects
Projects keep related chats together. They are useful for work such as a customer account, hiring process, or quarterly planning where several conversations should share the same access.
Go to Home and select the **Projects** tab. This page includes projects you
own and projects shared with you.
Click **New project**, enter a name, and choose who can access it. New
projects start as restricted unless you choose a broader access level.
Open a chat's **...** menu and select **Move to project**. If Projects are
visible in your sidebar, you can also drag chats into and out of a project.
Select a project from the **Projects** tab. Cassidy returns to the **Chats**
tab and adds the project as a filter.
Chats inside a project use the project's sharing settings and cannot be shared separately. Change access from the project's **...** menu. When you move a shared chat into or out of a project, Cassidy shows how its access will change before completing the move.
The Projects section appears in the sidebar automatically once you create, open, or are directly shared on a project. To show or hide it yourself, open the **...** menu beside **Recents**, choose **Customize sidebar**, and change **Show Projects section**. From the Projects menu, choose **My projects**, **My projects and shared with me**, or **All projects I can access**. Projects can be sorted by recent activity or name.
Chats that teammates share with you appear in **Recents** once you open them. To see them right away, open the **...** menu beside **Recents**, choose **Chats shared with me**, then select **Always show**.
Pin a project when you want it in the main **Pinned** section instead of the Projects section.
Keep these things in mind when sharing chats:
* Chats inside a project use the project's sharing settings and cannot be shared individually
* New messages added to a shared chat are visible to everyone with access in real time
* Projects shared with you appear in the sidebar when your **Show projects** setting includes them
Deleting a project permanently deletes every chat inside it. This action
cannot be undone.
## Use Cassidy in multiple languages
While the Cassidy interface is in English, the AI models can understand and respond in virtually any language. Type your message in the language you prefer, and the Agent responds in the same language.
If the Agent doesn't consistently use your preferred language, add a specific instruction to the Agent's settings — for example, "Always respond in Spanish."
For more on customizing Agent behavior, see [Build and configure an Agent](/agents/build-and-configure).
## Next steps
Create a custom Agent with tailored instructions and Knowledge Base access.
Compare GPT, Claude, and Gemini to pick the best model for each task.
Write effective prompts for better, more consistent AI outputs.
Generate documents, spreadsheets, and presentations through chat.
# Choose the right AI model
Source: https://docs.cassidyai.com/guides/choose-ai-model
Pick the right AI model for each Agent and Workflow task using Cassidy's recommendations and thinking levels.
Cassidy gives you access to all leading AI models and automatically recommends the best options for different scenarios. You can choose models per [Agent](/agents/overview), per chat, and per [Workflow](/workflows/overview) step - so you always use the right tool for the job.
For most work, start with **Recommended Models**. Browse the full list when you want a specific model, thinking level, or provider.
## Where you choose models
Choose any foundational model as the base for your custom Agents. You can also use default Agents that run on foundational models without your business context.
Switch between models and Agents at any time during a conversation. This gives you flexibility to use the best model for each part of your chat.
Each [Workflow](/workflows/overview) action can use a different model. The **Generate Text** action lets you select the AI model that best fits each automation step, so routine steps can stay cheap while harder steps use a more capable model.
## Start with recommended models
Cassidy's **Recommended Models** section is continuously updated as new models are released and evaluated. The platform surfaces the best-performing, most cost-effective models for your needs, and cost reductions from providers are automatically passed on to you.
| Recommended pick | Best for |
| - | - |
| **Default** | Everyday Agent chats and Workflow steps — the best starting point for most work |
| **Fastest** | High-volume, routine tasks like classification, extraction, formatting, and summaries |
| **Best Writer** | Emails, marketing copy, and other writing that should sound natural |
| **Smartest** | Complex work, [connectors](/agents/connectors/overview), [artifacts](/agents/capabilities/artifacts), and anything where accuracy matters most |
You do not need to track AI model releases yourself - Cassidy keeps
recommendations current as new models launch. If you are not sure which model
to use, choose **Default**.
## Model providers and strengths
Each provider has distinct strengths. Use this as a starting point, then experiment to find what works best for your specific tasks.
Best for general Agent applications, everyday tasks, and Q\&A. Reliable for
information retrieval and a wide range of business queries. Excels at
automation and general knowledge tasks.
Preferred for creative writing, sales, and marketing content that needs a
human-like touch. Ideal for drafting emails, marketing copy, and
communication-heavy tasks that require natural-sounding language.
Strong at combining information from many sources and working with
documents, images, and other files. A good fit for [deep
research](/agents/deep-research) and analysis that pulls from a lot of
material at once.
## Which model and how much thinking
When you look past Recommended, two settings matter: **which model** you pick, and **how much thinking** it does.
Not all models within a provider are the same. Some are faster and cheaper; others are more capable and cost more.
| Category | Best for | Speed | Cost | Examples | Notes |
| - | - | - | - | - | - |
| **Mini** | High-volume, routine tasks like customer support triage, formatting, and summaries | Fast | Low | GPT-5.6 Luna, Claude 4.5 Haiku | Latest mini models often match previous-generation full models in quality |
| **Standard** | Everyday tasks - Q\&A, creative writing, moderate analysis, and automation | Moderate | Moderate | GPT-5.6 Terra, Claude 5 Sonnet | The best starting point for most use cases |
| **High-powered** | Complex multi-step reasoning, legal analysis, financial workflows, STEM | Slow | High | GPT-5.6 Sol, Claude 5.5 Opus | More capable and more expensive — use when the task is worth the extra cost |
### Thinking level
Thinking level controls how long the model works before it answers.
| Thinking level | When to use it |
| - | - |
| **Instant** | Fast replies when speed matters more than extra deliberation |
| **Thinking** | Better accuracy for most Agent work |
| **High Thinking** | The hardest problems — slower, and it uses more credits |
Thinking variants use the same credit rate as Instant for that model. They cost more per task because they generate extra thinking tokens and run longer before answering.
You can use this analogy to understand the model and thinking level choices: model power is how smart the brain is, and thinking level is how long that brain gets to work.
## Understanding credit consumption
Credit usage scales with prompt size and response length. Longer prompts, more [Knowledge Base](/knowledge-base/overview) context, and more thinking all use proportionally more credits.
| Category | Relative cost | Examples |
| - | - | - |
| **Mini** | \~0.3x | GPT-5.6 Luna, Claude 4.5 Haiku |
| **Standard** | 1x | GPT-5.6 Terra, Claude 5 Sonnet |
| **High-powered** | \~2–3x | GPT-5.6 Sol, Claude 5.5 Opus |
Start with standard general-purpose models (or the **Default** recommended
pick) since they offer excellent performance at the best value. Switch to
**High-powered** or **High Thinking** models only when you need their
specialized capabilities or the task needs complex reasoning.
For more on managing credits, see [Manage credits](/settings/manage-credits).
## Best practices
* Start with **Default** unless you already know you need Fastest, Best Writer, or Smartest.
* Use **Mini** models for summarization, formatting, and other high-volume Workflow steps.
* Turn thinking up (**Thinking** or **High Thinking**) when accuracy matters more than speed.
* Use **High-powered** models for complex analysis, planning, or Agents that rely on tools.
* In a single [Workflow](/workflows/overview), mix models: Mini for routine steps, Standard for generating content, High-powered or High Thinking only where the extra cost pays off.
### Consider your specific use case
| Use case | Typical provider |
| - | - |
| Quick answers, document retrieval, general automation | **GPT** |
| Natural-sounding writing, emails, creative content | **Claude** |
| Deep research, combining many sources, working with documents and files | **Gemini** |
## Next steps
Create a custom Agent and select the right model for its role.
Write effective prompts that get the most out of any model.
# Create files in Cassidy
Source: https://docs.cassidyai.com/guides/create-files
Generate documents, spreadsheets, and presentations through Agents, Workflows, and Chat.
Cassidy gives you three ways to create downloadable files — from quick one-off documents in [Chat](/guides/chatting-with-an-agent) to repeatable, branded deliverables in [Workflows](/workflows/overview). Choose the approach that fits your need.
## Choose your approach
**Best for**: One-off files you want to iterate on in conversation — sales follow-ups, competitor one-pagers, summaries, draft decks.
**Best for**: Consistent formatting every time — brand-safe decks, proposals, client reports, onboarding packets. You design the template once, and the Workflow fills it with live data on every run.
**Best for**: Output that varies too much for a strict template — charts, dynamic reports, and files that need AI-generated formatting. Also the approach to use when building reusable file-generation Workflows for [Call Workflow](/agents/call-workflow).
Creating a presentation through Chat? Use [Cassidy
Slides](/slides/create-and-export-presentations) to build and refine the deck
conversationally, present from Cassidy, and export to PowerPoint, Google
Slides, or PDF. Use the Workflow template approach when the same fixed layout
needs to be populated repeatedly with structured data.
## Create files in Chat
The Chat interface lets you generate downloadable files — PDFs, Word documents, spreadsheets, and more — directly in a conversation with an [Agent](/agents/overview). Describe what you need, and the Agent automatically uses [Code Execution & File Creation](/agents/advanced/code-execution-file-creation) to build and return a polished file. For presentations, follow the dedicated [Cassidy Slides guide](/slides/create-and-export-presentations).
The walkthrough below uses a competitor one-pager as an example, but the same
flow works for any file type — reports, proposals, decks, spreadsheets, and
more.
Click **+ New Chat** and choose your Agent from the dropdown:
* **Default Agents** (like Data Analyst) handle general file and data tasks but lack your business context
* **Custom Agents** configured with your [Knowledge Base](/knowledge-base/overview) and domain-specific instructions produce outputs tailored to your organization. New custom Agents have [Code Execution & File Creation](/agents/advanced/code-execution-file-creation) enabled by default.
For custom Agents, attach reference files (like a branded template or battlecard) directly in the Agent's instructions so it uses them automatically whenever it creates a file.
If Data Analysis is missing, edit the Agent and enable **Code Execution & File Creation** under **Customize** > **Advanced Settings**.
Click the **+** button and select **Attach a File** or **Attach an Image** to upload supporting materials — call notes, spreadsheets, competitor docs, etc. This is helpful when using a default Agent that does not have reference files in its instructions.
Type your request with as much detail as possible — format, audience, length, sections, and tone. For example:
"I just wrapped up a prospect call and they mentioned MyCase as a competitor. Create a one-pager PDF I can send them about why we are better. Use our competitor battlecard template."
The Agent automatically decides to use Code Execution & File Creation to produce the file — you do not need to tell it which setting to use.
The Agent gathers relevant context, then builds the file. Progress indicators appear as it works.
The finished file appears as a downloadable card at the bottom of the Agent's response. Click the download icon to save it.
Continue the conversation to refine the output:
* "Keep it to 1 page, skimmable, and non-combative"
* "Add a 3-row comparison table: Feature / Competitor / Us"
* "Write a short email to attach this one-pager to"
## Create files in Workflows (template approach)
For deliverables that need consistent formatting every time, use a [Workflow](/workflows/overview) with a template-based file creation action. Design the template once with placeholders, and the Workflow fills it with live data on every run.
### File creation actions
Cassidy offers several template-based actions you can add as Workflow steps:
| Action | Description |
| - | - |
| **Create Microsoft PowerPoint Presentation from Template** | Fill a branded PPTX template with dynamic content, loops, and conditionals |
| **Create Microsoft Word Document from Template** | Populate a DOCX template with variables from previous Workflow steps |
| **Create Microsoft Excel Spreadsheet** | Generate formatted XLSX files with structured data |
### Build a template-based file Workflow
This walkthrough uses a Quarterly Business Review (QBR) deck as an example,
but the same pattern applies to proposals, onboarding packets, client reports,
and more.
Create a [Workflow](/workflows/building) with a Manual Trigger (or a scheduled, webhook, or [email](/reference/triggers/email) trigger). Add input fields for the information your template needs — client name, date range, file uploads, etc.
Add **Generate Text** or integration actions to look up account information, summarize objectives, analyze product usage, or pull relevant data. Each step returns structured data that subsequent steps can reference.
Use **Generate Text** actions with structured output fields to produce clean variables that map directly to your template placeholders — including arrays for loops and booleans for conditionals.
Add the appropriate file creation action (e.g., **Create Microsoft PowerPoint Presentation from Template**). Upload your branded template, set an output name, and map your variables into the template fields.
PowerPoint and Word templates support:
* **Text placeholders**: `{variableName}` for dynamic content
* **Conditionals**: `{#if:condition}` ... `{/if:condition}` to show or hide sections
* **Loops**: `{#loop:arrayName}` ... `{/loop:arrayName}` to repeat content for lists
* **Slide loops / slide conditionals**: `{%loop:arrayName}` and `{%if:conditionName}` to repeat or conditionally show entire slides
Execute the Workflow. The generated file appears in the results panel. You can also pass it to a subsequent action — like **Send Email** — to deliver it automatically.
## Create files in Workflows (Code Execution & File Creation)
When the output varies too much for a fixed template — or you need the AI to generate charts, format documents, or manipulate files programmatically — enable **Code Execution & File Creation** on a Generate Text action. For a detailed end-to-end walkthrough, see [Analyze data in Workflows](/workflows/advanced/data-analysis).
Write a prompt describing the file you need. For example: "Using the analysis results and chart from the previous step, create a professional PowerPoint presentation with key findings and an executive summary."
Expand **Code Execution & File Creation** and turn on the setting. This allows the AI to write and execute code to create, edit, or manipulate files.
Screenshot needed: Generate Text action settings with Code Execution & File Creation enabled.
Pass in files from the trigger (like an uploaded spreadsheet) or reference outputs from earlier steps so the AI has the data it needs.
When Code Execution & File Creation is enabled, the action produces a **Generated Files** variable containing any files created during processing. Reference this variable in subsequent steps or download the files from the results panel.
Use one Code Execution & File Creation step to analyze data and produce insights, then a second step to compile those insights into a formatted document or presentation.
If you just need a quick, ad-hoc file and are not building a multi-step
automation, use the Chat + Agent approach instead.
## Advanced: attach a file-creation Workflow to Agents
You can build a Workflow whose job is to generate a specific type of file, then attach it to one or more [Agents](/agents/overview) using [Call Workflow](/agents/call-workflow). When a user asks the Agent for that deliverable, the Agent automatically runs the Workflow, collects required inputs through conversation, and returns the finished file.
This combines the convenience of Chat with the power of Workflows.
For setup instructions, see [Call Workflow](/agents/call-workflow).
## Next steps
Full walkthrough of using Code Execution & File Creation in Workflows.
Learn how Agents use code execution and file creation to analyze data.
Create Workflows with template actions and structured outputs.
Attach Workflows to Agents so users can generate files through chat.
Master the Chat interface for quick file generation and more.
# Migrate to custom roles
Source: https://docs.cassidyai.com/guides/migrate-to-custom-roles
Move from legacy group permissions to custom roles while preserving team access and cleaning up generated roles afterward.
Some Cassidy workspaces used groups for both visibility and permissions. Cassidy now separates those jobs: [roles](/settings/roles-and-groups) control what people can do, and groups control which shared resources people can see.
Use this guide if your workspace shows a migration prompt for custom roles in Organization Settings. New workspaces already use the current roles and groups model.
You need admin access to manage roles and run the migration.
## What changes
Before migration, groups controlled both visibility and permissions. If someone belonged to multiple groups, their permissions were additive. For example, if one group allowed editing Workflows and another group allowed inviting members, the person could do both.
After migration, roles control privileges and groups control visibility. A person can still have multiple roles, and their effective privileges are the union of those roles. Group membership stays focused on which Agents, Workflows, Knowledge Base collections, chats, and meetings the person can access.
## What Cassidy creates
Migration is designed to preserve existing access. Cassidy generates a migration plan before changing your workspace.
Legacy admins keep the managed admin role they need to manage the workspace.
Groups that previously granted feature permissions become custom roles, such as **Migrated: Sales Team**.
Existing group memberships stay in place for visibility, so shared resources stay visible to the same teams.
Existing SAML group mappings are backfilled into role mappings where needed, so automatic role assignment keeps working after migration.
## Migrate your workspace
Go to **Organization Settings** and click **Roles**.
If your workspace still uses legacy group permissions, click the migration prompt.
Review the managed role assignments and custom roles Cassidy will create. The plan explains which groups map to each generated custom role.
Click **Enable Custom Roles**. Cassidy updates your workspace to the custom roles system.
Open each generated custom role. Rename roles to match how your team talks about access, such as **Workflow Editors** or **Knowledge Base Managers**.
Adjust generated role privileges if the migrated role is broader than you want going forward. Keep the generated role in place until everyone who needs those privileges has another role that grants them.
Your workspace now uses roles for privileges and groups for visibility.
Do not delete generated custom roles until you have confirmed that everyone who needs those privileges has another role that grants them.
## Next steps
Learn the current roles and groups model.
Map your identity provider attributes to Cassidy roles and groups.
# Write effective prompts
Source: https://docs.cassidyai.com/guides/prompt-engineering
Write effective prompts for Agents and Workflows to get consistent, high-quality AI outputs.
Prompt engineering is the practice of designing AI instructions that are clear, specific, and optimized for the task at hand. Unlike casual AI interactions, business automation requires prompts that are robust, modular, and capable of handling dynamic information while maintaining consistent quality.
## Where to use prompts in Cassidy
Prompts serve different purposes depending on where you use them:
System instructions that define your [Agent's](/agents/overview) role, personality, and behavior across all interactions. Think of these as the Agent's permanent memory.
**Example**: A customer support Agent configured with tone guidelines, response format, and escalation procedures.
Learn more in [Build and configure an Agent](/agents/build-and-configure).
Messages you send in [Chat](/guides/chatting-with-an-agent) that work together with your Agent's instructions. The Agent already knows how to behave from its system instructions — your message provides the specific context.
**Example**: "Here's the customer ticket: \[ticket description]. The customer has been with us for 2 years and this is their first technical issue."
Prompts embedded in [Workflow](/workflows/overview) actions like **Generate Text** that process dynamic data and reference variables from previous steps.
**Example**: A prompt that takes a form submission from a trigger and generates a categorized response using data from earlier Workflow steps.
## Core principles
Every effective prompt follows these four principles:
1. **Clarity and specificity** — every instruction should be unambiguous and actionable. Avoid vague language that could produce inconsistent results.
2. **Structured organization** — well-organized prompts follow a logical flow that guides the AI step by step.
3. **Dynamic context support** — business prompts must handle changing information while maintaining quality and format consistency.
4. **Robust instruction following** — include explicit formatting requirements and constraints for reliable automation.
## The seven-section prompt structure
Every effective business prompt should follow this structure. You do not need all seven sections for every prompt — use what is relevant to the task.
### 1. Role and objective
Define the AI's role and primary goal. This sets context and expectations.
```
# Role and Objective
You are a customer support specialist at a SaaS company. Your objective
is to analyze customer feedback and categorize issues by priority level
and department for efficient routing.
```
### 2. Instructions
Provide detailed, step-by-step guidance for completing the task.
```
# Instructions
- Analyze the customer feedback provided in the context section
- Categorize each issue using the following priority levels:
a. Critical: System outages, security breaches, data loss
b. High: Feature failures affecting multiple users
c. Medium: Minor bugs or usability issues
d. Low: Feature requests or general inquiries
- Assign each issue to the appropriate department: Engineering, Product,
or Support
```
### 3. Reasoning steps
Break down the thought process the AI should follow. This ensures consistent logic across different inputs.
```
# Reasoning Steps
1. Read through all customer feedback carefully
2. Identify the core issue or request in each piece of feedback
3. Assess the impact level based on user count and business criticality
4. Determine which team is best equipped to address the issue
5. Format the results according to the specified output structure
```
### 4. Output format
Specify exactly how the response should be structured.
```
# Output Format
- Return a numbered list of issues with the following format for each:
**Issue [number]**: [Brief description]
- Priority: [Critical/High/Medium/Low]
- Department: [Engineering/Product/Support]
- Details: [Additional context if needed]
- Do not include any introductory or closing text
- Use markdown formatting as specified above
```
### 5. Examples
Provide complete examples that demonstrate expected input-output relationships. Examples enable few-shot learning and clarify ambiguous instructions.
```
# Examples
**Issue 1**: Login system completely down for all users
- Priority: Critical
- Department: Engineering
- Details: Affects entire user base, immediate attention required
**Issue 2**: Export feature missing from reports dashboard
- Priority: Medium
- Department: Product
- Details: Workaround available, but impacts user workflow efficiency
```
### 6. Context
Include all information the prompt needs to reference. This section changes depending on the situation.
When using **Agent system instructions**, you often provide context directly in your chat message instead of a formal context section. When using **Workflow prompts**, you reference [variables](/workflows/building) from previous steps or triggers.
```
# Context
Customer feedback: {feedback_data}
Company priority matrix: {priority_guidelines}
Department responsibilities: {dept_responsibilities}
```
In [Workflows](/workflows/overview), reference variables from previous steps. In [Chat](/guides/chatting-with-an-agent), reference [Knowledge Base](/knowledge-base/overview) items with **#**.
### 7. Final instructions
End with explicit step-by-step thinking instructions and formatting reminders.
```
# Final instructions and prompt to think step by step
Think step by step: First, read through all feedback items. Then, assess
each issue's impact and urgency. Next, match issues to appropriate
departments based on their expertise. Finally, format your response
exactly as specified above. Only return the numbered list of categorized
issues, nothing else.
```
## Formatting best practices
Different models have preferences for structure syntax:
* **GPT (OpenAI)** works well with markdown formatting (headers, bullet points, bold)
* **Claude (Anthropic)** responds well to XML tags like `` and ``
Regardless of syntax, the seven-section structure is the most important element. Pick a formatting approach and use it consistently throughout your entire prompt.
For model-specific guidance, see [Choose the right AI model](/guides/choose-ai-model).
## Sample prompts
```
# Role and Objective
You are a customer service representative at a SaaS company.
Your objective is to generate professional, helpful email
responses to customer inquiries.
# Instructions
- Read the customer inquiry and identify the main issue
- Determine response type: technical support, billing,
feature request, or general inquiry
- Use a professional, empathetic tone
- Include troubleshooting steps or next actions when applicable
# Reasoning Steps
1. Analyze the inquiry to understand the specific problem
2. Identify the urgency level and emotional tone
3. Select the most appropriate response approach
4. Craft a response that addresses the concern
5. Include clear next steps
# Output Format
- Subject line addressing the customer's inquiry
- Professional email body with greeting and closing
- Clear, actionable next steps
- Keep responses concise but comprehensive
# Examples
**Customer Inquiry**: "I can't log into my account and I have
an important presentation tomorrow."
**Response**:
Subject: Quick Resolution for Your Login Issue
Hello [Customer Name],
I understand how frustrating this must be, especially with your
presentation tomorrow. Let's get you back in quickly.
Try these steps:
1. Clear your browser cache and cookies
2. Try an incognito/private browser window
3. Verify you're using the correct email address
If these don't work, I can reset your password immediately.
Best regards,
[Your Name]
# Context
Customer inquiry: {customer_message}
Account details: {account_info}
Company policies: {policy_guidelines}
# Final instructions
Think step by step: First, understand the customer's inquiry
and emotional state. Then, determine the response type and tone.
Craft a helpful response. Only return the email, nothing else.
```
```
# Role and Objective
You are a sales operations analyst. Your objective is to analyze
incoming leads and score them based on qualification criteria.
# Instructions
- Evaluate each lead against qualification criteria
- Assign a lead score from 1-100 based on the scoring matrix
- Categorize leads as Hot (80-100), Warm (60-79), or Cold (<60)
- Identify the primary pain point or business need
- Recommend the most appropriate next action
# Reasoning Steps
1. Review all available lead information
2. Apply the scoring matrix
3. Assess timeline and budget indicators
4. Determine decision-making authority level
5. Recommend prioritization and next steps
# Output Format
**Lead Score**: [Number]/100
**Category**: [Hot/Warm/Cold]
**Primary Need**: [Brief description]
**Key Insights**:
- [Insight 1]
- [Insight 2]
- [Insight 3]
**Recommended Action**: [Specific next step]
**Priority Level**: [High/Medium/Low]
# Context
Lead information: {lead_data}
Scoring matrix: {scoring_criteria}
Sales team capacity: {team_availability}
# Final instructions
Think step by step: Review all lead information, apply the
scoring matrix, analyze buying signals, and recommend specific
actions. Only return the formatted analysis, nothing else.
```
```
# Role and Objective
You are a content marketing analyst. Your objective is to analyze
content performance data and create actionable insights.
# Instructions
- Review performance metrics for all content in the time period
- Identify top performers by engagement, traffic, and conversions
- Analyze trends and patterns
- Provide specific optimization recommendations
- Highlight concerning performance drops
# Output Format
## Executive Summary
[2-3 sentence overview]
## Top Performers
1. **[Title]** - [Key metric]
2. **[Title]** - [Key metric]
3. **[Title]** - [Key metric]
## Key Insights
- [Content type/topic performance]
- [Audience engagement patterns]
- [Conversion performance]
## Recommendations
1. **[Action]**: [Recommendation with rationale]
2. **[Action]**: [Recommendation with rationale]
3. **[Action]**: [Recommendation with rationale]
## Areas of Concern
- [Issues requiring attention]
# Context
Performance data: {analytics_data}
Content inventory: {content_list}
Benchmark metrics: {performance_benchmarks}
# Final instructions
Think step by step: Analyze all metrics, compare against
benchmarks, determine actionable insights, and format the
report. Only return the formatted report, nothing else.
```
## The power of examples
Examples are the most impactful section of any prompt. They serve as training data for the AI, demonstrating exactly what you expect.
Effective examples should:
* Include **complete input-output pairs** that show the full transformation from raw input to desired output
* Demonstrate how to **handle different scenarios** — include edge cases if they matter
* **Match your specified output format** exactly — the AI mirrors what it sees
When outputs are not quite right, adding one or two well-crafted examples is often more effective than rewriting your instructions.
## Advanced techniques
Always include explicit instructions for the AI to "think step by step" in your final instructions section. This improves accuracy for complex tasks by forcing the model to break down its reasoning process before producing a final answer.
Use precise language to control output boundaries:
* "Only return the \[output type], nothing else"
* "Do not include introductory or closing text"
* "Keep the response under 200 words"
* "Use only the information provided in the context section"
Constraints prevent the AI from adding unnecessary preamble, disclaimers, or off-topic content.
For production Workflow prompts, include instructions for handling edge cases:
* "If the input is empty, return: 'No data provided'"
* "If the information is ambiguous, state the ambiguity and provide your best interpretation"
* "If the request falls outside your defined scope, explain what you can help with instead"
This prevents Workflow failures and ensures graceful handling of unexpected inputs.
Effective prompt engineering is iterative. Test your prompts with different inputs, review the outputs, and refine based on what you learn. Small adjustments often lead to big improvements.
## Next steps
Put your prompts to use — including the prompt library for reusable templates.
Apply your prompt engineering skills to Agent system instructions.
Use prompts in Workflow actions with dynamic variables.
# Getting started
Source: https://docs.cassidyai.com/index
Learn how to build AI-powered automations for your team with Agents, Workflows, and your company's Knowledge Base.
Welcome to the Cassidy documentation. Get started by learning the platform basics or dive into a specific feature.
## What is Cassidy?
Cassidy is an AI automation platform that helps teams build [Agents](/agents/overview) and [Workflows](/workflows/overview) powered by your business knowledge. Unlike generic AI tools, Cassidy connects to your company's data — documents, wikis, meeting transcripts, and integrated tools — so your automations understand your terminology, processes, and edge cases. No code or technical skills required.
Cassidy provides four core features that work together:
1. **[Knowledge Base](/knowledge-base/overview)** — The context behind every automation. Connect your documents, websites, meetings, and tools into a single source of truth that stays current with real-time syncing. Your Knowledge Base grounds every Agent and Workflow in real company knowledge — synced, cited, and permission-aware.
2. **[Agents](/agents/overview)** — AI teammates anyone can build. Create Agents in minutes with natural language for specific roles — sales, support, ops, or anything your team needs. They answer questions, complete tasks, and take action across your tools, grounded in your Knowledge Base and trained on your brand voice. Deploy them to [Slack](/integrations/slack/deploy-agent), [Teams](/agents/deploy/microsoft-teams), [Google Chat](/agents/deploy/google-chat), [email](/agents/deploy/email), or [embed them](/agents/deploy/embed) wherever your team works.
3. **[Workflows](/workflows/overview)** — Multi-step automations that drive outcomes. Turn complex processes into automations without waiting on engineering. Unlike rigid scripts, Cassidy Workflows reason through logic, exceptions, and edge cases — handling work that traditionally required human expertise and judgment. From responding to RFPs to enriching leads to generating content, Workflows connect your tools and act on your data.
4. **[Meetings](/meetings/getting-started)** — From conversation to action. Cassidy joins your meetings, transcribes and summarizes in real time, and makes everything searchable. Conversations become automated follow-ups, CRM updates, and long-term knowledge your whole organization can reference.
## Explore the docs
Give AI the context to work the way you do with synced, cited,
permission-aware knowledge.
Build AI teammates that answer questions, complete tasks, and take action
across your tools.
Turn complex processes into intelligent, multi-step automations — no code
required.
Record, transcribe, and turn conversations into searchable knowledge and
automated next steps.
Connect to Slack, HubSpot, Salesforce, Google Workspace, and dozens more.
Use Cassidy directly in Chrome, Outlook, Word, Excel, and on your phone.
Add Cassidy to your home screen and chat with Agents from iPhone or Android.
Best practices for chatting with Agents, choosing models, and writing
prompts.
Manage your team, plans, credits, roles, and security settings.
# Airtable Agent Connector
Source: https://docs.cassidyai.com/integrations/airtable/agent-connector
Connect your Agent to Airtable to read and write records from your bases and tables.
The Airtable Connector gives your [Agents](/agents/overview) both read and write access to your Airtable bases and tables. Agents can query records, create new entries, and update existing ones directly during conversations — with granular permission controls so you decide what the Agent can do. Data is accessed in real time and never copied or stored in Cassidy.
For best results with complex Connector queries, use a powerful,
reasoning-capable model. Cassidy supports models from OpenAI, Anthropic, and
Google — see [Choose the right AI model](/guides/choose-ai-model) for current
recommendations.
## Set up the Airtable Connector
Go to **Agents** and select the Agent you want to configure.
Click the **Setup** tab and scroll to the **Connectors** section.
Click **+ Add Connector** and select **Airtable**.
Select how users will authenticate:
* **Each user connects their own account** (recommended) — each user signs in with their own Airtable credentials
* **Use a shared connection** — all users access Airtable through one shared account
If using a shared connection, click **Set up shared connection** and sign in to Airtable. Before granting access, you'll need to click either **Add all resources** to grant access to all your bases, or **Add a base** to select only the specific bases you want the Agent to access.
Give a new shared connection a recognizable name, then choose the people
and groups who can use it.
Everyone with access acts through the same Airtable account. Use a
dedicated service account when possible.
Set permissions for each action the Agent can perform:
* **Always allow** — The Agent performs the action automatically when needed
* **Ask every time** — The Agent asks the user before taking the action
* **Disabled** — The Agent cannot perform the action
You decide the permission level for each action separately. For example,
you might set **Search records** to **Always allow** but **Delete records**
to **Disabled**.
Airtable is a read/write Connector. Review permissions carefully — **Always allow** lets the Agent create or modify records without asking first.
Click **Add** to enable the Connector for this Agent.
Navigate to **Chat** and select the Agent with the Airtable Connector enabled.
If you chose **Each user connects their own account**, users are prompted to connect their Airtable account from within the chat the first time they use the Connector.
Once connected, your Agent can access Airtable data to answer questions about records, projects, campaigns, and other information stored in your bases — as well as create and update entries.
## Connect Airtable for yourself
To use Airtable in any chat, not just with this Agent, open **Customize** →
**Connectors**, find **Airtable**, and click **Connect**. See [Add a Connector for
yourself](/agents/connectors/overview#add-a-connector-for-yourself).
## Monitor Airtable actions
When an Agent uses the Airtable Connector, expand the action in the response to see its input, result, and approval status.
If an action lacks the required permissions, the step shows **No output data**.
## Data security
Airtable data is accessed in real time and is not copied or stored in Cassidy. The Agent only queries Airtable when needed to answer a question or complete a task.
The Airtable Connector requests access to read and write records in the bases
you authorize. Cassidy does not access bases outside the ones you explicitly
grant permission to.
## Next steps
Learn about all available Agent Connectors and how they work.
See every integration available in Cassidy.
# Airtable
Source: https://docs.cassidyai.com/integrations/airtable/overview
Connect Airtable to let Agents read and write records from your bases and tables.
The Airtable integration gives your [Agents](/agents/overview) direct access to your Airtable bases and tables. Agents can query records, create new entries, and update existing ones — all in real time during conversations.
## What you can do
Let Agents query, create, and update Airtable records in real time during conversations.
Trigger Workflows from record changes and automate record creation, updates, and deletion.
# Airtable for Workflows
Source: https://docs.cassidyai.com/integrations/airtable/workflows
Trigger Workflows from Airtable record changes and automate record creation, updates, and deletion.
Use Airtable as a trigger or a set of actions in your [Workflows](/workflows/overview). Start a Workflow when records are created, updated, or deleted — and use Airtable actions to read and write records as part of any automation.
Airtable Workflow actions and triggers require a paid Cassidy plan.
## Connect your account
1. Open an Airtable trigger or action in the [Workflow builder](/workflows/overview).
2. Click **Connect**.
3. Sign in with Airtable.
4. Click **Add all resources** to grant access to all your bases, or **Add a base** to select specific ones.
## Triggers
### Record created
Starts a Workflow when a new record is added to a table.
**Configuration**
| Field | Description |
| - | - |
| **Base** | The Airtable base to watch |
| **Table** | The table to watch for new records |
**Output variables**
| Variable | Description |
| - | - |
| **Created Record ID** | The unique identifier of the new record |
| **Created Time** | Timestamp when the record was created |
| **Values** | List of field IDs and values on the new record |
***
### Record updated
Starts a Workflow when an existing record is modified. Optionally, limit the trigger to fire only when specific fields change.
**Configuration**
| Field | Description |
| - | - |
| **Base** | The Airtable base to watch |
| **Table** | The table to watch for updates |
| **Watched fields** | *(Optional)* Specific fields to watch. Leave empty to trigger on any field change. |
**Output variables**
| Variable | Description |
| - | - |
| **Updated Record ID** | The unique identifier of the updated record |
| **Updated Time** | Timestamp when the record was last modified |
| **Record Values** | All field IDs and their current values on the record |
***
### Record deleted
Starts a Workflow when a record is removed from a table.
**Configuration**
| Field | Description |
| - | - |
| **Base** | The Airtable base to watch |
| **Table** | The table to watch for deletions |
**Output variables**
| Variable | Description |
| - | - |
| **Deleted Record ID** | The unique identifier of the deleted record |
| **Deleted Time** | Timestamp when the record was deleted |
## Actions
### List records
Retrieves records from an Airtable table. Use this to look up data in a base and pass it to later steps in your Workflow.
**Configuration**
| Field | Description |
| - | - |
| **Base** | The base containing the table |
| **Table** | The table to retrieve records from |
| **Max records** | *(Optional)* Maximum number of records to return. Defaults to 100. |
**Output variables**
| Variable | Description |
| - | - |
| **Records** | List of records, each with a Record ID, Created Time, and a list of field names and values |
***
### Add record
Creates a new record in a table with the field values you specify.
**Configuration**
| Field | Description |
| - | - |
| **Base** | The base containing the table |
| **Table** | The table to add the record to |
| **Fields** | One or more field–value pairs to populate on the new record. Values support [variables](/workflows/advanced/utility-variables) from previous steps. |
**Output variables**
| Variable | Description |
| - | - |
| **Record ID** | The unique identifier of the created record |
| **Created Time** | Timestamp when the record was created |
| **Fields** | List of field names and values on the created record |
***
### Update record
Updates one or more fields on an existing record.
**Configuration**
| Field | Description |
| - | - |
| **Base** | The base containing the table |
| **Table** | The table containing the record |
| **Record ID** | The ID of the record to update. Reference this from a trigger or a previous List Records step. |
| **Fields** | One or more field–value pairs to update. Values support [variables](/workflows/advanced/utility-variables) from previous steps. |
**Output variables**
| Variable | Description |
| - | - |
| **Record ID** | The unique identifier of the updated record |
| **Fields** | List of field names and values after the update |
***
### Delete record
Permanently removes a record from a table.
This action cannot be undone. The record will be permanently deleted from Airtable.
**Configuration**
| Field | Description |
| - | - |
| **Base** | The base containing the table |
| **Table** | The table containing the record |
| **Record ID** | The ID of the record to delete |
**Output variables**
| Variable | Description |
| - | - |
| **Record ID** | The unique identifier of the deleted record |
***
### Add attachment
Uploads a file to an attachment field on an existing record. Use this to attach AI-generated documents, processed files, or outputs from earlier steps directly to an Airtable record.
**Configuration**
| Field | Description |
| - | - |
| **Base** | The base containing the table |
| **Table** | The table containing the record |
| **Record ID** | The ID of the record to attach the file to |
| **Field** | The attachment field to add the file to |
| **File** | The file to attach — reference a file variable from a previous step |
**Output variables**
| Variable | Description |
| - | - |
| **Record ID** | The unique identifier of the updated record |
| **Created Time** | Timestamp when the record was last modified |
## Next steps
Learn how to build and run Workflows in Cassidy.
Let Agents read and write Airtable records during conversations.
# Asana Agent Connector
Source: https://docs.cassidyai.com/integrations/asana/agent-connector
Connect your Agent to Asana to look up and manage tasks, projects, and subtasks in real time.
The Asana Connector gives your [Agents](/agents/overview) live access to your Asana workspace. Agents can search for tasks, read project data, create new tasks, add comments, and more — directly during a conversation. Data is accessed in real time and never copied or stored in Cassidy.
For best results with complex Connector queries, use a powerful,
reasoning-capable model. Cassidy supports models from OpenAI, Anthropic, and
Google — see [Choose the right AI model](/guides/choose-ai-model) for current
recommendations.
## Set up the Asana Connector
Go to **Agents** and select the Agent you want to configure.
Click the **Setup** tab and scroll to the **Connectors** section.
Click **+ Add Connector** and select **Asana**.
Select how users will authenticate:
* **Each user connects their own account** (recommended) — each user signs in with their own Asana credentials the first time they use the Connector
* **Use a shared Asana connection** — all users access Asana through one shared account
If using a shared connection, select an existing Asana connection from your organization or click **Set up shared connection** and sign in to authorize access.
Give a new shared connection a recognizable name, then choose the people
and groups who can use it.
Everyone with access acts through the same Asana account. Use a dedicated
service account when possible.
Set the permission level for each action the Agent can perform:
* **Always allow** — The Agent performs the action automatically when needed
* **Ask every time** — The Agent asks the user before taking the action
* **Disabled** — The Agent cannot perform the action
Asana tools are organized into three groups:
* **View Data** — Read-only actions like getting tasks, searching the workspace, and reading project details. Default: **Always allow**.
* **Create & Modify** — Actions like creating tasks, updating tasks, adding comments, and creating subtasks. Default: **Disabled**.
* **Remove Data** — Actions that delete data from Asana. Default: **Disabled**.
Review Create & Modify and Remove Data actions carefully — **Always allow** lets the Agent create, update, or delete tasks without asking first.
Click **Add connector**.
## Connect Asana for yourself
To use Asana in any chat, not just with this Agent, open **Customize** →
**Connectors**, find **Asana**, and click **Connect**. See [Add a Connector for
yourself](/agents/connectors/overview#add-a-connector-for-yourself).
## Monitor Asana actions
When an Agent uses the Asana Connector, expand the action in the response to see its input, result, and approval status.
Click any action step to see the full input and output — including which action was called and the data returned from Asana.
## What the Agent can do
Once connected, your Agent can help with Asana tasks including:
* Looking up tasks by name or searching across your workspace
* Reading task details, due dates, and assignees
* Getting all tasks in a project
* Creating new tasks and subtasks
* Updating existing tasks
* Adding comments to tasks
* Adding followers to tasks
* Reading time tracking entries
* Deleting tasks
## Data security
Asana data is accessed in real time and is not copied or stored in Cassidy. The Agent only queries Asana when needed to answer a question or complete a task.
## Next steps
Learn about all available Agent Connectors and how they work.
See every integration available in Cassidy.
# Asana
Source: https://docs.cassidyai.com/integrations/asana/overview
Connect Asana to let Agents read and manage tasks, projects, and subtasks in real time.
The Asana integration gives your [Agents](/agents/overview) live access to your Asana workspace. Agents can search for tasks, read project data, create new tasks, add comments, and more — directly during a conversation.
## What you can do
Let Agents query, create, and update Asana tasks and projects in real time during conversations.
# Box for Knowledge Base
Source: https://docs.cassidyai.com/integrations/box/knowledge-base
Import Box files and folders into your Knowledge Base for AI-powered search and context.
Import files and folders from Box into your [Knowledge Base](/knowledge-base/overview) so your [Agents](/agents/overview) and [Workflows](/workflows/overview) can search and reference them when generating answers.
## Connect your account
Open **Account Settings**, then select **Integrations**.
Locate **Box** in the list and click **Connect Box**.
Sign in to your Box account if prompted, then review the permissions and click **Grant access to Box** to authorize Cassidy.
Box now shows as **Connected** in your Integrations list.
## Import Box content
Navigate to your [Knowledge Base](/knowledge-base/overview), click **Sync From Integrations**, and select **Sync from Box**.
Browse your Box account, select the files or folders you want to import, then click **Import**.
Imported content syncs automatically on a regular schedule. Learn more about
[sync schedules and options](/integrations/sync-integrations).
## Next steps
Trigger Workflows from file events and automate file operations.
Learn how to organize and manage your imported content.
# Box
Source: https://docs.cassidyai.com/integrations/box/overview
Connect Box to import files into your Knowledge Base and automate file operations.
Connect Box to Cassidy to import your cloud-stored files into your [Knowledge Base](/knowledge-base/overview) and automate file operations through [Workflows](/workflows/overview).
## What you can do
Import Box files and folders for AI-powered search and context.
Trigger Workflows from file events and automate file operations.
# Box for Workflows
Source: https://docs.cassidyai.com/integrations/box/workflows
Trigger Workflows from Box file events and automate file operations.
Use Box to trigger [Workflows](/workflows/overview) from file events and automate file operations.
## Connect your account
1. Open a Box trigger or action in the [Workflow builder](/workflows/overview).
2. Click **Connect**.
3. Sign in with Box.
4. Click **Grant access to Box** to authorize.
## Available triggers
| Trigger | Description |
| - | - |
| New File | Fires when a new file is uploaded |
| New Folder | Fires when a new folder is created |
| New Event | Fires when a new event occurs |
## Available actions
| Action | Description |
| - | - |
| Upload File | Upload a new file to a folder |
| Search for Content | Search files and folders by keyword |
| Get Comments | Retrieve comments on a file |
| Upload New File Version | Upload a new version of an existing file |
| Download File | Download a file for use in later steps |
# Coda for Knowledge Base
Source: https://docs.cassidyai.com/integrations/coda/knowledge-base
Import Coda docs and tables into your Knowledge Base for AI-powered search and context.
Import your Coda documents and tables into the [Knowledge Base](/knowledge-base/overview) so your [Agents](/agents/overview) and [Workflows](/workflows/overview) can search and reference them.
## Connect your account
Open **Account Settings**, then select **Integrations**.
Locate **Coda** in the list and click **Connect**.
Paste your Coda **API token** into the token field and click **Create Connection**. You can generate a token from [Coda's API settings](https://coda.io/account#apiSettings) if you don't have one yet.
Coda now shows as **Connected** in your Integrations list.
## Import content
Navigate to your [Knowledge Base](/knowledge-base/overview), click **Sync From Integrations**, and select **Sync from Coda**.
Browse your Coda workspace, select the documents you want to import, then click **Import**.
## Next steps
Learn how to organize and manage your imported content.
Create an Agent that uses your Coda documents to answer questions.
# Coda
Source: https://docs.cassidyai.com/integrations/coda/overview
Connect Coda to import your docs and tables into Cassidy's Knowledge Base for AI search.
Connect Coda to Cassidy to import your documents and tables into your [Knowledge Base](/knowledge-base/overview) so your [Agents](/agents/overview) and [Workflows](/workflows/overview) can search and reference them.
## What you can do
Import Coda documents so your Agents and Workflows can search and reference them.
# Confluence for Knowledge Base
Source: https://docs.cassidyai.com/integrations/confluence/knowledge-base
Import Confluence spaces and wiki pages into your Knowledge Base for AI-powered search.
Import your Confluence spaces, folders, and pages into the [Knowledge Base](/knowledge-base/overview) so your [Agents](/agents/overview) and [Workflows](/workflows/overview) can search and reference them.
On-premise Confluence connections are available on Enterprise plans. Contact
[support@cassidyai.com](mailto:support@cassidyai.com) for setup assistance.
## Connect your account
Open **Account Settings**, then select **Integrations**.
Find **Confluence** in the list and click **Connect**.
Sign in to your Atlassian account in the popup window.
Review the permissions and click **Accept** to grant Cassidy access to your Confluence spaces and pages.
## Import content
Go to your [Knowledge Base](/knowledge-base/overview) and click **Add**. Select **Confluence** from the list of sources.
Browse your Confluence workspace and select the spaces, folders, or individual pages you want to import, then click **Import**.
Imported content syncs automatically every 24 hours. Enterprise plans support
live sync for near-real-time updates. Learn more about [sync
behavior](/integrations/sync-integrations).
## Next steps
Learn how to organize and manage your imported content.
Automate tasks using your Confluence documentation.
# Confluence
Source: https://docs.cassidyai.com/integrations/confluence/overview
Connect Confluence to import your team's wiki pages and documentation into Cassidy.
Import Confluence wiki pages and documentation into your [Knowledge Base](/knowledge-base/overview) so your [Agents](/agents/overview) and [Workflows](/workflows/overview) can search and reference your team's knowledge.
On-premise Confluence connections are available on Enterprise plans. Contact [support@cassidyai.com](mailto:support@cassidyai.com) for setup assistance.
## What you can do
Import Confluence wiki pages so Agents and Workflows can search and reference your team's documentation.
# Connect multiple accounts
Source: https://docs.cassidyai.com/integrations/connect-multiple-accounts
Connect more than one account from the same integration for different teams or data sources.
You can connect multiple accounts from the same platform — for example, two Google Drive accounts or separate Notion workspaces — to import data from each into your [Knowledge Base](/knowledge-base/overview).
Cassidy allows one active connection per integration at a time. To import from
a second account, disconnect the first, connect the new one, import its
content, then reconnect the original if needed.
## Import from multiple accounts
Follow the integration's setup guide to connect your first account. For example, see the [Google Drive](/integrations/google-workspace/google-drive/overview) or [Notion](/integrations/notion/overview) integration pages.
Go to your [Knowledge Base](/knowledge-base/overview), click **Add**, select
the integration, and import the files or folders you need from this account.
Open **Account Settings** → **Integrations**, find the integration, and
click **Disconnect**.
Disconnect the current account before connecting a new one to avoid conflicts. All previously imported documents remain in your Knowledge Base after disconnecting.
Return to **Account Settings** → **Integrations** and click **Connect** for
the same integration. Sign in with the second account credentials and
authorize access.
Go back to your Knowledge Base, click **Add**, and import the documents you
need from the second account.
Repeat the disconnect-and-reconnect process for any additional accounts you need to import from.
All previously imported documents remain in your Knowledge Base even after you
disconnect the account they came from. You only need the connection active to
import new content or sync updates.
## Next steps
See all available integrations and how to connect them.
Learn how to organize and manage your imported content.
# Connect non-native apps
Source: https://docs.cassidyai.com/integrations/connect-non-native-apps
Use webhooks, API requests, and Zapier to connect Cassidy to apps without native integrations.
Cassidy natively integrates with many popular platforms, but you can connect to virtually any app using webhooks, API requests, or [Zapier](/integrations/zapier/overview). This guide walks through each method and when to use it.
## Connection methods
### Webhook trigger
Create a [Workflow](/workflows/overview) with a **Webhook** trigger to receive data from any app that can send HTTP POST requests. When the external app fires an event, it sends a request to your unique Cassidy webhook URL, which kicks off the Workflow automatically.
This is ideal when the external app supports outbound webhooks or notifications. Learn more in the [webhooks guide](/integrations/webhooks).
### Send API Request action
Use the **Send API Request** action inside a [Workflow](/workflows/overview) to push data to any app that has an API. You configure the endpoint, headers, and body directly in the action settings — no code required.
This is ideal when you need Cassidy to write data back to an external system after processing it with AI.
### Zapier
Use [Zapier](/integrations/zapier/overview) as a bridge between Cassidy and 5,000+ apps. You can trigger a Cassidy Workflow from a Zapier automation, or send Cassidy's output to another app through Zapier.
This is ideal when the external app doesn't support webhooks or a direct API, but does have a Zapier integration.
You can combine methods. For example, receive data via a webhook trigger, process it with AI actions, then send results to another app using the **Send API Request** action or Zapier.
## Store external data in your Knowledge Base
If your goal is to bring external data into Cassidy for your [Agents](/agents/overview) to reference, add a **Save to Knowledge Base** action at the end of your Workflow. This stores the processed data as knowledge that Agents can search and cite.
## Example: connect to ClickUp via Zapier
In Zapier, create a new Zap with **ClickUp** as the trigger app. Choose the event you want to react to — for example, **New Task**.
Select **Cassidy** as the action app in Zapier. Choose the Cassidy Workflow you want to trigger and map the ClickUp fields to Workflow variables.
Run a test to make sure data flows from ClickUp to Cassidy correctly, then turn on the Zap. Every new ClickUp task now triggers your Cassidy Workflow.
## Next steps
Set up a webhook trigger to receive data from any external system.
Bridge Cassidy with thousands of apps through Zapier.
Learn how to create Workflows that process incoming data.
Store external data for your Agents to reference.
# Gong for Knowledge Base
Source: https://docs.cassidyai.com/integrations/gong/knowledge-base
Import Gong call recordings and transcripts into your Knowledge Base for AI-powered search.
Import Gong call recordings and transcripts into your [Knowledge Base](/knowledge-base/overview) so your [Agents](/agents/overview) and [Workflows](/workflows/overview) can reference real sales conversations when generating answers.
## Connect your account
Open **Account Settings**, then select **Integrations**.
Locate **Gong** in the list and click **Connect**.
Sign in to your Gong account in the popup.
Review the permissions and click **Allow** to grant access to your Gong data.
## Import call recordings
Navigate to your [Knowledge Base](/knowledge-base/overview), click **Sync From Integrations**, and select **Sync from Gong**.
Browse your Gong workspaces and folders, select the calls you want to import, then click **Import**.
Gong recordings sync automatically on a regular schedule. Learn more about
[sync schedules and options](/integrations/sync-integrations).
## Next steps
Automate follow-ups when new call transcripts are ready.
Learn how to organize and manage your imported content.
# New Gong call transcript trigger
Source: https://docs.cassidyai.com/integrations/gong/new-call-transcript-trigger
Start a Workflow when a new Gong call transcript becomes available.
The New Gong Call Transcript trigger automatically runs your [Workflow](/workflows/overview) whenever a call transcript becomes available in Gong. Use it to extract insights, update CRM records, and automate post-call processes without manual intervention.
Create a new [Workflow](/workflows/building) or open an existing one, and add a **Gong New Call Transcript** trigger.
If you haven't already, click **Connect** to link your Gong account to Cassidy.
In subsequent Workflow steps, you can reference the following variables from this trigger:
* **Call ID** — unique identifier for the call
* **Call Title** — the title of the call
* **Call Started** — timestamp when the call began
* **Call Transcript** — full text transcript of the call
* **Call URL** — link to the call in Gong
* **Parties** — list of participants in the call
* **Scheduled** — whether the call was scheduled
* **Duration** — length of the call
* **Scope** — the workspace scope in Gong
* **Client Unique ID** — unique identifier for the client
* **Custom Data** — any custom data fields you configured
* **Purpose** — the purpose of the call
* **Meeting URL** — the original meeting URL (e.g. Zoom, Google Meet link)
Add actions to your Workflow to process the transcript. Common actions include:
* **Generate Text** — extract action items, commitments, and next steps from the call transcript
* **Update CRM** — update your CRM with call information
* **Send Email** — send a summary to the account team with call highlights and action items
* **Send Slack Message** — send call highlights to a relevant Slack channel
For example, add a [Generate Text](/reference/actions/generate-text) action after the trigger. In the **User Prompt** field, press **#** and choose the New Call Transcript trigger to reference its variables.
Follow up with a [Send Slack Message](/integrations/slack/send-slack-message) action that references the output of the Generate Text action and sends it to your chosen Slack channel.
Click **Publish** to activate your Workflow. New call transcripts will automatically trigger the automation.
There can be a delay of up to an hour between when a call ends and when the transcript becomes available in Gong. The Workflow fires once the transcript is ready, not when the call ends.
## Related
* [Gong for Workflows](/integrations/gong/workflows)
* [Gong for Knowledge Base](/integrations/gong/knowledge-base)
* [Generate Text action](/reference/actions/generate-text)
# Gong
Source: https://docs.cassidyai.com/integrations/gong/overview
Connect Gong to import call recordings as knowledge and trigger Workflows from new transcripts.
The Gong integration imports call recordings and transcripts into your [Knowledge Base](/knowledge-base/overview) and triggers [Workflows](/workflows/overview) when new call transcripts become available.
## What you can do
Import call recordings and transcripts for AI-powered search.
Trigger Workflows when new call transcripts are ready.
# Gong for Workflows
Source: https://docs.cassidyai.com/integrations/gong/workflows
Trigger Workflows when new Gong call transcripts become available.
Trigger [Workflows](/workflows/overview) when new Gong call transcripts become available. Automate post-call summaries, CRM updates, and team notifications.
## Triggers
Start a Workflow when a new call transcript is ready in Gong.
# Google Chrome
Source: https://docs.cassidyai.com/integrations/google-chrome
Access your Cassidy Agents from any webpage with the Chrome extension.
The Chrome extension brings your [Agents](/agents/overview) directly into your browser. Use Cassidy from any webpage without switching tabs.
## Get started
Set up the Chrome and Edge browser extension to access Agents from any webpage.
# Add labels to Gmail message
Source: https://docs.cassidyai.com/integrations/google-workspace/gmail/add-labels
Add labels to a Gmail message as part of a Workflow.
Use the **Add Labels to Gmail Message** action to apply labels to a Gmail message from within a [Workflow](/workflows/overview). This helps you automatically organize and categorize incoming emails.
## Set up the action
While editing a Workflow, click the **+** button between existing blocks. Select **Add Labels to Gmail Message** from the action list.
Click the action name to give it a more descriptive label for easier reference.
If you haven't already, connect your Gmail account to Cassidy.
If you're using this action with the **New Email Received in Gmail** trigger, enable **Add Labels to Trigger Email** to automatically apply labels to the email that started the Workflow.
Enter an email ID manually, use a variable from previous steps (such as the message ID from a trigger), or click the list icon to search and select an email from the trigger.
If **Add Labels to Trigger Email** is enabled, this field can be left empty.
Search for and select existing Gmail labels, or click the pencil icon to manually enter label names. You can add multiple labels to organize your emails effectively.
## Related
Trigger a Workflow when a new email is received.
Send an email from a Workflow.
# Draft email with Gmail
Source: https://docs.cassidyai.com/integrations/google-workspace/gmail/draft-email
Create a draft email in your Gmail account from a Workflow.
Use the **Draft Email with Gmail** action to create a draft email in your connected Gmail account as part of a [Workflow](/workflows/overview). The draft is saved to your Gmail drafts folder for review before sending.
## Set up the action
While editing a Workflow, click the **+** button between existing blocks. Select **Draft Email with Gmail** from the action list.
Click the action name to give it a more descriptive label for easier reference as a variable in later steps.
If you haven't already, connect your Gmail account to Cassidy.
If you're using this action with the **New Email Received in Gmail** trigger, enable **Reply to Trigger Email** to draft a reply to the same email thread that started the Workflow.
Enter an email address manually, use a variable from previous steps, or click the list icon to search and select an email from the trigger.
If both **Reply to Trigger Email** and **Reply to Email** are left empty, this creates a new email thread.
Enable **Reply All** to include all recipients from the **To**, **Cc**, and **Bcc** fields of the original email.
In the **To** field, enter a single email address or a comma-separated list of recipients.
In the **Subject** field, enter the subject line. You can reference variables from previous steps or the trigger. This field is required when creating a new email thread.
In the **Email Body** field, enter the content of your email. You can reference variables from previous steps to personalize the message.
Select from available variables to include as attachments.
Click on the options under **Optional Fields** to configure additional settings like **Cc**, **Bcc**, and **From Email**.
This action creates a draft in your Gmail account — it does not send the email. Use the [Send Email with Gmail](/integrations/google-workspace/gmail/send-email) action to send emails directly.
## Related
Send an email directly from a Workflow.
Trigger a Workflow when a new email is received.
# New email received in Gmail trigger
Source: https://docs.cassidyai.com/integrations/google-workspace/gmail/new-email-trigger
Run a Workflow automatically when a new email arrives in your Gmail inbox.
Use the **New Email Received in Gmail** trigger to start a [Workflow](/workflows/overview) whenever a new email is received in your connected Gmail account. This is useful for automating email triage, drafting replies, or routing messages based on sender or content.
## Set up the trigger
Create a new Workflow with the **New Email Received in Gmail** trigger, or change an existing Workflow's trigger type to **New Email Received in Gmail**.
If you haven't already, connect your Gmail account to Cassidy.
Filter the trigger to only activate for emails with specific labels such as **Inbox**, **Important**, **Chat**, **Sent**, **Trash**, **Draft**, or **Spam**.
Select any labels you want to exclude from triggering the Workflow.
In subsequent Workflow steps, you can reference the following variables from this trigger:
* **Email ID** — the ID of the new email
* **Thread ID** — the ID of the email thread
* **Labels** — the inbox labels applied to the email
* **From** — the sender's email address
* **Subject** — the subject line
* **Body** — the email body content
* **Attachments** — any files attached to the email
In the trigger block, click the toggle switch to turn it on.
This trigger only activates for emails received **after** the trigger is set up. It does not process existing emails.
## Related
Send or reply to an email from a Workflow.
Create a draft email from a Workflow.
Add labels to a Gmail message from a Workflow.
# Gmail
Source: https://docs.cassidyai.com/integrations/google-workspace/gmail/overview
Connect Gmail to trigger Workflows from new emails and send, draft, or label messages.
The Gmail integration connects your email to Cassidy [Workflows](/workflows/overview). Trigger Workflows when new emails arrive, and send, draft, or label messages as part of your automations.
## What you can do
Trigger Workflows from incoming emails and automate replies, drafts, and labeling.
# Send email with Gmail
Source: https://docs.cassidyai.com/integrations/google-workspace/gmail/send-email
Send or reply to an email using your Gmail account from a Workflow.
Use the **Send Email with Gmail** action to send an email from your connected Gmail account as part of a [Workflow](/workflows/overview). You can compose new emails, reply to existing threads, or reply to the email that triggered the Workflow.
## Set up the action
While editing a Workflow, click the **+** button between existing blocks. Select **Send Email with Gmail** from the action list.
Click the action name to give it a more descriptive label for easier reference as a variable in later steps.
If you haven't already, connect your Gmail account to Cassidy.
If you're using this action with the **New Email Received in Gmail** trigger, enable **Reply to Trigger Email** to reply to the same email thread that started the Workflow.
Enter an email address manually, use a variable from previous steps (such as the sender's email from a trigger), or click the list icon to search and select an email from the trigger.
If both **Reply to Trigger Email** and **Reply to Email** are left empty, this creates a new email thread.
Enable **Reply All** to send the reply to all recipients in the **To**, **Cc**, and **Bcc** fields of the original email.
In the **To** field, enter a single email address or a comma-separated list of recipients.
In the **Subject** field, enter the subject line. You can reference variables from previous steps or the trigger. This field is required when creating a new email thread.
In the **Email Body** field, enter the content of your email. You can reference variables from previous steps to personalize the message.
Select from available variables to include as attachments, such as outputs from **Export as PDF** or **Export as Microsoft Word Document** actions.
Click on the options under **Optional Fields** to configure additional settings like **Cc**, **Bcc**, **From Name**, **From Email**, and **Reply To**.
## Related
Create a draft email instead of sending immediately.
Trigger a Workflow when a new email is received.
# Gmail for Workflows
Source: https://docs.cassidyai.com/integrations/google-workspace/gmail/workflows
Trigger Workflows from incoming emails and automate replies, drafts, and labeling.
Use Gmail to trigger Workflows from incoming emails and automate replies, drafts, and labeling. React to incoming messages, send replies, create drafts, and organize your inbox — all without leaving Cassidy.
## Triggers
Start a Workflow when a new email arrives.
## Actions
Send an email from your connected Gmail account.
Create a draft email without sending it.
Add Gmail labels to organize messages.
# Google Calendar Agent Connector
Source: https://docs.cassidyai.com/integrations/google-workspace/google-calendar/agent-connector
Connect your Agent to Google Calendar to view, create, and manage calendar events directly from conversations.
The Google Calendar Connector gives your [Agents](/agents/overview) access to your Google Calendar. Agents can list events, check availability, and create or update events during conversations — with permission controls so you decide exactly what the Agent can do. Data is accessed in real time and never copied or stored in Cassidy.
For best results with complex Connector queries, use a powerful,
reasoning-capable model. Cassidy supports models from OpenAI, Anthropic, and
Google — see [Choose the right AI model](/guides/choose-ai-model) for current
recommendations.
## Set up the Google Calendar Connector
Go to **Agents** and select the Agent you want to configure.
Click the **Setup** tab and scroll to the **Connectors** section.
Click **+ Add Connector** and select **Google Calendar**.
Select how users will authenticate:
* **Each user connects their own account** (recommended) — each user signs in with their own Google account
* **Use a shared connection** — all users access Google Calendar through one shared account
If using a shared connection, click **Set up shared connection** and sign in with Google. Grant Cassidy access to your Google Calendar.
Give a new shared connection a recognizable name, then choose the people
and groups who can use it.
Set permissions for each action the Agent can perform:
* **Always allow** — The Agent performs the action automatically when needed
* **Ask every time** — The Agent asks the user before taking the action
* **Disabled** — The Agent cannot perform the action
Google Calendar actions are organized into categories:
* **View Data** — Get Calendar, List Calendars, List Events, and Find Free Slots. Default: **Always allow**.
* **Create & Modify** — Create Event, Update Event, Duplicate Calendar, and Update Calendar. Default: **Disabled**.
* **Remove Data** — Delete Event and Delete Calendar. Default: **Disabled**.
You can set one permission for a category or configure its actions
individually. For example, you might leave **View Data** as **Always
allow** while setting **Create & Modify** to **Ask every time**.
Google Calendar is a read/write Connector. **Always allow** on Create & Modify or Remove Data actions lets the Agent change or delete events and calendars without asking first.
Navigate to **Chat** and select the Agent with the Google Calendar Connector enabled.
If you chose **Each user connects their own account**, users are prompted to connect their Google account from within the chat the first time they use the Connector.
Once connected, your Agent can check your calendar, find open time slots, schedule meetings, and answer questions about upcoming events.
## Connect Google Calendar for yourself
To use Google Calendar in any chat, not just with this Agent, open **Customize** →
**Connectors**, find **Google Calendar**, and click **Connect**. See [Add a Connector for
yourself](/agents/connectors/overview#add-a-connector-for-yourself).
## Monitor Google Calendar actions
When an Agent uses the Google Calendar Connector, expand the action in the response to see its input, result, and approval status.
If an action lacks the required permissions, the step shows **No output data**.
## Data security
Google Calendar data is accessed in real time and is not copied or stored in Cassidy. The Agent only queries Google Calendar when needed to answer a question or complete a task.
The Google Calendar Connector requests access to view and manage the calendars
and events you authorize. Cassidy does not access calendars outside the ones
covered by the Google account you connect.
## Next steps
Learn about all available Agent Connectors and how they work.
See every integration available in Cassidy.
# Create Google Calendar event
Source: https://docs.cassidyai.com/integrations/google-workspace/google-calendar/create-event
Create events in your Google Calendar from a Workflow.
Create events in your Google Calendar directly from a [Workflow](/workflows/overview). Use this action to schedule meetings from form submissions, add follow-up events after calls, or automate calendar management.
In the [Workflow builder](/workflows/building), click the **+** button between existing blocks. Select **Create Google Calendar Event** from the action list.
Click the action name to enter a more descriptive label, making it easier to reference as a variable later.
If you haven't already, connect your Google Calendar account to Cassidy.
Choose how to add the event:
* **Detailed Event** — input specific details: title, start date, end date, and description. Use variables from previous steps or enter values manually.
* **Natural Language** — write a plain text description and Google parses it to create the event (e.g., "Meet with Michael 10am 7/22/2024" or "Call Sarah at 1:30PM on Friday"). You can optionally enter a title.
Under optional fields, select **Calendar** to choose which calendar to add the event to. If no calendar is selected, the event is added to your primary calendar.
## Related
* [New or updated Google Calendar event trigger](/integrations/google-workspace/google-calendar/new-or-updated-event-trigger)
* [Update Google Calendar event](/integrations/google-workspace/google-calendar/update-event)
* [Get Google Calendar events](/integrations/google-workspace/google-calendar/get-events)
* [Get Google Calendar schedule](/integrations/google-workspace/google-calendar/get-schedule)
* [Google Calendar for Workflows](/integrations/google-workspace/google-calendar/workflows)
# Get Google Calendar events
Source: https://docs.cassidyai.com/integrations/google-workspace/google-calendar/get-events
Retrieve a list of Google Calendar events within a date range from a Workflow.
Retrieve a list of events from your Google Calendar within a [Workflow](/workflows/overview). Use this action for meeting prep, reminders, daily summaries, or any automation that needs to know what's on your calendar.
## Set up the action
In the [Workflow builder](/workflows/building), click the **+** button between existing blocks. Select **Get Google Calendar Events** from the action list.
Click the action name to enter a more descriptive label for easier variable reference later.
If you haven't already, connect your Google Calendar account to Cassidy. Click **Connect**, review the terms, and authorize the permissions.
Under optional fields, select which calendar to retrieve events from. If no calendar is selected, events are retrieved from your primary calendar.
Set **Time Range Start** and **Time Range End** to define the date range for retrieving events.
Enter text in the **Query** field to filter events by keywords. This searches event summaries, descriptions, locations, attendee information, and organizer information.
Under optional settings, you can configure:
* **iCal UID** — include the iCalendar event ID in the response
* **Minimum Updated time** — filter to events modified at or after this timestamp
* **Time Zone** — time zone for the response (default is calendar time zone)
* **Order By** — order of returned events (set Single Events to true to order by start time)
* **Event Types** — filter by Default, Focus Time, Out of Office, or Working Location
* **Single Events** — break recurring series into individual occurrences
* **Ignore Recurring Events** — exclude recurring events
* **Show Deleted** — include cancelled events
* **Show Hidden Invitations** — include hidden invitations
* **Max Attendees** — limit attendees returned per event for performance
The action outputs a list of events. Use the variable picker in subsequent steps to reference event data. See the output variables table below for the full list.
Because this action returns a list of events, use a [Loop action](/reference/actions/loop) to process each event individually.
## Output variables
| Variable | Description |
| - | - |
| **Event ID** | Unique identifier of the calendar event |
| **iCal UID** | iCalendar event ID in iCalendar format |
| **Recurring Event ID** | ID of a recurring event |
| **Sequence** | Version number that increments with changes |
| **Recurrence** | Repeating schedule (iCalendar RFC 5545 format) |
| **Creator** | Event creator's email, name, and Self status |
| **Organizer** | Event organizer's email, name, and Self status |
| **Created Date** | When the event was created (UTC, ISO 8601) |
| **Updated Date** | When the event was last modified (UTC, ISO 8601) |
| **Start Date** | When the event begins |
| **End Date** | When the event ends |
| **End Time Unspecified** | Whether the event's end time is missing |
| **Original Start Time** | Original start for recurring instance |
| **Status** | Event state: confirmed, tentative, or cancelled |
| **Event Type** | Classification: default, outOfOffice, focusTime, workingLocation |
| **Visibility** | Visibility level: default, public, private, confidential |
| **Transparent** | Whether the event blocks time (opaque = Busy, transparent = Free) |
| **Calendar Event Link** | Link to the calendar event |
| **Meeting Link** | Conference URL (e.g., Google Meet) |
| **Title** | Title or subject of the event |
| **Description** | Event description |
| **Location** | Event location |
| **Attendees Omitted** | Whether attendee list was excluded (too large) |
| **Attendees** | List of people invited to the event |
## Example workflow: Daily meeting prep
Here's how to set up a Workflow that prepares you for the day's meetings:
Set it to run daily at 8am. See [Scheduled trigger](/reference/triggers/scheduled) for details.
Configure it to retrieve today's events.
Loop through each event returned by the Get Google Calendar Events action.
Use the event's title, description, and attendee information to research and prepare a brief summary. See [Generate Text](/reference/actions/generate-text) for details.
Combine all meeting summaries and send them to yourself in Slack. See [Send Slack message](/integrations/slack/send-slack-message) for details.
Here's what the results might look like in Slack:
## Related
* [New or updated Google Calendar event trigger](/integrations/google-workspace/google-calendar/new-or-updated-event-trigger)
* [Create Google Calendar event](/integrations/google-workspace/google-calendar/create-event)
* [Update Google Calendar event](/integrations/google-workspace/google-calendar/update-event)
* [Get Google Calendar schedule](/integrations/google-workspace/google-calendar/get-schedule)
* [Google Calendar for Workflows](/integrations/google-workspace/google-calendar/workflows)
# Get Google Calendar schedule
Source: https://docs.cassidyai.com/integrations/google-workspace/google-calendar/get-schedule
Check free/busy availability from Google Calendar in a Workflow.
Retrieve free/busy availability from your Google Calendar within a [Workflow](/workflows/overview). Use this action to find available meeting times, automate scheduling decisions, or generate daily availability reports.
## Set up the action
In the [Workflow builder](/workflows/building), click the **+** button between existing blocks. Select **Get Google Calendar Schedule** from the action list.
If you haven't already, connect your Google Calendar account to Cassidy. In the configuration panel, click **Connect** and follow the authorization flow.
Enter a more descriptive name to make the action easier to reference as a variable later.
Select which calendars to retrieve schedule information from.
Set **Period Start Date** and **Period End Date** to define the window for availability.
Specify the preferred time zone for the response. If omitted, the account or calendar time zone is used.
Add actions to use the schedule information. Common approaches:
* **Generate Text** — format the raw calendar schedule into a readable report
* **Send Slack message** — notify yourself or your team with the availability
Example: add a **Generate Text** action to format the report, then a **Send Slack message** action to deliver it.
Test and publish your Workflow to automate retrieving and processing calendar schedules.
## Sample output
The output includes information about busy and free time slots. You can identify when calendars are available or occupied.
## Related
* [New or updated Google Calendar event trigger](/integrations/google-workspace/google-calendar/new-or-updated-event-trigger)
* [Create Google Calendar event](/integrations/google-workspace/google-calendar/create-event)
* [Update Google Calendar event](/integrations/google-workspace/google-calendar/update-event)
* [Get Google Calendar events](/integrations/google-workspace/google-calendar/get-events)
* [Google Calendar for Workflows](/integrations/google-workspace/google-calendar/workflows)
# New or updated Google Calendar event trigger
Source: https://docs.cassidyai.com/integrations/google-workspace/google-calendar/new-or-updated-event-trigger
Start a Workflow when a Google Calendar event is created or updated.
Runs when a Google Calendar event is created or updated. Use this trigger to automate follow-up on new meetings, sync event data to other tools, or generate prep materials when your schedule changes.
## Set up the trigger
Create a new [Workflow](/workflows/overview) with the **New or Updated Google Calendar Event** trigger, or change an existing Workflow's trigger type.
If you haven't already, connect your Google Calendar account to Cassidy.
Enable **Trigger on new events only** if you want the Workflow to run only for newly created events. When disabled, the Workflow also triggers for updated events.
Under optional fields, select which calendars to monitor. If no calendars are selected, the trigger listens to your default calendar.
In subsequent actions, use the variable picker to insert data from the trigger. Available variables:
* **Event ID** — unique identifier of the calendar event
* **Title** — title or subject of the calendar event
* **Description** — description or details of the calendar event
* **Created Date** — when the event was created
* **Updated Date** — when the event was last updated
* **Calendar Event Link** — link to the calendar event
* **Start Date** — when the event begins
* **End Date** — when the event ends
* **Creator Email** — email of the event creator
* **Organizer Email** — email of the event organizer
* **Attendees** — list of people invited to the event
In the trigger block, click the toggle switch to turn it on.
## Output variables
| Variable | Description |
| - | - |
| **Event ID** | Unique identifier of the calendar event |
| **Title** | Title or subject of the calendar event |
| **Description** | Description or details of the calendar event |
| **Created Date** | When the event was created |
| **Updated Date** | When the event was last updated |
| **Calendar Event Link** | Link to the calendar event |
| **Start Date** | When the event begins |
| **End Date** | When the event ends |
| **Creator Email** | Email of the event creator |
| **Organizer Email** | Email of the event organizer |
| **Attendees** | List of people invited to the event |
## Related
* [Create Google Calendar event](/integrations/google-workspace/google-calendar/create-event)
* [Update Google Calendar event](/integrations/google-workspace/google-calendar/update-event)
* [Get Google Calendar events](/integrations/google-workspace/google-calendar/get-events)
* [Get Google Calendar schedule](/integrations/google-workspace/google-calendar/get-schedule)
* [Google Calendar for Workflows](/integrations/google-workspace/google-calendar/workflows)
# Google Calendar
Source: https://docs.cassidyai.com/integrations/google-workspace/google-calendar/overview
Connect Google Calendar to trigger Workflows from events and manage your schedule automatically.
The Google Calendar integration connects your calendar to Cassidy [Workflows](/workflows/overview). Trigger Workflows when events are created or updated, and manage events programmatically as part of your automations.
## What you can do
Let Agents view, create, and manage calendar events in real time during conversations.
Trigger Workflows from calendar events and manage your schedule automatically.
# Update Google Calendar event
Source: https://docs.cassidyai.com/integrations/google-workspace/google-calendar/update-event
Update existing Google Calendar events from a Workflow.
Update existing Google Calendar events directly from a [Workflow](/workflows/overview) without manual edits in Google Calendar. Use this action to reschedule meetings, add attendee notes, or sync event changes from other systems.
In the [Workflow builder](/workflows/building), click the **+** button between existing blocks. Select **Update Google Calendar Event** from the action list.
Click the **...** in the top-right of the action box and select **Rename** to enter a more descriptive name.
Connect the Google Calendar account that contains the event you want to update. Click the action box to open the configuration panel, then click **Connect**.
**Event ID** is required. Add it in one of two ways:
* Select an existing Event ID from the dropdown (e.g., from a trigger or previous Get Events action)
* Enter a value or variable manually
Then add values for the remaining fields as needed: **Title**, **Start Date**, **End Date**, and **Description**.
Under **Optional Fields**, you can add:
* **Calendar** — choose which calendar the updated event belongs to (defaults to primary calendar)
* **Time Zone** — override the time zone (default is the primary calendar's time zone)
* **Event Location** — specify the event location
* **Attendees** — array or comma-separated list of attendee email addresses
* **Repeat Frequency** — make the event repeat
* **Send Updates** — configure whether to send notifications about the update
## Related
* [New or updated Google Calendar event trigger](/integrations/google-workspace/google-calendar/new-or-updated-event-trigger)
* [Create Google Calendar event](/integrations/google-workspace/google-calendar/create-event)
* [Get Google Calendar events](/integrations/google-workspace/google-calendar/get-events)
* [Get Google Calendar schedule](/integrations/google-workspace/google-calendar/get-schedule)
* [Google Calendar for Workflows](/integrations/google-workspace/google-calendar/workflows)
# Google Calendar for Workflows
Source: https://docs.cassidyai.com/integrations/google-workspace/google-calendar/workflows
Trigger Workflows from calendar events and create, update, or query events automatically.
Use Google Calendar as a trigger or action in your [Workflows](/workflows/overview) to automate scheduling tasks. React to calendar changes, create events, check availability, and keep your team in sync.
## Triggers
Start a Workflow when a Google Calendar event is created or updated.
## Actions
Create a new calendar event with title, date, time, and attendees.
Modify an existing calendar event.
Retrieve a list of events within a date range.
Check free/busy availability for a calendar.
# Google Drive for Knowledge Base
Source: https://docs.cassidyai.com/integrations/google-workspace/google-drive/knowledge-base
Import Google Drive documents and folders into your Knowledge Base for AI-powered search.
Import Google Drive documents, spreadsheets, slides, and folders into your [Knowledge Base](/knowledge-base/overview) so your [Agents](/agents/overview) and [Workflows](/workflows/overview) can search and reference them when generating answers.
## Connect your account
Open **Account Settings**, then select **Integrations**.
Find **Google Drive** in the list and click **Connect**.
Sign in to your Google account in the popup window.
Review the permissions and click **Accept** to grant access to your Google Drive files and folders.
## Import content
Navigate to **Knowledge Base** in the sidebar and click **Add**. Select **Google Drive** from the list of available sources.
Browse your Google Drive and select the files or folders you want to import, then click **Import**.
Imported content syncs automatically every 24 hours. Enterprise plans support
live sync for near-real-time updates. Learn more about [sync
behavior](/integrations/sync-integrations).
## Next steps
Trigger automations from file changes and manage files programmatically.
Learn how to organize and manage your imported content.
# Google Drive
Source: https://docs.cassidyai.com/integrations/google-workspace/google-drive/overview
Connect Google Drive to import documents into your Knowledge Base and automate file management.
Google Drive connects your files, folders, and shared drives to Cassidy. Import documents into your [Knowledge Base](/knowledge-base/overview) so [Agents](/agents/overview) and [Workflows](/workflows/overview) can reference them, or automate file management directly from your Workflows.
## What you can do
Import documents, spreadsheets, and slides for AI-powered search.
Trigger Workflows from file changes and manage files automatically.
# Google Drive for Workflows
Source: https://docs.cassidyai.com/integrations/google-workspace/google-drive/workflows
Trigger Workflows from Google Drive file changes and manage files as part of your automations.
Use Google Drive to trigger [Workflows](/workflows/overview) when files change and manage files as part of your automations.
## Connect your account
1. Open a Google Drive trigger or action in the [Workflow builder](/workflows/overview).
2. Click **Connect**.
3. Sign in with Google.
4. Click **Allow** to grant access.
## Available triggers
| Trigger | Description |
| - | - |
| Changes to Specific Files | Fires when a specific file is modified |
| Changes to Specific Files (Shared Drive) | Fires when a specific file in a Shared Drive is modified |
| New File | Fires when a new file is added |
| New File (Shared Drive) | Fires when a new file is added to a Shared Drive |
| New or Modified Comments | Fires when comments are added or updated |
| New or Modified Files | Fires when any file is created or updated |
| New or Modified Folders | Fires when a folder is created or updated |
## Available actions
| Action | Description |
| - | - |
| Create Folder | Create a new folder |
| Create File from Template | Generate a new file from a template |
| Create File from Text | Create a new document from plain text |
| Delete File or Folder | Permanently delete a file or folder |
| Find Files | Search for files by name, type, or criteria |
| Find Folders | Search for folders by name or location |
| Get File by ID | Retrieve a specific file by its unique ID |
| Download File | Download a file's contents |
| Get Folder ID for Path | Look up the folder ID for a given path |
| Get Shared Drives | List accessible Shared Drives |
| List Files | List files in a specific folder |
| Move File | Move a file between folders |
| Move to Trash | Send a file or folder to trash |
| Share File or Folder | Share with specific people or groups |
| Update File | Update content or metadata |
| Upload File | Upload a new file to a folder |
# Google Sheets Agent Connector
Source: https://docs.cassidyai.com/integrations/google-workspace/google-sheets/agent-connector
Let Agents read, update, and add to your Google Sheets spreadsheets in real time during conversations.
The Google Sheets Connector lets your [Agents](/agents/overview) work with
spreadsheet data during a conversation — summarize a sheet, look up values,
append rows, or update cells. Data is queried in real time and never imported
or indexed in Cassidy.
The Connector works best when you point it at a specific spreadsheet. Paste a
Google Sheets link into your message — for example, "Summarize this
spreadsheet: \[link]" or "Add a row for the new lead to \[link]".
## Set up the Google Sheets Connector on an Agent
Go to **Agents**, select the Agent you want to configure, and open the
**Setup** tab.
Scroll to the **Connectors** section, click **+ Add Connector**, and select
**Google Sheets**.
Select how users will authenticate:
* **Each user connects their own account** (recommended) — each person
signs in with their own Google credentials, so the Agent only sees
spreadsheets that person can access.
* **Use a shared connection** — everyone uses one Google account. Best when
the team works from shared spreadsheets owned by a service account.
Create a shared connection, complete the Google sign-in, and give the
connection a recognizable name.
Then choose the people and groups who can use it.
Everyone with access acts through the same Google account. Use a
dedicated service account when possible.
Google Sheets actions are grouped into three categories. Set each category
— or individual actions within it — to **Always allow**, **Ask every
time**, or **Disabled**:
* **View Data** — Search spreadsheets, get spreadsheet info, sheet names,
and cell values. Allowed automatically by default.
* **Create & Modify** — Create spreadsheets, add rows and columns, update
or append values. Disabled by default until you enable it.
* **Remove Data** — Delete sheets or clear cell values. Disabled by default.
Review **Create & Modify** and **Remove Data** carefully — **Always
allow** lets the Agent change spreadsheet data without asking first.
Click **Add connector**, save the Agent, and start a chat. With a per-user
connection, each person is prompted to connect their Google account the
first time the Agent uses Google Sheets.
## Connect Google Sheets for yourself
To use Google Sheets in any chat, not just with this Agent, open **Customize** →
**Connectors**, find **Google Sheets**, and click **Connect**. See [Add a Connector for
yourself](/agents/connectors/overview#add-a-connector-for-yourself).
## What your Agent can do
| Category | Actions |
| - | - |
| **View Data** | Search spreadsheets, get spreadsheet info, get sheet names, get spreadsheet values |
| **Create & Modify** | Create a new spreadsheet, create rows and columns, update spreadsheet values, append values to a spreadsheet |
| **Remove Data** | Delete a sheet, delete cell values |
Try prompts like:
* "Summarize this spreadsheet: \[link]"
* "Add a row to \[link] with yesterday's numbers"
* "What changed in the Q3 pipeline sheet this week?"
## Data security
Spreadsheet data is queried in real time and is not imported or indexed in
Cassidy. With per-user connections, the Agent can only access spreadsheets the
signed-in person can access in Google.
## Next steps
Learn how Connectors, approvals, and personal connections work.
Trigger Workflows from spreadsheet changes and manage sheet data
automatically.
# Google Sheets
Source: https://docs.cassidyai.com/integrations/google-workspace/google-sheets/overview
Connect Google Sheets so Agents can work with spreadsheet data and Workflows can react to changes or update sheets automatically.
The Google Sheets integration connects your spreadsheets to Cassidy
[Agents](/agents/overview) and [Workflows](/workflows/overview). Agents can read
and update spreadsheet data during a conversation. Workflows can react to
changes and manage sheet data as part of an automated process.
## What you can do
Let Agents read and update Google Sheets through a personal or shared
connection.
Trigger Workflows from spreadsheet changes and manage sheet data
automatically.
# Google Sheets for Workflows
Source: https://docs.cassidyai.com/integrations/google-workspace/google-sheets/workflows
Trigger Workflows from spreadsheet changes and read, write, or manage sheet data automatically.
Use Google Sheets to trigger [Workflows](/workflows/overview) from spreadsheet changes and read, write, or manage sheet data automatically.
## Connect your account
1. Open a Google Sheets trigger or action in the [Workflow builder](/workflows/overview).
2. Click **Connect**.
3. Sign in with Google.
4. Click **Allow** to grant access.
## Available triggers
| Trigger | Description |
| - | - |
| New Comment | Fires when a new comment is added |
| New Row | Fires when a new row is added |
| New Updates | Fires when cells are updated |
| New Worksheet | Fires when a new worksheet is added |
## Available actions
| Action | Description |
| - | - |
| Get Spreadsheet by ID | Retrieve a spreadsheet by its unique ID |
| Get Values in Range | Read cell values from a specific range |
| Get Cell | Read a single cell's value |
| Find Rows | Search for rows matching criteria |
| List Worksheets | List all worksheets in a spreadsheet |
| Add Row | Append a new row |
| Update Cell | Update a single cell |
| Update Row | Update an existing row |
| Upsert Row | Update if found, insert if not |
| Add Column | Add a new column |
| Insert Anchored Note | Add a note to a cell |
| Insert Comment | Add a comment to a cell |
| Create Spreadsheet | Create a new spreadsheet |
| Create Worksheet | Add a new worksheet |
| Copy Worksheet | Duplicate a worksheet |
| Delete Worksheet | Remove a worksheet |
| Clear Cell | Clear a cell's contents |
| Clear Rows | Clear one or more rows |
| Delete Rows | Permanently delete rows |
# Google Slides
Source: https://docs.cassidyai.com/integrations/google-workspace/google-slides/overview
Connect Google Slides to create presentations from Workflows automatically.
The Google Slides integration connects your presentations to Cassidy [Workflows](/workflows/overview). Create new presentations or populate templates with data as part of your automations.
Looking to create and refine a presentation with an Agent in Chat? Use
[Cassidy Slides](/slides/create-and-export-presentations). Cassidy Slides can
export a PowerPoint file designed to import cleanly into Google Slides. This
integration page covers automated Google Slides actions in Workflows.
## What you can do
Create presentations and populate templates with data automatically.
# Google Slides for Workflows
Source: https://docs.cassidyai.com/integrations/google-workspace/google-slides/workflows
Create presentations and populate templates with data as part of your Workflow automations.
Use Google Slides to create presentations and populate templates with data as part of your [Workflow](/workflows/overview) automations.
## Connect your account
1. Open a Google Slides action in the [Workflow builder](/workflows/overview).
2. Click **Connect**.
3. Sign in with Google.
4. Click **Allow** to grant access.
## Available triggers
Google Slides has no triggers. Use a trigger from another integration (e.g. HubSpot, Google Sheets) to start your Workflow.
## Available actions
| Action | Description |
| - | - |
| Create Presentation | Create a new blank presentation |
| Create Presentation from Template | Duplicate a template and replace placeholders with Workflow data |
Design your template with named placeholders like `{{company_name}}`. The action replaces each placeholder with the corresponding variable.
# HubSpot Agent Connector
Source: https://docs.cassidyai.com/integrations/hubspot/agent-connector
Let Agents query and update HubSpot records in real time during conversations.
The HubSpot [Connector](/agents/connectors/overview) lets your [Agents](/agents/overview) search and retrieve customer information from HubSpot CRM during conversations. When a user asks about a contact, deal, or company, the Agent queries HubSpot in real time and returns the relevant data. The Connector is designed for searching and retrieving specific information rather than analyzing large datasets.
For best results with Connector queries, use a powerful, reasoning-capable
model. Cassidy supports models from OpenAI, Anthropic, and Google — see
[Choose the right AI model](/guides/choose-ai-model) for current
recommendations.
The HubSpot Connector works best for searching specific information or small
batch queries. For complex data analysis queries like "what is our average
deal size this year," consider using [Code Execution & File
Creation](/agents/advanced/code-execution-file-creation) or exporting data
from HubSpot directly.
## Set up the HubSpot Connector
Navigate to **Agents**, find the Agent you want to configure, click **...** and select **Edit**.
In the **Setup** tab, scroll to the **Connectors** section.
Click **+ Add Connector** and click **+ Add** on the **HubSpot** option.
Select how users will authenticate with HubSpot:
* **Each user connects their own account** (recommended) — Users sign in with their HubSpot credentials on first use. Respects each user's individual permissions. Best for teams with varying access levels.
* **Use a shared HubSpot connection** — All users access HubSpot through one account using your organization's existing connections.
If you chose **Use a shared HubSpot connection**, select an existing shared
connection or click **Create shared connection**. After signing in, give the
connection a recognizable name and choose who can use it.
Everyone with access acts through the same HubSpot account. Use a
dedicated service account when possible.
Review the actions HubSpot can perform. Set each action or category to
**Always allow**, **Ask every time**, or **Disabled**.
Navigate to **Chat** and select the Agent with the HubSpot Connector enabled.
If you chose **Each user connects their own account**, users are prompted to connect their HubSpot account from within the chat the first time they use the Connector. Click **Connect** when prompted.
Once connected, Cassidy continues the request automatically.
Your Agent can now access HubSpot data to answer questions about contacts, deals, companies, and other CRM records directly in the conversation.
## Connect HubSpot for yourself
To use HubSpot in any chat, not just with this Agent, open **Customize** →
**Connectors**, find **HubSpot**, and click **Connect**. See [Add a Connector for
yourself](/agents/connectors/overview#add-a-connector-for-yourself).
HubSpot has no per-action settings for your own account. The Agent's and
organization's settings decide when approval is required.
## Next steps
Trigger Workflows from record changes and push AI-generated results back to
your CRM.
Learn about other Connectors available for your Agents.
# Create HubSpot association
Source: https://docs.cassidyai.com/integrations/hubspot/create-association
Link two HubSpot records together, such as associating a contact with a company.
The Create HubSpot Association action links two records in HubSpot — contacts to companies, deals to contacts, and more. Use it to maintain organized relationships in your CRM by automatically associating related records.
This guide walks through an example Workflow that automatically associates new HubSpot contacts with their company. The Workflow triggers when a contact is created, extracts the domain from the contact's email, looks up a matching company by that domain, and creates an association between them.
In the [Workflow builder](/workflows/building), click the **+** button between existing blocks. Select **Create Association** from the action list.
If you haven't already, [connect your HubSpot account](/integrations/hubspot/overview) to Cassidy.
Enter a more descriptive name to make the action easier to reference as a variable later.
To use the Create Association action, configure earlier steps in your Workflow to provide the record IDs you want to associate. For example:
* **Add a trigger** such as **HubSpot Contact Created** to activate the Workflow when a new contact is created. Click **Add Filter** to narrow which contacts trigger the Workflow.
* **Add a [Look Up HubSpot Record](/integrations/hubspot/look-up-record) action** to find the record you want to associate with. For example, search for a company by domain name using a variable from the trigger.
Choose the object type of the source record: **Contacts**, **Companies**, **Deals**, or **Tickets**.
Provide the ID of the source record. Type the ID directly or press **#** to reference a variable from a previous step or trigger.
Choose the object type of the record you want to associate with the source: **Companies**, **Contacts**, **Deals**, or **Tickets**.
Provide the IDs of the records to associate with the source record. Type the IDs directly or press **#** to reference a variable. Separate multiple IDs with commas to create multiple associations at once.
Choose the type of association to create. Options vary by the selected object types and include values like `contact_to_company`, `contact_to_company_unlabeled`, and `billing_contact_to_company`.
Run the Workflow to verify the action works correctly. The output confirms that the association was successfully created between the specified HubSpot records.
## Related
* [Remove HubSpot Association](/integrations/hubspot/remove-association)
* [Find Associated HubSpot Records](/integrations/hubspot/find-associated-records)
* [Look Up HubSpot Record](/integrations/hubspot/look-up-record)
* [HubSpot for Workflows](/integrations/hubspot/workflows)
# Find associated HubSpot records
Source: https://docs.cassidyai.com/integrations/hubspot/find-associated-records
Retrieve records associated with a source record in HubSpot.
The Find Associated HubSpot Records action retrieves records associated with a source record in HubSpot. Use it to access related contacts, deals, companies, or tickets within your Workflows — for example, finding all open deals linked to a specific contact.
This guide walks through an example Workflow that finds active deals associated with a meeting participant. The Workflow triggers when a meeting ends, looks up the contact by email, retrieves associated deals, and generates a follow-up summary.
In the [Workflow builder](/workflows/building), click the **+** button between existing blocks. Select **Find Associated Records** from the action list.
If you haven't already, [connect your HubSpot account](/integrations/hubspot/overview) to Cassidy.
Enter a more descriptive name to make the action easier to reference as a variable later.
Before configuring the Find Associated Records action, add the necessary preceding actions. For example:
* **Add a trigger** such as a **Meeting Ended** trigger.
* **Add a [Look Up HubSpot Record](/integrations/hubspot/look-up-record) action** to find the contact by email from the trigger.
Choose the HubSpot object type of the source record: **Contacts**, **Companies**, **Deals**, or **Tickets**.
Provide the ID of the source record. Type the ID directly or press **#** to reference a variable from a previous step or trigger.
Choose the type of associated records to find: **Deals**, **Contacts**, **Companies**, or **Tickets**. If left blank, all associated records are returned.
Specify the type of association to filter by, such as `contact_to_deal` or `deal_to_company`. This narrows down the specific relationship between records.
Enable **Return Single Record** if you only want one associated record returned. When multiple records match, the action returns the first one.
Click **Add Condition** to filter associated records by specific criteria. Select a field, choose an operation (equals, contains, etc.), and enter the value. You can add multiple conditions using **AND** or **OR** operators.
After retrieving associated records, you can add a [Generate Text](/reference/actions/generate-text) action to create summaries or follow-up content using the record data.
The action returns the associated record(s) with their properties, which you can reference in subsequent Workflow steps.
## Related
* [Create HubSpot Association](/integrations/hubspot/create-association)
* [Remove HubSpot Association](/integrations/hubspot/remove-association)
* [Look Up HubSpot Record](/integrations/hubspot/look-up-record)
* [HubSpot for Workflows](/integrations/hubspot/workflows)
# Find or create HubSpot record
Source: https://docs.cassidyai.com/integrations/hubspot/find-or-create-record
Find an existing HubSpot record or create a new one if no match is found.
The Find or Create HubSpot Record action searches for a record in HubSpot and creates one if it doesn't exist. Use it to ensure records are always present — for example, automatically creating a company record when processing a new lead if one doesn't already exist.
In the [Workflow builder](/workflows/building), click the **+** button between existing blocks. Select **Find or Create HubSpot Record** from the action list.
If you haven't already, connect your HubSpot account to Cassidy. This allows Cassidy to access your HubSpot records and create new ones when needed.
Enter a more descriptive name to make the action easier to reference as a variable later.
Choose the HubSpot object type you want to search for or create: **Companies**, **Contacts**, **Deals**, or **Tickets**.
Under **Fields to search by**, click **Add Condition** to locate matching records. Select the field to search on, choose an operation (equals, contains, etc.), and enter the value to match. You can add multiple conditions combined with an AND operator. Use variables from the trigger or previous steps to match dynamically.
Under **Fields to return**, click **+ Add Field** and select the HubSpot fields whose values you want to use in subsequent Workflow steps. These fields are returned whether the record was found or newly created. Click the trash icon to remove a selected field.
Under **Create new object (if no results found)**, map the fields and values to use when creating a new record. Required fields are pre-populated. Click **+ Add Field** to add optional fields, and click the trash icon to remove non-required fields.
## Sample output
When a matching record is found:
When no match is found and a new record is created:
## Related
* [Look Up HubSpot Record](/integrations/hubspot/look-up-record)
* [Update HubSpot Record](/integrations/hubspot/update-record)
* [Create HubSpot Association](/integrations/hubspot/create-association)
* [HubSpot for Workflows](/integrations/hubspot/workflows)
# Look up HubSpot record
Source: https://docs.cassidyai.com/integrations/hubspot/look-up-record
Look up a record in HubSpot by search criteria and return its field values.
The Look Up HubSpot Record action searches for records in HubSpot and returns specified field values. Use it to fetch contact details, check deal status, or retrieve company information for use in subsequent Workflow steps.
In the [Workflow builder](/workflows/building), click the **+** button between existing blocks. Select **Look Up HubSpot Record** from the action list.
If you haven't already, connect your HubSpot account to Cassidy. This allows Cassidy to access and look up your HubSpot records.
Enter a more descriptive name to make the action easier to reference as a variable later.
Choose the HubSpot object type you want to search for: **Companies**, **Contacts**, **Deals**, or **Tickets**.
Under **Fields to search by**, click **Add Condition** to locate the specific record(s). Select the field to search on, choose an operation (equals, contains, etc.), and enter the value to match. You can add multiple conditions combined with an AND operator. Use variables from the trigger or previous steps to match dynamically.
Under **Fields to return**, click **+ Add Field** and select the HubSpot fields whose values you want to use in subsequent Workflow steps. Click the trash icon to remove a selected field.
## Sample output
## Related
* [Update HubSpot Record](/integrations/hubspot/update-record)
* [Find or Create HubSpot Record](/integrations/hubspot/find-or-create-record)
* [Find Associated HubSpot Records](/integrations/hubspot/find-associated-records)
* [HubSpot for Workflows](/integrations/hubspot/workflows)
# HubSpot
Source: https://docs.cassidyai.com/integrations/hubspot/overview
Connect HubSpot for Agent Connectors and Workflow triggers and actions in Cassidy.
The HubSpot integration brings your CRM data into Cassidy. Use it to give [Agents](/agents/overview) real-time access to contacts, deals, and companies, and trigger [Workflows](/workflows/overview) from record changes.
## What you can do
Let Agents search and retrieve HubSpot contacts, deals, and companies in real time.
Trigger Workflows when records are created or updated, and push results back to your CRM.
# HubSpot record created trigger
Source: https://docs.cassidyai.com/integrations/hubspot/record-created-trigger
Start a Workflow automatically when a new record is created in HubSpot.
The HubSpot Record Created trigger starts your [Workflow](/workflows/overview) whenever a new record is created in HubSpot. Use it to automate follow-up on new leads, notify your team of new deals, or process new support tickets.
This trigger works for various HubSpot record types, including companies, contacts, deals, and tickets. The setup process is the same for all record types — this guide uses a new company record as an example.
Create a new [Workflow](/workflows/overview) with a HubSpot Record Created trigger, or change an existing Workflow's trigger type. For example, select **HubSpot Company Created** to trigger on new companies.
If you haven't already, connect your HubSpot account to Cassidy. This allows Cassidy to access your HubSpot records and trigger Workflows based on new record creation.
Click **Add Filter** to trigger the Workflow only for specific records. Set conditions based on the record's properties — for example, trigger only when a company's industry is set to "Technology."
In subsequent actions, use the variable picker to insert data from the trigger. Available variables:
* **Record ID** — unique identifier for the new record
* **Record Type** — the HubSpot object type (Company, Contact, Deal, or Ticket)
* **Record fields** — all field values from the new record (name, email, deal stage, etc.)
In the trigger block, click the toggle switch to turn it on. Your Workflow will now run whenever a matching record is created in HubSpot.
The HubSpot Record Created trigger does not activate for existing records. It only triggers when a new record is created after the trigger has been activated.
## Related
* [HubSpot Record Updated trigger](/integrations/hubspot/record-updated-trigger)
* [Update HubSpot Record action](/integrations/hubspot/update-record)
* [Look Up HubSpot Record action](/integrations/hubspot/look-up-record)
* [HubSpot for Workflows](/integrations/hubspot/workflows)
# HubSpot record updated trigger
Source: https://docs.cassidyai.com/integrations/hubspot/record-updated-trigger
Start a Workflow automatically when a HubSpot record is updated.
The HubSpot Record Updated trigger starts your [Workflow](/workflows/overview) whenever a HubSpot record is updated. Use it to react to deal stage changes, contact property updates, or ticket status transitions.
This trigger works for various HubSpot record types, including companies, contacts, deals, and tickets. The setup process is the same for all record types — this guide uses an updated company record as an example.
Create a new [Workflow](/workflows/overview) with a HubSpot Record Updated trigger, or change an existing Workflow's trigger type. For example, select **HubSpot Company Updated** to trigger on company updates.
If you haven't already, connect your HubSpot account to Cassidy. This allows Cassidy to access your HubSpot records and trigger Workflows based on record updates.
Specify which HubSpot fields the trigger should monitor. When any of these fields are updated, the trigger activates and starts the Workflow. If no field is specified, changes to any field on the record will trigger the Workflow.
Click **Add Filter** to trigger the Workflow only for specific records. Set conditions based on the record's properties — for example, trigger only when a company's industry is set to "Technology."
In subsequent actions, use the variable picker to insert data from the trigger. Available variables:
* **Record ID** — unique identifier for the updated record
* **Record Type** — the HubSpot object type (Company, Contact, Deal, or Ticket)
* **Record fields** — all field values from the updated record (name, email, deal stage, etc.)
In the trigger block, click the toggle switch to turn it on. Your Workflow will now run whenever a matching record is updated in HubSpot.
## Related
* [HubSpot Record Created trigger](/integrations/hubspot/record-created-trigger)
* [Update HubSpot Record action](/integrations/hubspot/update-record)
* [Look Up HubSpot Record action](/integrations/hubspot/look-up-record)
* [HubSpot for Workflows](/integrations/hubspot/workflows)
# Remove HubSpot association
Source: https://docs.cassidyai.com/integrations/hubspot/remove-association
Remove the link between two HubSpot records in a Workflow.
The Remove HubSpot Association action removes the link between two records in HubSpot. Use it to clean up outdated relationships — for example, disassociating a contact from a company when they change organizations.
In the [Workflow builder](/workflows/building), click the **+** button between existing blocks. Select **Remove Association** from the action list.
If you haven't already, [connect your HubSpot account](/integrations/hubspot/overview) to Cassidy.
Enter a more descriptive name to make the action easier to reference as a variable later.
Choose the object type of the source record: **Contacts**, **Companies**, **Deals**, **Tickets**, **Calls**, or **Meetings**.
Provide the ID of the source record. Type the ID directly or reference a variable from a previous step or trigger.
Choose the object type of the records you want to disassociate: **Contacts**, **Companies**, **Deals**, or **Tickets**.
Provide the IDs of the records to disassociate from the source record. Separate multiple IDs with commas. Type the IDs directly or reference a variable from a previous step or trigger.
The action removes the association between the specified HubSpot records. The output confirms the disassociation was completed.
## Related
* [Create HubSpot Association](/integrations/hubspot/create-association)
* [Find Associated HubSpot Records](/integrations/hubspot/find-associated-records)
* [Look Up HubSpot Record](/integrations/hubspot/look-up-record)
* [HubSpot for Workflows](/integrations/hubspot/workflows)
# Update HubSpot record
Source: https://docs.cassidyai.com/integrations/hubspot/update-record
Update fields on an existing HubSpot record from a Workflow action.
The Update HubSpot Record action updates one or more fields on an existing HubSpot record. Use it to push AI-generated summaries back to the CRM, sync deal notes, or update contact information based on Workflow results.
In the [Workflow builder](/workflows/building), click the **+** button between existing blocks. Select **Update HubSpot Record** from the action list.
If you haven't already, connect your HubSpot account to Cassidy. This allows Cassidy to access and update your HubSpot records.
Enter a more descriptive name to make the action easier to reference as a variable later.
Choose the HubSpot object type you want to update: **Companies**, **Contacts**, **Deals**, or **Tickets**.
Under **Fields to search by**, click **Add Condition** to locate the specific record to update (maximum of 1 record). Select the field to search on, choose an operation (equals, contains, etc.), and enter the value to match. You can add multiple conditions combined with an AND operator. Use variables from the trigger or previous steps to match dynamically.
Under **Fields to update**, click **+ Add Field**, select the HubSpot field to update, and map the new value from a variable or hardcoded text. Repeat to update multiple fields. Click the trash icon to remove a mapped field.
## Sample output
## Related
* [Look Up HubSpot Record](/integrations/hubspot/look-up-record)
* [Find or Create HubSpot Record](/integrations/hubspot/find-or-create-record)
* [HubSpot Record Updated trigger](/integrations/hubspot/record-updated-trigger)
* [HubSpot for Workflows](/integrations/hubspot/workflows)
# HubSpot for Workflows
Source: https://docs.cassidyai.com/integrations/hubspot/workflows
Trigger Workflows from HubSpot record changes and update records with AI-generated results.
Connect HubSpot to your Workflows to automatically process record changes and push results back to your CRM.
## Triggers
Start a Workflow when a new contact, deal, company, or ticket is created.
Start a Workflow when a record field is updated.
## Actions
Update fields on an existing HubSpot record.
Search for records by field values.
Look up a record and create it if not found.
Link two HubSpot records together.
Unlink two associated records.
Find all records linked to a specific record.
# Jira for Knowledge Base
Source: https://docs.cassidyai.com/integrations/jira/knowledge-base
Import Jira projects and issues into your Knowledge Base for AI-powered search and context.
Import Jira projects and issues into your [Knowledge Base](/knowledge-base/overview) so your [Agents](/agents/overview) and [Workflows](/workflows/overview) can reference project context when generating answers.
On-premise Jira syncing is available with Enterprise plans. [Contact
us](mailto:support@cassidyai.com) for more details on setting up on-premise
integrations.
## Connect your account
Open **Account Settings**, then select **Integrations**.
Locate **Jira** in the list and click **Connect Jira**.
Sign in to your Atlassian account if prompted, then review the permissions and click **Accept** to grant Cassidy access to your Jira projects and issues.
Jira now shows as **Connected** in your Integrations list.
## Import Jira content
Navigate to your [Knowledge Base](/knowledge-base/overview), click **Sync From Integrations**, and select **Sync from Jira**.
Browse your Jira projects, select the projects or individual issues you want to import, then click **Import**.
Imported content syncs automatically every 24 hours. Enterprise plans support
live sync for near-real-time updates. Learn more about [sync
behavior](/integrations/sync-integrations).
## Next steps
Trigger Workflows from issue changes and automate issue management.
Learn how to organize and manage your imported content.
# Jira
Source: https://docs.cassidyai.com/integrations/jira/overview
Connect Jira to import project data into your Knowledge Base and automate issue management.
Import Jira issues and project data into your [Knowledge Base](/knowledge-base/overview) and automate issue management with [Workflows](/workflows/overview). Your [Agents](/agents/overview) can search across project data to answer questions and surface context.
On-premise Jira connections are available on Enterprise plans. Contact [support@cassidyai.com](mailto:support@cassidyai.com) for setup assistance.
## What you can do
Import Jira issues and project data for AI-powered search and context.
Trigger Workflows from issue changes and automate issue creation and management.
# Jira for Workflows
Source: https://docs.cassidyai.com/integrations/jira/workflows
Trigger Workflows from Jira issue changes and automate issue creation and management.
Use Jira to trigger [Workflows](/workflows/overview) from issue changes and automate issue creation and management.
## Connect your account
1. Open a Jira trigger or action in the [Workflow builder](/workflows/overview).
2. Click **Connect**.
3. Sign in with Atlassian.
4. Authorize access.
## Available triggers
| Trigger | Description |
| - | - |
| New Event | Fires when a new event occurs |
| New Issue | Fires when a new issue is created |
| Updated Issue | Fires when an existing issue is modified |
## Available actions
| Action | Description |
| - | - |
| Create Issue | Create a new issue with specified fields |
| Get Issue | Retrieve details of an existing issue |
| Update Issue | Modify fields on an issue |
| Assign Issue | Assign an issue to a team member |
| Transition Issue | Move an issue to a new status |
| Add Comment to Issue | Post a comment on an issue |
| Update Comment | Edit an existing comment |
| List Issue Comments | Retrieve all comments |
| Add Attachments to Issue | Attach files to an issue |
| Add Watcher to Issue | Add a user as a watcher |
| Search Issues | Query issues using JQL or keyword search |
| Get All Projects | List all projects |
| Create Project Version | Create a new version |
| Get Issue Transitions | Retrieve available status transitions |
| Get User | Look up a user's details |
| Get Users | List users |
# Custom Connectors
Source: https://docs.cassidyai.com/integrations/mcp
Connect your own systems to Cassidy through MCP so Agents, Skills, and Workflow AI actions can use them.
A Custom Connector connects Cassidy to any system that speaks the Model Context
Protocol (MCP): internal tools, databases, or APIs that don't have a built-in
Connector. Each of its actions has its own permission setting, and every action
an Agent runs is visible in the chat.
Add a Custom Connector, choose who can use it, and add it to Agents, Skills,
and Workflows.
# OneDrive for Knowledge Base
Source: https://docs.cassidyai.com/integrations/microsoft-365/onedrive/knowledge-base
Import OneDrive files and folders into your Knowledge Base for AI-powered search and context.
Import your OneDrive files into the [Knowledge Base](/knowledge-base/overview) so your [Agents](/agents/overview) and [Workflows](/workflows/overview) can search and reference them.
## Connect your account
Open **Account Settings**, then select **Integrations**.
Locate **Microsoft OneDrive** in the list and click **Connect**.
Sign in with your Microsoft account credentials.
Review the requested permissions and click **Accept** to authorize Cassidy.
## Import OneDrive content
Open your [Knowledge Base](/knowledge-base/overview), click **Sync From Integrations**, and select **Sync from OneDrive**.
Browse your OneDrive, select the files or folders you want to import, then click **Import**. Click **Load more** at the bottom of the list to see additional items.
You can also search for files and folders by pasting its OneDrive link into the search bar. In OneDrive, open the file or folder, click the **⋯** menu next to it, and select **Copy link**. Then paste that URL into the search bar in Cassidy.
OneDrive content automatically syncs every 24 hours, so your Knowledge Base
stays up to date as you add or edit files. Enterprise plans support live sync
for near-real-time updates. Learn more about [sync
behavior](/integrations/sync-integrations).
## Next steps
Learn how to manage and structure your imported content.
Create an Agent that uses your OneDrive documents to answer questions.
# Microsoft OneDrive
Source: https://docs.cassidyai.com/integrations/microsoft-365/onedrive/overview
Connect OneDrive to import files and documents into your Cassidy Knowledge Base.
Connect Microsoft OneDrive to Cassidy to import your cloud-stored files and documents into your [Knowledge Base](/knowledge-base/overview). Once connected, your [Agents](/agents/overview) and [Workflows](/workflows/overview) can search and reference OneDrive content automatically.
## What you can do
Import OneDrive files and folders for AI-powered search and context.
# Outlook Calendar Agent Connector
Source: https://docs.cassidyai.com/integrations/microsoft-365/outlook-calendar/agent-connector
Connect your Agent to Outlook Calendar so it can check availability, schedule meetings, and respond to invites during conversations.
The Outlook Calendar [Connector](/agents/connectors/overview) gives your [Agents](/agents/overview) real-time access to Outlook Calendar. Agents can review your schedule, check other people's availability, find meeting times, and, if you allow it, create, update, accept, decline, or cancel events directly from a conversation.
The Outlook Calendar Connector is separate from the [Outlook Email Connector](/integrations/microsoft-365/outlook-email/agent-connector), which works with email. Add both to an Agent when it needs email and calendar access.
For best results with complex Connector queries, use a powerful,
reasoning-capable model. Cassidy supports models from OpenAI, Anthropic, and
Google. See [Choose the right AI model](/guides/choose-ai-model) for
recommendations.
## Set up the Outlook Calendar Connector
Go to **Agents** and select the Agent you want to configure.
Click the **Setup** tab and scroll to the **Connectors** section.
Click **+ Add Connector**, then select **Outlook Calendar**.
Select how users will authenticate:
* **Each user connects their own account** (recommended) — each person signs in with their own Microsoft account the first time they use the Connector. The Agent follows that person's existing calendar permissions.
* **Use one Outlook Calendar account** — all users access Outlook Calendar through one shared account. Use a dedicated team or resource account when possible.
If you choose **Use one Outlook Calendar account**, select an existing connection or
click **Create shared connection**. After signing in with Microsoft, give
the connection a recognizable name and choose who can use it.
Set permissions for each action the Agent can perform:
* **Always allow** — the Agent performs the action automatically when needed
* **Ask every time** — the Agent asks the user before taking the action
* **Disabled** — the Agent cannot perform the action
Outlook Calendar actions are organized into categories:
* **View Calendar** — List Calendars, Get Calendar View, List Events, Get Event, Get Free/Busy Schedule, Find Meeting Times, Get Time Zone & Working Hours, and List Contacts. Default: **Always allow**.
* **Create & Update Events** — Create Event and Update Event. Default: **Disabled**.
* **Respond to Invites** — Accept Invite and Decline Invite. Default: **Disabled**.
* **Cancel / Delete Events** — Cancel Meeting and Delete Event. Default: **Disabled**.
You can set one permission for a category or configure its actions
individually. For example, you might leave **View Calendar** as **Always
allow** while setting **Create & Update Events** to **Ask every time**.
Creating, updating, responding to, and cancelling events can send notifications to other people. Setting these categories to **Always allow** lets the Agent invite attendees, reply to organizers, or cancel meetings without asking first.
Click **Add connector**.
Open **Chat** and select the Agent with the Outlook Calendar Connector enabled.
If you chose **Each user connects their own account**, each user is prompted to sign in with Microsoft on first use. After the connection is complete, the Agent can answer questions about upcoming meetings, find open time, and, if enabled, schedule or update events.
## Connect Outlook Calendar for yourself
To use Outlook Calendar in any chat, not just with this Agent, open **Customize** →
**Connectors**, find **Outlook Calendar**, and click **Connect**. See [Add a Connector for
yourself](/agents/connectors/overview#add-a-connector-for-yourself).
## What the Agent can do
Depending on the permissions you enable, your Agent can:
* Summarize meetings for a day, week, or any date range
* Look up event details, attendees, and online meeting links
* Check free/busy availability for colleagues and meeting rooms
* Suggest meeting times that work for every attendee
* Create events with attendees, locations, recurrence, and Microsoft Teams links
* Update the time, attendees, or details of existing events
* Accept, tentatively accept, or decline meeting invites
* Cancel meetings you organize or remove events from your calendar
## Monitor Outlook Calendar actions
When an Agent uses the Outlook Calendar Connector, expand the action in the response to see its input, result, and approval status.
If an action lacks the required permissions, the step shows **No output data**.
## Data security
* **Real-time access** — Outlook Calendar data is accessed only when the Agent needs it during a conversation and is not copied or stored in Cassidy.
* **Permission controls** — You decide which categories are always allowed, require approval, or are disabled.
* **Per-user accountability** — Individual connections preserve each user's own Microsoft access and make actions easier to attribute.
Outlook Calendar uses the same Microsoft sign-in as the Outlook Email
Connector, so the Microsoft consent screen lists both mail and calendar
permissions. The Outlook Calendar Connector only exposes the calendar actions
listed above. If your organization requires admin approval for Microsoft apps,
an administrator who has approved the Outlook Email Connector has also
approved Outlook Calendar.
## Next steps
Trigger Workflows from new or updated events and create calendar events
automatically.
Learn how Agent Connectors work across Cassidy.
# Create Outlook calendar event
Source: https://docs.cassidyai.com/integrations/microsoft-365/outlook-calendar/create-calendar-event
Create a new event in your Outlook Calendar from a Workflow.
Create events in your Outlook Calendar directly from a [Workflow](/workflows/overview). Use this action to schedule meetings from form submissions, add follow-up events after calls, or automate calendar management.
In the [Workflow builder](/workflows/building), click the **+** button between existing blocks. Select **Create Microsoft Outlook Calendar Event** from the action list.
Click the action name to enter a more descriptive label, making it easier to reference as a variable later.
If you haven't already, connect your Microsoft Outlook account to Cassidy.
Provide a title for the calendar event. You can type the title directly or reference a variable from a previous step or the trigger.
Select the start date using the date picker, or click the pencil icon to enter the date directly. You can reference variables from previous steps to set the timing dynamically.
Choose when the event should end using the date picker, or click the pencil icon to enter the date directly. You can also reference variables to set the end time dynamically.
Add additional details about the event. This field is optional but can provide valuable context for attendees.
Under **Optional Fields**, configure additional settings like **Time Zone**, **Event Location**, **Attendees**, and **Is Online Meeting**. Fill out each field as needed.
You can reference variables from the trigger or previous steps to populate any of these fields dynamically.
## Related
* [New calendar event trigger](/integrations/microsoft-365/outlook-calendar/new-calendar-event-trigger)
* [Updated calendar event trigger](/integrations/microsoft-365/outlook-calendar/updated-calendar-event-trigger)
* [Get calendar events](/integrations/microsoft-365/outlook-calendar/get-calendar-events)
* [Outlook Calendar for Workflows](/integrations/microsoft-365/outlook-calendar/workflows)
# Get Outlook calendar events
Source: https://docs.cassidyai.com/integrations/microsoft-365/outlook-calendar/get-calendar-events
Retrieve a list of Outlook Calendar events from a Workflow.
Retrieve a list of events from your Outlook Calendar inside a [Workflow](/workflows/overview). Use this action to pull upcoming meetings, create reminders, or generate a daily schedule summary.
In the [Workflow builder](/workflows/building), click the **+** button between existing blocks. Select **Get Microsoft Outlook Calendar Events** from the action list.
If you haven't already, connect your Microsoft Outlook account to Cassidy by clicking **Connect** and following the on-screen instructions.
Click the action name to enter a more descriptive label, making it easier to reference later.
Use **Filters** to narrow which events are returned. You can filter by:
* **Start time** — specify when events should begin
* **End time** — specify when events should end
* **Subject** — filter events by title or subject keywords
* **Created date** — filter by when the event was created
* **Last modified** — filter by when the event was last updated
For each row, choose an operator (for example, "Equals" or "Contains"), then enter a value or press **#** to reference a variable. Click **Delete** to remove a filter.
Time-based fields are typically handled in UTC, so keep your time format consistent when filtering.
Determine the order of results by selecting a field to sort by and choosing the sort direction (ascending or descending).
Specify the maximum number of results to return. This helps manage performance and limits the output to a specific number of events.
Choose whether to include recurring events in the results. When enabled, the action returns both one-time and recurring calendar events.
After running the Workflow once, use the action outputs in later steps by pressing **#** and selecting fields from the event list. Available variables:
* **Event ID** — unique identifier of the calendar event
* **Title** — title or subject of the calendar event
* **Description** — description or body content of the calendar event
* **Created Date** — when the calendar event was created
* **Updated Date** — when the calendar event was last modified
* **Calendar Event Link** — direct link to view the event in Outlook
* **Start Date** — start date and time of the event
* **End Date** — end date and time of the event
* **Time Zone** — time zone for the event
* **Is All Day** — whether the event is an all-day event
* **Is Online Meeting** — whether the event includes an online meeting
* **Join URL** — meeting link if it's an online meeting
* **Location** — physical location of the event
* **Organizer** — details about who organized the event (name and email)
* **Attendees** — list of people invited to the event
Because this action returns a list, add a **Loop** after it when you want to run follow-up steps once per event. Learn more about [using Loops](/workflows/building).
## Example: daily meetings summary
Set up a Workflow that checks your daily meetings and sends you a summary each morning.
Set it to run daily at 9 AM to automatically check your meetings each
morning.
Configure filters to retrieve today's events by setting appropriate start
and end time filters.
Loop through each event returned by the Get Calendar Events action.
Use the event's title, description, start time, and attendee information to
create a brief summary for each meeting.
Combine all the meeting summaries and send them to yourself in Slack to
review your day's schedule.
## Output variables
| Variable | Description |
| - | - |
| **Event ID** | Unique identifier of the calendar event |
| **Title** | Title or subject of the calendar event |
| **Description** | Description or body content of the calendar event |
| **Created Date** | When the calendar event was created |
| **Updated Date** | When the calendar event was last modified |
| **Calendar Event Link** | Direct link to view the event in Outlook |
| **Start Date** | Start date and time of the event |
| **End Date** | End date and time of the event |
| **Time Zone** | Time zone for the event |
| **Is All Day** | Whether the event is an all-day event |
| **Is Online Meeting** | Whether the event includes an online meeting |
| **Join URL** | Meeting link if it's an online meeting |
| **Location** | Physical location of the event |
| **Organizer** | Details about who organized the event (name and email) |
| **Attendees** | List of people invited to the event |
## Related
* [New calendar event trigger](/integrations/microsoft-365/outlook-calendar/new-calendar-event-trigger)
* [Updated calendar event trigger](/integrations/microsoft-365/outlook-calendar/updated-calendar-event-trigger)
* [Create calendar event](/integrations/microsoft-365/outlook-calendar/create-calendar-event)
* [Outlook Calendar for Workflows](/integrations/microsoft-365/outlook-calendar/workflows)
# New Outlook calendar event trigger
Source: https://docs.cassidyai.com/integrations/microsoft-365/outlook-calendar/new-calendar-event-trigger
Start a Workflow when a new event is created in your Outlook Calendar.
Runs when a new event is created in your Outlook Calendar. Use this trigger to automate meeting prep, sync new events to other tools, or notify your team when meetings are scheduled.
This trigger runs for all new calendar events. You may want to add an **Only
continue if** block to filter when the Workflow should run based on specific
conditions.
## Set up the trigger
Create a new [Workflow](/workflows/overview) with the **New Microsoft Outlook Calendar Event** trigger, or change an existing Workflow's trigger type.
If you haven't already, connect your Microsoft Outlook account to Cassidy.
In subsequent actions, use the variable picker to insert data from the trigger. Available variables:
* **Event ID** — unique identifier of the calendar event
* **Title** — title or subject of the calendar event
* **Description** — description or body content of the calendar event
* **Created Date** — when the calendar event was created
* **Updated Date** — when the calendar event was last modified
* **Calendar Event Link** — direct link to view the event in Outlook
* **Start Date** — start date and time of the event
* **End Date** — end date and time of the event
* **Time Zone** — time zone for the event
* **Is All Day** — whether the event is marked as an all-day event
* **Is Online Meeting** — whether the event includes an online meeting
* **Join URL** — meeting link if it's an online meeting
* **Location** — physical location of the event
* **Organizer (Name and Email)** — details about who organized the event
* **Attendees** — list of people invited to the event
In the trigger block, click the toggle switch to turn it on.
## Related
* [Updated calendar event trigger](/integrations/microsoft-365/outlook-calendar/updated-calendar-event-trigger)
* [Create calendar event](/integrations/microsoft-365/outlook-calendar/create-calendar-event)
* [Get calendar events](/integrations/microsoft-365/outlook-calendar/get-calendar-events)
* [Outlook Calendar for Workflows](/integrations/microsoft-365/outlook-calendar/workflows)
# Updated Outlook calendar event trigger
Source: https://docs.cassidyai.com/integrations/microsoft-365/outlook-calendar/updated-calendar-event-trigger
Start a Workflow when an Outlook Calendar event is updated.
Runs when an existing Outlook Calendar event is updated. Use this trigger to track schedule changes, notify attendees of updates, or sync modified events to other tools.
This trigger runs for all updated calendar events. You may want to add an
**Only continue if** block to filter when the Workflow should run based on
specific conditions.
## Set up the trigger
Create a new [Workflow](/workflows/overview) with the **Updated Microsoft Outlook Calendar Event** trigger, or change an existing Workflow's trigger type.
If you haven't already, connect your Microsoft Outlook account to Cassidy.
In subsequent actions, use the variable picker to insert data from the trigger. Available variables:
* **Event ID** — unique identifier of the calendar event
* **Title** — title or subject of the calendar event
* **Description** — description or body content of the calendar event
* **Created Date** — when the calendar event was created
* **Updated Date** — when the calendar event was last modified
* **Calendar Event Link** — direct link to view the event in Outlook
* **Start Date** — start date and time of the event
* **End Date** — end date and time of the event
* **Time Zone** — time zone for the event
* **Is All Day** — whether the event is marked as an all-day event
* **Is Online Meeting** — whether the event includes an online meeting
* **Join URL** — meeting link if it's an online meeting
* **Location** — physical location of the event
* **Organizer (Name and Email)** — details about who organized the event
* **Attendees** — list of people invited to the event
In the trigger block, click the toggle switch to turn it on.
## Related
* [New calendar event trigger](/integrations/microsoft-365/outlook-calendar/new-calendar-event-trigger)
* [Create calendar event](/integrations/microsoft-365/outlook-calendar/create-calendar-event)
* [Get calendar events](/integrations/microsoft-365/outlook-calendar/get-calendar-events)
* [Outlook Calendar for Workflows](/integrations/microsoft-365/outlook-calendar/workflows)
# Outlook Calendar for Workflows
Source: https://docs.cassidyai.com/integrations/microsoft-365/outlook-calendar/workflows
Automate calendar management with Outlook Calendar triggers and actions.
Use Outlook Calendar to trigger [Workflows](/workflows/overview) from calendar events and automate event creation and retrieval.
## Triggers
Start a Workflow when a new event is created.
Start a Workflow when an event is updated.
## Actions
Create a new event in your Outlook Calendar.
Retrieve a list of calendar events.
# Add label to Outlook message
Source: https://docs.cassidyai.com/integrations/microsoft-365/outlook-email/add-label
Add an Outlook category label to a message from a Workflow.
Use the **Add Label to Microsoft Outlook Message** action to apply a category label to an Outlook message from within a [Workflow](/workflows/overview). This helps you automatically organize and categorize incoming emails.
## Set up the action
While editing a Workflow, click the **+** button between existing blocks. Select **Add Label to Microsoft Outlook Message** from the action list.
Click the action name to give it a more descriptive label for easier reference.
If you haven't already, connect your Microsoft Outlook account to Cassidy.
If you're using this action with the **New Email Received in Microsoft Outlook** trigger, enable **Add Label to Trigger Email** to automatically apply labels to the email that started the Workflow.
Enter an email ID manually, use a variable from previous steps (such as the message ID from a trigger), or click the list icon to search and select an email from the trigger.
If **Add Label to Trigger Email** is enabled, this field can be left empty.
Search for and select existing Microsoft Outlook labels, or click the pencil icon to manually enter label names. You can add multiple labels to organize your emails effectively.
## Related
Trigger a Workflow when a new email is received.
Send an email from a Workflow.
Reply to an existing email thread from a Workflow.
See all Outlook Workflow triggers and actions.
# Outlook Email Agent Connector
Source: https://docs.cassidyai.com/integrations/microsoft-365/outlook-email/agent-connector
Connect your Agent to Outlook Email so it can read, draft, categorize, and send emails during conversations.
The Outlook Email [Connector](/agents/connectors/overview) gives your [Agents](/agents/overview) real-time access to Outlook. Agents can read messages, retrieve attachments, create drafts, update message properties, apply categories, and, if you allow it, send or reply to emails directly from a conversation.
For best results with complex Connector queries, use a powerful,
reasoning-capable model. Cassidy supports models from OpenAI, Anthropic, and
Google. See [Choose the right AI model](/guides/choose-ai-model) for
recommendations.
## Set up the Outlook Email Connector
Go to **Agents** and select the Agent you want to configure.
Click the **Setup** tab and scroll to the **Connectors** section.
Click **+ Add Connector**, then select **Outlook Email**.
Select how users will authenticate:
* **Each user connects their own account** (recommended) — each person signs in with their own Outlook account the first time they use the Connector. This respects each user's Microsoft permissions and provides the clearest audit trail.
* **Use one Outlook Email account** (privacy risk) — all users access Outlook through one shared account.
Per-user connections are the recommended default for nearly every team. They reduce security risk, preserve accountability, and prevent users from acting through a mailbox they do not personally control.
A shared Outlook Email connection is a privacy risk because it allows people to act through the same mailbox. In practice, that means a user may be able to draft, send, reply to, archive, or label emails in a way that appears to come from someone else or from a shared team account. Use a shared connection only when that behavior is intentional and tightly controlled.
Per-user Outlook Email connections are not currently supported in external deployments.
If you choose **Use one Outlook Email account**, select an existing
connection or click **Create shared connection**. After signing in, give
the connection a recognizable name and choose who can use it.
Use a dedicated shared mailbox or service account if your team needs centralized sending. Avoid connecting a personal inbox as a shared connection unless there is a clear governance reason to do so.
Review Outlook Email's action permissions before adding the Connector:
* **Read Emails** — read-only actions such as listing messages, retrieving attachments, viewing messages, accessing the drafts folder, and viewing Outlook categories. Default: **Always allow**.
* **Draft Emails** — actions such as creating drafts, creating draft replies, and updating email properties. Default: **Disabled**.
* **Categorize Emails** — actions such as moving messages and creating or updating Outlook categories. Default: **Disabled**.
* **Send Emails** — actions such as forwarding, sending, sending drafts, and replying to emails. Default: **Disabled**.
* **Delete / Archive** — destructive actions such as deleting messages or deleting Outlook categories. Default: **Disabled**.
You can set each category to:
* **Always allow** — the Agent can perform the action automatically
* **Ask every time** — the Agent asks before taking the action
* **Disabled** — the Agent cannot use the action
Review **Send Emails**, **Draft Emails**, **Categorize Emails**, and **Delete / Archive** especially carefully. Setting these categories to **Always allow** lets the Agent send, reply, forward, move, update, or delete Outlook messages without asking.
Click **Add connector**.
Open **Chat** and select the Agent with the Outlook Email Connector enabled.
If you chose **Each user connects their own account**, each user is prompted to sign in to Outlook on first use. After the connection is complete, the Agent can help read messages, prepare drafts, organize inboxes, and, if enabled, send email.
## Connect Outlook Email for yourself
To use Outlook Email in any chat, not just with this Agent, open **Customize** →
**Connectors**, find **Outlook Email**, and click **Connect**. See [Add a Connector for
yourself](/agents/connectors/overview#add-a-connector-for-yourself).
## What the Agent can do
Depending on the permissions you enable, your Agent can:
* Read email content and attachments
* Find messages by message ID or conversation
* View drafts and Outlook categories
* Create drafts and draft replies
* Update existing message properties
* Apply, create, update, or delete Outlook categories
* Reply to emails, forward messages, and send new emails
* Send existing drafts
* Move or delete messages
## Data security
* **Real-time access** — Outlook data is accessed only when the Agent needs it during a conversation.
* **Permission controls** — You decide which categories are always allowed, require approval, or are disabled.
* **Per-user accountability** — Individual connections preserve each user's own Microsoft access and make actions easier to attribute.
* **Shared mailbox risk** — Shared connections centralize access, but they also make it easier for users to act through the same mailbox identity.
## Next steps
Trigger Workflows from incoming Outlook messages and automate replies,
drafts, and categorization.
Learn how Agent Connectors work across Cassidy.
# Draft email with Outlook
Source: https://docs.cassidyai.com/integrations/microsoft-365/outlook-email/draft-email
Create a draft email in Outlook without sending it from a Workflow.
Use the **Draft Email with Microsoft Outlook** action to create a draft email in your connected Outlook account as part of a [Workflow](/workflows/overview). The draft is saved to your Outlook drafts folder for review before sending.
## Set up the action
While editing a Workflow, click the **+** button between existing blocks. Select **Draft Email with Microsoft Outlook** from the action list.
Click the action name to give it a more descriptive label for easier reference as a variable in later steps.
If you haven't already, connect your Microsoft Outlook account to Cassidy.
In the **To** field, enter a single email address or a comma-separated list of recipients.
In the **Subject** field, enter the subject line. You can reference variables from previous steps or the trigger to provide context.
In the **Email Body** field, enter the content of your email. You can reference variables from previous steps or the trigger to personalize the message.
Click on the options under **Optional Fields** to configure additional settings like **Cc** and **Bcc**, then fill out the corresponding fields.
This action creates a draft in your Outlook account — it does not send the
email. Use the [Send Email with Microsoft
Outlook](/integrations/microsoft-365/outlook-email/send-email) action to send
emails directly.
## Related
Send an email directly from a Workflow.
Reply to an existing email thread from a Workflow.
Trigger a Workflow when a new email is received.
See all Outlook Workflow triggers and actions.
# New email received in Outlook trigger
Source: https://docs.cassidyai.com/integrations/microsoft-365/outlook-email/new-email-trigger
Start a Workflow when a new email arrives in your Outlook inbox.
Use the **New Email Received in Microsoft Outlook** trigger to start a [Workflow](/workflows/overview) whenever a new email arrives in your connected Outlook account. This is useful for automating email triage, drafting replies, or routing messages based on sender or content.
## Set up the trigger
Create a new Workflow with the **New Email Received in Microsoft Outlook** trigger, or change an existing Workflow's trigger type to **New Email Received in Microsoft Outlook**.
If you haven't already, connect your Microsoft Outlook account to Cassidy.
Specify the folders in Outlook you want to monitor for new emails. Leave empty to monitor all folders (excluding Sent Items and Drafts).
In subsequent Workflow steps, you can reference the following variables from this trigger:
* **Email ID** — the unique identifier of the email message
* **Parent Folder ID** — the identifier of the folder containing the email
* **Conversation ID** — the identifier for the email conversation thread
* **Conversation Index** — the position of the email within the conversation
* **Web Link** — the web URL to view the email in Outlook
* **Sent Date** — the date and time the email was sent
* **Received Date** — the date and time the email was received
* **Labels** — any labels or categories applied to the email
* **From (includes Name and Email)** — the sender's name and email address
* **Recipients** — the recipient email addresses
* **CC Recipients** — the carbon copy recipient names and email addresses
* **BCC Recipients** — the blind carbon copy recipient names and email addresses
* **Reply To** — the reply-to email address
* **Subject** — the subject line of the email
* **Body** — the content of the email
* **Attachments** — any files attached to the email
In the trigger block, click the toggle switch to turn it on.
This trigger only activates for emails received **after** the trigger is set
up. It does not process existing emails.
## Related
Send an email from a Workflow.
Reply to an email thread from a Workflow.
Create a draft email from a Workflow.
Add a category label to a message from a Workflow.
See all Outlook Workflow triggers and actions.
# Outlook Email
Source: https://docs.cassidyai.com/integrations/microsoft-365/outlook-email/overview
Connect Outlook to Agents and Workflows so you can read, draft, send, categorize, and automate email.
The Outlook Email integration connects your email to Cassidy [Agents](/agents/overview) and [Workflows](/workflows/overview). Let Agents read, draft, categorize, and send email during conversations, or trigger Workflows when new emails arrive.
## What you can do
Let Agents work with Outlook in real time, with per-user access recommended
over shared connections.
Let Agents check availability, schedule meetings, and respond to invites in
Outlook Calendar.
Access your Cassidy Agents directly in Outlook to draft replies, summarize
threads, and automate email tasks.
Trigger Workflows from incoming Outlook messages and automate replies,
drafts, and categorization.
# Reply to email with Outlook
Source: https://docs.cassidyai.com/integrations/microsoft-365/outlook-email/reply-to-email
Reply to a specific email in an Outlook conversation thread from a Workflow.
Use the **Reply to Email with Microsoft Outlook** action to reply to an email from your connected Outlook account as part of a [Workflow](/workflows/overview). You can reply to the email that triggered the Workflow or specify a particular email to respond to.
## Set up the action
While editing a Workflow, click the **+** button between existing blocks. Select **Reply to Email with Microsoft Outlook** from the action list.
Click the action name to give it a more descriptive label for easier reference as a variable in later steps.
If you haven't already, connect your Microsoft Outlook account to Cassidy.
If you're using this action with the **New Email Received in Microsoft Outlook** trigger, enable **Reply to Trigger Email** to reply to the same email thread that started the Workflow.
If **Reply to Trigger Email** is not enabled, enter an email address manually or use a variable from previous steps (such as the sender's email from a trigger).
Enable **Reply All** to send the reply to all recipients of the original email, including those in the CC field.
In the **Email Body** field, enter the content of your reply. You can reference variables from previous steps or the trigger to personalize the message.
Select from available variables to include as attachments, such as outputs from **Export as PDF** or **Export as Microsoft Word Document** actions.
Click on the options under **Optional Fields** to configure additional settings like **To**, **Cc**, and **Bcc**, then fill out the corresponding fields.
## Related
Send a new email from a Workflow.
Create a draft email instead of sending immediately.
Trigger a Workflow when a new email is received.
See all Outlook Workflow triggers and actions.
# Send email with Outlook
Source: https://docs.cassidyai.com/integrations/microsoft-365/outlook-email/send-email
Send an email from your Outlook account as part of a Workflow.
Use the **Send Email with Microsoft Outlook** action to send an email from your connected Outlook account as part of a [Workflow](/workflows/overview). You can compose new emails with dynamic recipients, subject lines, and body content using variables from previous steps.
## Set up the action
While editing a Workflow, click the **+** button between existing blocks. Select **Send Email with Microsoft Outlook** from the action list.
Click the action name to give it a more descriptive label for easier reference as a variable in later steps.
If you haven't already, connect your Microsoft Outlook account to Cassidy.
In the **To** field, enter a single email address or a comma-separated list of recipients. You can also reference variables from previous steps or the trigger to dynamically populate recipients.
In the **Subject** field, enter the subject line. You can reference variables from previous steps or the trigger to personalize the subject.
In the **Body** field, enter the content of your email. You can reference variables from previous steps or the trigger to personalize the message.
Select from available variables to include as attachments, such as outputs from **Export as PDF** or **Export as Microsoft Word Document** actions.
Click on the options under **Optional Fields** to configure additional settings like **Cc** and **Bcc**, then fill out the corresponding fields.
## Related
Reply to an existing email thread from a Workflow.
Create a draft email instead of sending immediately.
Trigger a Workflow when a new email is received.
See all Outlook Workflow triggers and actions.
# Outlook Email for Workflows
Source: https://docs.cassidyai.com/integrations/microsoft-365/outlook-email/workflows
Trigger Workflows from incoming emails and automate replies, drafts, and categorization.
Use Outlook to trigger Workflows from incoming emails and automate replies, drafts, and categorization. React to incoming messages, send replies, create drafts, and organize your inbox without leaving Cassidy.
## Triggers
Start a Workflow when a new email arrives in your inbox.
## Actions
Send an email from your Outlook account.
Reply to a specific email in a conversation thread.
Create a draft email without sending it.
Add an Outlook category label to a message.
# SharePoint Agent Connector
Source: https://docs.cassidyai.com/integrations/microsoft-365/sharepoint/agent-connector
Connect Agents to SharePoint to find sites and documents, read pages and lists, upload files, update list items, and create sharing links.
The SharePoint Connector lets your [Agents](/agents/overview) work with current
content in SharePoint. Agents can find documents, read site pages and lists,
upload files, organize folders, update list items, and create sharing links
with the action permissions you choose.
The Connector accesses SharePoint live during a conversation. To import and
index selected content for ongoing AI-powered search, use [SharePoint for the
Knowledge Base](/integrations/microsoft-365/sharepoint/knowledge-base).
For complex searches and multi-step SharePoint tasks, use a powerful,
reasoning-capable model. See [Choose the right AI
model](/guides/choose-ai-model) for current recommendations.
## Set up the SharePoint Connector
Go to **Agents** and select the Agent you want to configure.
Click the **Setup** tab and scroll to the **Connectors** section.
Click **+ Add Connector**, search for **SharePoint**, and click **+ Add**.
Select how people will authenticate:
* **Each user connects their own account** (recommended) — each person signs
in with their own Microsoft account and keeps their existing SharePoint
access.
* **Use one SharePoint account** — everyone you authorize uses the same
Microsoft account.
If you choose **Use one SharePoint account**, select an existing connection
under **Choose the SharePoint account**, or connect a new account by signing
in to Microsoft and approving access to SharePoint. Then choose the people
and groups who can use it.
Everyone with access acts through the same Microsoft account. Use a
dedicated service account with only the SharePoint access the Agent
needs.
Choose whether each group of actions is always allowed, requires approval,
or is disabled.
* **Browse & Read Documents** and **Read Lists** are always allowed by
default.
* **Manage Documents**, **Manage List Items**, **Share Documents**, and
**Delete / Archive** are disabled by default.
Review write and sharing actions carefully. Creating a sharing link can
grant other people view or edit access to a document.
Click **Add** to enable the Connector for this Agent.
Open **Chat** and select the Agent with the SharePoint Connector. People
using their own accounts are prompted to connect SharePoint the first time
the Agent needs it.
Try prompts such as:
* “Find the latest onboarding documents in SharePoint.”
* “Summarize the open requests in the Facilities list.”
* “Upload this generated report to the Quarterly Reviews folder.”
## Connect SharePoint for yourself
To use SharePoint in any chat, open **Customize** → **Connectors**, find
**SharePoint**, and click **Connect**. See [Add a Connector for
yourself](/agents/connectors/overview#add-a-connector-for-yourself).
## What the Agent can do
* Discover accessible sites and document libraries.
* Search for documents and browse files and folders.
* Read files and modern SharePoint site pages.
* Discover lists, inspect columns, and retrieve list items.
* Upload files, create folders, and create or update list items when enabled.
* Create document sharing links when enabled.
The initial Connector does not expose delete or archive actions.
## Monitor SharePoint actions
When an Agent uses the SharePoint Connector, expand the action in the response
to review its input, result, and approval status.
## Data security
The Connector uses the permissions of the connected Microsoft account.
SharePoint continues to enforce that account's access to sites, libraries,
documents, and lists. Cassidy also applies the Connector action permissions
configured for the Agent or organization.
## Next steps
Learn how Agent Connectors, account connections, and action permissions
work.
Import selected SharePoint content for AI-powered search.
Automate repeatable SharePoint file and list tasks.
# SharePoint for Knowledge Base
Source: https://docs.cassidyai.com/integrations/microsoft-365/sharepoint/knowledge-base
Import SharePoint documents, sites, and pages into your Knowledge Base for AI-powered search.
Import your SharePoint content into the [Knowledge Base](/knowledge-base/overview) so your [Agents](/agents/overview) and [Workflows](/workflows/overview) can search and reference it.
## Connect your account
Open **Account Settings**, then select **Integrations**.
Find **Microsoft SharePoint** in the list and click **Connect**.
Sign in to your Microsoft account in the popup window.
Review the permissions and click **Accept** to grant Cassidy access to your SharePoint sites and documents.
## Import SharePoint content
Go to your [Knowledge Base](/knowledge-base/overview) and click **+ New**. Select **Import from SharePoint**.
Browse your SharePoint sites and select the documents, pages, or lists you want to import, then click **Import**.
Imported content syncs automatically every 24 hours. Enterprise plans support
live sync for near-real-time updates. Learn more about [sync
behavior](/integrations/sync-integrations).
## What you can import
* **Sites** — Import content from entire SharePoint sites
* **Documents** — Import individual files and folders stored in SharePoint document libraries
* **Pages** — Import SharePoint site pages and their content
* **Lists** — Import structured data from SharePoint lists
## Next steps
Learn how to manage and structure your imported content.
Automate file management with SharePoint triggers and actions.
# Microsoft SharePoint
Source: https://docs.cassidyai.com/integrations/microsoft-365/sharepoint/overview
Connect SharePoint to give Agents live access, sync documents into your Knowledge Base, and automate file management with Workflows.
Give [Agents](/agents/overview) live access to SharePoint, import documents,
site pages, and lists into your [Knowledge Base](/knowledge-base/overview), or
automate file and list tasks with [Workflows](/workflows/overview).
## What you can do
Import SharePoint documents, sites, and pages for AI-powered search.
Let Agents search and manage SharePoint sites, documents, pages, folders,
and lists in real time.
Trigger Workflows from file changes and manage SharePoint content automatically.
# SharePoint for Workflows
Source: https://docs.cassidyai.com/integrations/microsoft-365/sharepoint/workflows
Trigger Workflows from SharePoint file changes and manage documents as part of automations.
Use SharePoint to trigger [Workflows](/workflows/overview) from file changes and manage documents as part of your automations.
## Connect your account
1. Open a SharePoint trigger or action in the [Workflow builder](/workflows/overview).
2. Click **Connect**.
3. Sign in with Microsoft.
4. Click **Accept** to grant access.
## Available triggers
| Trigger | Description |
| - | - |
| New File Created | Fires when a new file is added to a document library |
| New Folder Created | Fires when a new folder is created |
## Available actions
| Action | Description |
| - | - |
| Create Folder | Create a new folder |
| Create Item | Create a new list item |
| Create Link | Create a sharing link for a file or folder |
| Create List | Create a new list |
| Delete File | Delete a file from a selected SharePoint drive |
| Download File | Download a file for use in later steps |
| Find File or Folder by Name | Search across your SharePoint sites |
| Get File(s) | Retrieve one or more files |
| Get List Values | Retrieve rows and columns from a SharePoint list, with optional filtering and sorting |
| List Files in Folder | List all files in a folder |
| Update List Item | Update an existing list item |
| Upload File | Upload a file to a document library |
## Filter and sort SharePoint list values
Use **Get List Values** when you want a Workflow to retrieve only the SharePoint list rows you need or return rows in a specific order. For example, you can retrieve open requests sorted by due date.
Add the **Get List Values** Action, then select your SharePoint site and
list.
Under **Filter**, select a column, choose a comparison, and enter the value
to match. The value can include variables from earlier Workflow steps.
Under **Order By**, select a column and choose **Ascending** or
**Descending**.
Test the Action to confirm that SharePoint returns the expected rows and
order.
You can configure one filter and one sort column. The available filter comparisons depend on the selected SharePoint column:
* **Text and choice columns**: Equals, not equals, and starts with
* **Number, currency, and date columns**: Equals, not equals, greater than, greater than or equal to, less than, and less than or equal to
* **Yes/No columns**: Equals and not equals
SharePoint may require frequently filtered or sorted columns to be indexed. If
the query cannot be applied, try another column or ask your SharePoint
administrator to index the selected column.
# New Teams channel message trigger
Source: https://docs.cassidyai.com/integrations/microsoft-365/teams/new-channel-message-trigger
Run a Workflow automatically when a message is posted in a Microsoft Teams channel.
Use the **New Teams Channel Message** trigger to start a [Workflow](/workflows/overview) whenever a new message is posted in a specific Microsoft Teams channel. This is useful for monitoring channels for requests, routing messages, or automating responses.
## Set up the trigger
Create a new Workflow with the **New Teams Channel Message** trigger, or change an existing Workflow's trigger type to **New Teams Channel Message**.
If you haven't already, connect your Microsoft Teams account to Cassidy.
The Microsoft Teams connection requires admin approval. Either have an admin check the **Consent on behalf of your organization** checkbox during the connection process, or follow the [admin consent workflow process](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/configure-admin-consent-workflow) outlined in Microsoft's documentation.
Choose the specific team that contains the channel you want to monitor.
Choose the specific channel within the selected team. The Workflow will trigger when new messages are posted in this channel.
In subsequent Workflow steps, you can reference the following variables:
* **Message Sender** — the person who sent the message
* **Subject** — the subject of the message
* **Message Contents** — the text content of the message
* **Message URL** — the URL of the message
* **Message ID** — the unique identifier of the message
* **Team ID** — the unique identifier of the team
* **Channel ID** — the unique identifier of the channel
* **Attachments** — any attachments on the message
In the trigger block, click the toggle switch to turn it on.
## Related
Send a message to a Teams channel from a Workflow.
Trigger a Workflow from a Teams chat message.
# New Teams chat message trigger
Source: https://docs.cassidyai.com/integrations/microsoft-365/teams/new-chat-message-trigger
Run a Workflow automatically when a message is posted in a Microsoft Teams chat.
Use the **New Teams Chat Message** trigger to start a [Workflow](/workflows/overview) whenever a new message is posted in a specific Microsoft Teams chat. This works with both individual and group chats.
## Set up the trigger
Create a new Workflow with the **New Teams Chat Message** trigger, or change an existing Workflow's trigger type to **New Teams Chat Message**.
If you haven't already, connect your Microsoft Teams account to Cassidy.
The Microsoft Teams connection requires admin approval. Either have an admin check the **Consent on behalf of your organization** checkbox during the connection process, or follow the [admin consent workflow process](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/configure-admin-consent-workflow) outlined in Microsoft's documentation.
Choose the specific Teams chat you want to monitor. This can be an individual or group chat. You can also click the pencil icon to input a chat ID directly.
In subsequent Workflow steps, you can reference the following variables:
* **Message Sender** — the person who sent the message
* **Message Contents** — the text content of the message
* **Message ID** — the unique identifier of the message
* **Chat ID** — the unique identifier of the chat
* **Attachments** — any attachments on the message
In the trigger block, click the toggle switch to turn it on.
## Related
Send a message to a Teams chat from a Workflow.
Trigger a Workflow from a Teams channel message.
# Microsoft Teams
Source: https://docs.cassidyai.com/integrations/microsoft-365/teams/overview
Connect Teams to trigger Workflows from messages and send messages to channels or chats.
The Microsoft Teams integration connects your team messaging to Cassidy [Workflows](/workflows/overview). Trigger Workflows when messages arrive in channels or chats, send messages back automatically, or deploy an [Agent](/agents/overview) directly into Teams.
## What you can do
Trigger Workflows from channel and chat messages, and send messages automatically.
Deploy an Agent to Microsoft Teams so your team can chat with it directly.
# Send message to Teams channel
Source: https://docs.cassidyai.com/integrations/microsoft-365/teams/send-channel-message
Send a message to a Microsoft Teams channel from a Workflow.
Use the **Send Message to Teams Channel** action to post a message to a Microsoft Teams channel as part of a [Workflow](/workflows/overview). You can also reply to the message that triggered the Workflow.
## Set up the action
While editing a Workflow, click the **+** button between existing blocks. Select **Send Message to Teams Channel** from the action list.
Click the action name to give it a more descriptive label.
If you haven't already, connect your Microsoft Teams account to Cassidy.
The Microsoft Teams connection requires admin approval. See [Microsoft's admin consent workflow documentation](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/configure-admin-consent-workflow) for details.
If you're using this action with the **New Teams Channel Message** trigger, enable **Reply to Trigger Message** to reply to the same channel that started the Workflow. When enabled, you only need to fill out the **Message** field.
Select the team containing the channel you want to send to. You can also click the pencil icon to enter the team ID directly. You can reference variables from previous steps.
Select the channel to send a message to. You can also click the pencil icon to enter the channel ID directly.
This field is only required if **Reply to Trigger Message** is not toggled on.
Enter a subject line for the message if desired.
Enter the message to send to the channel. You can type directly or reference a variable from a previous step or the trigger.
## Related
Trigger a Workflow from a channel message.
Send a message to a Teams chat from a Workflow.
# Send message to Teams chat
Source: https://docs.cassidyai.com/integrations/microsoft-365/teams/send-chat-message
Send a message to a Microsoft Teams chat from a Workflow.
Use the **Send Message to Teams Chat** action to send a message to a Microsoft Teams chat as part of a [Workflow](/workflows/overview). You can also reply to the chat that triggered the Workflow.
## Set up the action
While editing a Workflow, click the **+** button between existing blocks. Select **Send Message to Teams Chat** from the action list.
Click the action name to give it a more descriptive label.
If you haven't already, connect your Microsoft Teams account to Cassidy.
The Microsoft Teams connection requires admin approval. See [Microsoft's admin consent workflow documentation](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/configure-admin-consent-workflow) for details.
If you're using this action with the **New Teams Chat Message** trigger, enable **Reply to Trigger Message** to reply to the same chat that started the Workflow. When enabled, you only need to fill out the **Message** field.
Select the chat to send a message to. You can also click the pencil icon to enter the chat ID directly.
This field is only required if **Reply to Trigger Message** is not toggled on.
Enter the message to send to the chat. You can type directly or reference a variable from a previous step or the trigger.
## Related
Trigger a Workflow from a chat message.
Send a message to a Teams channel from a Workflow.
# Teams for Workflows
Source: https://docs.cassidyai.com/integrations/microsoft-365/teams/workflows
Automate messaging with Teams triggers and actions.
Automate messaging with Teams triggers and actions. Start Workflows when messages arrive and send updates to channels and chats — all without manual effort.
## Triggers
Start a Workflow when a message is posted in a channel.
Start a Workflow when a chat message is received.
## Actions
Post a message to a Teams channel.
Send a message in a Teams chat.
# Microsoft Edge
Source: https://docs.cassidyai.com/integrations/microsoft-edge
Access your Cassidy Agents from any webpage with the Edge extension.
The Edge extension brings your [Agents](/agents/overview) directly into your browser. Use Cassidy from any webpage without switching tabs.
## Get started
Set up the Chrome and Edge browser extension to access Agents from any webpage.
# Microsoft Excel
Source: https://docs.cassidyai.com/integrations/microsoft-excel
Access your Cassidy Agents in Microsoft Excel to answer questions and work with spreadsheets.
The Excel extension brings your [Agents](/agents/overview) directly into Microsoft Excel. Ask questions about workbook data, generate insights, and create charts without leaving Excel.
## Get started
Set up the Microsoft Office extension to access Agents in Word, Excel, and PowerPoint.
# Microsoft PowerPoint
Source: https://docs.cassidyai.com/integrations/microsoft-powerpoint
Access your Cassidy Agents in Microsoft PowerPoint to generate, edit, and analyze presentations.
The PowerPoint extension brings your [Agents](/agents/overview) directly into Microsoft PowerPoint. Generate new slides, rewrite copy, restructure bullets, draft speaker notes, and ask questions about your presentation without leaving the app.
## Get started
Set up the Microsoft Office extension to access Agents in Word, Excel, and
PowerPoint.
# Microsoft Word
Source: https://docs.cassidyai.com/integrations/microsoft-word
Access your Cassidy Agents in Microsoft Word to generate content and work with documents.
The Word extension brings your [Agents](/agents/overview) directly into Microsoft Word. Generate content, answer questions, and work with your documents without leaving the app.
## Get started
Set up the Microsoft Office extension to access Agents in Word, Excel, and PowerPoint.
# Monday.com Agent Connector
Source: https://docs.cassidyai.com/integrations/monday/agent-connector
Connect your Agent to Monday.com to read boards, manage items, post updates, and take action in real time.
The Monday.com [Connector](/agents/connectors/overview) gives your [Agents](/agents/overview) live access to your Monday.com account. Agents can look up boards, items, groups, updates, and users, then create or update work when needed. Monday.com data is accessed in real time and is not copied or stored in Cassidy.
For best results with Connector queries, use a powerful, reasoning-capable
model. Cassidy supports models from OpenAI, Anthropic, and Google. See [Choose
the right AI model](/guides/choose-ai-model) for current recommendations.
## Set up the Monday.com Connector
Navigate to **Agents**, find the Agent you want to configure, click **...**, and select **Edit**.
In the Agent editor, go to the **Setup** tab and scroll to **Connectors**.
Click **+ Add Connector**, then click **+ Add** on **Monday.com**.
Select how users will authenticate with Monday.com:
* **Each user connects their own account** (recommended) — each user signs in on first use, and the Connector respects that user's Monday.com permissions
* **Use a shared Monday.com connection** — all users access Monday.com through one shared connection
Monday.com requires you to install the Cassidy app before the connection can be authorized. When you click **Connect**, Cassidy may first show an install prompt instead of taking you straight to authorization.
Click **Install app in Monday.com**. On the Monday.com page, choose whether to install the app for **All Workspaces** or only **Specific Workspaces**, then complete the install.
If Monday.com shows a banner saying the app has not been reviewed or approved by monday.com, that is expected during this setup flow.
After installing the app, return to Cassidy and click **Connect** again. If you try to authorize before the app is installed, Monday.com shows an **App is not installed** message and blocks the authorization.
Once the app is installed, the authorization page lets you review the requested permissions and click **Authorize**.
If you are using a shared connection, select an existing Monday.com
connection or create a new one. Give a new connection a recognizable name,
then choose who can use it.
Everyone with access acts through the same Monday.com account. Use a
dedicated service account when possible.
Set the permission level for each Monday.com action:
* **Always allow** — the Agent can run the action automatically
* **Ask every time** — the Agent asks before running the action
* **Disabled** — the Agent cannot run the action
Monday.com actions are grouped into three categories:
* **View Data** — read-only actions like listing boards, items, groups, users, and updates. Default: **Always allow**.
* **Create & Modify** — actions like creating items, posting updates, moving items, and changing column values. Default: **Disabled**.
* **Remove Data** — deleting an item. Default: **Disabled**.
Review write and delete permissions carefully. **Always allow** lets the Agent make changes in Monday.com without asking first.
Click **Add connector**.
If you chose **Each user connects their own account**, users will be prompted to connect Monday.com the first time they use the Connector in chat. If they have not installed the Cassidy app in Monday.com yet, they may need to complete the same install and authorize flow during their first connection.
## Connect Monday.com for yourself
To use Monday.com in any chat, not just with this Agent, open **Customize** →
**Connectors**, find **Monday.com**, and click **Connect**. See [Add a Connector for
yourself](/agents/connectors/overview#add-a-connector-for-yourself).
## What the Agent can do
Once connected, your Agent can help with Monday.com tasks including:
* Listing boards, groups, users, items, and updates
* Looking up items by column values
* Reading board activity logs
* Creating new items and updates
* Updating simple column values
* Moving or duplicating items
* Deleting items if you enable remove permissions
## Data security
* **Permission-based access** — the Agent can only do what the connected Monday.com account is allowed to do
* **Configurable approvals** — you decide which actions run automatically, require approval, or stay disabled
* **No copied data** — Monday.com data is queried in real time and is not stored in Cassidy
## Next steps
Learn how Agent Connectors work and when to use them.
See all apps you can connect to Cassidy.
# Monday.com
Source: https://docs.cassidyai.com/integrations/monday/overview
Connect Monday.com for Agent Connectors and Workflow triggers and actions in Cassidy.
The Monday.com integration brings your project data into Cassidy. Use it to give [Agents](/agents/overview) real-time access to boards, items, groups, and updates, and to trigger [Workflows](/workflows/overview) from activity on your Monday.com boards.
## What you can do
Let Agents query Monday.com in real time and, if you allow it, create, update, move, and delete items.
Trigger Workflows from Monday.com board activity and automate board, item, group, column, and update management.
# Monday.com for Workflows
Source: https://docs.cassidyai.com/integrations/monday/workflows
Trigger Workflows from Monday.com board activity and automate board, item, group, column, and update management.
Use Monday.com as both a trigger and a destination in your [Workflows](/workflows/overview). Start a Workflow when items, subitems, or updates change on a board, then use Monday.com actions to create boards, manage structure, and update work automatically.
Monday.com Workflow actions and triggers require a paid Cassidy plan.
## Connect your account
Open a Monday.com trigger or action in the [Workflow builder](/workflows/overview).
Click **Connect**.
If this is your first Monday.com connection in Cassidy, click **Install app in Monday.com** and complete the install in Monday.com.
On the Monday.com page, choose whether to install the app for **All Workspaces** or only **Specific Workspaces**, then click **Install**.
If Monday.com shows a banner saying the app has not been reviewed or approved by monday.com, that is expected during this setup flow.
Return to Cassidy, click **Connect** in the modal, then review the requested permissions and click **Authorize**.
## Triggers
### Item created
Starts a Workflow when a new item is created on a board.
**Configuration**
| Field | Description |
| - | - |
| **Board** | The Monday.com board to watch |
**Output variables**
| Variable | Description |
| - | - |
| **Item ID** | The unique identifier of the created item |
| **Item Name** | The name of the created item |
| **Board ID** | The ID of the board containing the item |
| **User ID** | The ID of the user who created the item |
| **Group ID** | The ID of the group containing the item |
| **Group Name** | The name of the group containing the item |
| **Created At** | Timestamp when the item was created |
***
### Item updated
Starts a Workflow when a column value changes on an item.
**Configuration**
| Field | Description |
| - | - |
| **Board** | The Monday.com board to watch |
| **Watched columns** | *(Optional)* One or more columns to watch. Leave empty to trigger on any column change. |
**Output variables**
| Variable | Description |
| - | - |
| **Item ID** | The unique identifier of the changed item |
| **Item Name** | The name of the changed item |
| **Board ID** | The ID of the board containing the item |
| **Column ID** | The ID of the changed column |
| **Column Title** | The display name of the changed column |
| **Column Type** | The type of the changed column |
| **New Value** | The updated value |
| **Previous Value** | The value before the change |
| **User ID** | The ID of the user who made the change |
| **Group ID** | The ID of the group containing the item |
| **Changed At** | Timestamp when the change happened |
***
### Item deleted
Starts a Workflow when an item is deleted from a board.
**Configuration**
| Field | Description |
| - | - |
| **Board** | The Monday.com board to watch |
**Output variables**
| Variable | Description |
| - | - |
| **Item ID** | The unique identifier of the deleted item |
| **Item Name** | The name of the deleted item |
| **Board ID** | The ID of the board that contained the item |
| **User ID** | The ID of the user who deleted the item |
| **Group ID** | The ID of the group that contained the item |
| **Deleted At** | Timestamp when the item was deleted |
***
### Subitem created
Starts a Workflow when a new subitem is created on a board.
**Configuration**
| Field | Description |
| - | - |
| **Board** | The Monday.com board to watch |
| **Parent item** | *(Optional)* Limit the trigger to subitems created under one specific parent item |
**Output variables**
| Variable | Description |
| - | - |
| **Subitem ID** | The unique identifier of the created subitem |
| **Subitem Name** | The name of the created subitem |
| **Board ID** | The ID of the board containing the subitem |
| **User ID** | The ID of the user who created the subitem |
| **Group ID** | The ID of the group containing the subitem |
| **Group Name** | The name of the group containing the subitem |
| **Created At** | Timestamp when the subitem was created |
| **Parent Item ID** | The ID of the parent item |
| **Parent Item Board ID** | The ID of the parent item's board |
***
### Update created
Starts a Workflow when a new update or reply is posted on an item.
**Configuration**
| Field | Description |
| - | - |
| **Board** | The Monday.com board to watch |
**Output variables**
| Variable | Description |
| - | - |
| **Update ID** | The unique identifier of the created update |
| **Update Body** | The plain-text body of the update |
| **Item ID** | The ID of the item the update was posted on |
| **Board ID** | The ID of the board containing the item |
| **User ID** | The ID of the user who created the update |
| **Reply ID** | The reply to ID, if the update was posted as a reply |
| **Created At** | Timestamp when the update was created |
## Actions
### Get items
Retrieves items from a board, including group details, attachments, and column values.
**Configuration**
| Field | Description |
| - | - |
| **Board** | The board to retrieve items from |
| **Limit** | *(Optional)* Maximum number of items to return |
**Output variables**
| Variable | Description |
| - | - |
| **Items** | List of items with item details, attachments, and column values |
| **Total Count** | The number of items returned |
| **Board Name** | The name of the board |
***
### Get item
Retrieves one item by ID, including its board details, attachments, and column values.
**Configuration**
| Field | Description |
| - | - |
| **Item ID** | The item to retrieve |
| **Board** | *(Optional)* The board containing the item |
**Output variables**
| Variable | Description |
| - | - |
| **Item ID** | The unique identifier of the item |
| **Item Name** | The name of the item |
| **Board ID** | The ID of the board containing the item |
| **Board Name** | The name of the board containing the item |
| **Group ID** | The ID of the group containing the item |
| **Group Name** | The name of the group containing the item |
| **Created At** | Timestamp when the item was created |
| **Updated At** | Timestamp when the item was last updated |
| **Item URL** | Direct link to the item in Monday.com |
| **Attachments** | Files attached to the item |
| **Column Values** | All column values on the item |
***
### Get groups
Retrieves all groups on a board.
**Configuration**
| Field | Description |
| - | - |
| **Board** | The board to retrieve groups from |
**Output variables**
| Variable | Description |
| - | - |
| **Groups** | List of groups with each group's ID and title |
***
### Create board
Creates a new board in Monday.com.
**Configuration**
| Field | Description |
| - | - |
| **Board name** | The name for the new board |
| **Board kind** | The board visibility. Options are `public`, `private`, and `share` |
| **Workspace ID** | *(Optional)* The workspace where the board should be created |
| **Folder ID** | *(Optional)* The folder where the board should be created |
| **Template ID** | *(Optional)* A board template to copy |
**Output variables**
| Variable | Description |
| - | - |
| **Board ID** | The unique identifier of the created board |
| **Board Name** | The name of the created board |
| **Board Kind** | The visibility type of the board |
| **State** | The current board state |
| **Permissions** | The board permission level |
***
### Create group
Creates a new group in a board.
**Configuration**
| Field | Description |
| - | - |
| **Board** | The board where the group should be created |
| **Group name** | The name for the new group |
**Output variables**
| Variable | Description |
| - | - |
| **Group ID** | The unique identifier of the created group |
| **Group Name** | The name of the created group |
***
### Delete group
Deletes a group from a board.
This action cannot be undone. Deleting a group removes it from the board in
Monday.com.
**Configuration**
| Field | Description |
| - | - |
| **Board** | The board containing the group |
| **Group** | The group to delete |
**Output variables**
| Variable | Description |
| - | - |
| **Group ID** | The unique identifier of the deleted group |
***
### Create column
Creates a new column on a board.
**Configuration**
| Field | Description |
| - | - |
| **Board** | The board where the column should be created |
| **Column title** | The display name of the new column |
| **Column type** | The type of column to create, such as text, status, numbers, or date |
| **Description** | *(Optional)* A description for the column |
| **After column** | *(Optional)* The column after which the new column should be inserted |
**Output variables**
| Variable | Description |
| - | - |
| **Column ID** | The unique identifier of the created column |
| **Column Title** | The title of the created column |
| **Column Type** | The type of the created column |
| **Description** | The column description |
***
### Create item
Creates a new item on a board.
**Configuration**
| Field | Description |
| - | - |
| **Board** | The board where the item should be created |
| **Item name** | The name of the new item |
| **Group** | *(Optional)* The group where the item should be created |
| **Column values** | *(Optional)* Values to set on the item. You can map individual columns or pass JSON dynamically. |
**Output variables**
| Variable | Description |
| - | - |
| **Item ID** | The unique identifier of the created item |
| **Item Name** | The name of the created item |
| **Board ID** | The ID of the board containing the item |
| **Group ID** | The ID of the group containing the item |
| **Created At** | Timestamp when the item was created |
| **Item URL** | Direct link to the item in Monday.com |
***
### Update item
Updates one column value on an existing item.
**Configuration**
| Field | Description |
| - | - |
| **Board** | The board containing the item |
| **Item** | The item to update |
| **Column** | The column to update |
| **Value** | The new value to set |
**Output variables**
| Variable | Description |
| - | - |
| **Item ID** | The ID of the updated item |
| **Item Name** | The name of the updated item |
| **Success** | Whether the update completed successfully |
***
### Create update
Posts an update or reply on an item.
**Configuration**
| Field | Description |
| - | - |
| **Board** | The board containing the item |
| **Item** | The item to post on |
| **Update body** | The message to post |
| **Parent update ID** | *(Optional)* If provided, Cassidy posts the message as a reply |
**Output variables**
| Variable | Description |
| - | - |
| **Update ID** | The unique identifier of the created update |
| **Update Body** | The content of the update |
| **Created At** | Timestamp when the update was created |
| **Creator ID** | The ID of the user who created the update |
| **Creator Name** | The name of the user who created the update |
***
### Delete item
Permanently deletes an item from a board.
This action cannot be undone. The item will be permanently deleted from
Monday.com.
**Configuration**
| Field | Description |
| - | - |
| **Board** | The board containing the item |
| **Item** | The item to delete |
**Output variables**
| Variable | Description |
| - | - |
| **Item ID** | The unique identifier of the deleted item |
## Next steps
Learn how to build, test, and publish Workflows in Cassidy.
Let Agents read and manage boards, items, groups, and updates during
conversations.
# Notion for Knowledge Base
Source: https://docs.cassidyai.com/integrations/notion/knowledge-base
Import Notion pages and databases into your Knowledge Base for AI-powered search and context.
Import your Notion pages and databases into the [Knowledge Base](/knowledge-base/overview) so your [Agents](/agents/overview) and [Workflows](/workflows/overview) can search and reference them.
## Connect your account
Open **Account Settings**, then select **Integrations**.
Find **Notion** in the list and click **Connect**.
Sign in to your Notion account in the popup window.
Review the permissions, select the pages you want to share with Cassidy, and click **Allow access**.
## Import content
Go to your [Knowledge Base](/knowledge-base/overview) and click **Add**. Select **Notion** from the list of sources.
Browse your Notion workspace and select the pages or databases you want to import, then click **Import**.
If your Notion pages aren't appearing during import, you may need to share
them with the Cassidy integration. See the troubleshooting section below for
details.
## Troubleshooting
Notion requires you to explicitly share pages with the CassidyAI connection. By default, the connection only has access to pages you've granted it permission to view.
To share pages with Cassidy:
Open Notion and go to **Settings & members** from the left sidebar.
Click **My connections** in the left panel to see your active integrations.
Find **CassidyAI** in the list and click **Access selected pages**.
Select the checkbox next to each page or database you want Cassidy to access. You can also share entire parent pages to include all their sub-pages.
Go back to Cassidy, open your [Knowledge Base](/knowledge-base/overview), click **Add**, select **Notion**, and the newly shared pages should appear in the list.
Notion can take a few minutes to propagate sharing changes. Wait 2–3 minutes and try importing again.
If the pages still don't appear after waiting:
1. Open **Account Settings** → **Integrations** in Cassidy
2. Find **Notion** and click **Disconnect**
3. Click **Connect** to reconnect your Notion workspace
4. Return to the Knowledge Base and try importing again
Reconnecting refreshes the page list and picks up any sharing changes that didn't propagate.
Still stuck? Contact support at [support@cassidyai.com](mailto:support@cassidyai.com).
## Next steps
Learn how to organize and manage your imported content.
See everything you can do with Notion in Cassidy.
# Notion
Source: https://docs.cassidyai.com/integrations/notion/overview
Connect Notion to import pages and databases into your Cassidy Knowledge Base for AI search.
Import Notion pages and databases into your [Knowledge Base](/knowledge-base/overview) so your [Agents](/agents/overview) and [Workflows](/workflows/overview) can search and reference your team's content.
## What you can do
Import Notion pages and databases so Agents and Workflows can search and reference them.
# Overview of integrations
Source: https://docs.cassidyai.com/integrations/overview
Learn about Cassidy's four integration types — Knowledge Base, Agent Connectors, Workflows, and Deploy.
Cassidy connects to the tools your team already uses so your [Agents](/agents/overview) and [Workflows](/workflows/overview) can work with real company data. You can import documents into your [Knowledge Base](/knowledge-base/overview), give Agents live access to external systems through [Connectors](/agents/connectors/overview), trigger multi-step automations from events in connected apps, and deploy Agents directly into the platforms your team already works in.
## Four types of integrations
Cassidy offers four types of integrations, each designed for a different purpose. Many apps support more than one type, so you can use the same tool across your [Knowledge Base](/knowledge-base/overview), [Agents](/agents/overview), [Workflows](/workflows/overview), and deployed channels.
### Knowledge Base integrations
Knowledge Base integrations sync documents, files, and content from external tools into your [Knowledge Base](/knowledge-base/overview). Once imported, this content is indexed for AI-powered semantic search — your Agents and Workflows can reference it to produce accurate, cited answers grounded in your company's own data.
**Examples:** Import [Google Drive](/integrations/google-workspace/google-drive/overview) folders, [Confluence](/integrations/confluence/overview) pages, [Notion](/integrations/notion/overview) databases, or [Slack](/integrations/slack/overview) channel history.
### Agent Connectors
[Connectors](/agents/connectors/overview) let Agents, Skills, and Workflow AI
actions read and update data in external tools live. Unlike Knowledge Base
integrations, Connectors don't import anything; they reach the app when an
action runs.
**Examples:** Look up a contact in [HubSpot](/integrations/hubspot/overview), update a [Salesforce](/integrations/salesforce/overview) opportunity, or query a Snowflake data warehouse.
### Workflow integrations
Workflow integrations connect your [Workflows](/workflows/overview) to external apps through triggers and actions. A trigger starts the Workflow when something happens in a connected tool, and actions let the Workflow read from, write to, or interact with those tools as part of a multi-step automation.
**Examples:** Trigger a Workflow when a [Zendesk](/integrations/zendesk/overview) ticket is created, when a [Smartsheet](/integrations/smartsheet/overview) row is added or updated, send a [Slack](/integrations/slack/overview) message as an action step, or update a Google Sheet with results.
### Deploy integrations
Deploy integrations let you surface your [Agents](/agents/overview) directly inside the communication platforms your team already uses. Once deployed, team members can chat with an Agent without leaving their daily tools — through channel mentions, direct messages, email, or embedded chat widgets.
**Examples:** Deploy an Agent to [Slack](/integrations/slack/deploy-agent) channels and DMs, add an Agent to [Microsoft Teams](/agents/deploy/microsoft-teams), deploy an Agent [via email](/agents/deploy/email), or [embed](/agents/deploy/embed) an Agent on your website.
## How to connect your apps
Use the appropriate settings area for what you want to manage:
* Open **Account Settings** → **Integrations** for Knowledge Base and Workflow
connections.
* Open **Customize** → **Connectors** for your own Agent Connectors.
* Open **Organization Settings** → **Connectors** to control which Connectors
and actions the organization can use, and when approval is required.
Cassidy supports two connection methods depending on the app:
* **OAuth** — For apps like [Google Drive](/integrations/google-workspace/google-drive/overview), [Slack](/integrations/slack/overview), [HubSpot](/integrations/hubspot/overview), and [Salesforce](/integrations/salesforce/overview), you authorize access through a secure OAuth flow. Click **Connect**, sign in to the app, and grant Cassidy the required permissions.
* **API keys or tokens** — Some apps require you to provide an API key or access token. You'll find these in the app's developer or admin settings, then paste them into Cassidy's integration configuration.
Most integrations use OAuth for a simple, one-click connection. API keys are
typically only needed for data warehouse and developer-oriented integrations.
## Supported integrations
Browse the full list of supported apps in the sidebar. Each integration page details the available connection types and setup instructions.
## Next steps
Import documents and content from connected apps for AI-powered search.
Give your Agents live, real-time access to external business tools.
Create multi-step automations powered by your integrations.
Put your Agent in Slack, Teams, Google Chat, email, or embed it on your
website.
Use webhooks and Zapier to connect tools without a native integration.
# Salesforce Agent Connector
Source: https://docs.cassidyai.com/integrations/salesforce/agent-connector
Let Agents query and update Salesforce records in real time during conversations.
The Salesforce [Connector](/agents/connectors/overview) gives your [Agents](/agents/overview) both read and write access to your Salesforce CRM. Agents can look up accounts, search for opportunities, create leads, update contacts, and more — all within a conversation. Data is queried in real time and never stored in Cassidy.
For best results with complex Connector queries, use a powerful,
reasoning-capable model. Cassidy supports models from OpenAI, Anthropic, and
Google — see [Choose the right AI model](/guides/choose-ai-model) for current
recommendations.
## Add the Salesforce Connector
Navigate to **Agents**, find the Agent you want to configure, click **...** and select **Edit**.
In the Agent editor, go to the **Setup** tab and scroll to the **Connectors** section.
Click **+ Add Connector** and then click **+ Add** on the **Salesforce** option.
Select how users authenticate with Salesforce:
* **Each user connects their own account** (recommended) — Each team member connects their personal Salesforce account. The Agent can only access what each user has permission to see in Salesforce.
* **Use a shared Salesforce connection** — Connect a dedicated service account that everyone shares. Anyone who can connect Salesforce can set one up and choose who may use it.
If you chose the shared option, click **Connect** to sign in with the service account and accept the access request.
Give a new shared connection a recognizable name, then add specific people
or groups or change **General access**.
Everyone with access acts through the same Salesforce account. Use a
dedicated service account when possible.
Set a permission for each Salesforce action:
* **Always allow** — The Agent performs the action automatically when needed
* **Ask every time** — The Agent asks the user before taking the action
* **Disabled** — The Agent cannot perform the action
Common Salesforce actions include Search records, Create records, Update
records, and Delete records. You can set a category at once or customize
individual actions.
Navigate to **Chat** and select the Agent with the Salesforce Connector enabled.
If you chose the per-user connection method, users are prompted to connect their Salesforce account from within the chat on first use.
Once connected, Cassidy continues the request automatically. Your Agent can
now access Salesforce data to answer questions about accounts,
opportunities, leads, contacts, and other CRM records.
## Connect Salesforce for yourself
To use Salesforce in any chat, not just with this Agent, open **Customize** →
**Connectors**, find **Salesforce**, and click **Connect**. See [Add a Connector for
yourself](/agents/connectors/overview#add-a-connector-for-yourself).
## Monitor Salesforce actions
When an Agent uses the Salesforce Connector, expand the action in the response to see its input, result, and approval status.
If an action lacks the required permissions, the step shows **No output data**.
If an action is set to **Ask every time**, you see an approval prompt where you
can allow it once, always allow it when organization policy permits, or deny
it.
## Data security
* **Permission-based access** — The Agent can only access what the connected Salesforce account has permission to see
* **Auditability** — All queries and actions are logged in your Agent's activity history
* **Service account control** — Using a service account lets you define exactly what objects, fields, and records are accessible
* **No data stored** — Salesforce data is accessed in real time and never copied or stored in Cassidy
This integration uses standard Salesforce OAuth scopes (`full` and
`refresh_token`) to securely access your data. If your organization requires
custom scopes, contact [support@cassidyai.com](mailto:support@cassidyai.com).
If you see an OAuth error like `OAUTH_APPROVAL_ERROR_GENERIC`, follow these steps:
1. **Have an authorized user connect first** — Ask a user with the **Approve Uninstalled Connected Apps** permission in Salesforce to connect. Users with the System Administrator profile have this permission by default.
2. **Install the Cassidy app in Salesforce** — Once the authorized connection is made, your Salesforce admin should:
* Go to the **Connected Apps OAuth Usage** page in Salesforce Setup
* Find the **Cassidy Assistants** app
* Click **Install**
After completing these steps, other users should be able to connect without encountering the OAuth error.
## Next steps
Set up your Knowledge Base for AI-powered context across Agents and
Workflows.
Automate Salesforce record changes with Workflow triggers and actions.
# Find or create Salesforce record
Source: https://docs.cassidyai.com/integrations/salesforce/find-or-create-record
Look up a Salesforce record and automatically create one if no match is found.
The Find or Create Salesforce Record action searches for a record by field criteria and creates a new record if no match exists. Use it to ensure a contact or account exists before updating it, or to create records only when they don't already exist in your [Workflow](/workflows/overview).
While editing a Workflow, click the **+** button between existing steps. Select **Find or Create Salesforce Record** from the action list to add it to your Workflow.
If you haven't already, connect your Salesforce account to Cassidy. This allows Cassidy to access your Salesforce records and find or create them from your Workflow.
If you want to make the action more descriptive or easier to reference as a variable later, enter a new name in the action title field.
Use the **Type** dropdown to choose the Salesforce object type you want to find or create — for example, **Lead**, **Contact**, **Opportunity**, **Account**, **Task**, **User**, **Case**, or a custom object.
Under **Fields to search by**, click **Add Condition** to specify how to find the record. Select the field to search on, choose the operation (equals, contains, etc.), and enter the value to match. You can add multiple conditions — they combine with AND logic, so only records matching all conditions are returned.
Use variables from your trigger or previous steps as search values — for example, reference an email address from the trigger to look up a contact.
Under **Fields to return**, click **+ Add Field** and select the Salesforce fields you want returned as output variables. These values are available in subsequent Workflow steps for both found and newly created records. Click the trash icon next to a field to remove it.
Under **Create new object (if no results found)**, map the fields and values to use when creating a new Salesforce record. Required fields for the selected record type are pre-populated. Click **+ Add Field** to add additional fields, and enter the corresponding value for each. Use variables from previous steps to populate field values dynamically.
## Related
* [Look Up Salesforce Record](/integrations/salesforce/look-up-record)
* [Update Salesforce Record](/integrations/salesforce/update-record)
* [Salesforce Record Created trigger](/integrations/salesforce/record-created-trigger)
* [Salesforce for Workflows](/integrations/salesforce/workflows)
# Look up Salesforce record
Source: https://docs.cassidyai.com/integrations/salesforce/look-up-record
Search for Salesforce records by field criteria and return selected fields in a Workflow.
The Look Up Salesforce Record action searches for records in Salesforce by field criteria and returns selected fields as output variables. Use it to find a contact by email, look up an account by domain, or retrieve an opportunity by its ID.
While editing a [Workflow](/workflows/overview), click the **+** button between existing steps. Select **Look Up Salesforce Record** from the action list to add it to your Workflow.
If you haven't already, connect your Salesforce account to Cassidy. This allows Cassidy to access your Salesforce records and look them up from your Workflow.
If you want to make the action more descriptive or easier to reference as a variable later, enter a new name in the action title field.
Use the **Type** dropdown to choose the Salesforce object type you want to search — for example, **Lead**, **Contact**, **Opportunity**, **Account**, **Task**, **User**, **Case**, or a custom object.
Under **Fields to search by**, click **Add Condition** to specify how to find the record. Select the field to search on, choose the operation (equals, contains, etc.), and enter the value to match. You can add multiple conditions — they combine with AND logic, so only records matching all conditions are returned.
Use variables from your trigger or previous steps as search values — for example, reference an email address from the trigger to look up a contact.
Under **Fields to return**, click **+ Add Field** and select the Salesforce fields you want returned as output variables. These field values are available in subsequent Workflow steps. Click the trash icon next to a field to remove it.
## Related
* [Update Salesforce Record](/integrations/salesforce/update-record)
* [Find or Create Salesforce Record](/integrations/salesforce/find-or-create-record)
* [Salesforce Record Created trigger](/integrations/salesforce/record-created-trigger)
* [Salesforce for Workflows](/integrations/salesforce/workflows)
# Salesforce
Source: https://docs.cassidyai.com/integrations/salesforce/overview
Connect Salesforce for Agent Connectors and Workflow triggers and actions in Cassidy.
The Salesforce integration brings your CRM data into Cassidy. [Agents](/agents/overview) can query and update records in real time, and [Workflows](/workflows/overview) can trigger from record changes.
## What you can do
Let Agents query and update Salesforce records in real time during conversations.
Trigger Workflows from record changes and update Salesforce with AI-generated results.
# Salesforce record created trigger
Source: https://docs.cassidyai.com/integrations/salesforce/record-created-trigger
Start a Workflow automatically when a new record is created in Salesforce.
The Salesforce Record Created trigger runs your [Workflow](/workflows/overview) whenever a new record is created in Salesforce. Use it to automate follow-up on new leads, enrich new contacts, or process new opportunities.
This trigger works for various Salesforce record types, including accounts, contacts, leads, opportunities, and custom objects. The setup process is the same for all record types.
Create a new [Workflow](/workflows/overview) with a Salesforce Record Created trigger, use an existing Workflow with this trigger, or change an existing Workflow's trigger type to **Salesforce Record Created**.
If you haven't already, connect your Salesforce account to Cassidy. This allows Cassidy to access your Salesforce records and trigger Workflows based on new record creation.
Use the **Type** dropdown to choose which Salesforce object type you want to monitor for new records — for example, **Account**, **Contact**, **Lead**, **Opportunity**, or a custom object.
To trigger the Workflow only for records that meet certain criteria, add an [Only Continue If](/reference/actions/only-continue-if) action after the trigger. This lets you filter by specific field values before the rest of the Workflow runs.
In subsequent actions, use the variable picker to insert data from the trigger. Variables map to the Salesforce properties of the new record, letting you use record data throughout your Workflow.
In the trigger block, click the toggle switch to turn it on.
The Salesforce Record Created trigger does not activate for records that already exist. It only triggers when a new record is created after the trigger has been activated.
## Related
* [Salesforce Record Updated trigger](/integrations/salesforce/record-updated-trigger)
* [Update Salesforce Record](/integrations/salesforce/update-record)
* [Look Up Salesforce Record](/integrations/salesforce/look-up-record)
* [Salesforce for Workflows](/integrations/salesforce/workflows)
# Salesforce record updated trigger
Source: https://docs.cassidyai.com/integrations/salesforce/record-updated-trigger
Start a Workflow when an existing Salesforce record is updated.
The Salesforce Record Updated trigger runs your [Workflow](/workflows/overview) whenever an existing Salesforce record is updated. Use it to react to deal stage changes, contact updates, or field edits. You can monitor specific fields or trigger on any change.
This trigger works for various Salesforce record types, including accounts, contacts, leads, opportunities, and custom objects. The setup process is the same for all record types.
Create a new [Workflow](/workflows/overview) with a Salesforce Record Updated trigger, use an existing Workflow with this trigger, or change an existing Workflow's trigger type to **Salesforce Record Updated**.
If you haven't already, connect your Salesforce account to Cassidy. This allows Cassidy to access your Salesforce records and trigger Workflows based on record updates.
Use the **Type** dropdown to choose which Salesforce object type you want to monitor for updates — for example, **Account**, **Contact**, **Lead**, **Opportunity**, or a custom object.
Under **Fields to Check for Changes**, select which fields the trigger should monitor. When any of these fields are updated in Salesforce, the trigger activates and starts the Workflow. If no fields are specified, changes to any field on the record will trigger the Workflow.
To use field-level change tracking on Account objects, you must enable **Account History** in Salesforce Setup. The same applies to other object types. See [Salesforce's field history tracking guide](https://trailhead.salesforce.com/content/learn/projects/customize-a-salesforce-object/account-field-history-tracking) for instructions.
In subsequent actions, use the variable picker to insert data from the trigger. Variables map to the Salesforce properties of the updated record, letting you use record data throughout your Workflow.
In the trigger block, click the toggle switch to turn it on.
## Related
* [Salesforce Record Created trigger](/integrations/salesforce/record-created-trigger)
* [Update Salesforce Record](/integrations/salesforce/update-record)
* [Look Up Salesforce Record](/integrations/salesforce/look-up-record)
* [Salesforce for Workflows](/integrations/salesforce/workflows)
# Update Salesforce record
Source: https://docs.cassidyai.com/integrations/salesforce/update-record
Update fields on an existing Salesforce record from a Workflow action.
The Update Salesforce Record action updates one or more fields on an existing Salesforce record. Use it to push AI-generated summaries back to the CRM, sync deal notes, or update contact information based on [Workflow](/workflows/overview) results.
While editing a Workflow, click the **+** button between existing steps. Select **Update Salesforce Record** from the action list to add it to your Workflow.
If you haven't already, connect your Salesforce account to Cassidy. This allows Cassidy to access your Salesforce records and update them from your Workflow.
If you want to make the action more descriptive or easier to reference as a variable later, enter a new name in the action title field.
Use the **Type** dropdown to choose the Salesforce object type you want to update — for example, **Lead**, **Contact**, **Opportunity**, **Account**, **Task**, **User**, **Case**, or a custom object.
Under **Fields to search by**, click **Add Condition** to specify how to find the record you want to update. Select the field to search on, choose the operation (equals, contains, etc.), and enter the value to match. You can add multiple conditions — they combine with AND logic, so only records matching all conditions are returned. The action updates the first matching record.
Use variables from your trigger or previous steps as search values — for example, reference a record ID from the trigger to find the exact record to update.
Under **Fields to update**, click **+ Add Field**, select the Salesforce field (key) to update, and map the new value from a variable or static text. Repeat to update multiple fields. Click the trash icon next to a field mapping to remove it.
## Related
* [Look Up Salesforce Record](/integrations/salesforce/look-up-record)
* [Find or Create Salesforce Record](/integrations/salesforce/find-or-create-record)
* [Salesforce Record Created trigger](/integrations/salesforce/record-created-trigger)
* [Salesforce for Workflows](/integrations/salesforce/workflows)
# Salesforce for Workflows
Source: https://docs.cassidyai.com/integrations/salesforce/workflows
Trigger Workflows from Salesforce record changes and update records with AI results.
Connect Salesforce to your Workflows to automatically respond to CRM changes and write results back.
## Triggers
Start a Workflow when a new record is created.
Start a Workflow when a record field changes.
## Actions
Update fields on an existing Salesforce record.
Search for records by field criteria.
Look up a record and create it if not found.
Find records related to a parent record.
Create a new record related to a parent.
Remove records related to a parent.
# ServiceNow Agent Connector
Source: https://docs.cassidyai.com/integrations/servicenow/agent-connector
Let Agents look up, create, and manage ServiceNow records and incidents in real time during conversations.
The ServiceNow Connector lets your [Agents](/agents/overview) work with
ServiceNow records during a conversation — summarize high-priority incidents,
find tickets that need a response, or create a new record. Data is queried in
real time and never imported or indexed in Cassidy.
To import ServiceNow knowledge articles for AI-powered search instead, use the
[ServiceNow Knowledge Base
integration](/integrations/servicenow/knowledge-base).
## Set up the ServiceNow Connector on an Agent
Go to **Agents**, select the Agent you want to configure, and open the
**Setup** tab.
Scroll to the **Connectors** section, click **+ Add Connector**, and select
**ServiceNow**.
Select how users will authenticate:
* **Each user connects their own account** (recommended) — each person
signs in with their own ServiceNow credentials, so the Agent respects
that person's ServiceNow permissions.
* **Use a shared connection** — everyone acts through one ServiceNow
account. Use a dedicated service account, and choose the people and
groups who can use the connection.
ServiceNow actions are grouped into two categories. Set each category — or
individual actions within it — to **Always allow**, **Ask every time**, or
**Disabled**:
* **View Data** — Get records and find files. Allowed automatically by
default.
* **Create & Modify** — Create a record, attach a file to a record, delete
a record. Disabled by default until you enable it.
Review **Create & Modify** carefully — **Always allow** lets the Agent
create or delete ServiceNow records without asking first.
Click **Add connector**, save the Agent, and start a chat. With a per-user
connection, each person is prompted to connect their ServiceNow account the
first time the Agent uses the Connector.
## Connect ServiceNow for yourself
To use ServiceNow in any chat, not just with this Agent, open **Customize** →
**Connectors**, find **ServiceNow**, and click **Connect**. See [Add a Connector for
yourself](/agents/connectors/overview#add-a-connector-for-yourself).
## What your Agent can do
| Category | Actions |
| - | - |
| **View Data** | Get records, find files |
| **Create & Modify** | Create a record, attach a file to a record, delete a record |
Try prompts like:
* "Summarize my highest-priority incidents"
* "Find tickets that need a response"
* "Create an incident for the VPN outage reported this morning"
## Data security
ServiceNow data is queried in real time and is not imported or indexed in
Cassidy. With per-user connections, the Agent can only access records the
signed-in person can access in ServiceNow.
## Next steps
Learn how Connectors, approvals, and personal connections work.
Import knowledge articles and catalog items for AI-powered search.
# ServiceNow
Source: https://docs.cassidyai.com/integrations/servicenow/overview
Connect ServiceNow to import knowledge articles and let Agents query service records.
Connect ServiceNow to Cassidy to import knowledge base articles and service catalog items into your [Knowledge Base](/knowledge-base/overview), and enable [Agent Connectors](/agents/connectors/overview) for real-time record queries.
## What you can do
Import ServiceNow knowledge articles and catalog items for AI-powered
search.
Query and manage ServiceNow records in real time from your Agents.
# Deploy Agent to Slack
Source: https://docs.cassidyai.com/integrations/slack/deploy-agent
Deploy your Agent to Slack so your team can chat with it directly in channels and DMs.
Deploy your [Agent](/agents/overview) to Slack so team members can chat with it in channels and direct messages — no need to leave their daily communication tool.
**Prerequisites**:
* An [Agent created in Cassidy](/agents/build-and-configure)
* Admin access to your Slack workspace
## Set up the deployment
Navigate to **Agents** in the sidebar and click the Agent you want to deploy. You can also open the more options menu (**...**) and select **Edit**.
In your Agent's settings, click the **Deployments** tab.
Adjust the **Slack Display Name** and **Description** for how the Agent appears in Slack. Click **Next** when you're ready.
Click **Copy** to copy the app manifest provided by Cassidy. You'll paste this into Slack in the next step.
Go to [api.slack.com/apps](https://api.slack.com/apps) and click **Create New App**.
Select **From a manifest**, then choose your organization's workspace and click **Next**.
Paste the manifest you copied from Cassidy into the input area. Click **Next**, then **Create** to finish creating the Slack app.
In your new Slack app's **Basic Information** page, copy the **App ID**, **Client ID**, **Client Secret**, and **Signing Secret**.
Back in the Cassidy deployment dialog, paste each credential into the corresponding field and click **Next**.
Click **Deploy to Slack** and complete the OAuth authorization to finish the connection.
Choose how the Agent responds in Slack:
* **Always respond** — the Agent replies to every message in channels where it's added
* **Respond when mentioned** — the Agent only replies when mentioned with @
* **Only respond when mentioned** — the Agent replies when mentioned, even in ongoing threads
## Chat with your Agent in Slack
Once deployed, your team can interact with the Agent in two ways:
* **Direct messages** — start a new DM in Slack and search for the app by its display name. Send a message to begin a conversation. Each thread is a separate conversation.
* **Channel mentions** — in any channel, @ mention the Agent by its display name. Slack prompts you to invite the app to the channel on first mention. Once added, the Agent responds to messages based on the response mode you configured.
You can send images and files to the Agent in Slack just like you do when [chatting with Agents](/guides/chatting-with-an-agent) on Cassidy.
## Remove the deployment
To remove the Agent from Slack, either delete the app directly in Slack or click **Remove from Slack** in the Cassidy deployment settings for that Agent.
## Next steps
Give your Agent context from real Slack conversations.
Let users interact with your Agent by sending and receiving emails.
Automate actions when messages arrive in Slack channels.
# Slack for Knowledge Base
Source: https://docs.cassidyai.com/integrations/slack/knowledge-base
Import Slack channels and messages into your Knowledge Base for AI-powered search and context.
Import Slack channel conversations into your [Knowledge Base](/knowledge-base/overview) so your [Agents](/agents/overview) and [Workflows](/workflows/overview) can reference real team discussions when generating answers.
## Connect your Slack workspace
Open **Account Settings**, then select **Integrations**.
Find **Slack** in the list and click **Connect**, then click **Get Started** to begin setup.
Follow the on-screen instructions to create a Slack app in your workspace. One person from your team completes this step.
Copy the **Client ID** and **Client Secret** from your Slack app and paste them into the corresponding fields in Cassidy. Click **Connect**.
Review the access request and click **Accept** to grant Cassidy permission to your Slack workspace.
Slack now shows as **Connected** in your Integrations list.
After the workspace connection is set up, any team member can connect their
own Slack account. Team members open **Account Settings** →
**Integrations**, click **Connect** next to Slack, and click **Connect to
Slack** to authorize their individual access.
## Import Slack channels
Navigate to your [Knowledge Base](/knowledge-base/overview), click **Sync From Integrations**, and select **Sync from Slack**.
Select the Slack channels you want to bring into your Knowledge Base, then click **Import**.
Private channels only appear after Cassidy has been added to them. In the desired channel, send `/invite @Cassidy`.
Slack channels sync automatically every 24 hours. Enterprise plans support
live syncing for real-time updates. Learn more about [sync schedules and
options](/integrations/sync-integrations).
## Next steps
Automate actions when new messages arrive in Slack channels.
Let your team chat with an Agent directly in Slack channels and DMs.
# Slack
Source: https://docs.cassidyai.com/integrations/slack/overview
Connect Slack to import channels as knowledge, deploy Agents, and trigger Workflows from messages.
The Slack integration lets you bring channel conversations into your [Knowledge Base](/knowledge-base/overview), deploy [Agents](/agents/overview) directly into Slack, and automate [Workflows](/workflows/overview) triggered by messages.
## What you can do
Import Slack channels for AI-powered search and context.
Deploy an Agent to Slack channels and DMs so your team can chat with it directly.
Trigger Workflows from messages and send results back to channels.
# Send Slack message
Source: https://docs.cassidyai.com/integrations/slack/send-slack-message
Send a message to a Slack channel, thread, or DM as part of a Workflow.
The Send Slack Message action sends a message to a Slack channel as part of your [Workflow](/workflows/overview). Use it to post results, send notifications, or reply to the user or channel that triggered the workflow.
While editing a workflow, click the **+** button between existing blocks. This opens a modal where you can select from Cassidy's pre-configured actions. Choose **Send Slack Message** to add it to your workflow.
If you want to make the action more descriptive or easier to reference as a variable later, enter a new name.
If you haven't already, connect your Slack account to Cassidy.
Optionally, toggle on **Reply to Trigger Message** to reply to the same channel or user that sent the original message.
If **Reply to Trigger Message** is not toggled on, select the **Channel** to send the message to.
Private channels only appear after Cassidy has been added. In the desired channel, send `/invite @Cassidy`.
If **Reply to Trigger Message** is toggled on, you can also optionally toggle on **Reply in a Thread** to reply to the trigger message within its thread.
Enter the message to send to the channel. You can type the message directly or reference a variable containing the message from a previous step or the trigger.
Variables are inputs from the trigger, or outputs from previous steps. Use the variable picker to insert them.
Here's a sample of the type of output you can expect:
## Fields
| Field | Description |
| - | - |
| **Reply to Trigger Message** | When on, sends the message to the same channel or user that triggered the Workflow |
| **Channel** | The Slack channel to send to (when not replying to trigger) |
| **Reply in a Thread** | When on, posts the message as a reply in the trigger message's thread |
| **Message** | The message content — supports plain text and [variables](/workflows/advanced/utility-variables) |
## Related
* [Slack Message trigger](/integrations/slack/slack-message-trigger)
* [Slack for Workflows](/integrations/slack/workflows)
* [Deploy an Agent to Slack](/integrations/slack/deploy-agent)
# Slack message trigger
Source: https://docs.cassidyai.com/integrations/slack/slack-message-trigger
Start a Workflow when a message is posted in a Slack channel or sent as a DM to Cassidy.
The Slack Message trigger starts your [Workflow](/workflows/overview) whenever a message is posted in a Slack channel or sent as a direct message to Cassidy. Use it to automate follow-up, route requests, or process inbound messages automatically.
Create a workflow with a Slack Message trigger, use an existing workflow with a Slack Message trigger, or change an existing workflow's trigger type to a Slack Message trigger.
If you haven't already, connect your Slack account to Cassidy.
Select either **Message in Channel** to run the workflow when a message is posted in a Slack channel, or **Direct Message** to trigger the workflow when a direct message is sent to Cassidy.
If you chose **Message in Channel**, select the Slack channel where you want the trigger to listen for messages.
Private channels only appear after Cassidy has been added. In the desired channel, send `/invite @Cassidy`.
In subsequent Workflow steps, you can reference the following variables from this trigger:
* **Message Contents** — the content of the message posted in Slack
* **Message with History** — full conversation history from the Slack channel, including previous messages and responses from Cassidy and other users
* **Message with Thread History** — thread-specific conversation history if the message is part of a thread
* **Thread ID** — the unique identifier for the thread if the message is part of a thread
* **Channel ID** — the unique identifier for the Slack channel where the message was posted
* **Message ID** — the unique identifier for the specific message
* **Message Attachments** — any files or attachments included with the message
* **Sent By User** — user information for the person who sent the message, including their Slack user ID, display name, and other profile details
In the Slack Message trigger block, click the toggle switch to turn it on.
## Related
* [Send Slack Message](/integrations/slack/send-slack-message)
* [Slack for Workflows](/integrations/slack/workflows)
* [Deploy an Agent to Slack](/integrations/slack/deploy-agent)
# Slack for Workflows
Source: https://docs.cassidyai.com/integrations/slack/workflows
Trigger Workflows from Slack messages and send results back to channels and DMs.
Use Slack as both a trigger and a destination in your Workflows. Fire a Workflow when a message lands in a channel or DM, then send results back to Slack automatically.
## Triggers
Start a Workflow when a message is posted in a channel or sent as a DM.
## Actions
Send a message to a channel, thread, or DM as part of your Workflow.
# Smartsheet
Source: https://docs.cassidyai.com/integrations/smartsheet/overview
Connect Smartsheet to trigger Workflows from sheet activity and automate rows, sheets, and attachments.
The Smartsheet integration connects your sheets to Cassidy [Workflows](/workflows/overview). Trigger automations when rows, comments, or attachments change, then read sheet data and create or update rows, sheets, workspaces, discussions, and attachments as part of your Workflow steps.
## What you can do
Trigger Workflows from Smartsheet sheet activity and automate rows, sheets,
workspaces, discussions, and attachments.
# Smartsheet for Workflows
Source: https://docs.cassidyai.com/integrations/smartsheet/workflows
Trigger Workflows from Smartsheet sheet activity and automate rows, sheets, workspaces, discussions, and attachments.
Use Smartsheet as both a trigger and a destination in your [Workflows](/workflows/overview). Start a Workflow when rows, comments, or attachments change on a sheet, then use Smartsheet actions to read sheet data, create and update rows, move work between sheets, and manage discussions and attachments automatically.
Smartsheet Workflow actions and triggers require a paid Cassidy plan.
## Connect your account
Open a Smartsheet trigger or action in the [Workflow builder](/workflows/overview).
Click **Connect**.
Sign in with your Smartsheet account and review the requested permissions.
Return to Cassidy and confirm your Smartsheet account is connected. You can now select sheets, rows, and columns in triggers and actions.
## Triggers
### New row
Starts a Workflow when a new row is added to a sheet.
**Configuration**
| Field | Description |
| - | - |
| **Sheet** | The Smartsheet sheet to watch |
**Output variables**
| Variable | Description |
| - | - |
| **Sheet ID** | The unique identifier of the sheet containing the row |
| **Row ID** | The unique identifier of the new row |
| **Row Number** | The row number in the sheet |
| **Cells** | List of cells with Column ID, Value, and Display Value |
| **Created At** | Timestamp when the row was created |
| **User ID** | The ID of the user who created the row |
***
### Row updated
Starts a Workflow when a row is updated on a sheet.
**Configuration**
| Field | Description |
| - | - |
| **Sheet** | The Smartsheet sheet to watch |
**Output variables**
| Variable | Description |
| - | - |
| **Sheet ID** | The unique identifier of the sheet containing the row |
| **Row ID** | The unique identifier of the updated row |
| **Row Number** | The row number in the sheet |
| **Cells** | List of cells with Column ID, Value, and Display Value |
| **Modified At** | Timestamp when the row was modified |
| **User ID** | The ID of the user who modified the row |
| **Changed Column ID** | The ID of the column that changed, when available |
***
### New comment
Starts a Workflow when a new comment is added to a sheet.
**Configuration**
| Field | Description |
| - | - |
| **Sheet** | The Smartsheet sheet to watch |
**Output variables**
| Variable | Description |
| - | - |
| **Sheet ID** | The unique identifier of the sheet containing the comment |
| **Comment ID** | The unique identifier of the comment |
| **Comment Author** | The author of the comment |
| **Comment Text** | The content of the comment |
| **Created At** | Timestamp when the comment was created |
***
### New attachment
Starts a Workflow when a new attachment is added to a sheet or row.
**Configuration**
| Field | Description |
| - | - |
| **Sheet** | The Smartsheet sheet to watch |
**Output variables**
| Variable | Description |
| - | - |
| **Sheet ID** | The unique identifier of the sheet containing the attachment |
| **Row** | The unique identifier of the row the attachment is on |
| **Created At** | Timestamp when the attachment was added |
| **Attachment ID** | The unique identifier of the attachment |
| **Attachment** | The attachment as a file variable |
| **Attachment URL** | A temporary download URL for the attachment |
| **Attachment Mimetype** | The MIME type of the attachment |
| **Attachment Name** | The name of the attachment |
| **Created By User Id** | The ID of the user who added the attachment |
## Actions
### Get sheet
Retrieves a sheet by ID, including all rows with cell values and attachment metadata.
**Configuration**
| Field | Description |
| - | - |
| **Sheet** | The sheet to retrieve |
**Output variables**
| Variable | Description |
| - | - |
| **Sheet ID** | The unique identifier of the sheet |
| **Name** | The name of the sheet |
| **Owner ID** | The unique identifier of the sheet owner |
| **Rows** | List of rows, each with Row ID, Row Number, Created At, Modified At, Cells, and Attachments |
| **Total Count** | Total number of rows returned |
Each row in **Rows** includes:
| Variable | Description |
| - | - |
| **Row ID** | The unique identifier of the row |
| **Row Number** | The row's position in the sheet |
| **Created At** | When the row was created |
| **Modified At** | When the row was last modified |
| **Cells** | List of cells with Column ID and Value |
| **Attachments** | Files attached to the row, with Attachment ID, Name, MIME Type, Created At, and the attachment contents |
***
### Add row
Adds a new row to a sheet with the column values you specify.
**Configuration**
| Field | Description |
| - | - |
| **Sheet** | The sheet where the row should be added |
| **Column values** | Values to set on the new row. Select columns individually or pass JSON dynamically as an expression. |
**Output variables**
| Variable | Description |
| - | - |
| **Row ID** | The unique identifier of the created row |
| **Row Number** | The row number in the sheet |
| **Sheet ID** | The ID of the sheet containing the row |
***
### Update row
Updates a single column value on an existing row.
**Configuration**
| Field | Description |
| - | - |
| **Sheet** | The sheet containing the row |
| **Row** | The row to update |
| **Column** | The column to update |
| **New value** | The new value to set. Supports [variables](/workflows/advanced/utility-variables) from previous steps. |
**Output variables**
| Variable | Description |
| - | - |
| **Row** | The unique identifier of the updated row |
| **Row Number** | The row number in the sheet |
| **Sheet ID** | The ID of the sheet containing the row |
***
### Move row
Moves a row from one sheet to another.
**Configuration**
| Field | Description |
| - | - |
| **Source sheet** | The sheet containing the row to move |
| **Row** | The row to move |
| **Target sheet** | The sheet to move the row into |
**Output variables**
| Variable | Description |
| - | - |
| **New Row** | The unique identifier of the row in the destination sheet |
| **Destination Sheet ID** | The unique identifier of the destination sheet |
***
### Create sheet
Creates a new sheet in Smartsheet.
**Configuration**
| Field | Description |
| - | - |
| **Sheet name** | The name for the new sheet |
| **Workspace** | *(Optional)* The workspace where the sheet should be created |
**Output variables**
| Variable | Description |
| - | - |
| **Sheet ID** | The unique identifier of the created sheet |
| **Sheet Name** | The name of the created sheet |
| **Permalink** | The URL to access the sheet |
***
### Create workspace
Creates a new workspace in Smartsheet.
**Configuration**
| Field | Description |
| - | - |
| **Workspace name** | The name for the new workspace |
**Output variables**
| Variable | Description |
| - | - |
| **Workspace ID** | The unique identifier of the created workspace |
| **Workspace Name** | The name of the created workspace |
| **Permalink** | The URL to access the workspace |
***
### Add discussion
Adds a discussion (comment) to a sheet or row.
**Configuration**
| Field | Description |
| - | - |
| **Sheet** | The sheet where the discussion should be added |
| **Row** | *(Optional)* The row to add the discussion to. Leave empty to post on the sheet. |
| **Comment** | The text of the discussion to add |
**Output variables**
| Variable | Description |
| - | - |
| **Discussion ID** | The unique identifier of the discussion |
| **Comment ID** | The ID of the first comment in the discussion |
***
### Add attachment
Adds an attachment to a sheet or row. Attach a file from a previous step or link to a URL.
**Configuration**
| Field | Description |
| - | - |
| **Sheet** | The sheet where the attachment should be added |
| **Row** | *(Optional)* The row to attach the file to. Leave empty to attach to the sheet. |
| **Attachment type** | Choose **File** to upload from a previous step, or **URL** to link to an external file |
| **File** | *(Required when attachment type is File)* The file to attach — reference a file variable from a previous step |
| **Attachment URL** | *(Required when attachment type is URL)* The URL of the file to attach |
| **Attachment name** | *(Required when attachment type is URL)* The display name for the attachment |
You only fill in fields for the attachment type you selected. Choose **File** and
provide a file variable, or choose **URL** and provide both an attachment URL
and attachment name.
**Output variables**
| Variable | Description |
| - | - |
| **Attachment ID** | The unique identifier of the attachment |
| **Attachment Name** | The name of the attachment |
***
### Find attachments
Finds all attachments on a sheet or row.
**Configuration**
| Field | Description |
| - | - |
| **Sheet** | The sheet to search |
| **Row** | *(Optional)* The row to search. Leave empty to find sheet-level attachments. |
**Output variables**
| Variable | Description |
| - | - |
| **Attachments** | List of attachments with Attachment ID, Name, URL, Created At, and the attachment contents |
| **Count** | Number of attachments found |
## Next steps
Learn how to build, test, and publish Workflows in Cassidy.
Load recent Smartsheet events to verify your trigger configuration before
publishing.
Learn what you can do with Smartsheet in Cassidy.
# Snowflake Agent Connector
Source: https://docs.cassidyai.com/integrations/snowflake/agent-connector
Connect your Agent to Snowflake to query your data warehouse directly from conversations.
The Snowflake Connector lets your [Agents](/agents/overview) query your data warehouse and retrieve results during conversations. Ask questions about your data in plain language and get answers grounded in your Snowflake tables. Data is accessed in real time and never copied or stored in Cassidy.
For best results with complex Connector queries, use a powerful,
reasoning-capable model. Cassidy supports models from OpenAI, Anthropic, and
Google — see [Choose the right AI model](/guides/choose-ai-model) for current
recommendations.
## Set up the Snowflake Connector
Go to **Agents** and select the Agent you want to configure.
Click the **Setup** tab and scroll to the **Connectors** section.
Click **+ Add Connector** and select **Snowflake**.
Select how users will authenticate:
* **Each user connects their own account** (recommended) — each user signs in with their own Snowflake credentials
* **Use a shared connection** — all users access Snowflake through one shared account
If using a shared connection, enter your Snowflake **account identifier** and authenticate.
Give a new shared connection a recognizable name, then choose the people
and groups who can use it.
To find your account identifier: in your Snowflake web interface, click your account button in the bottom left corner, then select **Account** → **View Account Details**. Copy the **Account identifier**, which is in the format `ABCDEFG-XYZ12345`.
Set permissions for each action the Agent can perform:
* **Always allow** — The Agent runs the action automatically when needed
* **Ask every time** — The Agent asks for permission before running the action
* **Disabled** — The Agent cannot perform the action
Common Snowflake actions include viewing metadata and querying data — such
as Describe Table, Explore Columns, Show Databases, Show Schemas, Show
Tables, and Run Read Query — as well as Run Write Query for modifying data.
You decide the permission level for each action separately.
Click **Add** to enable the Connector for this Agent.
Navigate to **Chat** and select the Agent with the Snowflake Connector enabled.
If you chose **Each user connects their own account**, users are prompted to connect their Snowflake account from within the chat the first time they use the Connector.
Once connected, your Agent can query your Snowflake database to retrieve data, run analytics, and answer questions about your data warehouse.
## Connect Snowflake for yourself
To use Snowflake in any chat, not just with this Agent, open **Customize** →
**Connectors**, find **Snowflake**, and click **Connect**. See [Add a Connector for
yourself](/agents/connectors/overview#add-a-connector-for-yourself).
## Monitor Snowflake actions
When an Agent uses the Snowflake Connector, expand the action in the response to see its input, result, and approval status.
If an action is set to **Ask every time**, you see an approval prompt where you
can allow it once, always allow it when organization policy permits, or deny
it.
## Data security
Snowflake data is accessed in real time and is not copied or stored in Cassidy. The Agent only queries Snowflake when needed to answer a question or complete a task.
The Snowflake Connector requests access to run queries on the databases and
schemas you authorize. Cassidy does not access data outside the scope you
explicitly grant.
## Next steps
Learn about all available Agent Connectors and how they work.
Combine Snowflake data with Code Execution & File Creation for deeper
insights.
# Snowflake
Source: https://docs.cassidyai.com/integrations/snowflake/overview
Connect Snowflake to let Agents query your data warehouse directly from conversations.
The Snowflake integration gives your [Agents](/agents/overview) direct access to your data warehouse. Agents can run queries and retrieve data from Snowflake during conversations — no need to leave Cassidy or write SQL manually.
## What you can do
Let Agents query your Snowflake data warehouse in real time during conversations.
# Sync integrations
Source: https://docs.cassidyai.com/integrations/sync-integrations
Understand how Cassidy keeps your integrated data in sync and how to manage sync schedules.
When you connect file platforms like [Google Drive](/integrations/google-workspace/google-drive/overview), [SharePoint](/integrations/microsoft-365/sharepoint/overview), or [Slack](/integrations/slack/overview) to your [Knowledge Base](/knowledge-base/overview), Cassidy keeps your data in sync automatically so your [Agents](/agents/overview) and [Workflows](/workflows/overview) always reference the latest information.
## Automatic syncing
Every connected integration syncs automatically on a 24-hour cycle. When you update, add, or remove files in the connected platform, those changes are reflected in Cassidy within one sync cycle.
* No manual effort required — syncing happens in the background
* New files added to synced folders are imported automatically
* Edits to existing documents are picked up on the next sync
* Deleted files are removed from your Knowledge Base on the next sync
## Live syncing
For teams that need real-time data, live syncing provides instant updates whenever changes are made in the connected platform.
* Changes appear in Cassidy within seconds instead of hours
* Ideal for fast-moving teams where information changes frequently
* Supports all integration-connected data sources
Live syncing is available on Enterprise plans. Contact [support@cassidyai.com](mailto:support@cassidyai.com) to learn more about upgrading.
## Next steps
See all available integrations and connect your accounts.
Organize and manage your synced content.
# Use webhooks
Source: https://docs.cassidyai.com/integrations/webhooks
Set up webhooks to trigger Cassidy Workflows from any external system that can send HTTP requests.
Webhooks let any external system trigger a Cassidy [Workflow](/workflows/overview) by sending an HTTP POST request to a unique URL. This is ideal for connecting Cassidy to apps that don't have a native integration but support outbound webhooks.
## Set up a webhook trigger
Go to the [Workflows](/workflows/overview) page and create a new Workflow, or open an existing one you want to trigger via webhook.
In the trigger configuration panel, select **Webhook** as the trigger type.
Optionally enable **Return results from webhook** if you need to send data back to the calling system. This is useful when the external app expects a response — for example, a chatbot waiting for an AI-generated reply.
In **Advanced settings**, optionally enable **Require API Key** to secure your webhook. When enabled, the calling system must include your API key in the request headers.
Copy the unique **Webhook URL** provided by Cassidy. You'll paste this into your external system's webhook configuration.
Configure the external system to send a POST request with a JSON body to your webhook URL. Once Cassidy receives the first event, the incoming data fields appear in the trigger settings.
Map the incoming event properties to Workflow variables so you can use the data in subsequent actions.
Toggle the trigger to active and continue building the rest of your Workflow. The Workflow now runs automatically whenever the external system sends a request to your webhook URL.
Test your webhook by sending a sample POST request (using a tool like Postman or cURL) before activating in production. This lets you verify the data mapping without waiting for a real event.
## Next steps
Learn how to add actions and logic after your webhook trigger.
Explore other methods for connecting apps without native integrations.
# Zapier
Source: https://docs.cassidyai.com/integrations/zapier/overview
Connect Zapier to trigger Cassidy Workflows from thousands of apps and send results back.
Zapier bridges Cassidy with over 5,000 apps. Use it to trigger Cassidy [Workflows](/workflows/overview) from Zapier events or run Zapier actions from within Cassidy Workflows — giving you access to virtually any app, even those without a native Cassidy integration.
## What you can do
Trigger Workflows from any Zapier-connected app and send results back.
For apps that don't have a native Cassidy integration, Zapier is often the easiest bridge. See [connecting non-native apps](/integrations/connect-non-native-apps) for more details.
# Run Zapier action
Source: https://docs.cassidyai.com/integrations/zapier/run-zapier-action
Send data from a Cassidy Workflow to any Zapier-connected app.
The Run Zapier Action sends data from your Cassidy [Workflow](/workflows/overview) to any Zapier-connected app. Use it to create documents, send notifications, update records, or perform any action available through Zapier's 5,000+ integrations.
For more information on connecting Zapier, see the [Zapier integration overview](/integrations/zapier/overview).
In the [Workflow builder](/workflows/building), click the **+** button between existing blocks and select **Run Zapier Action** from the action list.
Enter a descriptive name to make the action easier to reference as a variable in later steps.
In the Run Zapier Action block, click **Finish Setup on Zapier**. This redirects you to Zapier where you can configure the destination app.
You can also search for a specific integration app and select **Click to Open in Zapier** to create the Zap automatically.
In Zapier, create a new Zap. Choose **Cassidy** as the trigger event and **Workflow Finished Running** as the event for your Zap.
In the Zap editor, add an action step that uses the outputs from your Cassidy Workflow. For example, **Create Document from Text** with Google Docs.
Map the input fields of your chosen Zapier action to the corresponding outputs from your Cassidy Workflow. For example, map a text output from a Generate Text action to the **Document Content** field.
Click **Publish** to save and activate your Zap. Make sure it's turned on so it runs when your Cassidy Workflow finishes.
Here's a sample of the type of output you can expect:
## Related
* [Zapier trigger](/integrations/zapier/zapier-trigger)
* [Zapier for Workflows](/integrations/zapier/workflows)
* [Connect non-native apps](/integrations/connect-non-native-apps)
# Zapier for Workflows
Source: https://docs.cassidyai.com/integrations/zapier/workflows
Trigger Workflows from any Zapier-connected app and send results back via Zapier actions.
Use Zapier to bridge Cassidy [Workflows](/workflows/overview) with 5,000+ apps. Start a Workflow from any Zapier event, or send Workflow results to any Zapier-connected app.
## Triggers
Start a Workflow from any Zapier event.
## Actions
Send data to any Zapier-connected app.
# Zapier trigger
Source: https://docs.cassidyai.com/integrations/zapier/zapier-trigger
Start a Cassidy Workflow from any Zapier-connected app event.
The Zapier trigger lets you run a Cassidy [Workflow](/workflows/overview) from a Zapier Zap. Use it to connect Cassidy with any of the 5,000+ apps Zapier supports — for example, starting a Workflow when a new form response comes in or when a CRM record is updated.
Create a new [Workflow](/workflows/building) with a **Zapier Trigger**, or change an existing Workflow's trigger type to **Zapier Trigger**.
In the Zapier Trigger block, click **Finish Setup on Zapier**. This redirects you to Zapier where you can log in or sign up and complete the setup.
You can also search for a specific integration app and select **Click to Open in Zapier** to create the Zap automatically.
In Zapier, create a new Zap. Choose a trigger event for your Zap (for example, "New Form Response in Google Forms"). Then for the action step, select **Run Workflow in Cassidy**.
In the Zapier action step, map the input fields of your Cassidy Zapier Trigger to the corresponding data from your Zap trigger event.
Click **Publish** to save and activate your Zap. Make sure it's turned on so it triggers your Cassidy Workflow when the specified event occurs.
Back in Cassidy, use the inputs from Zapier in the rest of your Workflow. The Workflow automatically runs when triggered by the Zap.
## Related
* [Run Zapier Action](/integrations/zapier/run-zapier-action)
* [Zapier for Workflows](/integrations/zapier/workflows)
* [Connect non-native apps](/integrations/connect-non-native-apps)
# Add comment to Zendesk ticket
Source: https://docs.cassidyai.com/integrations/zendesk/add-comment
Add a comment to a Zendesk ticket as part of a Workflow.
Use the **Add Comment to Zendesk Ticket** action to post a comment on a Zendesk ticket from within a [Workflow](/workflows/overview). You can add internal notes or public replies, making it easy to automate responses or leave context for your support team.
## Set up the action
While editing a Workflow, click the **+** button between existing blocks. Select **Add Comment to Zendesk Ticket** from the action list.
If you haven't already, connect your Zendesk account to Cassidy.
Click the action name to give it a more descriptive label, making it easier to reference as a variable in later steps.
Provide the ID of the Zendesk ticket you want to comment on. You can type a ticket ID directly or reference a variable from a previous step or the trigger.
Type the comment you want to add to the ticket, or reference a variable containing the comment text from a previous step.
Choose the visibility for the comment:
* **Internal note** — visible only to agents and admins
* **Public reply** — visible to the ticket requester
Here's a sample of the type of output you can expect:
## Related
Trigger a Workflow when a new ticket is created.
Trigger a Workflow when a ticket is updated.
# Zendesk for Knowledge Base
Source: https://docs.cassidyai.com/integrations/zendesk/knowledge-base
Sync Zendesk help center articles into your Knowledge Base for AI-powered search and context.
Import Zendesk help center articles into your [Knowledge Base](/knowledge-base/overview) so your [Agents](/agents/overview) and [Workflows](/workflows/overview) can reference support documentation when generating answers.
## Connect your account
Open **Account Settings**, then select **Integrations**.
Locate **Zendesk** in the list and click **Connect Zendesk**.
Fill in your **Subdomain** (the part before `.zendesk.com` in your Zendesk URL), the **Email** you use to sign in to Zendesk, and your **API Token**.
You can generate an API token in your Zendesk Admin Center under **Apps and integrations** > **Zendesk API** > **Add API token**.
Click **Create Connection**. Cassidy verifies your credentials and confirms the connection.
## Import help center articles
Navigate to **Knowledge Base** in the sidebar, click **Sync From Integrations**, and select **Sync from Zendesk**.
Browse your Zendesk help center and select the categories, sections, or individual articles you want to import. Click **Import** when ready.
Zendesk articles sync automatically on a regular schedule. Learn more about
[sync schedules and options](/integrations/sync-integrations).
## Next steps
Automate ticket processing with AI-powered Workflows.
Learn how to organize and manage your imported content.
# New Zendesk ticket trigger
Source: https://docs.cassidyai.com/integrations/zendesk/new-ticket-trigger
Run a Workflow automatically when a new Zendesk ticket is created.
Use the **New Zendesk Ticket** trigger to start a [Workflow](/workflows/overview) whenever a new ticket is created in your Zendesk account. This is useful for automating responses, routing tickets, or enriching ticket data the moment it arrives.
## Set up the trigger
Create a new Workflow with the **New Zendesk Ticket** trigger, or change an existing Workflow's trigger type to **New Zendesk Ticket**.
If you haven't already, connect your Zendesk account to Cassidy. This allows Cassidy to monitor your Zendesk tickets and trigger Workflows based on new ticket creation.
Choose a specific Zendesk organization to monitor for new tickets. Leave this field blank to monitor tickets from all organizations.
In subsequent Workflow steps, you can reference the following variables from this trigger:
* **Ticket ID** — the unique identifier of the newly created ticket
* **Ticket Subject** — the subject line of the new ticket
* **Ticket Description** — the body of the new ticket
* **Ticket Requester** — the email address of the person who submitted the ticket
In the trigger block, click the toggle switch to turn it on.
## Related
Trigger a Workflow when an existing ticket is updated.
Add a comment to a Zendesk ticket from a Workflow.
# Zendesk
Source: https://docs.cassidyai.com/integrations/zendesk/overview
Connect Zendesk to sync help center content and trigger Workflows from new or updated tickets.
The Zendesk integration lets you sync help center articles into your [Knowledge Base](/knowledge-base/overview) and automate ticket processing with [Workflows](/workflows/overview).
## What you can do
Import Zendesk help center articles for AI-powered search and context.
Trigger Workflows from new or updated tickets and post comments back.
# Updated Zendesk ticket trigger
Source: https://docs.cassidyai.com/integrations/zendesk/updated-ticket-trigger
Run a Workflow automatically when a Zendesk ticket is updated.
Use the **Updated Zendesk Ticket** trigger to start a [Workflow](/workflows/overview) whenever an existing ticket is updated in your Zendesk account. This is ideal for monitoring ticket changes, responding to new comments, or escalating tickets based on updates.
## Set up the trigger
Create a new Workflow with the **Updated Zendesk Ticket** trigger, or change an existing Workflow's trigger type to **Updated Zendesk Ticket**.
If you haven't already, connect your Zendesk account to Cassidy. This allows Cassidy to monitor your Zendesk tickets and trigger Workflows based on ticket updates.
Choose a specific Zendesk organization to monitor for updated tickets. Leave this field blank to monitor tickets from all organizations.
In subsequent Workflow steps, you can reference the following variables from this trigger:
* **Ticket ID** — the unique identifier of the updated ticket
* **Ticket Subject** — the subject line of the updated ticket
* **Ticket Description** — the body of the updated ticket
* **Ticket Requester** — the email address of the person who submitted the ticket
* **Latest Comment** — the content of the most recent comment
* **Latest Comment Author** — the name of the person who posted the last comment
* **Comment History** — the full comment history of the ticket, including names, timestamps, and content of all comments
In the trigger block, click the toggle switch to turn it on.
## Related
Trigger a Workflow when a new ticket is created.
Add a comment to a Zendesk ticket from a Workflow.
# Zendesk for Workflows
Source: https://docs.cassidyai.com/integrations/zendesk/workflows
Trigger Workflows from Zendesk tickets and post comments back automatically.
Use Zendesk as both a trigger and a destination in your Workflows. Fire a Workflow when a ticket is created or updated, then post comments back automatically.
## Triggers
Start a Workflow when a new ticket is created.
Start a Workflow when a ticket is updated.
## Actions
Add an internal note or public reply to a ticket.
# Answer Hubs
Source: https://docs.cassidyai.com/knowledge-base/answer-hubs
Create focused Q&A hubs that let your team quickly find answers from your Knowledge Base.
Answer Hubs let you create curated sets of questions and answers within your [Knowledge Base](/knowledge-base/overview). Unlike regular documents that get summarized during search, Answer Hubs deliver exact responses — making them ideal for FAQs, product questions, or any scenario where precision matters.
When an [Agent](/agents/overview) has access to an Answer Hub, it prioritizes Answer Hub content over other Knowledge Base sources for matching queries.
## Create an Answer Hub
In the [Knowledge Base](/knowledge-base/setup#adding-content), click **+ Add** and select **Answer Hub**.
Enter a descriptive name (e.g., "HR Policies", "Product Pricing FAQ") and click **Save**.
## Add questions and answers
Open your Answer Hub and click **+ Create New Article** or **+ New Answer**.
Phrase the question the way a user would naturally ask it, then click **Save**.
Click the editor field below the question to write the answer. Use the text formatting tools to structure your response, then click **Save**.
Repeat to build out your Answer Hub with more questions and answers.
Write questions using natural language variations. If customers ask about pricing in different ways, consider creating separate entries for "What are your pricing plans?" and "How much does it cost?" — or include common phrasings in the question field.
## Edit, delete, and deprecate entries
Click the ellipsis (three dots) next to any entry to manage it:
* **Edit Question** or **Edit Answer** — Update the content of an existing entry
* **Delete** — Permanently remove the entry
* **Deprecate** — Mark an entry as outdated without deleting it. Deprecated entries won't be used in Agent responses but remain in the Answer Hub for reference.
## Connect an Answer Hub to an Agent
Open the [Agent](/agents/overview) you want to connect, then scroll to the **Knowledge** section.
Under **Select Knowledge Base**, choose the Answer Hub you want the Agent to reference.
Click **Save** to apply the changes.
Answer Hub content takes priority over other Knowledge Base sources when the Agent can match a user's question. You can use Answer Hubs alongside regular documents — the Agent will prefer the curated answer when one exists.
You can also reference Answer Hub items directly in the Agent's instructions for more specific guidance.
When a user asks a matching question, the Agent delivers the exact Answer Hub response and cites it as a source.
Learn more about [Agent knowledge settings](/agents/knowledge).
## Next steps
Upload documents, import websites, and connect integrations.
Create and customize Agents for your team.
Configure how Agents use your Knowledge Base.
# Overview of Knowledge Base
Source: https://docs.cassidyai.com/knowledge-base/overview
Understand how the Knowledge Base powers your Agents and Workflows with your company's knowledge.
The [Knowledge Base](/knowledge-base/overview) is the foundation of Cassidy's AI capabilities. It connects your company's data and knowledge to AI, enabling accurate and context-aware answers across [Agents](/agents/overview) and [Workflows](/workflows/overview).
## Why a Knowledge Base matters
Without company context, AI tools produce generic answers that don't reflect your business. The Knowledge Base solves this by giving Cassidy access to the information your team already has.
* **Accurate, cited answers** — Cassidy pulls from your verified company knowledge rather than guessing, and cites its sources so you can confirm accuracy
* **Automate complex tasks** — Give your [Workflows](/workflows/overview) the full context of your business to handle even intricate processes
* **Keep everyone informed** — Centralize and sync your company knowledge so every team member has instant access to the latest information
* **Organize by team or department** — Create separate [collections](/knowledge-base/permissions-and-structure) with specific permissions so each group sees only what they need
## How the Knowledge Base works
When you add content to the Knowledge Base, Cassidy processes and indexes it using semantic search. This means Cassidy doesn't just match keywords — it understands the meaning behind your questions and finds the most relevant information, even when the wording differs from what's stored.
## What you can add
The Knowledge Base supports many content types:
| Source type | Examples |
| - | - |
| **Documents** | PDF, Word (.doc, .docx), Excel (.xls, .xlsx), PowerPoint (.pptx), CSV, text files |
| **Media** | Audio and video files (automatically transcribed to text) |
| **Code** | Source code files (.py, .html, .js, etc.) |
| **Websites** | Crawl and import entire domains, subdomains, or individual pages |
| **Integrations** | Google Drive, SharePoint, Notion, Confluence, Slack, and [more](/integrations/overview) |
| **Answer Hubs** | Curated Q\&A pairs that provide exact answers to common questions |
For the full setup walkthrough, see [Set up your Knowledge Base](/knowledge-base/setup).
## Where the Knowledge Base is used
The Knowledge Base powers several key features across Cassidy:
### Agents
Connect your Knowledge Base to [Agents](/agents/overview) so they can answer questions using your company's documents. When a user asks an Agent a question, it searches the Knowledge Base, finds the relevant information, and generates an answer with source citations.
Learn how to connect Knowledge Base content to an Agent in [Agent knowledge settings](/agents/knowledge).
### Workflows
Use [Knowledge Base actions](/reference/actions/search-knowledge-base) in your [Workflows](/workflows/overview) to search, retrieve, and reference company documents as part of automated processes. Your Workflows can pull the right information at the right time without manual intervention.
### Chat
When chatting with an Agent that has Knowledge Base access, you can also manually reference specific Knowledge Base items using the **@** mention feature. Learn more in [Chatting with an Agent](/guides/chatting-with-an-agent).
## Next steps
Upload documents, import websites, and connect integrations.
Structure your content and control who can access it.
Build curated Q\&A pairs for precise, consistent answers.
Flag and deprecate outdated content to keep answers accurate.
# Permissions and structure
Source: https://docs.cassidyai.com/knowledge-base/permissions-and-structure
Organize your Knowledge Base with collections and folders, and control who can access what.
Organize your [Knowledge Base](/knowledge-base/overview) content into collections and folders, and control access with granular permissions so the right people see the right information.
## Understanding collections and folders
**Collections** are top-level containers that group related knowledge. Each collection has its own permissions. By default, all users can access the **General Knowledge** collection.
**Folders** live inside collections and add another layer of organization — for example, "Policies", "Product Docs", or "Sales Materials". Folders inherit permissions from their parent collection.
You can nest folders within folders for deeper organization.
## Create a collection
Click **Knowledge Base** in the sidebar.
Click the current collection's name at the top of the page to open the collection dropdown.
Click **+ Create New Collection** at the bottom of the dropdown.
Enter a name and description for the collection. Set the **General Access** level:
* **Team can edit** — anyone in your organization can view and edit
* **Team can view** — anyone can view but not edit
* **Restricted** — only specific people and groups can access
Click **Create**.
Use collections to separate content by team or department — for example, "Customer Support", "Sales", "HR".
## Create folders
Open the collection where you want to add a folder.
Click **+ Add** and select **New Folder** (or click **New Folder** from the collection homepage).
Enter a descriptive name for the folder and click **Save**.
You can move documents between folders by dragging and dropping, or by selecting documents and clicking **Move**.
## Manage permissions
Navigate to the collection you want to manage.
Click **Settings** then click **Share**.
Choose one of the following:
* **Team** — anyone in the organization can access the collection
* **Restricted** — only specific people and groups can access
If using **Restricted** access, add people or groups by typing their names or email addresses. Set each person's or group's permission level to **Can edit** or **Can view**.
Click **Done** to save.
## How permissions affect Agents and Workflows
Understanding how collection permissions work across Cassidy:
* Users can only see Knowledge Base items within collections they have access to
* When creating an [Agent](/agents/overview) or [Workflow](/workflows/overview), users can only select Knowledge Base items they have permission to access
* If someone shares an Agent or Workflow that references collections the recipient can't access, Cassidy automatically limits the scope to prevent exposing restricted information
For more on managing what users can do with roles and what resources they can see with groups, see [Roles and groups](/settings/roles-and-groups).
## Next steps
Upload documents, import from integrations, and add content.
Review and verify your Knowledge Base content.
# Set up your Knowledge Base
Source: https://docs.cassidyai.com/knowledge-base/setup
Upload documents and folders, import websites, and connect integrations to build your Knowledge Base.
Add your company's documents, websites, and integration data to the [Knowledge Base](/knowledge-base/overview) so [Agents](/agents/overview) and [Workflows](/workflows/overview) can reference your business knowledge.
## Adding content
All content is added from the **+ Add** menu inside a collection or folder. To get started:
1. Open **Knowledge Base** in the sidebar
2. Select the [collection or folder](/knowledge-base/permissions-and-structure) where you want to add content
3. Click **+ Add** to see all available options
## Upload documents
Select **Upload Documents** from the **+ Add** menu, then choose files from your computer. Supported types include PDF, CSV, Excel (.xls, .xlsx), Word (.doc, .docx), PowerPoint (.pptx), text (.txt), audio and video files (automatically transcribed), and source code files (.py, .html, .js, etc.).
Once processing finishes, click the document to view its contents.
You can also drag and drop files directly into the Knowledge Base.
## Create a blank document
Select **Blank Document** from the **+ Add** menu. Enter the document content in the text editor and click **Save**.
## Upload folders
Select **Upload Folders** from the **+ Add** menu, then choose a folder from your computer. Cassidy preserves the folder structure and all sub-folders. All supported file types within the folder are imported.
Avoid uploading very large folders, as this may slow down your browser. Keep the upload tab open until all files finish processing.
## Import a website
Select **Import a Website** from the **+ Add** menu.
Enter the website URL in **Starting URL**, then choose a **Crawl Mode**:
* **Domain** — Crawls all pages within the domain (recommended for most users)
* **Subdomain** — Crawls all pages within the subdomain
* **Page** — Imports only the specific URL
* **Custom (Advanced)** — Uses glob patterns to target specific URL paths
Set the **Max Pages to Import** limit and choose a **Sync Frequency** (weekly for Enterprise, monthly, or disabled).
Click **Save & Begin Import**. Cassidy crawls and imports the pages, showing a confirmation when complete.
When using **Custom (Advanced)** crawl mode, you can target specific URL paths with glob patterns:
* `*` matches any characters except `/`
* `**` matches any characters including `/`
**Examples:**
* `https://example.com/docs/**` — Matches all nested paths under `/docs/` (e.g., `/docs/getting-started`, `/docs/advanced/options`)
* `https://example.com/docs/*` — Matches only direct children of `/docs/` (e.g., `/docs/intro` but not `/docs/intro/chapter-1`)
## Import from integrations
Cassidy integrates with [Google Drive](/integrations/google-workspace/google-drive/knowledge-base), [OneDrive](/integrations/microsoft-365/onedrive/knowledge-base), [SharePoint](/integrations/microsoft-365/sharepoint/knowledge-base), [Notion](/integrations/notion/knowledge-base), [Confluence](/integrations/confluence/knowledge-base), [Slack](/integrations/slack/knowledge-base), and more. Content imported from integrations syncs automatically so your Knowledge Base stays up to date.
Click **+ Add** and choose the integration (e.g., **Sync from Google Drive**).
If prompted, connect your account and authorize Cassidy to access the integration.
Select the files or folders to import.
Click **Import** to add the selected content to your Knowledge Base.
Integration sources sync automatically every 24 hours. [Enterprise plans](/integrations/sync-integrations) support more frequent syncing. Learn more about [sync schedules and options](/integrations/sync-integrations).
Browse the [full list of supported integrations](/integrations/overview) in the Integrations tab for Knowledge Base sources like Google Drive, SharePoint, Notion, Confluence, Slack, and more.
## Create an Answer Hub
Answer Hubs are curated sets of questions and answers that deliver exact responses instead of summarized search results — ideal for FAQs, product questions, or any scenario where precision matters. Select **Answer Hub** from the **+ Add** menu to create one.
For the full walkthrough, see [Answer Hubs](/knowledge-base/answer-hubs).
## Import meetings
To let an [Agent](/agents/overview) answer questions across your meeting library in [Chat](/guides/chatting-with-an-agent), the typical approach is the [Meetings Connector](/agents/connectors/meetings) — no import step. Import meeting transcripts into the Knowledge Base when you want them **in the same folders and collections** as files and other sources. For a comparison of Connector vs single-meeting chat vs import, see [Chat with your meetings](/meetings/knowledge-base). Select **Meetings** from the **+ Add** menu to get started.
For the full walkthrough, see [Import meetings to your Knowledge Base](/meetings/knowledge-base#import-meetings-to-your-knowledge-base).
## Next steps
Set up collections and folders and control who can access what.
Browse integrations and connect your apps.
Confirm your content is indexed correctly.
Give your Agent access to your company knowledge.
# Verify documents
Source: https://docs.cassidyai.com/knowledge-base/verify-documents
Review and verify documents in your Knowledge Base to ensure Agents use accurate information.
Flag outdated documents in your [Knowledge Base](/knowledge-base/overview) and deprecate them so your [Agents](/agents/overview) and [Workflows](/workflows/overview) always reference accurate, up-to-date information.
Document verification is currently available on Enterprise plans.
## Flag a document as potentially outdated
Any team member can flag a document they suspect is outdated. There are three places to flag documents:
**From chat** — When an Agent cites a source, click the dropdown on the reference and select **Flag as potentially outdated**.
**From the Knowledge Base list** — Click the ellipsis (three dots) next to a document and select **Flag as potentially outdated**.
**From the document viewer** — Open the document, click the settings icon, and select **Flag as potentially outdated**. If you own the collection, you can also **Deprecate** or remove flags directly from this menu.
You can optionally include a comment explaining why you're flagging the document.
## Review flagged documents
Collection owners can review and resolve flags from the collection homepage.
Open **Knowledge Base** in the sidebar and select the collection.
Click **Documents Flagged for Review** to see all pending flags.
For each flagged document, choose:
* **Deprecate** — The document is removed from search results and won't be used by Agents or Workflows going forward. You can optionally add a reason.
* **Ignore** — Removes the flag and keeps the document active
## Identify and manage deprecated documents
Deprecated documents display a **Deprecated** badge in the Knowledge Base. They are excluded from search results and won't be referenced by [Agents](/agents/overview) or [Workflows](/workflows/overview).
You can undeprecate a document if it becomes relevant again: click the ellipsis next to the document and select **Undeprecate**.
## Review flagged items as an admin
Organization admins can review all flagged items across collections they own from **Settings** → **Verification & Review**.
## Next steps
Upload documents, import websites, and connect integrations.
Structure your content and control who can access it.
# Customize meeting summaries
Source: https://docs.cassidyai.com/meetings/advanced/customize-meeting-summaries
Add organization-specific instructions to how Cassidy generates AI summaries for your recorded meetings, and preview the results before saving.
Cassidy automatically generates an AI summary for every recorded meeting. Custom meeting summaries let organization admins add their own instructions on top of Cassidy's defaults, so summaries better reflect how your organization likes to capture meeting notes -- for example, always flagging risks, using specific section headers, or highlighting a particular type of decision.
Configuring custom meeting summary instructions requires the **Customize
Meeting Summaries** admin privilege. Org Admins have this privilege by
default. To grant it to other team members without full Admin access, add it
to a [custom role](/settings/roles-and-groups). Accessing the **Meeting
Settings** page itself also requires the **Manage Organization Settings**
privilege.
## Turn on custom instructions
Go to **Organization Settings > Meetings > Meeting Settings**.
Scroll to **Custom Meeting Summary** and toggle on **Use custom
instructions for generating meeting summaries**.
Enter your instructions in the **Custom instructions** field.
Some examples of effective custom instructions:
* "Always include a section summarizing next steps and their owners."
* "Flag any mention of pricing, discounts, or contract terms in a dedicated 'Commercial Terms' section."
* "Write in a formal tone and avoid first-person language."
Click **Preview summary** to see how your instructions affect a real
meeting before saving. See [Preview a summary](#preview-a-summary-before-saving)
below.
Click **Save**. Your instructions will be applied to every meeting
summary generated for your organization from this point forward.
## Preview a summary before saving
The **Preview summary** button opens a two-panel dialog so you can test your instructions against a real meeting before rolling them out to your whole organization.
* **Left panel** -- Search for and select any recorded meeting you have access to. Only meetings with a completed transcript can generate a preview.
* **Right panel** -- Shows the generated summary once you click **Generate summary**.
Previewing a summary doesn't save anything to the meeting or to your
organization's settings -- it's a one-off test using whatever instructions are
currently typed in the **Custom instructions** field, even if you haven't
clicked **Save** yet.
## How custom instructions are applied
* Instructions only affect summaries generated **after** you save them. Existing meeting summaries aren't regenerated retroactively.
* Instructions apply to every meeting recorded across your organization, not just meetings you host.
* If you turn off **Use custom instructions for generating meeting summaries**, Cassidy falls back to its default summarization behavior for all future meetings.
* Anyone with the **Customize Meeting Summaries** privilege will see a note at the bottom of a meeting's summary when it was generated using your organization's custom instructions, along with a link back to this settings page.
## Next steps
Learn the basics of recording, sharing, and searching meetings in Cassidy.
Grant the Customize Meeting Summaries privilege to a custom role.
# Create and share meeting clips
Source: https://docs.cassidyai.com/meetings/clips
Clip key moments from meeting recordings, share them with teammates, and chat with the clip's transcript.
Meeting clips let you save specific segments of a recording — a key decision, a customer quote, or an action item — as standalone shareable moments. Clips include their own transcript, comment thread, and sharing controls, and you can open any clip directly in Chat to ask questions about it.
## Create a clip
Clips are created from the **Transcript** tab of any recorded meeting.
Navigate to **Meetings** in the left sidebar, click the meeting, and select the **Transcript** tab.
Click and drag to highlight the portion of the transcript you want to save. A popover appears above your selection with **Create Clip**, **Comment**, and **Copy** options.
The **Create Clip** button is disabled until the meeting recording has finished processing. If the button is greyed out, wait a moment and try again.
Click **Create Clip**. Enter a title for the clip and click **Create**.
The clip is saved and immediately available in the **Clips** tab of the meeting.
## View and manage clips
All clips for a meeting are listed in the **Clips** tab on the meeting detail page.
Each row shows the clip name, duration, timestamp range, and sharing status. Click any clip — or click the play button — to open the clip viewer.
### Clip viewer
The clip viewer shows the clipped video alongside the clip's transcript. You can:
* **Play the video** and click any transcript line to jump to that moment in the clip
* **Copy the transcript** using the **Copy Transcript** button
* **Leave comments** anchored to specific transcript moments (see [Comments on clips](/meetings/comments#comments-on-clips))
* **Share** the clip with teammates or generate a public link
* **Open in Chat** to send the clip's transcript directly to a Cassidy agent for questions and analysis
### Rename or delete a clip
Click the **...** menu on any clip row to access rename and delete options.
* **Rename** — Change the clip title
* **Delete** — Permanently remove the clip. This action requires confirmation and cannot be undone.
## Share a clip
Clips have their own sharing settings, independent from the parent meeting.
Go to the **Clips** tab and click the clip you want to share.
Click **Share** in the top right of the clip viewer.
Choose who can access the clip:
* **Restricted** — Only specific people or groups you add
* **Team** — Anyone in your organization
* **Public** — Anyone with the link, no Cassidy account required
If you chose **Restricted**, search for teammates by name or email and set their permission level to **Can view** or **Can edit**.
Click **Copy link** to copy the clip URL to share.
Public clips open in a standalone viewer that shows the video, transcript, and clip metadata — no Cassidy account needed to view them.
You need **Can edit** permission on a clip to change its sharing settings.
## Open a clip in Chat
Click **Open in Chat** at the bottom of the clip viewer to start a new conversation with the clip's transcript pre-loaded. You can ask an agent to summarize the clip, extract action items, draft a follow-up, or answer any question based on what was said.
## Next steps
Leave notes anchored to transcript moments on clips and full meetings.
Control access with sharing rules and permission levels.
Ask questions across your full meeting library using the Meetings Connector.
Connect your calendar and start recording.
# Comment on meetings
Source: https://docs.cassidyai.com/meetings/comments
Leave comments on meeting recordings, anchor notes to specific transcript moments, mention teammates, and reply in threads.
Meeting comments let your team annotate recordings directly — highlight a moment in the transcript, ask a question, flag an action item, or loop in a teammate with an @-mention. Comments appear in a panel on the meeting detail page alongside the transcript and summary.
## Leave a comment
Navigate to **Meetings** in the left sidebar and click the meeting you want to comment on.
Click the comment input at the bottom of the panel and type your message. Press **Enter** or click the send button to post it.
Hover over any comment to reveal action buttons in the top right. Click the **Reply** button (arrow icon) to open a reply input directly below that comment, then press **Enter** to post your reply. Click the **X** to dismiss without posting.
Press **Shift + Enter** to add a line break inside a comment without
submitting it.
## Anchor a comment to a transcript moment
You can link a comment to a specific section of the transcript so teammates can jump directly to that part of the recording.
Click the **Transcript** tab in the main panel to see the full conversation with speaker labels.
Click and drag to highlight the transcript text you want to comment on. A **Comment** button appears above your selection.
Click **Comment**. The selected transcript range appears as a tag in the comment input. Type your message and press **Enter** to post it.
When a comment is anchored to a transcript range, it shows a transcript snippet tag below the comment text. Clicking the tag jumps the video and transcript to that moment in the recording.
## Mention a teammate
Type **@** in the comment input to mention a team member. Cassidy autocompletes from your organization's users as you type.
If the person you're mentioning doesn't have access to the meeting, Cassidy prompts you to share the meeting with them before inserting the mention. You can choose to share or cancel.
You need edit permission on the meeting to share it with someone directly from
a mention. If you don't have edit permission, the mention is cancelled and
you'll see a message letting you know.
Mentioned users receive an email notification linking directly to the comment. See [Email notifications](#email-notifications) below.
## Delete a comment
You can only delete your own comments.
Hover over the comment and click the **Delete** button (trash icon) in the top right. A confirmation dialog appears before the comment is removed.
If a comment has active replies, deleting it shows **This comment was deleted** as a placeholder so the thread context is preserved. The placeholder disappears once all replies are also deleted.
## Email notifications
Cassidy sends email notifications to keep the conversation moving without requiring everyone to watch the page.
**Who gets notified:** Anyone who has posted a comment or been @-mentioned in the thread. The person who just posted is never notified of their own comment.
**What triggers a notification:** Any new comment or reply in a meeting thread where you've participated or been mentioned. @-mentions are highlighted in the email so it's clear when you're being called out directly.
**What the email contains:** The comment text, the meeting title, and a direct link that opens the meeting on the **Transcript** tab with the relevant comment highlighted.
### Manage notification preferences
To opt out of comment email notifications:
1. Click your avatar in the bottom left and select **Account Settings**.
2. Go to **Notifications**.
3. Toggle off **Meeting comment emails**.
## Comments on clips
Comments work the same way on [meeting clips](/meetings/clips). Open a clip from the meeting detail page and use the **Comments** panel to leave notes anchored to the clip's transcript.
Clips have their own separate comment thread from the parent meeting. Notifications for clip comments follow the same rules as meeting comments.
## Next steps
Connect your calendar and start recording.
Control who can view and edit your meetings before mentioning teammates.
Trigger Workflows automatically when a meeting ends.
Ask questions across your full meeting library using the Meetings Connector.
# Get started with Meetings
Source: https://docs.cassidyai.com/meetings/getting-started
Connect your calendar, record meetings automatically, and review transcripts, summaries, and action items.
Cassidy's Meeting Recorder captures your conversations, generates transcripts, and turns them into searchable, actionable insights. It works with Google Meet, Zoom, and Microsoft Teams. To let [Agents](/agents/overview) answer questions across your meetings in [Chat](/guides/chatting-with-an-agent), add the [Meetings Connector](/agents/connectors/meetings) — the full walkthrough is in [Chat with your meetings](/meetings/knowledge-base). You can also bring meetings into your [Knowledge Base](/knowledge-base/overview) and automate follow-ups with [Workflows](/workflows/overview).
## What you can do with Meetings
* **Record and transcribe** -- Cassidy joins your meetings automatically and generates real-time transcripts with speaker identification.
* **AI summaries and action items** -- Every recorded meeting gets an AI-generated summary with action items, discussion points, and key decisions.
* **Chat with your meetings (recommended)** -- Add the [Meetings Connector](/agents/connectors/meetings) so your team can search transcripts, read summaries, and get timestamped citations in [Chat](/guides/chatting-with-an-agent), without importing meetings into the Knowledge Base. See [Chat with your meetings](/meetings/knowledge-base) for when to use the Connector, one-meeting chat, or KB import.
* **Search and browse on the Meetings page** -- Find specific topics, decisions, or quotes across your meeting history from the **Meetings** list and filters.
* **Power Workflows** -- Automatically trigger [Workflows](/meetings/workflows) when a meeting ends to generate follow-ups, update your CRM, or post summaries to Slack.
* **Share and control access** -- Share recordings with flexible permissions and automate access with [sharing rules](/meetings/sharing-and-permissions).
## Connect your calendar
Connect your Google Calendar or Microsoft Outlook calendar so Cassidy knows which meetings to join.
Click **Meetings** in the left sidebar of your Cassidy workspace.
Click **Connect** to begin the meetings setup process.
Select **Google Calendar** or **Microsoft Outlook** from the available options.
Follow the authentication prompts for your selected calendar provider to grant Cassidy access to your calendar.
Choose which meetings Cassidy should automatically join:
* **All scheduled meetings**
* **Meetings where I am the host**
* **Meetings where participants are outside your domain**
* **Meetings where participants are within your domain**
* **Only meetings I manually select**
Click **Save and Complete Setup** to finalize your preferences.
You can change your auto-join preferences at any time from the **Settings**
tab on the Meetings page.
## Configure the meeting bot
Customize how the Cassidy meeting bot appears and behaves in your meetings. Navigate to the **Settings** tab on the Meetings page to adjust these options:
| Setting | Description |
| - | - |
| **Display name** | The name shown when the bot joins a meeting |
| **Send a message when joining** | Whether the bot sends a chat message when it enters the meeting |
| **Chat message** | The content of the message the bot sends |
| **Auto-join configuration** | Which meetings the bot joins automatically |
| **Email summary preferences** | Who receives email summaries after meetings: everyone invited, participants from your domain, only you, or no one |
Cassidy merges participants based on display name. If multiple users in your
organization use the same display name, only one additional participant
appears in the meeting, but every user's recording is captured separately.
Organization admins can configure meeting bot settings for the entire organization. Navigate to **Organization Settings** and select **Meeting Settings** from the sidebar to set defaults that apply to all team members.
## Manage upcoming meetings
Go to the **Upcoming** tab on the Meetings page to see your next meetings. You can toggle the **Cassidy will join automatically** switch off for any specific meeting to prevent the bot from joining.
For recurring meetings, you can choose to **Update only this meeting** or **Update all occurrences** when toggling auto-join.
## Add the bot to a live meeting
You can add the meeting recorder to any meeting that has already started.
From the Meetings page, click **Add to Live Meeting** in the top right.
Enter your Google Meet, Zoom, or Microsoft Teams meeting URL, optionally set a custom bot name, and click **Add**.
When the Cassidy bot attempts to join, admit it from the meeting's waiting room. Allow about 30 seconds for processing before the bot appears.
The meeting bot must be admitted by a participant or host. If no one admits
the bot, the meeting won't be recorded.
## Review a recorded meeting
After a meeting ends, Cassidy processes the recording and makes it available on your Meetings page.
Navigate to **Meetings**. The **Mine** view opens by default. Use the buttons above the list to choose which meetings to browse:
* **All** shows every meeting you can access.
* **Mine** shows meetings you recorded, joined, or were invited to without declining. A meeting you recorded or joined still appears here if you declined its invitation.
* **Shared with me** shows other meetings you can access.
Use the search bar, or press `/`, to search meeting titles and transcript text. Results may show the matching part of a transcript. Click **Filter** beside the search bar to narrow results by recording status or participant.
Click on a meeting to view its details, including date, participants, duration, and the recording.
Click the **Summary** tab to see:
* **Action items** -- Tasks identified from the conversation with owners
* **Overview** -- A concise summary of what was discussed
* **Discussion points** -- Key topics broken down by theme
Click the **Transcript** tab to see the full conversation with speaker labels. You can:
* Search through the transcript using the search bar
* Click any line to jump to that moment in the video
* Click **Sync to video** to synchronize transcript scrolling with video playback
## Disconnect your calendar
To disconnect your calendar, go to the **Settings** tab on the Meetings page, click **Disconnect**, and confirm in the popup.
## Next steps
Choose the Meetings Connector, one meeting in Chat, or Knowledge Base
import.
Trigger Workflows when a meeting ends to generate follow-ups, update your
CRM, and more.
How the Connector works and when to use Knowledge Base import instead.
Share recordings with your team and set up automated sharing rules.
Learn the basics of creating Workflows in Cassidy.
# Chat with your meetings
Source: https://docs.cassidyai.com/meetings/knowledge-base
Use the Meetings Connector on an Agent to search transcripts with citations, open one recording in Chat, or import meetings into your Knowledge Base when you need them alongside other docs.
You can talk to your meeting content in [Chat](/guides/chatting-with-an-agent) in three ways — pick the one that matches how you work.
## Choose your approach
Switch tabs to compare the three options. The sections below have the full setup for each one.
**Best for:** Questions that span many meetings — search transcripts and summaries, get answers with timestamped links back to the recording, and skip Knowledge Base import or sync setup.
[Add the Meetings Connector to an Agent ↓](#add-the-meetings-connector-to-an-agent)
**Best for:** A deep dive on a single call — quick summaries, action items, or follow-up questions without configuring an Agent.
[Chat with one meeting ↓](#chat-with-one-meeting)
**Best for:** When meeting transcripts and summaries should live in the **same** searchable library as uploads, websites, and other [Knowledge Base](/knowledge-base/overview) content — with filters and ongoing sync.
[Import meetings to your Knowledge Base ↓](#import-meetings-to-your-knowledge-base)
## Add the Meetings Connector to an Agent
Navigate to **Agents**, find the Agent you want to configure, click **...** and select **Edit**.
In the **Setup** tab, scroll to the **Connectors** section and click **+ Add**.
Find **Cassidy Meetings** in the connector list and click **+ Add**.
Click **Save** or **Publish**. No additional authentication is needed — the Connector uses each user's existing meeting permissions.
Open a chat with the Agent and ask about your meetings. The Agent searches your meeting library and responds with cited excerpts.
The Meetings Connector respects your organization's [meeting sharing and permissions](/meetings/sharing-and-permissions). Each user only sees meetings they have permission to view.
## What you can ask
**Cross-meeting questions** (with the Meetings Connector on the Agent):
* "What did we decide about the Q3 roadmap in last week's planning meeting?"
* "Summarize my call with Acme Corp from yesterday"
* "What has the engineering team said about the migration timeline across recent standups?"
* "Find all meetings where pricing was discussed in the last month"
* "What action items came out of this morning's sync?"
For questions that span many meetings, the Agent searches across multiple pages of results. Narrow the question with time ranges, participants, or meeting names when you can.
**Single-meeting questions** (after you open a meeting in Chat or tag it with **#**):
* "What were the action items from this meeting?"
* "Summarize the key decisions made"
* "What did \[person] say about the timeline?"
## Chat with one meeting
Open a recorded meeting directly in Chat when you only need context from that conversation.
Navigate to **Meetings** in the left sidebar and open the meeting you want to chat with.
Click **Open in Chat** to start a conversation with that meeting's content.
Type a prompt in the chat box. Cassidy uses the meeting's transcript and summary to answer your question.
In any chat, you can type **#** to tag a specific meeting and bring its context into the conversation, the same way you [reference Knowledge Base items](/guides/chatting-with-an-agent).
## Import meetings to your Knowledge Base
Use this path when you want meeting transcripts and summaries **in the same searchable library** as uploads, websites, and other [Knowledge Base](/knowledge-base/overview) content — for example, a folder that mixes call notes with product docs. For most “ask an Agent about our meetings” workflows, the Meetings Connector above is simpler because it reads your [meeting library](/meetings/getting-started) directly.
Click **Knowledge Base** in the left sidebar.
Select the folder or collection where you want to store your imported meetings, or stay in the main Knowledge Base area.
Click **+ New** in the top right, then choose **Meetings** from the dropdown.
Enter a descriptive name for the folder that will contain your imported meetings (e.g., "Sales Calls Q1" or "All Team Meetings").
Configure filters to choose which meetings to import. You can create AND/OR conditions based on:
* Meeting title
* Meeting owner
* Meeting owner group
* Organizer email
* Participant names
* Invitee emails
Delete conditions by clicking the trash icon next to them.
Review the meetings that match your filters to confirm you're importing the right content. Click **Save & Import** to begin.
New meetings that match your filter criteria are automatically imported as they're recorded, keeping your Knowledge Base up to date.
Check your Knowledge Base to confirm the meetings were imported. To adjust which meetings sync, click **Configure Meetings Sync** on the imported folder.
## Next steps
Overview of the Connector from the Agents documentation.
Connect your calendar, record meetings, and review transcripts.
Trigger actions automatically when meetings end.
Configure who can see recordings and transcripts.
# Manage meeting sharing and permissions
Source: https://docs.cassidyai.com/meetings/sharing-and-permissions
Control who can access meeting recordings, share individual meetings, and set up automated sharing rules.
Cassidy gives you flexible control over who can access your meeting recordings and transcripts. Meetings are automatically shared with teammates who were invited to the calendar event, and you can also share individual meetings with specific people, set organization-wide access, or create automated sharing rules that grant access based on meeting criteria.
## Share an individual meeting
By default, recorded meetings are shared with teammates in your organization who were invited to the meeting. Invited teammates get **Can view** access so they can review the recording, transcript, and summary.
Organization admins can disable this default from **Organization Settings** → **Meeting Settings** by turning off **Auto-share with invited teammates** under **Automatic Sharing**.
Navigate to **Meetings** in the left sidebar and click the meeting you want to share.
Click **Share** in the top right corner of the meeting detail page.
Choose the appropriate access level:
* **Restricted** -- Only people and groups you explicitly add can access the meeting
* **Team** -- Anyone in your organization can access the meeting
* **Public** -- Anyone on the internet with the link can view the meeting
If you selected **Restricted**, start typing names or email addresses to add specific people. For each person or group, set their permission level:
* **Can view** -- Read-only access to the recording, transcript, and summary
* **Can edit** -- Full access to modify meeting details and sharing settings
You can add groups to share with entire teams at once. See [Assign roles and groups](/settings/roles-and-groups) to learn how to create and manage groups.
Click **Create new Meeting Sharing Rule** to set up automated sharing based on meeting criteria. See [Create sharing rules](#create-sharing-rules) below for the full walkthrough.
When a sharing rule applies to a meeting, it appears under **Shared via Sharing Rules** on the meeting's share dialog so you can see how access was granted.
Click **Copy link** to share the meeting URL with anyone who has access, then click **Done**.
Public links open in a dedicated viewer that displays the video, details, summary, and transcript so anyone can review the meeting without a Cassidy account.
## Create sharing rules
Sharing rules automatically grant access to meetings that match specific criteria. Instead of sharing each meeting manually, you can set up rules so the right people always have access to the meetings they need.
From the **Meetings** page, click **Sharing rules**. You can also navigate to **Organization Settings** and click the **Meeting Sharing** tab.
Click **Add Rule** to start creating an automated sharing rule.
Enter a descriptive name for the rule (e.g., "Share sales calls with Sales team" or "Share all-hands with everyone").
Set filters to specify which meetings this rule applies to. You can create AND/OR conditions based on:
* **Meeting title** -- Match meetings by name or keyword
* **Meeting owner** -- Match by who recorded the meeting
* **Meeting owner group** -- Match by the recorder's group membership
* **Organizer email** -- Match by calendar event organizer
* **Participant names** -- Match by who attended
* **Invitee emails** -- Match by who was invited
Click **Preview** to see which past meetings would match your filter criteria.
Review the matching meetings, then click **Save & Assign Users/Groups**.
Choose the people or groups who should automatically receive access to meetings matching this rule, then click **Share**.
Click **Done** to activate the rule. Going forward, any meeting matching the rule's filters is automatically shared with the selected people and groups.
## Manage existing rules
From the sharing rules page, you can manage your rules:
* **Edit** -- Update filter conditions or change who has access
* **Duplicate** -- Create a copy to use as a starting point for a similar rule
* **Delete** -- Remove the rule (existing access granted by the rule is not revoked)
Click the **...** menu on any rule to see these options.
## Access levels at a glance
| Level | Who can access | Use case |
| - | - | - |
| **Private** | Only you (the recorder) | Sensitive one-on-ones, personal notes |
| **Restricted** | Specific people and groups you choose | Team-specific meetings, client calls |
| **Team** | Anyone in your organization | All-hands, company announcements |
| **Public** | Anyone with the link | External stakeholders, public presentations |
## Next steps
Connect your calendar and start recording.
Trigger actions automatically when meetings end.
Give Agents access to your meeting library for cross-meeting search.
Add the Meetings Connector to an Agent and control what each user can see.
Create groups to use with meeting sharing rules.
# Automate with meeting Workflows
Source: https://docs.cassidyai.com/meetings/workflows
Trigger Workflows when a meeting ends to generate follow-ups, update your CRM, and summarize key decisions.
Meeting [Workflows](/workflows/overview) let you automate tasks every time a meeting ends. Cassidy can generate follow-up emails, post summaries to Slack, update your CRM with action items, or run any other multi-step automation -- all triggered automatically from your recorded meetings.
## Create a meeting Workflow
You can create meeting Workflows from the Meetings page or from the main Workflows page.
Navigate to **Meetings** in the left sidebar, then click the **Workflows** tab.
Click **Create Meeting Workflow** in the top right to start with a blank Workflow that already has the Meeting Ended trigger configured. Or select one of the pre-built templates for common use cases like meeting summaries, follow-up emails, or CRM updates.
If you chose a template, follow the guided setup to customize it. If you started from scratch, add [actions](/workflows/building) to define what happens after a meeting ends.
Navigate to **Workflows** in the left sidebar and click **Create Workflow**.
In the Workflow builder, click the trigger block and select **Meeting Ended** from the trigger options.
Add actions to define what happens when a meeting ends. You can reference any of the [meeting variables](#meeting-variables) in your actions.
## Configure the Meeting Ended trigger
The Meeting Ended trigger fires automatically when a recorded meeting finishes. You can configure it to control which meetings run the Workflow.
When you add a Meeting Ended trigger, Cassidy asks whether to keep the Workflow shared or make it private. A shared Workflow means other team members could see meeting information from meetings they don't have access to. Click **Make Private & Continue** if that's a concern.
If you keep the Workflow shared, a warning indicator appears on the trigger block. You can make it private at any time.
Toggle **Include Shared Meetings** to run this Workflow for all meetings you can access through your organization's [sharing rules](/meetings/sharing-and-permissions). Turn this off to run the Workflow only for meetings you recorded yourself.
Click **+ Add Filter** to restrict which meetings trigger the Workflow. You can create AND/OR conditions based on:
* Meeting title
* Meeting owner
* Meeting owner group
* Organizer email
* Participant names
* Invitee emails
Click **Preview** to see which past meetings match your filter criteria.
Toggle the trigger on in the Meeting Ended trigger block.
## Meeting variables
The Meeting Ended trigger provides these variables that you can reference in any action within your Workflow:
| Variable | Description |
| - | - |
| **Title** | The meeting title from your calendar |
| **Summary** | AI-generated summary of the meeting |
| **Transcript** | Full transcript with speaker labels |
| **Recording Started At** | When the recording began |
| **Recording Ended At** | When the recording ended |
| **Internal URL** | Link to the meeting within Cassidy |
| **Organizer** | Name and email of the meeting organizer |
| **Participants** | List of participants with name, email, and host status |
| **Invitees** | List of invited attendees with name, email, and organizer status |
Reference these variables in your Workflow actions using the variable picker. For example, you can pass the **Transcript** into a "Generate Text" action to create a custom summary, or use **Participants** to send personalized follow-ups to each attendee.
## Manage meeting Workflows
You can access your meeting Workflows in two places:
* **Meetings page** -- Click the **Workflows** tab to see **My Workflows** (Workflows you created) and **Team Workflows** (Workflows shared by your team).
* **Workflows page** -- All your Workflows, including meeting-triggered ones, appear in the main Workflows list.
From either location, click a Workflow card to edit it, or use the toggle to turn it on and off.
## Common meeting Workflow ideas
Extract action items and send a personalized recap email to each participant after every call.
Pull key details from sales calls and automatically log them in HubSpot or Salesforce.
Post a meeting summary with action items to a Slack channel so the whole team stays informed.
Generate standardized meeting minutes with owners and due dates, then store them in your Knowledge Base.
## Next steps
Learn the full Workflow builder, including actions, variables, and paths.
Give Agents access to your meeting library for cross-meeting search.
Meetings Connector, single-meeting chat, or Knowledge Base import.
Set up sharing rules to automatically grant access to the right people.
Connect your calendar and start recording.
# Advanced Document Extraction
Source: https://docs.cassidyai.com/reference/actions/advanced-document-extraction
Extract text from PDFs, Word docs, PowerPoint, Keynote, and images using AI vision (OCR) in a Workflow.
Extract text from documents and images using AI vision (OCR). Use the **Advanced Document Extraction** action when a previous step in your [Workflow](/workflows/overview) outputs a **file** — such as a PDF attachment or a downloaded document — and you need that content as text for later steps like [Extract Information](/reference/actions/extract-information) or [Generate Text](/reference/actions/generate-text).
Use **Advanced Document Extraction** when your document has complex layouts
like tables or multi-column structures, poor scan quality, non-Latin scripts
with diacritics, or when accuracy is very important.
In the Workflow builder, click **+** between blocks and search for **Advanced Document Extraction** or **OCR**, then select it from the action library.
In the **Document** field, reference the file you want to read. Use **#** to [reference variables](/guides/prompt-engineering#workflow-prompts) from a previous step.
Common sources include:
* **Image uploads** from a [Manual trigger](/reference/triggers/manual) file input (images are not auto-parsed like PDFs and Word docs)
* **Email attachments** from an [Email trigger](/reference/triggers/email)
* **Downloaded files** from **Download File from URL** or integration download actions (Google Drive, SharePoint, Box, etc.)
* **Files inside a [Loop](/reference/actions/loop)** when processing multiple attachments or documents one at a time
The action outputs the extracted text as a single text variable. Reference it in subsequent actions to summarize, categorize, extract fields, or generate a response.
## Supported file types
| Type | Formats |
| - | - |
| **Documents** | PDF, Word (`.doc`, `.docx`), PowerPoint (`.pptx`), Keynote (`.key`) |
| **Images** | PNG, JPEG, WEBP, GIF |
If the file type isn't supported, the action stops the Workflow with an error.
Convert the file to a supported format before passing it in.
Under **Advanced Settings**, add **Custom Instructions** to tell the AI what to focus on or how to format the output. For example:
* `Extract all table data as markdown tables`
* `Focus on the invoice number, date, and line items only`
* `Preserve headings and bullet lists from the original document`
Custom instructions are useful when you need a specific structure rather than a full verbatim transcription.
Pair **Advanced Document Extraction** with [Extract
Information](/reference/actions/extract-information) to turn unstructured
document text into structured fields you can send to CRM actions,
spreadsheets, or email steps.
## Related
* [Extract Information](/reference/actions/extract-information)
* [Get Knowledge Base File](/reference/actions/get-knowledge-base-file)
* [Email trigger](/reference/triggers/email)
* [Create files with Workflows](/guides/create-files)
# Analyze sentiment
Source: https://docs.cassidyai.com/reference/actions/analyze-sentiment
Determine the sentiment of text — very negative, neutral, positive, or very positive — using AI.
Analyze the sentiment of text using AI. Use this to gauge the tone of customer messages, support tickets, reviews, or any text content.
In the Workflow builder, click **+** between blocks and select **Analyze Sentiment** from the action library.
In the **Text to Analyze** field, enter or reference the content you want to analyze for sentiment. Use **#** to [reference variables](/guides/prompt-engineering#workflow-prompts) from previous steps or the trigger.
The action returns one of the following sentiment classifications: **very negative**, **neutral**, **positive**, or **very positive**. You can reference this value in later steps.
Combine with [Only Continue If](/reference/actions/only-continue-if) or [Paths](/reference/actions/paths) to route your Workflow based on sentiment — for example, escalating very negative support tickets automatically.
## Related
* [Only Continue If](/reference/actions/only-continue-if)
* [Paths](/reference/actions/paths)
* [Categorize Text](/reference/actions/categorize-text)
# Categorize text
Source: https://docs.cassidyai.com/reference/actions/categorize-text
Classify text into categories you define using AI.
Classify text into predefined categories using AI. Use this to route support tickets, tag content by topic, or sort any text into groups you define.
In the Workflow builder, click **+** between blocks and select **Categorize Text** from the action library.
In the **Text to Categorize** field, enter or reference the content to classify. Use **#** to [reference variables](/guides/prompt-engineering#workflow-prompts) from previous steps or the trigger.
Under the **Categories** section, add a **Key** and **Value** pair for each category. The **Key** is a unique identifier for the category, and the **Value** provides instructions that tell the AI when to assign that category.
Combine Categorize Text with [Paths](/reference/actions/paths) to route your Workflow differently based on the assigned category.
## Related
* [Paths](/reference/actions/paths)
* [Only Continue If](/reference/actions/only-continue-if)
* [Analyze Sentiment](/reference/actions/analyze-sentiment)
# Combine text
Source: https://docs.cassidyai.com/reference/actions/combine-text
Combine and format text from multiple sources into a single output using variables and static text.
Combine and format text from multiple sources into a single output. Unlike [Generate Text](/reference/actions/generate-text), this action does not use AI — it simply concatenates the values you provide, making it fast and deterministic.
In the Workflow builder, click **+** between blocks and select **Combine Text** from the action library.
In the **Output Text** field, mix static text with variables from previous steps. Use **#** to [insert variables](/guides/prompt-engineering#workflow-prompts).
## Related
* [Generate Text](/reference/actions/generate-text)
* [Build and configure Workflows](/workflows/building)
# Create Excel from template
Source: https://docs.cassidyai.com/reference/actions/create-excel-from-template
Generate a Microsoft Excel spreadsheet from a template, filling in placeholders with Workflow data.
Creates an Excel document (.xlsx) from a template by filling in placeholders with dynamic values from your [Workflow](/workflows/overview).
With Cassidy's Excel document templates, you can:
* **Generate standardized invoice reports** that consolidate data from multiple PDF invoices into a consistent format
* **Create financial summaries** with automatically calculated totals and formatted currencies
* **Produce inventory sheets** that expand horizontally and vertically based on your data
* **Build dynamic pricing tables** that adapt to product lists of any size
* **Generate expense reports** with formulas that compute totals, taxes, and approvals
In the Workflow builder, click **+** between blocks and select **Create Microsoft Excel Document from Template** from the action library.
Click to upload your Excel document template (.xlsx file) that contains placeholders for dynamic content. See [Template placeholders](#template-placeholders) below for how to set up your template.
Provide a name for the generated Excel document. This will be the filename when the document is created. You can use variables from previous steps.
Under the **Template Fields** section, map each placeholder in your template to a variable from previous Workflow steps or trigger inputs.
For example, in an invoice summary template:
* **\{invoices}** maps to a list variable containing objects with "invoiceNumber", "totalAmount", "date", "dueDate", and "items" properties
* **\{grandTotal}** maps to a calculated total from your data processing
* **\{hasVAT}** maps to a boolean variable that controls whether to show the VAT requirements row
After running the Workflow, preview the generated Excel document and download it by clicking the icons next to the action in the results panel.
You can use the generated Excel document as an attachment in other actions like [Send Email](/reference/actions/send-email). Reference the Excel document output from this action when configuring email attachments.
## Template placeholders
Use placeholders in your Excel template to define where dynamic content should appear. Cassidy detects these placeholders when you upload the template and lets you map them to Workflow variables.
### Text placeholders
Use text placeholders to insert text, numbers, or formatted content from your Workflow data.
**Syntax:** `{variableName}`
### Conditionals
Use conditionals to display rows or cells only when certain conditions are true, or to show alternative content when conditions are false.
**Syntax:**
* Standard: `{#if:conditionName}` ... `{/if:conditionName}`
* Inverse: `{^if:conditionName}` ... `{/if:conditionName}`
The beginning and end of the conditional must be on the **same row** but in **different cells**.
### Loops
Use loops to create multiple rows or columns from arrays of data.
**Syntax:**
* Vertical loops (for rows): `{#loop:arrayName}` ... `{/loop:arrayName}` — the beginning and end must be on the **same row** but in **different cells**
* Horizontal loops (for columns): `{>loop:arrayName}` — no closing tag needed, place child properties in the same cell
To render correctly, items must be a list where each item has the necessary properties (such as `description` in this case).
### Inner loops
When the loop start and end are in the **same cell**, content repeats within that cell instead of creating new rows.
**Template:**
**Output:**
### Horizontal loops
Use the `>` prefix to expand data horizontally across columns.
**Template:**
**Output:**
### Nested loops
You can nest loops to handle multi-level data like invoices with multiple line items.
**Template:**
**Output:**
### Variable scope in loops
When you're inside a loop, you can access both properties of the current item and properties from outside the loop:
1. **Properties of the current item** — use the field names directly
2. **Properties from outside the loop** — these remain accessible
### Data format for loops
If your template has this loop structure:
```
{#loop:items}{description}{/loop:items}
```
Your data must have an array with properties that match the placeholder names exactly:
```json theme={null}
{
"items": [
{"description": "Web Design Services"},
{"description": "Monthly Hosting"}
],
"grandTotal": "$2,500.00",
"hasVAT": true
}
```
## Troubleshooting
If you see template tags like `{invoiceNumber}` in the final output, double-check that:
* The variable names in your data match the tag names exactly (case-sensitive)
* Your data is properly formatted JSON
## Related
* [Create Word from Template](/reference/actions/create-word-from-template)
* [Create PowerPoint from Template](/reference/actions/create-powerpoint-from-template)
* [Export as Excel](/reference/actions/export-as-excel)
* [Create files with Workflows](/guides/create-files)
# Create Knowledge Base document
Source: https://docs.cassidyai.com/reference/actions/create-knowledge-base-document
Create a new document in your Knowledge Base from within a Workflow.
Create a new document in your [Knowledge Base](/knowledge-base/overview) from within a [Workflow](/workflows/overview). Use this to automatically generate and store documentation, meeting notes, reports, or any content your team needs to reference later.
In the Workflow builder, click **+** between blocks and select **Create Knowledge Base Document** from the action library.
Specify the name for the new document. Use **#** to [insert variables](/guides/prompt-engineering#workflow-prompts) from previous steps or the trigger to dynamically generate the name.
In the **Document Content** field, specify the text for the document body. Reference output variables from previous steps — such as a [Generate Text](/reference/actions/generate-text) action — to populate the document with dynamically generated content.
Choose the folder or collection within your Knowledge Base where the new document should be saved.
## Related
* [Update Knowledge Base Document](/reference/actions/update-knowledge-base-document)
* [Upload Knowledge Base File](/reference/actions/upload-knowledge-base-file)
* [Knowledge Base overview](/knowledge-base/overview)
# Create PowerPoint from template
Source: https://docs.cassidyai.com/reference/actions/create-powerpoint-from-template
Generate a Microsoft PowerPoint presentation from a template, filling in placeholders with Workflow data.
Creates a PowerPoint presentation (.pptx) from a template by filling in placeholders with dynamic values from your [Workflow](/workflows/overview).
With Cassidy's PowerPoint presentation templates, you can:
* **Generate personalized client presentations** that pull account details from your CRM
* **Create dynamic Quarterly Business Reviews** with usage metrics, feedback, and roadmap updates
* **Produce sales decks** that automatically adapt content based on prospect requirements
* **Build executive summaries** that populate with data from multiple business systems
* **Generate training materials** with participant information and customized content
In the Workflow builder, click **+** between blocks and select **Create Microsoft PowerPoint Presentation from Template** from the action library.
Click to upload your PowerPoint presentation template (.pptx file) that contains placeholders for dynamic content. See [Template placeholders](#template-placeholders) below for how to set up your template.
Provide a name for the generated PowerPoint presentation. This will be the filename when the presentation is created. You can use variables from previous steps.
Under the **Template Fields** section, map each placeholder in your template to a variable from previous Workflow steps or trigger inputs.
For example, in a QBR presentation template:
* **\{clientName}** maps to your client company variable from your CRM data
* **\{date}** maps to the QBR date variable
* **\{objectives}** maps to a list variable containing objects with "objectiveTitle" and "objectiveDescription" properties
* **\{productsUsed}** maps to an array of products for a slide loop, creating separate slides for each product
* **\{feedbackFound}** maps to a boolean that controls slide visibility
* **\{betaProgramMember}** maps to a boolean that controls whether to show beta program messaging
After running the Workflow, preview the generated PowerPoint presentation and download it by clicking the icons next to the action in the results panel.
You can use the generated PowerPoint presentation as an attachment in other actions like [Send Email](/reference/actions/send-email). Reference the presentation output from this action when configuring email attachments.
## Template placeholders
Use placeholders in your PowerPoint template to define where dynamic content should appear. Cassidy detects these placeholders when you upload the template and lets you map them to Workflow variables.
### Text placeholders
Use text placeholders to insert text, numbers, or formatted content from your Workflow data.
**Syntax:** `{variableName}`
### Conditionals
Use conditionals to display sections only when certain conditions are true, or to show alternative content when conditions are false.
**Syntax:**
* Standard: `{#if:conditionName}` ... `{/if:conditionName}`
* Inverse: `{^if:conditionName}` ... `{/if:conditionName}`
### Loops
Use loops to display repeating content for arrays of data within text boxes.
**Syntax:** `{#loop:arrayName}` ... `{/loop:arrayName}`
### Slide conditionals
Use slide conditionals to show or hide entire slides based on your data.
**Syntax:** Add `{%if:conditionName}` anywhere in a text box on the slide to show that slide only when the condition is true.
### Slide loops
Use slide loops to create multiple slides from a single template slide.
**Syntax:** Add `{%loop:arrayName}` anywhere in a text box on the slide to repeat that entire slide for each item in the array.
### Section loops
Use section loops to repeat multiple slides as a group for each item in an array.
**Syntax:** In the left side panel, right-click to **Add Section**. Then include `{%loop:arrayName}` in your section name.
### Variable scope in loops
When you're inside a loop, you can access both properties of the current item and properties from outside the loop:
1. **Properties of the current item** — use the field names directly like `{productName}` and `{usageMetrics}`
2. **Properties from outside the loop** — these remain accessible like `{clientName}`
### Data format for loops
If your template has this loop:
```
{#loop:featureList}
▶ {featureDescription}
{/loop:featureList}
```
Your data must have an array with properties that match the placeholder names exactly:
```json theme={null}
{
"featureList": [
{ "featureDescription": "Advanced Analytics Dashboard" },
{ "featureDescription": "Real-time Collaboration Tools" },
{ "featureDescription": "Enhanced Security Features" }
]
}
```
## Troubleshooting
If you see template tags in the final output, double-check that the names of your template tags match the names of your data fields exactly. For example, `{clientName}` in your template must correspond to the exact field name in your data.
* Confirm `%if:` conditions reference boolean values in your data
* Verify `%loop:` references array names that exist in your data
* Check that slide control tags are placed in text boxes (not in slide notes or other areas)
## Related
* [Create Word from Template](/reference/actions/create-word-from-template)
* [Create Excel from Template](/reference/actions/create-excel-from-template)
* [Create files with Workflows](/guides/create-files)
# Create summary
Source: https://docs.cassidyai.com/reference/actions/create-summary
Summarize text content using AI, with options for length and focus area.
Summarize text content using AI. Use this action to condense long documents, meeting transcripts, email threads, or any text into a concise summary.
In the Workflow builder, click **+** between blocks and select **Create Summary** from the action library.
In the **Contents to Summarize** field, enter or reference the content you want summarized. Use **#** to [reference variables](/guides/prompt-engineering#workflow-prompts) from previous steps or the trigger.
## Related
* [Generate Text](/reference/actions/generate-text)
* [Extract Information](/reference/actions/extract-information)
# Create Word from template
Source: https://docs.cassidyai.com/reference/actions/create-word-from-template
Generate a Microsoft Word document from a template, filling in placeholders with Workflow data.
Creates a Word document (.docx) from a template by filling in placeholders with dynamic values from your [Workflow](/workflows/overview).
With Cassidy's Word document templates, you can:
* **Generate personalized contracts** that pull client details from your CRM
* **Create dynamic reports** with charts, tables, and conditional sections
* **Produce invoices** that automatically calculate totals and format line items
* **Build proposals** that adapt content based on client requirements
* **Generate certificates** with participant information from your database
In the Workflow builder, click **+** between blocks and select **Create Microsoft Word Document from Template** from the action library.
Click to upload your Word document template (.docx file) that contains placeholders for dynamic content. See [Template placeholders](#template-placeholders) below for how to set up your template.
Provide a name for the generated Word document. This will be the filename when the document is created. You can use variables from previous steps.
Under the **Template Fields** section, map each placeholder in your template to a variable from previous Workflow steps or trigger inputs.
For example, in an RFP response template:
* **\{Project Name}** maps to a text variable from your trigger or previous step
* **\{Requesting Organization}** maps to your client company variable
* **\{Requirements}** maps to a list variable containing objects with "Requirement Description" and "Solution Details" properties
* **\{Excel Uploaded}** maps to a boolean variable that controls whether to show a conditional section
After running the Workflow, preview the generated Word document and download it by clicking the icons next to the action in the results panel.
You can use the generated Word document as an attachment in other actions like [Send Email](/reference/actions/send-email). Reference the Word document output from this action when configuring email attachments.
## Template placeholders
Use placeholders in your Word template to define where dynamic content should appear. Cassidy detects these placeholders when you upload the template and lets you map them to Workflow variables.
### Text placeholders
Use text placeholders to insert text, numbers, or formatted content from your Workflow data.
**Syntax:** `{variableName}`
**Example:**
```
We look forward to discussing how SprinterSoftwareGroup can best serve {Requesting Organization}.
{Contact Information}
```
* **Inline placeholders** insert content within the same line or paragraph, like `{Requesting Organization}` above
* **Block placeholders** replace entire paragraphs with formatted content including headers, bullet points, and multi-paragraph text, like `{Contact Information}` above
### Conditionals
Use conditionals to display sections only when certain conditions are true, or to show alternative content when conditions are false.
**Syntax:**
* Standard: `{#if:conditionName}` ... `{/if:conditionName}`
* Inverse: `{^if:conditionName}` ... `{/if:conditionName}`
**Example:**
```
{#if:Excel Uploaded}
An Excel document has been attached for a detailed breakdown of requirements and responses.
{/if:Excel Uploaded}
```
### Loops
Use loops to display repeating content for arrays of data.
**Syntax:** `{#loop:arrayName}` ... `{/loop:arrayName}`
**Example:**
```
{#loop:Requirements}
{Requirement Description}
{Solution Details}
{/loop:Requirements}
```
### Variable scope in loops
When you're inside a loop, you can access both properties of the current item and properties from outside the loop:
1. **Properties of the current item** — use the field names directly
2. **Properties from outside the loop** — these remain accessible
```
Company: {Requesting Organization} ← From outside the loop
{#loop:Requirements}
Requirement: {Requirement Description} ← From current item
Solution: {Solution Details} ← From current item
Client: {Requesting Organization} ← Still accessible from outside
{/loop:Requirements}
```
### Nested loops
You can create nested loop structures for complex documents:
```
{#loop:departments}
{name} Department
{#loop:employees}
- {name} ({role})
Current Projects:
{#loop:projects}
• {projectName} - {status}
{/loop:projects}
{/loop:employees}
{/loop:departments}
```
### Data format for loops
If your template has this loop:
```
{#loop:Requirements}
{Requirement Description}
{Solution Details}
{/loop:Requirements}
```
Your data must have an array with properties that match the placeholder names exactly:
```json theme={null}
{
"Requirements": [
{
"Requirement Description": "Modern responsive design with mobile optimization",
"Solution Details": "We will implement a fully responsive design using the latest CSS frameworks."
},
{
"Requirement Description": "Content management system integration",
"Solution Details": "Our team will integrate a user-friendly CMS for easy content updates."
}
]
}
```
## Troubleshooting
If you see template tags in the final output, double-check that the names of your template tags match the names of your data fields exactly. For example, `{Project Name}` in your template must correspond to the exact field name in your data.
To avoid extra empty lines in the output, place the closing tag on the same line as your variable:
```
{#loop:Requirements}
- {Requirement Description}: {Solution Details}{/loop:Requirements}
```
## Related
* [Create Excel from Template](/reference/actions/create-excel-from-template)
* [Create PowerPoint from Template](/reference/actions/create-powerpoint-from-template)
* [Export as Word](/reference/actions/export-as-word)
* [Create files with Workflows](/guides/create-files)
# Export as CSV
Source: https://docs.cassidyai.com/reference/actions/export-as-csv
Export Workflow output as a downloadable CSV file.
Export content from a [Workflow](/workflows/overview) as a downloadable CSV file. Use this for data exports, report generation, or feeding structured data into other tools.
In the Workflow builder, click **+** between blocks and select **Export as CSV** from the action library.
Provide a name for your CSV file. You can type a name directly or reference a variable from a previous step or the trigger to dynamically name the file.
Choose the variable containing the data you want to export. This must be a list of objects, where each item in the list represents a row and each key represents a column.
You can generate structured data using actions like Generate Text with structured output fields, Run Code, or Extract Information.
Specify which columns to include in your CSV and their order. If no columns are specified, all available columns are exported. You can drag and drop to reorder columns.
## Related
* [Export as PDF](/reference/actions/export-as-pdf)
* [Export as Excel](/reference/actions/export-as-excel)
* [Create files with Workflows](/guides/create-files)
# Export as Microsoft Excel
Source: https://docs.cassidyai.com/reference/actions/export-as-excel
Export Workflow output as a downloadable Microsoft Excel spreadsheet.
Exports data from a [Workflow](/workflows/overview) to a Microsoft Excel (.xlsx) file with support for multiple sheets.
In the Workflow builder, click **+** between blocks and select **Export as Microsoft Excel Document** from the action library.
Provide a name for your Excel file. You can type a name directly or reference a variable from a previous step or the trigger to dynamically name the file.
For each sheet in your Excel document, configure the following. Click the **+** button to add additional sheets.
**Enter the sheet name** — provide a descriptive name for each sheet.
**Select the data to export** — choose the variable containing the data for this sheet. This must be a list of objects, where each item represents a row and each key represents a column.
You can generate structured data using actions like Generate Text with structured output fields, Run Code, or Extract Information.
**Configure columns to export** — specify which columns to include in this sheet and their order. If no columns are specified, all available columns are exported. You can drag and drop to reorder columns.
## Related
* [Export as CSV](/reference/actions/export-as-csv)
* [Create Excel from Template](/reference/actions/create-excel-from-template)
* [Create files with Workflows](/guides/create-files)
# Export as PDF
Source: https://docs.cassidyai.com/reference/actions/export-as-pdf
Export Workflow output as a downloadable PDF file.
Converts document content into a PDF file that can be downloaded or attached to other actions in your [Workflow](/workflows/overview).
In the Workflow builder, click **+** between blocks and select **Export as PDF** from the action library.
Provide a name for your PDF document. This will be the filename when the PDF is generated.
Define the content of your PDF document. You can mix static text with variables from the trigger or previous steps to create dynamic documents.
After running the Workflow, preview the generated PDF and download it by clicking the icons next to the action in the results panel.
You can use the generated PDF as an attachment in other actions like [Send Email](/reference/actions/send-email). Reference the PDF output from this action when configuring email attachments.
## Related
* [Export as CSV](/reference/actions/export-as-csv)
* [Export as Word](/reference/actions/export-as-word)
* [Create files with Workflows](/guides/create-files)
# Export as Microsoft Word
Source: https://docs.cassidyai.com/reference/actions/export-as-word
Export Workflow output as a downloadable Microsoft Word document.
Converts document content into a Microsoft Word file that can be downloaded or attached to other actions in your [Workflow](/workflows/overview).
In the Workflow builder, click **+** between blocks and select **Export as Microsoft Word Document** from the action library.
Provide a name for your Word document. This will be the filename when the document is generated.
Define the content of your Word document. You can mix static text with variables from the trigger or previous steps to create dynamic documents.
After running the Workflow, preview the generated Word document and download it by clicking the icons next to the action in the results panel.
You can use the generated Word document as an attachment in other actions like [Send Email](/reference/actions/send-email). Reference the Word document output from this action when configuring email attachments.
## Related
* [Export as PDF](/reference/actions/export-as-pdf)
* [Create Word from Template](/reference/actions/create-word-from-template)
* [Create files with Workflows](/guides/create-files)
# Extract information
Source: https://docs.cassidyai.com/reference/actions/extract-information
Extract specific data points from text using AI, with support for structured fields and lists.
Extract specific pieces of information from text using AI. Define the fields you want to extract and the AI pulls them from the source content. Use this to parse emails, documents, or any unstructured text into structured data.
In the Workflow builder, click **+** between blocks and select **Extract Information** from the action library.
In the **Source Text** field, provide the text you want to extract information from. Use **#** to [reference variables](/guides/prompt-engineering#workflow-prompts) from previous steps or the trigger.
Under **What to Extract**, click **+ Add Field** to create each field you want to extract from the source text.
For each field, configure the field name, type, description, and whether it's required. For detailed information on setting up fields, see [Structured Output Fields](/workflows/advanced/structured-output-fields).
Under **Advanced Options**, you can:
* **Select the AI model** — Choose which model to use for the extraction. Each model has different strengths — see [Choose an AI model](/guides/choose-ai-model) for guidance.
* **Add additional extraction instructions** — Provide specific guidance or context to help the AI extract information more accurately.
In subsequent Workflow steps, reference the specific fields from this action's output using the field names you defined. Each extracted field becomes its own variable.
Extracted fields become individual variables you can reference in later steps — making this action ideal for feeding structured data into other actions like [Update HubSpot Record](/integrations/hubspot/workflows) or [Send Email](/reference/actions/send-email).
## Related
* [Create Summary](/reference/actions/create-summary)
* [Categorize Text](/reference/actions/categorize-text)
* [Structured Output Fields](/workflows/advanced/structured-output-fields)
# Generate image
Source: https://docs.cassidyai.com/reference/actions/generate-image
Generate an image from a text description using AI within a Workflow.
Generate AI images from text descriptions directly within a [Workflow](/workflows/overview). Use this to create visuals for content, social media, presentations, or any automation that needs image assets. The output is a file reference that can be used in subsequent Workflow actions, saved to your [Knowledge Base](/knowledge-base/overview), or sent via email or other integrations.
In the Workflow builder, click **+** between blocks and select **Generate Image** from the action library.
In the **Prompt** field, describe the image you want to generate. Be specific about key elements, composition, lighting, mood, style, and colors for best results. [Reference variables](/guides/prompt-engineering#workflow-prompts) from previous steps or the trigger using **#** to create dynamic image prompts.
In the **File Name** field, specify the name for the generated image file. You can reference variables from previous steps to create dynamic file names.
In the **Quality** dropdown, select how Cassidy balances generation speed and visual precision:
* **Standard** (default) — balances visual quality and generation speed for most requests
* **High** — prioritizes visual precision and may take longer to generate
In the **Size** dropdown, select the aspect ratio for the generated image:
* **Auto** (default) — automatically determines the best aspect ratio based on your prompt
* **Square** — 1:1 aspect ratio
* **Portrait** — vertical orientation
* **Landscape** — horizontal orientation
In the **Background** dropdown, select the background type for the generated image:
* **Auto** (default) — AI determines the best background
* **Transparent** — generates an image with a transparent background
* **Opaque** — generates an image with a solid background
Run a test of your Workflow to preview the generated image and ensure it meets your expectations. Refine your prompt based on the results to achieve the desired output.
## Related
* [Image Generation capability for Agents](/agents/capabilities/image-generation)
# Generate text
Source: https://docs.cassidyai.com/reference/actions/generate-text
Generate text using an AI model with a custom prompt, optional structured output, and model settings.
Generate text using an AI model with a custom prompt. This is the most versatile action in Cassidy — use it to write content, answer questions, transform data, or any other text generation task.
This action generates text based only on your prompt and any variables you
reference. It does not automatically access your [Knowledge
Base](/knowledge-base/overview). To include Knowledge Base context, use
[Generate Text with Agent](/reference/actions/generate-text-with-agent) or add
a [Search Knowledge Base](/reference/actions/search-knowledge-base) action
before this one.
In the Workflow builder, click **+** between blocks and select **Generate Text** from the action library.
Enter the text that guides the AI model. [Reference variables](/guides/prompt-engineering#workflow-prompts) from previous steps or the trigger using the **#** symbol to provide dynamic context.
Choose the model for this step. Each model has different strengths — select the one that best fits your task (writing, reasoning, analysis, etc.). See [Choose an AI model](/guides/choose-ai-model) for guidance.
If you need the AI to return data in a specific format with defined fields, set up [structured outputs](/workflows/advanced/structured-output-fields). This gives you named fields with specific data types you can reference individually in later steps.
Enable [Conversation Memory](/workflows/advanced/conversation-memory) if you
want the Workflow to retain conversation history and carry context across
runs.
Expand the **Connectors** section and click **+ Add Connector** to let this action query live data from your business tools — like looking up records in [HubSpot](/integrations/hubspot/overview), [Salesforce](/integrations/salesforce/overview), or [Airtable](/integrations/airtable/overview). The AI decides when to use a connector based on your prompt.
Connectors on a Generate Text action work the same way as [Connectors on an Agent](/agents/connectors/overview) — the AI queries external systems in real time during execution.
Expand **Code Execution & File Creation** and turn on the setting when the
action should process file attachments, generate charts, create reports, or
edit files by writing and executing code. See [Analyze data in
Workflows](/workflows/advanced/data-analysis) for a full walkthrough.
Expand the **Capabilities** section and click **+ Add Capability** to give
this action additional abilities like [Web
Search](/agents/capabilities/web-search) or [Image
Generation](/agents/capabilities/image-generation).
Expand **Skills** and click **Add Skill** to give this AI step a published
procedure, supporting files, and tools. Adding a Skill automatically enables
**Code Execution & File Creation** for the action.
See [Use Skills in Workflow AI actions](/skills/using-skills#add-a-skill-to-a-workflow-ai-action).
Under **Advanced Model Settings**:
* **Temperature** — Controls randomness. Lower values (e.g., 0.1) produce focused results; higher values (e.g., 1.0) produce more creative outputs. Default is 0.70.
* **Include Citations** — Toggle to include Knowledge Base citations in the output.
Under the **Sample Outputs** tab, provide examples to guide the AI toward a specific style or format.
## Related
* [Generate Text with Agent](/reference/actions/generate-text-with-agent)
* [Connectors overview](/agents/connectors/overview)
* [Capabilities overview](/agents/capabilities/overview)
* [Analyze data in Workflows](/workflows/advanced/data-analysis)
* [Structured Output Fields](/workflows/advanced/structured-output-fields)
* [Conversation Memory](/workflows/advanced/conversation-memory)
* [Choose an AI model](/guides/choose-ai-model)
# Generate text with Agent
Source: https://docs.cassidyai.com/reference/actions/generate-text-with-agent
Generate text using a Cassidy Agent, which includes Knowledge Base access, brand voice, and configured capabilities.
Generate text using one of your [Agents](/agents/overview). Unlike the standard [Generate Text](/reference/actions/generate-text) action, this action uses the Agent's full configuration — including its Knowledge Base access, brand voice, instructions, and capabilities.
Use this when you want the same quality and context-awareness you get from chatting with an Agent, but inside a Workflow step.
In the Workflow builder, click **+** between blocks and select **Generate Text with Cassidy Agent** from the action library.
Enter a descriptive name to make the action easier to identify and reference as a variable in later steps.
Choose which [Agent](/agents/overview) to use for this step. The Agent's [Knowledge Base](/knowledge-base/overview) access, instructions, and brand voice will all apply.
Enter the prompt for the Agent. [Reference variables](/guides/prompt-engineering#workflow-prompts) from previous steps or the trigger using the **#** symbol to provide dynamic context.
If you need the AI to return data in a specific format with defined fields, set up [structured outputs](/workflows/advanced/structured-output-fields). This gives you named fields with specific data types you can reference individually in later steps.
Enable [Conversation Memory](/workflows/advanced/conversation-memory) if you want the Workflow to retain conversation history and carry context across runs.
Expand **Skills** and click **Add Skill** to make additional published
Skills available in this step. Action-level Skills are added to the Skills
already attached to the selected Agent.
See [Use Skills in Workflow AI actions](/skills/using-skills#add-a-skill-to-a-workflow-ai-action).
Under **Advanced Model Settings**:
* **Temperature** — Controls randomness. Lower values (e.g., 0.1) produce focused results; higher values (e.g., 1.0) produce more creative outputs. Default is 0.70.
* **Include Citations** — Toggle to include Knowledge Base citations in the output.
This action inherits [Connectors](/agents/connectors/overview), [Capabilities](/agents/capabilities/overview), [Skills](/skills/overview), and advanced settings from the selected Agent. To add tools like Web Search, configure them on the Agent itself. To enable data analysis and file generation, turn on [Code Execution & File Creation](/agents/advanced/code-execution-file-creation) for the Agent. If you need per-action control over connectors and capabilities, use the standard [Generate Text](/reference/actions/generate-text) action instead.
## Related
* [Generate Text](/reference/actions/generate-text)
* [Agents overview](/agents/overview)
* [Call a Workflow from an Agent](/agents/call-workflow)
# Get company information
Source: https://docs.cassidyai.com/reference/actions/get-company-information
Look up company details like industry, size, location, and description from a company name or domain.
Look up company details from a company name or domain. Returns information like industry, size, location, and description. Use this for lead enrichment, prospect research, or any Workflow that needs company context.
In the Workflow builder, click **+** between blocks and select **Get Company Information** from the action library.
In the **Company Domain or Profile URL** field, enter the company's LinkedIn profile URL or website domain. You can also use **#** to reference a variable from a previous step that contains the URL.
## Related
* [Write Company Description](/reference/actions/write-company-description)
* [Get LinkedIn Profile](/reference/actions/get-linkedin-profile)
# Get Knowledge Base file
Source: https://docs.cassidyai.com/reference/actions/get-knowledge-base-file
Retrieve a specific file from your Knowledge Base to use in a Workflow.
Retrieve a specific file from your [Knowledge Base](/knowledge-base/overview) to use in a [Workflow](/workflows/overview). Use this when you need the full contents of a known document rather than searching for relevant snippets.
In the Workflow builder, click **+** between blocks and select **Get Knowledge Base File** from the action library.
Choose how to reference the Knowledge Base file using one of three options:
* **Static file** — Select a specific file directly from your Knowledge Base. Best when you always need the same document, such as a company policy or standard template.
* **Knowledge Base Item Reference** — Use a variable that references a Knowledge Base item. Useful when looping through a folder and processing each file individually.
* **Dynamic Path** — Specify a file path using variables or naming conventions. Select the **Knowledge Base Collection** where the document is located, then enter the **Document Path** separated by forward slashes. Useful for grabbing files based on dynamic inputs like client names or date-based reports.
Once configured, the following variables are available in later Workflow steps:
* **File Name** — The name of the retrieved file
* **File Contents** — The full text content of the file
* **Link to File** — A direct link to the file in the Knowledge Base
* **Knowledge Base Item Type** — The type of item (e.g., "Document")
* **Knowledge Base Item** — A comprehensive object including ID, Name, Item Type, and Item Contents
## Related
* [Get Knowledge Base Folder Contents](/reference/actions/get-knowledge-base-folder-contents)
* [Search Knowledge Base](/reference/actions/search-knowledge-base)
* [Knowledge Base overview](/knowledge-base/overview)
# Get Knowledge Base folder contents
Source: https://docs.cassidyai.com/reference/actions/get-knowledge-base-folder-contents
Retrieve the list of files within a Knowledge Base folder to use in a Workflow.
Retrieve the contents of a [Knowledge Base](/knowledge-base/overview) folder within a [Workflow](/workflows/overview). Returns a list of files in the folder that you can loop over or reference.
In the Workflow builder, click **+** between blocks and select **Get Knowledge Base Folder Contents** from the action library.
Choose how to reference the Knowledge Base folder using one of three options:
* **Static folder** — Select a specific folder directly from your Knowledge Base. Best when you always need the same folder, such as a client's document folder or a specific project directory.
* **Knowledge Base Item Reference** — Use a variable that references a Knowledge Base folder. Useful for dynamically selecting folders based on client names or project IDs from previous Workflow steps.
* **Dynamic Path** — Specify a folder path using variables or naming conventions. Select the **Knowledge Base Collection** where the folder is located, then enter the **Folder Path** separated by forward slashes. Useful for accessing folders based on dynamic inputs like client names or date-based directories.
Once configured, the following variables are available in later Workflow steps:
* **Folder Name** — The name of the retrieved folder
* **Link to Folder** — A direct link to the folder in the Knowledge Base
* **Knowledge Base Item Type** — The type (e.g., Folder, Collection)
* **Folder Contents** — A list of the item names within the folder
**Common pattern: Loop + Get Knowledge Base File**
A powerful combination is to use **Get Knowledge Base Folder Contents** with a [Loop](/reference/actions/loop) and [Get Knowledge Base File](/reference/actions/get-knowledge-base-file) to process each file in a folder individually. For example, retrieve a client folder containing multiple contracts and proposals, then loop through each document to generate summaries or extract key terms.
1. Use **Get Knowledge Base Folder Contents** to retrieve all files in a folder
2. Add a **Loop** action that iterates over the folder contents
3. Within the Loop, use **Get Knowledge Base File** to retrieve each individual file's content
4. Process each file (e.g., summarize, extract information, or analyze)
## Related
* [Get Knowledge Base File](/reference/actions/get-knowledge-base-file)
* [Loop](/reference/actions/loop)
* [Knowledge Base overview](/knowledge-base/overview)
# Get LinkedIn profile
Source: https://docs.cassidyai.com/reference/actions/get-linkedin-profile
Retrieve LinkedIn profile information from a LinkedIn URL.
Retrieve LinkedIn profile information from a profile URL. Returns details like job title, company, experience, and education. Use this for prospect research, candidate screening, or lead enrichment.
In the Workflow builder, click **+** between blocks and select **Get LinkedIn Profile** from the action library.
In the **Profile URL** field, enter the LinkedIn profile URL or use **#** to reference a URL variable from a previous step or trigger.
## Related
* [Summarize LinkedIn Profile](/reference/actions/summarize-linkedin-profile)
* [Get Company Information](/reference/actions/get-company-information)
# Loop
Source: https://docs.cassidyai.com/reference/actions/loop
Run a set of actions repeatedly over a list of items — process each item individually then combine the results.
Run a set of actions over each item in a list. Use this to process multiple records, URLs, files, or any collection of data — each item goes through the same sequence of actions, and the results are combined at the end.
Loop is an advanced feature. If you need help setting it up for your use case, reach out to our team at [support@cassidyai.com](mailto:support@cassidyai.com).
## Prerequisites
You need a list variable to loop over. You can get one from:
* **Extract Information** with the "List" option checked
* Trigger inputs with **Allow multiple values** enabled
* **Run Code** actions that output lists
* Structured outputs from other actions
* Actions that return multiple records (like CRM lookups)
Or you can enter hardcoded items directly.
In the Workflow builder, click **+** between blocks and select **Loop** from the action library.
Once added, the Loop appears in your Workflow with a dedicated area for inner actions:
In **List of Items to Loop Over**, choose how to provide the list:
1. **Select an existing list variable** — Click the field, choose **Select a variable**, and pick a list variable from a previous step or trigger.
2. **Enter hardcoded items** — Click the pencil icon to switch to manual entry. Type an item or click **#** to reference a variable, then click **Add**. Repeat for each item.
Click **+** inside the Loop to add actions that run for each item. For each item in the list, these actions run once — so if your list contains 3 items, the Loop runs 3 times.
To pass the current item to an action, select the **Current item** variable from the **Loop** section of the variable selector.
You can add multiple actions inside the Loop — each item goes through the full sequence.
Choose how results from each iteration are combined:
* **Default** — Concatenates all outputs from each iteration into a single merged result.
* **Custom Text** — Define a template for how each iteration's output is formatted. Use **#** to reference variables from the loop's inner actions.
Choose a **separator** to place between individual loop results when merging: **New Line**, **Dashed Line**, or **Comma-Separated**.
* **Select Specific Variables** — Choose which variables to return as lists, with one value per iteration (in order). Useful when you need a clean list of outputs for later steps (e.g., titles, URLs, IDs, or files).
After the Loop, reference its output in subsequent actions. The combined output is available as a single variable.
After running the Workflow, click the numbered icon on the Loop step to inspect each iteration. Open any individual loop to see the result and output of each action within that iteration.
## Related
* [Extract Information](/reference/actions/extract-information)
* [Get Knowledge Base Folder Contents](/reference/actions/get-knowledge-base-folder-contents)
* [Build and configure Workflows](/workflows/building)
# Only continue if
Source: https://docs.cassidyai.com/reference/actions/only-continue-if
Stop a Workflow if specified conditions are not met — use it to filter, gate, or conditionally halt execution.
Stop a [Workflow](/workflows/overview) from continuing if one or more conditions are not met. Use this to gate execution — for example, only proceed if a support ticket is marked as high priority, or if a sentiment analysis returned "Negative."
In the Workflow builder, click **+** between blocks and select **Only Continue If** from the action library.
Click **Add Condition** and configure:
1. **Field** — The variable to evaluate (from a previous step or the trigger)
2. **Operator** — The comparison type (Equals, Contains, etc.)
3. **Value** — The value to compare against
For example: If `#Analyze Sentiment of Ticket` contains `Negative`, continue.
Click **Add Condition** to add additional conditions. **All** conditions must be met for the Workflow to continue. If any condition fails, the Workflow stops.
Need different branches instead of just stop/continue? Use [Paths](/reference/actions/paths) to route your Workflow down different paths based on conditions.
## Related
* [Paths](/reference/actions/paths)
* [Build and configure Workflows](/workflows/building)
# Paths
Source: https://docs.cassidyai.com/reference/actions/paths
Branch your Workflow into multiple conditional paths based on if/then rules you define.
Branch your [Workflow](/workflows/overview) into multiple paths based on conditions. Unlike [Only Continue If](/reference/actions/only-continue-if) (which stops or continues), Paths lets you route execution down different branches — each with its own set of actions.
In the Workflow builder, click **+** between blocks and select **Paths** from the action library.
Give each path a descriptive name to clarify its purpose. This makes the Workflow easier to read and the path output easier to reference in later steps.
Define the conditions that determine when each path runs. Click **Add Condition** within a path tab and configure:
1. **Field** — The variable to evaluate (from a previous step or the trigger)
2. **Operator** — The comparison type (Equals, Contains, etc.)
3. **Value** — The value to compare against
Add multiple conditions to a path by clicking the **And** or **Or** buttons:
* **And** — Both conditions must be true for the path to run
* **Or** — The path runs if either condition is true
Click the **+** icon next to the path tabs to add additional paths. Each path should have its own conditions.
By default, the last path has **Run if no other paths are run** toggled on, making it a catch-all that executes when no other path's conditions are met. You can turn this toggle off and set specific conditions for the last path instead.
If you turn off the catch-all toggle, it's possible that no paths will run if none of the conditions are met.
Click **+** inside each path to add the actions that should run when that path's condition is met. You can define a different set of actions for each path.
Toggle on **Customize Output** in each path's settings and click **Customize Output** at the bottom of the tab to define what the path returns. This is especially useful when referencing the path's output in later steps — customizing the output ensures each path produces a uniform result.
When referencing path output in subsequent steps, use **Customize Output** so each path produces a consistent format.
Only one path runs per execution. After the Paths action, add subsequent actions and reference the path output as a single variable — it contains the output from whichever path ran.
## Related
* [Only Continue If](/reference/actions/only-continue-if)
* [Categorize Text](/reference/actions/categorize-text)
* [Build and configure Workflows](/workflows/building)
# Rename workflow run
Source: https://docs.cassidyai.com/reference/actions/rename-workflow-run
Give each Workflow run a clear, recognizable name using fixed text and variables, so your team can quickly identify it in run history.
Give the current [Workflow](/workflows/overview) run a custom name so it is easier to find in run history. Use fixed text, information from the trigger, or variables from earlier actions to create a meaningful name for every run.
For example, a customer onboarding Workflow could name each run `Onboarding - Acme`, where `Acme` comes from the customer name in the trigger.
In the Workflow builder, click **+** where you want to rename the run, then select **Rename Workflow Run** from the action library.
In **Run Name**, enter the text you want to use. Press **#** to add variables from the trigger or earlier actions.
For example, combine `Follow-up - ` with a company name variable to create names such as `Follow-up - Acme`.
When the action runs, Cassidy updates the name shown for that run. Open the Workflow's run history to find the run by its new name.
## Things to know
* Run names can contain up to 1,000 characters. Cassidy shortens longer names automatically.
* If **Run Name** is empty after the variables are filled in, Cassidy removes the run's custom name.
* If the Workflow renames the same run more than once, the most recent completed rename becomes the displayed name.
Avoid placing **Rename Workflow Run** inside a [Loop](/reference/actions/loop)
when you need a predictable final name. Loop items can run at the same time,
so any item may finish last and determine the run name. Place the action after
the Loop instead.
## Related
* [Build and configure Workflows](/workflows/building)
* [Run and test Workflows](/workflows/running-and-testing)
* [Loop](/reference/actions/loop)
# Request approval to continue
Source: https://docs.cassidyai.com/reference/actions/request-approval
Pause a Workflow and request approval from a team member before proceeding — use it for sign-off on sensitive actions.
Pause a [Workflow](/workflows/overview) and request approval from a team member before the next step executes. Use this for sign-off on sensitive actions — like sending an email to a customer, updating a CRM record, or publishing content.
In the Workflow builder, click **+** between blocks and select **Request Approval to Continue** from the action library.
Choose team members who will be notified to approve this step. If no approvers are selected, the request is sent to the user who triggered the Workflow.
Provide a clear subject line that describes what needs approval. Use **#** to [insert variables](/guides/prompt-engineering#workflow-prompts) from previous steps.
Write the message that approvers will see in the email notification. Use **#** to reference variables from previous steps so the approver has full context on what they're reviewing.
## How approvers respond
When the Workflow reaches this action, selected approvers receive an email notification with the approval request.
Approvers can also manage approval requests directly in the Cassidy Workflow UI.
The approver clicks **Approve** to continue the Workflow, **Dismiss** to stop it, or **View in Run** to review the full context in the Cassidy UI.
If the approver clicks **Approve**, the Workflow continues to the next step. If they dismiss the request, the Workflow stops executing.
## Related
* [Request Input from Team](/reference/actions/request-input)
* [Build and configure Workflows](/workflows/building)
# Request input from team
Source: https://docs.cassidyai.com/reference/actions/request-input
Pause a Workflow and request input from a team member before continuing — use it for human-in-the-loop steps.
Pause a [Workflow](/workflows/overview) and send a request to a team member for input before continuing. Use this for human-in-the-loop steps where you need someone to provide additional information, review content, or make edits mid-Workflow — for example, generating a draft email and requesting a team member to review and edit it before sending.
In the Workflow builder, click **+** between blocks and select **Request Input from Team** from the action library.
Choose team members who will be notified to provide input. If no recipients are selected, the request is sent to the user who triggered the Workflow.
Provide a clear subject line that describes what input is needed. Use **#** to [insert variables](/guides/prompt-engineering#workflow-prompts) from previous steps.
Write the message that recipients will see in the email notification. Use **#** to reference variables from previous steps to provide context about what input is needed.
Configure the fields that recipients will fill out. Click **+ Add** and choose one of two options:
* **New Blank Input** — The recipient provides new information to use in subsequent Workflow steps (e.g., additional email recipients, extra notes). Configure the input type and label the same way you would for a [Manual Trigger](/reference/triggers/manual).
* **Edit Existing Value** — The recipient can edit an output from a previous step (e.g., a generated email body before it's sent). Select the **Existing Value** (a variable from a previous step), then enter the **Input Field Name** and optionally a description under **Advanced Settings**.
Reorder inputs by dragging and dropping them into position. Click the pencil icon to edit an input, or the trash icon to delete it.
Use the collected inputs as variables in subsequent Workflow steps. Each input you configured is available as its own variable.
## How recipients respond
When the Workflow reaches this action, selected recipients receive an email notification with the input request.
Recipients can also manage input requests directly in the Cassidy Workflow UI.
The recipient clicks **Open Input Form** to fill in the fields and make any edits, then clicks **Submit**. They can also click **Dismiss** to cancel the request, or **View in Run** to review it in the Cassidy UI.
After submitting, the recipient sees a confirmation and the Workflow continues to the next step with the collected data available as variables.
## Related
* [Request Approval to Continue](/reference/actions/request-approval)
* [Build and configure Workflows](/workflows/building)
# Research Agent
Source: https://docs.cassidyai.com/reference/actions/research-agent
Use an AI research agent to autonomously gather and synthesize information from the web on any topic.
Use an AI research agent to autonomously search the web, gather information, and synthesize findings into a comprehensive report. Unlike more predefined actions, the Research Agent can navigate the internet, find and analyze information, and adapt to deliver the results you need — whether that's competitor analysis, lead generation, or market research.
There are two ways to use the Research Agent action: **pre-built agents** and **custom agents**.
* **Pre-built Research Agents** come with predefined instructions designed for common use cases, making them easy to set up and use.
* **Custom Research Agents** let you provide your own instructions, giving you more flexibility and control over the agent's behavior.
## Pre-built Research Agents
Pre-built agents handle common research tasks out of the box. In this example, we'll use the "Find LinkedIn Company Profile" agent.
In the [Workflow](/workflows/overview) builder, click **+** between blocks and select **Research Agent** from the action library. Choose a pre-built agent from the list.
Enter the information required by the specific pre-built agent. For the LinkedIn Company Profile example, input the **Company Name** and **Company Website**. You can [reference variables](/guides/prompt-engineering#workflow-prompts) from previous steps using **#**.
The agent instructions are pre-populated and will automatically use the inputs you provided. To see what steps the agent will take, open the **Advanced Options** tab to view the **Instructions for the Research Agent** field. You can also select a different **AI Model** from this tab.
If you want to modify the default instructions, click **Convert to custom Research Agent (Advanced)**. This creates a custom research agent that you can fully edit — see the custom agent steps below.
Optionally, use [structured output fields](/workflows/advanced/structured-output-fields) to have the AI return data in a specific format. Define field names, data types, and formats to get consistent, structured results.
When you run the [Workflow](/workflows/overview), the Research Agent output displays the information you requested. Open the **Research Agent Details** to see the confidence level, reasoning behind the result, and the steps the agent took to obtain the information.
## Custom Research Agents
Custom agents let you write your own instructions for full control over the research task.
In the [Workflow](/workflows/overview) builder, click **+** between blocks and select **Research Agent** from the action library. Choose **Custom Research Agent**.
Provide detailed instructions describing the task you want the agent to perform. The agent can search the internet, scrape webpages, and perform multiple steps autonomously.
When writing instructions:
* Be specific about the desired response and potential information sources
* [Reference variables](/guides/prompt-engineering#workflow-prompts) using **#** to provide necessary context
* Include the order of operations and directions
* Specify when assumptions can be made and what the agent shouldn't do
* Define the expected output format (e.g., "valid domain" for a positive case or "no results found" for a negative case)
Choose the **AI Model** to customize the Research Agent's performance based on your specific needs.
Optionally, set up [structured output fields](/workflows/advanced/structured-output-fields) to have the AI return data in a specific format with defined field names, data types, and formats for consistent results.
Run the [Workflow](/workflows/overview) and review the output to ensure it meets your expectations. Check the **Research Agent Details** for the confidence level, reasoning, and the steps taken. Refine the instructions if needed for better results.
## Related
* [Search Internet](/reference/actions/search-internet)
* [Scrape Webpage](/reference/actions/scrape-webpage)
* [Deep Research for Agents](/agents/deep-research)
# Run code
Source: https://docs.cassidyai.com/reference/actions/run-code
Execute custom JavaScript code within a Workflow to transform data, perform calculations, or implement custom logic.
Execute custom JavaScript code within a [Workflow](/workflows/overview). Use this for data transformations, calculations, API calls, or custom logic that can't be handled by other actions. Your code runs in a secure, sandboxed environment.
In the Workflow builder, click **+** between blocks and select **Run Code** from the action library.
Click **Advanced Settings** to access additional configuration. In the **NPM Packages** section, search and select any JavaScript libraries you need for your code. Dayjs (date formatting) and axios (HTTP requests) are included by default.
In the code editor, write your custom JavaScript code. [Reference variables](/guides/prompt-engineering#workflow-prompts) from previous steps or the trigger using **#** to use data from earlier in the Workflow. For managing secret API keys or other secure information, see [Secret Keys](/workflows/advanced/secret-keys).
When using NPM packages, include the import statement at the top of your code.
Optionally, click **Edit with Copilot** above the code editor to have AI write or modify code for you.
Enter a prompt describing what you want the code to do.
Submit your prompt and Copilot generates the code. Review the result and adjust as needed.
The return value of your JavaScript code becomes the output of the action. In the **Output Fields** section, you have two options:
* **Auto-detect from code** (recommended): When enabled, Cassidy analyzes the return statement in your code to automatically determine available outputs. These detected fields appear in the **Detected Fields** section and can be referenced in later Workflow steps.
* **Define output fields manually**: Toggle off **Auto-detect from code** to manually add fields. Click **+ Add Field** to specify the field name and data type for each output value. For more details, see [Structured Output Fields](/workflows/advanced/structured-output-fields).
## Working with files in Run Code
The Run Code action supports reading, creating, transforming, and outputting files using the built-in `CassidyFile` class and the `cassidy.files` helper methods. This lets you process file data, generate new files, download files from URLs, and pass files to subsequent Workflow steps.
### Inputting files
To work with a file variable from a previous Workflow step, wrap the variable in the `CassidyFile` constructor:
### Working with files
The `CassidyFile` class provides several convenience methods to get the content in different formats, including as a string, in base64, or as a buffer:
The `cassidy.files` object also provides convenience methods for constructing and working with files:
### Outputting files
To output files from the action, return them in the output object. These will be available to use in later actions of the Workflow:
The returned file can then be referenced as a variable in subsequent Workflow steps, such as Upload Knowledge Base File or any other action that accepts file inputs.
For more information on creating files across Cassidy, see [How to create files in Cassidy](/guides/create-files).
## Related
* [Build and configure Workflows](/workflows/building)
* [Secret Keys](/workflows/advanced/secret-keys)
* [Structured Output Fields](/workflows/advanced/structured-output-fields)
* [How to create files in Cassidy](/guides/create-files)
# Scrape company LinkedIn posts
Source: https://docs.cassidyai.com/reference/actions/scrape-company-linkedin-posts
Retrieve recent LinkedIn posts from a company page for competitive intelligence or content research.
Retrieve recent LinkedIn posts from a company page. Use this for competitive intelligence, content research, or keeping tabs on what companies in your market are sharing.
In the Workflow builder, click **+** between blocks and select **Scrape Company LinkedIn Posts** from the action library.
In the **Company Domain or Profile URL** field, enter the company's domain (e.g., `cassidyai.com`) or their full LinkedIn profile URL (e.g., `https://www.linkedin.com/company/cassidyai/`). You can type it directly or use **#** to reference a variable from a previous step or trigger.
Choose the maximum number of posts to retrieve from the company's LinkedIn page.
## Related
* [Get Company Information](/reference/actions/get-company-information)
* [Search Internet](/reference/actions/search-internet)
# Scrape webpage
Source: https://docs.cassidyai.com/reference/actions/scrape-webpage
Extract the text content from a webpage URL within a Workflow.
Extract the text content from a webpage URL within a [Workflow](/workflows/overview). Use this to pull content from specific pages for summarization, analysis, or processing.
In the Workflow builder, click **+** between blocks and select **Scrape Webpage** from the action library.
In the **URL to Scrape** field, enter the URL of the webpage you want to scrape. This can be a hardcoded value or a [variable reference](/guides/prompt-engineering#workflow-prompts) from a previous step or trigger using **#**.
## Related
* [Search Internet](/reference/actions/search-internet)
* [Research Agent](/reference/actions/research-agent)
# Search internet
Source: https://docs.cassidyai.com/reference/actions/search-internet
Search the internet for real-time information on any topic from within a Workflow.
Search the internet for real-time information from within a [Workflow](/workflows/overview). Use this to find current data, news, competitor information, or any publicly available content.
In the Workflow builder, click **+** between blocks and select **Search Internet** from the action library.
In the **Search Query** field, enter the query you want to search the internet for. [Reference variables](/guides/prompt-engineering#workflow-prompts) from previous steps or the trigger using **#** to make the search dynamic.
Choose the **Timeframe** for the search results. This narrows down results to the most relevant and up-to-date information.
## Related
* [Scrape Webpage](/reference/actions/scrape-webpage)
* [Research Agent](/reference/actions/research-agent)
# Search Knowledge Base
Source: https://docs.cassidyai.com/reference/actions/search-knowledge-base
Search your Cassidy Knowledge Base for relevant information and optionally generate an AI-powered answer.
Search your [Knowledge Base](/knowledge-base/overview) for information relevant to a query. Use this to retrieve company knowledge within a Workflow — either as raw search results or as an AI-generated answer with citations.
In the Workflow builder, click **+** between blocks and select **Search Knowledge Base** from the action library.
In the **Search Query** field, enter a question or search term. [Reference variables](/guides/prompt-engineering#workflow-prompts) from previous steps or the trigger using **#** to make the query dynamic.
Expand the advanced settings section to access additional options:
* **Generate an AI answer** — When on, returns an AI-generated answer using Knowledge Base context. When off, returns a list of summarized search results instead.
* **Show Knowledge Base References** — Controls whether source references appear in the output.
* **Result Count** — Select how many search results to retrieve (only applies when **Generate an AI answer** is off).
Choose which parts of your Knowledge Base to search. If no scope is selected, the search includes all available content.
When **Generate an AI answer** is on, the output is a single AI-generated response with citations. When it's off, the output is a list of summarized search results:
## Related
* [Knowledge Base overview](/knowledge-base/overview)
* [Set up your Knowledge Base](/knowledge-base/setup)
* [Generate Text](/reference/actions/generate-text)
# Send API request
Source: https://docs.cassidyai.com/reference/actions/send-api-request
Send an HTTP request to any external API endpoint from within a Workflow.
Send an HTTP request to any external API from within a [Workflow](/workflows/overview). Use this to connect to services that don't have a native Cassidy integration, or to interact with custom APIs.
In the Workflow builder, click **+** between blocks and select **Send API Request** from the action library.
In the **URL** field, enter the destination for the API request. You can hardcode the URL or use **#** to [insert variables](/guides/prompt-engineering#workflow-prompts) from previous steps or the trigger to build it dynamically.
Choose the HTTP method that matches your API endpoint's requirements:
* **GET** — Retrieve data
* **POST** — Create a new resource
* **PUT** — Replace an existing resource
* **PATCH** — Partially update a resource
* **DELETE** — Remove a resource
If the API requires specific headers (such as authentication or content type), click **+ Add Header**. Fill in the **Key** and **Value** fields for each header. You can reference variables in header values using **#**.
For sensitive values like API keys, use [Secret Keys](/workflows/advanced/secret-keys) instead of pasting credentials directly.
Click the trash icon next to a header to remove it.
Depending on the HTTP method, you may need to include a request body. Click **+ Add Body Field** and fill in **Key** and **Value** pairs. You can reference variables in body values using **#**.
If you need full control over the JSON structure, click **Switch to raw body input** to enter your own JSON object directly.
The response body and status code are available as variables in subsequent steps.
For sensitive values like API keys, use [Secret Keys](/workflows/advanced/secret-keys) instead of hardcoding credentials in your Workflow.
## Related
* [Secret Keys](/workflows/advanced/secret-keys)
* [Webhooks](/integrations/webhooks)
* [Connect non-native apps](/integrations/connect-non-native-apps)
# Send email
Source: https://docs.cassidyai.com/reference/actions/send-email
Send an email directly from a Workflow using Cassidy's built-in email sender.
Send an email directly from a [Workflow](/workflows/overview) using Cassidy's built-in email sender. Use this for notifications, alerts, or any email that doesn't need to come from a specific inbox. For sending from your own email account, use [Send Email with Gmail](/integrations/google-workspace/gmail/workflows) or [Send Email with Outlook](/integrations/microsoft-365/outlook-email/workflows).
In the Workflow builder, click **+** between blocks and select **Send Email** from the action library.
In the **Send To** field, select members of your organization to receive the email. If left blank, the email is sent to the user who triggered the Workflow.
You can also click the pencil icon to switch to a text input where you enter a comma-separated list of email addresses. Recipients must use the same domain as your organization. Click the pencil icon again to switch back to the dropdown.
In the **Subject** field, enter the subject line for your email. Use **#** to [insert variables](/guides/prompt-engineering#workflow-prompts) from previous steps or the trigger.
In the **Email Body** field, enter the content of your message. Use **#** to reference variables and personalize the email.
Select variables from previous trigger inputs or action outputs to include as attachments. For example, you can attach files from [Export as PDF](/reference/actions/export-as-pdf) or [Export as Microsoft Word Document](/reference/actions/export-as-word) actions.
## Reply to email trigger messages
When your Workflow uses an [Email trigger](/reference/triggers/email), the Send Email action can reply directly to the incoming email thread. Enable **Reply to Trigger Email** in the action settings to automatically thread the response, preserve CC recipients, and set the reply-to address to your Workflow's dedicated email address.
If your Email trigger uses a [custom email address](/reference/triggers/email#custom-address-and-organization-restrictions), replies will use that custom address as the reply-to, keeping the conversation consistent for the sender.
## Related
* [Email trigger](/reference/triggers/email)
* [Deploy an Agent via email](/agents/deploy/email)
* [Gmail Workflows](/integrations/google-workspace/gmail/workflows)
* [Outlook Workflows](/integrations/microsoft-365/outlook-email/workflows)
# Summarize LinkedIn profile
Source: https://docs.cassidyai.com/reference/actions/summarize-linkedin-profile
Generate an AI summary of a LinkedIn profile from a profile URL.
Generate an AI-powered summary of a LinkedIn profile from a URL. Returns a concise overview of the person's background, experience, and expertise. Use this to quickly understand a prospect, candidate, or meeting attendee.
In the Workflow builder, click **+** between blocks and select **Summarize LinkedIn Profile** from the action library.
In the **LinkedIn Profile URL** field, enter the URL of the LinkedIn profile you want to summarize. You can paste the URL directly or use **#** to reference a variable from a previous step or trigger.
## Related
* [Summarize LinkedIn Profile from Name and Email](/reference/actions/summarize-linkedin-profile-from-name-and-email)
* [Get LinkedIn Profile](/reference/actions/get-linkedin-profile)
# Summarize LinkedIn profile from name and email
Source: https://docs.cassidyai.com/reference/actions/summarize-linkedin-profile-from-name-and-email
Find and summarize a LinkedIn profile using a person's name and email address.
Find and summarize a LinkedIn profile using a person's name and email address — no LinkedIn URL needed. Cassidy locates the profile and generates a concise summary. Use this in lead enrichment Workflows where you have contact info but not a direct LinkedIn link.
In the Workflow builder, click **+** between blocks and select **Summarize LinkedIn Profile from Name and Email** from the action library.
In the **Name** field, enter the full name of the person whose LinkedIn profile you want to summarize. You can type the name directly or use **#** to reference a variable from a previous step or trigger.
In the **Email Address** field, enter the email address associated with the person. You can type it directly or use **#** to reference a variable from a previous step or trigger.
## Related
* [Summarize LinkedIn Profile](/reference/actions/summarize-linkedin-profile)
* [Get LinkedIn Profile](/reference/actions/get-linkedin-profile)
# Text to speech
Source: https://docs.cassidyai.com/reference/actions/text-to-speech
Generate speech from text in a Workflow using static or dynamic content, with control over input limits, file naming, and generated audio.
Generate speech from text directly within a [Workflow](/workflows/overview). Use the generated audio in later Workflow actions, attach it to an email, or download it from the run results.
In the Workflow builder, click **+** between blocks and select **Text to Speech** from the action library.
In the **Text** field, enter the content you want Cassidy to read aloud. You can [reference variables](/workflows/building#variables) from the trigger or previous actions to generate audio from dynamic content.
Text to Speech accepts up to 4,096 characters. Some text may exceed the supported length even below that character count. If the final text is too long, the action stops and asks you to shorten it. Cassidy does not truncate the text or create a partial audio file.
In the **File Name** field, enter a name for the generated audio file. Cassidy
adds the `.mp3` extension automatically when needed. If you leave this field
blank, Cassidy creates a timestamped file name.
Run a test of your Workflow. When the action succeeds, the result contains an MP3 file that you can play or download. Click the generated output to listen to the audio.
Reference the Text to Speech output anywhere a later action accepts a file. For example, attach the MP3 to a [Send Email](/reference/actions/send-email) action.
## Related
* [Build a Workflow](/workflows/building)
* [Run and test Workflows](/workflows/running-and-testing)
* [Generate Image action](/reference/actions/generate-image)
# Translate text
Source: https://docs.cassidyai.com/reference/actions/translate-text
Translate text from one language to another using AI.
Translate text between languages using AI. Use this to localize content, translate customer messages, or convert any text to a target language.
In the Workflow builder, click **+** between blocks and select **Translate Text** from the action library.
In the **Text to Translate** field, enter or reference the content you want to translate. Use **#** to [reference variables](/guides/prompt-engineering#workflow-prompts) from previous steps or the trigger.
Choose the language you want the text translated into from the **Target Language** dropdown.
## Related
* [Generate Text](/reference/actions/generate-text)
# Update Knowledge Base document
Source: https://docs.cassidyai.com/reference/actions/update-knowledge-base-document
Update an existing document in your Knowledge Base from within a Workflow.
Update an existing document in your [Knowledge Base](/knowledge-base/overview) from within a [Workflow](/workflows/overview). Use this to keep documentation current automatically — for example, appending meeting notes to a running document or updating a FAQ page.
In the Workflow builder, click **+** between blocks and select **Update Knowledge Base Document** from the action library.
Choose how to reference the document using one of three options:
* **Static Document** — Select a specific document directly from your Knowledge Base. Best for keeping a running document like a feedback log.
* **Knowledge Base Item Reference** — Use a variable that references a Knowledge Base item. Useful when the document to update is a trigger input — for example, augmenting an existing document with a generated summary or FAQ.
* **Dynamic Path** — Specify a document path using variables or naming conventions. Select the **Knowledge Base Collection**, enter the **Document Path** separated by forward slashes, and toggle **Create if Not Found** to create the document and any missing folders if they don't exist.
Choose how the new content should be applied to the existing document:
* **Replace entire document** — Completely replaces the existing content with new content
* **Append to end** — Adds new content after the existing content
* **Prepend to beginning** — Adds new content before the existing content
Specify the text to update the document with. Use **#** to [insert variables](/guides/prompt-engineering#workflow-prompts) from previous steps or the trigger to dynamically generate the content.
## Related
* [Create Knowledge Base Document](/reference/actions/create-knowledge-base-document)
* [Knowledge Base overview](/knowledge-base/overview)
# Upload Knowledge Base file
Source: https://docs.cassidyai.com/reference/actions/upload-knowledge-base-file
Upload a file to your Knowledge Base from within a Workflow.
Upload a file to your [Knowledge Base](/knowledge-base/overview) from within a [Workflow](/workflows/overview). Use this to automatically store trigger attachments, generated reports, exported documents, or any file output from a previous step.
In the Workflow builder, click **+** between blocks and select **Upload Knowledge Base File** from the action library.
Specify the name for the uploaded file. You can use **#** to [insert variables](/guides/prompt-engineering#workflow-prompts) from previous steps or the trigger to dynamically generate the file name.
Choose the file source:
* **Trigger attachment** — Select files attached to email triggers or form submissions. Useful for automatically saving contracts, invoices, or reports sent via email.
* **Variable from previous step** — Use files generated by other Workflow actions, such as [Export as PDF](/reference/actions/export-as-pdf) or [Export as Microsoft Word Document](/reference/actions/export-as-word).
Choose where in your Knowledge Base the file should be uploaded:
* **Static Folder** — Select a specific folder directly from your Knowledge Base. Best when you always upload to the same location, such as a contracts folder.
* **Knowledge Base Item Reference** — Use a variable that references a Knowledge Base folder. Useful when the destination folder is selected dynamically, such as a client folder from a trigger input.
* **Dynamic Path** — Specify a folder path using variables or naming conventions. Select the **Knowledge Base Collection**, then enter the **Folder Path** separated by forward slashes. Toggle **Create if Not Found** to automatically create the folder if it doesn't exist.
## Related
* [Create Knowledge Base Document](/reference/actions/create-knowledge-base-document)
* [Knowledge Base overview](/knowledge-base/overview)
# Wait / Delay
Source: https://docs.cassidyai.com/reference/actions/wait-delay
Pause Workflow execution for a specified duration or until a specific date and time.
Pause a [Workflow](/workflows/overview) before continuing to the next step. Use this to add delays between steps — for example, waiting before sending a follow-up email, spacing out API calls, or scheduling an action to run at a specific time.
In the Workflow builder, click **+** between blocks and select **Wait/Delay** from the action library.
Choose between two wait options:
* **Wait for a specific duration** — Pause the Workflow for a set amount of time
* **Wait until a specific date and time** — Pause the Workflow until a particular date and time is reached
If you selected **Wait for a specific duration**:
1. **Duration** — Enter a number or reference a variable from previous steps using **#**
2. **Unit** — Choose the time unit from the dropdown: seconds, minutes, or hours
The maximum wait duration is 30 days.
If you selected **Wait until a specific date and time**:
1. **Reference Date** — Select the target date using the date picker, or click the pencil icon to enter it directly. You can reference variables from previous steps or the trigger using **#**.
2. **Offset** — Choose when to resume the Workflow relative to the reference date:
* **At that time** — Resume exactly at the specified date and time
* **Before** — Resume a set amount of time before the reference date
* **After** — Resume a set amount of time after the reference date
For the **Before** and **After** options, enter the offset **Duration** and select the **Unit** (seconds, minutes, or hours).
When the Workflow is paused, a waiting status indicator appears on the step. Once the wait period completes, the Workflow continues to the next action automatically.
## Related
* [Build and configure Workflows](/workflows/building)
# Write company description
Source: https://docs.cassidyai.com/reference/actions/write-company-description
Generate a detailed company description from a company name or domain using AI-powered research.
Generate a detailed company description from a company name or domain. Uses AI-powered research to compile a comprehensive overview. Use this for prospect research, lead enrichment, or preparing context for sales outreach.
In the Workflow builder, click **+** between blocks and select **Write Company Description** from the action library.
In the **Company URL** field, enter the URL of the company's website you want to generate a description for. You can hardcode the value or use **#** to reference a variable from a previous step or trigger.
## Related
* [Write Company Description from Email](/reference/actions/write-company-description-from-email)
* [Get Company Information](/reference/actions/get-company-information)
# Write company description from email
Source: https://docs.cassidyai.com/reference/actions/write-company-description-from-email
Generate a company description by extracting the domain from an email address and researching the company.
Generate a company description from an email address. Cassidy extracts the domain, researches the company, and produces a detailed description. Use this in lead enrichment Workflows where you have a contact's email but not their company details.
In the Workflow builder, click **+** between blocks and select **Write Company Description from Email Address** from the action library.
In the **Company Email** field, enter an individual person's company email address — for example, `tim.cook@apple.com`. Cassidy identifies the company (in this case, Apple) based on the email domain and generates a description. Use **#** to reference a variable from a previous step or trigger.
## Related
* [Write Company Description](/reference/actions/write-company-description)
* [Get Company Information](/reference/actions/get-company-information)
# Email trigger
Source: https://docs.cassidyai.com/reference/triggers/email
Run a Workflow automatically when an email is sent to the Workflow's dedicated email address.
Run a [Workflow](/workflows/overview) whenever someone sends an email to its dedicated email address. Use this trigger for automations like processing inbound support requests, routing customer inquiries, extracting data from forwarded emails, or kicking off a review process when a specific message arrives.
Each Workflow with an Email trigger gets a dedicated email address at `@workflows.cassidyai.com`. Any email sent to that address triggers the Workflow and makes the sender, subject, body, attachments, and other fields available as variables.
Looking to deploy an [Agent](/agents/overview) via email instead? See [Deploy
via email](/agents/deploy/email).
## Set up an Email trigger
Create a new Workflow with an Email trigger, or change an existing Workflow's trigger type to Email.
Your Workflow gets a dedicated email address like `abc123@workflows.cassidyai.com`. The part before the `@` defaults to the Workflow's ID but can be customized (e.g. `support-tickets@workflows.cassidyai.com`).
Using a custom email address (any value other than the Workflow's ID) restricts senders to members of your organization. The **Anyone** sender filter is not available when using a custom address, and with **Specific Senders**, only senders who are also members of your organization will be accepted. See [Custom address and organization restrictions](#custom-address-and-organization-restrictions) for details.
Under **Allow Emails From**, select a sender filter to control which emails are accepted:
| Filter | Description |
| - | - |
| **Anyone** | Accept emails from any sender. Only available when using the Workflow's default ID-based address. |
| **Anyone in Organization** | Only accept emails from users who are members of your Cassidy organization |
| **Users with Access** | Only accept emails from Cassidy users who have access to this specific Workflow |
| **Specific Senders** | Only accept emails from addresses or domains you specify |
If you selected **Specific Senders**, add the email addresses or domains that should be allowed to trigger this Workflow. You can mix individual addresses (e.g. `user@example.com`) and entire domains (e.g. `example.com`).
Use a domain filter like `example.com` to accept emails from any address at that domain — no need to list every individual sender.
[Publish](/workflows/building#publish-your-workflow) the Workflow and toggle the trigger on. The Workflow now runs automatically whenever an accepted email arrives at its dedicated address.
## Custom address and organization restrictions
When you set a custom email address (any name other than the Workflow's ID), Cassidy automatically restricts senders to members of your organization. This means:
* The **Anyone** sender filter is disabled — you must use **Anyone in Organization**, **Users with Access**, or **Specific Senders**
* With **Specific Senders**, only senders who are also members of your organization can trigger the Workflow
If you need to accept emails from anyone (including people outside your organization), use the Workflow's default ID-based address.
## Use a custom domain with email forwarding
By default, every Email trigger uses an `@workflows.cassidyai.com` address. If you want emails sent to your own domain (e.g. `support@yourcompany.com`) to trigger a Workflow, set up email forwarding from your mail provider.
This is useful when you want:
* A branded, professional email address customers already recognize
* To route existing email aliases or distribution lists into a Workflow
* To keep your internal email addresses visible to senders instead of a Cassidy address
### How it works
Your mail provider receives the email at your custom domain address, then automatically forwards it to the Workflow's `@workflows.cassidyai.com` address. Cassidy processes the forwarded email the same way as a direct one — the original sender, subject, body, and attachments are all available as variables in your Workflow.
### Set up forwarding
In the Email trigger configuration, copy the Workflow's `@workflows.cassidyai.com` address.
Set up a forwarding rule that sends incoming messages to the Cassidy address you copied. The exact steps depend on your provider:
* **Google Workspace** — Use [routing rules](https://support.google.com/a/answer/4524505) in the Admin Console under **Apps > Google Workspace > Gmail > Routing**
* **Microsoft 365 / Exchange** — Use [mail flow rules (transport rules)](https://learn.microsoft.com/en-us/exchange/security-and-compliance/mail-flow-rules/mail-flow-rules) in the Exchange Admin Center
* **Other providers** — Look for "email forwarding", "mail routing", or "alias" settings in your provider's admin panel
Send a test email to your custom domain address and verify the Workflow runs by checking **View Previous Runs** on the Workflow detail page.
## Related
* [Build and configure Workflows](/workflows/building)
* [Run and test Workflows](/workflows/running-and-testing)
* [Use webhooks](/integrations/webhooks)
* [Deploy an Agent via email](/agents/deploy/email)
# Manual trigger
Source: https://docs.cassidyai.com/reference/triggers/manual
Start a Workflow on demand with custom input fields you define.
Manually start a [Workflow](/workflows/overview) with custom inputs whenever you need. The Manual trigger is the default trigger type and is ideal for Workflows you want to run on demand.
Create a new Workflow with a Manual trigger, or change an existing Workflow's trigger type to Manual.
Click **+ Add** to create input fields for your Manual trigger. Input fields let you provide data that the rest of the Workflow can reference.
Select the type that matches your data:
| Type | Description |
| - | - |
| **Text** | Free-form text input |
| **Number** | Numerical values for calculations or data processing |
| **Yes/No** | Boolean toggle for true/false decisions |
| **URL** | A web link — Cassidy extracts the text content from the page |
| **File** | Upload PDFs, Word docs, spreadsheets, images, audio, or video. Images and media are automatically transcribed |
| **Dropdown** | Predefined options the user selects from |
| **Knowledge Base Item** | Select a specific file or folder from your [Knowledge Base](/knowledge-base/overview) |
| **Object** | A structured group of fields you define |
Give each field a descriptive name so it's easy to reference later as a variable in other actions.
Expand the field settings to access additional options:
* **Description** — Add context or instructions for the person running the Workflow
* **Optional** — Toggle on if the Workflow should proceed even when this field is left empty
* **Accepts Multiple** — Allow multiple values for the same field (useful for lists of URLs or files)
Drag input fields to reorder them. Click the pencil icon to edit a field, or the trash icon to remove it.
When you run the Workflow, fields with **Accepts Multiple** enabled show a **+ Add** button so you can provide additional values as a list.
## Related
* [Build and configure Workflows](/workflows/building)
* [Run and test Workflows](/workflows/running-and-testing)
* [Bulk runs](/workflows/bulk-runs)
# Meeting ended trigger
Source: https://docs.cassidyai.com/reference/triggers/meeting-ended
Automatically run a Workflow when a meeting recording ends to process transcripts, send follow-ups, or update your CRM.
Automatically run a [Workflow](/workflows/overview) when a [meeting recording](/meetings/getting-started) ends. Use this trigger to automate post-meeting tasks like generating summaries, updating CRM records, or sending follow-up emails.
Create a new Workflow with a Meeting Ended trigger, or change an existing Workflow's trigger type to Meeting Ended.
Choose whether to keep the Workflow shared (other team members can access it but may see meeting information from meetings they don't have access to) or click **Make Private & Continue** to restrict access.
If you keep it shared, a warning indicator appears with the option to make it private at any time.
Optionally toggle **Include Shared Meetings** to run this Workflow for all meetings you can access through your organization's [sharing rules](/meetings/sharing-and-permissions). Turn it off to only run for meetings you recorded yourself.
Click **+ Add Filter** to only trigger for meetings that meet certain criteria. Create AND/OR conditions based on:
* Meeting Title
* Meeting Owner
* Meeting Owner Group
* Organizer Email
* Participant Names
* Invitee Emails
Click **Preview** to see which past meetings would have matched your filter conditions.
In the rest of your Workflow, reference these variables from the Meeting Ended trigger:
| Variable | Description |
| - | - |
| **Title** | The title of the meeting |
| **Recording Started At** | When the recording began |
| **Recording Ended At** | When the recording ended |
| **Summary** | AI-generated summary of the meeting |
| **Transcript** | Full transcript of the meeting |
| **Internal URL** | Link to the meeting within Cassidy |
| **Organizer** | Name and email of the meeting organizer |
| **Participants** | List of participants with name, email, and host status |
| **Invitees** | List of invited attendees with name, email, and organizer status |
In the Meeting Ended trigger block, click the toggle switch to turn it on.
## Related
* [Meeting Workflows](/meetings/workflows)
* [Sharing and permissions for Meetings](/meetings/sharing-and-permissions)
* [Build and configure Workflows](/workflows/building)
# Scheduled trigger
Source: https://docs.cassidyai.com/reference/triggers/scheduled
Run a Workflow automatically on a recurring schedule — hourly, daily, weekly, or monthly.
Run a [Workflow](/workflows/overview) on a recurring schedule. Use this trigger for automations that should happen at regular intervals, like daily reports, weekly competitor briefs, or overnight data enrichment.
Create a new Workflow with a Scheduled trigger, or change an existing Workflow's trigger type to Scheduled.
Choose how often you want the Workflow to run — every hour, day, week, or month — and select the specific time(s).
Schedule times are based on your organization's configured timezone. If you're in a different timezone, account for the difference to ensure the Workflow runs at your desired local time.
In the Scheduled trigger block, click the toggle switch to turn it on. The Workflow will begin running at the next scheduled time.
## Related
* [Build and configure Workflows](/workflows/building)
* [Run and test Workflows](/workflows/running-and-testing)
# Compliance
Source: https://docs.cassidyai.com/security/compliance-overview
Cassidy's compliance certifications: SOC 2 Type II, HIPAA, GDPR, CCPA, and CASA.
## SOC 2 Type II
Cassidy has completed a SOC 2 Type II audit covering security, availability, processing integrity, confidentiality, and privacy. The audit is performed by an independent third party and renewed on a regular cycle. Request the report through the [Trust Center](https://trust.cassidyai.com/).
## HIPAA
Cassidy is HIPAA compliant. Organizations that handle protected health information can request a Business Associate Agreement (BAA). Contact [support@cassidyai.com](mailto:support@cassidyai.com) to get a BAA in place before onboarding.
## GDPR
Cassidy complies with the GDPR. Data Processing Agreements (DPAs) are available for any organization that needs one. Contact [support@cassidyai.com](mailto:support@cassidyai.com) to request a DPA or exercise data subject rights.
## CCPA
Cassidy complies with the CCPA. Cassidy does not sell personal information. Contact [support@cassidyai.com](mailto:support@cassidyai.com) to exercise any CCPA rights.
## CASA
Cassidy holds a Cloud Application Security Assessment (CASA) certification, which validates secure handling of cloud API integrations including Google Drive.
***
For audit reports, DPAs, BAAs, and sub-processor lists, visit the [Trust Center](https://trust.cassidyai.com/).
# Security overview
Source: https://docs.cassidyai.com/security/data-security-policy
Cassidy is built for enterprise use. Here's how we keep your data secure.
Cassidy is built for teams that care about where their data goes. Your data is encrypted, isolated, and never used to train AI models.
## At a glance
| | |
| - | - |
| **No model training** | Your data is never used to train AI models. Zero-training agreements with all providers. |
| **Encryption** | All data encrypted in transit and at rest. |
| **SOC 2 Type II** | Independently audited, continuously monitored. |
| **HIPAA** | BAAs available for organizations handling PHI. |
| **GDPR** | DPAs available. Full data subject rights supported. |
| **Data isolation** | Row-level security separates organizations at the database level. |
## Learn more
SOC 2 Type II, HIPAA, GDPR, CCPA, and CASA status.
Real-time compliance status and downloadable reports.
SSO, role-based access, audit logs, data retention, and usage monitoring.
# Enterprise readiness
Source: https://docs.cassidyai.com/security/enterprise-readiness
Full control over deployment, access, AI governance, and extensibility for IT and operations teams.
Cassidy gives IT and operations teams full control over deployment, access, and AI governance. Here's what's available out of the box.
## Single Sign-On
Cassidy supports SAML 2.0 SSO with any compatible identity provider, including Okta and Microsoft Entra ID. Your team signs in with existing credentials. SAML role mappings can grant privileges automatically, and SAML group mappings can place users into the right resource visibility groups.
Step-by-step SSO configuration guide.
## Roles and privileges
Managed roles and custom roles give you fine-grained control over what each person can do in Cassidy. Use roles to control privileges like creating Agents, editing Workflows, adding to the Knowledge Base, recording meetings, inviting members, managing billing, or configuring SSO. Use groups to control which shared resources each team can access.
Configure roles, custom privileges, and visibility groups.
## Knowledge Base access controls
Knowledge Base content is organized into collections, each with its own access settings. Collections can be open to the whole organization, restricted to specific groups or individuals, or kept private. Sensitive content can live in Cassidy without being accessible to everyone.
Configure collection-level access controls.
## Knowledge verification
Admins can flag Knowledge Base documents as potentially outdated and require them to be reviewed before Agents continue using them. This gives teams a lightweight governance layer to ensure the information powering your Agents stays accurate and current.
Set up document verification.
## Agent and Workflow controls
Agents and Workflows can be shared with specific groups, kept private, or made available to the whole organization. Both can be organized into folders with their own permission settings. Workflows support external deployment via webhooks and inbound email triggers for integration into other systems. Agents support draft and publish versioning with full version history, so changes can be reviewed before they go live.
Agent permissions, folders, and versioning.
Workflow permissions, folders, and external deployment.
## Meeting access controls
Meeting recordings default to private and can be shared with specific people, groups, or the whole organization. Admins can set up automated sharing rules that apply access settings based on defined conditions, so the right teams always have access without manual sharing.
Configure meeting sharing and access rules.
## Data retention
Enterprise customers can configure automated retention policies for Workflow run history. Set a custom retention window to automatically purge run data after a defined period, or retain it indefinitely. Manual deletion is always available. All data is permanently deleted when an account is closed.
Set up automatic data retention policies.
## Global AI governance
Admins can set organization-wide instructions that apply to every Agent and Workflow across the organization. Use this to enforce tone, restrict certain language, add compliance disclaimers, or ensure consistent behavior regardless of how individual Agents are configured.
Set organization-wide AI instructions.
## Default Agent configuration
Admins control which Agents appear by default for team members when they open a new chat. This ensures new users land in the right context without needing to hunt for the right Agent.
Set the default Agents for your organization.
## Observability and AI usage monitoring
The usage dashboard surfaces credit consumption by user, Workflow run volumes, Knowledge Base storage, and meeting hours. Workflow run history logs every execution with inputs, outputs, and step-level results for auditing and debugging. Per-user credit limits and alert thresholds give admins proactive control over spend.
Track organization-wide usage and credits.
Configure per-user credit limits and alerts.
## Audit logs
Enterprise admins can review a searchable record of who viewed or changed resources in the organization. Audit logs track activity across Agents, Workflows, Knowledge Base content, meetings, sharing, etc.
Search, filter, and export audit events for investigations.
## Secret management
API keys, passwords, and other sensitive credentials used in Workflows are stored as encrypted secret keys rather than plain text values. Secrets can be scoped to specific users or groups so only authorized team members can use them in Workflow actions. Once saved, secret values are never exposed in the Workflow editor or run history.
Store and manage encrypted credentials for Workflows.
## Custom integrations and extensibility
Cassidy integrates natively with most enterprise tools. For everything else, Workflows can send API requests to any external system, accept webhook and email triggers from any source, run custom code for advanced logic, and Agents can reach internal systems through Custom Connectors.
Most integrations are point-and-click. The edge cases are covered by code.
Native integrations catalog.
Connect to any external API.
Connect Agents to custom systems.
Webhooks, API requests, and custom code.
## Custom Connectors and built-in Connectors
**Custom Connectors** connect Cassidy to internal systems through MCP. People
with the **Manage Connectors** privilege add them, choose who can use them, and
can disable one for the whole organization without deleting it.
Cassidy also provides built-in Connectors for HubSpot, Salesforce, Airtable,
Snowflake, BigQuery, ServiceNow, and other business apps. Roles decide which
built-in Connectors people may use. Organization settings can turn off
individual actions, decide what happens to new actions, and require approval
for changes or for every action.
People connect their own accounts, so each person keeps their own permissions
in the external app. Agents and Workflows can instead use a shared connection
limited to selected people, groups, or the organization.
Native connectors for CRMs, data warehouses, and more.
Connect Agents to any system via MCP.
## Native OAuth integrations
All native integrations connect through standard OAuth or API key authentication. Cassidy only requests the scopes needed for each integration, and credentials are encrypted and stored separately from content data. Users connect their own accounts through the standard OAuth flow. For shared service accounts, anyone with the privilege to connect that integration can set up a shared connection and choose who may use it.
See all available integrations.
## Multi-organization support
Cassidy supports multiple separate organizations under the same login, useful for companies managing multiple divisions, brands, or client environments that require strict data separation.
Set up and switch between organizations.
## Deploy Cassidy wherever your team works
Agents can be deployed wherever your team already works: Slack, Microsoft Teams, Outlook, Word, Excel, Chrome, Edge, email, embedded in any website, or accessed via API. All deployment surfaces operate under the same security model as the main platform.
Deploy an Agent into Slack.
Deploy an Agent into Microsoft Teams.
Deploy an Agent to a dedicated email address.
Embed an Agent in any website or portal.
Access Agents via API.
***
For questions about enterprise deployment, contact [support@cassidyai.com](mailto:support@cassidyai.com) or visit [trust.cassidyai.com](https://trust.cassidyai.com/).
# Trust center
Source: https://docs.cassidyai.com/security/trust-center
Access Cassidy's real-time compliance status, audit reports, and security documentation.
The Trust Center is the single place for real-time compliance status, audit reports, security policies, DPAs, BAAs, and sub-processor information.
**trust.cassidyai.com**
Some documents require a brief access request on the site. If you need something that isn't listed, contact [support@cassidyai.com](mailto:support@cassidyai.com).
# Audit Logs
Source: https://docs.cassidyai.com/settings/audit-logs
Review who viewed or changed Agents, Workflows, and other resources in your organization. Search, filter, and export those events for security investigations.
Audit logs give admins a searchable record of activity in your Cassidy organization — including [Agents](/agents/overview), [Workflows](/workflows/overview), and other resources. Use them to investigate access, review configuration changes, and export evidence for security or compliance reviews.
Each event answers the same question: **who** did **what** to **which resource**, and optionally **what else was involved**.
Audit logs are available on **Enterprise** plans and need to be enabled by our
team. [Contact us](mailto:support@cassidyai.com) if you need access to the
dashboard.
## How to read an audit event
The table uses a few terms that stay consistent across every event:
| Term | What it means |
| - | - |
| **Actor** | The person or system that performed the action. Most events come from a team member. Automated Cassidy jobs appear as **Cassidy**. People using a website embed or similar external surface appear as an external user. |
| **Event** | The action that occurred, written as `resource-type.action` — for example, `agent.updated` or `workflow.created`. Hover an event to see a short description when one is available. |
| **Resource type** | The kind of thing the event is about, such as `agent`, `workflow`, or `group`. This is the first part of the event name. In some places this is also called the **subject type**. |
| **Resource** | The primary item the event is about — the specific Agent, Workflow, group, or other object. This is also called the **subject**. Opening a list of items uses that resource type with no specific item. |
| **Target** | A second item involved in the same action, when there is one. For example, if someone is added to a group, the group is the resource and the person is the target. |
| **Operation** | The category of change: **Read**, **Create**, **Update**, **Delete**, or **Execute**. |
| **Details** | Extra context for some events, such as a sharing role or a version ID. Details never include message text, prompts, document contents, or secrets. |
| **IP address** | The source IP when Cassidy recorded one, usually for actions in the Cassidy app. |
| **Time** | When the event occurred. |
Read an event as a sentence: **\[Actor] performed \[action] on \[resource],
involving \[target]**.
## Open audit logs
Click your account name at the bottom of the sidebar, then click the **gear icon** next to your organization name.
In the left sidebar, under **Security & Audit**, click **Audit Logs**.
If you don't see **Audit Logs**, they may not have been enabled by our team yet, or you may not have the **Manage Audit Logs** privilege. Admins have this privilege by default. To grant it without full Admin access, add it to a [custom role](/settings/roles-and-groups). [Contact us](mailto:support@cassidyai.com) to request access to the dashboard.
The page defaults to **All write operations** for the last 7 days. That includes create, update, delete, and execute events, and it excludes reads. Switch **Operation** to **All operations** or **Read** when you need view history.
## Search and filter events
Combine filters to narrow the log. Every filter applies together, including **Export**.
### Filter by event, actor, operation, or date
| Filter | What it does |
| - | - |
| **Event** | Limit results to one event, such as `agent.deleted` or `workflow.published`. |
| **Actor** | Limit results to one team member, or to **Cassidy** for automated system activity. |
| **Operation** | Limit results to reads, writes, or a specific operation type. **All write operations** includes create, update, delete, and execute. |
| **Date range** | Limit results to a window of up to **3 months**. |
The audit log page includes events from August 13th, 2026 onwards. Logs of older events may be available by request.
### Search by ID
Use **Search by ID** when you already have a Cassidy ID and want events tied to that person or item.
Paste a full ID into **Search by ID**, or type a qualifier to search one field:
| Query | What it matches |
| - | - |
| `abc123` | The same ID on the actor, resource, or target |
| `actor_id:abc123` | Events performed by that user |
| `resource_id:abc123` | Events whose primary resource has that ID |
| `target_id:abc123` | Events whose target has that ID |
Separate multiple queries with spaces. Cassidy treats every query as **AND**, so all of them must match. You can use up to **4** queries at once.
Click **Search** or press **Enter**. The table updates to the events that match your ID search and the other filters.
Click an actor, resource, or target in the table, then choose **Filter by this actor**, **Filter by this resource**, or **Filter by this target**. If the item can be opened in Cassidy, choose **Open**.
Partial matches, quotes, wildcards (`*`), `AND`/`OR`/`NOT`, and minus-sign exclusions are not supported. Use letters, numbers, periods, underscores, and hyphens.
## Understand read events
Write events (create, update, delete, and execute) are recorded each time the change succeeds.
Read events are recorded when a team member views or otherwise accesses a resource. That includes both opening it themselves and indirect access on their behalf - for example, when an [Agent](/agents/overview) accesses a resource during a chat.
To keep read events manageable, repeated read events for the same actor and resource are recorded at most once per hour.
## Export audit logs
Export downloads the events that match your **current filters** as a JSON file.
Apply the same event, actor, operation, date range, and ID search you want
in the file.
Click **Export** in the top-right corner of the page. Cassidy downloads a
file named like `audit-logs-2026-08-27.json`.
Exports include up to **10,000** matching events, newest first. Narrow the date range or add filters if you need a smaller, complete set.
## Next steps
Grant **Manage Audit Logs** with a custom role, without making someone a
full Admin.
See the other access, SSO, and governance controls available to Enterprise
teams.
Track credit consumption and other organization usage alongside audit
activity.
Require team members to sign in through your identity provider.
# Control Code Execution and File Creation
Source: https://docs.cassidyai.com/settings/code-sandbox
Configure whether Agents can access the internet when they analyze data, process files, or install packages.
Admins can control whether an [Agent](/agents/overview)'s **Code Execution & File Creation** setting can access the internet while it analyzes data, processes files, or creates documents. Use these settings to balance security with the flexibility to install packages or reach approved external domains.
Code Execution & File Creation internet access settings apply to new chats and
new code sessions. Existing chats that already have a running session keep
their current network access until a new session starts.
## Availability
**Code Execution & File Creation** is enabled by default for new custom Agents. You can turn it on or off for an individual Agent from the Agent editor under **Customize** > **Advanced Settings**.
Organization admins control the internet access policy separately from the Agent-level feature toggle. New organizations start with internet access enabled for package managers and any custom domains you add. Organizations created before this setting was introduced keep their existing all-domain internet access until an admin changes it.
## Configure network access
Open your account menu from the sidebar and select **Organization
Settings**.
In **Organization Settings**, click **Controls** under the **Admin** section.
Use **Enable internet access** to control whether Agent sandboxes can reach the internet at all.
Turn this off to block all outbound internet access. Agents can still analyze data, process files, and create documents using pre-installed packages.
More restrictive settings reduce risk, but may prevent package installs or external data access that some file and data tasks need.
If internet access is enabled, choose one of the allowed domain options:
* **None** — Allows only the custom domains you add. If you do not add domains, the sandbox cannot reach external domains.
* **Package managers + custom domains** — Allows package install domains plus any domains you add.
* **All domains** — Allows unrestricted outbound internet access.
When using **None** or **Package managers + custom domains**, add any extra domains your Agents need to reach, such as `api.example.com` or `*.example.com`.
Click **Add** after each domain.
## Choosing a network access level
Start with stricter access when Agents handle sensitive files or should not contact external systems while processing data. Expand access only when a team needs package installs, approved APIs, or company-approved data sources.
* **Internet access off** gives the strongest isolation.
* **None** allows only the custom domains you add.
* **Package managers + custom domains** gives teams controlled flexibility.
* **All domains** gives the most flexibility, but carries the highest risk.
## Important limitations
Network access controls apply to Code Execution & File Creation sessions. They do not control Web Search, web fetch, MCP connectors, or other Connectors.
If you change code execution internet access while testing an Agent, start a
new chat before verifying the new behavior.
## Related
Learn how Agents analyze data, generate files, and process large results.
Review Cassidy security, governance, and admin controls.
Control who can access organization settings.
# Credit usage alerts and limits
Source: https://docs.cassidyai.com/settings/credit-alerts-and-limits
Monitor organization-wide credit consumption and set per-user spending caps to keep your team's AI usage in check.
Cassidy gives you two layers of credit visibility: **organization alerts** that track your team's total usage against the allowance for your billing period, and **per-user alerts and limits** that monitor and cap individual consumption. Both are configured in **Organization Settings → Limits & Alerts**.
Only **Admins** can configure credit alerts and limits.
***
## Organization alerts
Organization alerts notify admins when your organization's **total** credit usage crosses a threshold you define. They are **informational only** — they don't restrict usage.
### Add an alert
Open your account menu from the sidebar and select **Organization
Settings**.
In the left sidebar, click **Limits & Alerts** under the **Usage** section.
Expand **Organization Alerts** at the top of the page, then click **Add alert**.
Select how the threshold should be measured:
| Type | Description | Example |
| - | - | - |
| **Percentage** | A percentage of your organization's credit maximum for the billing period | Alert at 75% of 10,000 credits = fires at 7,500 credits used |
| **Absolute** | A fixed number of credits | Alert at 8,000 credits, regardless of the maximum for the billing period |
Percentage thresholds automatically scale if your credit allowance changes. Absolute thresholds give you a precise spending target.
Enter the percentage (1–100) or credit count that should trigger the alert.
Select either **All Admins** or **Specific Admins**. If you choose specific admins, use the selector to pick who should receive the alert email.
Click **Add** to activate the alert.
The alert will fire the first time your organization's credit usage crosses the threshold within each billing period.
### How organization alerts work
* Each alert fires **once per billing period**. Usage dropping below the threshold and climbing back above it will not re-trigger the alert until the next billing period resets.
* You can configure **multiple alerts** at different thresholds — for example, one at 50% and another at 90% — to get early warnings and final notices.
* To change a threshold or notification recipients, click the **pencil icon** next to an alert. To remove an alert, click the **trash icon**.
Editing an alert's threshold resets it so it can fire again in the current
billing period. If your organization is already past the new threshold, the
alert will trigger immediately.
***
## Per-user alerts and limits
Per-user controls let you notify admins when individual team members exceed a credit threshold, and optionally enforce a **hard cap** that blocks users from consuming additional credits once their limit is reached.
### Check your usage remaining
When per-user credit limits are active and usage visibility is enabled, open your account menu in the sidebar and point to **Usage Remaining**. The flyout shows the percentage of your credits remaining, the credits used, and when the limit resets.
For limits that do not reset, the flyout shows **All time** instead of a reset date. If you reach your limit, the flyout directs you to an admin or, if you can manage usage limits, to **Organization Settings → Limits & Alerts**.
### Set up per-user credit usage alerts
Credit usage alerts notify selected admins, the user whose activity triggered the alert, or both when a team member crosses a configured threshold. You can create multiple alerts with different thresholds and periods. Alerts are **informational only** — they don't block users from consuming additional credits.
Open your account menu from the sidebar and select **Organization
Settings**.
In the left sidebar, click **Limits & Alerts** under the **Usage** section. Find **User Credit Alerts**, then click **Add alert**.
Enter the number of credits that triggers the alert, then choose whether Cassidy measures usage by day, week, month, or billing period.
Turn on **Notify the user who triggered the alert** to email the team member whose usage crossed the threshold. Choose **All Admins** or **Specific Admins** for the admin recipients.
Enter a message to include extra context or instructions in the alert email. Each alert can have a different message.
Click **Add** to activate the alert. Repeat these steps to create more thresholds.
Each alert sends one email per user during its configured period. Editing an alert lets the updated alert fire again if the user is already above its threshold.
### Set up per-user credit limits
Per-user credit limits set a **hard cap** on how many credits each team member can consume per billing period. When a user hits their limit, they are blocked from credit-consuming actions and shown an explanation.
On the **Limits & Alerts** page, toggle on **Per-User Credit Limits**.
Under **Default Limit Per User**, specify the credit limit that applies to all users (e.g., 1000 credits per billing period).
Leave **Show Usage Remaining to Users** on to show the **Usage Remaining** flyout in each user's account menu. Turn the setting off to hide the flyout from users. The setting is on by default.
Choose which admins should receive email notifications when any user hits their credit limit.
Toggle on the following options if you want to exclude certain usage from counting toward credit limits:
* **Exclude Agent External Deployments from Credit Limits** — Credits used by externally deployed [Agents](/agents/overview) won't count toward user limits.
* **Exclude Workflows from Credit Limits** — Credits used by [Workflows](/workflows/overview) won't count toward user limits.
Excluding Workflow and deployment credits is useful when those are shared team resources, not individual consumption.
Click **Add Custom Limit** to override the default limit for individual users. Select the user and set a specific credit cap, or leave them unlimited.
Review the **Users Exceeding Credit Budget** section to see which users have exceeded their credit limit in the current billing period, along with their current usage and limit.
Click **Save** to apply your credit limit configuration.
Per-user credit limits are now active. Limits reset at the start of each billing period. Custom limits take precedence over the default limit.
***
## Comparison
| | Organization alerts | Per-user alerts | Per-user limits |
| - | - | - | - |
| **What triggers it** | Total organization usage crosses a threshold | An individual user crosses a threshold | An individual user hits their cap |
| **Threshold types** | Percentage or absolute | Absolute credits | Absolute credits |
| **Restricts usage?** | No | No | Yes — blocks AI features |
All three can be used together. For example, set an organization alert at 80% to track overall spend, per-user alerts to catch high individual usage early, and per-user limits to enforce a hard ceiling.
## Next steps
Understand how credits work and check your balance.
Track credit, storage, and meeting usage across your organization.
# Configure default Agents
Source: https://docs.cassidyai.com/settings/default-agents
Set which Agents appear by default for your team when they open a new chat.
Default Agents are the pre-built [Agents](/agents/overview) that appear in the Agent selector when your team opens a new chat. As an Admin, you can control which default Agents are available to help manage costs, ensure compliance, and surface the most relevant tools for your team.
Only **Admins** can configure default Agents. This setting applies to the
**Chat** experience only — it does not affect the base model selection when
building custom Agents or the model used in [Workflow](/workflows/overview)
actions.
## Choose how new models are added
By default, Cassidy automatically adds newly released models as default Agents
for your organization. Admins can change this behavior without affecting any
default Agents that are already enabled.
In **Organization Settings**, click **Controls** under the **Admin** section.
Leave **Add new models automatically** on to make newly released models
available to your team as default Agents.
Turn this setting off if you want an Admin to review and enable each new
model first. When the setting is off, new models remain available from the
**Default Agents** page, where an Admin can add them manually.
Turning off **Add new models automatically** does not remove or disable any
default Agents that your organization already uses.
## Manage default Agents
Open your account menu from the sidebar and select **Organization
Settings**.
In the left sidebar, click **Default Agents** under the **Agents** section.
Click the **remove** button next to any default Agent you want to hide from your team's chat selector. Removing a default Agent doesn't delete it — it simply hides it from the default list.
Click **Add Agent** to browse and select from the available default Agents. Search by name or capability to find the right ones for your team.
Click **Save** to apply your changes. The **Save** button only becomes active after you've made at least one change.
Your default Agent configuration is updated. Team members will see the new set of default Agents the next time they open a chat.
## Where default Agents appear
Default Agents show up in the **Agent selector** when a user starts a new chat. They appear under the **Default** section, separate from any custom Agents the user or their team has built.
Curate your defaults to match your team's most common use cases. For example,
a sales team might benefit from a writing-focused Agent and a research Agent,
while a support team might need an Agent with [Knowledge
Base](/knowledge-base/overview) access to your help center.
## Next steps
Create custom Agents tailored to your team's specific needs.
Set organization-wide AI behavior rules for all Agents.
# Configure global instructions
Source: https://docs.cassidyai.com/settings/global-instructions
Set organization-wide AI behavior rules that apply to every Agent and Workflow.
Global instructions let admins define AI behavior rules that apply to every [Agent](/agents/overview) across your organization. Use them to enforce brand voice, set compliance guardrails, or provide company context that every Agent should know.
Only admins can configure global instructions.
## Set up global instructions
Open your account menu from the sidebar and select **Organization
Settings**.
In **Organization Settings**, click **Global Instructions** under the **Agents** section.
Click **+ Add First Instruction** to create an instruction card. Each card has:
* A **title** for labeling the instruction (e.g., "Banned Words" or "Company Description").
* A **text body** for the instruction content.
* A **toggle** to enable or disable the instruction without deleting it. Disabled instructions are excluded from the active character count.
* A **drag handle** for reordering instructions.
* A **reset** button to revert to the last saved state.
* A **delete** button to permanently remove the instruction.
Check **Apply to workflow actions** on any instruction to extend it to all Generate and Generate with Agent actions across your [Workflows](/workflows/overview). This is off by default because it can significantly influence behavior in existing automations.
Click **+ Add Instruction** to create additional cards. The total character counter at the top tracks usage across all active instructions, up to a maximum of **15,000 characters**.
Click **Save** in the top-right corner to apply all changes.
## Examples
Here are common ways to use global instructions:
| Use case | Example |
| - | - |
| **Banned words/phrases** | "Never use the terms 'guarantee,' 'legal advice,' or 'liability-free' in any AI output." |
| **Company description** | "Acme Corp is a leading provider of software solutions for legal professionals, specializing in case management and document automation." |
| **Formatting style** | "Always use numbered lists for procedural steps and bullet points for non-sequential items." |
| **Tone** | "Maintain a professional, supportive tone. Address users as professionals and assume familiarity with standard industry workflows." |
| **Compliance** | "Do not generate content that could be construed as legal counsel. Always include a disclaimer when producing legal-adjacent content." |
Global instructions apply to every Agent by default, but they are **not**
included in Workflow actions unless you explicitly opt in per instruction via
the **Apply to workflow actions** checkbox.
## Related
Write Agent-specific instructions and configure individual behavior.
Write more effective instructions for better AI outputs.
# Invite team members
Source: https://docs.cassidyai.com/settings/invite-team-members
Invite colleagues to your Cassidy workspace and manage pending invitations.
Add your team to Cassidy so they can collaborate on [Agents](/agents/overview), [Workflows](/workflows/overview), and your [Knowledge Base](/knowledge-base/overview). You can invite new members from anywhere in the app or from Organization Settings.
## Send invitations
You can invite team members from two places:
* **Quick invite** — Click **Invite Members** in the sidebar.
* **Organization Settings** — Open your account menu, select
**Organization Settings**, go to **Team Members**, and click **Invite Team
Members**.
Type one or more email addresses into the invite field. You can invite multiple people at once by separating emails with commas or pressing Enter after each one.
Choose one or more roles for each invitee. Roles control what the person can do in Cassidy.
* **Viewer**: Basic access to shared resources.
* **Member**: Standard access for regular team members.
* **Admin**: Administrative access for managing team settings, integrations, users, and workspace configuration.
* **Custom roles**: Workspace-specific privilege sets created by your team.
You can always change a user's roles later from Organization Settings. Start with the narrowest role that lets someone do their job.
Select one or more [groups](/settings/roles-and-groups) to add the invitee to. Groups control which shared Agents, Workflows, Knowledge Base collections, chats, and meetings the user can access.
Click **Send Invites**. Each invitee receives an email with a link to join your Cassidy workspace.
Invitations sent. You can track their status in Organization Settings under **Team Members**.
## Accept an invitation
When someone invites you to a Cassidy workspace:
Look for an invitation email from Cassidy. Click the **Join** button in the email.
If you don't see the email, check your spam or junk folder. The sender can resend the invitation from Organization Settings if needed.
If you're new to Cassidy, create an account with the invited email address. When prompted during account creation, click the option to join the organization.
If you already have a Cassidy account and are logged in, a pop-up appears in the app asking you to accept the invite.
You can access your pending invitations by clicking your name in the sidebar and selecting **Pending Invitations**.
In the Pending Invitations screen, click **Accept Invitation** to join the organization or **Reject Invitation** to decline.
Once you've accepted, you can switch between organizations by clicking your account name at the bottom of the sidebar.
## Manage invitations and members
From **Organization Settings** → **Team Members**, you can manage both pending invitations and existing members.
### Revoke a pending invitation
If you made a mistake or no longer want someone to join, click **Revoke Invitation** next to the pending invite.
### Remove an existing member
For members who have already joined, click the **...** menu next to their name and select **Remove**, then confirm the action.
Removing a member is immediate. They will lose access to all shared resources
in your organization. Any Agents or Workflows they own will remain but may
need to be reassigned.
## Next steps
Control what team members can do and which resources they can access.
Let your team sign in with your identity provider.
# Manage Connectors for your organization
Source: https://docs.cassidyai.com/settings/manage-connectors
Control which Connectors your organization can use, which actions are enabled, and when people must approve external actions.
Decide which business apps your organization's [Agents](/agents/overview),
[Skills](/skills/overview), and [Workflow](/workflows/overview) AI actions can
reach, which actions are allowed, and when actions need a person's approval.
You need the **Manage Connectors** privilege to change these settings, and the
**Manage Organization Settings** privilege for the **Controls** page. In many
organizations, Admins have both by default. See [Assign roles and
groups](/settings/roles-and-groups#connector-privileges).
## Common setups
* **Let people use everything, but ask before changes** — Leave Connectors
enabled and set the organization approval default to **Ask before changes**.
* **Read-only for now** — Open each Connector's **Action permissions** and turn
off its write actions. Set **New actions** to **Turn on read actions only**.
* **Pause one app** — Open the Connector and choose **Disable for everyone**.
Connections and settings are kept for when you enable it again.
## Open Connector management
Open your account menu from the sidebar and select **Organization
Settings**.
Select **Connectors** in the organization settings sidebar.
Use the **All**, **Built-in**, and **Custom Connectors** tabs to find the
Connector you want to manage.
## Connector statuses
* **Enabled** — Anyone with the right role privilege can use the Connector.
* **Restricted** — A Custom Connector is shared only with selected people or
groups.
* **Disabled** — Nobody can use the Connector. Connections and settings are
kept.
Disabled beats everything else. No role privilege or access rule can grant
access to a disabled Connector.
## Enable or disable a Connector
Open a Connector and use its status menu to enable or disable it for everyone.
Built-in Connectors use [role privileges](#control-access-with-roles) to decide
who can connect them. Custom Connectors are shared with the whole organization
or with selected people and groups, like other shared resources.
## Control what a connector can do
Open a Connector to manage which actions are available and when approval is
required.
## Action permissions
Use **Action permissions** to turn individual actions on or off for everyone.
Built-in Connectors group actions into categories specific to the app. Custom
Connectors use Read, Write, and Other categories.
An action that is off can't be used by any Agent, Skill, or Workflow.
## New actions
Use **New actions** to decide what happens when a Connector adds actions:
* **Turn on** — New read and write actions are on.
* **Turn on read actions only** — New read actions are on; other new actions
are off.
* **Turn off** — Every new action is off until you review it.
## Action approvals
Use **Action approvals** to set the least approval anyone can choose for this
Connector's actions:
* **Organization default** — Follow the [organization
default](#set-the-organization-approval-default).
* **Ask every time** — Every action needs approval.
* **Ask before changes** — Reading is allowed. Changes need approval, so
Workflows can't run them.
* **No extra approval** — Agents and people keep their own settings.
People can add approval on top of this setting, but can't remove it.
## Set the organization approval default
Open **Organization Settings** → **Controls** → **Connector approvals** to set
the default used by Connectors on **Organization default**. The options are the
same: **No extra approval**, **Ask before changes**, and **Ask every time**.
## Control Connector suggestions in chat
The **Connector discovery** toggle on the same **Controls** page decides whether
Agents may suggest a relevant Connector during a chat — for example, offering
the Asana Connector when someone asks about their Asana tasks. It is on by
default.
A suggestion never connects an app on its own. The person in the chat chooses
**Add** or **Not now**, and nothing is shared with the app until they connect it
and an action runs. See [Connector suggestions in
chat](/agents/connectors/overview#connector-suggestions-in-chat) for what
people see.
Suggestions respect every other control on this page. Agents only suggest
Connectors that are enabled, that the person has the [role
privilege](#control-access-with-roles) to connect, and that aren't already
active in the Agent or connected in the person's own settings. Suggestions
appear only in the Cassidy web app.
Turning **Connector discovery** off removes the suggestions and changes nothing
else.
## Control access with roles
Use roles to decide which built-in Connectors a person can connect:
* Grant **Agent Connectors** for access to every enabled built-in Connector.
* Grant an individual Connector privilege for access to only that app.
* Grant **Custom connectors** to let someone connect their own account to
Custom Connectors shared with them.
* Grant **Manage Connectors** only to people who should change these settings
and create, edit, share, or delete Custom Connectors.
Learn how to [assign Connector privileges with roles](/settings/roles-and-groups#connector-privileges).
For setting up a Custom Connector, see [Custom
Connectors](/agents/connectors/mcp-servers).
## Next steps
Grant Connector privileges through managed or custom roles.
See how your team connects and uses Connectors day to day.
# Manage credits
Source: https://docs.cassidyai.com/settings/manage-credits
Understand how Cassidy credits work, track usage, and purchase additional credits when needed.
Credits are how Cassidy measures AI usage across [Agents](/agents/overview) and [Workflows](/workflows/overview). Every AI interaction — from a chat message to a Workflow run — consumes credits based on the complexity of the request and the AI model used.
## How credits work
When you send a message to an Agent or run a Workflow, Cassidy makes API calls to AI models. Each call processes **input tokens** (your prompt, instructions, and [Knowledge Base](/knowledge-base/overview) context) and generates **output tokens** (the AI's response). The number of tokens determines how many credits are consumed.
### Credit usage by feature
| Feature | What affects cost |
| - | - |
| **Agent chat** | Message length, Knowledge Base context pulled in, model selected, [capabilities](/agents/capabilities/overview) used |
| **Workflow run** | Number of actions, input size, model selected per action |
Simpler models and shorter prompts use fewer credits. Choose the right model
for the task — you don't always need the most powerful option. See [Choose the
right AI model](/guides/choose-ai-model) for guidance.
## Check your credit balance
Open your account menu from the sidebar and select **Organization
Settings**.
In the left sidebar, click **Usage**. You'll see your current credit balance, usage for the billing period, and storage consumption.
## Get more credits
If your team is running low on credits, you have a few options:
* **Upgrade your plan** — Higher-tier plans include more monthly credits. See [Manage plans](/settings/manage-plans).
* **Contact support** — For custom credit packages or Enterprise plans, email [support@cassidyai.com](mailto:support@cassidyai.com).
## Frequently asked questions
Credits reset each billing period and do not roll over — with the exception of **Enterprise** plans, which may include rollover depending on your agreement. Contact your account manager for details.
A few strategies to optimize credit consumption:
* Use a lighter AI model when the task doesn't require the most powerful option
* Write concise, specific instructions to reduce input tokens
* Limit the amount of Knowledge Base context pulled into each interaction
* Use [credit usage alerts](/settings/credit-alerts-and-limits) to stay on top of consumption
When your credit balance is exhausted, AI-powered features (Agent chats, Workflow runs) will be temporarily unavailable until credits are replenished — either at the start of your next billing period or by upgrading your plan.
Yes. Visit the **Usage** tab in Organization Settings to see a breakdown of credit consumption by team member. You can also set [per-user credit limits](/settings/credit-alerts-and-limits) to control spending.
## Next steps
Set up notifications and per-user spending caps.
Track credits, storage, and meeting hours across your organization.
# Manage plans
Source: https://docs.cassidyai.com/settings/manage-plans
View your current plan, compare options, and upgrade or downgrade your Cassidy subscription.
Manage your Cassidy subscription from **Organization Settings** — choose between monthly or annual billing, compare plan tiers, and upgrade or downgrade as your team's needs change.
Only **Admins** have full access to billing settings. Members can view
available plans and initiate an upgrade, but organization-wide billing
management requires Admin permissions.
## Change your plan
Open your account menu from the sidebar and select **Organization
Settings**.
In the left sidebar of Organization Settings, click **Billing**. You'll see your current plan, billing cycle, and usage summary.
Toggle between **Monthly** and **Annual** billing at the top of the plans comparison. Annual billing includes a discount compared to paying month-to-month.
Review the available plans and click **Buy Plan** under the tier that fits your team. You'll be redirected to Stripe to complete checkout.
Enter your payment information on the Stripe checkout page. Once payment is confirmed, your new plan takes effect immediately.
Your plan is now active. You'll see the updated plan reflected on the Billing page.
Need an **Enterprise** plan with custom limits, SSO, dedicated support, or
advanced security features? Click **Contact Us** on the plans page or email
[support@cassidyai.com](mailto:support@cassidyai.com).
## Next steps
Understand how credits work and track your team's usage.
Add colleagues to your Cassidy workspace.
# Monitor usage
Source: https://docs.cassidyai.com/settings/monitor-usage
Track how your team uses credits, storage, and meeting hours across your Cassidy organization.
The usage dashboard in Organization Settings gives you a real-time view of your team's consumption across credits, [Knowledge Base](/knowledge-base/overview) storage, [Meeting](/meetings/getting-started) hours, and more. Use it to spot trends, identify heavy users, and make informed decisions about your [plan](/settings/manage-plans).
## View your usage dashboard
Open your account menu from the sidebar and select **Organization
Settings**.
In the left sidebar, click **Usage**. The dashboard shows key metrics for your organization:
## What you can track
| Metric | What it measures |
| - | - |
| **Credits used** | Total AI credits consumed this billing period |
| **Knowledge Base storage** | Total storage used by uploaded documents and imported content |
| **Meeting hours** | Total hours of [Meetings](/meetings/getting-started) recorded this billing period |
| **Monthly Cassidy Actions** | Every time an [Agent](/agents/overview) uses a tool or a [Workflow](/workflows/overview) runs an action this billing period |
| **Monthly active workflows** | [Workflows](/workflows/overview) that have been run regularly this billing period |
| **Monthly active agents** | Custom [Agents](/agents/overview) with consistent chat activity this billing period |
Usage data updates in **real time**. Refresh the page to see the latest
numbers.
## What happens when you exceed limits
| Limit exceeded | What happens |
| - | - |
| **Credits** | AI-powered features (Agent chats, Workflow runs) are temporarily unavailable until credits reset or you upgrade |
| **Storage** | You won't be able to upload new documents until you free up space or upgrade your plan |
| **Meeting hours** | Meeting recording is disabled until hours reset or you upgrade |
If your team is consistently hitting limits, consider upgrading your plan for
higher allocations. See [Manage plans](/settings/manage-plans).
## Next steps
Set up automatic alerts and per-user spending caps.
Understand how credits work and explore options for getting more.
# Manage multiple accounts
Source: https://docs.cassidyai.com/settings/multiple-accounts
Set up and switch between separate Cassidy organizations for different businesses or divisions.
If you manage multiple businesses, divisions, or clients, you can create separate Cassidy organizations — each with its own [Knowledge Base](/knowledge-base/overview), [Agents](/agents/overview), [Workflows](/workflows/overview), billing, and team members. You can switch between organizations without signing out.
## Create a new organization
Click your account name at the bottom of the sidebar and select **Sign Out**.
Go to [app.cassidy.ai](https://app.cassidy.ai) and sign up with a **different email address**. Each Cassidy organization needs a unique owner email.
If you use Google Workspace or Microsoft 365, you can use email aliases (e.g., `you+clientname@company.com`) to create separate accounts without needing entirely different email addresses.
Complete the onboarding flow for the new organization — name it, [invite team members](/settings/invite-team-members), and configure your [plan](/settings/manage-plans).
To access both organizations from a single login, invite your primary email as a **Member** in the new organization. Then accept the invitation from your other account.
This lets you switch between organizations without signing out.
## Switch between organizations
If your email is associated with multiple Cassidy organizations:
1. Click your **account name** at the bottom of the sidebar.
2. You'll see a list of all organizations you belong to.
3. Select the organization you want to switch to.
Your workspace will reload with the selected organization's resources, Agents, Workflows, and Knowledge Base.
Each organization has its own billing, credits, team members, and data. Nothing is shared between organizations — they are completely isolated.
## Next steps
Add colleagues to any of your organizations.
Configure billing for each organization independently.
# Assign roles and groups
Source: https://docs.cassidyai.com/settings/roles-and-groups
Set up roles and groups to control what team members can do and what resources they can access in Cassidy.
Roles and groups work together to control access across your Cassidy workspace. **Roles** control what a person can do. **Groups** control which shared resources a person can see.
To manage roles, groups, or team members, you need the matching admin
privilege in Cassidy. In many organizations, Admins have these privileges by
default.
If your workspace still uses group permissions, read the migration guide
before changing roles or groups.
## Understand roles and groups
Use roles and groups together:
Roles define what someone can do in Cassidy, such as create Agents, edit Workflows, invite members, manage billing, or configure SSO.
Groups define which shared resources someone can access, such as Sales Agents, Sales Workflows, or Sales Knowledge Base collections.
For most teams, roles are based on responsibilities and groups are based on teams or departments. For example, a sales operations teammate might have a custom role that lets them create and edit Workflows, plus membership in the **Sales** group so they can access Sales resources.
Some existing workspaces were created before Cassidy separated roles and groups. In those workspaces, groups controlled both what users could see and what users could do.
If your workspace still uses legacy group permissions, Cassidy shows a migration prompt in Organization Settings. The migration creates roles that preserve the permissions previously granted by groups.
Follow the migration guide to understand what changes, review the migration plan, and clean up generated roles afterward.
When you are deciding where to put an access rule, ask: "Is this about what
the person can do, or what the person can see?" Use a role for what they can
do. Use a group for what they can see.
## Roles
Roles define a team member's privileges across Cassidy. A person can have more than one role, and their effective privileges are the union of all assigned roles.
Cassidy includes managed roles you can assign right away:
Basic access to shared resources. Best for people who need to view or use
resources but should not create or manage them.
Standard access for regular team members. Best for people who use shared
Agents, Workflows, and Knowledge Base content.
Administrative access for managing team settings, integrations, users, and
workspace configuration.
You can also create **custom roles** when a team needs a more specific set of privileges. For example, you can create a **Workflow Builder** role that can create and edit Workflows without giving that person billing or SSO access.
### Connector privileges
Connector privileges decide which built-in
[Connectors](/agents/connectors/overview) a person can connect their own account
to. Shared connections don't need a privilege; anyone who can use the Agent and
the shared connection can use them.
* Grant **Agent Connectors** to let the role connect every built-in Connector.
* Grant an individual Connector privilege to allow only specific apps.
* Grant **Custom connectors** to let the role connect their own account to
Custom Connectors shared with them. This doesn't allow creating or managing
Custom Connectors.
* Grant [**Manage Connectors**](/settings/manage-connectors) only to people who
should change organization Connector settings and manage Custom Connectors.
A Connector disabled for the organization can't be used by anyone, whatever
their role.
### Pinned resource privilege
Grant **Customize Pinned Resources** to people who should choose which published Agents and Workflows are pinned for your organization. Organization pins appear only to people who already have access to the resource; they do not change sharing permissions.
This privilege does not control personal pins. Anyone can manage their own pinned chats, projects, Agents, and Workflows.
### Create a custom role
Open your account menu from the sidebar and select **Organization
Settings**.
Click **Roles** in the left sidebar.
Click **Create Role**. Add a clear name and description, such as **Workflow Builder** or **Support Manager**.
Use **Automatically receives privileges** if the role should stay aligned with one of Cassidy's managed roles.
When this setting is enabled, Cassidy automatically adds future privileges from the selected managed role to your custom role. Use this for broad roles that should evolve with Cassidy, such as a custom role based on **Member**. Leave it blank for tightly controlled roles where you want to review every new privilege manually.
Turn on the privileges this role should grant. Privileges are grouped by area, such as Agents, Workflows, Knowledge Base, meetings, and admin settings.
Click **Create Role**.
Your custom role is ready to assign to team members.
### Assign roles to a team member
Open your account menu from the sidebar and select **Organization
Settings**.
Click **Team Members** in the left sidebar. Find the user you want to update.
Click the role selector next to the user's name. Add or remove managed roles and custom roles.
Save the update. The team member's privileges update immediately.
Assign the narrowest role that lets someone do their job. Add another role
only when they need another clear set of privileges.
## Groups
Groups organize team members so you can share resources with many people at once. Groups do not grant workspace privileges like creating Agents, editing Workflows, inviting members, or managing billing. Use roles for those privileges.
When you share an Agent, Workflow, Knowledge Base collection, project, or Meeting folder, you can choose which groups and individuals can access it. See the sharing and permissions guides for each:
* [Agent sharing and management](/agents/sharing-and-management)
* [Workflow sharing and deployment](/workflows/sharing-and-deployment)
* [Knowledge Base permissions and structure](/knowledge-base/permissions-and-structure)
* [Meeting sharing and permissions](/meetings/sharing-and-permissions)
* [Share and organize chats](/guides/chatting-with-an-agent#share-and-organize-chats)
### Create a group
Open your account menu from the sidebar and select **Organization
Settings**.
Click **Groups** in the left sidebar.
Click **Create Group**. Give the group a descriptive name (e.g., "Sales Team", "Marketing", "Customer Support").
Search for and select team members to add to the group. You can also add members later.
Click **Save** to create the group.
Your group is now active. You can share Agents, Workflows, Knowledge Base collections, chats, and meetings with the group.
### How multiple groups work now
A user can belong to multiple groups. Each group can make different shared resources visible to that user.
For example, if a user is in the **Sales** group and the **Customer Success** group, they can see resources shared with either group. Whether they can create or edit resources depends on their roles.
For most teams, a simple structure works well:
* **All Employees**: A broad group for resources everyone should see.
* **Department groups**: Sales, Marketing, Support, Operations, or other teams that need access to department-specific resources.
* **Project groups**: Temporary or cross-functional teams that need access to a focused set of Agents, Workflows, or Knowledge Base collections.
Avoid using groups to mirror every job title. Use roles for job responsibilities and groups for resource visibility.
## Next steps
Add colleagues to your workspace and assign their roles and groups.
Automatically assign roles and groups based on your identity provider.
# Set up SSO
Source: https://docs.cassidyai.com/settings/sso
Enable SAML-based Single Sign-On so your team can log in to Cassidy with your identity provider.
Single Sign-On (SSO) lets your team sign in to Cassidy using your existing identity provider (IdP) — like Okta or Microsoft Entra ID (formerly Azure AD). Once enabled, users authenticate through your IdP instead of managing a separate Cassidy password.
SSO is available on **Enterprise** plans only. [Contact
us](mailto:support@cassidyai.com) to learn more or upgrade.
## Verify your domain
Before you can enable SSO, you need to verify that you own the email domain your team uses to sign in.
Open your account menu from the sidebar and select **Organization
Settings**.
In the left sidebar, click **Single Sign-On**. You'll see the SSO configuration panel.
Click **Add Verified Domain** and enter the email domain you want to enable for SSO (e.g., `yourcompany.com`).
Cassidy will provide a **TXT record** to add to your domain's DNS settings. Copy the record value and add it to your DNS provider.
DNS changes can take up to 48 hours to propagate, but most providers update within a few minutes.
Once you've added the TXT record to your DNS provider, return to Cassidy and click **Verify Domain**.
Once the TXT record is detected, your domain is verified.
Your domain is verified. You can now enable Single Sign-On.
## Enable SSO
Once you have at least one verified domain, you can enable SSO.
On the **Single Sign-On** settings page, click **Enable Single Sign-On**. This opens the SSO configuration modal.
The modal has two sections:
* **Identity provider details** — Enter your IdP's Entity ID, SSO URL, and public certificate. You can fill these in manually, or **upload your IdP's metadata XML** to auto-fill all three fields at once.
* **Service provider details** — Copy Cassidy's Entity ID and Sign-In URL into your IdP's configuration. Some IdPs also support importing an SP metadata file — click **download our SP metadata** to get the file.
## Configure your identity provider
Cassidy works with any SAML 2.0 identity provider. Below are step-by-step guides for Okta and Microsoft Entra ID — if you use a different provider, the general flow is the same: create a SAML application in your IdP, enter Cassidy's SP values, configure attribute mappings, and copy your IdP's values back into Cassidy.
In your Okta admin dashboard, go to **Applications** → **Create App Integration**. Select **SAML 2.0** as the sign-in method.
Enter the following values from Cassidy's SSO configuration modal:
| Okta field | Value |
| - | - |
| **Single sign-on URL** | Copy from Cassidy SSO settings |
| **Audience URI (SP Entity ID)** | Copy from Cassidy SSO settings |
Map the following user attributes so Cassidy can identify users:
| Name | Value |
| - | - |
| `email` | `user.email` |
| `firstName` | `user.firstName` |
| `lastName` | `user.lastName` |
In Okta, go to the **Assignments** tab of your new app and assign it to the users or groups who should have access to Cassidy.
After saving the Okta app, go to the **Sign On** tab and copy the following values into Cassidy's SSO configuration modal:
* **Sign on URL** (also called SSO URL or Login URL)
* **Issuer** (also called Entity ID)
* **Signing Certificate** (download the X.509 certificate)
Instead of copying values individually, you can upload Okta's metadata XML into the Cassidy modal to auto-fill all fields. You can also upload the certificate file directly instead of pasting its contents.
In the [Azure portal](https://portal.azure.com), go to **Microsoft Entra ID** → **Enterprise Applications** → **New Application** → **Create your own application**. Name it "Cassidy" and select **Integrate any other application you don't find in the gallery (Non-gallery)**.
Go to **Single sign-on** → **SAML**.
In the **Basic SAML Configuration** section, enter the values from Cassidy's SSO configuration modal:
| Entra ID field | Value |
| - | - |
| **Identifier (Entity ID)** | Copy from Cassidy SSO settings |
| **Reply URL (ACS URL)** | Copy from Cassidy SSO settings |
Instead of entering these values manually, you can **download Cassidy's SP metadata** from the SSO configuration modal and import it into Entra ID's SAML configuration.
Under **Attributes & Claims**, map the following:
| Claim name | Source attribute |
| - | - |
| `email` | `user.mail` |
| `firstName` | `user.givenname` |
| `lastName` | `user.surname` |
From the SAML configuration page in Entra ID, copy the following into Cassidy's SSO configuration modal:
* **Login URL**
* **Azure AD Identifier** (Entity ID)
* **Certificate (Base64)** — download and paste the contents
Instead of copying values individually, you can upload Entra ID's metadata XML into the Cassidy modal to auto-fill all fields. You can also upload the certificate file directly instead of pasting its contents.
## Verify and enable
After entering your IdP settings into the Cassidy configuration modal, click **Verify and Enable**. You'll be redirected through the SAML sign-in process to verify your settings are correct.
SSO sign-in respects your organization's join settings. If your organization
requires invitations or admin approval for new members, those rules still
apply when users sign in through SSO for the first time. See [Invite team
members](/settings/invite-team-members) for details.
SSO is now enabled. Team members with email addresses on your verified domain
will be redirected to your identity provider when signing in.
## Set up SAML group mappings
SAML group mappings let you map attributes in your identity provider's SAML response to Cassidy [groups](/settings/roles-and-groups). Use group mappings to automatically place people into the teams that control resource visibility.
When a user signs in through your IdP, Cassidy checks the user's SAML assertion and adds the user to Cassidy groups based on the mappings you've configured.
Groups control which shared resources a user can see. To automatically grant
privileges for what a user can do, use [SAML role
mappings](#set-up-saml-role-mappings).
### Important behavior
* **Case-sensitive** — Attribute keys and values must match exactly.
* **Additive only** — Cassidy adds users to groups when a mapping matches, but does not remove users from groups if the attribute is later removed in your IdP. Users also keep any groups they were already in.
* **Visibility only** — Group mappings update group membership. They do not grant privileges like creating Agents or managing settings.
* **Multi-value attributes supported** — If an attribute contains multiple values (e.g., a `groups` attribute with a list of group IDs), the mapping matches if any of the values exactly equals the mapping's configured value.
### Prerequisites
Before turning on mappings, make sure you understand exactly what attributes your IdP is sending in the SAML assertion — mappings only work if the attribute key and value are correct.
* Many IdPs require you to explicitly configure which attributes (including group membership) are included in the SAML assertion. If group membership isn't being sent, Cassidy won't have anything to map.
* **Microsoft Entra ID** often sends group Object IDs rather than group names. If you map by group, you typically need to use the ID values Entra ID sends.
* It's recommended to inspect and validate a SAML response to confirm the exact attribute key and value your IdP is sending (e.g., using [samltool.com](https://www.samltool.com/validate_response.php)) before creating mappings.
* SSO must be [enabled](#enable-sso) for your organization before you can configure group mappings.
### Configure mappings
In **Organization Settings** → **Single Sign-On**, click the **Group Mappings** tab.
Click **Add Group Mapping** to create a new mapping rule. Enter:
* **SAML Attribute Key** — The attribute name your IdP sends (e.g., `groups`, `memberOf`, or a custom attribute).
* **SAML Attribute Value** — The specific value to match (e.g., a group name or group Object ID, depending on your IdP).
* **Cassidy Group** — The Cassidy [group](/settings/roles-and-groups) to assign users to when the match is found.
Your IdP must include group membership in the SAML assertion under the same attribute key you configured in the mapping. If group membership isn't being sent, Cassidy won't have anything to map.
In Okta, configure a **group attribute statement** in your SAML application's settings. This tells Okta to include the user's group memberships in the SAML assertion.
In Entra ID, add a **Group Claim** in the **Attributes & Claims** section of your SAML application and set a custom claim name (e.g., `groups`). Entra ID typically sends group Object IDs rather than names, so use the ID values as your SAML Attribute Value.
Back in Cassidy, repeat step 2 for each group you want to map. The key should match the attribute name your IdP sends, and the value should match the exact value sent by your IdP for each group.
To learn more about creating and managing groups in Cassidy, see [Assign roles and groups](/settings/roles-and-groups).
Click **Save**. Mappings are applied the next time users sign in via SSO. Have a team member sign in to verify they are automatically assigned to the correct Cassidy groups based on their SAML group membership.
Group mappings are active. Users will be automatically assigned to Cassidy groups on their next SSO login.
## Set up SAML role mappings
SAML role mappings let you map attributes in your identity provider's SAML response to Cassidy [roles](/settings/roles-and-groups). When a user signs in through your IdP, Cassidy checks the user's SAML assertion and grants them any role whose mapping matches.
A mapping can target either a built-in **managed role** (Admin, Member, Viewer) or any **custom role** you've created.
Use role mappings for privileges like creating Agents, editing Workflows, inviting team members, managing groups, or configuring organization settings.
### Important behavior
* **Case-insensitive match** — Attribute keys are case-sensitive, but attribute values are compared case-insensitively.
* **Additive only** — Cassidy assigns matching roles when a user signs in but does not remove existing role assignments if the attribute is later removed in your IdP.
* **Multi-value attributes supported** — If an attribute contains multiple values, the mapping matches if any value equals the mapping's configured value.
* **Multiple mappings stack** — A user can match multiple role mappings on a single login, in which case they receive every matching role.
### Prerequisites
* SSO must be [enabled](#enable-sso) for your organization before you can configure role mappings.
* Custom-role targets require the destination role to already exist. Create roles in **Organization Settings** → **Roles & Groups** first.
* As with group mappings, validate the exact attribute key and value your IdP sends (for example using [samltool.com](https://www.samltool.com/validate_response.php)) before creating mappings.
### Configure mappings
In **Organization Settings** → **Single Sign-On**, click the **Role Mappings** tab.
Click **Add Role Mapping** to create a new mapping rule. Enter:
* **SAML Attribute Key** — The attribute name your IdP sends (e.g., `groups`, `memberOf`, or a custom attribute).
* **SAML Attribute Value** — The specific value to match (e.g., a group name or Object ID, depending on your IdP).
* **Cassidy Role** — The managed or custom role to grant when the match is found.
Repeat step 2 for each role you want SSO to grant. A user matching multiple mappings receives all the matching roles, and their effective privileges are the union of those roles.
Mappings are applied the next time users sign in via SSO. Have a team member sign in to verify they are automatically granted the correct roles.
Role mappings are active. Users will be automatically granted matching roles on their next SSO login.
## Next steps
Create and configure the roles and groups that SSO maps to.
Manually invite users who aren't covered by SSO.
# Set default workflow notifications
Source: https://docs.cassidyai.com/settings/workflow-notifications
Choose how your organization is notified when Workflows fail, and let members override that default in their own settings.
Admins can set a default [Workflow](/workflows/overview) failure notification frequency for the organization. This default applies to members who have not chosen their own setting. Members can override it anytime from Account Settings.
Only admins can change the organization default. New organizations start with
Workflow failure notifications **Off** until an admin chooses a different
frequency.
## Set the organization default
Open your account menu from the sidebar and select **Organization
Settings**.
Under **Notifications** in the left sidebar, click **Workflow Notifications**.
Select how members should be notified when Workflows they create fail:
| Frequency | Description |
| - | - |
| **Daily Summary** | One digest of all failures per day |
| **Hourly Summary** | One digest per hour |
| **Immediate** | Instant notification for every failure |
| **Off** | No notifications |
This setting does not change members who already saved a personal default. It only fills in the value for members who have not chosen one yet.
Click **Save** to apply your changes. The **Save** button only becomes active after you've made at least one change.
## How member overrides work
Members can still choose their own default from **Account Settings** → **Notifications**. Saving a personal option overrides the organization default. Members can also reset back to the organization default from that page.
To subscribe to failures on specific Workflows, including Workflows they did not create, members can add custom subscriptions. See [Set up failure notifications](/workflows/sharing-and-deployment#set-up-failure-notifications).
## Related
Choose personal notification defaults and subscribe to specific Workflows.
Control who can manage organization settings.
# Distribute Skills
Source: https://docs.cassidyai.com/skills/advanced/distribute-skills
Automatically install a published Skill for selected groups or everyone in your Cassidy organization and manage access safely.
Automatically install an important Skill for a group or everyone in your organization.
Use distribution when people should receive an approved Skill without finding and installing it individually.
You need the **Manage Skill Distribution** privilege. The Skill must be
published, and every selected audience must be able to view it.
## When to distribute a Skill
Distribution is useful when:
* A department is expected to follow the same approved process
* Everyone in the organization should receive a standard Skill
* An administrator wants to roll out an update without asking each person to install it
For optional Skills, normal sharing and personal installation are usually enough.
## Before you distribute
Confirm:
* The Skill has been tested with a representative user.
* The published version is ready for the full audience.
* The audience can view the Skill's folder or Team location.
* The audience can access referenced Knowledge Base sources and Workflows.
* Required external applications are available to the intended users.
Sharing or distributing a Skill does not grant access to its referenced resources.
## Choose the audience
You can distribute a Skill to:
* **Everyone in the organization**
* One or more **groups**
Distribution does not target individual people. A person can install the Skill personally when individual access is needed.
## Distribute the Skill
Open the Skill's **...** menu and select **Manage Distribution**.
You can also open **More options → Sharing → Manage Distribution** from the Skill editor.
Turn on **Everyone in the organization**, select groups under **Install for groups**, or use both.
Cassidy prevents saving when a selected audience cannot view the Skill.
Move the Skill to an accessible location or update its folder permissions, then try again.
Click **Save Installation**.
The published Skill becomes available in chats those people start directly in Cassidy.
## What recipients see
Recipients see **Installed by admin**.
They cannot uninstall the Skill while an organization or group distribution rule applies. If the rule is removed, a separate personal installation remains installed.
The Skill is available with default and custom Agents that have **Code Execution & File Creation** enabled.
## Change or remove distribution
Open **Manage Distribution**, update the selected audience, and save again.
Before removing a broadly used Skill:
* Review its [usage](/skills/analytics-and-history).
* Check whether important Agents or Workflows also include it.
* Notify affected teams when removing a required process.
Removing distribution does not delete the Skill or its published versions.
## Troubleshoot distribution
Confirm that you have the **Manage Skill Distribution** privilege and that
the Skill has a published version.
Move the Skill to **Team** or a folder shared with the selected organization
or groups. Distribution cannot override Skill visibility.
Confirm the person's Agent has **Code Execution & File Creation** enabled and
that the person can access the Skill's Knowledge Base sources, Workflows, and
external applications.
Skills installed by an administrator cannot be uninstalled while the
organization or group distribution rule applies.
## Next steps
Manage Skill visibility and folder access.
See who receives the Skill and how often it is used.
# Securely connecting to APIs
Source: https://docs.cassidyai.com/skills/advanced/securely-connecting-to-apis
Connect a Skill to an external API without placing credentials in its instructions or files by configuring protected request headers.
Connect a Skill to an external API without writing an API key or other credential in the Skill's instructions, code, or files.
Cassidy keeps the credential separate from the Skill and adds it at the network layer only when Skill code sends a request to the host you configure.
## Why API keys work this way
Putting an API key in instructions, code, or a file would allow an Agent or anyone who can open the Skill to read and copy it. API Keys & Headers avoids exposing the credential:
1. The Agent and Skill code receive the API host and header name, but not the secret value.
2. The code sends a request without containing the credential.
3. Cassidy adds the secret header at the network layer as the request goes to the matching host.
The API receives the credential and can authenticate the request, but the Agent, generated code, Skill editors, and people using the Skill never receive the stored value.
## When to use this
Use API Keys & Headers when you want to give Agents programmatic access to a service that does not have a Cassidy Connector or an official MCP server.
For example, you could create a Skill that:
* Looks up customer, order, inventory, or account information from an internal API
* Runs approved reports against an internal analytics service
* Checks the status of private systems or operational processes
* Creates tickets or starts approved internal processes
* Works with a legacy or specialized business system that does not offer a ready-made integration
The Skill provides the instructions and code for using the API. API Keys & Headers provides the credential securely. Together, they provide an experience similar to a purpose-built Connector or MCP server without exposing the API key.
A credential configured on a Skill is shared by everyone who can use that
Skill. Use a narrowly scoped service account or API key. If each person should
use their own account and permissions, use a
[Connector](/agents/connectors/overview) or [MCP
server](/agents/connectors/mcp-servers) instead.
## Before you start
You need:
* Edit access to the Skill
* An API key, token, or other credential from the service you want to connect
* The API's hostname and required authentication header
* Instructions or code in the Skill that knows how to call the API
The API key feature supplies authentication. It does not teach the Skill which endpoints to call or how to interpret the response.
## Connect the Skill
Find the hostname, header name, and value format in the API provider's documentation.
For example, an API may require:
* Host: `api.example.com`
* Header: `Authorization`
* Value: `Bearer YOUR_API_KEY`
Other APIs may use a header such as `X-API-Key` and expect only the key as its value.
Open the Skill editor, select **More options → Advanced → API Keys & Headers**, then click **Add Host**.
Enter only the hostname, such as `api.example.com`.
Do not include `https://`, a path such as `/v1`, or a port number.
Use the most specific hostname possible. Wildcards such as `*.example.com` are supported, but they send the configured headers to a broader set of hosts.
Enter the header name required by the API. For credentials, select **Secret** and enter the complete value expected by the provider.
For a bearer token, include the `Bearer ` prefix:
```text theme={null}
Bearer YOUR_API_KEY
```
Use **Public parameter** only for non-sensitive values that Skill editors can safely read, such as an API version or environment name.
Click **Save**, then use the Skill in a test chat and confirm that the API request succeeds.
Test both a successful request and a request the credential should not be allowed to perform.
## How Cassidy protects secret values
* Secret values are hidden after you save them. Editors can see that a value exists, but cannot retrieve it.
* Cassidy adds the configured headers only to requests matching the host rule.
* Secret values are not included when a Skill is exported.
* People with edit access can replace or remove a secret, but they cannot reveal the saved value.
* API Keys & Headers are Skill-level settings. Changes take effect after saving and do not require publishing a new Skill version.
**Public parameters are visible to Skill editors.** Never use **Public
parameter** for API keys, bearer tokens, passwords, or other credentials.
## Security recommendations
* Create a dedicated credential for the Skill instead of using a personal API key.
* Grant only the permissions and data access the Skill needs.
* Prefer read-only access unless the Skill must create or update data.
* Restrict the credential to the provider's exact host when the provider supports it.
* Set an expiration date and rotate the credential regularly.
* Review the API provider's activity logs for unexpected requests.
* Remove the host rule immediately if the credential is compromised.
## Rotate or remove a credential
To rotate a credential, return to **More options → Advanced → API Keys & Headers**, enter the replacement secret, and save.
Leaving an existing secret field blank keeps the current value when its host and header name have not changed. Changing either one requires you to enter the secret again. To stop using the credential, remove its header or host rule and save.
## Troubleshoot failed requests
Confirm that the header name and value format match the API provider's
documentation. For an `Authorization` header, check whether the provider
requires a prefix such as `Bearer `.
The credential was recognized but may not have permission for that endpoint
or data. Review the credential's scopes and account access with the API
provider.
Confirm that the request hostname exactly matches the configured host. Do
not put a protocol, path, or port in the host field.
A Skill API key is shared. Use a [Connector](/agents/connectors/overview) or
[MCP server](/agents/connectors/mcp-servers) when each person should
authenticate with their own account.
## Next steps
Add instructions and code that use the connected API.
Control who can use a Skill connected to a shared credential.
# Review Skill usage
Source: https://docs.cassidyai.com/skills/analytics-and-history
See who currently receives a Skill, understand chat and active-user counts, and review conversations when your admin permissions allow it.
Use Analytics to understand a Skill's reach and usage, then review representative conversations to decide what to improve.
Analytics measures usage, not output quality or business results. A change in
usage does not prove that a Skill update caused better or worse outcomes.
## Who can access these views
* **Analytics** is available to people who can edit the Skill.
* **History** is only available to organization admins who can view organization chats.
The History tab is hidden when you do not have the required admin access.
## Open Analytics
Go to **Skills** and open a Skill you can edit.
Click **Analytics** at the top of the Skill editor.
Use the date picker to choose the period you want to review.
## Understand the metrics
### Installed Users
The number of people with a current installation record from:
* Personal installation
* Group distribution
* Organization-wide distribution
This is not the number of people who used the Skill during the selected date range. If visibility changes after installation, the count can include someone who no longer has access to the Skill.
### Chats Using This Skill
The number of distinct chats with activity after the Skill became active during the selected date range.
This count can include:
* Normal interactive chats
* Chats created by Workflow activity
### Active Users
The number of distinct people who sent an interactive chat message after the Skill became active during the selected date range.
Workflow-generated messages contribute to **Chats Using This Skill**, but they do not count as an active user.
### Skill Usage Over Time
The chart shows either **Chats** or **Active Users** by day.
Use it to spot patterns worth investigating, such as:
* Usage beginning after a team rollout
* A Skill being installed widely but used rarely
* A noticeable change after publishing an update
Review conversations and other business information before deciding why a pattern occurred.
## Review installed users
The installed-user list shows how each person receives the Skill:
* **Personal:** The person installed it themselves.
* **Organization:** The Skill is distributed to everyone.
* **\[Group name]:** The Skill is distributed through that group.
A person can have more than one source.
Use [Distribute Skills](/skills/advanced/distribute-skills) to change group or organization-wide installation.
## Review Skill History
History shows chats where the Skill became active automatically or through explicit selection.
Workflow-generated chats can contribute to Analytics, but they do not appear in History.
Skill History can contain coworkers' conversations. It is only available to
organization admins who can view organization chats.
Open the Skill and click **History**.
Filter by date or user when you need a representative group of conversations.
Select a chat to review the request, how the Skill became relevant, and the resulting response.
History can help an authorized admin understand:
* Which requests lead Cassidy to select the Skill
* Whether people choose it explicitly with **/**
* Where required information is missing
* Whether users encounter resource-access or tool-approval problems
* Whether the instructions produce the intended format and boundaries
## Improve the Skill responsibly
Use this review loop:
1. Check Analytics for a usage pattern.
2. Review a representative set of conversations in History when authorized.
3. Form a specific hypothesis, such as “The description is too broad.”
4. Update and test the Skill.
5. [Publish a version](/skills/version-history#publish-a-version).
6. Watch for usage changes and review new conversations.
Analytics can show that behavior changed. Conversation review and business outcomes help you judge whether the change was useful.
## Next steps
Improve descriptions, instructions, resources, and testing.
Save a checkpoint and publish a reviewed update.
# Build and improve Skills
Source: https://docs.cassidyai.com/skills/build-and-configure
Write clear Skill instructions, add useful resources and tools, edit with Cassidy, and test difficult cases before sharing with your team.
Improve a Skill by making its purpose clear, giving it a practical playbook, and adding only the resources needed to complete the work.
New to Skills? Start with [Create your first
Skill](/skills/create-your-first-skill) for one guided path from an idea to a
working Skill.
## Focus on the four essentials
A useful Skill has:
* **A clear name** people can recognize
* **A specific description** that helps Cassidy know when the Skill applies
* **Practical instructions** for completing the work
* **Relevant resources** such as examples, templates, or company sources
Optional tools can make a Skill more powerful, but they cannot compensate for an unclear playbook.
## Write a clear name and description
Use a name that describes the work, such as **Customer Follow-up Emails** or **Security Questionnaire Responses**.
The description should explain:
* What requests the Skill handles
* Who or what the work is for
* What result it produces
* Important situations where it should not be used
**Specific description:**
> Drafts customer follow-up emails from call notes using our approved tone, structure, and commitment rules.
**Too broad:**
> Helps with emails.
A broad description can make Cassidy select the Skill for unrelated requests. A specific description improves both discovery and automatic selection.
## Write useful instructions
Instructions are the playbook an Agent follows after Cassidy selects the Skill.
Use this structure as a starting point:
### Purpose
State the result the Skill should help produce.
> Help sales and customer success teams write accurate, concise follow-up emails after customer conversations.
### When to use
Describe the requests and information that make the Skill relevant.
> Use this Skill when someone asks to draft or revise a customer follow-up email using call notes, meeting notes, or a summary.
### Required information
List what the Agent needs before it can do the work.
> Identify the customer goal, agreed next steps, owners, and dates. Ask the user when required information is missing.
### Steps
Write the process in the order the Agent should follow it.
1. Review the provided notes.
2. Separate confirmed facts from assumptions.
3. Identify the customer's goal and agreed next steps.
4. Draft the email using the approved structure.
5. Check every commitment against the source notes.
### Output requirements
Describe the expected format, tone, length, and quality checks.
> Use a warm, direct tone. Keep the email under 250 words. End with a clear owner and next step.
### Boundaries and review
State what the Agent must not do and when a person should review the result.
> Never invent pricing, dates, product capabilities, or commitments. Ask the sender to review any commitment before including it.
### Examples
Provide representative inputs and strong outputs when quality or formatting is difficult to explain with rules alone.
Write instructions for how to do the work. Put frequently changing company
facts in the Knowledge Base instead of copying them into the instructions.
## Add the right supporting material
### Files
Add Skill files when the resource should travel with the Skill, such as:
* Templates
* Approved examples
* Style guides
* Scripts
* Presentations or spreadsheets
Use descriptive names and folders so the Agent can identify each resource. Explain in the instructions when and how to use important files.
### Knowledge Base sources
Reference [Knowledge Base](/knowledge-base/overview) items when the Skill needs approved information that may change over time.
For example:
* Put the rule “Never invent a security commitment” in the Skill instructions.
* Reference current security policies and product documentation from the Knowledge Base.
People using the Skill must also be able to access its referenced Knowledge Base sources.
## Add optional tools only when needed
### Capabilities
Add a [Capability](/agents/capabilities/overview) when the Skill needs an extra Cassidy ability, such as current web research, browser interaction, image creation, or interactive outputs.
Explain in the instructions when the Agent should use the Capability.
### Connectors
Add a [Connector](/agents/connectors/overview) when the Skill needs to read or update information in a business app.
Each person uses their own account. Adding a Connector to a Skill doesn't give
anyone access they don't already have. The person's action permissions and the
organization's approval requirements decide whether an action runs without
asking, asks first, or stays disabled.
In the Cassidy web app, the Agent may suggest adding or turning on a Connector
the Skill needs. The person still signs in with their own account.
### Workflows
Add a published Workflow with a **Manual** trigger when the Skill should run a defined multi-step process.
Explain:
* When to run the Workflow
* Which information to collect first
* How to use the result
People using the Skill must also have access to the selected Workflow.
### Internal or unsupported APIs
When no Connector exists for an API, a technical builder can give a Skill controlled access to it without exposing its credential. See [Securely connecting to APIs](/skills/advanced/securely-connecting-to-apis).
## Edit a Skill
### Edit in the Skill editor
Changes to the current draft save automatically. They do not affect the published Skill until you publish.
### Propose changes in chat
While using a Skill, describe the change you want. Cassidy can create a **Draft Skill Changes** proposal for you to review.
An Agent cannot publish a Skill. A person with edit access must review and publish the proposed changes.
## Test the Skill
Test with the people, information, and edge cases the Skill will encounter.
* **Primary task:** Ask for the main result and verify that the Skill follows the expected process and format.
* **Missing information:** Remove an important input and confirm the Agent asks for it instead of guessing.
* **Difficult case:** Try a sensitive or unusual request and confirm the Skill follows its boundaries and escalation rules.
* **Irrelevant request:** Ask a nearby but unrelated question and confirm Cassidy does not force the Skill.
* **Resource access:** Test with a typical end user and confirm they can access the referenced Knowledge Base sources, Workflows, files, and external applications.
* **Tool behavior:** Confirm Connectors request authentication and approval correctly, and that selected Workflows receive the right information.
## Other ways to create a Skill
Choose a guided starting point when Cassidy already provides one for your
type of work. Add your organization's standards, examples, and sources
before publishing.
Choose **Create Blank Skill** when you already know the name, description,
instructions, and resources you need.
Upload a `.skill`, `.zip`, `SKILL.md`, or compatible Markdown file when you
already have a Skill package.
Archives must contain `SKILL.md`. Review every imported instruction, file,
tool, and resource before publishing. References from another organization
may not exist or may require different access.
## Publish your improvements
Publishing makes the current draft the version that people, Agents, and Workflow AI actions use.
Before publishing:
* Review the complete change summary
* Test the primary task and important boundaries
* Test with a representative end user
* Confirm the intended audience can access referenced resources
See [Manage Skill versions](/skills/version-history) for checkpoints, publishing, comparison, and restore behavior.
## Next steps
Install a Skill, choose it in chat, or add it to an Agent or Workflow.
Control who can discover and use the finished Skill.
# Create your first Skill
Source: https://docs.cassidyai.com/skills/create-your-first-skill
Turn a repeatable task into a tested Skill with Cassidy's help, then publish it privately and try it in a real conversation.
Create a reusable Customer Follow-up Email Skill from a plain-language description, test it in chat, and improve it before sharing it with your team.
**Before you start:** You need permission to create Skills. This tutorial
includes sample content, so you do not need to prepare your own examples.
## What you will build
In this tutorial, you will create a Skill that helps customer-facing teams write follow-up emails.
The Skill will:
* Use your organization's tone
* Lead with the customer's stated goal
* Follow an approved structure
* Include clear next steps
* Avoid commitments the sender has not approved
Complete this example first. Afterward, you can use the same steps for another repeatable task.
## Create the Skill
Click **Customize** in the sidebar, then select **Skills**.
Click **New Skill**. Under **Create a Custom Skill**, describe the reusable work you want Cassidy to learn.
A useful request explains the audience, desired result, standards, source material, and boundaries. For example:
> Create a Customer Follow-up Email Skill for our sales and customer success teams. It should summarize the customer's stated goal, connect our recommendation to that goal, and end with clear next steps. Use a warm, concise tone. Follow the email examples I provide. Never invent commitments, pricing, dates, or product capabilities. Ask the sender to review any commitment before including it.
You do not need to write perfect instructions. Start with what your team is trying to accomplish and the rules that matter most.
Cassidy may ask focused follow-up questions or request examples.
Provide:
* One or two strong follow-up emails
* Your brand or communication guidelines
* Required sections or formatting
* Situations that require human review
* Requests the Skill should not handle
If the Skill depends on company facts, identify the relevant [Knowledge Base](/knowledge-base/overview) sources.
When Cassidy creates the draft, open it and review:
* **Name:** Is it easy for coworkers to recognize?
* **Description:** Does it clearly say when the Skill should be used?
* **Instructions:** Do they match your real process?
* **Examples and files:** Are they current and appropriate to share?
* **Boundaries:** Does the Skill know when to ask for human review?
A draft is not yet available in chats you start directly in Cassidy. You decide when to publish it.
Click **Publish**, choose **Private**, and confirm.
Publishing privately makes the Skill usable without sharing it with the rest of your organization. This gives you a safe place to test the first version.
## Confirm installation and test it
Publishing automatically installs the Skill for the person who publishes it.
Open the published Skill and confirm that it appears under **Installed**.
The Skill now follows you across chats you start directly in Cassidy with default and custom Agents that have **Code Execution & File Creation** enabled.
Open a new chat and send this request:
> Draft a follow-up email from these notes: Northstar Health wants to reduce support-ticket routing time. Priya will send pilot requirements Thursday, and Jordan will schedule a review Tuesday. We did not discuss pricing or a launch date.
Check that the result:
* Uses the expected structure and tone
* Reflects the customer's actual goal
* Includes accurate next steps
* Does not invent commitments
The response progress shows **Used \[Skill name]** when Cassidy uses the Skill.
Try at least two more requests:
* An incomplete request that should make the Agent ask for information
* An unrelated request that should not use the Skill
If the Skill is selected too often, make its description more specific. If the result misses an important rule, add that rule to the instructions.
Return to the Skill editor, update the draft, and publish the improved version.
When you are satisfied with the results, move the Skill to **Team** or a shared folder so other people can find it.
You now have a tested, published Skill that you can continue improving.
## Other ways to start
After you understand the standard creation flow, you can also:
* Choose a **starting point** for a guided beginning
* Choose **Create Blank Skill** when you already know exactly how to configure it
* Choose **Upload Skill** when you have an existing compatible Skill package
See [Build and improve Skills](/skills/build-and-configure) for detailed authoring guidance.
## Next steps
Write clearer instructions, add resources, and test difficult cases.
Choose who can find and use the finished Skill.
# Overview of Skills
Source: https://docs.cassidyai.com/skills/overview
Learn how Skills give Cassidy reusable playbooks for specialized work, when to use them, and how they differ from Agents and Workflows.
A Skill is a reusable playbook that teaches [Agents](/agents/overview) how to complete specialized work.
Instead of explaining the same process in every conversation, you can capture your team's instructions, standards, and examples once. Cassidy can then apply that playbook whenever it is relevant.
## A familiar example
Imagine your customer-facing teams regularly write follow-up emails.
A **Customer Follow-up Email** Skill could teach Cassidy to:
* Use your organization's tone and approved structure
* Lead with the customer's stated goal
* Include the right next steps
* Avoid making commitments the sender has not approved
* Follow examples of strong emails from your team
Someone could ask any compatible Agent:
> Draft a follow-up email after this customer call.
Cassidy can recognize that the Skill is relevant and use the shared playbook. The person does not need to paste the instructions again or switch to a specialized Agent.
## How Skills work
When you send a request:
1. Cassidy considers the Skills available in that chat.
2. Cassidy identifies a Skill that may help with the task.
3. Cassidy loads that Skill's full instructions and supporting resources.
4. The Agent follows the playbook while completing your request.
Only the Skill's name and description are needed to decide whether it may be useful. The detailed instructions and files are loaded when Cassidy uses the Skill, keeping unrelated information out of the conversation.
Installed Skills follow you across chats you start directly in Cassidy. They
remain available when you switch between default and custom Agents that have
**Code Execution & File Creation** enabled. Newer Agents include this setting
by default.
Cassidy can choose a Skill automatically, but you can also select a specific Skill by typing **/** in chat.
## Why teams use Skills
### Keep work consistent
A shared playbook helps different people and Agents follow the same process, quality standards, and boundaries.
### Improve a process once
When the owner improves a Skill and publishes the update, everyone using that Skill receives the improved playbook.
### Reuse expertise
The same Skill can support multiple people, compatible Agents, and selected [Workflow](/workflows/overview) AI actions.
### Make specialized work easier to discover
People can find and install a Skill without knowing which Agent, prompt, or document originally contained the process.
## Examples of Skills
* **Sales:** Write follow-up emails, prepare account plans, or create proposals
* **Customer support:** Draft approved responses and follow escalation rules
* **Operations:** Prepare executive briefs, review vendors, or follow process checklists
* **Marketing:** Create content that follows brand and campaign standards
* **Security:** Answer questionnaires using approved company sources
## What a Skill can use
Every Skill starts with instructions: the repeatable process the Agent should follow.
A Skill can also use:
* Files, examples, and templates that demonstrate the expected result
* [Knowledge Base](/knowledge-base/overview) sources containing approved company information
* [Capabilities](/agents/capabilities/overview) for tasks such as searching the web, creating images, or using a browser
* [Connectors](/agents/connectors/overview) for working with supported business applications
* Published [Workflows](/workflows/overview) for running defined multi-step processes
These resources support the playbook. They do not replace clear instructions about what the Agent should do.
## Skills compared with other Cassidy features
### Skill or Agent?
An **Agent** is the AI teammate you work with. A **Skill** is a specialized way of completing a task.
Give an Agent the identity, general responsibilities, and context it should always have. Use a Skill when the same specialized process should work across different Agents or conversations.
### Skill or Workflow?
A **Workflow** runs a defined sequence of actions, conditions, and approvals. A Skill gives an Agent guidance it can apply flexibly.
Use a Workflow when the process must follow controlled steps. Use a Skill when the Agent needs judgment about how to apply a reusable playbook. You can also add Skills to Workflow AI actions.
### Skill or Knowledge Base?
The **Knowledge Base** provides facts and source material. A Skill explains how to use that information to complete a task.
For example, security policies belong in the Knowledge Base. The procedure for answering a security questionnaire belongs in a Skill.
### Skill or global instructions?
Global instructions describe broad preferences that should apply throughout Cassidy. Skills are for task-specific guidance that should load only when relevant.
## When to create a Skill
A task is a strong candidate when:
* People repeatedly provide the same detailed instructions
* Several people or Agents need the same process
* Results must follow a shared format, tone, or quality standard
* The work depends on reusable examples or templates
* Improving the process once should improve it everywhere
Use something else when:
* The request is a one-time instruction for one conversation
* The behavior permanently belongs to only one Agent
* The process requires fixed triggers, branching, or approvals—in that case, use a [Workflow](/workflows/overview)
## Next steps
Turn a repeatable task into a tested Skill with Cassidy's help.
Install a shared Skill or select one in chat.
# Share Skills with your team
Source: https://docs.cassidyai.com/skills/sharing-and-management
Control who can find a Skill, organize access with folders, share links, create copies, and move Skills between Cassidy organizations.
Share a Skill with the people who need it while keeping sensitive instructions, files, and company sources appropriately restricted.
## Sharing and installation are different
Before changing access, remember:
* **Sharing** controls who can find and open a Skill.
* **Installation** makes the Skill available across a person's compatible Cassidy chats.
* **Attachment** makes the Skill available through a particular Agent or Workflow AI action.
Sharing a Skill does not automatically install it. Installing a Skill does not grant access to resources that person cannot already view.
## Choose where a Skill lives
Each Skill has one location:
* **Private:** Only the creator can access the Skill.
* **Team:** Everyone in the organization can find and view the Skill.
* **Shared folder:** The organization, selected groups, or selected people receive the access configured on that folder.
* **Restricted folder:** Only the creator and people or groups added to the folder can access it.
Folders control access for the Skills inside them. You do not need to maintain a separate sharing list on every Skill.
## Share Skills with a folder
Use folders to organize and share Skills by department, use case, or audience.
Open the **...** menu beside **Team** or **Private**, then select **New Folder**.
Give the whole organization access, or restrict the folder to selected people and groups.
Choose whether each person or group can view or edit the folder's Skills.
Open the folder's **Share** settings, add the intended audience, and review each access level.
Drag a Skill into the folder, or open its **More options** menu and choose **Move to Folder**.
Moving a Skill can change who can see its instructions and files. Review the
destination folder before moving sensitive content.
To share a Skill with everyone, move it to **Team**. Only the Skill creator can move it back to **Private**.
Deleting a folder does not delete its Skills. The Skills return to **Team**.
## Make sure resources are also accessible
A person may be able to view a Skill but still lack access to something it uses.
Sharing does not grant access to:
* Knowledge Base sources
* Workflows
* External applications
* Connector accounts
* Other restricted company resources
Cassidy warns about missing Knowledge Base and Workflow access when possible. Test the Skill with someone from the intended audience before sharing it broadly.
## Install an important Skill for a team
An administrator can automatically install a published Skill for selected groups or everyone in the organization.
This is useful for required or organization-standard processes. It is not necessary for normal sharing: anyone with view access can install a published Skill personally.
See [Distribute Skills](/skills/advanced/distribute-skills) for the admin setup, access checks, and recipient behavior.
## Share a direct link
From the Skill editor, open **More options → Sharing → Copy Link to Skill**.
The link does not change access. Only people who already have permission can open it.
## Create an independent copy
Choose **Duplicate Skill** when a person or team needs an editable variation that should no longer receive updates from the original.
The duplicate is a separate Skill with its own draft, published versions, location, and installations.
## Move a Skill between organizations
### Export
Export downloads a portable `.skill` package containing the Skill's instructions and supporting files.
The editor exports the current Skill, which can include unpublished draft changes. Review the draft before exporting.
Secret values from **API Keys & Headers** are never included. External resources and authentication may need to be configured again after import.
Open the Skill's menu and choose **Export Skill**.
Export availability follows the same organization control used for Agent and Workflow exports.
The package may contain proprietary instructions, templates, examples, scripts, and files. Handle it according to your organization's policies.
### Import
Open **Customize** → **Skills**, then open **New Skill** and choose
**Upload Skill**.
Upload a `.skill`, `.zip`, `SKILL.md`, or compatible Markdown file.
A `.skill` or `.zip` archive must contain `SKILL.md`.
Cassidy creates a new draft. Review every instruction, file, tool, and
reference before publishing.
Replace Knowledge Base sources, Workflows, Connectors, or other resources that do not exist or are not accessible in the new organization.
Only upload Skill packages from sources you trust.
## Delete a Skill safely
Open **More options → Delete Skill**. Deletion cannot be undone.
Before deleting a shared Skill, check:
* Who has installed it
* Whether it is distributed by an administrator
* Which Agents include it
* Which Workflow AI actions use it
* Whether recent usage suggests people still depend on it
Deleting a Skill can leave those configurations with an unavailable Skill.
## Next steps
Install a Skill or make it available through an Agent or Workflow.
Automatically install a required Skill for groups or your organization.
# Use Skills
Source: https://docs.cassidyai.com/skills/using-skills
Install Skills for your Cassidy chats, let Agents choose them automatically, select one yourself, or add one to an Agent or Workflow.
Use a published Skill across your Cassidy chats or make it available through a specific [Agent](/agents/overview) or [Workflow](/workflows/overview) AI action.
**Skills require Code Execution & File Creation.** Newer Agents include this
setting by default. An older custom Agent may need an editor to enable it
under **Advanced Settings** and publish the Agent again.
## Understand where a Skill is available
* **Installed for you:** The Skill follows you across chats you start directly in Cassidy with compatible default and custom Agents.
* **Attached to an Agent:** The Skill is available while someone uses that Agent.
* **Added to a Workflow AI action:** The Skill is available to that specific **Generate Text** action.
A compatible Agent has **Code Execution & File Creation** enabled.
Personal installations apply to chats you start directly in Cassidy. They do not automatically carry into external Agent deployments or unrelated Workflow runs.
## Install a Skill for yourself
Install a Skill when you want it available regardless of which compatible Agent you choose.
Click **Customize** in the sidebar, then select **Skills**. You can also
choose **Manage skills** from the chat slash menu.
The Skills page opens with your installed Skills and the rest of your
team's library.
Use the sidebar to browse all Skills, team Skills, private Skills, or
shared folders.
Open a Skill to review its description, resources, and tools, then click
**Install this Skill**.
Cassidy warns you when the Skill references Knowledge Base sources or
Workflows you cannot access. Once installed, the Skill appears in your
active Skills and under **My Skills** in the chat slash menu.
You can uninstall a Skill you installed personally. A Skill installed by an administrator remains installed while that distribution rule applies.
## Let Cassidy choose a Skill
Once a Skill is available, Cassidy can select it when its description matches your request.
For example:
1. You install a **Customer Follow-up Email** Skill.
2. You open your regular sales Agent.
3. You ask for a follow-up email using customer call notes.
4. Cassidy loads the Skill's playbook and applies it to the draft.
The response progress shows **Used \[Skill name]** when Cassidy uses a Skill.
A specific name and description help Cassidy choose appropriately. If a Skill
is used too often or not often enough, improve its description and test again.
## Choose a Skill yourself
Use the slash menu when you already know which Skill you want.
Type **/** in the chat box.
Select a Skill under:
* **Current Agent's Skills:** Skills attached to the Agent you are using
* **My Skills:** Skills installed personally or by an administrator
Continue writing your request after the Skill reference, then send the message.
Selecting a Skill makes your intention explicit, but you should still include the information needed to complete the task.
## Attach a Skill to an Agent
Attach a Skill when it should be available whenever someone uses a particular Agent.
Go to **Agents**, open the Agent, and click **Edit**.
Find **Skills**, click **Add**, and choose a published Skill.
Confirm **Code Execution & File Creation** is enabled under **Advanced
Settings**.
Publish the Agent so the change becomes available to users.
People must still be able to view the Skill and access its referenced Knowledge Base sources, Workflows, and external applications. Attaching a Skill does not grant those permissions.
## Add a Skill to a Workflow AI action
Skills can provide instructions and resources to **Generate Text** and **Generate Text with Agent** actions.
For **Generate Text with Agent**, action-level Skills are added to any Skills already attached to the selected Agent.
In the Workflow builder, select a **Generate Text** or **Generate Text with Agent** action.
Expand **Skills**, click **Add Skill**, and choose a published Skill.
Adding the first Skill automatically enables **Code Execution & File Creation** for that action.
Run the Workflow with realistic inputs, check the result, and publish the Workflow.
Only add Skills relevant to that AI step. Too many unrelated Skills make selection less predictable.
## If a Skill is unavailable
Check:
* The Skill has a published version.
* You can view the Skill.
* The Agent has **Code Execution & File Creation** enabled.
* You can access the Skill's referenced resources.
* You are using a chat started directly in Cassidy, or the Skill is explicitly attached to the Agent or Workflow action.
## Next steps
Improve selection, instructions, resources, and testing.
Control who can discover and install a Skill.
# Manage Skill versions
Source: https://docs.cassidyai.com/skills/version-history
Understand Skill drafts, save checkpoints, publish updates, compare changes, and safely return to an earlier published version.
Improve a Skill without changing what people use until you are ready to publish.
## Understand the three states
### Current draft
The current draft contains your latest edits. Changes save automatically, but they do not affect the Skill people and Agents use.
### Saved version
A saved version is a checkpoint you can name and return to later. Saving a version does not make it live unless you publish it.
### Published version
The published version is the live version used in chats, Agents, and Workflow AI actions.
Editing affects the current draft. Publishing changes the live Skill.
## Save a checkpoint without publishing
Save a version when you want a stable checkpoint before testing, collecting feedback, or making a larger change.
Click the arrow beside **Publish**.
Select **Save Without Publishing**.
Add an optional version name and description, then click **Create Version**.
Use the description to explain what changed or what still needs review.
The published Skill remains unchanged.
## Publish a version
Publishing makes your changes available to everyone currently using the Skill.
Click **Publish**, or open the publish menu and select **Publish Current Draft**.
Add an optional version name and description.
Useful notes explain the outcome, such as “Adds escalation guidance for refund requests.”
Review **Changes Being Published**. Use **View All Changes** when you need to inspect instructions, files, resources, or tools in detail.
Click **Publish**.
The new version becomes live immediately for personal installations, admin distribution, Agent attachments, and Workflow AI actions.
A published Skill requires a name and description.
## Review version history
Open the version selector beside the Skill name to see:
* The current draft
* Saved and published versions
* Who created each version
* When each version was created
* Which version is currently published
From a version's **...** menu, you can compare changes, publish that saved version, or restore it.
## Publish a saved version
Publishing a saved version makes that checkpoint live. It is different from publishing the current draft.
Publishing a saved version also replaces the current draft with that version. Save newer draft work as a separate version first if you need to preserve it.
Before publishing, review the selected version carefully so you know which instructions and files will become active.
## Restore an earlier version
Restoring replaces the current unpublished draft. It does not change the live
published version. Save a checkpoint first if you want to keep current draft
changes.
Open **Version History**, open the version's **...** menu, and select **Restore Version**.
Review **Changes Being Restored**.
Click **Restore Version**.
The selected version becomes the current draft. Publish it separately when
you are ready to make it live.
Restoring does not delete newer versions. You can return to them later.
## Publish changes proposed in chat
When Cassidy proposes an update in chat, it creates **Draft Skill Changes**.
Open the proposal, review the differences, and publish only when the change is ready. Agents can propose and save draft changes, but they cannot publish a Skill.
## Next steps
Edit and test the draft before publishing.
Understand reach and usage before changing a widely used Skill.
# Create and export presentations with Cassidy Slides
Source: https://docs.cassidyai.com/slides/create-and-export-presentations
Learn how to create, refine, present, and export polished presentations with Cassidy Slides directly from an Agent conversation.
Cassidy Slides is Cassidy's purpose-built system for creating polished, on-brand presentations with an Agent. The Agent can create custom layouts from your source material and refine any part of the presentation through conversation.
Create and present the finished deck directly in Cassidy, or export it as an editable PowerPoint or PDF when you are ready.
**Creating a reusable design?** [Create and manage slide templates →](/slides/manage-slide-templates)
## Find slide templates
Slide templates are available from any Agent chat:
* Open **Tools** and select **Slide Templates** to browse the full library.
* Type `/` in the message box to choose one of your recently used templates. Select **Manage** beside **Slide Templates** to open the full library.
## When to use Cassidy Slides
Use Cassidy Slides when you want an [Agent](/agents/overview) to create a new presentation or make substantial changes to a deck through conversation.
* **Create a new presentation** for a sales meeting, Quarterly Business Review, proposal, training, research summary, or internal update.
* **Turn source material into a deck** by attaching documents, spreadsheets, images, or other supporting files.
* **Match an existing deck** by attaching a PowerPoint whose design and layouts the Agent should follow.
* **Refine the presentation collaboratively** by asking for changes to its content, structure, and visual design.
* **Present or export the result** as PowerPoint, a Google Slides-compatible PowerPoint file, or PDF.
For quick native edits to an existing PowerPoint file, use the [Microsoft Office extension](/extensions/microsoft-office). For a repeatable Workflow that fills fixed placeholders with structured data, use [Create PowerPoint from template](/reference/actions/create-powerpoint-from-template).
## Create a presentation
Open a new [Agent chat](/guides/chatting-with-an-agent). You can use an Agent that already knows your company, or attach the source material the presentation should use.
To use a specific design, open **Tools**, select **Slide Templates**, and browse the templates available to you. These may include Cassidy built-in, team, private, and shared templates. Preview a template, then click **Use template**.
The selected template appears in your message. It applies to that request and overrides your organization's default slide template.
If you do not choose a template, Cassidy uses your organization's default. If there isn't one, Cassidy uses its standard built-in template, or creates a design from your request when your organization has hidden Cassidy's built-in templates.
Ask for the outcome you want. For example:
> Create a 10-slide Quarterly Business Review for the Acme account. Use the attached call notes and usage spreadsheet. The audience is Acme's executive team, so lead with outcomes, keep the language concise, and include speaker notes for each slide.
You can also specify:
* Required sections or messages
* Facts, files, or [Knowledge Base](/knowledge-base/overview) sources to use
* Charts or comparisons to include
* Brand, tone, and image preferences
* Information that must not appear
Include the presentation's audience, purpose, approximate length, and
desired tone. The Agent can make stronger decisions when it understands
where and how the deck will be used.
The Agent creates a Cassidy presentation and opens it in the deck viewer. Use the thumbnail sidebar or arrow keys to move between slides. Expand **Speaker notes** below the deck to review notes for the current slide.
Check the storyline and accuracy before focusing on small visual changes. It is usually faster to fix the overall structure first.
## Refine the presentation
Continue the conversation to revise the deck. Be specific about what should change and what should stay the same.
Cassidy Slides is powered by an Agent, so you can describe the result you want
in plain language instead of finding every setting yourself. The Agent may not
always recognize that a design choice looks wrong to you. Tell it what you see,
which slide or element is affected, and what you want instead.
Useful follow-up requests include:
* "Shorten slide 2 and make the recommendation the main headline."
* "Replace the chart on slide 5 with a three-column comparison."
* "Move the implementation plan before the pricing section."
* "Use a more restrained visual style, but keep the current layout."
* "Add speaker notes that explain the assumptions behind each forecast."
* "The text on slide 8 overlaps the chart. Rework the layout so both are easy to read."
### Reference a specific slide element
When you want to change one part of a slide, click the text, image, chart, or shape in the deck preview. Click **Add to chat**, then describe the change.
The reference identifies the exact slide element for the Agent. You can write a focused request such as:
> Make this headline more direct and keep it on one line.
Ask the Agent to preserve anything that is already correct. For example:
"Update only the selected chart. Keep the slide title, commentary, and layout
unchanged."
## Present from Cassidy
Open the **Present** menu in the deck toolbar and choose the view that fits your setup:
* **Present in this tab** opens a clean presentation in the current browser tab.
* **Present fullscreen** uses the full screen for the deck.
* **Open in new tab** opens the presentation separately.
* **Presenter view** opens controls for the presenter, including elapsed time, the current slide, the next slide, and speaker notes.
Use the arrow keys to navigate. Press **Escape** to leave presentation mode in the current tab or fullscreen view.
## Export the presentation
Click **Export** in the deck toolbar and choose a format. Presentations keep
their slide size and orientation, including portrait decks, in Cassidy and in
every export.
You can also ask the Agent to export the presentation directly. For example:
> Export this as an editable PowerPoint using universal fonts and include the
> speaker notes.
### PowerPoint
Choose the PowerPoint option that matches how the file will be used:
* **Custom fonts** creates an editable `.pptx` using compatible font files from
the selected slide template or fonts available through
[Google Fonts](https://fonts.google.com/), when their format and license
permit embedding. To supply your own brand fonts, include them when you
[create a custom slide template](/slides/manage-slide-templates#create-a-slide-template).
* **Universal fonts** creates an editable `.pptx` using broadly available fonts. Use this when recipients may not have your brand fonts.
* **Screenshot slides** prioritizes visual consistency by turning each slide into an image. Recipients can present the deck, but they cannot edit individual slide elements.
Editable PowerPoint exports include native slide layouts you can reuse when
adding slides in PowerPoint. The Agent generally creates these layouts even
when you start from scratch. When your presentation is based on a Microsoft Powerpoint file,
the export includes that template's complete layout library from the
version you used, including layouts not used in the finished deck. When it is
based on an uploaded PowerPoint, the export includes its recovered layout
library in the same way.
Replaceable content exports as native, editable PowerPoint objects, including:
* Text boxes and text inside shapes
* Tables, including merged cells
* Bulleted and numbered lists
* Hyperlinks
* Dynamic slide numbers
* Speaker notes, when included
Cassidy may convert complex
visual effects into images when PowerPoint cannot represent them reliably.
### Google Slides
The Google Slides options download a `.pptx` designed to import cleanly into Google Slides. Cassidy does not create a native Google Slides presentation or upload the file to Google Drive.
After downloading:
1. Open Google Slides.
2. Upload or import the `.pptx` file.
3. Review fonts and layout before sharing the presentation.
Choose **Editable** to preserve editable elements with Google Slides-compatible fonts. Choose **Screenshot slides** when matching the Cassidy preview matters more than editing each element.
### PDF
Choose **PDF** to create a fixed document with one page per slide. PDF is useful for sharing a final, non-editable version.
### Include speaker notes
Turn on **Include speaker notes** in the export menu when you want notes included in PowerPoint or Google Slides-compatible exports. Speaker notes do not apply to PDF exports.
### Review the downloaded file
When the export is ready, the download starts automatically. The export dialog
keeps a manual download link and the quality feedback controls together. Click
**Needs work** and describe any layout, font, image, or compatibility issue so
Cassidy can improve future exports.
If the downloaded file does not look right, return to the conversation and tell
the Agent what is wrong. Include the slide number, describe the expected result,
and attach a screenshot or the exported file when useful. The Agent can often
adjust the presentation and create a new export, but it needs your feedback when
the problem is not visible from the request alone.
## Improve presentation quality
* **Provide trusted source material.** Attach the documents or data the deck should rely on instead of asking the Agent to infer important facts.
* **Name the audience and decision.** A board update, sales pitch, and training deck should not use the same structure.
* **Separate content review from visual review.** Confirm the facts and narrative before requesting detailed design changes.
* **Give focused feedback.** One clear revision request is easier to apply than several conflicting visual directions.
* **Test the final destination.** Review an exported file in Microsoft PowerPoint or Google Slides before presenting it externally.
* **Use a more capable model.** Slide design and PowerPoint conversion may require a lot of reasoning. For the best results, choose one of the most capable models available to your Agent.
## Troubleshooting
Refresh the page, then reopen **Tools**. If **Slide Templates** is still
missing, contact support at [support@cassidy.ai](mailto:support@cassidy.ai) and include a link to the
chat.
Element selection is available in a normal deck preview inside Chat. Exit
presentation mode, return to the chat preview, then click the element again.
Confirm that you chose an editable PowerPoint or Google Slides option instead
of **Screenshot slides**. Fixed template artwork and some complex visual
effects may be included as images, while replaceable content remains editable
where supported. To change fixed artwork, ask the Agent to update the design
and export the presentation again.
Cassidy may show a similar font in the preview when it
cannot access your original font. If you have compatible font files and
permission to use them, upload them with your presentation or when you
[create a custom slide template](/slides/manage-slide-templates#create-a-slide-template)
so Cassidy can use them.
Exporting with **Custom fonts** preserves the original font name in editable PowerPoint
text and can embed compatible, license-permitted font files. Choose **Universal fonts** for broader PowerPoint compatibility, or the
editable **Google Slides** option for Google Slides-compatible fonts. Always review the exported deck in its destination app.
Complex charts and SmartArt may be included as images to preserve how they
look. Animations, macros, and unusual PowerPoint effects may not carry over.
Very large or complex source presentations may need extra review. If something
looks wrong, tell your Agent which slide to fix and export again.
Presentations with many images or detailed artwork can take longer to prepare
or export. The download starts automatically when the export is ready. If it
does not start, click **Not downloading? Click here** in the export dialog.
If the export fails, does not finish, or the download still does not start,
contact support at [support@cassidy.ai](mailto:support@cassidy.ai) and include a link to the chat.
## Next steps
Create reusable branded templates, publish updates, manage access, and
choose an organization default.
Learn how to attach files, reference company knowledge, and refine outputs
through conversation.
Compare Cassidy Slides with other ways to create files through Chat and
Workflows.
Work with an Agent inside an existing PowerPoint file.
# Create and manage branded Cassidy Slides templates
Source: https://docs.cassidyai.com/slides/manage-slide-templates
Create reusable slide templates, publish updates, manage team access, and set an organization default for consistent presentations.
Slide templates give your team a reusable visual system for presentations created with Cassidy Slides. A template combines reusable slide layouts, brand assets, and written guidance about how your brand should look and sound. Layouts define the fixed design and the regions where you can replace content for each presentation.
Use this guide to choose an existing template, create your own, publish changes, organize access, and select the default for your organization.
**Creating a presentation?** [Create and export slides with an Agent →](/slides/create-and-export-presentations)
What you can create, edit, share, or set as the organization default depends
on your role and Slide Templates permissions. If an action is unavailable, ask
your Cassidy administrator to review your permissions.
## Browse and use templates
In an [Agent chat](/guides/chatting-with-an-agent), open **Tools** and select **Slide Templates**.
You can also type `/` in the message box and select **Manage** beside **Slide Templates**.
The library includes:
* **All templates** for everything you can access
* **Built-in** templates developed by Cassidy, when enabled for your organization
* **Team** templates shared with your organization
* **Private** templates available only to you
* Shared and private folders created by your team
Built-in templates are ready-to-use designs maintained by Cassidy. You can
preview them, use them for presentations, or choose one as your
organization default, but you cannot edit or delete them. Create a custom
template when you need to change the design or add your own brand assets.
If your organization has a default template, it appears first. Other templates are ordered by your recent use.
Select a template to open its preview.
* The **Template** tab shows the example deck and its slide designs.
* The **Guidelines** tab explains how the Agent should apply the template, including brand, layout, and typography guidance.
Click **Use template**. Cassidy adds the template to your message so the Agent can use it for your next presentation request.
The explicit selection overrides the organization default for that request. Learn how to complete the deck in [Create and export presentations with Cassidy Slides](/slides/create-and-export-presentations).
## Create a slide template
You can turn an existing PowerPoint into a reusable template or describe a new design from scratch.
Open **Tools** → **Slide Templates**, then click **Create template**.
Cassidy gives you two ways to begin:
* **Use an existing PowerPoint** uploads a `.pptx` presentation and uses its
design and recovered layouts as a reference for your reusable template.
Choose this when you already have an approved sales deck, pitch deck,
company presentation, or other PowerPoint that represents your brand. You
can also upload a PDF or brand guide.
* **Build from scratch** starts with a blank request in Chat. Choose this
when you do not have an existing presentation, or when you want Cassidy
to develop a new visual direction from your description and brand
materials.
Both options return you to Chat with a template-creation request prepared in
the message box. If you chose an existing file, the uploaded file is already
attached to the request.
Add the template's audience and the types of decks it should support, then
send the prepared message. Include as much relevant brand material as
possible:
* Logos and approved imagery
* Brand colors
* Typography rules and licensed font files
* Example presentations or page layouts
* Guidance for charts, tables, icons, and photography
* Writing style and tone
* Required or prohibited design patterns
Attach compatible, licensed font files to the template-creation request
when you want Cassidy to use and embed your brand fonts in editable
PowerPoint exports.
For example:
> Build a reusable slide template for customer-facing strategy presentations. Use the attached brand guide and sample deck. Keep layouts spacious and editorial, use our navy and coral palette, and include designs for title slides, section dividers, data charts, comparisons, timelines, quotes, and next steps.
The Agent builds the template and returns a **New Slide Template Draft** card. Open the card to review both the example slides and the written guidelines.
Continue the conversation if the template needs changes. The draft is not available to other users until you publish it and share it.
Click **Publish template**, review the confirmation, and publish the draft.
Publishing creates the first live version. Cassidy then shows where the
template is currently shared. New custom templates start as **Private**.
Click **Share** to move the template to **Team** or a shared folder, or
click **Done** to keep it private.
## Update a custom template
Built-in templates are read-only. You can update a custom template when you have edit access.
Open the custom template preview and select **Guidelines**. Click **Edit guidelines**, update the Markdown text, then click **Review & publish** and confirm **Publish new version**. Publishing makes the updated guidelines available to future presentation requests while preserving the previous version in the template's history.
Use direct editing when only the written brand, layout, typography, or content guidance needs to change. Ask the Agent to edit the template when you also need to change slide designs or assets.
Open the template's actions menu and select **Edit Template**. Cassidy adds the template to Chat with an update request.
Describe the change you want. For example:
* "Add a case study slide with space for a customer quote and three results."
* "Use the new logo and update the primary color to the blue in the attached brand guide."
* "Make chart labels larger and add guidance for accessible color contrast."
The Agent returns a **Draft Slide Template Changes** card. Open the review to compare the proposed template with the version your team currently uses.
Submitting changes creates a review draft. It does not update the live template automatically.
Click **Publish changes** after you have reviewed the slides and guidelines. Future presentation requests can then use the updated template.
### Edit the name or description
Open the custom template's actions menu and select **Edit Details**. Update the name or description, then save your changes.
Use a name that helps teammates recognize the intended purpose, such as "Enterprise sales deck" or "Quarterly business review."
## Organize and share templates
Custom templates start in **Private**. Move a template to **Team** or a folder when other people should use it.
Open the template's actions menu and select **Organize & Share Template**. Choose **Private**, **Team**, or a folder.
Moving a template to **Team** makes it available according to your organization's sharing settings. Moving it to a folder applies that folder's access.
Use **New Folder** under **Team** or **Private** to group templates by department, brand, client, region, or presentation type.
If you delete a folder, Cassidy moves its templates to **Private**. The templates themselves are not deleted.
Open the folder's actions menu and select **Share**. Give access to everyone in the organization or to selected users and groups.
Folder access controls who can discover and use the templates inside it. Edit access controls who can ask an Agent to change them.
Anyone whose role can edit Slide Templates can change templates on **Team**. To limit who can change them, use a folder shared with **Team** as **Can view** and give **Can edit** only to its maintainers.
## Set the organization default
The organization default is used when someone asks Cassidy to make a presentation without selecting another template.
If your organization has not selected a default, administrators see a prompt in
the template library to create a branded template or choose an available
template as the default.
You need permission to manage organization settings. The template must be
published and shared with everyone in the organization with at least view
access.
In the template library, open the actions menu for the published template you want your organization to use.
Select **Set Organization Default**, then confirm.
If the template is not yet available to everyone, Cassidy asks you to share
it first. Click **Organize & share** and move the template to **Team** or an
organization-visible folder. Cassidy then returns you to the confirmation
so you can finish setting the organization default.
Return to **All templates**. The organization default should appear first and display its default indicator.
Users can still choose a different template for an individual request.
If a custom default becomes unavailable, Cassidy uses its standard built-in template while Cassidy's built-in templates are turned on. Restoring access makes the custom default effective again.
## Hide built-in slide templates
Hide built-in templates when everyone in your organization should use your own templates.
You need permission to manage organization settings.
In the Slide Templates library, click **Settings**.
Turn on **Hide built-in slide templates**, then click **Hide templates** to confirm.
After you hide them:
* No one in your organization, including Agents, can use built-in templates for new presentations.
* Existing presentations made with a built-in template export to PowerPoint without that template's layouts.
* A built-in organization default stops applying. Cassidy uses no default until you set a custom one or show built-in templates again.
Turn off **Hide built-in slide templates** at any time to restore them. A built-in organization default applies again if you have not changed it.
## Delete templates and folders
* **Delete a custom template** from its actions menu when it should no longer exist. This permanently deletes the template and its version history.
* **Delete a folder** from the folder's actions menu. Cassidy moves templates from that folder to **Private** instead of deleting them.
Built-in templates cannot be deleted.
## Troubleshooting
Your role may not include permission to create and edit Slide Templates, or the template may be read-only. Built-in templates cannot be edited. Ask your Cassidy administrator to review your access.
An administrator has hidden Cassidy's built-in templates for your
organization. Ask them to turn off **Hide built-in slide templates** in the
Slide Templates library's **Settings** if your team needs them.
Templates receive access through their location. Choose **Organize & Share
Template**, then move the template to **Team** or a folder you can share.
Sharing with the organization, users, or groups may require separate
permissions.
The default must be visible to everyone in the organization with at least view
access. Move the published template to **Team** or an organization-visible
folder, then select **Set Organization Default** again.
Another update was published after your work began. Click **Update draft with
Agent** so Cassidy can reconcile your draft with the current template. Review
the resulting draft before publishing it.
Confirm that the template includes a compatible static font file and that your organization has permission to embed it. If embedding is unavailable, export with **Universal fonts** or replace the font with one available to recipients.
## Next steps
Use a template to create, refine, present, and export a deck through Chat.
Control who can create, edit, and share resources in your organization.
Compare presentation creation with other Chat and Workflow file-generation
options.
Build a repeatable Workflow that fills fixed PowerPoint placeholders with
data.
# Build your first Agent in Cassidy
Source: https://docs.cassidyai.com/university/build-your-first-agent
Create your first Cassidy Agent with a clear purpose, useful instructions, company knowledge, and the right capabilities for your team.
Create an AI teammate that understands its role, follows your instructions, and uses the right company context.
## What you'll learn
* How Agent Copilot turns a plain-language description into a first draft
* How instructions and model choice shape an [Agent's](/agents/overview) responses
* How knowledge, Connectors, Capabilities, Workflows, and Skills extend an Agent
* How to test and refine the Agent before sharing or deploying it
## Put it into practice
Open **Agents** and create a blank Agent, start from a template, or import one. For a guided start, open **Agent Copilot** and describe your use case in plain language.
Check the name, description, model, and instructions. Add [Knowledge Base](/knowledge-base/overview) content, Connectors, or Capabilities only where the use case needs them.
Preview realistic requests and refine the instructions. Add conversation starters that help teammates understand what to ask.
## Related learning
Follow the complete setup guide for Agent settings.
Control which company context your Agent can use.
Let your Agent read and update information in business tools.
Automate a repeatable process.
# Build your first Skill
Source: https://docs.cassidyai.com/university/build-your-first-skill
Create a reusable Skill, refine its instructions with Cassidy, publish it privately, test it in an Agent chat, and prepare it for your team.
Turn a repeatable process, standard, or writing style into a reusable playbook for your team.
## What you'll learn
* How a [Skill](/skills/overview) turns instructions, standards, and examples into a reusable playbook
* How to start from a description, starting point, uploaded Skill, or blank Skill
* How Cassidy helps you refine the Skill's tone, structure, examples, and boundaries
* How to publish privately, test in an Agent chat, and share a successful Skill
## Put it into practice
Open **Customize** → **Skills**, create a new Skill, and explain the outcome, audience, standards, and boundaries that matter.
Check the name, description, instructions, examples, and files. Ask Cassidy to improve anything that does not match your real process.
Publish the Skill to **Private**, then try realistic requests in a compatible Agent chat. Confirm the Skill follows the process and handles missing information safely.
Improve the Skill based on your tests. When the results are dependable, move it to **Team** or a shared folder.
## Related learning
Follow a complete hands-on tutorial with sample content.
Add instructions, resources, tools, and stronger tests.
Control who can discover and use a finished Skill.
Continue by creating an on-brand deck with Cassidy Slides.
# Build your first Workflow in Cassidy
Source: https://docs.cassidyai.com/university/build-your-first-workflow
Create a repeatable Cassidy Workflow by choosing a Trigger, adding Actions, connecting inputs and outputs, and testing the final result.
Turn a recurring process into a reliable automation that follows the same steps every time.
## What you'll learn
* How Workflow Copilot builds a first draft from a plain-language description
* How a Trigger starts a [Workflow](/workflows/overview) and Actions complete each step
* How variables pass information between the Trigger and Actions
* How to add approval, test results, publish, review runs, and restore previous versions
## Put it into practice
Describe a repeatable process to **Workflow Copilot**, start from a template, import a Workflow, or build from scratch.
Configure the Trigger and Actions. Insert variables wherever a later Action needs information from the Trigger or an earlier Action.
Add approval before consequential Actions, test with sample or past integration data, and review each result. Publish the Workflow and verify it in **Run history**.
## Related learning
Learn how to configure Actions, variables, and logic.
Validate results and troubleshoot each step.
Pause a Workflow for review before it continues.
Turn conversations into useful follow-up work.
# Choose Agents, Workflows, and Skills
Source: https://docs.cassidyai.com/university/choose-agents-workflows-and-skills
Learn when to use Agents, Workflows, or Skills in Cassidy and how to combine them into reliable solutions for different kinds of work.
Match each business problem with the Cassidy feature best suited to solve it, then combine features when one solution needs both flexibility and consistency.
## What you'll learn
* Use an [Agent](/agents/overview) for flexible conversations, research, and tasks where the path can change
* Use a [Workflow](/workflows/overview) for a predictable process with defined inputs, Actions, and outputs
* Use a [Skill](/skills/overview) to capture a reusable process or standard across people, Agents, and Workflow Actions
* Combine features so an Agent can run a Workflow, a Workflow can use an Agent, or either can follow a shared Skill
## A quick decision guide
Choose an Agent when people need to ask questions, explore information, or adapt the task through conversation.
Choose a Workflow when the same steps should run reliably for every input.
Choose a Skill when the same playbook, tone, approved phrasing, or process should be reused across your organization.
If you are unsure, start with an Agent. Turn repeated requests into a Workflow, and capture company-wide standards in a Skill.
## Related learning
Understand flexible, conversational AI teammates.
Understand repeatable, multi-step automations.
Learn how reusable expertise works in Cassidy.
Add the external knowledge and actions your solution needs.
# Connect Cassidy to external tools
Source: https://docs.cassidyai.com/university/connect-cassidy-to-external-tools
Learn how to connect external content and systems through Knowledge Base integrations, Connectors, Workflows, and secure credentials.
Give Cassidy access to the right external information and actions while keeping permissions and credentials under control.
## What you'll learn
* When to use a [Knowledge Base integration](/knowledge-base/setup), [Connector](/agents/connectors/overview), or [Workflow](/workflows/overview)
* How synced content gives Cassidy searchable company context with citations
* How Connectors let Agents read and update live information in business apps
* How personal and shared connections affect whose external account and permissions Cassidy uses
* How to connect unsupported systems with [Custom Connectors](/agents/connectors/mcp-servers), webhooks, or API requests
* How to protect credentials with secret storage and narrowly scoped access
## Put it into practice
Use a Knowledge Base integration for searchable company content, a Connector for live reads and writes in an Agent conversation, or a Workflow for a repeatable process with defined Triggers and Actions.
Connect one business app and test a read action. Before enabling writes, review whether the connection is personal or shared and when Cassidy should ask for approval.
Create a Custom Connector when the service provides an MCP server. For other systems, use a webhook or the **Send API Request** Workflow Action.
Store credentials in Workflow secret keys or a Skill's **API Keys & Headers** settings. Never place credentials directly in instructions, prompts, or code.
Shared connections let other people act through the connected account. Grant
only the access your team needs and review write permissions before sharing.
## Related learning
Compare the ways Cassidy connects to external systems.
Configure live data access for Agents.
Use webhooks and APIs when Cassidy has no native integration.
Continue by writing clearer instructions for connected work.
# Create branded presentations with Cassidy Slides
Source: https://docs.cassidyai.com/university/create-branded-presentations-with-cassidy-slides
Create an on-brand presentation from company content, refine it through conversation, present it in Cassidy, and export the finished deck.
Turn company knowledge, meeting content, research, or reports into a polished presentation that follows your brand.
## What you'll learn
* How to create a presentation in an [Agent chat](/guides/chatting-with-an-agent) from meetings, research, reports, the [Knowledge Base](/knowledge-base/overview), or connected business systems
* How an organization default or request-specific slide template keeps presentations on-brand
* How to revise the full deck or reference one slide element in your next message
* How to present from Cassidy and export to PowerPoint, a Google Slides-compatible PowerPoint file, or PDF
* How custom slide templates are created, reviewed, published, shared, and selected as an organization default
## Put it into practice
Open an Agent chat and provide the files, company knowledge, meeting content, or research the presentation should use. Describe the audience, purpose, and desired outcome.
Select a slide template for the request or use your organization's default. Explain any required sections, brand rules, or visual preferences.
Check the storyline and facts first. Then ask the Agent to revise the full presentation or select one element when you need a focused change.
Present directly from Cassidy or export the finished deck as PowerPoint or PDF. Download the Google Slides-compatible PowerPoint option when you plan to import the deck into Google Slides.
You've completed the Cassidy University learning path. You can now choose, build, organize, and apply Cassidy's core tools to practical work.
## Keep learning
Follow the complete guide to creating, refining, presenting, and exporting decks.
Create branded templates, manage access, and choose an organization default.
Compare presentations with other file-creation options.
Review the full path or revisit any lesson.
# Find your first Cassidy use case
Source: https://docs.cassidyai.com/university/find-your-first-use-case
Learn how to choose a focused first use case that solves a real business problem, creates measurable value, and is practical to build.
Choose a focused first project that solves a real problem for your team and gives you a clear way to measure success.
## What you'll learn
* How to define a use case by its input, transformation, and output
* How to prioritize frequent, patterned work with a clear definition of done
* How to separate meaningful human judgment from moving, formatting, summarizing, or drafting information
## Put it into practice
Describe the task in one sentence. Include what starts it and what a completed result looks like.
Record how often the task happens, how long it takes, and where people add meaningful judgment instead of simply transforming information.
Pick a frequent task with a clear output that uses information your team already has. Build a prototype, gather feedback, and refine it.
## Related learning
Explore practical ideas organized by business function.
Add the company context behind your use case.
# Cassidy University
Source: https://docs.cassidyai.com/university/index
Follow a self-paced learning path of short video lessons to understand Cassidy, build your first AI solutions, and manage your workspace.
Follow the learning path in order or choose the lesson that fits what you want to accomplish.
Open your [Cassidy workspace](https://app.cassidy.ai) in another tab if you want to follow along.
## Foundations
Learn the core parts of Cassidy, then build and manage your first practical AI solutions.
## Advanced
Choose the right approach for each problem and improve the consistency of your AI results.
# Manage and govern your Cassidy workspace
Source: https://docs.cassidyai.com/university/manage-and-govern-your-workspace
Learn how SSO, roles, groups, global instructions, content permissions, and usage controls support responsible team-wide use.
Set up clear access and workspace practices so your team can build and use Cassidy confidently.
## What you'll learn
* How SSO controls workspace entry through your identity provider
* How default and custom roles define what teammates can do
* How groups and Knowledge Base permissions define what teammates can see
* How Connector availability and approval policies limit access to external
systems
* How global instructions, analytics, alerts, limits, and audit logs support responsible use
## Put it into practice
Decide who needs to use shared resources, who needs to build them, and who
should manage organization settings. Use default or custom roles to match
those responsibilities.
Create groups for teams or functions, then share the right Agents,
Workflows, Knowledge Base collections, and meetings with each group.
Configure global instructions for behavior that should apply to every Agent
and Workflow. Review organization [Connector](/agents/connectors/overview)
availability, role privileges, and minimum approval requirements before
enabling external actions.
Review credit usage, meeting hours, and Knowledge Base storage. Add
organization alerts or per-user limits where your team needs them.
When you need to know who viewed or changed a resource, open [organization
audit logs](/settings/audit-logs). Filter by person, event, or ID, and
export matching events for investigations.
## Related learning
Connect Cassidy to your identity provider.
Configure privileges and shared resource visibility.
Apply organization-wide rules to Agents and Workflows.
Control external app availability, access, and action approvals.
Understand how your organization uses Cassidy.
Track organization usage and set per-user caps.
Search who viewed or changed resources in your organization.
Compare Agents, Workflows, and Skills.
# Navigate and organize your Cassidy workspace
Source: https://docs.cassidyai.com/university/navigate-and-organize-your-workspace
Learn how to use Cassidy's sidebar to resume chats, pin Agents and Workflows, organize Projects, and find resources with global search.
Find the work you need quickly and organize Cassidy around the resources you use most.
## What you'll learn
* How to move between [Agents](/agents/overview), [Workflows](/workflows/overview), the [Knowledge Base](/knowledge-base/overview), meetings, and chats
* How to resume recent chats across desktop and mobile
* How to pin frequently used Agents and Workflows
* How Projects keep related chats together
* How to find resources with search or `Command K` on Mac and `Ctrl K` on Windows
## Put it into practice
Find an Agent or Workflow you return to regularly and pin it to your sidebar. Organization-wide pins may require additional permissions.
Create a Project for a customer, initiative, or recurring area of work, then add the relevant chats.
Open search or use the keyboard shortcut to find an Agent, Workflow, chat, or other Cassidy resource.
## Related learning
Learn how to start, organize, and continue conversations.
Choose a focused first project for your team.
# Understand prompt engineering
Source: https://docs.cassidyai.com/university/prompt-engineering-explained
Learn how clear context, instructions, examples, and output requirements help Cassidy produce more useful and consistent AI responses.
Write clearer instructions so your Agents and Workflows produce useful, consistent results.
## What you'll learn
* Why specific instructions produce more reliable responses
* Where prompts live in Agent instructions, chat messages, and Workflow Actions
* How role, process, output format, constraints, and examples clarify the result
* How to tell Cassidy what to do when important information is missing
## Put it into practice
Put consistent behavior, such as role, process, tone, and rules, in Agent instructions. Put task-specific requests and context in chat messages or Workflow inputs.
Define the role, process, output format, and constraints. Add one strong example when it explains your expectations more clearly.
Tell Cassidy to ask a question or flag a gap instead of guessing. Test several realistic requests, then make examples or boundaries more specific when results vary.
## Keep learning
Use a complete framework for clear, reliable prompts.
Apply prompt techniques to Agent instructions.
Use prompts with variables and repeatable Actions.
Turn clear instructions into a reusable playbook.
# Set up the Cassidy Meeting Recorder
Source: https://docs.cassidyai.com/university/set-up-meeting-recorder
Connect your calendar, configure the Cassidy Meeting Recorder, capture conversations, and turn meeting content into useful follow-up work.
Capture conversations automatically, then use Cassidy to review summaries, search transcripts, and automate follow-up work.
## What you'll learn
* How to connect Google Calendar or Microsoft Outlook
* How to choose which meetings Cassidy joins
* How to review recordings, customizable summaries, timestamped transcripts, clips, and comments
* How to chat with meetings or use them in [Agents](/agents/overview), the [Knowledge Base](/knowledge-base/overview), and [Workflows](/workflows/overview)
## Put it into practice
Open **Meetings**, select Google Calendar or Microsoft Outlook, and authorize Cassidy.
Choose which meetings Cassidy joins, who receives summaries, and what recording notice appears. Keep the recorder display name consistent across your team to avoid duplicate bots and double-counted meeting hours.
Make sure someone admits the recorder to the call. After the meeting, review the recording, summary, and timestamped transcript.
Chat with one meeting, search meetings you can access, or use a **Meeting ended** Trigger to automate follow-up work.
Before sharing a Workflow with a **Meeting ended** Trigger, confirm that its outputs do not expose meeting information to people who cannot access the source meeting.
## Related learning
Follow the complete setup and recording guide.
Start Workflows when a meeting ends.
Search conversations and get timestamped answers.
Control access and automate sharing rules.
Learn how to govern your workspace.
# Set up your Knowledge Base
Source: https://docs.cassidyai.com/university/set-up-your-knowledge-base
Learn how to add company knowledge to Cassidy so your Agents and Workflows can produce accurate, relevant answers grounded in your content.
Give Cassidy the company context it needs to produce accurate, relevant answers for your team.
## What you'll learn
* How the [Knowledge Base](/knowledge-base/overview) finds relevant company content by meaning and returns citations
* How collections define access while folders organize related topics
* When to upload static content or connect a live knowledge source
* How to test and maintain trustworthy knowledge over time
## Put it into practice
Organize one collection around a team or audience, then choose who can view or edit its content.
Follow [Set up your Knowledge Base](/knowledge-base/setup) to connect one live source for changing information and upload a few authoritative files.
Connect the relevant collection, folder, or content to an Agent. Ask several real questions and verify the answers and citations.
Assign an owner, keep one authoritative source for each topic, and review content regularly so Cassidy uses current information.
## Related learning
Understand supported content, syncing, and search.
Control which company context an Agent can use.
Put your company knowledge to work.
# Welcome to Cassidy
Source: https://docs.cassidyai.com/university/welcome-to-cassidy
Meet Cassidy's three core components—Agents, Workflows, and the Knowledge Base—and learn how to prepare a strong first use case.
Learn how Cassidy's core components support different kinds of work, then identify a process worth exploring during onboarding.
## What you'll learn
* How Cassidy helps teams apply AI to real business processes
* How [Agents](/agents/overview), [Workflows](/workflows/overview), and the [Knowledge Base](/knowledge-base/overview) support different kinds of work
* How to identify a useful first process and choose an AI model for the task
## After you watch
Write down one task that happens frequently, takes meaningful time, follows similar steps, or depends on company information. Bring it to your kickoff call—you do not need to design the solution yet.
## Related learning
Compare models and choose one that fits your task.
Find resources, resume chats, and organize the work you use most.
# Action Items from Success Calls
Source: https://docs.cassidyai.com/use-cases/customer-success/action-items-from-success-calls
Captures next steps from EBRs and QBRs directly from meeting notes and transcripts, then assigns owners and due dates in your task system with a summarized follow-up sent to the account team.
## What does this mean?
Ensures commitments are tracked and delivered on time, improving accountability, follow-through, and customer confidence after every review.
Captures next steps from EBRs and QBRs directly from meeting notes and transcripts, then assigns owners and due dates in your task system with a summarized follow-up sent to the account team.
## Workflow steps
The Workflow activates automatically when an EBR or QBR concludes, pulling in the meeting notes and transcript directly from your connected meeting tool.
Cassidy analyzes the transcript and notes, identifying commitments, next steps, and follow-up items discussed during the review.
The Workflow parses each action item and assigns responsible owners and realistic due dates based on the context of the conversation and your team structure.
Using an API request or native integration, Cassidy automatically creates tasks in your project management tool (like Jira or Asana) with the assigned owners, due dates, and relevant context from the call.
The Workflow drafts a concise follow-up summary highlighting key commitments, owners, and timelines—formatted for easy scanning by the account team.
The summary is delivered via email or Slack to the account team, ensuring everyone has visibility into what was promised and who's responsible for delivery.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Client Health Tracker Alerts
Source: https://docs.cassidyai.com/use-cases/customer-success/client-health-tracker-alerts
Monitors a centralized client health tracker and summarizes changes.
## What does this mean?
Keeps customer success and leadership teams instantly informed of health shifts and account risk, enabling faster follow-up, clearer prioritization, and proactive account management without digging through spreadsheets or manual reports.
Monitors a centralized client health tracker, reviewing key factors like letter-grade health scores, CSAT or NPS, and notes for each account; then automatically summarizes changes in client health—such as shifts in score, new action items, or updated notes—and posts concise updates to designated Slack channels for account teams and executive sponsors.
## Workflow steps
The Workflow activates on a scheduled trigger, automatically checking your centralized client health tracker—whether it's a Google Sheet, spreadsheet, or connected data source—at regular intervals.
Cassidy pulls the latest data for each account, reviewing critical factors like letter-grade health scores, CSAT or NPS ratings, recent notes, and any flagged action items.
Cassidy compares current data against previous snapshots to identify meaningful shifts—score changes, new risk signals, updated notes, or emerging trends across your client portfolio.
The Workflow structures concise, scannable summaries tailored for account teams and executive sponsors—highlighting what changed, which accounts need attention, and recommended next steps.
Cassidy automatically sends the summarized updates to designated Slack channels, ensuring customer success managers and leadership see health shifts in real time—no spreadsheet digging required.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Customer Contact Transition Monitor
Source: https://docs.cassidyai.com/use-cases/customer-success/customer-contact-transition-monitor
Protects revenue and reduces churn by closing stakeholder gaps quickly, preserving momentum on renewals and expansions with timely, guided follow-up.
## What does this mean?
Protects revenue and reduces churn by closing stakeholder gaps quickly, preserving momentum on renewals and expansions with timely, guided follow-up.
Watches key contacts on active accounts in your CRM for role or company changes, then alerts the CSM with a summary of account status, renewal dates, open risks, and a recommended plan to secure coverage and onboard the new stakeholder.
## Workflow steps
The Workflow runs on a scheduled trigger, regularly scanning key contacts on active accounts in your CRM for role or company changes—catching departures, promotions, or moves before they create coverage gaps.
When a change is identified, Cassidy flags the affected contact and pulls relevant account context from your CRM, including account status, renewal timeline, and any open risks or opportunities.
Cassidy compiles a summary of the account's current health and drafts a recommended plan to secure coverage—whether that means identifying a new champion, accelerating introductions, or adjusting the renewal strategy.
The Workflow sends a notification to the assigned CSM via Slack or email with the full context: who changed, what the account looks like now, and specific next steps to onboard the new stakeholder and protect the relationship.
All alerts and recommended actions are logged back to the CRM, ensuring full visibility for the broader team and a clear audit trail for account history.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Customer Conversation Memory
Source: https://docs.cassidyai.com/use-cases/customer-success/customer-conversation-memory
Streamline follow-up and detect risks earlier, all without manual notes.
## What does this mean?
Demonstrates attentive, personalized account management that strengthens trust and loyalty while enabling faster follow-up, cleaner handoffs, and earlier risk detection without rewatching recordings or chasing notes.
Transcribes customer calls, extracts success plans, risks, and action items, and makes every conversation searchable with citations and timestamps for instant retrieval of stakeholder context and commitments.
## Workflow steps
The Workflow activates automatically when a customer call ends—whether captured via the Meeting ended trigger or synced from a platform like Gong.
Cassidy processes the recording and generates a full transcript, complete with timestamps and speaker identification, so every word is captured and searchable.
Cassidy analyzes the transcript to pull out success plans, risks, action items, and stakeholder commitments—drawing on your Knowledge Base for context on accounts and history.
The extracted insights are formatted and saved to your Knowledge Base or CRM, tagged with citations and timestamps for instant retrieval later.
The Workflow flags any risks or time-sensitive action items, routing them to the appropriate team member via Slack or email so nothing slips through the cracks.
Team members can now search past conversations by stakeholder, topic, or commitment—getting the context they need for follow-ups, handoffs, or renewals without rewatching recordings or chasing notes.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Expansion Opportunity Finder
Source: https://docs.cassidyai.com/use-cases/customer-success/expansion-opportunity-finder
Researches customer businesses and usage to recommend tailored cross-sell and upsell opportunities.
## What does this mean?
Equips customer success and account managers to surface the most relevant, high-impact expansion plays—driven by context-rich qualitative intelligence and product familiarity—so they can drive upsell effectiveness and revenue growth without wasted effort or generic pitches.
Researches each customer’s business, reviews current and past usage, and draws on a deep understanding of every available product and service offering—along with internal success stories and industry best practices—to recommend tailored cross-sell and upsell opportunities based on adoption gaps, fit, and business goals.
## Workflow steps
The Workflow activates via a manual trigger, Salesforce trigger, or scheduled trigger when it's time to assess expansion opportunities for a specific customer account.
Cassidy's Research Agent searches the web to gather current information about the customer's company—recent news, strategic initiatives, industry trends, and business goals that could signal expansion readiness.
The Workflow reviews the customer's current product usage, adoption patterns, and engagement history to identify gaps or underutilized features.
The Workflow draws on your Knowledge Base—containing every available product, service, and feature—to identify cross-sell and upsell opportunities that align with the customer's adoption gaps and business context.
Cassidy searches your Knowledge Base for relevant internal case studies, success stories, and industry best practices that support each recommended expansion play.
The Workflow compiles the research, usage analysis, and product fit into a context-rich expansion brief with specific, prioritized upsell and cross-sell recommendations—complete with supporting rationale.
The expansion brief is delivered to the account manager or CSM via email, Slack, or logged directly to Salesforce—ready for human review before customer outreach.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# QBR Auto-Builder
Source: https://docs.cassidyai.com/use-cases/customer-success/qbr-auto-builder
Transforms manual busywork into consistent, insight-rich presentations, helping identify expansion opportunities and guide account plans.
## What does this mean?
Removes the manual busywork from preparing business reviews so customer teams can deliver consistent, insight-rich presentations at scale, surface expansion opportunities, and proactively guide account plans.
Collects product usage, support history, goals, and insights from meetings and CRM notes, then creates ready-to-deliver QBR decks and reports with highlights, risks, outcomes, recommendations, and next-quarter goals—including clear charts and cited evidence.
## Workflow steps
The Workflow activates on a set schedule (e.g., monthly or quarterly) or when a team member manually triggers it for a specific account—ensuring QBRs are always prepared on time.
Cassidy connects to your CRM to gather account details, customer goals, contract information, and historical notes—building the foundation for a complete business review.
The Workflow pulls product usage metrics and support ticket history from connected systems, surfacing adoption trends, recurring issues, and resolution patterns.
Using your Knowledge Base, Cassidy reviews recent meeting transcripts and call notes to identify key themes, customer feedback, and commitments made throughout the quarter.
Cassidy synthesizes all collected data to generate highlights, risks, outcomes achieved, strategic recommendations, and next-quarter goals—complete with cited evidence from your sources.
The Workflow formats key metrics into clear charts and visual summaries, making it easy for stakeholders to grasp performance at a glance.
Cassidy compiles everything into a ready-to-deliver QBR deck or report, exported as a Microsoft Word document or presentation format of your choice.
The completed QBR is sent to the account team for final review via Human-in-the-Loop approval, giving them a polished, insight-rich presentation ready to share with the customer.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Bug Capture from Calls
Source: https://docs.cassidyai.com/use-cases/customer-support/bug-capture-from-calls
Capturing bug reports from customer calls to create formal support tickets.
## What does this mean?
Enhances customer service by ensuring issues are tracked, documented, and addressed swiftly, improving support accuracy and facilitating effective communication between support and development teams.
Captures bug reports discussed in customer interactions and transcribes them into formal support tickets with detailed context and necessary follow-up actions.
## Workflow steps
The Workflow activates automatically when a customer call ends, capturing the conversation as soon as it wraps up.
Cassidy processes the call recording and identifies bug reports mentioned during the conversation, pulling out key details like issue descriptions, error messages, affected features, and customer impact.
The Workflow gathers relevant customer information from your CRM and Knowledge Base, adding account history, product version, and any related past issues to give your support team the full picture.
Using the extracted bug details and customer context, Cassidy drafts a structured support ticket with clear reproduction steps, priority level, and recommended follow-up actions for the development team.
The draft ticket is sent to a support team member for human-in-the-loop approval. Once validated, the Workflow creates the ticket in your helpdesk system and logs the activity back to your CRM for complete visibility.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Bug Handling Formatter
Source: https://docs.cassidyai.com/use-cases/customer-support/bug-handling-formatter
Formats bug reports from customer tickets into clear, actionable items with essential details for support teams to address.
## What does this mean?
Streamlines understanding and processing of customer issues, reducing time to resolution and enhancing cooperation between support and engineering teams to resolve problems efficiently.
Formats bug reports from customer tickets into clear, actionable items with essential details for support teams to address.
## Workflow steps
The Workflow activates when a new support ticket arrives from your helpdesk system, flagging a potential bug report for processing.
Cassidy parses the incoming ticket to identify key information: the reported issue, steps to reproduce, affected features, customer environment details, and any error messages or screenshots provided.
Using your company's Knowledge Base and context, Cassidy transforms raw ticket content into a structured, standardized bug report—complete with severity assessment, affected components, and clear reproduction steps that engineering teams can act on immediately.
The formatted bug report is sent to the appropriate support or engineering team member via email or Slack for quick validation before handoff.
Once confirmed, the Workflow logs the formatted report back to your ticketing system and notifies the relevant engineering team, creating a clear paper trail and ensuring nothing falls through the cracks.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Bug Triage Agent
Source: https://docs.cassidyai.com/use-cases/customer-support/bug-triage-agent
Gathers and analyzes bug reports from ticketing systems, prioritizing and escalating them based on severity, impact on customers, and urgency.
## What does this mean?
Boosts support efficiency by ensuring quick attention to critical issues, improving customer satisfaction, and facilitating better communication between support and engineering for timely resolutions.
Gathers and analyzes bug reports from ticketing systems, prioritizing and escalating them based on severity, impact on customers, and urgency.
## Workflow steps
The Workflow activates automatically when a new bug report is submitted to your ticketing system—whether from Zendesk, Jira, or another connected helpdesk.
Cassidy reviews the bug report details, pulling context from your Knowledge Base and systems like Jira to understand product areas, known issues, and historical patterns.
The Workflow evaluates the bug's severity based on factors like customer impact, affected functionality, and urgency—assigning a priority level that aligns with your team's triage criteria.
The Workflow directs the bug to the appropriate queue: critical issues get escalated immediately to engineering, while lower-priority bugs are organized for standard review.
Cassidy sends an alert to the relevant team via Slack or Microsoft Teams, including a summary of the issue, priority level, and recommended next steps—keeping support and engineering in sync.
The Workflow updates the original ticket with triage notes, priority tags, and routing information, ensuring full visibility and a clear audit trail for follow-up.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Continuous Help Center Content Pipeline
Source: https://docs.cassidyai.com/use-cases/customer-support/continuous-help-center-content-pipeline
Seamlessly transform raw notes into polished help articles.
## What does this mean?
Reduces repeat questions and improves customer satisfaction by turning real resolutions into searchable, consistent self-serve content—keeping the Help Center fresh without manual rewrites.
Converts resolved tickets and rough notes into polished, on-brand help articles by extracting the key problem, steps, and answers from past conversations and documentation to fill knowledge gaps and enable fast reuse.
## Workflow steps
The Workflow activates when a support ticket is marked as resolved in Zendesk, signaling that a customer issue has been successfully addressed.
Cassidy analyzes the ticket conversation, notes, and any attached documentation to identify the key issue, the steps taken to resolve it, and the final solution.
The Workflow checks your Knowledge Base to see if a related article already exists, flagging gaps where new content is needed or identifying articles that could be updated.
Cassidy transforms the raw resolution into a clear, on-brand help article—complete with problem statement, step-by-step instructions, and any relevant tips.
The draft article is sent to a team member via Slack for approval, edits, or rejection—keeping a human in the loop before anything goes live.
Once approved, the Workflow publishes the article directly to your Help Center and logs the update, keeping your self-serve content fresh and your team informed.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Create Support Ticket from Issue Raised on Call
Source: https://docs.cassidyai.com/use-cases/customer-support/create-support-ticket-from-issue-raised-on-call
Speed up issue resolution, enhance team responsiveness, and ensure customer concerns are tracked and addressed efficiently.
## What does this mean?
Speeds up issue resolution, enhances team responsiveness, and ensures customer concerns are tracked and addressed efficiently.
Records meetings to identify and capture issues discussed during calls, automatically creating support tickets in your system with details, priority, and context from the conversation.
## Workflow steps
The Workflow activates automatically when a customer call or meeting ends, capturing the full transcript and conversation details.
Using context from your Knowledge Base, Cassidy analyzes the transcript to identify customer issues, concerns, or problems raised during the conversation.
For each issue identified, Cassidy generates structured ticket information—including a summary, priority level, relevant context from the call, and any action items discussed.
The Workflow sends the ticket details directly to your support system (such as Zendesk, Jira, or ServiceNow), automatically creating a new ticket with full context from the conversation.
A notification is sent to the appropriate team member or channel—via Slack, email, or Microsoft Teams—alerting them to the new ticket so follow-up can begin immediately.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Customer Support Auto-Responder
Source: https://docs.cassidyai.com/use-cases/customer-support/customer-support-auto-responder
Pulls ticket and email details, searches a Knowledge Base, and generates on-brand reply drafts.
## What does this mean?
Delivers fast, consistent, policy-aligned responses that boost customer satisfaction and trust while cutting repetitive writing and follow-ups.
Pulls ticket and email details with prior conversations, then searches a centralized Knowledge Base of documentation, knowledge articles, FAQs, and past tickets to generate an on-brand reply draft with cited sources and suggested next actions—directly inside the help desk or email client.
## Workflow steps
The Workflow activates automatically when a new support ticket arrives in your help desk or a customer email lands in your inbox.
Cassidy extracts the ticket or email details—including the customer's question, prior conversation threads, and any relevant metadata—to understand the full context of the request.
The Workflow searches your centralized Knowledge Base of documentation, knowledge articles, FAQs, and past resolved tickets to find the most relevant information for the customer's issue.
Cassidy drafts a policy-aligned response that addresses the customer's question directly, includes cited sources from your Knowledge Base, and suggests next actions—all written in your company's voice.
The draft reply is sent to a support team member for quick approval or editing, keeping a human in the loop before any response goes out.
Once approved, the reply is delivered directly inside the help desk or email client, with the interaction logged for full visibility and future reference.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Multilingual Support Replies
Source: https://docs.cassidyai.com/use-cases/customer-support/multilingual-support-replies
Delivers fast, consistent, native language responses that increase CSAT and self-serve deflection while reducing agent handle time through accurate translation, localization, and tone control.
## What does this mean?
Delivers fast, consistent, native language responses that increase CSAT and self-serve deflection while reducing agent handle time through accurate translation, localization, and tone control.
Detects the customer’s language across email, chat, and portals, pulls the approved on brand answer from your Knowledge Base, and translates and localizes the reply to match cultural norms, idioms, and terminology including do’s and don’ts so phrasing is semantically accurate and on brand.
## Workflow steps
The Workflow activates when a customer message arrives—whether through a Zendesk ticket, Gmail, Microsoft Outlook, Slack, or another connected support channel.
Cassidy analyzes the incoming message to identify the customer's language, ensuring the response will be delivered in their native tongue.
The Workflow searches your Knowledge Base to find the accurate, on-brand answer to the customer's question—grounded in your approved documentation and policies.
The Workflow translates the response into the customer's language, adapting for cultural norms, regional idioms, and terminology. This includes applying do's and don'ts so phrasing is semantically accurate and matches your brand voice.
The draft reply is sent to a team member for quick approval or editing, keeping a human in the loop before responding to the customer.
Once approved, the localized reply is sent back through the original channel. The Workflow logs the interaction to your helpdesk or CRM for full visibility and reporting.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Sentiment-Based SLA Prioritization
Source: https://docs.cassidyai.com/use-cases/customer-support/sentiment-based-sla-prioritization
Prevent churn and brand damage by prioritizing high-impact issues for faster, consistent support.
## What does this mean?
Prevents slow, impersonal support from escalating into churn, negative reviews, and brand damage by ensuring the most sensitive, high‑impact issues are handled first with fast, consistent responses.
Intelligently reads and analyzes each incoming ticket from the help desk (e.g., Zendesk, Intercom), categorizes it on a sentiment and severity scale, sets priority, and alerts or escalates to the right people when heightened attention is warranted.
## Workflow steps
The Workflow activates automatically when a new ticket arrives in your help desk—whether from Zendesk, Intercom, or another connected support platform.
Cassidy reads the ticket content and assesses the customer's emotional tone and the severity of the issue, categorizing it on a sentiment and impact scale.
Based on the analysis, the Workflow assigns a priority level to the ticket. High-severity or negative-sentiment tickets are flagged for immediate attention, while lower-priority issues follow standard routing.
When a ticket warrants heightened attention, the Workflow sends an alert—via Slack, email, or your preferred channel—to notify the appropriate team member or escalate to a manager.
The Workflow updates the original ticket with the assigned priority, sentiment tags, and any escalation notes, keeping your help desk organized and giving your team full visibility into high-impact issues.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Support Ticket Q&A Analysis
Source: https://docs.cassidyai.com/use-cases/customer-support/support-ticket-q-a-analysis
Understand trends, identify improvement areas, and mitigate risks effortlessly.
## How does it work?
Support Ticket Q\&A Analysis handles the trend-spotting and root cause analysis that usually requires hours of spreadsheet work. Ask questions like:
* What are the top five themes driving ticket volume this month?
* Which product areas have the highest SLA risk right now?
* What issues could we deflect with better documentation?
* How has ticket volume changed since the last product release?
* What's causing the spike in billing-related tickets?
* Which customer segments are generating the most escalations?
* What are customers actually saying about the new checkout flow?
The Agent analyzes your ticket data—volumes, trends, verbatim clustering, and root causes—and returns concise summaries so you can act on insights instead of hunting for them.
## Who uses Support Ticket Q\&A Analysis?
Support Ticket Q\&A Analysis is built for support and operations leaders who need visibility into what's driving ticket volume and where to focus improvement efforts:
* Support Managers tracking team performance, SLA risks, and emerging issue patterns
* Operations Leaders identifying process bottlenecks and deflection opportunities
* Customer Experience Teams understanding root causes behind customer friction
* Product Managers surfacing recurring issues that signal feature gaps or bugs
* Quality Assurance Teams spotting trends that require training or documentation updates
It's especially valuable for teams drowning in ticket data who need actionable insights without waiting on BI queues or building manual spreadsheets.
## Support Ticket Q\&A Analysis use your Knowledge Base>?
Support Ticket Q\&A Analysis connects to your support systems—including Zendesk, ServiceNow, Jira, Confluence, and Slack—to surface trends and insights from your actual support data.
When you ask a question about your support operations, the Agent:
* Pulls ticket data from your connected helpdesk and support tools
* Analyzes volume, resolution times, and SLA performance
* Clusters tickets by theme, root cause, and customer verbatim
* Cross-references knowledge articles and documentation to identify deflection gaps
* Surfaces patterns across channels and time periods
Because the Knowledge Base syncs continuously, your analysis reflects the latest ticket activity—no outdated exports or stale snapshots.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Ticket Context Enricher
Source: https://docs.cassidyai.com/use-cases/customer-support/ticket-context-enricher
Enhances ticket resolution by providing agents with concise, source-linked summaries of requester profiles, conversation history, and account details.
## What does this mean?
Agents resolve issues faster and with consistent tone and prioritization by seeing who the customer is, what matters to their account, and relevant history at a glance.
Pulls the requester’s profile, prior conversations, account details, plan, and company info from the help desk, CRM, and external enrichment sources, then attaches a concise, source-linked summary to each ticket.
## Workflow steps
The Workflow activates automatically when a new ticket is created or updated in your help desk, capturing the requester's information and ticket details.
Cassidy retrieves the requester's profile from your help desk, including prior conversations, ticket history, and any notes or tags associated with their account.
The Workflow pulls additional context from your CRM—account details, plan type, company information, and any relevant flags like VIP status or open opportunities.
Cassidy synthesizes all gathered information into a concise, source-linked summary that highlights who the customer is, what matters to their account, and relevant history.
The enriched context summary is automatically added to the ticket as an internal note or sidebar, giving agents instant visibility without switching between systems.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Ticket Triage and Routing
Source: https://docs.cassidyai.com/use-cases/customer-support/ticket-triage-and-routing
Accurately assigns and prioritizes tickets, ensuring faster resolutions and smoother team handoffs.
## What does this mean?
Ensures accurate assignment and clear ownership so the right people engage sooner—reducing misroutes and backlog, improving SLA performance, and smoothing handoffs across teams.
Pulls new tickets from your help desk (e.g., Zendesk, Intercom), detects intent, product, entitlement, and urgency, then applies consistent prioritization and routes or escalates to the appropriate queue or specialist.
## Workflow steps
The Workflow activates automatically when a new ticket arrives in your help desk—whether from Zendesk, Intercom, or another connected support platform.
Cassidy reads the ticket details and uses your company's Knowledge Base and support guidelines to detect intent, identify the relevant product or service, check customer entitlement, and assess urgency.
The Workflow applies consistent prioritization rules to categorize the ticket by severity and type, ensuring every request is handled according to the same standards.
Based on the analysis, the Workflow automatically assigns the ticket to the appropriate queue or specialist. High-urgency or complex issues are escalated to senior team members, while standard requests flow to the right support tier.
The Workflow logs the triage decision back to your help desk with correct ownership, priority, and category tags—then notifies the assigned team member so they can engage immediately.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Use cases
Source: https://docs.cassidyai.com/use-cases/index
Get inspired by what you can build with Cassidy. Browse practical examples across teams and departments.
Discover how teams use Cassidy to automate work, surface insights, and get more done. Browse by department to find [Agents](/agents/overview) and [Workflows](/workflows/overview) you can set up in minutes.
Lead scoring, personalized outreach, call coaching, pipeline analysis, and CRM enrichment.
Auto-respond to tickets, triage bugs, route issues, and build help center content.
On-brand content drafting, SEO optimization, social repurposing, and competitive intelligence.
Meeting prep, SOP generation, onboarding, internal search, and scheduling automation.
Score RFPs, extract requirements, draft responses, grade submissions, and route sections.
Health tracking, QBR prep, expansion signals, and account transition monitoring.
Company research, competitor analysis, industry news, and data-driven insights.
Contract review, redline recommendations, DPA analysis, and regulatory tracking.
PRD drafting, bug triage, feature extraction, release notes, and user story creation.
Job descriptions, candidate outreach, resume screening, and interview prep.
# Contract Redline Recommendations
Source: https://docs.cassidyai.com/use-cases/legal/contract-redline-recommendations
Streamline legal and sales cycles with automated edits and rationale, ensuring consistent terms and faster deal closures.
## How does it work?
Contract Redline Recommendations handles the clause-by-clause analysis that slows down deal cycles. Ask questions like:
* What changes should we request to this indemnification clause?
* Does this limitation of liability align with our standard terms?
* What's our fallback position on this payment terms section?
* Flag any clauses in this MSA that deviate from our playbook.
* What rationale should I give the vendor for rejecting this IP assignment language?
* How did we handle this termination clause in the Acme deal?
* Are there any non-standard provisions I should escalate to legal?
The Agent reviews the draft against your approved playbook and returns suggested edits, fallback positions, and rationale—so you can respond faster without starting from scratch.
## Who uses Contract Redline Recommendations?
Contract Redline Recommendations is built for teams who review and negotiate agreements:
* Legal Counsel reviewing vendor and customer contracts against company standards
* Sales Reps who need to move deals forward without waiting on legal for every redline
* Deal Desk ensuring pricing, liability, and payment terms stay within approved guardrails
* Procurement Teams reviewing inbound agreements from vendors and partners
It's especially valuable when deal volume outpaces legal capacity—giving commercial teams a first pass on redlines while keeping legal in control of the playbook.
## How does Contract Redline Recommendations use your Knowledge Base?
Contract Redline Recommendations draws from your approved contract playbook, fallback positions, and precedent agreements stored across connected sources—including SharePoint, Google Drive, OneDrive, Box, and Confluence.
When a draft agreement comes in, the Agent:
* References your standard clause library and approved language
* Applies negotiation guidelines and fallback positions for each clause type
* Pulls from previously negotiated agreements to identify acceptable variations
* Surfaces rationale and supporting context for each suggested edit
Because the Knowledge Base syncs continuously, the Agent always works from your latest playbook—so redline recommendations stay consistent with current policies and risk tolerances.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Contract Version Delta Comparator
Source: https://docs.cassidyai.com/use-cases/legal/contract-version-delta-comparator
Focus on what changed, speed reviews, and communicate impacts clearly to stakeholders, reducing negotiation cycles and preventing missed edits.
## What does this mean?
Legal teams focus on what changed, speed reviews, and communicate impacts clearly to stakeholders, reducing negotiation cycles and preventing missed edits.
Compares two or more contract versions to highlight added, removed, and modified language, then presents a concise side-by-side summary of differences.
## Workflow steps
The Workflow starts with a manual trigger where a team member uploads two or more versions of a contract—such as the original draft and the counterparty's redline—along with any relevant context about the deal.
Cassidy processes each uploaded document, extracting the full text and identifying key sections, clauses, and defined terms across all versions.
Cassidy analyzes the documents side by side—flagging added language, removed provisions, and modified terms between each version.
The Workflow organizes changes by type and significance, producing a concise summary that highlights what was added, deleted, or revised—so reviewers can focus on what matters most.
Cassidy compiles the analysis into a clear, formatted summary showing the differences between versions, making it easy to communicate impacts to stakeholders.
The final comparison is exported as a Microsoft Word document or sent via email to the legal team and relevant stakeholders, ready for review, negotiation prep, or internal sign-off.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# DPA Clause Reviewer
Source: https://docs.cassidyai.com/use-cases/legal/dpa-clause-reviewer
Flags gaps and suggests edits to ensure consistent clause coverage, reduce negotiation cycles, and manage risk.
## What does this mean?
Legal reviews DPAs faster with consistent clause coverage, reducing negotiation cycles and risk while keeping contract standards intact.
Ingests data processing agreements from uploaded files or contract repositories, scans for data residency, subprocessor, and audit clauses, flags gaps against a standard checklist, and outputs a redlined draft with suggested edits and a summary of required changes for Legal.
## Workflow steps
The Workflow begins when a data processing agreement is uploaded manually or synced from your contract repository, making the document available for analysis.
Cassidy parses the agreement and identifies critical sections—data residency terms, subprocessor provisions, audit rights, and other standard DPA clauses.
The Workflow compares the identified clauses against your organization's standard DPA checklist and flags any missing or incomplete coverage.
For each flagged gap, Cassidy drafts recommended language and produces a redlined version of the agreement showing proposed additions and modifications.
The Workflow compiles a clear summary of all flagged issues and suggested edits, giving Legal a quick-reference list of what needs attention before signing.
The redlined draft and change summary are exported as a Microsoft Word document and sent to the appropriate team member for final review and negotiation.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Regulatory Update Mapping
Source: https://docs.cassidyai.com/use-cases/legal/regulatory-update-mapping
Stay ahead of regulatory changes with timely, centralized updates.
## What does this mean?
Compliance teams act quickly and consistently on new requirements, reducing audit risk and avoiding missed obligations through timely, centralized updates.
Runs on a set schedule to search official sources and the open web for regulatory changes (HIPAA, GDPR, PCI, state privacy laws, etc.), then summarizes key updates and maps required actions to control owners with due dates in a shared tracker, sending a digest to leadership via email.
## Workflow steps
The Workflow activates automatically on a set schedule—daily, weekly, or at whatever cadence your compliance team requires—so regulatory monitoring happens consistently without manual effort.
Cassidy's Research Agent scans official regulatory bodies and the open web for updates to frameworks your organization tracks—HIPAA, GDPR, PCI, state privacy laws, and more.
Cassidy distills lengthy regulatory updates into clear, actionable summaries that highlight what changed and why it matters—drawing on your company's context to surface what's most relevant.
The Workflow identifies which internal controls are affected, assigns required actions to the appropriate control owners, and sets due dates based on compliance deadlines.
All mapped actions, owners, and due dates are logged to a centralized tracker—keeping your compliance documentation current and audit-ready.
A summary is automatically sent to leadership, giving them visibility into new regulatory requirements and the team's response plan without digging through the details.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Underwriting Clause Risk Review
Source: https://docs.cassidyai.com/use-cases/legal/underwriting-clause-risk-review
Accelerate and standardize underwriting decisions with automated risk analysis and obligation tracking.
## How does it work?
Underwriting Clause Risk Review handles the detailed contract analysis that slows down underwriting decisions. Ask questions like:
* What are the key risk flags in this submission?
* Does this endorsement include any non-standard exclusions?
* What obligations does this contract create for us post-binding?
* Are there any clauses that conflict with our current appetite guidelines?
* Summarize the liability exposure in this policy.
* What follow-ups should I flag before accepting this risk?
* How does this contract compare to our standard terms?
The Agent analyzes clause language, cross-references your underwriting guidelines and checklists, and returns a structured summary of risks, obligations, and recommended actions—with cited references to your Knowledge Base.
## Who uses Underwriting Clause Risk Review?
Underwriting Clause Risk Review is built for insurance and financial services teams who evaluate contract risk as part of their daily work:
* Underwriters reviewing new submissions, endorsements, and policy changes
* Senior Underwriters standardizing risk assessment across their team
* Underwriting Managers ensuring consistent accept/decline criteria and reducing review bottlenecks
* Risk Analysts tracking obligations and flagging exposures before binding
It's especially valuable for teams handling high volumes of submissions—where manual clause-by-clause review creates delays and inconsistency in decision-making.
## How does Underwriting Clause Risk Review use your Knowledge Base?
Underwriting Clause Risk Review searches across your connected sources—including SharePoint contracts, Google Drive policy documents, Confluence underwriting guidelines, and more—to analyze clause language against your established risk criteria.
When you submit a contract or endorsement for review, the Agent:
* Compares clause language against your underwriting flags, checklists, and appetite guidelines stored in the Knowledge Base
* Identifies obligations, exclusions, and risk triggers based on your company's specific standards
* References past decisions and similar contract reviews for consistency
* Returns cited sources so you can trace every flag back to your approved guidelines
Because the Knowledge Base syncs continuously, the Agent always applies your latest underwriting criteria—no outdated checklists or missed policy updates.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# AIDA Copy Generator
Source: https://docs.cassidyai.com/use-cases/marketing/aida-copy-generator
Craft consistent, conversion-ready messaging for web pages, ads, and emails. Streamline your workflow and enhance campaign performance.
## How does it work?
AIDA Copy Generator handles the heavy lifting of structuring persuasive copy across formats. Ask it to:
* Write AIDA copy for our new product launch landing page targeting enterprise buyers.
* Create three ad variants for our Q1 webinar promotion.
* Draft an email sequence introducing our updated pricing to existing customers.
* Generate headline options for a case study download page.
* Write conversion-focused copy for a free trial signup page.
* Create LinkedIn ad copy for our latest feature release.
* Adapt this landing page copy into a nurture email.
The Agent takes your brief, audience, and offer details, then delivers structured copy with clear headlines, body text, and calls to action—ready to deploy across web pages, ads, and emails.
## Who uses AIDA Copy Generator?
AIDA Copy Generator is built for marketing teams who need to produce high-volume, conversion-focused content without sacrificing consistency:
* Content Marketers drafting landing pages, product descriptions, and campaign assets
* Demand Gen Managers spinning up ad variants and email sequences at scale
* Growth Marketers testing messaging across channels and audiences
* Marketing Ops standardizing copy frameworks across the organization
It's especially useful when launching new campaigns or products—when you need multiple asset types fast, all aligned to the same offer and audience.
## How does AIDA Copy Generator use your Knowledge Base?
AIDA Copy Generator pulls from your connected sources—including Google Drive brand guidelines, SharePoint product documentation, Confluence messaging frameworks, and Notion campaign briefs—to ensure every piece of copy reflects your company's voice and positioning.
When you submit a brief, the Agent:
* References your brand style guide for tone, terminology, and formatting rules
* Pulls product details, features, and benefits from internal documentation
* Searches past campaign assets for proven messaging patterns
* Incorporates audience personas and segmentation data
Because the Knowledge Base syncs continuously, the Agent always works with your latest positioning—so copy stays on-brand even as your messaging evolves.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Asset Finder for Articles
Source: https://docs.cassidyai.com/use-cases/marketing/asset-finder-for-articles
Editors and marketers can quickly attach the right assets without manual searching, enhancing content quality and speeding up publication.
## What does this mean?
Ensures commitments are tracked and delivered on time, improving accountability, follow-through, and customer confidence after every review.
Captures next steps from EBRs and QBRs directly from meeting notes and transcripts, then assigns owners and due dates in your task system with a summarized follow-up sent to the account team.
## Workflow steps
The Workflow activates automatically when an EBR or QBR concludes, pulling in the meeting notes and transcript directly from your connected meeting tool.
Cassidy analyzes the transcript and notes, identifying commitments, next steps, and follow-up items discussed during the review.
The Workflow parses each action item and assigns responsible owners and realistic due dates based on the context of the conversation and your team structure.
Using an API request or native integration, Cassidy automatically creates tasks in your project management tool (like Jira or Asana) with the assigned owners, due dates, and relevant context from the call.
The Workflow drafts a concise follow-up summary highlighting key commitments, owners, and timelines—formatted for easy scanning by the account team.
The summary is delivered via email or Slack to the account team, ensuring everyone has visibility into what was promised and who's responsible for delivery.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Blog to Social Converter
Source: https://docs.cassidyai.com/use-cases/marketing/blog-to-social-converter
Transform your blog posts into a continuous stream of high-performing social media content.
## What does this mean?
Ensures commitments are tracked and delivered on time, improving accountability, follow-through, and customer confidence after every review.
Captures next steps from EBRs and QBRs directly from meeting notes and transcripts, then assigns owners and due dates in your task system with a summarized follow-up sent to the account team.
## Workflow steps
The Workflow activates automatically when an EBR or QBR concludes, pulling in the meeting notes and transcript directly from your connected meeting tool.
Cassidy analyzes the transcript and notes, identifying commitments, next steps, and follow-up items discussed during the review.
The Workflow parses each action item and assigns responsible owners and realistic due dates based on the context of the conversation and your team structure.
Using an API request or native integration, Cassidy automatically creates tasks in your project management tool (like Jira or Asana) with the assigned owners, due dates, and relevant context from the call.
The Workflow drafts a concise follow-up summary highlighting key commitments, owners, and timelines—formatted for easy scanning by the account team.
The summary is delivered via email or Slack to the account team, ensuring everyone has visibility into what was promised and who's responsible for delivery.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Brand Specific Style Guide Checker
Source: https://docs.cassidyai.com/use-cases/marketing/brand-specific-style-guide-checker
Automate style checks, reduce errors, and preserve your brand's unique voice.
## How does it work?
Brand Specific Style Guide Checker handles the detailed style verification that slows down editorial review. Ask questions like:
* Does this headline follow our capitalization rules?
* Check this paragraph against our brand voice guidelines.
* Is this punctuation correct for AP style?
* Does this copy match our tone for the consumer publication?
* Review this draft for style violations before I submit.
* What's our standard format for product names?
* Flag any inconsistencies with our house style in this article.
The Agent applies your publication-specific rules—AP style plus your brand exceptions—to catch errors and suggest fixes, so you can finalize copy faster without sacrificing consistency.
## Who uses Brand Specific Style Guide Checker?
Brand Specific Style Guide Checker is built for editorial and content teams who need to maintain consistent brand voice across publications:
* Editors reviewing copy for style compliance before publication
* Content writers checking their own work against brand standards
* Marketing teams ensuring campaign materials match brand guidelines
* Managing editors overseeing consistency across multiple contributors
* Brand managers enforcing voice and tone standards at scale
It's especially valuable for organizations managing multiple publications or brands—where each property has distinct style rules that writers and editors need to apply accurately without slowing down production.
## How does Brand Specific Style Guide Checker use your Knowledge Base?
Brand Specific Style Guide Checker pulls from your connected style documentation—including brand guidelines in Google Drive, SharePoint, or Confluence—to apply the right rules for each publication automatically.
When you submit copy for review, the Agent:
* References your AP style preferences and brand-specific exceptions
* Pulls tone and voice guidelines for the specific publication
* Checks capitalization, punctuation, and formatting rules from your style documentation
* Surfaces relevant examples from approved past content
Because the Knowledge Base syncs continuously, any updates to your style guides are reflected immediately—so the Agent is always checking against your latest standards, not outdated rules.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Campaign Performance Q&A Analysis
Source: https://docs.cassidyai.com/use-cases/marketing/campaign-performance-q-a-analysis
Identify improvement areas and investment opportunities without manual spreadsheet efforts.
## How does it work?
Campaign Performance Q\&A handles the analysis that typically requires spreadsheet work or a BI request. Ask questions like:
* Which campaigns had the highest cost-per-acquisition last month?
* How is our LinkedIn spend performing compared to Google Ads?
* What's the conversion rate trend for our webinar funnel this quarter?
* Which channels are underperforming against our target ROAS?
* Where should we shift budget based on last week's results?
* What campaigns drove the most MQLs in Q3?
* Are there any campaigns with high spend but low engagement?
The Agent pulls data directly from your connected ad platforms and analytics tools, and searches your uploaded reports and exports—then delivers concise answers with prioritized recommendations, so you can act on insights immediately.
## Who uses Campaign Performance Q\&A Analysis?
Campaign Performance Q\&A is built for marketing teams who need fast, actionable insights without waiting on analysts or wading through spreadsheets:
* Performance Marketers optimizing spend across paid channels in real time
* Demand Gen Managers tracking funnel performance and conversion rates
* Marketing Operations monitoring campaign health and identifying anomalies
* CMOs and Marketing Leaders reviewing ROI and making budget allocation decisions
It's especially valuable during budget planning cycles, quarterly reviews, or when you need to pivot quickly—so you can make data-backed decisions without submitting a BI request and waiting days for answers.
## How does Campaign Performance Q\&A Analysis use your Knowledge Base?
Campaign Performance Q\&A connects directly to your ad platforms and analytics tools, and searches across your uploaded reports and exports—including Google Drive files, SharePoint documents, and marketing automation data—to surface the metrics and insights you need in one place.
* Pulls live spend, reach, and conversion data from connected ad platforms
* Searches funnel metrics from marketing automation reports and analytics exports
* References historical performance data to identify trends and anomalies
* Compares results across channels, campaigns, or time periods
Because the Knowledge Base syncs continuously and integrations pull the latest data, you're always working with current information—no outdated reports or manual refresh required.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Company Profile Dossier
Source: https://docs.cassidyai.com/use-cases/marketing/company-profile-dossier
Automate research by pulling firmographics, leadership, and news to highlight target segments and outreach angles.
## What does this mean?
Marketing teams launch targeted campaigns faster with consistent profiles that improve segmentation, message relevance, and conversion without manual research.
Builds concise, source-linked company profiles by pulling firmographics from CRMs, leadership from LinkedIn, and recent news from public sources, then highlights target segments, buying signals, and outreach angles.
## Workflow steps
The Workflow activates when a team member submits a company name for research—either through a manual trigger, a CRM update in Salesforce or HubSpot, or a scheduled batch run.
Cassidy queries your connected CRM to retrieve existing company information—industry, size, location, revenue range, and any historical engagement data already on file.
The Research Agent searches LinkedIn and public sources to identify key decision-makers, their roles, and recent career moves that could signal openings for outreach.
Cassidy scans public news sources, press releases, and industry publications to surface recent funding rounds, product launches, expansions, or leadership changes that indicate active buying intent.
The Workflow synthesizes all gathered data into a concise, source-linked company profile—complete with target segment classification, key talking points, and recommended outreach angles.
The completed dossier is sent to the marketing team for human-in-the-loop approval. Once approved, it can be exported as a Microsoft Word document or logged directly back to your CRM for campaign use.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Competitor Intel Digest
Source: https://docs.cassidyai.com/use-cases/marketing/competitor-intel-digest
Get concise insights from competitor data delivered to your team.
## What does this mean?
Moves teams from reactive to proactive by giving leaders and stakeholders a consistent, at-a-glance market summary that informs messaging updates, sales enablement, and roadmap decisions without manual research.
Researches competitor websites, blogs, product pages, press releases, social channels, news mentions, and other key data sources, then summarizes key insights such as positioning changes, product shifts, and priority headlines into a concise brief with source links—delivered on a schedule via email and to a team channel for discussion.
## Workflow steps
The Workflow activates automatically on a set cadence—weekly, bi-weekly, or whatever rhythm fits your team's needs—so competitive intelligence arrives consistently without anyone lifting a finger.
Cassidy's Research Agent searches competitor websites, blogs, product pages, press releases, social channels, and news mentions to gather the latest updates across your competitive set.
Using a Cassidy Agent with context from your Knowledge Base, the Workflow distills the raw research into a concise brief—highlighting positioning changes, product shifts, and priority headlines that matter most to your business.
The Workflow combines the summarized insights into a polished, scannable format complete with source links, so stakeholders can dig deeper on anything that catches their attention.
The finished digest is sent via email to key leaders and posted to a team channel (like Slack or Microsoft Teams) for discussion—keeping everyone aligned and ready to act on market shifts.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Customer Segment Analysis Tool
Source: https://docs.cassidyai.com/use-cases/marketing/customer-segment-analysis-tool
Quickly identify target segments, improving campaign precision and reducing manual analysis time.
## How does it work?
Customer Segment Analysis Tool handles the research that slows marketers down when building targeted campaigns. Ask questions like:
* What are the key demographics of the Young Digerati segment?
* Compare the income levels and media habits of Urban Achievers vs. Suburban Pioneers
* Which segments over-index for streaming video consumption?
* What lifestyle attributes define the Bohemian Mix segment?
* Show me segments with high homeownership rates and household incomes above \$100K
* What are the behavioral differences between these three segments?
* Which segments are most likely to respond to digital advertising?
The Agent pulls from your Claritas documentation to deliver detailed segment attributes and comparison tables—without digging through PDFs or spreadsheets manually.
## Who uses Customer Segment Analysis Tool?
Customer Segment Analysis Tool is built for marketing teams who need to make data-driven targeting decisions:
* Campaign Managers identifying the right segments for upcoming initiatives
* Media Planners comparing audience attributes to optimize ad spend
* Marketing Analysts researching segment demographics and behavioral patterns
* Brand Strategists understanding customer profiles to refine positioning
It's especially valuable when launching new campaigns or entering new markets—so teams can move from research to execution without spending hours combing through documentation.
## How does Customer Segment Analysis Tool use your Knowledge Base?
Customer Segment Analysis Tool searches across your connected Claritas documentation and segment data sources to surface demographic, behavioral, and psychographic attributes in one place.
When you ask about a specific segment or comparison, the Agent:
* Pulls detailed segment profiles including demographics, income levels, and lifestyle indicators
* Generates side-by-side comparison tables highlighting similarities and differences between segments
* References behavioral metrics and media consumption patterns
* Surfaces relevant documentation from Google Drive, SharePoint, or other connected sources where your Claritas data lives
Because the Knowledge Base syncs continuously, you're always working with the latest segment definitions and attributes—no outdated profiles or manual lookups.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Display Ad Placement Review
Source: https://docs.cassidyai.com/use-cases/marketing/display-ad-placement-review
Optimize your media spend and protect your brand integrity with automated ad placement review.
## What does this mean?
Cuts manual review and improves media ROI by automatically triaging placements into blocklists and optimization lists, protecting brand integrity while focusing spend where it works.
Screens thousands of monthly display ad placements by checking domain reputation signals (e.g., extension patterns) and site content for brand relevance, then flags non brand safe sites and analyzes cost/click data to identify high cost, low performance placements.
## Workflow steps
The Workflow begins when your team uploads a list of display ad placements—typically thousands of URLs from your monthly media buy.
Cassidy processes each placement individually, ensuring every site in your list gets reviewed systematically.
For each placement, the Workflow analyzes domain reputation signals—flagging suspicious extension patterns (.xyz, .click, etc.) and other indicators that suggest low-quality or risky inventory.
Cassidy evaluates each site's content against your brand guidelines and target audience to determine whether it's a suitable environment for your ads.
Sites that fail reputation or relevance checks are automatically flagged and added to a blocklist, protecting your brand from appearing alongside inappropriate content.
The Workflow cross-references placement data with cost-per-click and performance metrics to identify high-cost, low-performing sites draining your budget.
Based on the analysis, Cassidy categorizes placements into blocklists (sites to exclude) and optimization lists (high-performers to prioritize), with clear rationale for each decision.
The final output is delivered to your team as actionable lists you can use to update your media buying platform and improve ROI.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# LinkedIn Content Planner
Source: https://docs.cassidyai.com/use-cases/marketing/linkedin-content-planner
Get weekly suggestions with topics, hooks, captions, and optimal publish times based on performance.
## What does this mean?
Helps marketers post consistently with data-backed, high-quality ideas that increase reach and engagement—without manual research or guesswork.
Pulls recent LinkedIn post performance and competitor content with basic stats, then suggests weekly post ideas with topics, example hooks, captions, and recommended publish times based on what’s working.
## Workflow steps
The Workflow activates automatically on a set schedule—weekly or at your preferred cadence—so content planning happens consistently without manual effort.
Cassidy connects to your LinkedIn account and retrieves engagement metrics from your recent posts, identifying which topics, formats, and publish times are driving the best results.
Cassidy scans competitor LinkedIn profiles to surface trending topics, high-performing post formats, and engagement patterns in your space.
The Workflow analyzes your performance data alongside competitor insights to identify content themes and timing strategies that resonate with your audience.
Based on the analysis, Cassidy produces a set of post recommendations—complete with topics, example hooks, draft captions, and optimal publish times tailored to your audience's engagement patterns.
The Workflow sends your weekly content suggestions via email or Slack, giving you a ready-to-use posting calendar with data-backed ideas you can publish or refine.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Marketing Asset Agent
Source: https://docs.cassidyai.com/use-cases/marketing/marketing-asset-agent
Enhances creative operations by standardizing campaign specs and centralizing asset management.
## How does it work?
Marketing Asset Agent handles the spec lookups and template retrieval that slow down creative production. Ask questions like:
* What are the dimensions for our standard branch signage?
* What file format and resolution do we need for the Q1 display campaign?
* Pull the spec sheet for 30-second radio spots.
* What are the brand guidelines for social display ads?
* Do we have a template for the regional branch window graphics?
* What were the specs we used for last quarter's programmatic display?
* What's the character limit for radio ad copy?
The Agent pulls from centralized spec sheets, brand guidelines, and historical campaign assets—so your team gets accurate requirements without hunting through folders or pinging colleagues.
## Who uses Marketing Asset Agent?
Marketing Asset Agent is built for creative and marketing teams who need consistent specs and fast access to asset requirements:
* Creative Directors ensuring campaigns meet placement specifications across channels
* Graphic Designers pulling accurate dimensions, file formats, and brand requirements for deliverables
* Marketing Coordinators managing asset requests and verifying specs before production
* Agency Partners accessing standardized templates without back-and-forth clarification
* Brand Managers maintaining consistency across branch signage, display ads, and radio spots
It's especially valuable for teams managing high-volume, recurring placements—where spec errors cause costly rework and missed deadlines.
## How does Marketing Asset Agent use your Knowledge Base?
Marketing Asset Agent searches across your connected sources—including Google Drive, SharePoint, Box, and Notion—to surface the exact specifications your team needs for any placement or campaign type.
* Pulls standardized spec sheets for recurring formats (radio, display, branch signage)
* References brand guidelines, templates, and approved asset libraries
* Surfaces historical campaign specs for consistency across similar placements
* Links to copy generation templates that conform to stored specifications
Because the Knowledge Base syncs continuously, you're always working with current specs—no outdated templates or conflicting requirements across teams.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Marketing Content Reuse Engine
Source: https://docs.cassidyai.com/use-cases/marketing/marketing-content-reuse-engine
Transform one asset into many on-brand deliverables, filling calendars and campaigns without rewrites.
## How does it work?
Marketing Content Reuse Engine handles the repetitive work of adapting content across formats and channels. Ask questions like:
* Turn this blog post into 5 LinkedIn posts for different personas?
* Create a Twitter thread from this webinar transcript?
* Repurpose this whitepaper into an email nurture sequence?
* Generate 3 ad copy variations from this case study?
* Adapt this product announcement for our enterprise audience?
* Create short-form social posts from this long-form guide?
* Turn these customer quotes into testimonial snippets for each channel?
The Agent parses your source content, extracts key messages, and generates on-brand variations tailored by persona, channel, and format—ready for quick review.
## Who uses Marketing Content Reuse Engine?
Marketing Content Reuse Engine is built for marketing teams who need to stretch every piece of content across channels without sacrificing quality:
* Content Marketers turning long-form assets into social posts, emails, and ad copy
* Demand Gen Teams filling campaign calendars without starting from scratch
* Social Media Managers adapting content for different platforms and audiences
* Product Marketers repurposing launch materials across personas and segments
* Marketing Ops standardizing content production and reducing bottlenecks
It's especially valuable for lean teams juggling multiple channels—so one approved asset can fuel an entire campaign without endless rewrites or brand drift.
## How does Marketing Content Reuse Engine use your Knowledge Base?
Marketing Content Reuse Engine pulls from your connected sources—including Google Drive, SharePoint, Notion, Confluence, and more—to access approved content and brand guidelines in one place.
When you submit a source asset for repurposing, the Agent:
* References your brand voice guidelines, style guides, and messaging frameworks
* Pulls persona definitions and audience segments from marketing documentation
* Accesses previously approved content for tone and structure consistency
* Checks channel-specific requirements and formatting standards
Because the Knowledge Base syncs continuously, every output reflects your latest brand standards and messaging—no outdated talking points or off-brand language.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Multilingual Content Localizer
Source: https://docs.cassidyai.com/use-cases/marketing/multilingual-content-localizer
Scales global content delivery with consistent terminology and voice, cutting turnaround time while improving in-region relevance and quality by ingesting approved source content.
## What does this mean?
Scales global content delivery with consistent terminology and voice, cutting turnaround time while improving in‑region relevance and quality.
Ingests approved source content and applies translation plus in‑market localization with brand glossary control, style guides, and regional variants (terms, tone, compliance notes), then outputs channel‑ready assets across web, email, product, and social.
## Workflow steps
The Workflow begins when approved source content is uploaded or synced—whether manually or from Google Drive or SharePoint. Cassidy pulls in the original assets ready for localization.
Cassidy references your Knowledge Base to retrieve brand glossaries, terminology standards, and style guides. This ensures every translation maintains consistent voice and approved terminology.
Cassidy translates the content into the target language while applying in-market localization—adjusting tone, regional terms, and compliance notes specific to each locale. Multiple language variants are handled in a single run.
The localized drafts are sent to regional reviewers or marketing leads for human-in-the-loop approval. This validates cultural nuance, accuracy, and brand alignment before publishing.
Once approved, the Workflow formats and exports finalized content for each destination—web pages, email campaigns, product copy, or social posts—and pushes directly to your CMS or marketing platform.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Persona Development Engine
Source: https://docs.cassidyai.com/use-cases/marketing/persona-development-engine
Create comprehensive personas with detailed audience segments and narrative data.
## How does it work?
Persona Development Engine handles the research synthesis that slows down audience development. Ask questions like:
* Create a persona for mid-market CFOs evaluating our platform?
* What are the key challenges our enterprise buyers face?
* Build a persona based on our Q3 customer interview findings?
* What messaging cues resonate with our SMB segment?
* Summarize the financial behaviors of our target healthcare audience?
* What goals and motivations did customers mention in recent calls?
* Create a persona that includes lifestyle factors for our retail buyers?
The Agent pulls from customer research, call transcripts, market analyses, and existing documentation to craft comprehensive personas—complete with goals, challenges, and messaging cues tailored to your business.
## Who uses Persona Development Engine?
Persona Development Engine is built for marketing teams who need research-backed audience insights to drive content strategy:
* Content Marketers developing targeted messaging for specific audience segments
* Brand Strategists aligning campaigns with audience goals and pain points
* Product Marketing Managers crafting positioning that resonates with buyer personas
* Demand Generation Teams building campaigns around well-defined audience profiles
* Agency Teams creating persona documentation for client projects
It's especially valuable when launching new products, entering new markets, or refreshing outdated audience assumptions—so your messaging connects with real people, not generic demographics.
## How does Persona Development Engine use your Knowledge Base?
Persona Development Engine searches across your connected sources—including Google Drive research documents, SharePoint market analyses, Confluence strategy wikis, Gong customer call transcripts, and Slack conversations—to build personas grounded in your actual audience data.
When you request a persona, the Agent:
* Pulls demographic and psychographic data from existing research and reports
* Searches customer interviews and call recordings for lifestyle and financial behavior insights
* References past campaign performance data and audience engagement metrics
* Surfaces relevant competitive research and market positioning documents
Because the Knowledge Base syncs continuously, your personas reflect the latest customer insights—not assumptions from last year's research.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Research Insights Accessibility
Source: https://docs.cassidyai.com/use-cases/marketing/research-insights-accessibility
Convert buried insights into actionable guidance for marketers and product teams, speeding decisions and improving personalization.
## How does it work?
Research Insights Accessibility handles the digging that keeps marketers and product teams from acting on research. Ask questions like:
* What did customers say about our onboarding experience in the Q2 study?
* What messaging resonated most with enterprise buyers?
* Are there any insights on price sensitivity from recent interviews?
* What pain points did the competitive analysis identify?
* Summarize what we know about how users discover our product.
* What did the brand perception study say about trust?
* Which features did users request most in the last round of feedback?
The Agent pulls from research decks, transcripts, and reports to give you cited answers and synthesis—so you get actionable guidance without combing through hundreds of pages.
## Who uses Research Insights Accessibility?
Research Insights Accessibility is built for teams who need to turn dense research into action without re-reading 200-page decks:
* Marketers developing campaigns, messaging, or audience targeting based on customer research
* Product Managers making roadmap decisions informed by user studies and market analysis
* Brand Strategists pulling insights for positioning or competitive differentiation
* Content Teams grounding their work in validated customer language and preferences
* Insights Teams fielding repeated requests for the same buried findings
It's especially valuable when research exists but isn't being used—because finding the right insight takes longer than acting on it.
## How does Research Insights Accessibility use your Knowledge Base?
Research Insights Accessibility connects to your internal research library—including lengthy decks, interview transcripts, survey reports, and competitive analyses stored in Google Drive, SharePoint, OneDrive, Box, Confluence, or Notion—and enables semantic Q\&A across all of it.
When you ask a question, the Agent:
* Searches across research documents to find relevant findings, not just keyword matches
* Returns cited answers with excerpts so you can verify the source
* Synthesizes insights from multiple studies when your question spans several reports
* Understands context, so questions about Gen Z preferences or pricing sensitivity surface the right sections
Because the Knowledge Base syncs continuously, newly uploaded research becomes searchable immediately—no manual tagging or re-indexing required.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Review Snippet Collector
Source: https://docs.cassidyai.com/use-cases/marketing/review-snippet-collector
A tool that extracts and tags short quotes from social posts and reviews to provide marketing and sales teams with credible proof points, improving content quality and speeding asset creation.
## What does this mean?
Marketing and sales get fast, credible proof points aligned to key messages, improving content quality and speeding asset creation.
Pulls recent social posts and app store or G2 reviews, extracts short quotes, tags each snippet to defined messaging pillars, and outputs a source-linked list for marketing and sales decks.
## Workflow steps
The Workflow runs on a set schedule or kicks off manually when your team needs fresh proof points—keeping your snippet library current without extra effort.
Cassidy gathers recent posts from social channels and pulls reviews from sources like G2 or app stores, casting a wide net for authentic customer voices.
Cassidy scans the collected content and pulls out concise, compelling quotes that work as standalone proof points for marketing and sales materials.
Each extracted quote is automatically tagged to your defined messaging pillars—whether that's ease of use, ROI, support quality, or other key themes—so snippets are organized and ready to deploy.
The Workflow compiles the tagged snippets into a formatted list, complete with links back to the original source, giving your team credible, verifiable quotes they can drop straight into decks and content.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# SEO Article Drafting
Source: https://docs.cassidyai.com/use-cases/marketing/seo-article-drafting
Create structured, keyword-rich articles that rank higher and engage your target audience.
## How does it work?
SEO Article Drafting handles the heavy lifting of creating search-optimized content from scratch. Ask questions like:
* Draft a blog post about \[topic] targeting our enterprise buyer persona?
* Create an SEO-optimized article on \[subject] with H2s and meta description?
* Write a 1,500-word piece on \[theme] and suggest internal links from our existing content?
* Generate a keyword-focused article outline for \[topic]?
* Draft landing page copy for \[product/service] optimized for \[target keyword]?
* Create a pillar page on \[subject] with proper heading structure?
* Write an article about \[topic] in our brand voice with calls to action?
The Agent applies SEO best practices—headings, keyword integration, meta titles—while matching your tone and linking to relevant pages across your site.
## Who uses SEO Article Drafting?
SEO Article Drafting is built for marketing teams who need to produce search-optimized content at scale:
* Content Marketers creating blog posts, landing pages, and pillar content.
* SEO Specialists ensuring articles follow best practices without manual optimization.
* Demand Gen Teams producing persona-targeted content that drives organic traffic.
* Marketing Managers maintaining brand consistency across high-volume content calendars.
It's especially valuable for teams juggling multiple campaigns or personas—so writers can focus on ideas and messaging while the Agent handles structure, keywords, and internal linking.
## How does SEO Article Drafting use your Knowledge Base?
SEO Article Drafting searches across your connected sources—including Google Drive, SharePoint, Confluence, and Notion—to ensure every article aligns with your brand and links to existing content.
When you request an article, the Agent:
* References your brand guidelines, style guides, and tone documentation.
* Scans existing published content to suggest relevant internal links.
* Pulls persona profiles and audience research to tailor messaging.
* Applies your documented SEO standards and keyword strategies.
Because the Knowledge Base syncs continuously, the Agent always works with your latest content inventory and brand standards—no outdated links or off-brand copy.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# SEO FAQ Builder
Source: https://docs.cassidyai.com/use-cases/marketing/seo-faq-builder
Scrapes existing articles and related site content to generate concise, search-optimized FAQ entries.
## How does it work?
SEO FAQ Builder handles the research and formatting work that makes FAQ creation tedious. Ask questions like:
* Generate FAQs for our pricing page based on related blog content?
* What questions should we answer on our enterprise features page?
* Create schema-ready FAQs from our product comparison articles?
* Find FAQ opportunities across our help center content?
* What internal links should I add to these FAQ entries?
* Turn this long-form guide into five high-intent FAQ pairs?
* What questions are we missing on our integrations page?
The Agent analyzes your existing content library to generate concise, search-optimized FAQ entries—complete with schema markup suggestions and internal linking recommendations.
## Who uses SEO FAQ Builder?
SEO FAQ Builder is built for marketing teams focused on organic growth and content performance:
* Content Marketers looking to maximize the value of existing articles without creating net-new content
* SEO Specialists optimizing pages for featured snippets and People Also Ask rankings
* Digital Marketing Managers who need to keep site content fresh and competitive
* Content Strategists identifying gaps in topical coverage across the site
It's especially valuable for teams managing large content libraries—where manually auditing and updating every page for FAQ opportunities would take weeks instead of hours.
## How does SEO FAQ Builder use your Knowledge Base?
SEO FAQ Builder searches across your connected content sources—including Google Drive, SharePoint, Confluence, Notion, and more—to identify existing content that can be transformed into search-optimized FAQs.
* Analyzes related articles and site content from your Knowledge Base to extract common questions
* References your brand guidelines and style documentation for consistent voice
* Pulls from existing FAQs and help content to avoid duplication
* Surfaces internal linking opportunities based on your content library
Because the Knowledge Base syncs continuously, the Agent always works with your latest published content—so generated FAQs reflect current messaging and product information.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Action Items from Operations Calls
Source: https://docs.cassidyai.com/use-cases/operations/action-items-from-operations-calls
Seamlessly execute tasks, boost collaboration, and avoid missed deadlines by automating meeting follow-ups.
## What does this mean?
Ensures seamless task execution and accountability, enhancing cross-departmental collaboration and reducing the risk of missed deadlines.
Transcribe and capture cross-functional tasks from meetings, automatically assigning owners and due dates, and integrating them into project management tools and CRMs.
## Workflow steps
The Workflow activates automatically when an operations call concludes, using the Meeting Ended trigger to capture the full conversation.
Cassidy transcribes the call and identifies cross-functional tasks, owners, and due dates from the discussion.
The Workflow extracts each task into a structured format—including task description, assigned owner, department, and deadline—ready for distribution.
Cassidy automatically creates tasks in your project management system (like Jira or Asana) with the correct assignees and due dates attached.
Relevant action items are logged to your CRM via integration, linking tasks to the appropriate accounts or contacts for full visibility across teams.
The Workflow sends a summary of action items to relevant team members via Slack or email, so everyone knows their responsibilities and deadlines without digging through notes.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Automated Scheduling and Availability Tracking
Source: https://docs.cassidyai.com/use-cases/operations/automated-scheduling-and-availability-tracking
Optimize your team's productivity and reduce scheduling conflicts with intelligent, automated meeting coordination and task management based on real-time availability.
## What does this mean?
Ensures commitments are tracked and delivered on time, improving accountability, follow-through, and customer confidence after every review.
Captures next steps from EBRs and QBRs directly from meeting notes and transcripts, then assigns owners and due dates in your task system with a summarized follow-up sent to the account team.
## Workflow steps
The Workflow activates automatically when an EBR or QBR concludes, pulling in the meeting notes and transcript directly from your connected meeting tool.
Cassidy analyzes the transcript and notes, identifying commitments, next steps, and follow-up items discussed during the review.
The Workflow parses each action item and assigns responsible owners and realistic due dates based on the context of the conversation and your team structure.
Using an API request or native integration, Cassidy automatically creates tasks in your project management tool (like Jira or Asana) with the assigned owners, due dates, and relevant context from the call.
The Workflow drafts a concise follow-up summary highlighting key commitments, owners, and timelines—formatted for easy scanning by the account team.
The summary is delivered via email or Slack to the account team, ensuring everyone has visibility into what was promised and who's responsible for delivery.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Automated Time Tracking from Calendar
Source: https://docs.cassidyai.com/use-cases/operations/automated-time-tracking-from-calendar
Provides accurate and automated tracking of time allocation, improving billing accuracy and resource planning with minimal manual effort.
## What does this mean?
Ensures commitments are tracked and delivered on time, improving accountability, follow-through, and customer confidence after every review.
Captures next steps from EBRs and QBRs directly from meeting notes and transcripts, then assigns owners and due dates in your task system with a summarized follow-up sent to the account team.
## Workflow steps
The Workflow activates automatically when an EBR or QBR concludes, pulling in the meeting notes and transcript directly from your connected meeting tool.
Cassidy analyzes the transcript and notes, identifying commitments, next steps, and follow-up items discussed during the review.
The Workflow parses each action item and assigns responsible owners and realistic due dates based on the context of the conversation and your team structure.
Using an API request or native integration, Cassidy automatically creates tasks in your project management tool (like Jira or Asana) with the assigned owners, due dates, and relevant context from the call.
The Workflow drafts a concise follow-up summary highlighting key commitments, owners, and timelines—formatted for easy scanning by the account team.
The summary is delivered via email or Slack to the account team, ensuring everyone has visibility into what was promised and who's responsible for delivery.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Daily Meeting Prep Briefs
Source: https://docs.cassidyai.com/use-cases/operations/daily-meeting-prep-briefs
Pulls today’s calendar meetings, recent CRM updates, emails, and past meeting notes to compile concise briefs for each meeting, highlighting attendee details, open tasks, and outcomes from previous interactions.
## What does this mean?
Teams prepare efficiently with complete context, leading to smoother coordination, clearer actions, and reduced time spent gathering information across the organization.
Pulls today’s calendar meetings, recent CRM updates, emails, and past meeting notes to compile concise briefs for each meeting, highlighting attendee details, open tasks, and outcomes from previous interactions.
## Workflow steps
The Workflow runs automatically each morning on a set schedule, ensuring your team starts every day with fresh meeting briefs ready to go.
Cassidy connects to your calendar to retrieve all meetings scheduled for the day, capturing attendee lists, meeting titles, and timing details.
For each meeting, the Workflow pulls recent CRM updates related to the attendees—deal status, account history, open opportunities, and any logged activities.
Cassidy searches your email threads and previous meeting notes involving the attendees, surfacing relevant conversations, commitments made, and outstanding questions.
Cassidy compiles everything into concise briefs for each meeting—highlighting attendee details, open tasks, and outcomes from previous interactions.
The completed briefs are sent via email or Slack, so everyone walks into their meetings with complete context and clear priorities.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Help Desk Knowledge Resolver
Source: https://docs.cassidyai.com/use-cases/operations/help-desk-knowledge-resolver
Streamlines information access and improves response times, automating queries and escalating sensitive topics to human reviewers.
## What does this mean?
Streamlines access to information while ensuring accuracy and compliance, reducing manual effort and improving response times for both routine and escalated queries.
Automatically processes help desk ticket queries by searching a centralized Knowledge Base for relevant policies and responses, escalating to human reviewers for sensitive or unresolved topics, and responding with cited answers.
## Workflow steps
The Workflow activates automatically when a new ticket arrives in your helpdesk system—capturing the query details and context.
Cassidy searches your centralized Knowledge Base for relevant policies, documentation, and approved responses that match the ticket's topic.
The Workflow checks whether the query involves sensitive topics or if the Knowledge Base returned sufficient information to resolve the request.
For sensitive or unresolved queries, the Workflow routes the ticket to a team member for approval, keeping a human in the loop before any response goes out.
Cassidy drafts a reply grounded in Knowledge Base sources—complete with citations so the end user can verify the information.
Once approved (or automatically for routine queries), the response is sent back through your helpdesk system, and the Workflow logs the resolution for reporting and continuous improvement.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Internal Answer Search
Source: https://docs.cassidyai.com/use-cases/operations/internal-answer-search
Empower employees with instant, accurate information, streamlining operations and boosting productivity.
## How does it work?
Internal Answer Search handles the everyday questions that slow teams down and pull experts away from focused work. Ask questions like:
* What's our policy on remote work requests?
* How do I submit a PTO request?
* What's the process for onboarding a new vendor?
* Where can I find the brand guidelines for customer presentations?
* What are the steps to escalate a support ticket?
* Who do I contact for facilities issues?
* What benefits are available for part-time employees?
* How do I request access to a new software tool?
The Agent searches your policies, SOPs, and internal documentation to deliver answers with source links—so employees can verify and dig deeper when needed.
## Who uses Internal Answer Search?
Internal Answer Search is built for anyone who needs quick access to company knowledge without interrupting colleagues or digging through systems:
* New hires ramping up on policies, processes, and how things work
* Operations and HR teams fielding repetitive questions about benefits, procedures, and guidelines
* Frontline employees who need fast answers to serve customers or complete tasks
* Managers looking up SOPs or policy details without waiting on subject matter experts
* IT and support staff referencing internal documentation and troubleshooting guides
It's especially valuable for distributed teams and high-turnover environments where the same questions get asked repeatedly—freeing up your experts to focus on work that actually requires their expertise.
## How does Internal Answer Search use your Knowledge Base?
Internal Answer Search connects to your company's centralized Knowledge Base—pulling from sources like SharePoint, Confluence, Google Drive, Notion, and OneDrive—to find the most relevant policies, SOPs, onboarding materials, and product documentation.
When an employee asks a question, the Agent:
* Searches across all connected knowledge sources for relevant content
* Returns precise answers with citations and direct links to source documents
* Understands your company's terminology and context to surface accurate information
* Reflects the latest updates automatically through continuous sync
Because the Knowledge Base stays current with your connected systems, employees always get answers based on the most up-to-date information—not outdated docs buried in someone's inbox.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# IT Access and Request Management
Source: https://docs.cassidyai.com/use-cases/operations/it-access-and-request-management
Streamline IT access with automated requests, ensuring compliance and efficiency.
## What does this mean?
Reduces administrative overhead and accelerates response times, improving efficiency and ensuring policy adherence throughout the access management process.
Automates the intake, approval, and status tracking of IT access requests, using policy-aware responses to ensure compliance and streamline processing.
## Workflow steps
The Workflow activates when an IT access request is submitted—whether via Slack, Microsoft Teams, or a form submission.
Cassidy extracts key details from the request, including the type of access needed, the requestor's role, and the systems involved, then categorizes it for proper routing.
The Workflow references your Knowledge Base to verify the request against security policies, compliance requirements, and role-based access rules.
Cassidy determines the next step: straightforward requests that meet policy criteria proceed automatically, while those requiring manager sign-off or additional review are flagged for approval.
For requests needing human review, the Workflow sends the request details to the appropriate approver—complete with policy context and a recommendation—using Human-in-the-Loop approval.
Once approved, Cassidy connects to your identity management or ticketing system to grant the requested access automatically.
The Workflow sends a confirmation to the requestor via Slack or email, and logs the complete request history—including approval chain and timestamps—back to your IT service management system for audit and compliance tracking.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Leadership Executive Summary
Source: https://docs.cassidyai.com/use-cases/operations/leadership-executive-summary
Provides executives with comprehensive overviews and actionable insights for strategic oversight and data-driven decisions by compiling updates on operational goals, risks, and KPIs.
## What does this mean?
Provides executives with a comprehensive overview and actionable insights, enhancing strategic oversight and facilitating data-driven decision-making.
Compiles updates on operational goals, risks, and KPIs, aggregating data from various tools and meetings into streamlined summaries for executives.
## Workflow steps
The Workflow activates on a recurring schedule—weekly, bi-weekly, or monthly—timed to align with executive review cycles and leadership meetings.
Cassidy pulls operational updates, project statuses, and performance metrics from integrated systems like Salesforce, Google Sheets, Jira, and other data sources across the organization.
The Workflow gathers key takeaways, decisions, and action items from recent leadership and cross-functional meetings stored in the Knowledge Base or synced from meeting tools.
Cassidy synthesizes the aggregated data into a structured summary—highlighting progress on operational goals, emerging risks, and KPI performance with context your leadership team expects.
The draft summary is sent to a team member or chief of staff for approval, ensuring accuracy and relevance before it reaches executives.
Once approved, the finalized executive summary is distributed via email or posted to a shared channel, giving leaders a clear, actionable snapshot for strategic decision-making.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Onboarding Agents for New Employees
Source: https://docs.cassidyai.com/use-cases/operations/onboarding-agents-for-new-employees
Enhance new hire integration and boost productivity through convenient direct messaging.
## How does it work?
Onboarding Agents handle the questions that flood HR inboxes and Slack channels during a new hire's first weeks. Ask questions like:
* How do I set up direct deposit for my paycheck?
* What's the process for requesting PTO?
* Where do I find the brand guidelines for my team?
* Who do I contact about laptop issues?
* What tools do I need access to as a sales rep?
* When is the next benefits enrollment period?
* What's the policy on remote work?
* Where can I find the engineering team's coding standards?
The Agent pulls from HR documents, team wikis, onboarding checklists, and internal FAQs to give new hires answers instantly—without waiting for someone to get back to them.
## Who uses Onboarding Agents for New Employees?
Onboarding Agents are built for anyone involved in bringing new employees up to speed:
* New hires navigating their first weeks and needing quick answers without interrupting colleagues
* HR teams fielding repetitive questions about policies, benefits, and procedures
* Managers ensuring direct reports have the resources they need to ramp quickly
* People Operations scaling onboarding support across departments without adding headcount
It's especially valuable for distributed teams and high-growth companies where new hires can't just tap a neighbor on the shoulder—and where HR can't personally guide every employee through every checklist.
## How does Onboarding Agents for New Employees use your Knowledge Base?
Onboarding Agents search across your connected sources—including Confluence wikis, SharePoint documents, Google Drive folders, Notion pages, and Slack channels—to surface role-specific answers and resources in one place.
When a new hire asks a question, the Agent:
* Pulls from HR policies, employee handbooks, and benefits documentation
* References role-specific onboarding checklists and training materials
* Surfaces relevant SOPs, team wikis, and process guides
* Finds answers from internal FAQs and past Slack conversations
Because the Knowledge Base syncs continuously, new hires always get answers based on the latest policies and procedures—not outdated documents buried in a shared drive.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Operational Data Analysis
Source: https://docs.cassidyai.com/use-cases/operations/operational-data-analysis
Empowers operations teams to make informed decisions and optimize processes by transforming questions into actionable insights.
## How does it work?
Operational Data Analysis handles the number-crunching and pattern recognition that slows teams down. Ask questions like:
* What's causing the spike in processing times this month?
* Show me fulfillment trends for the last quarter by region.
* Which vendors have the highest return rates?
* Are there any anomalies in last week's production output?
* How does this month's throughput compare to our six-month average?
* What bottlenecks are affecting our order completion times?
* Which processes have the longest cycle times?
The Agent analyzes your operational spreadsheets and connected data sources to deliver insights—without building custom reports or waiting on analyst bandwidth.
## Who uses Operational Data Analysis?
Operational Data Analysis is built for operations teams who need to turn raw data into decisions:
* Operations Managers identifying bottlenecks and process inefficiencies
* Business Analysts tracking KPIs and spotting trends across departments
* Supply Chain Teams monitoring inventory levels and fulfillment metrics
* Finance Operations analyzing spend patterns and resource allocation
* Project Managers tracking delivery timelines and capacity utilization
It's especially valuable when teams need answers fast—during planning cycles, executive reviews, or when investigating why a process isn't performing as expected.
## How does Operational Data Analysis use your Knowledge Base?
Operational Data Analysis searches across your connected sources—including Google Sheets, SharePoint spreadsheets, Confluence documentation, Jira tickets, and more—to surface insights from your operational data.
* Queries operational spreadsheets and databases for relevant metrics
* Cross-references process documentation to provide context
* Connects data to specific initiatives tracked in your project management tools
* Surfaces historical data to identify patterns over time
Because the Knowledge Base syncs continuously, you're always analyzing the latest information—no manual exports or outdated reports.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Project Status and Risk Summaries
Source: https://docs.cassidyai.com/use-cases/operations/project-status-and-risk-summaries
Automatically generates weekly briefs that consolidate project risks, dependencies, and key decisions, drawing from meeting notes and project management tools.
## What does this mean?
Provides clear and concise visibility into project progress and potential challenges, enabling informed decision-making and proactive risk management.
Automatically generates weekly briefs that consolidate project risks, dependencies, and key decisions, drawing from meeting notes and project management tools.
## Workflow steps
The Workflow activates automatically on a weekly schedule, ensuring project status briefs are generated consistently without manual intervention.
Cassidy connects to your project management tools—like Jira, Asana, or Monday—to gather current project statuses, task progress, dependencies, and flagged blockers.
The Workflow pulls relevant meeting notes from your Knowledge Base, extracting key decisions, action items, and risk discussions from the past week.
Cassidy analyzes the aggregated data to identify project risks, dependencies, and critical decisions—then consolidates everything into a clear, concise weekly brief.
The draft summary is sent to a project lead or stakeholder for quick review, allowing them to add context or flag anything that needs attention before distribution.
Once approved, the Workflow sends the finalized project status brief via email or Slack, keeping leadership and cross-functional teams aligned on progress and potential challenges.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Searchable Meeting Memory
Source: https://docs.cassidyai.com/use-cases/operations/searchable-meeting-memory
Unlock detailed meeting content effortlessly, analyze calls, and facilitate informed decision-making.
## How does it work?
Searchable Meeting Memory helps you find specific moments, decisions, and details buried in hours of recorded conversations. Ask questions like:
* What did the engineering team commit to in last Thursday's sprint planning?
* When did we discuss the Q2 budget changes, and what was decided?
* Find every mention of the product launch timeline across this month's leadership meetings.
* What concerns did the client raise about implementation in our last three calls?
* Who was assigned to follow up on the vendor contract?
* Summarize the key decisions from the all-hands meeting on Monday.
* What did Sarah say about the hiring timeline in the ops sync?
The Agent searches transcripts, summaries, and recordings to give you precise answers—down to the timestamp—so you're not scrubbing through hours of video to find one comment.
## Who uses Searchable Meeting Memory?
Searchable Meeting Memory is built for anyone who needs to revisit what was said, decided, or assigned in past conversations:
* Operations and Project Managers tracking action items and decisions across multiple workstreams
* Sales and Customer Success teams reviewing client calls for commitments, objections, or next steps
* Leadership catching up on meetings they missed or preparing for follow-ups
* Cross-functional teams aligning on what was discussed without scheduling another meeting to recap
It's especially valuable for organizations with high meeting volume—where important details get buried and institutional knowledge walks out the door when someone forgets to take notes.
## How does Searchable Meeting Memory use your Knowledge Base?
Searchable Meeting Memory searches across your connected meeting sources—including Gong call recordings, Zoom transcripts, Google Meet summaries, and notes stored in Confluence, Notion, or Google Drive—to surface exactly what you need from past conversations.
When you ask a question, the Agent:
* Searches transcripts and recordings for specific topics, keywords, or speakers
* Locates relevant timestamps so you can jump directly to the moment in a recording
* Pulls context from meeting summaries and follow-up notes
* Cross-references multiple calls to identify patterns or recurring themes
Because your Knowledge Base syncs continuously with your meeting tools, you're always searching the latest transcripts—not last week's uploads.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# SOP Generator
Source: https://docs.cassidyai.com/use-cases/operations/sop-generator
Automatically generates formatted Standard Operating Procedures by taking in detailed process descriptions and comparing them to existing SOPs and guidelines.
## How does it work?
SOP Generator handles the documentation work that keeps operations teams from focusing on process improvement. Ask questions like:
* Create an SOP for our new employee onboarding process based on this description?
* Generate a procedure document for handling customer escalations?
* Draft an SOP for our monthly inventory reconciliation workflow?
* Update our existing vendor approval process with these new compliance steps?
* Create a step-by-step guide for the quarterly reporting process?
* Generate a procedure that aligns with our existing quality control guidelines?
* Document this IT troubleshooting workflow in our standard SOP format?
The Agent pulls from your existing SOPs, style guides, and compliance documentation to generate formatted procedures that match your organization's standards—without starting from scratch every time.
## Who uses SOP Generator?
SOP Generator is built for teams responsible for documenting, standardizing, and maintaining operational processes:
* Operations Managers creating or updating procedures for their teams
* Quality Assurance teams ensuring process documentation meets compliance standards
* HR and Training leads developing onboarding materials and role-specific procedures
* Department heads standardizing workflows across distributed teams
* Process improvement specialists documenting new or optimized workflows
It's especially valuable when scaling operations, onboarding new team members, or preparing for audits—any time clear, consistent documentation is critical to getting work done right.
## How does SOP Generator use your Knowledge Base?
SOP Generator searches across your connected sources—including Google Drive, SharePoint, Confluence, Notion, and other integrated platforms—to find relevant context for your process descriptions.
When you provide a process description, the Agent:
* Pulls existing SOPs, guidelines, and policies from your Knowledge Base to ensure consistency
* References company terminology, formatting standards, and compliance requirements
* Identifies gaps or conflicts between new procedures and established documentation
* Incorporates relevant context from related processes and workflows
Because the Knowledge Base syncs continuously, every SOP generated reflects your latest standards—no outdated templates or conflicting procedures.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Standardized Meeting Minutes Writer
Source: https://docs.cassidyai.com/use-cases/operations/standardized-meeting-minutes-writer
Facilitates consistent follow-through and alignment, ensuring all stakeholders are informed and accountable without manual effort by automatically generating clear, standardized meeting minutes.
## What does this mean?
Facilitates consistent follow-through and alignment, ensuring all stakeholders are informed and accountable without manual effort.
Records and transcribes calls to automatically generate clear, standardized meeting minutes with designated owners and due dates, added to your CRM, stored in the Knowledge Base, and emailed to participants.
## Workflow steps
The Workflow activates automatically when a call concludes, capturing the full recording and transcript without any manual intervention.
Cassidy analyzes the transcript to extract key discussion points, decisions made, action items with designated owners, and due dates—all formatted to your organization's standard template.
The Workflow automatically logs the meeting minutes to the relevant record in your CRM, keeping your customer data current and accessible to the entire team.
A copy of the meeting minutes is added to your Knowledge Base, making it searchable and available for future reference across your organization.
The Workflow sends the finalized meeting minutes to all attendees, ensuring everyone leaves with the same understanding of outcomes, ownership, and next steps.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Bug Insights Extractor
Source: https://docs.cassidyai.com/use-cases/product/bug-insights-extractor
Automatically transcribes customer calls and extracts bug-related information from support tickets, creating detailed reports.
## What does this mean?
Ensures comprehensive documentation of bugs, improving the speed and accuracy of issue resolution and fostering seamless communication between support and product development.
Transcribes customer calls and extracts bug-related information from support tickets, automatically creating detailed reports with context for the development team.
## Workflow steps
The Workflow activates when a customer call ends or a new support ticket arrives—capturing bug-related conversations as they happen through your existing support tools.
Cassidy transcribes the call recording or parses the support ticket, then identifies and extracts bug-related information—symptoms, error messages, steps to reproduce, and customer impact.
The Workflow pulls additional context from your Knowledge Base and connected systems (like your CRM or product documentation) to add relevant details about the customer's environment, account history, and any related known issues.
Using the extracted information and enriched context, Cassidy compiles a structured bug report formatted for your development team—including severity assessment, reproduction steps, and customer quotes that bring the issue to life.
The completed report is automatically sent to the appropriate channel (Slack, Jira, or email) and logged in your ticketing system, ensuring support and product teams have full visibility and can act fast.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Bug Prioritization Engine
Source: https://docs.cassidyai.com/use-cases/product/bug-prioritization-engine
Enhances development focus, streamlines communication between support and engineering teams, and improves product stability.
## What does this mean?
Enhances development focus and facilitates clear communication between support and engineering teams, ensuring that critical issues are addressed efficiently and improving overall product stability and user satisfaction.
Analyzes and categorizes bug reports from various sources, prioritizing them based on severity, frequency, and user impact for integration into the development backlog.
## Workflow steps
The Workflow activates automatically when a new bug report is submitted—whether from Jira, Zendesk, or another issue tracking system.
Cassidy analyzes the bug report details, extracting key information like error type, affected features, and reproduction steps.
The Workflow evaluates the bug's severity by cross-referencing frequency of occurrence, number of users affected, and potential business impact using your Knowledge Base and historical data.
Based on the analysis, Cassidy assigns a priority score and categorization (critical, high, medium, low) to help engineering teams focus on what matters most.
The prioritized bug report is sent to a team lead for quick validation before it enters the development backlog.
Once approved, the Workflow updates the development backlog in Jira with the priority assignment and sends a notification to the relevant engineering and support teams, keeping everyone aligned on critical issues.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Bug Report Structurer
Source: https://docs.cassidyai.com/use-cases/product/bug-report-structurer
Streamlines bug reporting for clearer, faster resolutions, enhancing team collaboration and reducing engineering effort.
## What does this mean?
Improves clarity and consistency of reports, reducing the time engineers spend deciphering issues and accelerating resolution, while enhancing collaboration between product managers and development teams.
Converts raw bug reports into standardized, detailed formats suitable for Jira, preserving context, involved systems, and necessary technical details for engineers.
## Workflow steps
The Workflow activates via a Manual trigger when a team member submits a raw bug report—whether it's a quick Slack message, an email from a customer, or notes jotted down during testing.
Cassidy analyzes the unstructured report to identify critical information: the issue description, steps to reproduce, affected systems, environment details, and any error messages or screenshots referenced.
Using the Generate Text with Cassidy Agent action, the Workflow transforms the extracted details into a standardized bug report template—complete with severity level, affected components, reproduction steps, and technical context engineers need to diagnose the issue.
The structured report is sent to the product manager or reporter via Request Input from Team for a quick review, ensuring accuracy before it reaches engineering.
Once approved, the Workflow sends the formatted bug report directly to Jira via API request, creating a ticket with all fields populated and proper labels applied—ready for engineering to pick up without back-and-forth clarification.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Feature Requests from Calls
Source: https://docs.cassidyai.com/use-cases/product/feature-requests-from-calls
Seamlessly integrate customer feedback into product plans, ensuring efficient prioritization and comprehensive context preservation through transcribed call analysis and backlog routing.
## What does this mean?
Facilitates the seamless incorporation of feedback into product plans, ensuring requests are efficiently prioritized with comprehensive context preserved.
Transcribes customer calls to detect, de-duplicate, and route feature requests into the product backlog, keeping context intact for tagging customer specifics, motivations, and scenarios.
## Workflow steps
The Workflow activates automatically when a customer call ends, using a Meeting Ended trigger or integration with your call recording platform (such as Gong) to capture the conversation.
Cassidy processes the call recording to generate a full transcript, then identifies any feature requests mentioned during the conversation.
The Workflow pulls out key information for each feature request—including the customer's name, company, use case, motivation, and specific scenarios—preserving the full context behind the ask.
Cassidy checks the extracted requests against your product backlog to identify duplicates, linking new mentions to existing items or flagging truly new requests for addition.
The Workflow creates or updates backlog items in your project management tool (such as Jira) with the feature request details, customer tags, and relevant context for prioritization.
A notification is sent via Slack or email to alert the product team of new or updated feature requests, giving them immediate visibility into customer feedback without manual effort.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Pain Point Miner
Source: https://docs.cassidyai.com/use-cases/product/pain-point-miner
Aggregates and analyzes recurring customer pain points from support tickets and meeting transcripts.
## What does this mean?
Drives strategic roadmap decisions by revealing customer challenges with complete contextual understanding, reducing manual interpretation.
Aggregates and analyzes recurring customer pain points from support tickets and meeting transcripts, preserving context to tag details, motivations, and relevant use cases.
## Workflow steps
The Workflow activates on a scheduled basis or when new support tickets and meeting transcripts are added—pulling from sources like Zendesk, Gong, or your helpdesk.
Cassidy gathers support tickets and meeting transcripts from connected sources, compiling them into a unified dataset ready for analysis.
Using your Knowledge Base, the Workflow identifies recurring customer challenges—tagging each with relevant details, motivations, and use cases while preserving the original context.
The Workflow organizes pain points by theme, frequency, and business impact, surfacing the issues that matter most for product and strategy decisions.
Cassidy compiles the analysis into a clear summary—highlighting top pain points, supporting quotes, and recommended actions for your roadmap.
The report is sent via email, Slack, or Microsoft Teams, giving stakeholders immediate visibility into customer challenges without manual interpretation.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# PRD Writer
Source: https://docs.cassidyai.com/use-cases/product/prd-writer
Generates product requirements documents grounded in full context from your existing product, backlog, and roadmap.
## How does it work?
PRD Writer handles the heavy lifting of structuring and grounding product specs. Ask questions like:
* Draft a PRD for the new dashboard filtering feature based on the research in Drive?
* What user stories exist for our onboarding flow in Jira?
* Add acceptance criteria and edge cases to this feature brief?
* What dependencies should I consider for the API integration project?
* Summarize the scope decisions from last week's Slack thread on payments?
* Are there any existing tickets related to this feature I should reference?
* Generate a PRD outline from these meeting notes and the current roadmap?
The Agent pulls from product briefs, backlog items, research documents, and team discussions to deliver build-ready specs—without hours of manual synthesis.
## Who uses PRD Writer?
PRD Writer is built for product teams who need to move from idea to actionable spec without bottlenecks:
* Product Managers drafting requirements for new features or improvements
* Product Owners translating stakeholder requests into structured specs
* Technical Program Managers aligning cross-functional teams on scope and deliverables
* Engineering Leads reviewing specs for completeness before sprint planning
It's especially valuable when kicking off new initiatives, breaking down large epics, or onboarding new team members who need to quickly understand existing product context and backlog priorities.
## How does PRD Writer use your Knowledge Base?
PRD Writer searches across your connected sources—including Jira, Confluence, Google Drive, Notion, Slack, and more—to ground every requirements document in your actual product context.
When you ask the Agent to draft or refine a PRD, it:
* Pulls existing user stories, acceptance criteria, and edge cases from your backlog
* References product briefs, research findings, and strategy documents
* Surfaces relevant Slack threads where scope or requirements were discussed
* Checks your roadmap and dependency documentation to flag potential conflicts
Because the Knowledge Base syncs continuously, your PRDs reflect the latest decisions—no outdated specs or missed context from last week's planning session.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Product Metrics Analyzer
Source: https://docs.cassidyai.com/use-cases/product/product-metrics-analyzer
Instantly optimize engagement and test hypotheses by analyzing product usage and performance data with plain-language queries.
## How does it work?
Product Metrics Analyzer handles the analysis work that usually requires SQL queries or BI requests. Ask questions like:
* What's the adoption rate for our new onboarding flow?
* Which features have the highest drop-off in the first 7 days?
* Compare engagement metrics between our free and paid tiers.
* What user segments are most active in the dashboard module?
* Show me weekly active users trend for the past quarter.
* Which cohort has the best retention after 30 days?
* What's the correlation between feature X usage and conversion?
The Agent analyzes your product data and returns concise summaries with charts—so you get answers, not raw data dumps.
## Who uses Product Metrics Analyzer?
Product Metrics Analyzer is built for teams who need fast, data-driven answers to guide product decisions:
* Product Managers validating feature performance and prioritizing roadmap items
* Growth Teams identifying adoption gaps and testing engagement hypotheses
* Product Analysts running quick queries without waiting on BI queues
* Product Leaders reviewing usage trends and making resource allocation decisions
It's especially valuable when you need answers mid-meeting or mid-sprint—no waiting for a data request ticket to work its way through the queue.
## Product Metrics Analyzer use your Knowledge Base>?
Product Metrics Analyzer searches across your connected sources—including product analytics platforms, Google Drive reports, Confluence documentation, Jira tickets, and Slack discussions—to surface relevant usage data and context in one place.
When you ask a question about product performance, the Agent:
* Pulls usage metrics, adoption rates, and engagement data from connected analytics sources
* References feature documentation and product specs for context
* Searches Jira for related tickets, bugs, and feature requests
* Surfaces relevant Slack threads where teams discussed performance issues
Because the Knowledge Base syncs continuously, you're always analyzing the latest data—not last week's export sitting in a spreadsheet somewhere.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Release Notes Generator
Source: https://docs.cassidyai.com/use-cases/product/release-notes-generator
Automatically generate clear, user-facing release notes and detailed internal change logs.
## What does this mean?
Streamlines the release process by providing polished, consistent communications for users and teams, reducing the burden on product managers and enhancing transparency.
Automatically compiles and crafts clear, user-facing release notes and detailed internal change logs from development updates and ticket histories.
## Workflow steps
The Workflow activates when a sprint closes or release is tagged in Jira, or through a manual trigger when a product manager initiates the release notes process with relevant ticket IDs or version details.
Cassidy retrieves the relevant tickets, commits, and change records from your connected tools—gathering descriptions, labels, and resolution details that form the raw material for your release documentation.
Cassidy crafts polished, user-friendly release notes that translate technical changes into clear benefits and feature descriptions your customers will understand—drawing on your Knowledge Base for product terminology and brand voice.
A detailed internal change log is created with technical specifics, ticket references, and implementation notes for engineering and support teams.
Both documents are sent to a product manager or technical writer for quick review, edits, or approval—keeping a human in the loop before publication.
Once approved, the Workflow exports the release notes as a Microsoft Word document or sends them via email to stakeholders, and can push updates to your documentation platform or internal wiki for full visibility.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# User Interview Synthesizer
Source: https://docs.cassidyai.com/use-cases/product/user-interview-synthesizer
Records and transcribes calls, indexes them in a knowledge base, and lets teams query across sessions to surface recurring themes, insights, and personas with cited clips and notes.
## What does this mean?
Replaces manual note-sifting with instant, cross-interview analysis—speeding synthesis, strengthening evidence for decisions, and turning voice-of-customer signals into clear product, design, and GTM actions.
Records and transcribes user interview calls via Meetings, indexes them in a unified Knowledge Base, and lets teams query across many sessions to surface recurring themes, insights, and personas with cited clips and notes.
## Workflow steps
When a user interview call ends, Cassidy Meetings automatically captures the recording and generates a full transcript of the conversation.
The transcript, along with any notes or metadata, is added to a unified Knowledge Base collection dedicated to user interviews. This makes every session searchable alongside past conversations.
Team members can ask questions across all indexed sessions using a Cassidy Agent. Whether looking for feedback on a specific feature, common pain points, or persona patterns, the Agent searches the full library of interviews to surface relevant insights.
The Agent returns recurring themes, user quotes, and actionable insights—each linked back to the original transcript and timestamp. Product, design, and GTM teams get the evidence they need without manually sifting through hours of recordings.
With clear, cited findings in hand, teams can confidently prioritize roadmap decisions, refine messaging, or validate design directions—all grounded in real voice-of-customer data.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# User Story Creator
Source: https://docs.cassidyai.com/use-cases/product/user-story-creator
Generates detailed user stories, acceptance criteria, and user journeys from concise inputs.
## How does it work?
User Story Creator handles the documentation work that slows down product planning. Ask questions like:
* Create a user story for adding SSO login to our enterprise dashboard?
* Write acceptance criteria for a bulk export feature?
* Generate a user journey for a first-time customer completing onboarding?
* Turn this feature brief into Jira-ready user stories?
* What edge cases should the acceptance criteria cover for this payment flow?
* Break down this epic into smaller user stories with clear scope?
* Draft a user story for the mobile notification preferences we discussed?
The Agent generates detailed, structured output—complete with user stories, acceptance criteria, and user journeys—ready to drop into Jira or your project management tool of choice.
## Who uses User Story Creator?
User Story Creator is built for product and engineering teams who need to turn ideas into actionable work items quickly:
* Product Managers translating feature requests and stakeholder feedback into structured requirements
* Business Analysts documenting workflows and acceptance criteria for development teams
* Scrum Masters and Agile Coaches helping teams maintain consistent story formats across sprints
* Engineering Leads reviewing or drafting technical user stories with clear success criteria
* UX Designers articulating user journeys and interaction requirements
It's especially valuable for teams scaling their product development—ensuring every story follows the same structure and level of detail, regardless of who writes it.
## How does User Story Creator use your Knowledge Base?
User Story Creator pulls from your connected sources—including Confluence documentation, Jira tickets, Google Drive specs, SharePoint requirements docs, and Notion wikis—to generate user stories that align with your existing standards and context.
When you provide a concise input or feature idea, the Agent:
* References your product documentation and existing user stories for consistent formatting and terminology
* Pulls from past acceptance criteria to match your team's definition of done
* Searches design docs and requirements to understand related features and dependencies
* Incorporates your company's user personas and journey frameworks when available
Because the Knowledge Base syncs continuously, the Agent stays current with your latest product specs, templates, and team conventions—so every story it generates fits right into your workflow.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Candidate Outreach Generator
Source: https://docs.cassidyai.com/use-cases/recruiting/candidate-outreach-generator
Accelerate first touch and nurture with high-quality messaging, boosting response rates and speeding up scheduling.
## How does it work?
Candidate Outreach Generator handles the writing that slows recruiters down between sourcing and scheduling. Ask questions like:
* Draft a LinkedIn InMail for this senior engineer candidate based on their resume and the job description?
* Write a follow-up email for a candidate who hasn't responded in a week?
* Create an SMS nudge for a candidate we're trying to schedule?
* Personalize outreach for this executive-level candidate—make it compelling?
* Draft a rejection message that leaves the door open for future roles?
* Write a warm intro for a referral candidate from our VP of Sales?
* Adjust this message for a more junior candidate in a different time zone?
The Agent tailors every message by role, seniority, and channel—so you get outreach with clear value hooks and next steps, not generic templates.
## Who uses Candidate Outreach Generator?
Candidate Outreach Generator is built for talent acquisition teams who need to move fast without sacrificing personalization:
* Recruiters managing high-volume pipelines across multiple roles
* Sourcers reaching out to passive candidates who need a compelling reason to respond
* Talent Acquisition Leaders standardizing outreach quality across the team
* Recruiting Coordinators handling follow-up sequences and scheduling nudges
It's especially valuable when you're juggling dozens of open requisitions—so every candidate gets a tailored message, not a template that reads like one.
## How does Candidate Outreach Generator use your Knowledge Base?
Candidate Outreach Generator pulls from your connected sources—including Google Drive job descriptions, SharePoint hiring guides, Confluence role requirements, and Notion team pages—to craft messages grounded in what actually matters for each position.
When you request outreach for a candidate, the Agent:
* References the job description to highlight relevant responsibilities and requirements
* Pulls company information, team context, and role-specific value props from internal documents
* Incorporates tone and messaging guidelines from your employer branding materials
* Surfaces any existing notes or context about the candidate from connected systems
Because the Knowledge Base syncs continuously, your outreach always reflects current job requirements, updated compensation ranges, and the latest on what makes each role compelling.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Candidate Resume Screening and Scoring
Source: https://docs.cassidyai.com/use-cases/recruiting/candidate-resume-screening-and-scoring
Optimize your hiring process with AI-powered resume screening.
## What does this mean?
Recruiters screen faster with consistent criteria, surface qualified candidates sooner, and improve hiring quality while reducing manual review time.
Ingests job descriptions and parses incoming resumes, then compares candidates to the JD using a structured, weighted rubric (skills, experience, certifications, tenure, and location fit) to produce ranked shortlists with transparent rationale.
## Workflow steps
The Workflow begins when a new job description is added—via a manual trigger, Google Drive, or SharePoint. Cassidy parses the JD to extract key requirements: required skills, experience levels, certifications, location preferences, and other hiring criteria.
As candidates apply, resumes flow into the Workflow automatically through email, file uploads, or directly from your ATS or cloud storage.
Cassidy analyzes each resume, pulling out structured information: work history, skills, certifications, tenure at previous roles, and location.
The Workflow compares each candidate's profile to the job description using a structured, weighted rubric. Cassidy evaluates skills match, years of experience, relevant certifications, job tenure patterns, and location fit—assigning scores to each dimension.
For every candidate, Cassidy produces a transparent explanation of their score—highlighting strengths, gaps, and how they stack up against the role's requirements.
The Workflow assembles a ranked list of top candidates with their scores and rationale, formatted for easy review.
The shortlist is delivered to your recruiting team via email or Slack, keeping a human in the loop before any candidate moves forward in the process.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Custom Interview Question Writer
Source: https://docs.cassidyai.com/use-cases/recruiting/custom-interview-question-writer
Tailored questions from job descriptions and resumes, speeding hiring decisions with higher quality interviews.
## How does it work?
Custom Interview Question Writer handles the prep work that keeps hiring managers from running focused interviews. Ask questions like:
* Generate interview questions for this Product Manager candidate based on their resume?
* What follow-up questions should I ask about their experience leading cross-functional teams?
* Create behavioral questions that probe for the collaboration skills this role requires?
* What should a strong answer look like for questions about their technical background?
* Give me questions that explore the gap between their current role and this position?
* What evaluation criteria should I use for this candidate's problem-solving responses?
* Generate questions tailored to their startup experience for this enterprise role?
The Agent produces role-specific and resume-specific questions—complete with follow-ups, evaluation objectives, and criteria for strong responses—so you walk into every interview prepared.
## Who uses Custom Interview Question Writer?
Custom Interview Question Writer is built for hiring teams who want to run better interviews without extra prep time:
* Hiring Managers preparing for candidate conversations with role-specific questions ready to go
* Recruiters standardizing interview quality across multiple open roles and interviewers
* HR Business Partners ensuring consistent evaluation criteria across departments
* Interview Panel Members getting up to speed quickly on what to probe for each candidate
It's especially valuable for high-volume hiring or when interviewers are pulled in last-minute—so every conversation is structured, relevant, and produces real signal.
## How does Custom Interview Question Writer use your Knowledge Base?
Custom Interview Question Writer searches across your connected sources—including job descriptions in Google Drive, candidate resumes in SharePoint, competency frameworks in Confluence, and role requirements in Notion—to generate questions tailored to both the position and the individual candidate.
* Parses role requirements, must-have skills, and team-specific needs from your job postings
* Analyzes the candidate's experience, gaps, and areas worth exploring from their resume
* References your company's interview guides, competency models, and evaluation rubrics
* Pulls context from existing hiring documentation to align questions with your standards
Because the Knowledge Base syncs continuously, questions reflect your latest role requirements and hiring criteria—not outdated job specs.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Interview Scorecard Summarizer
Source: https://docs.cassidyai.com/use-cases/recruiting/interview-scorecard-summarizer
Transforms interview conversations and notes into structured scorecards, providing consistent, evidence-based evaluations faster, reducing bias and manual administration.
## What does this mean?
Hiring teams get consistent, evidence based evaluations faster, reduce bias and manual admin, and speed decisions with clear next steps and flagged follow ups.
Transforms interview conversations and notes into structured scorecards by recording the meeting, summarizing key signals, mapping evidence to the job’s rubric, and generating clear ratings plus a hire/no‑hire recommendation with rationale.
## Workflow steps
The Workflow activates when an interview meeting ends, automatically capturing the full conversation recording and any notes from the session.
Cassidy analyzes the interview transcript and notes, extracting the candidate's responses, behavioral examples, and standout moments that matter most for evaluation.
Cassidy matches extracted signals against the role's specific competencies and scoring criteria, grounding every rating in concrete evidence from the conversation.
The Workflow produces a structured scorecard with clear ratings per competency, a hire/no-hire recommendation, supporting rationale, and any flagged follow-ups for the hiring team.
The completed scorecard is sent to the interviewer or hiring manager for quick review, keeping a human in the loop before the evaluation is finalized.
Once approved, the scorecard is logged to your ATS or shared via Slack or email, giving the hiring team instant visibility and clear next steps.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Job Description Builder
Source: https://docs.cassidyai.com/use-cases/recruiting/job-description-builder
Produce consistent, accurate postings faster, reducing back-and-forth and speeding time to open requisition.
## How does it work?
Job Description Builder handles the drafting work that slows down time-to-requisition. Ask questions like:
* Create a job description for a Senior Product Manager in our Enterprise team?
* What qualifications did we list for the last Data Engineer role?
* Draft a posting for a Customer Success Manager using our standard format?
* Update this job description to include our new hybrid work policy?
* What competencies should I include for a Director-level marketing role?
* Generate a job posting based on the intake form from the hiring manager?
* Make sure this description includes our standard EEO language?
The Agent pulls from prior postings, competency frameworks, and internal guidelines to deliver a complete, editable draft—without hunting through old documents or starting from a blank page.
## Who uses Job Description Builder?
Job Description Builder is built for teams involved in hiring who need to move from role approval to posted requisition faster:
* Recruiters drafting job postings across multiple open roles
* Hiring Managers who need to articulate role requirements without starting from scratch
* HR Business Partners ensuring postings align with internal standards and compliance requirements
* Talent Acquisition Leaders maintaining consistency across departments and geographies
It's especially valuable when scaling hiring efforts—so teams can produce polished, on-brand postings without bottlenecks or endless revision cycles.
## How does Job Description Builder use your Knowledge Base?
Job Description Builder pulls from your connected sources—including Google Drive, SharePoint, Confluence, and Notion—to draft accurate, consistent job postings grounded in your company's actual standards.
When you request a job description, the Agent:
* References prior job postings for similar roles to maintain consistency
* Pulls from internal competency frameworks and leveling guides
* Incorporates standardized language for compliance, benefits, and equal opportunity statements
* Uses hiring manager inputs alongside existing documentation to fill in responsibilities and qualifications
Because the Knowledge Base syncs continuously, your postings reflect the latest role definitions, company policies, and approved language—no outdated templates or manual cross-referencing required.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Offer Letter Composer
Source: https://docs.cassidyai.com/use-cases/recruiting/offer-letter-composer
Creates compliant, role-specific letters, improving accuracy and candidate experience while reducing manual errors.
## How does it work?
Offer Letter Composer handles the drafting and compliance work that slows down hiring. Ask it to:
* Generate an offer letter for a Senior Software Engineer in Austin, starting March 15
* Create an offer for a Marketing Manager role with the compensation package we discussed
* Draft an offer letter for a remote contractor in California
* What benefits language should I include for a part-time role?
* Generate an offer with the standard equity vesting schedule for this level
* What compliance clauses do I need for a New York-based hire?
* Update this offer letter to reflect the revised start date
The Agent pulls job details, compensation structures, and policy requirements from your HR documentation to produce an editable letter with the right clauses—ready for review and approval.
## Who uses Offer Letter Composer?
Offer Letter Composer is built for HR and People Operations teams who need to generate accurate, compliant offer letters without the manual overhead:
* HR Generalists drafting offers for multiple roles and locations
* Recruiters moving quickly from verbal acceptance to formal documentation
* HR Operations Specialists ensuring policy compliance across all offers
* People Team Leads standardizing offer documentation across the organization
It's especially valuable for teams hiring at scale or across multiple jurisdictions—where keeping track of varying compensation structures, benefits, and legal requirements can slow down time-to-offer.
## How does Offer Letter Composer use your Knowledge Base?
Offer Letter Composer pulls from your connected sources—including Google Drive, SharePoint, Confluence, and OneDrive—to assemble accurate, role-specific offer letters without manual lookups.
* References approved company templates and formatting standards
* Pulls compensation data, benefits details, and equity information from HR documentation
* Applies location-specific clauses and compliance requirements
* Incorporates role-specific terms based on job descriptions and leveling guides
* Includes required legal language based on your policies
Because the Knowledge Base syncs continuously, every letter reflects your latest policies, compensation bands, and compliance requirements—no outdated templates or missed policy updates.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Recruiting Funnel Q&A Analysis
Source: https://docs.cassidyai.com/use-cases/recruiting/recruiting-funnel-q-a-analysis
Answers plain language questions on hiring funnel performance.
## How does it work?
Recruiting Funnel Q\&A Analysis handles the data crunching that slows down hiring decisions. Ask questions like:
* What's our average time-to-fill for engineering roles this quarter?
* Which sourcing channels have the highest offer acceptance rate?
* Where are candidates dropping off in the interview process for sales roles?
* How does our conversion rate from phone screen to onsite compare to last quarter?
* Which recruiters have the fastest time-to-fill for technical positions?
* What's our bottleneck for the product manager pipeline?
* Show me source effectiveness for the last 90 days.
The Agent pulls from your ATS exports, spreadsheets, and recruiting documentation to deliver concise summaries with charts and prioritized recommendations—without digging through multiple reports.
## Who uses Recruiting Funnel Q\&A Analysis?
Recruiting Funnel Q\&A Analysis is built for talent teams who need fast, data-backed answers to optimize their hiring process:
* Talent Acquisition Leaders tracking pipeline health and identifying bottlenecks across roles or departments
* Recruiting Managers analyzing source effectiveness and stage conversion to refine strategy
* HR Business Partners reporting on hiring metrics to stakeholders without waiting on BI requests
* Recruiters diagnosing why specific roles are stalling and where to focus effort
It's especially valuable during hiring surges, quarterly planning, or when leadership needs a quick read on recruiting performance—no spreadsheet wrangling required.
## How does Recruiting Funnel Q\&A Analysis use your Knowledge Base?
Recruiting Funnel Q\&A Analysis searches across your connected sources—including ATS data exports, Google Sheets, SharePoint spreadsheets, and other recruiting documentation—to surface hiring insights in one place.
When you ask a question about your recruiting funnel, the Agent:
* Analyzes time-to-fill metrics across roles, departments, or time periods
* Calculates stage conversion rates to pinpoint where candidates drop off
* Compares source effectiveness to show which channels deliver quality hires
* References historical hiring data to identify trends and seasonality
Because the Knowledge Base syncs continuously with your data sources, you're always working with the latest information—no manual data pulls or outdated reports.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Company Deep‑Dive Dossier
Source: https://docs.cassidyai.com/use-cases/research/company-deep-dive-dossier
Get an authoritative, ready-to-use view of a target company, compiled autonomously from credible sources to speed up your strategic decisions.
## What does this mean?
Gives teams an authoritative, ready‑to‑use view of a target company—speeding account planning, partner evaluation, and strategic decisions without manual digging.
Autonomously compiles a current company profile by researching credible news, investor materials, regulatory filings, and the company’s site to surface customers, executives, product lines, go‑to‑market motions, partnerships, and competitive positioning—returned as a structured dossier with inline citations.
## Workflow steps
The Workflow starts via a manual trigger when a team member enters the target company name—kicking off research for account planning, partner evaluation, or competitive analysis.
Cassidy's Research Agent searches and navigates the web to gather current information from news outlets, investor materials, regulatory filings, and the company's own website.
Using the research findings, the Workflow identifies and organizes critical details: key executives, customer base, product lines, go-to-market motions, partnerships, and competitive positioning.
Cassidy combines all gathered intelligence into a comprehensive, structured dossier—complete with inline citations so every data point traces back to its source.
The finished dossier is exported as a Microsoft Word document or sent directly to the requesting team member, ready for immediate use in strategic decisions.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Competitor Positioning Analyzer
Source: https://docs.cassidyai.com/use-cases/research/competitor-positioning-analyzer
Understand competitor strategies and weaknesses.
## What does this mean?
Gives teams a current view of how rivals position and win, supporting sharper messaging, better win‑loss preparation, and focused strategy adjustments.
Runs an in‑depth analysis of competitor websites, product pages, pricing, reviews, support forums, funding and hiring news, and public messaging to extract positioning pillars, target segments, differentiators, and perceived weaknesses, returned as a structured summary with citations.
## Workflow steps
The Workflow starts with a manual trigger where you enter the competitor you want to analyze—company name, website URL, or specific product line.
Cassidy's Research Agent searches and navigates competitor websites, product pages, pricing information, customer reviews, support forums, and public messaging to gather comprehensive intelligence.
The Research Agent pulls additional context from funding announcements, hiring news, and industry coverage to understand the competitor's strategic direction and growth priorities.
The Workflow analyzes all gathered information to identify positioning pillars, target segments, key differentiators, and perceived weaknesses—drawing on your Knowledge Base for relevant context about your own positioning.
Findings are organized into a structured report with clear sections for messaging themes, competitive strengths, vulnerabilities, and strategic recommendations—complete with citations to source materials.
The finished analysis is sent via email or Slack to your team, ready to inform sales battlecards, marketing messaging, and win-loss preparation.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Customer Voice Miner
Source: https://docs.cassidyai.com/use-cases/research/customer-voice-miner
Understand customer needs and friction with a clear, data-driven view, enabling targeted fixes and roadmap alignment without manual synthesis by aggregating feedback into prioritized themes.
## What does this mean?
Gives a clear, data‑driven view of customer needs and friction, enabling targeted fixes, roadmap alignment, and sharper messaging without manual synthesis.
Aggregates support tickets, product reviews, survey responses, and call transcripts, then clusters feedback into prioritized themes with volume, sentiment, and representative quotes, including links back to source records.
## Workflow steps
The Workflow pulls data from multiple sources—support tickets, product reviews, survey responses, and call transcripts—bringing all customer voice data into one place.
Cassidy analyzes the aggregated feedback, identifying patterns and grouping related comments into distinct, meaningful themes.
Each theme is scored based on how frequently it appears and the sentiment behind it, surfacing the issues that matter most to your customers.
The Workflow selects standout quotes that capture each theme, giving your team concrete customer language to reference in roadmap discussions or messaging.
Every theme and quote includes links to the original tickets, reviews, or transcripts, so your team can dig deeper without hunting through systems manually.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Daily Industry News Brief
Source: https://docs.cassidyai.com/use-cases/research/daily-industry-news-brief
Keeping teams current with autonomous tracking, aggregation, and scheduled digests of top industry stories.
## What does this mean?
Keeps teams current without manual monitoring, improving awareness, reaction speed, and alignment on what matters each day.
Autonomously tracks selected industries and topics, aggregates top stories from trusted sources, summarizes key developments with links and citations, and delivers scheduled digests to email and Slack.
## Workflow steps
The Workflow runs on a set schedule—daily, weekly, or at a cadence your team defines—so news monitoring happens automatically without anyone lifting a finger.
Cassidy's Research Agent searches trusted news sources, publications, and industry outlets to find the latest stories matching your selected topics and industries.
The Workflow collects relevant articles, filters out noise, and identifies the most important developments worth your team's attention.
Cassidy summarizes each key story into digestible takeaways—complete with links and citations so readers can dive deeper when needed.
All summaries are pulled together into a single, well-organized news brief ready for distribution.
The finished digest is sent automatically to email and posted to a designated Slack channel, meeting your team exactly where they work—no manual forwarding required.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Industry Deep‑Dive Reports
Source: https://docs.cassidyai.com/use-cases/research/industry-deep-dive-reports
Get current, decision-ready views of any industry. Speed market entry, partner evaluation, and strategy planning with autonomously researched reports.
## What does this mean?
Equips teams with a current, decision-ready view of the landscape—speeding market entry, partner evaluation, and strategy planning without manual report building.
Autonomously researches a selected industry by scanning credible news, analyst reports, regulatory filings, and company sites, then synthesizes a comprehensive report covering market size, trends, key players, business models, and recent moves—with inline citations and charts.
## Workflow steps
The Workflow begins with a manual trigger where a team member enters the target industry or market segment they want to research—along with any focus areas like geography, company size, or specific questions to answer.
Cassidy's Research Agent autonomously scans credible sources across the web—news outlets, analyst reports, regulatory filings, and company sites—to gather current intelligence on the selected industry.
Cassidy compiles the research into a comprehensive report covering market size, trends, key players, business models, and recent moves—complete with inline citations.
The Workflow formats key data points into charts and visual summaries, making the report easier to scan and share with stakeholders.
The final report is exported as a Microsoft Word document and sent via email to the requesting team member—ready for market entry planning, partner evaluation, or strategy sessions.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Research Agent - Any Topic
Source: https://docs.cassidyai.com/use-cases/research/research-agent-any-topic
Autonomously gathers and synthesizes information, delivering trustworthy insights to accelerate your research cycles.
## How does it work?
Research Agent handles the deep-dive research that would otherwise take hours of searching, reading, and synthesizing. Ask questions like:
* What are the key trends shaping the B2B payments space in 2025?
* Give me a competitive overview of the top three players in enterprise observability.
* What's the regulatory landscape for AI in healthcare?
* Summarize recent news and analyst commentary on \[Company Name].
* What are the pros and cons of adopting a product-led growth model?
* Research best practices for enterprise AI adoption and change management.
* What do customers say about \[Competitor Product] in reviews and forums?
The Agent autonomously plans its research, searches the web, reads and cross-checks sources, and delivers a clear brief with key findings, quotes, and inline citations—ready to use.
## Who uses Research Agent - Any Topic?
Research Agent is built for anyone who needs to turn questions into actionable intelligence—fast:
* Strategy and Business Development teams evaluating new markets, partnerships, or investment opportunities
* Product Managers researching competitive landscapes, industry trends, or emerging technologies
* Marketing teams gathering background for thought leadership, campaigns, or competitive positioning
* Analysts compiling briefings, due diligence reports, or market assessments
* Executives who need synthesized insights before meetings, board presentations, or strategic decisions
It's especially valuable when you need to go deep on an unfamiliar topic quickly—without spending hours sifting through search results and cross-referencing sources yourself.
## How does Research Agent - Any Topic use your Knowledge Base?
Research Agent combines external web research with your company's internal knowledge to deliver context-aware insights.
When you ask a research question, the Agent:
* Searches the web autonomously—following links, reading sources, and cross-checking facts
* Pulls relevant internal context from connected sources like Google Drive, SharePoint, Confluence, Notion, and Slack
* References past research, internal reports, and institutional knowledge stored in your Knowledge Base
* Synthesizes external findings with what your company already knows—so you're not starting from scratch
Because your Knowledge Base syncs continuously, Research Agent grounds its findings in your existing data, terminology, and strategic priorities—delivering insights that are immediately relevant to your business.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Spreadsheet and CSV Insight Q&A
Source: https://docs.cassidyai.com/use-cases/research/spreadsheet-and-csv-insight-q-a
Analyzes uploaded Excel or CSV files by translating plain‑language questions into the right calculations, then surfaces trends, outliers, correlations, and anomalies with clear explanations and charts.
## How does it work?
Spreadsheet and CSV Insight Q\&A turns complex data questions into instant answers. Ask questions like:
* What's the month-over-month trend in this sales data?
* Which products had the highest return rate last quarter?
* Are there any outliers in this expense report?
* Show me the correlation between ad spend and conversions.
* What percentage of orders shipped late in March?
* Summarize the top 10 accounts by revenue.
* Flag any duplicate entries or missing values in this dataset.
* Compare Q1 vs Q2 performance across all regions.
The Agent handles the formulas, filtering, and analysis—so you get answers and insights without manual spreadsheet work.
## Who uses Spreadsheet and CSV Insight Q\&A?
Spreadsheet and CSV Insight Q\&A is built for anyone who needs to extract answers from tabular data without becoming a spreadsheet expert:
* Operations teams tracking KPIs, inventory levels, or process metrics across reports
* Finance analysts validating numbers, spotting discrepancies, and summarizing trends
* Sales and RevOps analyzing pipeline exports, quota attainment, or territory performance
* Marketing teams reviewing campaign data, lead lists, or attribution reports
* Project managers parsing resource allocations, timelines, or status exports
It's especially useful when you inherit a spreadsheet from someone else, need to audit data quickly, or want to validate a hypothesis without building formulas from scratch.
## How does Spreadsheet and CSV Insight Q\&A use your Knowledge Base?
Spreadsheet and CSV Insight Q\&A works with files you upload directly—Excel spreadsheets or CSV exports from any system—and can also pull context from your connected Knowledge Base sources like Google Drive, SharePoint, OneDrive, or Box.
When you ask a question, the Agent:
* Interprets your plain-language query and determines the right calculations to run
* Scans rows and columns to identify relevant data points, trends, and outliers
* Cross-references against related documents in your Knowledge Base when additional context helps
* Returns clear explanations of what it found, along with charts or summaries when useful
Because Cassidy's Knowledge Base syncs continuously, you can also ask follow-up questions that combine spreadsheet data with context from connected docs, wikis, or reports.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# SWOT Company Analyzer
Source: https://docs.cassidyai.com/use-cases/research/swot-company-analyzer
Autonomously researches and compiles an evidence-backed SWOT analysis.
## What does this mean?
Provides a clear, defensible view of a company’s position that speeds planning, sharpens messaging, and informs strategy without manual research.
Autonomously researches a target company across credible news, filings, reviews, and product materials, then compiles an evidence‑backed SWOT with sourced strengths, weaknesses, opportunities, and threats, including quotes and inline citations.
## Workflow steps
The Workflow begins when you input the name of the company you want to analyze.
Cassidy's Research Agent searches the web for credible sources—news articles, SEC filings, customer reviews, and product materials—to gather comprehensive intelligence on the target company.
Using the research results, the Workflow generates a structured SWOT analysis, organizing evidence into Strengths, Weaknesses, Opportunities, and Threats with supporting quotes and inline citations.
The categorized findings are compiled into a polished, defensible SWOT document ready for planning sessions, strategy discussions, or stakeholder presentations.
The completed SWOT report is sent to you via email or exported as a Microsoft Word document for easy sharing and reference.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Weekly Competitor News Brief
Source: https://docs.cassidyai.com/use-cases/research/weekly-competitor-news-brief
Monitors a defined competitor set, aggregates notable updates from trusted sources each week, and delivers a concise brief to email and Slack.
## What does this mean?
Keeps teams aligned on rival moves without manual tracking, enabling faster responses, informed planning, and timely enablement.
Monitors a defined competitor set, aggregates notable updates from trusted sources each week (product launches, pricing changes, funding, hires, partnerships, customer wins), and delivers a concise brief with summaries, links, and citations to email and Slack.
## Workflow steps
The Workflow activates automatically on a set schedule—weekly at a time you choose—so competitor monitoring happens consistently without anyone having to remember to run it.
Cassidy's Research Agent searches the web for each competitor in your defined set, looking for notable updates: product launches, pricing changes, funding announcements, key hires, partnerships, and customer wins.
The Workflow pulls together all the research into a concise brief—summarizing each update with context, links, and citations to the original sources.
Everything is structured into a clean, scannable format organized by competitor, making it easy for teams to quickly digest what matters.
The finished brief is sent automatically to your team's inbox and posted to a designated Slack channel, so everyone stays aligned on competitor moves without lifting a finger.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# RFP Gap and Risk Review
Source: https://docs.cassidyai.com/use-cases/rfp/rfp-gap-and-risk-review
Reviews incoming RFPs to surface inconsistencies, missing information, ambiguous or risky requirements, and approval-triggering exceptions.
## How does it work?
RFP Gap and Risk Review helps you cut through dense requirements documents and surface what matters. Ask questions like:
* What are the main risks in this RFP?
* Are there any requirements we can't meet based on our standard capabilities?
* What's missing or ambiguous in Section 4?
* Flag any terms that would need legal approval.
* What clarification questions should we send to the issuer?
* Does this RFP include any unusual liability or indemnification clauses?
* How does this compare to the requirements in the Acme RFP we won last quarter?
The Agent reviews the full document, surfaces inconsistencies and gaps, and compiles a clear issues list with source snippets—so you arrive at kickoff calls prepared with the right questions.
## Who uses RFP Gap and Risk Review?
RFP Gap and Risk Review is built for teams who evaluate and respond to RFPs under tight deadlines:
* Proposal Managers triaging incoming RFPs and assigning response priorities
* Sales and BD Teams deciding whether an opportunity is worth pursuing
* Legal and Compliance flagging terms that require special approval or negotiation
* Solutions Architects identifying technical requirements that need clarification
* Finance Teams spotting pricing structures or payment terms that trigger internal review
It's especially valuable when your team is juggling multiple RFPs at once—helping you quickly separate good-fit opportunities from those with hidden landmines.
## How does RFP Gap and Risk Review use your Knowledge Base?
RFP Gap and Risk Review draws on your connected sources—including past RFP responses in Google Drive or SharePoint, contract templates in Confluence, pricing guidelines, and compliance documentation—to contextualize what you're seeing in a new RFP.
When you upload or share an incoming RFP, the Agent:
* Compares requirements against your standard capabilities and past responses
* Flags terms that have historically required legal or executive approval
* Identifies gaps where the RFP asks for information you may not have documented
* References your company's risk thresholds and deal policies
Because the Knowledge Base syncs continuously, the Agent always works from your latest approved language, pricing, and compliance standards—so you're not chasing down outdated documents.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# RFP Go/No‑Go Scoring
Source: https://docs.cassidyai.com/use-cases/rfp/rfp-go-no-go-scoring
Ingests new RFP documents, applies a custom go/no‑go rubric, and outputs a pursue/no‑bid recommendation with a scored breakdown and cited reasons.
## What does this mean?
Teams make faster, consistent bid decisions, focus effort on high‑probability opportunities, and avoid time spent sifting through low‑fit RFPs.
Ingests new RFP documents, applies your company’s custom go/no‑go rubric for fit, budget, timeline, scope, and required capabilities, and outputs a pursue/no‑bid recommendation with a scored breakdown and cited reasons—no portal access required.
## Workflow steps
The Workflow activates when a new RFP document is uploaded or received—whether from Google Drive, SharePoint, or uploaded manually.
Cassidy parses the document to pull out key details: scope of work, budget parameters, timeline expectations, required capabilities, compliance requirements, and submission deadlines.
The Workflow applies your company's custom evaluation criteria—assessing fit, budget alignment, timeline feasibility, scope match, and capability requirements—and assigns scores to each category.
Based on the scored breakdown, Cassidy produces a clear recommendation with cited reasons pulled directly from the RFP, explaining why the opportunity does or doesn't meet your thresholds.
The scored breakdown and recommendation are sent to your team—via email, Slack, or Microsoft Teams—so decision-makers can quickly review and act without needing to access any external portal.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# RFP Requirement Extraction
Source: https://docs.cassidyai.com/use-cases/rfp/rfp-requirement-extraction
Quickly assess fit, plan responses, and ensure compliant, on-format submissions by parsing lengthy RFPs to extract key details and requirements.
## What does this mean?
Proposal teams quickly assess fit and plan responses without combing through 100-page documents, accelerating go/no-go, clarifying ownership, and ensuring compliant, on-format submissions.
Parses lengthy RFPs to extract the essentials teams care about, including key details (deadlines, submission dates, contacts, delivery method), requirement types (functional, technical, security/compliance, service levels, integrations), response format expectations (questionnaires, matrices, page limits, attachments), and evaluation mechanics (scoring criteria, weighting, must-haves); then compiles a skimmable summary and structured spreadsheet with source references.
## Workflow steps
The Workflow starts when a team member uploads the RFP document—whether it's a 50-page PDF or a 200-page procurement package—and kicks off the extraction process.
Cassidy analyzes the full document to pull out essential logistics: submission deadlines, point-of-contact information, delivery method requirements, and any critical dates the team needs to track.
The Workflow categorizes requirements across functional, technical, security/compliance, service level, and integration categories—organizing what would otherwise take hours of manual review.
Cassidy extracts formatting rules including questionnaire structures, response matrices, page limits, and required attachments so the team knows exactly how to structure their submission.
The Workflow identifies how the RFP will be scored—pulling out weighting criteria, must-have requirements, and evaluation factors that help the team prioritize their response strategy.
Cassidy compiles a concise overview that lets stakeholders quickly assess fit and make go/no-go decisions without reading the entire document.
The Workflow outputs a formatted spreadsheet organizing all extracted requirements, details, and evaluation criteria—complete with source references back to the original document for verification and response planning.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# RFP Response Drafting
Source: https://docs.cassidyai.com/use-cases/rfp/rfp-response-drafting
Automate RFP responses, improve accuracy, and accelerate proposal delivery.
## What does this mean?
Teams submit accurate, consistent proposals faster with fewer handoffs—keeping SMEs in control for final validation and risk checks—while the system continuously improves from reviewer feedback so future RFPs require less manual effort and move to sign‑off even faster.
Pulls questions and requirements from incoming RFP documents, searches approved answer libraries and past proposals, and auto‑drafts responses that blend approved, on-brand language with tailored content grounded in the current RFP’s context; leverages industry‑, product‑line‑, or geography‑specific Agents to adapt tone, compliance, SLAs, and feature nuances while preserving citations, then routes drafts to the right SMEs for human‑in‑the‑loop review and approvals—with a feedback loop that flags unknowns for expert input, captures corrections, and updates the approved answer library for next time.
## Workflow steps
The Workflow activates when a new RFP document is uploaded—either manually or via an integration with SharePoint, Google Drive, or Box—kicking off the response process.
Cassidy parses the incoming RFP, pulling out individual questions, compliance requirements, and submission criteria into a structured format ready for response drafting.
The Workflow searches your Knowledge Base—including approved answer libraries, past proposals, and product documentation—to find relevant, vetted content for each question.
Cassidy auto-generates responses that blend approved, on-brand language with content tailored to the current RFP's context, preserving citations and source references throughout.
The Workflow routes questions through specialized Agents that adjust tone, compliance language, SLAs, and feature details based on industry, product line, or geography.
Drafts are sent to the appropriate subject-matter experts for human-in-the-loop approval, keeping your team in control for final validation, risk checks, and sign-off before submission.
Reviewer corrections and new approved answers are logged and fed back into the answer library, so future RFPs benefit from improved content and require less manual effort.
Once approved, the Workflow compiles all responses and exports the completed proposal as a Microsoft Word document—ready for delivery.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# RFP Response Grader
Source: https://docs.cassidyai.com/use-cases/rfp/rfp-response-grader
Ingests and evaluates RFP responses against standards, providing a section-by-section scorecard.
## What does this mean?
Proposal teams submit higher-quality responses faster with clear, consistent guidance that reduces rework and improves win rates.
Ingests the drafted RFP response along with the defined scoring rubric and required criteria, evaluates each section against those standards, and outputs a section-by-section scorecard with gaps, required fixes, and a final readiness score.
## Workflow steps
The Workflow begins when a proposal team member uploads the drafted RFP response along with the scoring rubric and required criteria that define what a winning submission looks like.
Cassidy breaks down the RFP response into its individual sections, preparing each one for evaluation against the defined standards.
The Workflow scores each section against the rubric—identifying gaps, compliance issues, and areas that fall short of requirements.
Cassidy assembles findings into a detailed scorecard that highlights what's working, what needs fixing, and specific guidance for each section.
Cassidy aggregates the section scores into an overall readiness score, giving the team a clear signal on whether the response is ready to submit or needs more work.
The scorecard and recommendations are sent to the team via email or Slack, so reviewers can quickly address gaps and improve the response before the deadline.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# RFP Section Routing
Source: https://docs.cassidyai.com/use-cases/rfp/rfp-section-routing
Extracts and categorizes RFP sections, requirements, and questions, routes each to the right stakeholder or SME for approval or input when information is missing.
## What does this mean?
Ensures compliant, rigorously approved submissions with clear ownership and fewer rework cycles, while continuously learning from reviewer input to speed up the next RFP.
Extracts and categorizes RFP sections, requirements, and questions, routes each to the right stakeholder or SME for approval or input when information is missing, sends targeted email notifications, collects updates and sign-offs, and compiles a single version-controlled draft with a feedback loop that captures corrections to improve future responses.
## Workflow steps
The Workflow activates when a new RFP document is uploaded or received—triggered manually, via email, or through a connected system like SharePoint or Google Drive.
Cassidy parses the RFP to identify distinct sections, requirements, and questions, then categorizes each by topic area (technical, legal, pricing, security, etc.) to determine the right owner.
Using Paths, the Workflow routes each section to the appropriate SME or stakeholder for input. If information is missing or approval is needed, human-in-the-loop checkpoints collect responses directly from the right people.
The Workflow sends email notifications to each assigned reviewer with their specific sections, deadlines, and instructions—keeping ownership clear and reducing confusion.
As reviewers submit their input and approvals, Cassidy captures each response and tracks completion status, flagging any outstanding items that need follow-up.
Once all sections are approved, the Workflow compiles the responses into a single, unified RFP draft and exports it as a Microsoft Word document ready for final review.
Any corrections or reviewer input are logged back to the Knowledge Base, so Cassidy learns from each cycle—improving accuracy and speeding up responses for the next RFP.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Buyer Move Alerts
Source: https://docs.cassidyai.com/use-cases/sales/buyer-move-alerts
Proactively re-engage trusted relationships at new accounts to drive pipeline generation and improve meeting creation.
## What does this mean?
Turns buyer moves into fresh pipeline by re-engaging trusted relationships at new accounts, improving meeting creation and sourced opportunities without manual tracking.
Monitors champions and evaluators in your CRM for job changes by detecting updated titles, companies, and LinkedIn signals, then sends the account owner a concise brief with context from prior deals and tailored outreach guidance to open a new conversation fast.
## Workflow steps
The Workflow runs on a scheduled trigger, scanning champions and evaluators in your CRM for signals like updated titles, new companies, or LinkedIn profile changes that indicate a buyer has moved.
Using the Research Agent, Cassidy cross-references CRM contact data with LinkedIn signals to confirm job changes and identify the new account where your trusted relationship has landed.
The Workflow uses a Cassidy Agent to search your Knowledge Base and CRM history, gathering relevant context from previous deals—what they evaluated, what mattered to them, and how the relationship developed.
Cassidy compiles the findings into a concise brief for the account owner, including the contact's new role and company, prior deal history, and tailored guidance for re-engaging the conversation.
The brief is delivered directly to the account owner via Slack or email, giving them everything they need to reach out quickly—no manual tracking required.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Case Study Matcher
Source: https://docs.cassidyai.com/use-cases/sales/case-study-matcher
This tool searches your Knowledge Base and connected repositories to return ranked, matching customer stories tailored to each buyer’s profile.
## How does it work?
Case Study Matcher finds the right customer proof for any deal scenario. Ask questions like:
* Find case studies for a mid-market healthcare company focused on reducing support ticket volume?
* What customer stories do we have for financial services companies in EMEA?
* Show me references for companies that implemented our platform in under 90 days?
* Which case studies mention ROI or cost savings metrics?
* Do we have any manufacturing customers who started with a pilot program?
* Find customer quotes about ease of adoption for a non-technical buyer?
* What proof points do we have for companies with 500-1,000 employees?
The Agent returns ranked matches with outcomes, quotes, and links—so you can attach credible proof to your next email or call without waiting on marketing.
## Who uses Case Study Matcher?
Case Study Matcher is built for revenue teams who need to prove value with real customer evidence:
* Account Executives tailoring proposals with industry-specific proof points
* Sales Engineers backing up technical claims with relevant implementation stories
* Business Development Reps adding credibility to outreach with matching customer wins
* Sales Leaders ensuring reps have the right references for strategic deals
It's especially valuable when entering new verticals or pursuing enterprise accounts—where buyers expect to see proof from companies like theirs before moving forward.
## How does Case Study Matcher use your Knowledge Base?
Case Study Matcher searches across your connected sources—including Google Drive, SharePoint, Confluence, Notion, and other repositories—to find customer stories that match your prospect's profile.
* Searches case studies, customer decks, and win reports for industry, company size, and use case matches
* Pulls relevant outcomes, metrics, and customer quotes
* Surfaces shareable links to approved materials
* Ranks results by relevance to the buyer's stated goals and challenges
Because the Knowledge Base syncs continuously, you're always pulling from the latest approved customer stories—no outdated stats or retired case studies.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Census-to-Quote Template Converter
Source: https://docs.cassidyai.com/use-cases/sales/census-to-quote-template-converter
This tool transforms messy employee census files into accurate, quote-ready submissions in minutes, eliminating manual cleanup and accelerating turnaround times across all benefit lines.
## What does this mean?
Benefits and sales teams convert messy intake files into accurate, quote-ready submissions in minutes, cutting manual cleanup, reducing avoidable back-and-forth, and speeding quote turnaround across health, dental, vision, life, disability, and ancillary lines.
Accepts employee census files—spreadsheets listing employees, dependents, locations, and current benefits—from brokers, HR teams, and carriers in any format, merges employee and dependent records, deduplicates people across files, standardizes columns and status codes, applies carrier- and vendor-specific rules, and outputs clean data into the exact quote templates required by benefits carriers, TPAs, and marketplaces, while logging every step with role-based access controls.
## Workflow steps
The Workflow begins when a team member uploads employee census files—spreadsheets containing employees, dependents, locations, and current benefits—in any format from brokers, HR teams, or carriers.
Cassidy processes the uploaded files, extracting employee and dependent data and merging related records into a unified dataset.
The Workflow identifies and removes duplicate people across files, ensuring each employee and dependent appears only once in the final output.
Cassidy normalizes columns, status codes, and field values to match consistent formatting standards across all records.
The Workflow routes data through different formatting rules based on the target carrier, TPA, or marketplace—applying the exact specifications each vendor requires.
Cassidy outputs the clean, standardized data into the precise quote template format required by each benefits carrier, ready for immediate submission.
Every transformation step is logged with role-based access controls for auditability. The completed templates are delivered to the team member for review and submission.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Competitor Mention Alerts
Source: https://docs.cassidyai.com/use-cases/sales/competitor-mention-alerts
Instantly alert teams to competitor mentions, gain visibility into competitive pressure, and prioritize at-risk deals.
## What does this mean?
Delivers immediate visibility into competitive pressure and patterns so teams can respond faster, coach proactively, and prioritize at‑risk deals.
Monitors call transcripts in real time or post‑call to detect competitor mentions, tags who mentioned them and in what context, aggregates trends by account/product/region, and instantly alerts owners and channels with links to relevant battlecards and next‑step guidance.
## Workflow steps
The Workflow activates whenever a sales call concludes. Cassidy automatically receives the call transcript for analysis.
Cassidy scans the transcript to identify any competitor mentions—flagging who said them (rep or prospect), the specific context, and the sentiment around each reference.
The Workflow tags each mention by account, product line, region, and deal stage, building a structured record that feeds into competitive trend tracking over time.
Cassidy searches your Knowledge Base to retrieve the appropriate competitive battlecard and recommended talk tracks, arming the team with specific responses and positioning for that competitor.
The Workflow instantly notifies account owners, sales leadership, or competitive intelligence teams via Slack or email—including a summary of the mention, a link to the full transcript, and direct access to the battlecard.
The Workflow updates the deal record in Salesforce or HubSpot with competitive intelligence details, ensuring at-risk deals are visible and leadership has full context for coaching and prioritization.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Conversation Lead Qualifier
Source: https://docs.cassidyai.com/use-cases/sales/conversation-lead-qualifier
Ensuring consistent, evidence-based qualification and scoring that improves forecast accuracy and pipeline hygiene while accelerating truly qualified deals by transcribing sales calls and extracting qualification signals.
## What does this mean?
Ensures consistent, evidence-based qualification and scoring that improves forecast accuracy, coaching, and pipeline hygiene while accelerating truly qualified deals.
Transcribes sales calls, extracts qualification signals via configurable frameworks (BANT, MEDDICC, SPICED), computes a weighted score, detects gaps, and writes structured fields (score, stage readiness, next steps, confidence) to the CRM with discrepancy flags.
## Workflow steps
The Workflow activates automatically when a sales call ends—connected to your Gong integration or meeting recordings—capturing the full conversation for analysis.
Cassidy processes the call recording and generates a complete transcript, preserving the nuances of the sales dialogue for accurate qualification analysis.
The Workflow analyzes the transcript against your configured qualification framework—whether BANT, MEDDICC, SPICED, or a custom methodology—pulling out key signals like budget indicators, authority confirmation, timeline mentions, and pain points.
Cassidy calculates a qualification score based on the extracted signals, weighting each criterion according to your sales methodology to produce an objective, evidence-based assessment of deal readiness.
Cassidy identifies missing or weak qualification areas—flagging where reps need to dig deeper in follow-up conversations and surfacing discrepancies between stated and observed qualification signals.
The Workflow writes structured fields directly to your CRM—including the qualification score, stage readiness assessment, recommended next steps, confidence level, and any discrepancy flags—keeping your pipeline data accurate and actionable.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# CRM Auto-Enrichment
Source: https://docs.cassidyai.com/use-cases/sales/crm-auto-enrichment
Delivering cleaner, more complete records with less manual cleanup, improving lead routing, personalization, and conversion speed while reducing bounces, duplicates, and data drift.
## What does this mean?
Delivers cleaner, more complete records with less manual cleanup—improving lead routing, personalization, and conversion speed while reducing bounces, duplicates, and data drift.
Uses research agents to scour company sites, LinkedIn, and public web sources to enrich contacts and accounts with firmographics, titles/roles, and verified emails—supplementing with third‑party providers (e.g., Apollo, ZoomInfo, Clearbit) as needed—then writes standardized updates to the right CRM records with built‑in hygiene (deduping by email/domain, fuzzy name/title matching, merge rules, and conflict flags).
## Workflow steps
The Workflow activates automatically when a new contact or account is created—or when an existing record is flagged for enrichment—in Salesforce or HubSpot.
Cassidy scours company websites, LinkedIn profiles, and public web sources to gather firmographics, job titles, roles, and other relevant details about the contact and their organization.
If gaps remain, the Workflow pulls verified emails, company size, industry, and additional firmographic data from third-party providers like Apollo, ZoomInfo, or Clearbit.
The Workflow applies built-in hygiene rules—deduping by email or domain, fuzzy matching on names and titles, and flagging conflicts when data sources disagree.
The Workflow updates the correct CRM records with standardized, enriched information—ensuring cleaner data for lead routing, personalization, and faster follow-up without manual cleanup.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Daily Sales Call Briefs
Source: https://docs.cassidyai.com/use-cases/sales/daily-sales-call-briefs
Empowering reps with concise, complete context for sharper conversations and clear next steps, by compiling all necessary information from calendar, CRM, emails, and past notes.
## What does this mean?
Reps prep in minutes with consistent, complete context, leading to sharper conversations, clear next steps, and less time spent assembling information.
Pulls today’s calendar meetings, recent CRM updates, emails, and past meeting notes to compile a concise brief outlining account history, risks, open actions, and tailored talking points for each call.
## Workflow steps
The Workflow runs automatically each morning on a scheduled trigger, pulling the day's calendar events so reps start their day with everything they need.
For each meeting on the calendar, Cassidy retrieves recent CRM updates, related email threads, and past meeting notes associated with the account or contact.
Cassidy synthesizes account history, open actions, potential risks, and tailored talking points into a concise, easy-to-scan brief for each call—drawing on your Knowledge Base and connected systems to ensure accuracy.
The completed briefs are sent directly to the rep via email or Slack, ready to review minutes before each conversation.
The Workflow logs that a brief was generated and delivered, keeping a record of prep activity and ensuring nothing falls through the cracks.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Deal and Customer Q&A
Source: https://docs.cassidyai.com/use-cases/sales/deal-and-customer-q-a
Get complete context and keep deals moving smoothly by searching a unified knowledge base of client documents, contracts, and CRM records.
## How does it work?
Deal & Customer Q\&A handles the context-gathering that slows reps down mid-deal. Ask questions like:
* What pricing did we propose to Acme Corp in Q3?
* Who are the key stakeholders on the Meridian account?
* What blockers came up in our last call with DataFlow?
* Summarize the contract terms we agreed to with Vertex.
* What were the action items from the discovery call on Tuesday?
* Has this prospect raised security concerns before?
* What's the renewal history for this customer?
The Agent pulls from client documents, meeting transcripts, CRM records, and proposals to give you complete context—without digging through multiple systems.
## Who uses Deal and Customer Q\&A?
Deal & Customer Q\&A is built for revenue teams who need fast, accurate context to keep deals moving:
* Account Executives preparing for calls or re-engaging stalled opportunities
* Sales Engineers getting up to speed on technical requirements and past discussions
* Customer Success Managers taking over accounts or handling renewals
* Sales Leaders reviewing deal status without chasing down reps for updates
It's especially valuable during handoffs—whether AE to CSM, or when a new rep inherits an account—so no one has to redo discovery or piece together history from scattered notes.
## How does Deal and Customer Q\&A use your Knowledge Base?
Deal & Customer Q\&A searches across your connected sources—including CRM records, call transcripts, documents, contracts, team conversations, and more—to surface relevant account and deal information in one place.
When you ask a question about a specific account or opportunity, the Agent:
* Pulls context from CRM fields, notes, and activity history
* Searches meeting transcripts and call recordings for stakeholder insights
* References contracts, proposals, and pricing documents
* Surfaces relevant team threads and email exchanges
Because the Knowledge Base syncs continuously, you're always working with the latest information—no stale data or outdated deal notes.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Financial Report Insight Extractor
Source: https://docs.cassidyai.com/use-cases/sales/financial-report-insight-extractor
Accelerate research, inform account strategy, and power targeted outreach by extracting executive priorities, growth drivers, risks, and KPIs from financial filings.
## What does this mean?
Equips teams with a trusted, reusable summary of leadership priorities—accelerating research, informing account strategy, and powering targeted, high‑conversion outreach without manual document digging.
Finds and ingests target companies’ latest financial filings (e.g., 10‑K, 10‑Q) from public sources online, extracts executive priorities, growth drivers, risks, and KPIs from sections like MD\&A, Risk Factors, and Business Overview, outputs a structured brief with cited excerpts and metrics, and optionally converts the brief into role‑specific talk tracks and email openers with inline citations.
## Workflow steps
The Workflow starts with a manual trigger where a team member enters the target company name or ticker symbol to kick off the research process.
Cassidy's Research Agent searches public sources online to locate and ingest the company's latest financial filings—such as 10-K or 10-Q reports—bringing the full document into the Workflow.
Cassidy analyzes key sections like MD\&A, Risk Factors, and Business Overview to pull out executive priorities, growth drivers, risks, and KPIs.
The Workflow compiles the extracted insights into a structured brief, complete with cited excerpts and relevant metrics so every data point traces back to its source.
If enabled, the Workflow converts the brief into tailored talk tracks and email openers for sales or account teams—each with inline citations for credibility.
The final brief and any outreach materials are sent via email to the requesting team member or exported as a Microsoft Word document for easy sharing and collaboration.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Multi-Threading Decision‑Maker Finder
Source: https://docs.cassidyai.com/use-cases/sales/multi-threading-decision-maker-finder
Streamline your sales process with verified contacts and improved meeting conversion.
## What does this mean?
Enables faster, broader multi-threading with the right people from day one—improving coverage, meeting conversion, and deal momentum without manual research.
Identifies the full buying committee by searching for target roles and stakeholders (economic buyers, champions, influencers) across company sites, LinkedIn, and public data, then compiles verified contacts with titles and emails and adds any gaps to your CRM.
## Workflow steps
The Workflow activates when a new opportunity is created or an account is added in Salesforce, HubSpot, or through a manual trigger with inputs like company name and target roles.
Cassidy searches company websites, LinkedIn, and public data sources to identify stakeholders across the buying committee—economic buyers, champions, influencers, and blockers relevant to your deal.
The Workflow reviews each identified stakeholder, pulling verified contact details including titles, departments, and email addresses, then organizes the results into a structured list.
Cassidy compares the compiled buying committee against existing contacts in your CRM to flag missing stakeholders and incomplete records that could slow your deal.
New contacts and updated information are pushed directly to your CRM, ensuring your account record reflects the full buying committee from day one.
The Workflow sends a summary to the account owner—via Slack, Microsoft Teams, or email—with the complete stakeholder map and recommended next steps for multi-threading outreach.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# New Lead Personalized Outreach Writer
Source: https://docs.cassidyai.com/use-cases/sales/new-lead-personalized-outreach-writer
Automate personalized first-touch outreach to new leads, boosting reply rates and speed-to-lead.
## What does this mean?
Delivers timely, relevant outreach at scale with consistent quality and governance—boosting reply rates and speed‑to‑lead without adding manual work.
Triggers on new leads (e.g., web signups, list uploads, event scans, partner referrals), enriches with firmographic/role/activity data, drafts a personalized first-touch email, routes to a human for quick approve/edit, then sends and logs back to the CRM with correct ownership and campaign attribution.
## Workflow steps
The Workflow activates automatically when a new lead enters your CRM—whether through HubSpot, Salesforce, or connected web signups, list uploads, event scans, or partner referrals.
A Research Agent searches the web to pull firmographic details, role information, and recent activity—building a complete picture of the prospect and their company.
Cassidy crafts a tailored first-touch email grounded in your Knowledge Base—referencing your messaging guidelines, value props, and tone to speak directly to the lead's context and needs.
The draft is sent for human-in-the-loop approval, giving a team member the chance to quickly approve, edit, or reject before any outreach goes out.
Once approved, the Workflow sends the email and logs the activity back to your CRM with correct ownership and campaign attribution—keeping your pipeline accurate and fully visible.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# New Lead Research Brief
Source: https://docs.cassidyai.com/use-cases/sales/new-lead-research-brief
Automated research enriches signups from CRM, web forms, and other sources with comprehensive company insights and talking points.
## What does this mean?
Reps qualify and personalize first outreach in minutes, improving speed to lead, relevance, and conversion without manual research.
Pulls each new signup from the CRM, website forms, and other lead sources, enriches it with LinkedIn, online research, and firmographic data, and produces a concise brief with company overview, role context, recent news, and value-based talking points.
## Workflow steps
The Workflow activates automatically when a new lead enters your CRM, web form, or other lead source—integrating directly with Salesforce, HubSpot, or your existing signup flow.
Cassidy searches the web and LinkedIn to gather firmographic data, company details, recent news, and role-specific context about the new lead.
Cassidy compiles findings into a concise brief—including company overview, the lead's role context, relevant news, and value-based talking points tailored to your offering.
The completed research brief is sent directly to the assigned rep via Slack, email, or logged to the CRM record—so they can qualify and personalize outreach in minutes without manual research.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Personalized Meeting Follow-Ups
Source: https://docs.cassidyai.com/use-cases/sales/personalized-meeting-follow-ups
Reps close loops faster, maintain consistent follow-through, and keep opportunities moving without extra admin work by converting call transcripts into buyer-specific recaps.
## What does this mean?
Reps close loops faster, maintain consistent follow-through, and keep opportunities moving without extra admin work.
Converts each call’s transcript and meeting notes into a buyer-specific recap with cited decisions, assigned next steps, and due dates, then sends a tailored recap to attendees via email and logs it back to the CRM.
## Workflow steps
The Workflow activates automatically when a sales call wraps up, pulling in the transcript and any meeting notes captured during the conversation.
Using AI with access to your Knowledge Base, the Workflow analyzes the transcript to identify decisions made, action items discussed, owners for each next step, and any due dates mentioned.
The Workflow drafts a personalized follow-up email tailored to the attendees, citing specific moments from the call and clearly outlining agreed-upon next steps with assigned owners and timelines.
Once the recap is ready, the Workflow sends the tailored email directly to meeting participants, keeping everyone aligned without the rep lifting a finger.
The Workflow automatically logs the recap and key details back to your CRM, ensuring the opportunity stays updated and nothing falls through the cracks.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Pipeline Risk Scanner
Source: https://docs.cassidyai.com/use-cases/sales/pipeline-risk-scanner
Continuously analyzes open opportunities to identify and address at-risk deals.
## What does this mean?
Enables managers and reps to intervene early with targeted actions, improving forecast accuracy, reducing last‑minute slippage, and accelerating deal velocity through proactive risk management.
Continuously analyzes open opportunities for leading risk signals—such as stalled activity against stage‑specific SLAs, lack of next steps, no executive/economic buyer engagement, single‑threading, weak email/meeting cadence, negative sentiment in call notes, close date churn, discount/exceptions late in cycle, and low mutual action plan progress—and posts a ranked list of at‑risk deals with reasons and owner alerts.
## Workflow steps
The Workflow runs on a scheduled cadence or activates when opportunity data changes in Salesforce—ensuring continuous, real-time pipeline monitoring without manual effort.
Cassidy retrieves all open opportunities from your CRM, gathering key deal data including stage, close date, owner, activity history, and engagement metrics.
The Workflow evaluates each opportunity against stage-specific SLAs and leading risk indicators—stalled activity, missing next steps, no executive engagement, single-threading, weak email or meeting cadence, negative sentiment in call notes, close date churn, late-cycle discounts, and low mutual action plan progress.
Cassidy assigns a risk score to each opportunity based on the signals detected, then ranks deals from highest to lowest risk with clear reasons for each flag.
For each at-risk deal, Cassidy drafts targeted alerts that explain why the deal is flagged and suggests specific next steps reps and managers can take to get deals back on track.
The ranked list of at-risk deals, risk reasons, and owner alerts are posted to Slack or Microsoft Teams—and synced back to the CRM—so managers and reps can intervene early and keep forecasts accurate.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Post-Call CRM Field Updates
Source: https://docs.cassidyai.com/use-cases/sales/post-call-crm-field-updates
Auto-transcribes and parses notes to extract qualification elements, then incrementally updates mapped CRM fields.
## What does this mean?
Ensures your CRM stays continuously up to date after each interaction—reducing manual effort, standardizing data across frameworks, and improving coaching, stage progression, and forecast confidence.
After every call, auto-transcribes and parses notes to extract framework‑aligned qualification elements (e.g., pain, metrics, budget, stakeholders, decision process), then incrementally updates mapped CRM fields by adding new facts, revising outdated values, appending source links, and flagging discrepancies for review.
## Workflow steps
The Workflow activates automatically when a sales call ends—whether via a Gong trigger, Meeting ended trigger, or calendar integration—capturing the recording and any associated notes.
Cassidy auto-transcribes the conversation and parses the transcript, extracting framework-aligned qualification elements like pain points, success metrics, budget details, stakeholders, and decision process.
The Workflow matches each extracted element to the corresponding CRM fields in your Salesforce or HubSpot instance, preparing updates that align with your team's qualification framework (MEDDIC, BANT, etc.).
Cassidy updates your CRM by adding new facts, revising outdated values, and appending source links to the original call—preserving existing data while layering in fresh insights from the latest interaction.
When the Workflow detects conflicting information—such as a budget figure that doesn't match what's on record—it flags the discrepancy and routes it to a team member for Human-in-the-Loop approval before updating.
Once updates are confirmed, the Workflow logs the completed activity back to the CRM with timestamps and call links, keeping your pipeline data accurate and giving managers full visibility into deal progression.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Pricing and Packaging Recommender
Source: https://docs.cassidyai.com/use-cases/sales/pricing-and-packaging-recommender
Ingests buyer needs and recommends optimal tiers and add-ons with clear rationale.
## What does this mean?
Standardizes proposals and speeds time to quote—improving win rates, deal size, and consistency while reducing back-and-forth on pricing and approvals.
Ingests buyer needs from discovery notes and CRM fields, cross-references internal pricing guides, rate cards, and packaging sheets, and recommends the optimal tier and add-ons with clear rationale, guardrails, and a shareable summary for the rep.
## Workflow steps
The Workflow activates when a rep initiates a pricing request—either via a manual trigger with custom inputs or automatically through Salesforce or HubSpot when a deal reaches the quoting stage.
Cassidy gathers context from discovery notes, CRM fields, and deal details to understand the buyer's requirements, company size, use case, and any specific needs or constraints.
Using the Knowledge Base, the Workflow searches internal pricing guides, rate cards, and packaging sheets to identify relevant tiers, add-ons, and any applicable discounts or guardrails.
The Workflow produces a clear recommendation—optimal tier, suggested add-ons, and rationale—grounded in your pricing rules and the buyer's specific context. Guardrails flag any exceptions or approval requirements.
Cassidy compiles the recommendation, rationale, and any relevant notes into a polished summary the rep can share internally or use in proposals.
If the recommendation falls outside standard parameters, the Workflow routes it to a manager or pricing team for human-in-the-loop approval before the quote goes out.
Once finalized, the recommendation is logged back to the CRM and delivered to the rep via Slack, email, or directly in the deal record for immediate use.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Real-Time Lead Scoring
Source: https://docs.cassidyai.com/use-cases/sales/real-time-lead-scoring
Improve lead conversion rates and speed to engagement by focusing on the most promising leads.
## What does this mean?
Reps focus first on the most promising leads, improving speed to engagement and conversion rates without extra manual review.
Pulls new and updated leads from the CRM, enriches them with firmographics and intent data, compares them to historical win patterns, and writes a numeric score with route/priority fields back to the CRM.
## Workflow steps
The Workflow activates automatically when a new lead is created or an existing lead record is updated in your CRM—whether that's Salesforce, HubSpot, or another system.
Cassidy uses a Research Agent to pull company firmographics, role details, and intent signals—building a complete picture of who the lead is and how engaged they might be.
The Workflow analyzes the enriched lead against your Knowledge Base of past closed-won deals, identifying similarities in company size, industry, title, and buying signals.
Based on the comparison, Cassidy generates a numeric score and determines the appropriate priority level and routing—flagging high-potential leads for immediate follow-up.
The Workflow updates the lead record in your CRM with the calculated score, priority tier, and recommended owner or queue—so reps see qualified leads surface automatically in their pipeline.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Sales Call Action Capture
Source: https://docs.cassidyai.com/use-cases/sales/sales-call-action-capture
Extracts action items from calls, assigns owners and due dates, and integrates with team systems.
## What does this mean?
Reps and customers leave calls with clear next steps and nothing falls through the cracks, speeding follow‑ups and improving handoff consistency.
Extracts action items from call transcripts and notes, maps each to an owner and due date, and creates the tasks directly in the team’s systems (e.g., CRM, Jira) with status tracking.
## Workflow steps
The Workflow activates automatically when a sales call ends—whether via a Meeting Ended trigger, Gong, or similar integration—capturing the transcript and notes for processing.
Cassidy analyzes the call transcript using your company's context and terminology, identifying every commitment, follow-up, and next step mentioned during the conversation.
For each action item, the Workflow maps the responsible party (rep, customer, or internal teammate) and determines a due date based on context from the call.
The Workflow automatically creates tasks in your CRM (Salesforce, HubSpot) or project tools (Jira) with the assigned owner, due date, and relevant call context attached.
The Workflow logs all action items back to the deal record for visibility, and sends a summary via Slack or email so reps and stakeholders know exactly what's expected and when.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Sales Call Coaching Analyzer
Source: https://docs.cassidyai.com/use-cases/sales/sales-call-coaching-analyzer
Optimize sales coaching by automatically analyzing calls.
## What does this mean?
Managers focus coaching on the highest-impact calls, drive consistent rep development, and improve call quality without adding manual review time.
After each recorded sales call, pulls the transcript and metadata from the dialer, scores it against a defined rubric (e.g., agenda set, questions asked, next steps), highlights exact moments with timestamps, and flags calls that cross a threshold for manager review.
## Workflow steps
The Workflow activates automatically when a sales call ends, capturing the recording and metadata from your connected dialer.
Cassidy retrieves the full call transcript along with key metadata—rep name, prospect information, call duration, and timestamp—directly from your connected dialer.
Cassidy evaluates the call against your defined coaching criteria: Was an agenda set? Were discovery questions asked? Were clear next steps established? Each element receives a score based on your standards.
The Workflow identifies and extracts specific moments from the transcript—strong techniques, missed opportunities, or potential red flags—tagged with exact timestamps so managers can jump directly to what matters.
Calls that fall below your quality threshold are automatically flagged and sent to the appropriate manager via Slack or email, complete with scores, highlights, and a link to the recording.
The coaching analysis, scores, and key insights are logged back to the opportunity record in Salesforce or HubSpot, creating a searchable history of rep performance over time.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Sales Call Competitor Research
Source: https://docs.cassidyai.com/use-cases/sales/sales-call-competitor-research
Detects competitor mentions on calls, then automatically researches those competitors and compiles concise counter-argument briefs, pushed to the CRM and meeting notes.
## What does this mean?
Arms reps with timely, consistent material that reduces prep, strengthens objection handling, and lifts win rates by keeping deals on track.
Detects competitor mentions on calls, then automatically researches those competitors across your Knowledge Base, approved battlecards, websites, and recent news to compile concise counter-argument briefs with pricing/feature comparisons, proof points, and talk tracks—pushed to the CRM and meeting notes.
## Workflow steps
The Workflow activates when a sales call ends in Gong. Cassidy scans the transcript to identify any competitor names mentioned during the conversation.
For each competitor detected, Cassidy pulls relevant information from your Knowledge Base, approved battlecards, and gathers the latest from competitor websites and recent news.
Cassidy generates a concise brief that includes pricing and feature comparisons, proof points, and talk tracks—all grounded in your company's approved messaging and positioning.
The completed brief is automatically logged to the associated deal record in your CRM and appended to the meeting notes, so reps have everything they need in one place for follow-up.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Sales Data Q&A Analysis
Source: https://docs.cassidyai.com/use-cases/sales/sales-data-q-a-analysis
Answers plain-language questions on granular sales data by auto-querying connected files, tables, and logs, running the right calculations, and returning concise summaries with charts.
## How does it work?
Sales Data Q\&A Analysis handles the number-crunching that usually means waiting on spreadsheets or BI requests. Ask questions like:
* What's our win rate by segment this quarter vs. last?
* Which reps are trending behind quota, and by how much?
* Show me deals that slipped from last month's forecast.
* What's the average sales cycle for enterprise deals this year?
* Break down pipeline by stage and expected close date.
* Which accounts have the highest expansion potential based on usage?
* How does Q3 pipeline coverage compare to the same point last year?
The Agent queries your connected sales data, runs the calculations, and returns clear summaries—so you get answers in seconds, not hours.
## Who uses Sales Data Q\&A Analysis?
Sales Data Q\&A Analysis is built for sales leadership and revenue operations teams who need fast answers from their data:
* Sales Leaders tracking pipeline health, identifying at-risk deals, and spotting coaching opportunities
* Revenue Operations answering ad-hoc questions without building new reports or waiting on BI
* Sales Managers monitoring team performance and forecasting accuracy
* Finance Partners validating revenue projections and understanding deal trends
It's especially valuable when leadership needs answers during forecast calls, QBRs, or board prep—moments when waiting on manual analysis isn't an option.
## How does Sales Data Q\&A Analysis use your Knowledge Base?
Sales Data Q\&A Analysis connects to your sales data sources—including spreadsheets in Google Drive or SharePoint, CRM exports, Gong call logs, and operational tables—to answer questions directly from your numbers.
* Queries the relevant files, tables, and logs across connected sources
* Runs the right calculations—aggregations, comparisons, trend analysis—on your behalf
* Returns concise summaries with supporting charts when helpful
* Cites the specific data sources so you can verify or dig deeper
Because the Knowledge Base syncs continuously, your analysis reflects the latest data—no downloading CSVs or refreshing pivot tables.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Sales Leadership Executive Summary
Source: https://docs.cassidyai.com/use-cases/sales/sales-leadership-executive-summary
Compiles weekly summaries from CRM pipelines, forecasts, meeting transcripts, and revenue KPIs, delivering a source-linked report on progress, risks, and trends.
## What does this mean?
Leaders get a single, trustworthy view to review performance, spot risks early, and make faster coaching and coverage decisions without chasing data.
Compiles a weekly summary by pulling CRM pipeline and forecast, closed-won/lost notes, Meetings transcripts, and revenue KPIs, then produces a source-linked report highlighting progress to goal, risks, and key trends for sales leaders.
## Workflow steps
The Workflow runs automatically on a set schedule—typically weekly—so sales leaders receive a consistent, up-to-date summary without lifting a finger.
Cassidy connects to your CRM (Salesforce, HubSpot, or similar) to pull current pipeline status, deal stages, and forecast numbers, capturing where every
opportunity stands.
The Workflow retrieves recent win/loss data along with associated notes, surfacing patterns in what's driving deals across the finish line—or stalling them out.
Cassidy pulls relevant call and meeting transcripts, extracting key themes, customer objections, and potential risks flagged during sales conversations.
The Workflow pulls performance metrics—quota attainment, bookings pace, average deal size—from connected systems to benchmark progress against targets.
Cassidy synthesizes all gathered data into a single, source-linked report highlighting progress to goal, emerging risks, and key trends—grounded in your business context.
The finished summary is sent directly to leaders via email, Slack, or Microsoft Teams, giving them a unified view to review performance, spot risks early, and make faster coaching and coverage decisions.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Searchable Sales Call Memory
Source: https://docs.cassidyai.com/use-cases/sales/searchable-sales-call-memory
Captures and transcribes sales meetings from calendar invites, extracts next steps and MEDDICC fields, links back to call recordings and notes, and makes the content searchable with source citations in the CRM and Knowledge Base.
## How does it work?
Searchable Sales Call Memory gives you instant access to what was said across your sales conversations. Ask questions like:
* What did the VP of Engineering say about their timeline in last week's call?
* What next steps did we commit to with Acme Corp?
* Who is the economic buyer on the Meridian deal?
* What pain points has this prospect mentioned across all our calls?
* When did we last discuss pricing with DataFlow?
* What's the decision process for the Vertex opportunity?
* Has this account mentioned any competitors?
* What MEDDICC gaps do we have on this deal?
The Agent searches across transcribed calls, extracts relevant moments, and cites the specific recording—so you can verify or dig deeper when needed.
## Who uses Searchable Sales Call Memory?
Searchable Sales Call Memory is built for sales teams who need fast access to conversation history without rewatching recordings:
* Account Executives looking up what was discussed in previous calls before follow-ups
* Sales Managers reviewing deal progress and rep performance across calls
* Sales Ops ensuring MEDDICC fields stay current and accurate
* New reps ramping on inherited accounts by searching past conversations
* Revenue leaders spotting patterns in objections, next steps, or deal blockers
It's especially useful for teams running MEDDICC or similar qualification frameworks—keeping fields updated without manual note-taking or call reviews.
## Searchable Sales Call Memory use your Knowledge Base>?
Searchable Sales Call Memory captures and transcribes meetings directly from calendar invites, then syncs that content to your Knowledge Base alongside your connected sources—including Gong recordings, Salesforce records, Google Drive documents, and Slack conversations.
When you search for information, the Agent:
* Pulls from transcribed call content with timestamps and speaker attribution
* Extracts and surfaces MEDDICC fields, next steps, and action items
* Links back to original call recordings and notes for verification
* Cross-references CRM data to connect conversations to specific deals
* Provides source citations so you know exactly where information came from
Because the Knowledge Base syncs continuously, every new call becomes searchable shortly after it ends—no manual uploads or tagging required.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Spec Normalization and Compliance Selection
Source: https://docs.cassidyai.com/use-cases/sales/spec-normalization-and-compliance-selection
Streamline quoting, reduce risks, and ensure consistent documentation for your configurations.
## What does this mean?
Sales and engineering align on the first pass, shorten quoting cycles, reduce rework and compliance risk, and keep selections consistently documented and searchable.
Ingests customer spec sheets, price lists, and requirements in any format, normalizes terminology into a shared sales–engineering dictionary, extracts key attributes into structured tables, runs API-based calculations and standards checks, generates customer-ready validation summaries, prompts for missing inputs, and syncs approved configurations to the CRM and Knowledge Base.
## Workflow steps
The Workflow activates when customer spec sheets, price lists, or requirements are uploaded—whether manually, from SharePoint, Google Drive, or integrated directly with your systems. Cassidy accepts files in any format and prepares them for processing.
Cassidy translates varied customer language into your shared sales–engineering dictionary. This ensures everyone speaks the same language, eliminating confusion between teams.
Cassidy parses the normalized documents and pulls critical specifications into structured tables—product codes, quantities, tolerances, compliance requirements, and other configurable attributes ready for validation.
The Workflow connects with your external calculation engines and standards databases, verifying that configurations meet technical requirements and compliance thresholds.
If the Workflow detects gaps—missing specs, unclear requirements, or incomplete data—it prompts the appropriate team member for human-in-the-loop approval before proceeding.
Once all checks pass, Cassidy creates a customer-ready validation summary documenting the normalized specs, compliance status, and approved configuration details.
The Workflow logs the approved configuration to your CRM and stores the documentation in your Knowledge Base—keeping selections consistently documented, searchable, and accessible for future quotes.
## Related
Create a custom Agent with tailored instructions and Knowledge Base access.
Add your company documents so Agents can reference them.
# Conversation memory
Source: https://docs.cassidyai.com/workflows/advanced/conversation-memory
Let Generate Text actions remember previous runs so follow-up messages carry context without starting fresh.
Conversation memory is a setting on the **Generate Text** and **Generate Text with Agent** actions that lets the AI remember previous messages across [Workflow](/workflows/overview) runs. Instead of each run starting from scratch, the action retains conversation history so follow-up interactions can build on earlier context.
This is useful for processes where the same Workflow runs repeatedly for the same topic -- like handling an ongoing support ticket, responding to an email thread, or maintaining a rolling summary of a customer relationship.
Conversation memory is available on the **Generate Text** and **Generate Text with Agent** actions.
## Memory modes
When you configure conversation memory on an action, you choose one of three modes:
| Mode | Description |
| - | - |
| **No memory** | Each run is independent with no shared context. This is the default. |
| **Single conversation** | All runs of this Workflow share the same conversation thread. Every execution adds to and reads from the same history. |
| **Keyed conversation (advanced)** | Uses a custom key to create separate conversation threads. Runs with matching keys continue the same conversation. |
## Set up conversation memory
In the [Workflow editor](/workflows/building), click the **Generate Text** or **Generate Text with Agent** action you want to configure.
In the action settings sidebar, find and expand the **Conversation Memory** section.
Select the mode that fits your use case:
* **No memory** -- choose this if each run should be independent (default).
* **Single conversation** -- choose this if every run of this Workflow should share the same conversation history.
* **Keyed conversation (advanced)** -- choose this if you need separate conversations grouped by a dynamic value like a ticket ID or customer name.
## Configure keyed conversation
If you select **Keyed conversation (advanced)**, you get additional settings to control how conversations are grouped and managed.
### Conversation key
The **Conversation Key** determines which conversation thread a run belongs to. Each unique key creates its own thread -- runs with matching keys continue the same conversation.
Use the `#` symbol to insert [variables](/workflows/building#reference-variables-between-steps) from the trigger or previous steps. For example:
* `#Ticket ID` -- separate conversation per support ticket
* `#Email Thread ID` -- one conversation per email thread
* `#Customer Name` -- one conversation per customer
### Update conversation history
When **Update conversation history** is enabled (the default), the AI's response from each run is saved to the conversation. Future runs with the same key will see the full history.
When disabled, the action reads the existing conversation history but does not add to it. This is useful when you want to reference past context without modifying the conversation record -- for example, generating a summary of a conversation thread without the summary itself becoming part of the history.
### Share across Workflows
When **Share across workflows** is enabled, other Workflows can access the same conversation using the same key. This lets you build multi-Workflow processes that share a common memory -- for example, one Workflow handles initial triage and another handles follow-up, both contributing to the same conversation thread for a given ticket.
When disabled (the default), the conversation is scoped to the current Workflow only.
## Common use cases
* **Support ticket follow-ups** -- use the ticket ID as the conversation key so each run for the same ticket builds on the previous interactions.
* **Email thread responses** -- use the email thread ID as the key so the AI has full context of the conversation when drafting a reply.
* **Rolling account summaries** -- use single conversation mode to maintain a continuously updated summary of customer interactions.
* **Multi-step pipelines** -- enable "Share across workflows" so a triage Workflow and a resolution Workflow both contribute to the same conversation history for a given case.
## Next steps
Learn how to add and configure actions in the Workflow editor.
Format action output into consistent, typed fields.
# Analyze data in Workflows
Source: https://docs.cassidyai.com/workflows/advanced/data-analysis
Use Code Execution & File Creation on a Generate Text action to analyze files, generate charts, and create reports.
The **Code Execution & File Creation** setting enables [Workflow](/workflows/overview) actions to automatically analyze, manipulate, and generate insights from structured data files like CSVs, Excel spreadsheets, PowerPoint presentations, Word documents, and PDFs. When enabled, the AI writes code on-the-fly to perform complex data operations, create visualizations, and make direct edits to files — all without requiring technical expertise.
This is particularly useful for tasks like:
* Analyzing sales data exports to uncover trends
* Generating formatted monthly reports with charts and graphs
* Editing custom presentation templates with AI-generated content
* Transforming raw data into polished, branded deliverables
## Enable Code Execution & File Creation
In your [Workflow editor](/workflows/building), click the **+** button to add a new action and select **Generate Text**.
In the action's settings panel, expand **Code Execution & File Creation** and turn on the setting.
Screenshot needed: Generate Text action settings with Code Execution & File Creation enabled.
This allows the action to process file attachments and generate insights by writing and executing code behind the scenes.
## Use an Agent with Code Execution & File Creation
The [Generate Text with Agent](/reference/actions/generate-text-with-agent) action inherits its capabilities and advanced settings from the selected [Agent](/agents/overview). New custom Agents have **Code Execution & File Creation** enabled by default. If data analysis or file generation is missing, edit the Agent and enable **Code Execution & File Creation** under **Customize** > **Advanced Settings**.
## Example: Sales data analysis to report
This walkthrough demonstrates a complete data analysis use case — uploading a sales data spreadsheet, analyzing it to create insights and visualizations, and combining results into a PowerPoint presentation.
Create a Workflow with a [Manual trigger](/reference/triggers/manual) that accepts file uploads. Add a file input field so users can upload Excel or CSV files containing sales data.
Add a **Generate Text** action and reference the uploaded file from your trigger in the prompt. For example:
*"Analyze the attached sales data and provide key insights including trends over time, top performing products, and revenue patterns. Create a summary of findings with specific metrics. In addition, generate a chart visualization showing sales performance trends by month."*
You can reference files from trigger attachments or data outputs from previous Workflow steps, allowing you to chain multiple data processing actions together.
Expand **Code Execution & File Creation** and turn on the setting.
Screenshot needed: Generate Text action settings with Code Execution & File Creation enabled.
Add another **Generate Text** action to create a PowerPoint presentation from the analysis. Reference the output from the first step and prompt it to build a report:
*"Using the analysis results and chart referenced, create a professional PowerPoint presentation with the key findings, chart visualizations, and executive summary slides."*
Enable **Code Execution & File Creation** on this action as well so the AI can create and format the presentation.
When Code Execution & File Creation is enabled on an action, a **Generated Files** variable appears in the outputs. Reference this variable when passing files between steps.
Execute the Workflow by uploading a sales data file. The first step analyzes the data and generates charts, then the second step uses those results to produce a PowerPoint presentation.
## Review results and download files
When a Workflow with Code Execution & File Creation completes, you can inspect exactly what happened and download any generated files.
### View the analysis code
Click **Analyzed sources** in the results panel, then click the code icon (`>`) next to any analysis step to open a modal showing the Python code the AI wrote to process your data.
### Download generated files
Any files created during the analysis — charts, presentations, reports — appear with download buttons in the results panel.
### Review the output
Generated presentations include professional slides with your data insights, key metrics, trend analysis, and embedded visualizations.
## Next steps
Analyze data interactively in Agent conversations.
Learn more about the action that powers data analysis in Workflows.
Import datasets and run your Workflow at scale.
Other ways to generate files through Agents and Workflows.
# Configure data retention
Source: https://docs.cassidyai.com/workflows/advanced/data-retention
Control how long Workflow run history is stored to meet your organization's data governance requirements.
Data retention settings let you control how long your [Workflow](/workflows/overview) run history is stored in Cassidy. This helps you manage data storage and comply with your organization's data governance policies.
Data retention is an **Enterprise-only** feature. [Contact our sales team](https://www.cassidyai.com/demo) to learn more about upgrading to Enterprise access.
## Set a retention policy
Navigate to the Workflow you want to configure and click **Edit** in the top-right corner.
Click the **...** menu, then under **Advanced**, select **Data Retention**.
Select from the available options:
* **Forever** -- run history is retained indefinitely, or until you manually delete it.
* **Custom** -- specify a retention period based on your needs.
If you selected **Custom**, enter the retention duration (e.g., `15`) and select the unit from the dropdown: **Hours**, **Days**, **Weeks**, **Months**, or **Years**.
Click **Save** to apply the retention settings. Cassidy will automatically delete run history older than the configured period.
## Manually delete run history
You can delete all existing run history for a Workflow at any time, regardless of the retention setting.
Follow the steps above to navigate to the **Data Retention** settings for your Workflow.
Click **Delete Workflow Run History**, then click **Delete** again to confirm.
Once data is deleted -- whether by retention policy or manual deletion -- it cannot be recovered. Make sure your settings align with your organization's data governance requirements before configuring retention.
## Next steps
Manage Workflow permissions, folders, and external deployment.
Learn about SSO, SAML, RBAC, and other enterprise controls.
# Set fallback values
Source: https://docs.cassidyai.com/workflows/advanced/fallback-values
Configure default values for Workflow actions so your automation continues running even when individual steps fail.
Some [Workflow](/workflows/overview) actions -- like scraping a webpage, looking up a LinkedIn profile, or calling an external API -- can fail due to bad data, network issues, or rate limits. Fallback values let you define a default output for these actions so the rest of your Workflow keeps running instead of stopping entirely.
## Configure a fallback value
In the [Workflow editor](/workflows/building), click the action you want to protect. The settings sidebar opens.
Scroll down to the **Advanced Settings** section in the sidebar.
Toggle on **Continue workflow if this action fails?**. This allows the Workflow to proceed to the next action even if this one encounters an error.
In the **Fallback Value** field that appears, type the default value that should be used when the action fails. Choose something descriptive that downstream steps can recognize:
* `"No website found"` for a Scrape Webpage action
* `"Profile unavailable"` for a LinkedIn lookup
* `"API error - no data"` for an external API call
## Plan for fallback scenarios
Setting a fallback value is only half the solution -- you also need to account for it in your downstream steps.
In actions that reference the fallback-protected step's output, adjust your prompts to handle the fallback gracefully. For example, instruct the AI: *"If the website data says 'No website found', skip the website analysis section."*
For more sophisticated handling, add a [Paths](/workflows/building#add-conditional-logic-with-paths) action after the fallback-protected step. Create one path for successful results and another for fallback values.
Fallback values are useful for any action that depends on external data quality -- like web scraping, API calls, or profile lookups -- where the source may be unavailable or return unexpected results.
## Next steps
Learn about Paths, variables, and other Workflow building blocks.
Clean up your output by hiding intermediate steps from end users.
# Hide actions from results
Source: https://docs.cassidyai.com/workflows/advanced/hide-actions-from-results
Control which Workflow actions are visible to end users by hiding preprocessing steps and internal operations from the results view.
When a [Workflow](/workflows/overview) runs, every action's output is shown in the results by default. For Workflows with preprocessing steps, API calls, or other internal operations, you may want to hide these from end users to create a cleaner, more focused results view.
Hidden actions still execute normally -- they just don't appear in the output that users see when viewing run results.
## Hide an action
Navigate to the Workflow and click **Edit** to access the editor.
Click the **...** button in the top-right corner of the action block you want to hide.
Click **Include in Workflow output** from the dropdown menu. This toggles the action's visibility in the results view.
An eye icon appears on the action block, indicating it is now hidden from end-user results.
To show the action again, repeat the same steps -- click the **...** menu and toggle **Include in Workflow output** off.
## What stays visible
* **Test Workflow** -- hidden actions are still fully visible when you use the [testing interface](/workflows/running-and-testing#test-a-workflow) in the editor. This lets you debug without affecting what end users see.
* **Run results and Previous Runs** -- hidden actions do not appear in run results or the Previous Runs view.
The **Interface** tab's **Outputs** list is separate: it highlights specific action variables on the **Run** tab after a successful run. Hiding an action from workflow output does not remove its variables from that list if you explicitly added them as outputs; remove them on **Interface** if you no longer want them shown there. See [Customize the Workflow run view](/workflows/interface#outputs).
Use this feature for actions like **Scrape Webpage**, **Categorize Text**, **Send API Request**, or any step that produces intermediate data your users do not need to see. It keeps the output focused on the final, meaningful results.
## Next steps
Learn about the testing interface and debugging tools.
Handle errors gracefully when actions fail during a run.
# Use secret keys
Source: https://docs.cassidyai.com/workflows/advanced/secret-keys
Securely store API keys, passwords, and sensitive values for use in Send API Request and Run Code actions.
Secret keys let you securely store sensitive values — like API keys, passwords, and tokens — so you can reference them in [Workflow](/workflows/overview) actions without exposing them in plain text. Once created, secret key values are encrypted and never displayed again.
Secret keys are used in **Send API Request** and **Run Code** actions within Workflows. They're ideal for connecting to external APIs that require authentication.
## Create a secret key
In the [Workflow builder](/workflows/building), add or open a **Send API Request** or **Run Code** action.
In the action's value field (e.g., a header value or code variable), click the **+** button next to the field. Hover over **Insert a Secret Key**, then click **Create Secret Key**.
Fill in the following:
* **Name** — A descriptive label for the key (e.g., "Stripe API Key", "HubSpot Token").
* **Value** — The actual secret value (API key, password, etc.). This will be encrypted and hidden after creation.
You won't be able to view the secret key value after saving. Make sure you've copied it correctly before proceeding.
Choose who can use this secret key:
* **Team** — Everyone in your organization can use this key in their Workflows.
* **Restricted** — Only specific people or [groups](/settings/roles-and-groups) can use the key. Click **Add People/Groups** to select who has access.
For restricted keys, you can also set permission levels:
* **Use** — Can reference the key in Workflow actions
* **Manage** — Can update or delete the key
Click **Create**. The key is now stored securely and available for use.
Your secret key is created. It appears in the secret key picker and can be inserted into any supported Workflow action.
## Use a secret key in a Workflow
Once created, you can insert a secret key into any **Send API Request** or **Run Code** action:
1. Click the **+** button next to the value field.
2. Hover over **Insert a Secret Key**.
3. Select the key from the list.
The key is inserted as a variable reference — the actual value is never exposed in the Workflow builder or run results.
## Manage existing keys
To view, update, or delete your secret keys:
1. In any Workflow action that supports secret keys, click the **+** button and select **Manage Secret Keys**.
2. From the management panel, you can:
* **Rename** a key
* **Update** the value (you'll need to enter the new value — the old one can't be retrieved)
* **Change access permissions**
* **Delete** a key
Deleting a secret key will break any Workflow actions that reference it. Make sure no active Workflows depend on the key before removing it.
## Next steps
Create Workflows that use secret keys for API authentication.
Set up groups to control who can access restricted secret keys.
# Use structured output fields
Source: https://docs.cassidyai.com/workflows/advanced/structured-output-fields
Define specific data fields and types so your Workflow actions produce consistently formatted, machine-readable results.
Structured output fields let you define the exact data format you want an action to produce. Instead of receiving freeform text that you need to parse, the AI fills in specific fields with the correct data types -- making outputs consistent, reliable, and easy to reference in later steps.
Structured output fields are available on these actions: **Generate Text**, **Generate Text with Agent**, **Run Code**, and **Research Agent**.
## Set up structured output fields
In the [Workflow editor](/workflows/building), click the action you want to configure. The settings sidebar opens.
Under **Structured Output Fields**, you have two options:
* **Add Fields Automatically** -- Cassidy analyzes your prompt and generates a suggested set of fields.
* **+ Add Field** -- manually create each field yourself.
For each field, specify:
* **Field Name** -- a descriptive label (e.g., "Full Name", "Location", "Score").
* **Type** -- the data type for this field (see the table below).
* **Description** -- help the AI understand what value to fill in (e.g., "The person's complete full name as listed on LinkedIn").
Customize each field further:
* **Required** -- toggle on if this field must always be populated.
* **Allow Multiple Values (List)** -- toggle on if the AI should return more than one value (e.g., a list of skills or multiple work experiences).
In subsequent actions, [insert a variable](/workflows/building#reference-variables-between-steps) and you will see each structured field as an individual variable you can reference by name.
## Available field types
| Type | Description | Example |
| - | - | - |
| **Text** | A single text value | `"Jane Smith"` |
| **Number** | A numerical value | `42` |
| **Yes/No** | A true/false toggle | `true` |
| **Dropdown** | A single value from a list of options you define | `"CA"` from a list of state codes |
| **Object** | A collection of sub-fields with their own types | A work experience with Company Name (Text), Job Title (Text), and Duration (Number) |
When using the **Object** type, you add sub-fields within the object by repeating the same field configuration process. Objects can be combined with **Allow Multiple Values** to create lists of structured records.
## Example: parse a LinkedIn profile
To illustrate, here is how you might extract structured data from a scraped LinkedIn profile:
1. **Full Name** -- Type: Text, Description: "The person's complete name"
2. **Location** -- Type: Dropdown, Options: `CA`, `NY`, `TX`, `FL` (state codes), Description: "The US state where the person is located"
3. **Past Experiences** -- Type: Object, Allow Multiple Values: on
* **Company Name** -- Type: Text
* **Job Title** -- Type: Text
* **Duration in Years** -- Type: Number
The action produces a clean, structured result where each field is individually referenceable in downstream steps.
## Next steps
Learn how to pass structured output data between Workflow steps.
Apply structured outputs across an entire dataset.
# Utility variables
Source: https://docs.cassidyai.com/workflows/advanced/utility-variables
Access metadata about the current Workflow run, the user who triggered it, and the Workflow itself for logging, personalization, and conditional logic.
Utility variables provide metadata about the current [Workflow](/workflows/overview) execution. Use them to personalize outputs, create audit trails, send contextual notifications, and implement conditional logic based on run details.
## Access utility variables
While editing an action's prompt or input field, type **#** or click **Insert Variable**. A dropdown appears showing trigger inputs and action outputs.
In the dropdown, hover over **Utilities** to expand the available utility variables.
Click the variable you want to insert. Cassidy formats it with the correct syntax automatically.
For general information on variables, see [referencing variables](/workflows/building#reference-variables-between-steps).
## Available variables
### Workflow Run
| Variable | Description |
| - | - |
| **ID** | Unique identifier for this specific run |
| **Link** | Direct URL to view this run in Cassidy |
| **Started At Date (UTC)** | The date the run began, in UTC |
| **Started At Date & Time (UTC)** | Full timestamp (date and time) when the run started, in UTC |
| **Is Test Run** | `true` if this is a test execution, `false` for live runs |
### Run by User
| Variable | Description |
| - | - |
| **Name** | Full name of the user who initiated the run |
| **Email** | Email address of the user who triggered the run |
| **Role** | Organizational role of the user (Member or Admin) |
### Workflow
| Variable | Description |
| - | - |
| **Name** | Display name of the Workflow |
| **Link** | Direct URL to the Workflow configuration page |
| **ID** | Unique identifier for the Workflow itself (not the specific run) |
## Common use cases
Include the runner's name in email outputs or customize content based on their role. For example, add `"Prepared by: #Run by User > Name"` to a generated report.
Include the Run ID, user email, and timestamp in output files for compliance tracking. This is especially useful when Workflows process sensitive data or interact with external systems.
Send Slack messages or emails that include who ran the Workflow, when it started, and a link to the run for quick reference.
Use **Is Test Run** with [Paths](/workflows/building#add-conditional-logic-with-paths) to behave differently during testing vs live execution. For example, skip sending real emails during test runs, or write to a staging database instead of production.
Include the Workflow name and link in generated reports or communications so recipients can easily navigate back to the source automation.
## Next steps
Learn how to pass data between Workflow steps using all variable types.
Define consistent output formats for your Workflow actions.
# Build a Workflow
Source: https://docs.cassidyai.com/workflows/building
Create, configure, and publish AI-powered Workflows using templates, the Copilot, or a blank canvas.
Build a [Workflow](/workflows/overview) to automate a multi-step process in Cassidy — whether from a plain-language description, a template, or a blank canvas. Once created, you can configure every aspect of your Workflow manually or use the [Workflow Copilot](#use-the-workflow-copilot) to do it with plain language.
## Create a new Workflow
Click **Workflows** in the left sidebar of your Cassidy dashboard.
In the top-right corner, click **+ New Workflow**. Select one of four options:
* **Custom Workflow** — Describe your automation in plain language and the [Workflow Copilot](#use-the-workflow-copilot) generates it for you.
* **Blank Workflow** — Start from scratch with an empty canvas.
* **Import Workflow** — Upload a Workflow JSON file to add it to your organization.
* **Template** — Browse pre-built Workflows for common use cases and customize them.
If you selected **Custom Workflow**, the [Workflow Copilot](#use-the-workflow-copilot) opens automatically. Describe what you want to automate, answer clarifying questions, and the Copilot builds out the trigger, actions, and configuration for you.
After creation, review and fine-tune your Workflow in the editor. You can adjust the trigger, add or remove actions, update prompts, and connect integrations at any time.
When you're satisfied, click **Publish** to make the Workflow available for your team. See [Share and deploy Workflows](/workflows/sharing-and-deployment) for details on versioning, publishing, and permissions.
Once published, your Workflow is ready to [run and test](/workflows/running-and-testing).
### Start from a template
Templates are pre-built Workflows for common tasks like writing personalized sales emails, summarizing support tickets, or generating meeting follow-ups.
Click **+ New Workflow** and select **Template**, or click **Browse Templates** on the Workflows page.
Use the search bar to find templates by keyword or browse by category. Click on a template that matches your goal.
Follow the guided setup process to customize the template:
* For integrations, you'll be prompted to authorize connections
* Select the [Agent](/agents/overview) to use for certain steps
* Provide any other inputs needed for the specific Workflow
* Click **Next** to continue through each step
Choose a folder to organize your Workflow and set permissions to control who can access it. Click **Finish** to complete creation.
After the template is added to your Workflows, you can run it as-is or open the editor to adjust triggers, actions, prompts, and variables to fit your exact needs.
## The Workflow editor
The Workflow editor is where you build and configure your automation. You can configure your Workflow in two ways:
* **Manually** — Edit each setting directly in the editor. The sections below walk through the trigger, actions, and variables.
* **With the [Workflow Copilot](#use-the-workflow-copilot)** — Describe what you want in plain language and the Copilot updates the configuration for you. You can use the Copilot to build from scratch, make targeted changes, or troubleshoot issues.
Both approaches work together — use the Copilot to get started quickly, then fine-tune individual settings manually.
Use the top bar to **test** the Workflow, open **Previous Runs**, launch the **Workflow Copilot**, switch versions, and **publish**.
For Manual-style Workflows, the header also includes **Bulk Run** and **Interface** next to **Workflow**:
What each tab is for:
* **Workflow** — The canvas (trigger, actions in order) and the settings sidebar when you select a block.
* **Bulk Run** — [Run the Workflow on a dataset](/workflows/bulk-runs).
* **Interface** — [How the Run tab looks](/workflows/interface) for people who run the Workflow after it is published.
**Manual-style Workflows:** **Bulk Run** and **Interface** show only when the trigger supports the interactive **Run** tab in Cassidy (for example **Manual**). Scheduled and integration triggers hide those two tabs.
To update the Workflow **name** and **description**, click the name in the top-left, open **...** → **Update Name & Description**, or—when **Interface** is available—edit the same fields in the **Customize** section on that tab.
## Configure your Workflow
### Trigger
The trigger defines how and when your Workflow starts. Click the trigger block at the top of the editor to configure it.
* **Manual** — Users fill in a form and click **Run**
* **Scheduled** — Runs automatically on a recurring schedule
* **Webhook** — Starts when an external system sends a POST request
* **Email** — Runs when an email is sent to the Workflow's [dedicated email address](/reference/triggers/email)
* **Integration trigger** — Fires on events like a new Slack message, Zendesk ticket, HubSpot record, or Google Calendar event
Depending on the trigger type, set up the required inputs. For a Manual trigger, add input fields (Text, Number, Yes/No, URL, File, Dropdown, Knowledge Base, or Object). For integration triggers, connect the relevant app and select the event.
To swap trigger types on an existing Workflow, click the **...** menu on the trigger block and select **Change Trigger Type**.
### Actions
Actions are the steps your Workflow performs after the trigger fires. Click the **+** button between blocks to insert a new action. Browse or search the action library to find what you need — generate text, send an email, update a CRM record, run code, scrape a webpage, and more.
Click an action block to open its settings sidebar. Fill in prompts, select an AI model, map input fields, and adjust any action-specific options.
To reorder actions, drag them to a new position. To delete an action, click the **...** menu on the block and select **Delete**.
### Variables
Variables let you pass data from the trigger and from previous action outputs into later steps. By default, actions do not have access to the output of earlier steps — you need to explicitly reference variables to connect them.
For example, in a LinkedIn-enhanced cold email Workflow, the trigger collects a **Name** and **Email address**. These become variables you reference in later actions like "Summarize LinkedIn Profile" and "Write Company Description."
To insert a variable, type **#** or click **Insert Variable** while editing an action's prompt or input field. A dropdown appears showing all available variables from the trigger and previous actions.
Each action's output becomes a new variable. In the final step, you can combine outputs from multiple earlier steps — for example, referencing both a profile summary and a company description to generate a personalized email.
Need metadata about the run itself? Use [utility variables](/workflows/advanced/utility-variables) to access the run ID, timestamp, user name, and more.
### Control flow
For branching logic, use [Paths](/reference/actions/paths) to route your Workflow based on conditions — like routing a support question to different [Agents](/agents/overview) depending on the product mentioned. For repeating steps, use [Loops](/reference/actions/loop). For pausing execution, use [Wait/Delay](/reference/actions/wait-delay) or [Request Approval](/reference/actions/request-approval).
## Run view and Interface (Manual-style Workflows)
For Manual-style Workflows, use the **Interface** tab to change what the **Run** tab looks like for people who run the Workflow after it is published—header, description, form fields, run button, and optional highlighted **Outputs**.
Full walkthrough: [Customize the Workflow run view](/workflows/interface).
## Use the Workflow Copilot
The Workflow Copilot is an AI-powered building partner that helps you configure Workflows using plain language. Instead of editing each setting manually, describe what you want and the Copilot generates or updates the Workflow for you — including triggers, actions, prompts, and variable mappings.
You can use the Copilot at any point: when creating a new Workflow from scratch, when starting from a template, or when refining an existing Workflow.
Do not manually edit the Workflow while the Copilot is working — your changes will be overwritten.
### Access the Copilot
* **When creating a new Workflow**: The Copilot opens automatically if you choose **Custom Workflow**.
* **When editing an existing Workflow**: Click the wand icon in the top toolbar of the Workflow editor.
### How the Copilot works
Tell the Copilot what you want to automate in plain language. For example: *"When a new Zendesk ticket arrives, summarize it using our product knowledge base and draft a reply."* The Copilot plans its approach and begins building.
The Copilot generates a complete Workflow. You can see the steps that were changed or added, along with a message from the Copilot explaining what it did.
Send follow-up messages to refine further. You can ask the Copilot to add steps, modify existing steps, swap models, adjust prompts, or connect different integrations.
Once you are satisfied, [test the Workflow](/workflows/running-and-testing) to verify it produces the output you expect.
### Copilot controls
| Control | What it does |
| - | - |
| **Regenerate** | Try a different approach for any Copilot message |
| **Edit message** | Modify your prompt and resubmit |
| **Restore checkpoint** | Revert the Workflow to the version before a specific change |
| **New chat** | Start a fresh Copilot conversation |
| **Chat history** | Browse and return to earlier Copilot conversations |
### Use run results with the Copilot
When you [test a Workflow](/workflows/running-and-testing) or review a finished row in a [bulk run](/workflows/bulk-runs), you can send the run to the Copilot for analysis:
* **Add to Copilot** — Available when you have permissions to edit the Workflow. Click this icon to attach a finished run to the Copilot chat, then ask the Copilot to improve the results or update the Workflow. If you add a run from the published **Bulk Run** tab, Cassidy opens the Workflow editor with the run attached.
* **Fix in Copilot** — If a step produces an error during testing, click this icon to bring the error into the Copilot's context so it can debug and resolve the issue.
## Next steps
Style the Run tab, Manual inputs, and highlighted outputs from the Interface tab.
Execute your Workflow and use the testing interface to debug each step.
Import a CSV or use Smart Import to run your Workflow across a full dataset.
Manage permissions, publish versions, organize into folders, and deploy externally.
Define specific output fields for consistent, machine-readable results.
# Run Workflows in bulk
Source: https://docs.cassidyai.com/workflows/bulk-runs
Import CSV files or use Smart Import to extract data from unstructured documents and run a Workflow across an entire dataset.
Bulk runs let you execute a [Workflow](/workflows/overview) many times in parallel -- once per row in a dataset. This is ideal for tasks like generating personalized emails for a list of contacts, enriching CRM records, or processing a batch of support tickets.
**Prerequisite:** You need a published Workflow with a Manual trigger. The trigger's input fields define the columns in your bulk run dataset.
## Create a bulk run view
You can open **Bulk Run** from the Workflow's tab bar on the Run view, or switch to the **Bulk Run** tab while [editing](/workflows/building#the-workflow-editor) the same Manual-style Workflow (next to **Workflow** and **Interface**). The **Interface** tab is documented in [Customize the Workflow run view](/workflows/interface).
Navigate to the Workflow you want to run in bulk and click the **Bulk Run** tab.
Click the dropdown menu and select **Create New View**, then give it a descriptive name (e.g., "Q1 Leads" or "Support Backlog"). You can also rename the default untitled view.
You can create multiple views for the same Workflow to keep different datasets organized.
## Import data
There are two ways to populate your bulk run view: **CSV Import** for structured tabular data, and **Smart Import** for unstructured files like PDFs, images, or messy spreadsheets.
Use CSV Import when your data is already organized into rows and columns.
At the bottom of the Bulk Run view, click the **Import CSV** button.
Select a CSV file from your computer or drag and drop it into the upload area.
Cassidy maps each CSV column to the corresponding trigger input variable. Review the mappings and adjust if needed, then click **Import**.
Your rows appear in the bulk run table. Verify the data looks correct before running.
Use Smart Import when your data lives in unstructured documents, messy spreadsheets, PDFs, or images. Cassidy's AI extracts structured data from the file automatically.
At the bottom of the Bulk Run view, click the **Smart Import** button.
Select the file from your computer or drag and drop it. Smart Import supports documents, spreadsheets, PDFs, images, and other common file types.
Click **Extract Data**. Cassidy's AI reads the file and produces structured rows mapped to your Workflow's trigger inputs.
Check the extracted rows. You can edit individual cells, delete rows, or click **Try Again** with additional instructions if the extraction needs improvement.
When the data looks correct, click **Save & Import** to add the rows to your bulk run view.
You can also add rows manually by clicking into the table and typing values directly.
## Run and monitor
Choose individual rows by checking their boxes, or use one of the batch options:
* **Run All** -- processes every row in the view.
* **Run This Page** -- processes only the rows visible on the current page.
Multiple rows run simultaneously. Each row shows its status (running, completed, or failed) and the result updates in real time.
Click the expand icon (**View run details**) on a finished row to review its inputs and results. If you can edit the Workflow, click **Add to Copilot** to send the run to the [Workflow Copilot](/workflows/building#use-the-workflow-copilot). From the published **Bulk Run** tab, Cassidy opens the Workflow editor with the selected run attached so you can ask the Copilot to improve the results.
Once all rows have completed, click **Export** to download the results as a CSV file for further analysis or sharing.
Failed rows can be re-run individually without affecting the rest of the dataset. Click a failed row to see the error and retry.
## Next steps
Learn about single runs, scheduled runs, and the testing interface.
Manage permissions and deploy Workflows externally.
Define consistent output formats for your Workflow results.
Handle errors gracefully so bulk runs keep processing.
# Customize the Workflow run view
Source: https://docs.cassidyai.com/workflows/interface
Use the Interface tab to style the Run page, edit Manual trigger fields, and choose which values appear under Outputs after a successful run.
The **Interface** tab is part of the Workflow editor. It controls how the **Run** tab looks and what people see after they start a run: header, title, description, form fields, the run button, and optional highlighted **Outputs**. The same layout applies when someone opens an **Interface** link from the Run view—see [Share and deploy Workflows](/workflows/sharing-and-deployment).
The **Interface** and **Bulk Run** tabs appear only when the trigger supports the interactive **Run** tab in Cassidy (for example **Manual**). Other triggers use a different editor without those tabs.
## Open Interface settings
Open the Workflow and click **Edit** so you are in the builder.
At the top of the editor, click **Interface**. The left side shows a live **Interface Preview**; the right side is **Interface Settings** (Customize, Inputs, Outputs).
## Appearance (Customize)
In the **Customize** section you can:
* **Icon** — Image on the colored header of the Run card.
* **Background Color** — Color behind the header strip at the top of the Run card.
* **Name** — Title on the Run page (same as the Workflow name elsewhere).
* **Description** — Shown under the title; supports rich text so you can explain what the Workflow does and what to enter in the form.
* **Run Button Color** and **Run Button Text** — The primary action on the form. If you leave the label blank, Cassidy uses **Run Workflow**.
Changes apply on the **Run** tab, in the test panel when you run from the editor, and on shared Interface pages.
## Inputs
The **Inputs** section lists the Manual trigger fields—the same list as when you click the trigger on the **Workflow** tab. Add, reorder, or edit fields here or on the canvas; both stay in sync.
On the **Interface** tab, expand **Inputs**.
Add fields, set types (for example Text, Number, File, Dropdown), and configure options the same way you would from the trigger. Reorder fields by dragging them in the list.
Use the row actions to edit a field's settings or remove it from the form.
## Outputs
**Outputs** are values you choose to highlight after a run finishes successfully. They appear in their own **Outputs** section on the **Run** tab (and in the preview while you edit).
On the **Interface** tab, expand **Outputs**.
Click **Add Output**. A picker opens, grouped into **Utilities**, **Trigger inputs**, and **Actions**. Use the arrows to open a group and choose a specific value—for example a generated file from an action or a field from **Generate Metadata**.
Use **Rename** to change the label people see (the underlying variable does not change). Drag rows to change order. Remove an output if you no longer want it highlighted.
After a successful run, Cassidy opens **Outputs** prominently when you have defined at least one. People can still expand **Steps** to see every action and the full step-by-step results. If you leave **Outputs** empty, only **Steps** summarizes the run.
Broken references (for example you deleted an action that an output pointed to) show up in the editor **issues** list; click an issue to jump to **Interface** and fix or remove the output.
[Hiding actions from workflow output](/workflows/advanced/hide-actions-from-results) changes which steps appear in the step-by-step **Steps** list. It does not remove variables from **Outputs** here—delete those entries if you no longer want them highlighted.
## Run tab after a successful run
On the **Run** tab, a finished run shows **Inputs** (collapsed by default), **Steps** with each action and status, and **Outputs** when you configured them on **Interface**. **New Run** clears the form and starts fresh. **Copy Results Link** copies a URL to this specific run so others can open the same results (within your [sharing](/workflows/sharing-and-deployment) rules).
Step-by-step from the Run tab: [Run and test a Workflow](/workflows/running-and-testing#run-a-single-workflow).
## Next steps
Run the Workflow and review **Steps**, **Outputs**, **New Run**, and **Copy Results Link** on the Run tab.
Run the same Manual Workflow across a dataset.
Folder permissions, webhooks, and copying links from the Run view.
Triggers, actions, variables, and the Workflow Copilot.
# Overview of Workflows
Source: https://docs.cassidyai.com/workflows/overview
Automate complex, multi-step processes with AI-powered Workflows that save time and boost productivity across your organization.
Workflows in Cassidy let you automate multi-step processes by chaining together triggers, AI actions, and integrations into a single repeatable automation. Instead of performing tasks manually or relying on a back-and-forth conversation, a Workflow runs a defined sequence of steps every time -- producing consistent, reliable results.
## How Workflows work
Every Workflow has two building blocks:
* **Trigger** -- the event that starts the Workflow. This can be a manual form submission, a scheduled time, an incoming [webhook](/integrations/webhooks), an [inbound email](/reference/triggers/email), or an event in a connected app like [Slack](/integrations/slack/overview), [HubSpot](/integrations/hubspot/overview), or [Zendesk](/integrations/zendesk/overview).
* **Actions** -- the steps the Workflow performs after the trigger fires. Actions can generate text with AI, query your [Knowledge Base](/knowledge-base/overview), send emails, update CRM records, create documents, run code, and much more.
You chain actions together by [referencing variables](/workflows/building#reference-variables-between-steps) -- the output of one action becomes the input of the next. This lets you build sophisticated automations without writing any code.
## Key features
* **Template library** -- browse pre-built Workflows for common use cases like sales outreach, customer support triage, and meeting follow-ups, then customize them for your team.
* **Workflow Copilot** -- describe what you want to automate in plain language and Cassidy's AI will generate a complete Workflow for you.
* **Integration support** -- connect Workflows to your existing tools via native integrations, webhooks, or [Zapier](/integrations/zapier/overview).
* **Conditional logic** -- use [Paths](/workflows/building#add-conditional-logic-with-paths) to branch your Workflow based on conditions, routing data to different actions depending on the situation.
* **Structured outputs** -- define [specific output fields](/workflows/advanced/structured-output-fields) so your Workflow produces consistently formatted data you can feed into other systems.
## Ways to run a Workflow
Fill in inputs manually and run a Workflow once to get an immediate result.
Import a CSV or use Smart Import to run a Workflow across an entire dataset at once.
Set a Workflow to run automatically on a recurring schedule.
Trigger Workflows from events in connected tools like Slack, Zendesk, or via webhooks.
You can also [run Workflows directly in chat](/guides/chatting-with-an-agent) or equip an [Agent](/agents/overview) with the [Call Workflow](/agents/call-workflow) capability so it can decide when to run a relevant Workflow during a conversation.
## When to use a Workflow vs an Agent
**Use a Workflow** when you want a predictable, repeatable process -- the same steps run the same way every time. Workflows are ideal for tasks with defined inputs and outputs, like generating reports, enriching CRM records, or processing incoming tickets.
**Use an [Agent](/agents/overview)** when you need a flexible, conversational experience -- where the user asks follow-up questions, explores different angles, or needs the AI to decide what to do next. Agents are ideal for research, Q\&A, and tasks where the path isn't predetermined.
Many teams combine both: an Agent handles the conversation, and when a structured task comes up, it [calls a Workflow](/agents/call-workflow) to handle the heavy lifting.
## Next steps
Create your first Workflow from scratch or from a template.
Learn the different ways to execute and debug your Workflows.
Import datasets and run Workflows in bulk.
Manage permissions and deploy externally.
# Run and test a Workflow
Source: https://docs.cassidyai.com/workflows/running-and-testing
Execute your Workflows manually, on a schedule, or through integrations, and use the testing interface to debug each step.
Once you have [built a Workflow](/workflows/building), there are several ways to run it depending on your use case. You can also use Cassidy's testing interface to validate each step before going live.
## Run a single Workflow
Run a Workflow once with manually entered inputs. This is the usual experience for a [Manual trigger](/reference/triggers/manual); a few other trigger types use the same Run form inside Cassidy.
Builders can change how this page looks and which action results are
highlighted from the **Interface** tab. See [Customize the Workflow run
view](/workflows/interface).
Open the Workflow and click the **Run** tab.
Fill out the form fields defined by the Workflow (text, URLs, files, dropdowns, and so on).
Click the run button (often **Run Workflow**, unless the builder changed the label on the **Interface** tab). The Workflow runs to completion; progress appears under **Steps** as each action finishes.
When the run succeeds, expand **Steps** to inspect every action, and **Outputs** if the builder added highlighted values on the **Interface** tab—see [Customize the Workflow run view](/workflows/interface).
Use **Copy Results Link** to share a link to this run's results. Use **New Run** to clear the form and run again with different inputs.
Check your previous Workflow runs and the credits they consumed by clicking
**View Previous Runs** in the top-right corner of the Workflow details page.
## Schedule a Workflow
Set a Workflow to run automatically on a recurring basis.
When [building your Workflow](/workflows/building#configure-the-trigger), select [**Scheduled**](/reference/triggers/scheduled) as the trigger type.
Set the frequency (e.g., every hour, daily, weekly) and the specific time. The Workflow runs automatically at the configured times without any manual input.
## Run an integrated Workflow
Trigger Workflows automatically from events in your connected tools.
Select an integration trigger, a [Webhook](/integrations/webhooks) trigger, or an [Email](/reference/triggers/email) trigger when building your Workflow. Available integration triggers include:
* [Slack message](/integrations/slack/slack-message-trigger)
* [HubSpot record created](/integrations/hubspot/record-created-trigger) / [updated](/integrations/hubspot/record-updated-trigger)
* [Salesforce record created](/integrations/salesforce/record-created-trigger) / [updated](/integrations/salesforce/record-updated-trigger)
* [Zendesk new ticket](/integrations/zendesk/new-ticket-trigger) / [updated ticket](/integrations/zendesk/updated-ticket-trigger)
* [Gmail new email](/integrations/google-workspace/gmail/new-email-trigger)
* [Outlook new email](/integrations/microsoft-365/outlook-email/new-email-trigger)
* [Google Calendar event](/integrations/google-workspace/google-calendar/new-or-updated-event-trigger)
* [Outlook Calendar event](/integrations/microsoft-365/outlook-calendar/new-calendar-event-trigger)
* [Teams channel message](/integrations/microsoft-365/teams/new-channel-message-trigger) / [chat message](/integrations/microsoft-365/teams/new-chat-message-trigger)
* [Gong call transcript](/integrations/gong/new-call-transcript-trigger)
* [Zapier trigger](/integrations/zapier/zapier-trigger)
* [Meeting ended](/reference/triggers/meeting-ended)
Follow the prompts to authorize and configure the connected app. For webhooks, copy your unique webhook URL and configure your external system to send a POST request to it.
Once configured, the Workflow runs automatically whenever the specified event occurs. Results are logged in **View Previous Runs**.
For more on external deployment, see [sharing and deployment](/workflows/sharing-and-deployment#deploy-externally).
## Run a Workflow in chat
You can execute Workflows directly within Cassidy's chat interface in two ways:
* **Run manually from chat** -- open the Workflows panel in a chat, select a Workflow, fill in the form, and generate results without leaving the conversation. See [chatting with an Agent](/guides/chatting-with-an-agent) for details.
* **Agent calls a Workflow automatically** -- equip an [Agent](/agents/overview) with the [Call Workflow](/agents/call-workflow) capability so it intelligently decides when to run a relevant Workflow during a conversation.
## Test a Workflow
Cassidy's testing interface lets you validate your Workflow step by step before processing live data.
Navigate to your Workflow and click **Edit** in the top-right corner.
Click the **Test Workflow** button in the editor toolbar.
Fill in sample values for your trigger inputs and click **Run Workflow** to execute a full end-to-end test.
For triggers connected to an app (HubSpot, Slack, Google Sheets, and more), you can skip manual entry entirely — see [Test a trigger with sample data](/workflows/testing/test-triggers) to pull in a real recent record instead.
After the run completes, examine the results displayed for each action. Click the edit icon on any action block to jump to its configuration and make adjustments.
### Granular testing options
Once you have run a full test, you can retest individual steps without re-running the entire Workflow:
| Option | What it does | When to use it |
| - | - | - |
| **Retest This Step Only** | Reruns a single action in isolation | Debugging one specific action |
| **Retest From Here** | Runs the current action and everything after it | You changed an action that affects downstream steps |
| **Retest To Here** | Runs all actions up to and including the current one | The later steps work and you don't want to trigger them again |
Click the retest icon on any action block to access these options.
### Test nested actions
Workflows that use [Paths](/workflows/building#add-conditional-logic-with-paths) or Loops contain nested actions. Click into a nested action to access its individual testing options and configuration.
### Skip actions during testing
Some actions -- like sending emails or updating CRM records -- should not run during testing. Click the **...** menu on an action and toggle **Skip During Testing** to prevent it from executing in test runs. A visual indicator appears on the action block.
### Review previous test runs
Click **Previous Runs** in the test panel to see your testing history. You can review the inputs and outputs from each past test run, and click the clipboard icon to copy previous inputs into a new test.
## Next steps
Import datasets and run your Workflow at scale.
Manage permissions and deploy via webhooks.
Use Code Execution & File Creation to generate insights, charts, and reports
from files.
Keep your Workflow running even when individual actions fail.
Show only the most relevant outputs to end users.
# Share and deploy Workflows
Source: https://docs.cassidyai.com/workflows/sharing-and-deployment
Organize Workflows into folders, manage permissions, and deploy externally via webhooks.
Cassidy gives you flexible options for controlling who can access your [Workflows](/workflows/overview), how they are organized, and where they run. This guide covers folder management, permissions, external deployment, and failure notifications.
## Organize Workflows with folders
Folders help your team find Workflows quickly and control access at a group level.
On the **Workflows** page, click **Create a Folder**. Enter a name and choose an access level:
* **Team can edit** -- anyone in your organization can view and edit Workflows in this folder.
* **Team can view** -- anyone can view, but only you and explicitly added people can edit.
* **Restricted** -- only specific people and groups you choose can access the folder.
Drag and drop Workflows from the main list into a folder. You can also move Workflows to the **Private** section to make them visible only to you.
Click the **...** menu on a folder and select **Share**. Change the access type or add/remove specific people and groups. For each person or group, set **Can edit** or **Can view** granular permissions.
## Copy links from the Run view
On the **Run** tab, click the link icon in the header and choose an option:
* **Copy Workflow Link** — Opens this Workflow inside Cassidy (recipients need access).
* **Copy Interface Link** — Opens a focused page to run the Workflow. Layout and labels follow your [Interface](/workflows/interface) settings.
Folder and Workflow permissions still apply.
## Pin a Workflow
Pin a Workflow when you want quick access from the main sidebar and Workflow selectors. Only published Workflows can be pinned.
Open the Workflow's **...** menu and select **Pin to sidebar**. Personal pins are visible only to you.
Admins with the **Customize Pinned Resources** privilege can instead select **Pin for organization**. An organization pin appears for everyone who already has access to the Workflow.
Pinning a Workflow for your organization does not share it. If the Workflow is
private or shared with a limited group, only those people will see the pin.
## Manage permissions from the editor
You can also update a Workflow's location and permissions while editing it.
In the Workflow editor, click the **...** menu and select **Organize & Share Workflow** under **Sharing**.
A modal appears showing your Team and Private sections and any folders within them. Select where to save the Workflow, or create a new folder directly from this modal.
Click **Save** to apply the changes.
## Deploy externally
You can run Cassidy Workflows from outside the platform by using webhook triggers and returning results to your external systems.
When [building your Workflow](/workflows/building#configure-the-trigger), select **Webhook** as the trigger type. Copy the unique webhook URL that Cassidy generates.
Set up your website, app, or automation tool to send a POST request to the webhook URL when the relevant event occurs (e.g., a form submission or a record update).
You have two options for sending results back:
* **Return results from webhook** -- toggle this option in the Webhook trigger settings. The Workflow's output is automatically returned as the HTTP response to the incoming request.
* **Send API Request action** -- add this action at the end of your Workflow to POST results to a specific endpoint in your system. This gives you full control over the URL, method, headers, and body.
You can also trigger Workflows from [Slack](/integrations/slack/overview),
[Zapier](/integrations/zapier/overview), [inbound
email](/reference/triggers/email), or on a schedule -- providing flexibility
in how you integrate Cassidy with your existing stack.
## Set up failure notifications
Stay informed when Workflows encounter errors so you can address issues quickly.
Click your profile in the sidebar, then select **Account Settings**.
In Account Settings, click **Notifications**.
Choose how you want to be notified about failures for Workflows you create:
| Frequency | Description |
| - | - |
| **Daily Summary** | One digest of all failures per day |
| **Hourly Summary** | One digest per hour |
| **Immediate** | Instant notification for every failure |
| **Off** | No notifications |
If you have not chosen a personal setting, Cassidy uses your organization's default. That default starts as **Off** until an admin changes it in Organization Settings under **Notifications** → [Workflow Notifications](/settings/workflow-notifications). Saving a different option here overrides the organization default. You can reset to the organization default at any time.
Click **Save** to apply.
To receive alerts for Workflows you did not create, click **+ Add Subscription**.
Click the **No workflow selected** dropdown and choose the Workflow you want to be notified about. Select a notification frequency and click **Save**.
From the subscriptions list, you can search your active subscriptions, update the notification frequency, or remove subscriptions you no longer need.
You can also subscribe to failure notifications directly from within any Workflow by clicking the **...** menu and selecting **Failure Notifications**.
When a Workflow fails, you receive a **Workflow alert** containing the error details, the affected Workflow name, and an error summary. The notification includes links to **Edit this Workflow** (to fix the issue) and **View Failed Workflow Run** (to inspect the specific run).
## Next steps
Admins can choose the organization-wide default for workflow failure emails.
Control how long Workflow run history is stored.
Securely store API keys and passwords for use in Workflow actions.
Set up teams and roles to streamline Workflow permissions.
Go back to creating and configuring Workflows.
# Test with sample data
Source: https://docs.cassidyai.com/workflows/testing/test-triggers
Pull real records from a connected app to preview trigger fields and test your Workflow before the event actually happens.
Most [triggers](/workflows/building#trigger) only run when something happens in a connected app — a new HubSpot contact, a Slack message, a Google Sheets row. Waiting for one of those events to happen naturally makes it slow to test a Workflow, and you can't see what the real field values look like until it does.
**Test with sample data** solves this. It pulls a handful of recent, real records straight from the connected app so you can test your Workflow immediately — without publishing it and without waiting for a live event.
Sample data is available for most integration triggers (HubSpot, Salesforce,
Slack, Google Sheets, and more) — see [supported
triggers](#supported-triggers) below. It isn't available for the
[Manual](/reference/triggers/manual),
[Scheduled](/reference/triggers/scheduled),
[Email](/reference/triggers/email), [Webhook](/integrations/webhooks), or
[Meeting ended](/reference/triggers/meeting-ended) triggers, since those don't
pull records from a connected app.
## Load sample data
Open your Workflow, click **Edit**, then click **Test Workflow** in the editor toolbar.
If your trigger supports sample data, a **Test with sample data** row appears above the trigger inputs. Click it, or click **Load data**.
If the row is disabled, connect the trigger's app first — a tooltip prompts you to connect your account.
A list of **Recent Events** from the connected app appears. Hover over any event to preview its field values, then click it to select it.
The selected record's values fill in the trigger inputs automatically. Click **Run Workflow** to test every downstream action against real data.
Selecting an event doesn't run your Workflow by itself — it only fills in the
trigger inputs. Review or edit the values before running if you want to test a
specific scenario.
## Sample data respects your trigger's filters
If you've added filter conditions to your trigger — for example, a [HubSpot trigger](/integrations/hubspot/record-created-trigger) that only fires for deals in a specific stage, or a [Slack trigger](/integrations/slack/slack-message-trigger) scoped to one channel — sample data fetching applies those same filters. You'll only see records that would have actually triggered the Workflow, instead of scrolling through unrelated ones.
If no recent record matches your filters, the list shows **No records found**. Try loosening the filter temporarily, or pick a broader trigger event to confirm your Workflow logic before narrowing it back down.
## Discover field values before you build
Hovering over an event in the **Recent Events** list expands a preview of every field on that record, including nested objects and lists — the same fields available to reference in later actions. This makes it easy to find the exact field you need and see what its real API value looks like (a HubSpot lifecycle stage, a Slack user ID, a Google Sheets cell) before you go looking for it in the [variable picker](/workflows/building#variables).
## Supported triggers
Sample data is available for the following integration triggers:
| App | Trigger events |
| - | - |
| [Airtable](/integrations/airtable/workflows) | Record created, updated, deleted |
| [Box](/integrations/box/overview) | New file, new folder, file/folder events |
| [Gmail](/integrations/google-workspace/gmail/new-email-trigger) | New email |
| [Gong](/integrations/gong/new-call-transcript-trigger) | New call transcript |
| [Google Calendar](/integrations/google-workspace/google-calendar/new-or-updated-event-trigger) | New or updated event |
| [Google Drive](/integrations/google-workspace/google-drive/workflows) | New/modified files, folders, comments |
| [Google Sheets](/integrations/google-workspace/google-sheets/workflows) | New row, new updates, new comment, new worksheet |
| [HubSpot](/integrations/hubspot/overview) | Record created, updated (companies, contacts, deals, tickets) |
| [Jira](/integrations/jira/overview) | New issue, updated issue, new event |
| [Monday.com](/integrations/monday/overview) | Item created, updated, deleted; subitem created; update created |
| [Outlook](/integrations/microsoft-365/outlook-email/new-email-trigger) | New email |
| [Outlook Calendar](/integrations/microsoft-365/outlook-calendar/new-calendar-event-trigger) | New or updated event |
| [Salesforce](/integrations/salesforce/overview) | Record created, updated |
| [SharePoint](/integrations/microsoft-365/sharepoint/workflows) | New file, new folder |
| [Slack](/integrations/slack/slack-message-trigger) | New message, new reaction |
| [Smartsheet](/integrations/smartsheet/overview) | New row, updated row, new comment, new attachment |
| [Teams](/integrations/microsoft-365/teams/overview) | New channel message, new chat message |
| [Zendesk](/integrations/zendesk/overview) | New ticket, updated ticket |
Recently loaded events are cached for about a minute per trigger
configuration. If you just created a new record in the connected app and don't
see it yet, wait a moment and click **Load data** again.
## Next steps
Learn about the full testing interface, including retesting individual steps
and skipping actions.
Configure triggers, add filters, and reference data from other steps.
Publish your Workflow once you've tested it with real data.