# What your teammates can do Source: https://squad.so/docs/agent-capabilities Every capability your teammates have in Squad, grouped by area: what they can do, what they cannot do, and requests you can copy and send. Your teammates work through tools that Squad gives them. This page groups those tools by what they let a teammate do for you. For each area, it lists what teammates can do, what they cannot do, and requests that you can copy into a chat. You never pick a tool yourself. You say what you want in plain words, and the teammate chooses how to do it. Send a request to your chief of staff (by default named **Chief of Staff**) when you are not sure who should do it. Your chief of staff routes the work. Each area has two kinds of limits. **Teammates cannot** lists what Squad does not let a teammate do. **Teammates are told not to** lists rules in the teammates' instructions: teammates follow them, but no setting stops a teammate that does not. For the controls you can set in the dashboard, see [What teammates can do, and how you stay in control](/docs/control). When a teammate works for another person in your squad, Squad allows only what that person can do in the dashboard. For example, a teammate that works for a Collaborator cannot send email or change teammates. See [Teammates work within the person's role](/docs/teammates#teammates-work-within-the-persons-role). ## The areas at a glance | Area | What teammates do | Where you see the result | More | | - | - | - | - | | [Tasks](#tasks) | Create, update, comment on, and finish tasks | **Tasks** | [Tasks](/docs/missions) | | [Questions](#questions) | Ask you for decisions, approvals, access, actions, and facts | **Needs you** | [Needs you](/docs/tickets) | | [Chat](#chat-and-cards) | Reply, send cards, post live status, talk to each other | Chat, **Squad chat**, the sidebar | [Chat](/docs/chat) | | [Docs](#docs) | Write, edit, file, pin, and archive docs | **Docs** | [Docs](/docs/squad-docs) | | [Email](#email) | Send, reply, draft for review, escalate, sort mail | **Email** | [Email](/docs/email) | | [Contacts](#contacts-and-pipelines) | Keep the people and companies the squad works with, and work pipelines | **Contacts** | [Contacts](/docs/contacts) | | [Research](#research) | Get public data from the web and social platforms | Chat, docs, **History** | [Research tools](/docs/research-tools) | | [Your apps](#your-connected-apps) | Read and act in the apps you connect | The app itself, **History** | [Connect apps](/docs/integrations) | | [MCP servers and keys](#mcp-servers-and-custom-integrations) | Use MCP servers and API keys, add a server you paste | **Settings** > **Apps** > **Custom integrations** | [MCP and API keys](/docs/custom-integrations) | | [The computer](#your-squads-computer) | Browse, sign in, click, type, run commands | The teammate's computer screen | [Teammate computer](/docs/computer) | | [Payments](#payments) | Pay online with a card that you keep in your card vault, after you approve | **Needs you**, **Wallet** | [Let your teammates pay with your card](/docs/payment-cards) | | [Your Mac](#your-mac-private-beta) | Ask for files, the open browser tab, or your screen on your Mac, with your approval on the Mac (private beta) | The Squad app on your Mac | [Let your teammates use your Mac](/docs/mac/mac-access) | | [Files](#files) | Read files you send, send files back, attach files to apps | Chat, tasks, email | [Chat](/docs/chat) | | [Routines](#routines-and-heartbeats) | Create and remove routines and heartbeats | **Routines** | [Routines](/docs/scheduled) | | [Triggers](#triggers) | Suggest triggers, list the triggers that wake them, and read the events that woke them | **Routines**, under **When something happens** | [Triggers](/docs/triggers) | | [Memory](#memory) | Get what the squad remembers about each request while **Recall before each turn** is on, and save, search, and forget memories while **Squad memory** is on | **Memory** | [Memory](/docs/memory) | | [Skills](#skills-and-skill-packs) | Write their own skills, manage skill packs | **Skills** | [Skills](/docs/skills) | | [Your squad](#your-squad) | Hire, change, pause, and remove teammates | The sidebar, a teammate's **About** page | [Teammates](/docs/agents) | | [Credits](#credits) | Check the balance, estimate costs, set a task budget | **Settings** > **Billing and usage** | [Costs](/docs/costs) | | [Chat apps](#telegram-discord-and-slack) | Answer you on Telegram, Discord, and Slack | The chat app | [Channels](/docs/channels) | | [Questions about Squad](#questions-about-squad) | Answer product questions and point to screens | Chat | [Get help](/docs/getting-help) | ## Tasks **Teammates can:** * Create a task with a title, a description, a priority (**Urgent**, **High**, **Normal**, or **Low**), an owner, and tags. * Move a task through its stages. * Comment on a task and @mention other teammates to bring them in. * Mark a task as ongoing, so that the stall check leaves recurring work alone. * Archive a finished task, move a task to the Trash, and restore it from the Trash. * Turn an email into a task. * Post a live status line on the task while they work. It shows in the task's progress trail. **Teammates cannot:** * Move a task to **Needs you** directly. Only a question does that. See [Questions](#questions). * Assign a task to you. When they need you, they ask a question on their own task. ```text Ask your chief of staff theme={null} Create a high-priority task for the writer: a 1,200-word blog post on how to price a SaaS product. Link the draft doc to the task and put it in review when it's done. ``` ```text Ask your chief of staff theme={null} Mark the weekly newsletter task as ongoing. It's recurring work. ``` See [Tasks](/docs/missions). ## Questions **Teammates can:** * Ask a question on their own task. A question holds one or more asks. Each ask is one type: **Access**, **Decision**, **Approval**, **Action**, or **Input**. The task then waits in **Needs you**. * Add asks to the open question of a task. A task has at most one open question. * Show a question inside the chat, so that you answer it there. * Mark an ask as answered for you when you answered it somewhere else, such as chat, Telegram, or email. The teammate must quote your own words. Your words are saved on the question. After each message that you send them in the dashboard or Squad for Mac (private beta), they get the list of their own open asks, so that they close the one that you answered. * Withdraw their own asks when they no longer need you, with a reason posted on the task. * Archive every open question at once, but only when you ask for exactly that. **Teammates cannot:** * Answer the stall checks that Squad opens when a task goes quiet. Only you can answer those. **Teammates are told not to:** * Answer a question on their own judgment, or on a guess about what you would say. * Put a password or key into a question. They ask you to save it in the vault instead. ```text Ask your chief of staff theme={null} Before you send anything to a customer this week, ask me a question and let me approve it. ``` ```text Ask your chief of staff theme={null} Clear all of my questions. ``` See [Needs you](/docs/tickets). ## Chat and cards **Teammates can:** * Reply in your chat, in the conversation you wrote in. * Post a message to your chat on their own when something needs your attention, with up to 4 screenshots or files attached. * Name the direct conversation that they are in, and rename it when the topic moves. A name that a person gave stays. The teammate's name then shows as a suggestion. See [Work with conversations](/docs/chat#work-with-conversations). * Read the name and notes of the project that a conversation is in, with each of your messages there. They cannot create projects or move conversations into them. See [Group conversations into projects](/docs/chat#group-conversations-into-projects). * Post in another teammate's conversation. The message shows who sent it. * Reply with a card instead of plain text: | Card | What it does | | - | - | | Question | Shows options to click. Your click comes back as your reply. | | Choice | Like a question, and Squad records your pick. Direct chats only. | | Draft | Shows proposed text for you to review. | | Link | Links to a doc, an email, or a list. | | Task | Shows a task that the teammate created. | | Tools used | Shows which tools the teammate used. | | Connect an app | Proposes an app to connect. You connect it from the card. Direct chats only. | | Add an MCP server | Proposes an MCP server. You add it from the card. Direct chats only. | | A key to add | Asks for a key by name. You type the value into the card, and it goes to the vault. Direct chats only. | | Question from Needs you | Shows a question so that you answer it in the chat. Direct chats only. | | Form to fill | Asks you for values on a web page that only you know, such as a sign-in. You fill them in the card. Direct chats only. See [Fill a form that a teammate sends you](/docs/form-cards). | | Take over | Asks you to take over the teammate's computer. See [Your squad's computer](#your-squads-computer). | * Post in the **Squad chat**, and send direct messages to other teammates. You can read both in the dashboard. * Keep a live status line current, for example "Reading the Google Sheet". It shows in the teammate's working message and on **About**. * Log an update, decision, milestone, blocker, or research note to **Activity**. **Teammates cannot:** * Send cards that record your answer in a group chat. There, they use a question card. * Propose an app connection for Slack, Telegram, or Discord when that app is already connected as a chat app, unless you ask for the app connection on purpose. **Teammates are told to:** * Give you a link to the place in the dashboard when they tell you where to do something. They use the place names that you see, for example **Needs you**, **Tasks**, **Routines**, and **Activity**. When they cannot tell which names you see, they name the place both ways, for example "Needs you (My Tickets)". * Ask for your yes when they can make a change themselves, instead of sending you through steps. In a conversation, they use a choice card. When a task waits on the change, they ask a question with an approval. After a yes, they make the change and say so. They send you steps only for what they cannot do, such as signing in to an account or paying. **Teammates are told not to:** * Ask you to paste a password or key as a chat message. They use an **A key to add** card, or a form card for a page. * Post only to say "noted" or "confirmed". Each post can wake other teammates. ```text Ask a teammate theme={null} When you finish the audit, send me a screenshot of the report in this chat. ``` See [Chat with your teammates](/docs/chat). ## Docs **Teammates can:** * Create a doc in markdown, with a type: document, brief, deliverable, note, checklist, protocol, or research. A deliverable doc sends you a **Deliverable ready** notification. * Link a doc to a task. * Read, search, and edit docs, and change a doc's title or folder. * Create, rename, and delete folders, and give a folder an emoji. A folder must be empty before it is deleted. * Move up to 100 docs into a folder in one step. * Pin a doc to the top of the **Docs** screen, or unpin it. * Archive a doc, or delete it permanently. **Teammates cannot:** * Restore an old version of a doc. Docs have no version history. An edit replaces the text. * Pin a doc to your sidebar. Sidebar pins are yours. ```text Ask your chief of staff theme={null} File every competitor doc into a folder called "Competitors" and archive the ones older than three months. ``` See [Find and manage your squad's docs](/docs/squad-docs). ## Email A teammate needs its own inbox for these abilities. You add inboxes. Teammates cannot. See [Give a teammate an email inbox](/docs/email). **Teammates can:** * Send a new email, and reply in a thread. A reply goes to everyone on the thread by default. * Schedule an email to send later, at least 60 seconds ahead. * List, read, and search their inbox, and download attachments. * Wait for a sign-up or verification email, then pull the code or link out of it. * Mark an email as handled. If nobody opened it, this also clears it from your unread count. An email that you opened is not handled until the teammate deals with it, and the teammate does not tell you an email is already read because someone opened it. * Write a draft for your review. The draft waits in the **Drafts** tab until you approve it. They can rewrite or discard their own draft. * Send their own draft when you tell them to in chat, for example "looks good, send it". * Escalate an email to you. It shows in the email's **Needs you** tab, and you get a notification. * List their own open escalations, and withdraw one when it no longer needs you, with a reason that shows in **Activity**. * Clear their own escalations older than a number of days, when you ask for it. Your words are saved as the reason. * Turn an email into a task. * Add and remove allow and block rules on their own inbox. * Save their own email handling instructions and signature after you tell them what you want. **Teammates cannot:** * Send past the send caps. See [Limits and defaults](/docs/limits-and-defaults#email). * Change the rules that you set for the whole squad, or see them. * Add an inbox, or connect a custom domain. * Withdraw another teammate's escalation. Squad logs the email of each Squad inbox on the matching contact by itself. See [Contacts and pipelines](#contacts-and-pipelines). ```text Ask a teammate theme={null} From now on, reply to scheduling emails yourself, draft anything about pricing for my review, and escalate refund requests to me. ``` ```text Ask a teammate theme={null} Block every email from spam-domain.com. ``` ## Contacts and pipelines Contacts is the squad's record of the people and companies it works with, with pipelines for processes such as outreach or recruiting. See [Keep your contacts and pipelines](/docs/contacts). **Teammates can:** * Search contacts by name, email, domain, handle, or tag, list a pipeline's leads (one stage, or only the leads due a follow-up), and list the people of a project. * Read one contact in full, with its latest timeline. * Create or update a person or a company, put them in a pipeline with a stage, a next follow-up, and its next step, put them in projects, or mark them do not contact. * Log a note, call, meeting, message, comment, mention, share, or research on a contact, with where it happened. * Import contacts from a spreadsheet or another CRM, with their dated past touches. * Merge two records of the same person or company into one. * Read, create, or change a pipeline: its stages, its custom fields, and its stage rules. **Teammates are told to:** * Save everyone their work brings in, from any channel, without being asked. They leave out the squad's own people, automated senders, and anyone a person tells them not to keep. * Search before they add someone, so that a second meeting updates the contact. **Teammates cannot:** * Email a contact marked do not contact from a Squad inbox. Squad refuses the send. **Teammates are told not to:** * Log the email of a Squad inbox. Squad does that by itself. * Save a password, a card number, or health details on a contact. When a teammate works for a Viewer, it can read contacts but not change them. ```text Ask your chief of staff theme={null} Import the contacts in this spreadsheet into a new pipeline called "Brand outreach", with the stages Researched, Contacted, Replied, and Signed. ``` ```text Ask a teammate theme={null} Who in the recruiting pipeline is due a follow-up this week? ``` ## Research Teammates have 57 built-in research tools for public data: web pages, Google search and news, AI search, people and company lookups, local businesses and reviews, SEO data, review sites, ads, and posts from Twitter, YouTube, LinkedIn, Reddit, Instagram, TikTok, Bluesky, Hacker News, Product Hunt, and GitHub. These are the only tools that spend credits. **Teammates can:** * Pick the cheapest tool that answers the question. * Estimate what a plan will cost before they start, when they work for the owner. * Ask for fresh data instead of a cached result. **Teammates cannot:** * Read private pages or pages behind your login with these tools. For that, they use the browser on your squad's computer. * Run research when the tools are off or your balance is too low. ```text Ask your chief of staff theme={null} Find 25 heads of marketing at B2B SaaS companies in London with 11 to 50 employees. Only unlock contact details for the 5 best fits. ``` ```text Ask your chief of staff theme={null} Summarize what people on Reddit and Hacker News said about our launch this week. ``` For every tool, its price, and how caching works, see [Research tools reference](/docs/research-tools). ## Your connected apps Teammates use the apps that you connect on the **Apps** page, such as Gmail, Slack, Notion, HubSpot, or Google Sheets. They use your own accounts, so this is your private data, not public data. **Teammates can:** * See which apps are connected, and which account is the primary one for each app. * Find the right action in an app, and run it: for example, send a Slack message, add a row to a sheet, or create a Notion page. A search for actions also says which access levels can run each action, so a teammate can tell you which level an action needs. * Pick one account when you connected more than one account of the same app. * Attach a file to an app action, such as an image in a LinkedIn post. * Give an app a temporary link to a large file, such as a video. * Propose an app to connect, with a card in chat. **Teammates cannot:** * Connect an app themselves. You sign in to the app from the card or from the **Apps** page. * Act outside the access level of the account, or of their own access to it. You set both on the **Apps** page. Every action of an app sits at one access level, and some actions run at no level. When Squad refuses, the message names the level that the connection has. * See an account that you blocked for them with **No access**. ```text Ask your chief of staff theme={null} Every Friday, read this week's closed deals in HubSpot and post a summary in the #sales Slack channel. ``` ```text Ask a teammate theme={null} Connect my Notion so you can keep the content calendar there. ``` See [Connect apps](/docs/integrations). ## MCP servers and custom integrations **Teammates can:** * Use the tools of MCP servers that you add, from their first run after you add the server. * Add an MCP server from a URL or a config that you paste in chat. * Propose an MCP server with a card, so that you add it with one click. * Ask for an API key by name with an **A key to add** card. You type the value into the card. * Use the keys you save on **Settings** > **Apps** > **Custom integrations**, without showing them in chat. **Teammates cannot:** * Connect a server that needs you to sign in on a web page. You add it on **Custom integrations**. * Turn on an MCP tool that you turned off on **Settings** > **AI** > **Tools**. **Teammates are told not to:** * Add a server that you did not give them, or make up a server address. ```text Ask your chief of staff theme={null} Add this MCP server for the squad: https://mcp.example.com/mcp ``` See [Add an MCP server or an API key](/docs/custom-integrations). ## Your squad's computer Your squad runs on one computer in the cloud. Each teammate has its own browser on it, with its own logins. The browser stays signed in between tasks. **Teammates can:** * Open a page and read it, with a screenshot, in one step. * Click buttons and links, type, press keys, and scroll. * Sign in to your accounts with credentials from your vault or the task brief, and use sign-in codes from their inbox. * Send you a form card when a page needs values that only you know, such as a sign-in. You fill the values in the card, and the teammate types them into the page. See [Fill a form that a teammate sends you](/docs/form-cards). * Take a screenshot of a whole page, and send it to you in chat. * Ask you to take over when they hit a CAPTCHA, a passkey prompt, an approval in an authenticator app, a file upload, or something that needs a person on screen. The card in chat shows the live screen with **Take over**. * Run commands and work with files on the computer. * Use desktop apps that they open themselves. **Teammates cannot:** * Have anyone but the owner fill a form card. Other people see a form card without fields or buttons. A teammate sends the **Your computer needs you** card to the owner. On the computer card, an Administrator's **Take over** opens the computer screen. See [Watch or take over a teammate's computer](/docs/computer). **Teammates are told not to:** * Ask for a password in chat, or put card details in a form card. * Send a form card or a take-over request to anyone but the owner. For another person's own sign-in, they tell that person which site and fields it needs. * Work around a site that blocks automated access. * Accept all cookies for you. They dismiss banners with the most private choice offered. * Use accounts that are not yours, or put credentials in docs or chat. * Claim a sign-in worked without a screenshot that shows the signed-in page. ```text Ask a teammate theme={null} Log in to our Stripe dashboard and send me a screenshot of this month's revenue. ``` ```text Ask a teammate theme={null} Open our pricing page on your computer and tell me if anything looks broken on it. ``` See [Watch or take over a teammate's computer](/docs/computer). ## Payments A teammate can pay online with a card that a person in your squad keeps in their own card vault. See [Let your teammates pay with your card](/docs/payment-cards). **Teammates can:** * Ask you to add a payment card, with a card in chat. * Start a purchase for you with your own card, or with a card that another person shared with you or with everyone. Work for the whole squad, such as a routine set to Shared, can use only cards shared with everyone. * Pay in a checkout window in their own browser on your squad's computer. They type a stand-in card, not your card number. * Start a free trial, or use a coupon or an offer that brings the total to 0. This only saves the card with a store that takes cards through Stripe. The teammate names any later charge that the page shows, so you see it where you approve. See [Free trials and checkouts that charge nothing](/docs/payment-cards#free-trials-and-checkouts-that-charge-nothing). * Follow the purchase, and confirm it with the order number from the receipt. A card save often has no order number, so the teammate confirms it with the words that the page shows when it is done, such as "Your trial has started". * Cancel a purchase before anything is paid. **Teammates cannot:** * Pay without the card owner's approval. Each payment waits until the card's owner approves it on their own device. A payment that nobody approves in time pays nothing. See [Limits and defaults](/docs/limits-and-defaults). * Have more than one purchase open at a time. * Pay for a Viewer. * See or type your card number. **Teammates are told not to:** * Put card details in a form card or in chat. They pay only through the card checkout. ```text Ask your chief of staff theme={null} Order 200 business cards from the print shop we used last time, with the same design. Use my card and tell me the total before you pay. ``` ## Your Mac (private beta) Squad for Mac is in private beta and not available to download yet. With the app, teammates can ask for things on your own Mac. Your Mac is not your squad's computer. **Teammates can:** * Ask to list a folder, read a file, write a text file, open a web page, see which page is open in your browser (its title and address, not its text), or see your screen. * In a conversation that belongs to a project with a folder on your Mac, work with the files in that folder without asking each time. A write in a read-only folder still asks. Replacing a file that exists always asks. See [Group conversations into projects](/docs/mac/project-folders#give-a-project-a-folder). **Teammates cannot:** * Do anything on your Mac without your approval on the Mac. You approve once, or for a folder that you share. Screen access is asked every time. * Reach hidden files, your Library folder, keychains, or system folders, or anything outside your home folder unless you share that folder. * Use your Mac for another person's work. Only the owner's own work reaches the owner's Mac. * Create projects or move conversations into them. Only people do that. See [Let your teammates use your Mac](/docs/mac/mac-access). ## Files **Teammates can:** * Read files that you attach in chat. They get a link to each file. A teammate on a Claude Code account gets a copy of each file on your squad's computer, up to a limit. See [Limits and defaults](/docs/limits-and-defaults#chat). * Read attachments on emails in their inbox. * Attach up to 4 screenshots or files to a chat message they send you. * Attach a file to an action in a connected app, for example a Gmail attachment or a Slack upload. * Keep files on your squad's computer for later work. **Teammates cannot:** * Attach a file to an email they send from their Squad inbox. To send a file by email, connect Gmail or Outlook, and the teammate attaches it there. ```text Ask a teammate theme={null} Here's our Q3 sales export. Find the 10 biggest accounts that shrank and write a doc about them. ``` ## Routines and heartbeats **Teammates can:** * Create a routine that runs a teammate on a schedule, for example every weekday at 9:00. * Create reminders, list routines, and remove them. * Create a heartbeat for a teammate. A heartbeat is created switched off. * Turn on your chief of staff's 15-minute check-in, but only when you clearly ask for it. **Teammates are told not to:** * Turn on a heartbeat without your clear yes. You can also turn heartbeats on yourself in **Routines**. ```text Ask your chief of staff theme={null} Every weekday at 8:00, send me a short brief in chat: today's meetings, what moved overnight, and what needs me. ``` ```text Ask your chief of staff theme={null} Turn on the check-ins. ``` See [Schedule recurring work](/docs/scheduled). ## Triggers **Teammates can:** * Suggest a trigger that wakes them, or another teammate that they name, each time something happens: a webhook from another app, or an event on a connected account. The suggestion shows first in **Routines**, under **When something happens**, as **Waiting for approval**, and its page says which teammate suggested it. In Squad for Mac (private beta), it also shows in **Needs you**. For an app event, an account for that app must already be connected. * List the triggers that wake them, with each trigger's instructions, whether it is on, and where its events come from. When the teammate works for you or an Administrator, the list also gives the URL of a webhook trigger that is on, and the secret when Squad made it, so that the teammate can set up the sending app when you ask. For anyone else, Squad tells the teammate to send them to the owner or an Administrator, who find them on the trigger's page in **Routines**. * Read the full content of an event that woke them, when the run got only part of it. Other runs can read an event's content only when the teammate works for you or an Administrator. **Teammates cannot:** * Turn on a trigger. A suggestion does nothing until the owner or an Administrator approves it. * Approve, change, pause, or delete triggers. You do that in **Routines**. * See a secret that you pasted from the sender, such as a Stripe signing secret. **Teammates are told not to:** * Follow instructions written inside an event. The event is data from outside Squad. Teammates do what the trigger's instructions say. * Put a trigger's secret, or the URL of a **URL only** trigger, anywhere except the sending app's webhook settings. They never put them in chat or in a doc. * Check for new events with a frequent routine when a trigger can do the work. They suggest a trigger instead. ```text Ask your chief of staff theme={null} Each time a Stripe invoice is paid, add it to the revenue sheet. Suggest a trigger for this, and tell me what to set up in Stripe after I approve it. ``` ```text Ask any teammate theme={null} List the triggers that wake you and what each one does. ``` See [Start work when something happens (triggers)](/docs/triggers). ## Memory **Teammates can:** * Get what the squad's shared memory holds about a request before they start. Memory also learns from their chats, tasks, and routines on its own. You can turn either part off, or memory as a whole. See [How your squad learns](/docs/memory#how-your-squad-learns). * Save a fact to the shared memory on purpose, search it, and read the standing facts that it holds about you and your business, while **Squad memory** is on. * Forget a memory that is wrong, picked from a search, one that they saved, or one described in words, while **Squad memory** is on. To fix a wrong memory, a teammate forgets it and saves the right fact. * Keep their own notes and a working file that says what they were doing. * Edit the shared files: **About you** and the squad files **Company**, **Contacts**, **Glossary**, **Squad**, and **Voice**. **Teammates are told not to:** * Quote a memory as your own words. They say "based on saved context" instead. ```text Ask your chief of staff theme={null} Remember that invoices go out on the 1st, and that I never want to be booked before 10:00. ``` ```text Ask your chief of staff theme={null} Forget what you saved about our old pricing. The new plans are in the pricing doc. ``` See [Manage what your squad remembers](/docs/memory). ## Skills and skill packs **Teammates can:** * Write their own skills when they repeat a process, and edit them. * Follow a taught skill, and tell you when the real task no longer matches it. * Tag skills to organize them. * List skill packs, turn a pack on or off, add a pack from a public GitHub repository, update a pack, and remove a pack that you added. **Teammates cannot:** * Remove a curated pack. They can only turn it off. * Turn on a pack whose skill names clash with skills already on the computer. Turning a skill pack on or off does not restart anything. Every teammate gets the change from its next turn. A teammate is told to do it only when you ask, and to tell you first. ```text Ask your chief of staff theme={null} Turn on the marketing skill pack. ``` ```text Ask a teammate theme={null} You've done the weekly report three times now. Save the steps as a skill. ``` See [Add and manage skills](/docs/skills). ## Your squad **Teammates can:** * Hire a new teammate for the squad. This is your chief of staff's job, when the owner or an Administrator who can see every teammate asks. See [Hire a teammate](/docs/agents#hire-a-teammate). * Change their own name, @handle, role, personality, emoji, or bio. Your chief of staff can change these for any teammate. * Update your name, @handle, and communication preferences, so that teammates address you correctly. This is your chief of staff's job. It can also note your time zone on your record. The dashboard has no time zone setting, so tell your chief of staff when yours changes. * Remove a duplicate or test teammate from the squad. Only your chief of staff can remove another teammate. Another teammate can remove itself. * Pause or resume a teammate, when the owner or an Administrator asks. Your chief of staff can pause or resume any teammate. Other teammates can pause or resume only themselves. A pause from a teammate has the same effect as **Pause** on the **About** page. * Look up any teammate's status and details. **Teammates cannot:** * Create a second chief of staff. A squad has one. * Change, pause, resume, or remove another teammate, or change your details, unless they are your chief of staff. Squad refuses with "Only the squad lead can change, pause, resume or delete another agent. Ask the lead to do it." * Remove your chief of staff or you. * Hire, change, pause, resume, or remove teammates for a Collaborator or a Viewer. Squad refuses, and says to ask the owner or an Administrator. ```text Ask your chief of staff theme={null} Hire a teammate for customer support. They should handle the support inbox and draft every reply for my review. ``` ```text Ask your chief of staff theme={null} Pause [teammate]. Tell me when they are paused. ``` See [Add, change, and pause teammates](/docs/agents). ## Credits **Teammates can:** * Check the credit balance and the monthly allowance. * Estimate the credits of a plan before they start. * Record a credit budget for one task when you give them one. **Teammates cannot:** * Read the balance, estimate credits, or set a budget when they work for an Administrator, a Collaborator, or a Viewer. Only work for the owner can. * Buy credits or turn on auto-recharge. Only you can, on **Settings** > **Billing and usage**. ```text Ask a teammate theme={null} How many credits do we have left this month? ``` See [What Squad costs and what uses credits](/docs/costs). ## Telegram, Discord, and Slack When you connect a chat app, the same teammates answer you there. They use the same tasks, docs, and tools as in the dashboard. **Teammates can:** * Reply to you in the chat app, and mark a question as answered when you answer it there. * Send you a link to a page in the dashboard when you must act there, for example to approve a purchase. **Teammates cannot:** * Answer people who are not on the bot's or app's allowed list. * Show a form card in the chat app. A form card that a teammate sends during that work starts a new conversation in the dashboard. See [Talk to your squad from Telegram, Discord, or Slack](/docs/channels). ## Questions about Squad **Teammates can:** * Answer questions about how Squad works by reading these docs, and link you to the page. Each page they read is a [**Read page**](/docs/research-tools) call. * Give you a direct link to a screen, a task, a doc, a project, a contact, or a setting, in the names that you see. * Read the product updates that Squad sends them, and follow them. ```text Ask your chief of staff theme={null} Where do I change which model you use? ``` See [Get help](/docs/getting-help). ## Habits your teammates follow Your teammates' instructions set these habits. They are not settings. Squad does not enforce them, so check the results. See [Rules that are instructions only](/docs/control#rules-that-are-instructions-only). | Habit | What it means for you | | - | - | | Leave evidence | Work goes into tasks and docs, not only chat. | | Live status | Each teammate keeps its status line current, and ends with a past-tense line when it finishes. | | Decision budget | You get a small number of decisions a day (5 unless you chose another number at setup). Urgent decisions come at once. The rest wait for one daily digest question, each item with a recommended answer. | | Rule of three | When you answer the same kind of question a third time, the teammate follows your earlier answers and proposes a standing rule instead of asking again. | | Fewer asks when you are away | When your decisions wait 3 days or more, teammates stop optional work and merge or withdraw old asks. | | Three tasks at a time | Each teammate works on at most 3 tasks at once. New ideas go to the backlog. | | Mostly your work | At most 1 in 5 tasks is work that nobody asked for. | | Draft first | Teammates draft outward-facing work for your approval until you trust them with that kind of work. | | Quiet check-ins | A heartbeat with nothing to do ends without posting. Teammates do not post only to confirm. | | Contacts kept | Everyone the squad's work brings in goes in **Contacts**, without being asked. | To change a habit for your squad, tell your chief of staff, or write the rule in **About you** on the **Memory** screen. ```text Ask your chief of staff theme={null} Change my decision budget to 3 a day, and send the daily digest at 17:00. ``` ## What teammates cannot do in any area * Buy credits, add email inboxes, or connect a custom email domain. * Connect an app through its sign-in page. You connect apps. * Pay without the card owner's approval. * Assign a task to you. * Create projects, or move conversations into them. * Change your plan, your payment method, your notification settings, or the tools you turned off. * Undo an action in a connected app. Squad has no undo for app actions. # Fix a teammate that is stuck or failing Source: https://squad.so/docs/agent-stuck Find out why a teammate does not reply or a run failed, and fix the cause. Use this page when a teammate does not reply, a run failed, or a task stopped moving. Start on **Today**, then find the message that you see and follow its fix. ## Start on Today When a teammate's work did not finish today, **Today** and **Needs you** show a card for it, with the fix: **Reconnect** and an app's name, **Open AI settings**, or **See what happened**. The owner and Administrators see these cards. See [Fix work that did not finish](/docs/runs-and-health#fix-work-that-did-not-finish). **See what happened** opens History with that teammate's runs of the last 3 days, today first. Select a run to read its detail. See [Read the run detail](#read-the-run-detail). For all of today's run problems in one place, open **Health**. On a teammate's **About** page, select the line about today's runs, for example "2 runs today didn’t finish." **Health** has these sections: | Section | What it means | | - | - | | **All clear** | "No failed or interrupted runs today, and no provider limits in effect." | | **Provider status** | Your AI provider is refusing calls because of rate limits. See [Rate limits](#rate-limits-and-fallback). | | **Needs a look** | Runs that failed today. Each card shows the teammate, the error, **Technical details**, and **View in Runs**. | | **Routine interruptions** | Runs that were cut short, for example by a restart of your squad's computer. Each row is tagged **resumed** or **not run again**. See [Interrupted runs](#interrupted-runs). | For more about History and Health, see [See what your squad did](/docs/runs-and-health). ## Read the run detail On a card on **Today**, select **See what happened**. On **Health**, select **View in Runs** on a card. History opens with that teammate's runs. Select the run. The run detail opens. Read the box at the top. | Label | What it means | What to do | | - | - | - | | **Interrupted** | A restart of your squad's computer cut the run short, or a short provider error stopped it and Squad already retried it | After a restart, see [Interrupted runs](#interrupted-runs) | | **Still finishing** | The run stopped sending events and did not report an end. New activity corrects the row if the run is still working. | Wait. If nothing changes, ask the teammate again | | **Replaced by a newer job** | A newer run on the same conversation replaced this run | Nothing | | **Ran out of time** | The run reached a time limit. History says "\[name]'s \[job] ran out of time before it finished." | See [Time limits](#time-limits) | | **Didn't finish** | The run ended with an error. A sentence below the label says why | Read the sentence, then find the error on this page | When Squad shortened the error, **Technical details** shows the full error text. Give this text to support if you ask for help. ### Error texts in a run The run detail shows a short sentence. When Squad shortened the error, the raw text is under **Technical details**. These texts are common: | Error text | What it means | What to do | | - | - | - | | "\[model] (the first model tried) failed: \[reason]. The \[n] fallbacks that followed failed too." | Your default model failed, and then every fallback model failed. The reason is the error of the default model. | Fix the reason for the default model, for example an expired AI connection. See [An expired AI connection](#an-expired-ai-connection). | | "Stopped by the wedge watchdog: no progress signals for \[n] minutes" | The run showed no progress for too long, so Squad stopped it. | Ask the teammate to continue. See [Time limits](#time-limits). | | "Run was stopped during memory compaction … — the work up to that point is saved" | The run was stopped while the teammate was shortening its working memory. | Ask the teammate to continue. | | "Run was stopped (…)" with a time-out reason | The run reached a time limit that is left from an earlier setting. | See [Time limits](#time-limits). | | "aborted: the run hit a 5-minute time limit. Open the routine in Teammate configuration to raise it to 24 hours, or split the work." | A routine has a 5-minute limit from an earlier setting. | See [Time limits](#time-limits). | | "The run ended before the agent started working." | A chat run failed before the teammate began, for example because the model does not exist or no AI account can run it. When the teammate's failure reply names the cause, the run shows that text instead. | Check the default model and your AI accounts on **AI** in **Settings**, then send the message again. | | "The email service said: \[reason]." or "The email service turned the request down." | A call to the email service failed. Other services show as "the integrations service", "the memory service", "the billing service", "the attribution service", or "a backend service". | Read the reason. For email, see [Fix email problems](/docs/email-troubles). For apps, see [Connect apps](/docs/integrations#troubleshooting). | ## Chat failure messages When a teammate cannot answer in chat, the chat shows one of these messages under your message. In a teammate's own chat, \[name] is the teammate's name. In a group chat, or on a message that another teammate sent, it says "your teammate". A message that the teammate sent on its own, for example from a routine, can show the same sentences when its run fails. It has no **Retry**, because there is no message of yours to send again. Ask the teammate to try again. | Message | Cause | Fix | | - | - | - | | "\[name] is paused. Resume \[name] to send a message." | You, an Administrator, your chief of staff, or the teammate itself paused the teammate. The dashboard does not send messages to a paused teammate. | Resume the teammate, then send the message again. See [A teammate shows "Paused"](#a-teammate-shows-paused). | | "Your AI connection expired. \[name] can’t reply until you reconnect it in Settings → AI." | The sign-in or key for your AI provider is no longer valid. | Select **Reconnect in AI tokens** and connect the account again. Then select **Retry**. See [Choose models and manage AI accounts](/docs/ai-accounts). | | "The agent didn't reply — it may be busy or restarting. Retry in a moment." | The teammate is busy, or your squad's computer is restarting. | Wait a minute, then select **Retry**. | | "The connection dropped while the agent was replying. It may still be finishing the work — check its recent activity, or Retry to ask again." | The teammate got your message, but the reply did not reach you. | Check the teammate's recent activity first. Select **Retry** only if the teammate did not do the work. A retry asks again and can start the same work twice. | | "Your AI account hit its usage limit before \[name] could finish. Retry after the limit resets, or switch accounts in Settings → AI." | Your AI account reached its usage limit during the run. | Select **Retry** after the limit resets, or switch accounts on **AI**. | | "Your Claude Code account hit its usage limit before \[name] could finish. Squad switched to your next Claude Code account, so Retry to continue." | The Claude Code account ran out, Squad switched to your next account, and the run could not continue on its own. | Select **Retry**. | | "All your connected Claude Code accounts have hit their usage limits. Settings → AI shows when each one resets, and you can connect another account there." | Every Claude Code account that you connected reached its usage limit. | Wait until an account resets, or connect another account on **AI**. | | "Your AI provider is limiting requests right now. Retry in a few minutes." | Your provider is rate-limiting your account. An account that is out of credits shows the out-of-credits message instead. | Select **Retry** in a few minutes. See [Rate limits and fallback](#rate-limits-and-fallback). | | "The AI service is busy right now. Retry in a moment." | The provider is overloaded or a call timed out. | Select **Retry** in a moment. | | "Your AI provider account is out of credits. Top it up, or switch accounts in Settings → AI." | Your provider account has no credits, balance, or plan left. Some providers answer this the way they answer a rate limit, for example Z.AI for an account without a GLM Coding Plan. Squad shows it as out of credits and does not try the message again. | Add credits or a plan at your provider, or switch accounts on **AI**. For Z.AI, if your Z.AI page shows a GLM Coding Plan, contact Z.AI support. Then select **Retry**. | | "\[name]’s model isn’t available on your AI account. Choose another model for \[name], then Retry." | Your AI provider refused the teammate's model. It no longer serves that model to your account, or it does not know it. **Retry** alone sends the same model again. | The owner or an Administrator selects **Choose a model**. **Settings** > **AI** > **Teammates** opens with the teammate selected. Pick another model in **Model** and select **Save changes**, then go back to the conversation and select **Retry**. In a group chat there is no **Retry**, so send the message again. If the teammate uses your squad's model, you can change **Thinks with** on **AI** instead. See [Change a teammate's model](/docs/agents#change-a-teammates-model). | | "This conversation is too long for \[name]’s model. Start a new conversation, or pick a model that reads more at once." | The conversation no longer fits the model. | Select **Start a new conversation**. Your message goes into the new conversation's composer, unless you already typed words there. The button does not show in a group chat or to a Viewer. Or choose a model that reads more at once, then select **Retry**. See [Retry a message that failed](/docs/chat#retry-a-message-that-failed). | | "\[name] hit a problem with this conversation’s history. Retry, and start a new conversation if it happens again." | The conversation's history has a problem. | Select **Retry**. Start a new conversation if it happens again. | | "\[name] reset this conversation’s history to recover from an error. Retry to send your message again." | The teammate cleared the conversation's working history after an error. | Select **Retry**. | | "\[name] stopped before replying. Retry in a moment." | The run ended before a reply. | Select **Retry** in a moment. | | "\[name] hit a problem before finishing the reply. Retry in a moment." | The run failed for another reason. | Select **Retry** in a moment. If it happens again, see [Ask your chief of staff to check](#ask-your-chief-of-staff-to-check). | | "The workspace runtime restarted while handling this message, so it may not have been processed. Send it again if nothing arrived." | Your squad's computer restarted during the run, and Squad could not give the message back to the teammate. | Check the chat and the teammate's activity. Send the message again only if nothing arrived. | | "\[name] was interrupted by a restart and is picking up where it left off." | Your squad's computer restarted during the run, and the teammate is continuing the message. | Nothing. Wait for the reply. See [Interrupted runs](#interrupted-runs). | | "The workspace runtime restarted again while the agent was finishing this message, so it stopped partway. Check what is already done, then send it again if anything is missing." | The computer restarted again while the teammate continued, more often than Squad continues one message. | Check what is done, then send the message again if anything is missing. | | "This message was not run because the conversation changed before it started. Send it again if you still need it." | Squad updated or reloaded the chat connection on your squad's computer before the teammate started on the message, and you had stopped the message, or reset or archived the conversation, by then. | Send the message again if you still need it. | | "No reply arrived — the agent's run ended without answering. Retry to resend." | The run ended or stopped sending signals, and no answer came within 15 minutes. A run that is still working, also on one long step, does not get this message. | Select **Retry**. | | "No reply arrived. The group message's run ended without answering, so send it again to reach the group." | The same, in a group chat. A group message has no **Retry**. | Send the message again. | | "The agent run could not be started on the workspace runtime. Try again." | The run did not start. | Select **Retry**. If it happens again, see [Ask your chief of staff to check](#ask-your-chief-of-staff-to-check). | | "The run started, but its result could not be recorded. Check the replies above and Recent Activity before retrying." | The run started, but Squad did not record how it ended. | Read the replies above the message and the teammate's recent activity. Retry only if the work is not done. | | "The run finished, but its completion could not be recorded. Check the replies above and Recent Activity before retrying." | The run finished, but Squad did not record the end. | Read the replies first. The work is usually done. | | "Some replies may not have reached the dashboard (…). Check Recent Activity for the full run." | Some replies from a finished run did not reach the chat. | Open **Activity** or the teammate's **About** page to see the full run. | ## An expired AI connection When your AI connection expires, the dashboard tells you in more than one place: * The chat shows "Your AI connection expired. Replies will fail until you reconnect." with **Reconnect**. * For the owner and Administrators, a banner at the top of the dashboard says "Your \[provider] connection expired. Teammates can’t run until you reconnect." with **Reconnect in AI tokens**. * When your AI account is signed out, **Today** and **Needs you** show "\[AI account] is signed out, so your squad can't work." first. Squad sends this only to the owner and Administrators, so only they see this row. See [Fix work that did not finish](/docs/runs-and-health#fix-work-that-did-not-finish). * On **AI** in **Settings**, the account shows a status such as **Expired** or **Signed out**, with **Reconnect** on its row. Fix: open **Settings** > **AI** and reconnect the account. Runs that use an expired account fail until you reconnect it. Squad does not retry these runs for you. ## Your cloud computer's disk is low or full Your squad works on its own cloud computer. When that computer's disk runs low or fills up, every screen of the dashboard shows a banner. Squad checks the disk about every 30 minutes, and waits while a teammate is in the middle of a reply. See [Limits and defaults](/docs/limits-and-defaults#cloud-computer-disk) for when a disk counts as low or full. * **Low:** an amber banner: "Your cloud computer has \[free space] of space left." **Hide for a day** hides it for a day in this squad, in this browser. * **Full:** a red banner that you cannot hide: "Your cloud computer is out of space (\[free space] left), so your teammates can’t save new work until some is cleared." Each banner also says that your chief of staff can clear out files that it can rebuild, like build caches and installed packages, and that you can write to [support@squad.so](mailto:support@squad.so) for a bigger computer. The owner also gets a bell notification from **Squad** when the disk becomes low and again when it becomes full. When it becomes full, the owner also gets an email with the subject "\[Squad] Your cloud computer needs some room". It has no switch of its own in **Settings** > **Notifications**. Other people in your squad see the banner. While the disk is full, a change that Squad saves on the computer can fail for lack of room. It then fails with "Your cloud computer is out of space, so this change wasn’t saved. Ask your chief of staff to clear out files they can rebuild, like build caches, then try again." This includes a change to an AI account on **AI**, and a new routine. Fix: select **Ask** and your chief of staff's name **to free up space** on the banner. The button shows only when there is a teammate that you can use. It opens a new chat with your chief of staff, or with another teammate that you can use when you cannot use the chief of staff, and a prepared message, which you can change before you send it. The message asks the teammate to find what uses the most space, delete what can be rebuilt (build caches, packages it can reinstall, old downloads), and ask you before it deletes anything else. The banner goes away after Squad checks the disk again and finds enough free space. ## Rate limits and fallback A rate limit means that your AI provider refuses calls for a time, because your plan reached its limit. * On **AI**, an account that hit a limit recently shows **Rate-limited · cooling down**. * After 3 or more rate-limit failures in a row, the sentence on **Today** says "\[provider] is limiting your squad right now." **Health** says "\[provider] is rate-limiting your teammates." For the exact rule, see [Limits and defaults](/docs/limits-and-defaults#runs). What happens next depends on your setup: * With more than one account for a provider, Squad tries the accounts in the order on the provider card, highest first. Claude Code is different: it uses one account at a time and moves to the next account when the active one reaches its usage limit. **AI** then shows the new account as **In use**. The run continues once on the new account. If it had already done work, the teammate is told to continue from where it stopped and not to repeat what is done. See [Limits and defaults](/docs/limits-and-defaults#runs). * With models to try next in the **Your squad’s AI** card on **AI**, a run that fails or hits a rate limit moves to the next model in the list. * With no models to try next, the card says "Nothing to try next: when it can’t answer, the work waits until it can." **Health** says that runs that hit the limit are not run again. Check that their work finished. A failed chat reply needs your **Retry**. See [Which runs retry](#which-runs-retry-automatically). Fix: 1. Wait for your provider's limit to reset. 2. To avoid the problem, add a second account or a model to try next. See [Choose models and manage AI accounts](/docs/ai-accounts). ## Time limits Squad does not stop a run because it takes a long time. In **Settings**, on the **Teammates** page, under **Workspace defaults**, the **Run time limit** card says "Runs have no time limit." and shows **No limit**. You cannot set a time limit. Each routine that you create in the dashboard gets 24 hours, and the routine editor has no time limit field. A run can still stop for one of these reasons: * It showed no progress for 15 minutes. Squad stops a run that sends no progress signal, such as a tool call, for that period. Squad does not stop a run while a tool call or a memory compaction is in progress. Runs on a Claude Code account are not stopped this way. See [Limits and defaults](/docs/limits-and-defaults#runs). * A time limit from an earlier setting is still saved. Runs that take longer than that limit are stopped, even while they are still working. If the squad has no saved value, the card shows **10 minutes**, and chat runs stop after 10 minutes. * A routine that a teammate created can have no time limit saved. Its runs then stop after 60 minutes. To raise the limit now, select **Raise to 24 hours** in the routine's editor, then **Save changes**. Your squad's computer also raises it the next time it restarts. A run on a Claude Code account that stays **Running** ends only when the teammate's process ends. The run also stays **Running** while helpers that the teammate started still work, unless a run time limit ends it first. Their cards in chat show **Working**. See [See the helpers your teammates start](/docs/chat#see-the-helpers-your-teammates-start). Squad keeps it **Running** for as long as the process runs, also when it hangs, and you cannot stop it from the dashboard. To remove a time limit that is left from an earlier setting: Open the run detail with the label **Ran out of time**. Select **Check the time limit**. For a routine's run, the **Teammates** page opens with the editor of that routine. For other runs, **Workspace defaults** opens. The editor says "This routine stops after \[time]." Select **Raise to 24 hours**, then select **Save changes**. The **Run time limit** card shows the limit and says "This limit comes from an earlier setting. Runs longer than it are stopped even while they are still working. Remove it, then save." Select **Remove the limit**. Then select **Save changes** in the bar at the bottom. A save on **Workspace defaults** does not restart your squad's computer, and runs in progress keep going. Your squad's computer raises every routine limit below 24 hours to 24 hours each time it restarts. For more about routines, see [Schedule recurring work with routines](/docs/scheduled). ## Interrupted runs A restart of your squad's computer ends every run in progress. Saving settings does not restart it. Your squad's computer restarts for new software that it can load only when it starts, and that restart waits until no teammate is working, also on a Claude Code account, with no time limit. It restarts at once when it stopped answering and Squad recovers it. On a squad's computer that does not have the update for saves without a restart yet, a save can still restart it, and the screen then says that it is still restarting. See [Limits and defaults](/docs/limits-and-defaults#runs). The run detail shows **Interrupted**. Unless Squad continued the run as described below, it says "Routine maintenance interrupted this run before it finished. It is not run again, so check that its work got done." When it can, Squad gives a chat message that a restart interrupted back to the teammate on its own. The chat then shows "\[name] was interrupted by a restart and is picking up where it left off." The teammate continues in the same conversation, sees what it already did, and is told not to repeat an action that already completed, such as a sent email. Squad does this a limited number of times for one message. See [Limits and defaults](/docs/limits-and-defaults#runs). When the message reaches the teammate again, the run that the restart cut off shows "A restart cut this run short, and Squad picked it back up." in History, and its row on **Health** is tagged **resumed**. The continued work is a new run. You do not need to send the message again. Squad does not continue a message that you stopped, edited, or reset, or a message that it cannot continue safely. The chat then shows "The workspace runtime restarted while handling this message, so it may not have been processed. Send it again if nothing arrived." Check the work, then send the message again if it is not done. For other runs, Squad does not start the run again. Check the teammate's work. If it is not done, ask the teammate to continue. ```text Ask the teammate theme={null} Your last run was interrupted by a restart. Check what you finished, then continue the work. ``` A routine's run that a temporary provider error stopped is different. Squad wakes the teammate once more to finish it, and its detail says "The AI service hiccuped, and Squad picked this run back up." On **Health**, its row is tagged **resumed**. ## Which runs retry automatically Do not expect every failed run to run again. Squad retries only these cases: | Case | What Squad does | | - | - | | A routine's run failed with a temporary provider error, for example an overloaded server | Squad wakes the teammate once more, 2 minutes later, to finish the work | | A run fails or hits a rate limit and you set models to try next | The run moves to the next model | | A chat message that a restart of your squad's computer interrupted, when Squad can continue it | The teammate continues the message where it stopped | | A Claude Code account reaches its usage limit during a run, and Squad switches to your next Claude Code account | The run continues once on the new account | Squad does not retry these cases: * An expired or invalid AI connection * A usage limit or quota error from your provider, except a Claude Code usage limit that switches to your next account (see above) * A rate limit when you set no models to try next. A rate limit never switches Claude Code accounts. * A run where all models in the list failed * A chat reply that failed. Select **Retry** yourself. * A manual run or a chat run that failed with a provider error * A run other than a chat message that a restart interrupted ## A task shows "Stuck for … · no progress" Symptom: a task card on **Tasks** shows "Stuck for" a time, then "no progress". Cause: the task had no update for a long time. The teammate can be waiting for your answer, or its runs can be failing. Fix: 1. Open **Needs you** and answer any open question for that task. See [Answer what needs you](/docs/tickets). 2. Check **Today** for a card about that teammate's work that did not finish. 3. Open the task and select **Ask** and the teammate's name **for an update**. See [Ask for an update](/docs/missions#ask-for-an-update). ## A teammate shows "Paused" Symptom: the teammate's page shows "Paused by" and a name, "Paused", or "Paused ·" and a reason, at the top. Its routines do not run, and a chat message to it fails with "\[name] is paused. Resume \[name] to send a message." Cause: you, an Administrator, your chief of staff, or the teammate itself paused the teammate. The page names who paused it (right after you pause it yourself, **Paused by you**). A pause from before September 30, 2026 shows only "Paused". A paused teammate does not start new work from the dashboard. Its routines are off, the dashboard does not send it chat messages, and group chats do not wake it. @mentions, task assignments, and emails for the teammate wait until it is resumed. Messages from Telegram, Discord, or Slack still reach it. Fix: select **Resume**, or ask your chief of staff to resume the teammate. The teammate then gets the @mentions, task assignments, and emails that waited. For more, see [Add, change, and pause teammates](/docs/agents#pause-a-teammate). If the page says "\[name] needs attention." and a reason, read the reason and follow the fix on this page. ## A new teammate does not answer yet Symptom: your chief of staff just added a teammate. A group chat refuses it with "\[name] is still being set up and cannot join a group chat yet." A Telegram, Discord, or Slack bot refuses it with "That agent can’t answer chats yet — pick another." Cause: a new teammate needs about 2 minutes before it can work. See [Limits and defaults](/docs/limits-and-defaults#setup-and-account). Fix: wait a few minutes, then try again. Until then, work that you send to the new teammate can go to the chief of staff instead. ## A teammate works on the wrong thing Symptom: a teammate started work that you did not want, or a run takes a wrong turn. Cause: the teammate understood the message differently than you meant, or it chose a path that you did not expect. A run goes on until it finishes unless someone stops it. Fix: stop the run. In chat, select **Stop** under the teammate's working message. In History, select **Stop** on the run's row. Then select **Stop the run**. You must be the owner or an Administrator. The run shows **Stopped**, and Squad does not count it as a failure. Then tell the teammate what you want instead. See [Stop a run](/docs/runs-and-health#stop-a-run). If **Stop** says "The stop didn't go through, so the run is still going. Press Stop to try again.", select **Stop** again. A run on a Claude Code account cannot be stopped and finishes on its own. If **Stop** says "This squad's computer needs an update before Stop works. It updates on its own, so try again later.", wait and try again later. ## Ask your chief of staff to check Your chief of staff can look at the problem from inside your squad. ```text Ask your chief of staff theme={null} One of my teammates looks stuck. Check its recent runs and tasks, tell me what failed and why, and suggest a fix. ``` ## Still stuck Email [support@squad.so](mailto:support@squad.so). Give the teammate's name, the time of the run from History, and the error text, with **Technical details** when it shows. See [Get help](/docs/getting-help). # Add, change, and pause teammates Source: https://squad.so/docs/agents Hire a teammate through your chief of staff, read a teammate's About page, change their model and routines, and pause, resume, rename, or remove them. Your squad is one chief of staff plus the teammates it hires. By default the chief of staff is named **Chief of Staff** (@chief). A squad has exactly one chief of staff. You manage teammates in two ways: * **In the dashboard**, you open a teammate's **About** page, pause or resume them, ask them for an update, pick their model, and change their routines and files. * **In chat**, you ask your chief of staff to hire, rename, or remove teammates. The dashboard has no button that does these by itself. You can also ask your chief of staff to pause or resume a teammate. These chat requests work only when the owner or an Administrator asks. When a Collaborator or a Viewer asks, Squad refuses the change. Hiring also needs an Administrator who can see every teammate. Squad for Mac (private beta) works the same way. Where the Mac differs, a short note in each section says how. ## What you can change, and what you ask your chief of staff for | You want to change | Where | How | | - | - | - | | Pause or resume the teammate | Dashboard or chat | **About** > **More** (⋯) > **Pause** or **Resume** and the name, or ask your chief of staff. See [Ask your chief of staff to pause or resume a teammate](#ask-your-chief-of-staff-to-pause-or-resume-a-teammate). | | Wake the teammate now | Dashboard | **About** > **More** (⋯) > **Ask for an update** | | The teammate's model or image model | Dashboard | The gear on **About** > **Model** and **Image model**, or **Settings** > **AI** > **AI**, then **Advanced** > **Teammates with their own AI** | | The teammate's routines and heartbeat | Dashboard | The gear on **About** > **Routines** and **Native heartbeat**. See [Schedule recurring work](/docs/scheduled). | | How the teammate writes, behaves, and presents itself | Dashboard | **About** > **What** and the name **knows**, then **Personality**, **Identity**, and **Notes**. See [Manage what your squad remembers](/docs/memory). | | Which connected apps the teammate can use | Dashboard | **Settings** > **Apps**: on the account's row, select its access badge (or ⋯ > **Manage scope**), then **Per-teammate access**. See [Connect apps](/docs/integrations). | | The teammate's email inbox | Dashboard | **Settings** > **Email** > **Inboxes and rules**. See [Give a teammate an email inbox](/docs/email). | | Hire a new teammate | Chat | Ask your chief of staff. See [Hire a teammate](#hire-a-teammate). | | The teammate's name, role, emoji, or @handle | Chat | Ask your chief of staff or the teammate. See [Rename a teammate or change their handle](#rename-a-teammate-or-change-their-handle). | | Remove a teammate | Chat | Ask your chief of staff. See [Remove a teammate](#remove-a-teammate). | ## Hire a teammate In the sidebar, select **+** next to **Your squad** (**Ask** and your chief of staff's name **to hire a teammate**). Your chief of staff's chat opens with a new conversation that starts "I’d like to hire a new teammate for the squad. The role: ". Finish the sentence: the job, the tools the teammate will use, and the results you expect. Then send it. Answer your chief of staff's questions, then approve the plan. The **+** shows to the owner, Administrators, and Collaborators. A Viewer does not see it. Only the owner and Administrators who can see every teammate can have a teammate hired. When a Collaborator asks, your chief of staff cannot create the teammate, and Squad tells it to ask the owner or an Administrator. You can also write the request in any conversation with your chief of staff: ```text Ask your chief of staff theme={null} Hire a new teammate for the squad: [role, for example "a researcher for competitor tracking"]. They should own [the work they own] and use [apps or tools]. Propose a name, a personality, and what they will work on first, and wait for my OK before you create them. ``` When your chief of staff creates the teammate, it does these things: * It gives the teammate a personality and an identity, and registers them in your squad. * It adds the teammate to the shared **Squad** file in memory, so the other teammates know who does what. * It creates a heartbeat for the teammate. A heartbeat is a routine that wakes a teammate to check its work. The heartbeat starts off. The teammate runs on a schedule only after you turn one on. See [Schedule recurring work](/docs/scheduled). * It creates a first task for the new teammate. A new teammate can take about two minutes before it receives work. Until then, work that is routed to it can go to your chief of staff instead. Your chief of staff cannot create a second chief of staff. A squad has one, and Squad refuses to register another one. On Squad for Mac (private beta), the **+** beside **Your squad** works the same way. You can also choose **Ask** and your chief of staff's name **to Hire a Teammate…** in a teammate's **⋯** menu. Nothing is sent until you press Return. ## Open a teammate's About page A teammate's page has two places: **Chat** and **About**. 1. In the sidebar, under **Your squad**, select the teammate. Their chat opens. 2. Select **About** at the top. ### The header The header stays at the top while the page scrolls. | Item | What it shows | | - | - | | Face | The teammate's face. A dot that circles it means the teammate is working, an orange dot on it means the teammate needs you, and closed eyes mean the teammate is paused. See [Statuses](/docs/statuses). | | Name and role | The teammate's name and job title. | | **Chat** and **About** | Switch between the teammate's chat and this page. | | **Watch** | Opens the teammate's computer. Only the owner and Administrators see it, unless the computer screen is turned off for your squad. See [Watch or take over a teammate's computer](/docs/computer). | | Gear (the name and **’s setup**) | Opens the teammate's setup in **Settings** > **AI** > **Teammates**. See [Read the rest of a teammate's setup](#read-the-rest-of-a-teammates-setup). | | **More** (⋯) | **Ask for an update**, **Pause** or **Resume** and the name, and, on your chief of staff's page, **Message on Telegram**. | In the **More** menu: * **Ask for an update** wakes the teammate now so that it checks its work. The item shows **Asking…**, then **Asked.** and the name **picks this up shortly**. The teammate reports back through its status and comments. * **Pause** and **Resume** are described in [Pause a teammate](#pause-a-teammate). Only the owner and Administrators see them. * **Message on Telegram** shows only on your chief of staff's page, and only when Telegram is connected. It opens your chat with your chief of staff in Telegram. See [Telegram](/docs/telegram). #### The header on Squad for Mac (private beta) The header has no **Watch**. **Watch** is in a conversation's header and opens a floating window. See [Watch a teammate's browser in a floating window](/docs/mac/overview#watch-a-teammates-browser-in-a-floating-window). On **Chat**, a side panel button (**Show the side panel** or **Hide the side panel**) sits beside **Chat** and **About**. The gear (**Set up** and the name) opens the teammate's setup on their own page, not in **Settings**. Select it again to go back to **About**. See [The setup on Squad for Mac (private beta)](#mac-teammate-setup). The **⋯** menu (**More actions for** and the name) has more items: | Item | What it does | Who sees it | | - | - | - | | **Ask** and the name **for an Update** | Wakes the teammate so that it reports back. A message says the name and "is on it. They'll report back with results." | Everyone except a Viewer, while the teammate is not paused. | | **Pause** and the name **…**, or **Resume** and the name | See [Pause a teammate](#pause-a-teammate). | The owner and Administrators. | | **Ask** and your chief of staff's name **to Hire a Teammate…** | Opens a hire request to your chief of staff. See [Hire a teammate](#hire-a-teammate). | Everyone except a Viewer. | | **Ask** and your chief of staff's name **to Remove** and the name **…** | Opens a removal request to your chief of staff. Not on your chief of staff's own page. See [Remove a teammate](#remove-a-teammate). | Everyone except a Viewer. | | **Message** and the name **on Telegram** | Opens your chief of staff in Telegram. Only on your chief of staff's page, when your squad has a Telegram bot. | The owner. | | **Open** and the name **on the Web** | Opens the teammate in the web dashboard. | Everyone. | ### What the page shows From top to bottom: | Part | What it shows | | - | - | | A paused or blocked notice | When the teammate is paused: who paused it, for example **Paused by** and a name, and a **Resume** button. When the teammate reported a problem: the name, **needs attention**, and the reason. See [Fix a teammate that is stuck or failing](/docs/agent-stuck). | | A sentence | What the teammate does now, for example "June is working on 1 task and has finished 1 today. 2 drafts and 1 question wait for you." When something waits for you, **Open Needs you** follows. | | The handle | **Tag** and the name **in a task comment with** and the @handle. | | **Good at** | Tags that describe what the teammate is good at. Your chief of staff sets them when it hires the teammate. | | A runs line | **A run today didn’t finish.** (or the number of runs) with **See what happened**, which opens **Health**. When only routine interruptions happened today, it says **Some runs today were interrupted by maintenance.** It shows only to people who can open **Health**. See [See what your teammates did](/docs/runs-and-health). | | **Lately** | The teammate's last eight status updates, newest first. Select a line to open the task, doc, email, or conversation that it is about. It also lists the helpers that the teammate started. See [See helper runs](/docs/runs-and-health#see-helper-runs). | | **Waiting on** and the name | Messages that @mention the teammate and that it has not read yet. You cannot mark these read, because they are the teammate's to-do list. | | **Tasks** | Up to six of the teammate's open tasks. An urgent task shows **Urgent**. A task that waits for you shows **Needs you**. **See all tasks** opens **Tasks**. | | **Routines** | Up to six of the teammate's routines, each with its schedule, or **Paused**. **See all routines** opens **Routines**. | | **Skills** and **What** and the name **knows** | Open the **Skills** screen and the teammate's **Notes** file in memory. See [Add and manage skills](/docs/skills) and [Manage what your squad remembers](/docs/memory). | Parts with nothing to show do not appear. On Squad for Mac (private beta), **About** has no handle line and no runs line. A blocked teammate's notice says the name, **is stuck**, and the reason. In **Lately**, lines about the same thing join into a chain. **Skills** opens the squad's skills on the ones that this teammate built. **What** and the name **knows** shows "Notes, personality and identity", and only the owner and Administrators see it. **Waiting on** and the name also shows only to the owner and Administrators. **Tasks** lists what needs you first. For how many items each part shows on the Mac, see [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). If you are limited to some teammates, a teammate outside your list shows **Your access does not include this teammate.** See [Limit a person to some teammates](/docs/teammates#limit-a-person-to-some-teammates). ## Pause a teammate Before you start: you must be the owner or an Administrator. Open the teammate's **About** page. Select **More** (⋯). Select **Pause** and the teammate's name. In the dialog, select **Pause teammate**. The dialog says: "The teammate stops picking up scheduled runs, emails, and new tasks until you resume it. Work in progress is left as-is." The page then shows **Paused by you** with a **Resume** button (after a reload, **Paused by** and your name), and the teammate's face closes its eyes. If the pause fails, the dashboard shows **Couldn’t pause the teammate. Try again.** While the teammate is paused: * Its routines are off, and it does not start scheduled runs. Squad does not retry a failed scheduled run of a paused teammate. * The dashboard does not send it chat messages. A message fails with "\[name] is paused. Resume \[name] to send a message." In a group chat, a paused teammate is not woken. * @mentions, update requests, task assignments, and emails for the teammate wait. The teammate gets them when you resume it. * Work in progress is left as it is. A run that started before the pause can finish. * Its triggers stay on. Their events wait as **Held while the teammate is paused**, and Squad delivers them when you resume the teammate. See [Triggers](/docs/triggers#pause-change-or-delete-a-trigger). The teammate stays paused until it is resumed. You, an Administrator, or your chief of staff can resume it, and a teammate can resume itself. On Squad for Mac (private beta), choose **Pause** and the name **…** in the **⋯** menu, then confirm with **Pause** and the name. A banner under the header says who paused the teammate, for example **Paused by** and a name, as on the web. An older pause says **Paused**, and a pause with another reason says **Paused ·** and the reason. The owner and Administrators get **Resume** there. While the teammate is paused, the composer says that you must resume them to send a message, and the owner and Administrators get **Resume** and the name there. Resume does not ask you to confirm. The Mac calls the heartbeat **Check-ins on a timer**. Check-ins still wake a paused teammate, so turn them off if the teammate must not run. Pause does not stop everything. These still happen while the teammate is paused: * Messages that you send to the teammate from Telegram, Discord, or Slack reach it and start runs. * If the teammate's **Native heartbeat** is on, the heartbeat still wakes it. Turn it off in the teammate's setup if the teammate must not run. * Emails that the teammate scheduled before the pause are still sent. To cancel them, pause its inbox. See [Pause an inbox](/docs/email#pause-an-inbox). ## Resume a teammate 1. Open the teammate's **About** page. 2. Select **Resume** on the paused notice. You can also select **More** (⋯) > **Resume** and the name. Resume turns on again only the routines that the pause turned off. Routines that you turned off before the pause stay off, and so does a heartbeat that was off. The teammate then gets the @mentions, update requests, task assignments, and emails that waited. A teammate that you paused on or before 27 September 2026 can be an exception. When you resume it, Squad can turn on every routine of the teammate, including its heartbeat. After you resume such a teammate, open its setup and turn off the routines that must stay off. ## Ask your chief of staff to pause or resume a teammate Your chief of staff can pause or resume any teammate in your squad. Other teammates can pause or resume only themselves. This works only when the owner or an Administrator asks. ```text Ask your chief of staff theme={null} Pause [teammate]. Tell me when they are paused. ``` A pause or resume from your chief of staff has the same effect as the menu on the **About** page. The same routines turn off and on again, and the same @mentions, update requests, task assignments, and emails wait until the resume. The **About** page names who paused the teammate, for example **Paused by** and your chief of staff's name. The **Activity** entry uses the same name. If you ask a teammate that is not your chief of staff to pause, resume, change, or remove another teammate, Squad refuses. The teammate gets the message "Only the squad lead can change, pause, resume or delete another agent. Ask the lead to do it." ## Change a teammate's model Each teammate uses your squad's model unless you pin a different model for it. Open the teammate's **About** page. Select the gear (the name and **’s setup**). **Settings** > **AI** > **Teammates** opens with the teammate selected. In **Model**, pick a model. **Workspace default** removes the pin. The option shows the current default in brackets, or "not set" if no default model is saved. Optional: in **Image model**, pick the model that reads screenshots and photos for this teammate. **Workspace image default** removes the pin. Select **Save changes** in the bar at the bottom. **Saved** shows under the cards when the change is stored. The lists show only the models in **Allowed models**. A pinned model that is no longer allowed shows **(not in allowed models)**. If the image model that you pick cannot read images, the screen says so. You can also pin models in **Settings** > **AI** > **AI**: open **Advanced**, then **Teammates with their own AI**, and select **Give a teammate their own model…** or **Give a teammate their own image model…**. See [Choose models and manage AI accounts](/docs/ai-accounts). Only the owner and Administrators can change a teammate's setup. Other people can read it. ## Read the rest of a teammate's setup **Settings** > **AI** > **Teammates** has a button for **Workspace defaults** and one button for each teammate at the top. A teammate's page has three cards. One **Save changes** bar saves them all. | Card | What it does | | - | - | | **Model** | The teammate's model and image model. See [Change a teammate's model](#change-a-teammates-model). | | **Native heartbeat** | A built-in loop that wakes the teammate on a fixed interval. When you turn it on, you pick **Frequency**, **Model** (**Teammate default** or a model), and **Instructions**. The card recommends a routine instead, and warns you when a heartbeat routine already exists, because both together can double up work. | | **Routines** | The teammate's routines, with the number active and paused. Each row shows the routine's name, its schedule, its model, and **notifies** or **quiet**, plus **Run now**, **Active** or **Paused**, and an on/off switch. **+ New routine** adds one. **Disable all** turns off every active routine, after you confirm **Stop all** and the number **schedules? (off until re-enabled)**. Select a row to edit it. See [Schedule recurring work](/docs/scheduled). | The heartbeat card also tells you when the teammate will not run on its own: the name and "has no heartbeat and no active routines; it won’t run on any schedule." ### The setup on Squad for Mac (private beta) On the Mac, the gear (**Set up** and the name) opens the setup on the teammate's page, titled with the name and **'s setup**. A small spinner shows while Squad checks with your squad's computer, and changes wait until it answers. A Collaborator or a Viewer sees the setup with a note that the owner or an Administrator makes the changes. To change the model: On the **AI** card, select **Change**. Pick a model. **Squad default** uses the squad's AI. Only the models that your squad allows are in the list. Under **Image model** ("For reading screenshots and photos."), pick a model or keep **Squad image default**. If the model cannot read images, a warning says so. Select **Save changes**, or press ⌘S. The page shows **Saved**. Nothing restarts, and runs in progress keep going. The teammate's next run uses the new settings. If your squad's computer has not applied the change yet, the notice "Saved. Applying changes in the background (usually a minute or two)." shows until it has, at most for the time in [Limits and defaults](/docs/limits-and-defaults#runs). **Reset** drops your changes. If you leave with changes that you did not save, select **Go back & save** or **Discard changes**. The Mac calls the native heartbeat check-ins. To turn them on, select **Wake** and the name **on a timer as well**, turn on **Check-ins on a timer**, pick **How often** and the **AI**, type the **Instructions**, and select **Save changes**. For the default interval, see [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). The Mac setup has no **Routines** card. Routines are on **Routines**. Under **Shared by the squad**, **Apps your teammates can use** opens **Settings** > **Apps**, and **The squad's AI** opens **Settings** > **AI**. ## Rename a teammate or change their handle No dashboard field edits a teammate's name, role, emoji, or @handle. Ask the teammate or your chief of staff in chat. A teammate can change its own details. Only your chief of staff can change another teammate. This works only when the owner or an Administrator asks. ```text Ask your chief of staff theme={null} Rename [teammate] to [new name] and change their @handle to [new handle]. Update their identity file and the Squad file to match. ``` Handle rules: * A leading @ is removed. * Each name and handle must be unique in the squad. * The handles all, everyone, and squad are reserved for messages to the whole squad. * You can change a handle, but you cannot remove it. Editing the teammate's **Identity** file changes how the teammate presents itself. It does not change the name in the dashboard. To change how a teammate writes and behaves, edit its **Personality** file in memory. To change the name your teammates use for you, go to **Settings** > **Squad** > **General** > **Your name**. ## Remove a teammate The dashboard has no delete button. Ask your chief of staff to remove the teammate. On Squad for Mac (private beta), open the teammate's page and choose **Ask** and your chief of staff's name **to Remove** and the teammate's name **…** in the **⋯** menu. A new conversation with your chief of staff opens with "Please remove" and the name "from the squad. The reason: " in the box. Finish the sentence and press Return. A Viewer does not see this item. Your chief of staff can remove other teammates, for example a duplicate or a test teammate. It cannot remove itself or you. Squad refuses the request. Other teammates cannot remove another teammate. Removing a teammate deletes its record in the dashboard and nothing else. Its tasks are not given to another teammate, its email inbox is not closed, and its routines and files on your squad's computer are not removed. Its triggers pause with "The agent this trigger woke was removed." Before you ask, reassign its open tasks, delete its inbox in **Settings** > **Email** > **Inboxes and rules**, and turn off its routines in its setup. Afterwards, give its triggers to another teammate in **Routines** and turn them on. You cannot undo a removal. ```text Ask your chief of staff theme={null} Remove [teammate] from the squad. First move their open tasks to [other teammate], turn off their routines, and update the Squad file. Tell me when it is done. ``` If a teammate still exists on your squad's computer but is no longer in your squad, **Settings** > **AI** > **Teammates** > **Workspace defaults** lists it under **On your computer, not in your squad**. There you can select **Clear pin** to remove a leftover model pin. To register the teammate again, ask your chief of staff. ## Check that it works * A new teammate appears under **Your squad** in the sidebar and has an **About** page. * A paused teammate shows **Paused by** and the name of who paused it on its **About** page, and its routines show **Paused** in its setup. * A pinned model shows on the teammate's page in **Settings** > **AI** > **Teammates** and under **Teammates with their own AI** in **Settings** > **AI**. ## Troubleshooting **A message to a paused teammate fails with "\[name] is paused. Resume \[name] to send a message."** Cause: the dashboard does not send messages to a paused teammate. Fix: resume the teammate, then send the message again. **A new teammate does not pick up work.** Cause: a new teammate can take about two minutes to become reachable. Fix: wait a few minutes, then select **Ask for an update** on its **About** page. **The teammate's setup says it has no heartbeat and no active routines.** Cause: the teammate's heartbeat starts off, and no routine is on. Fix: turn on its heartbeat or another routine in its setup. See [Schedule recurring work](/docs/scheduled). **Your chief of staff says it cannot remove a teammate.** Cause: you asked it to remove itself or you. Squad does not let a teammate remove either one. Fix: none. The chief of staff cannot be removed. **A teammate says "Only the squad lead can change, pause, resume or delete another agent. Ask the lead to do it."** Cause: you asked a teammate that is not your chief of staff to change, pause, resume, or remove another teammate, or to change your details. Fix: send the request to your chief of staff. **There is no Pause in the More menu.** Cause: only the owner and Administrators can pause a teammate. Fix: ask the owner or an Administrator, or ask your chief of staff in chat. ## Common questions No. A squad has one chief of staff. Squad refuses to register a second one. It does not start runs from the dashboard. Its routines are off, and @mentions, task assignments, and emails wait until you resume it. Messages from Telegram, Discord, or Slack still reach it and start runs, and so does its **Native heartbeat** if it is on. Tasks stay assigned to it, and work in progress is left as it is. A task that you assign while the teammate is paused waits. The teammate gets it when you resume it. No. Reasoning effort applies to the whole squad. See [Choose models and manage AI accounts](/docs/ai-accounts#set-the-workspace-model-settings). The counts (completed, in flight, escalations, drafts, success) are gone. The sentence at the top of **About** says what the teammate does and what waits for you, and **History** and **Health** show its runs. See [See what your teammates did](/docs/runs-and-health). # Choose models and manage AI accounts Source: https://squad.so/docs/ai-accounts Choose the model your squad thinks with and what it tries next, add more AI accounts, read each account's status and usage, set their order, and give one teammate its own model. Your squad runs on AI accounts that you connect: your own subscriptions and API keys. Two pages in Settings control them: * **AI**: your squad's AI (the model it thinks with, the model that reads images, and what it tries when it can't answer), your **Accounts** on each provider, and, under **Advanced**, the teammates with their own AI. * **Teammates**: the workspace model settings (**Workspace defaults**, including **Allowed models**) and each teammate's model, heartbeat, and routines. To connect your first account, see [Connect your AI subscription](/docs/connect-your-ai). To open **AI**, click **Settings** at the bottom of the sidebar, then **AI**. You can also press ⌘K (Ctrl+K on Windows) and select **AI**. **Teammates** is the tab next to **AI** and **Tools** at the top of the page. On a narrow window, the account menu also opens **AI tokens**, which is the same page. ## How Squad picks a model and an account Every run follows the same order: 1. The run starts on the teammate's own model, if it has one. Every other teammate uses the model in **Thinks with**. 2. On that model's provider, Squad uses the accounts in the order on the provider's card. An account that is expired, invalid, or at its limit is skipped. 3. When the model fails or hits a rate limit, the run moves to the next model under **When it can’t answer**. 4. Screenshots and photos go to the image model: the teammate's own image model, or the model in **Reads images with**. In **History**, open a run. **Technical details** shows the **Model** and **Provider** that ran. See [See what your squad did](/docs/runs-and-health). ## Add another account for a provider You can connect more than one account for each provider, for example two ChatGPT accounts. Only the owner, and an Administrator who can see every teammate, can add, replace, or disconnect accounts. Open **Settings** > **AI**. Next to **Accounts**, click **Add an account**, then pick the provider. The menu lists every provider, also those that have no account yet. In **Token name**, type a name after the fixed prefix, for example "work". Only letters, digits, - and \_ are kept. The dialog shows the full name under the field. Complete the sign-in or paste the key, as the dialog tells you. If the name is already in use, the dialog says that connecting would overwrite that account, and the connect button stays off. Pick another name, or use **Replace** on the existing account. Some providers have rules for extra accounts: * Extra Qwen Cloud keys must come from the same plan. * Extra Cloudflare Workers AI tokens must use the same account ID. * MiniMax has no **Token name** field. * Claude Code uses one active account at a time. See [Set the order in which accounts are used](#set-the-order-in-which-accounts-are-used). ## Read a provider card Under **Accounts**, each provider with at least one account has a card. From top to bottom, the card shows: | Part | What it shows | | - | - | | Name line | The provider's name. **Rate-limited · cooling down** shows next to it after a recent run on this provider failed with a rate-limit error. | | Method line | How it connects, for example **Device code**, **API key**, or **Setup token**, and the number of accounts. | | Role chip | **Default model**, **Fallback 1**, and so on, when **Your squad’s AI** uses a model from this provider. Only the owner and Administrators see it. | | "Your squad tries these in order, top first." | Shows when the card has two or more accounts. Each row then has a number, and the owner and Administrators see **Move up** and **Move down**. | | Account rows | One row for each account. See the next section. | | Usage note | The provider's name and "doesn’t publish usage data, so there’s no meter to show here." for providers without usage meters. | | **See usage on** the provider's **website** | A link to the provider's own usage page. | ### Read an account row Each row shows the account name, one status word, a detail line, usage meters when the provider reports them, and the buttons **Replace** and **Disconnect**. On a signed-out or expired account, **Replace** says **Reconnect**. | Status word | Meaning | | - | - | | **In use** | This account serves the next run on this provider. | | **Standby** | This account is healthy and waits in the fallback order. | | **Connected** | This account is connected. The provider does not report usage, so Squad does not rank it by limits. | | **At limit** | This account used up a limit window, or its balance is spent. It cannot serve runs until the limit resets. | | **Out of sync** | Some teammates hold an older copy of this credential. See [Fix credentials that are out of sync](#fix-credentials-that-are-out-of-sync). | | **Expired** | The sign-in expired. Click **Reconnect** to sign in again. | | **Signed out** | The provider signed this account out. Click **Reconnect** to sign in again. | Hover over a status word to read the full sentence. The detail line shows the account's email or plan, or a masked key. It can also show: * for ChatGPT · Codex: when the login expires, for example "expires in 5 days", and **renews automatically**. See [Keep ChatGPT accounts renewed](#keep-chatgpt-accounts-renewed). * for Grok: **expired**, or, when only some teammates hold an expired copy, "expired on 3 of 9 teammates". Usage meters show for ChatGPT · Codex, Claude, Claude Code, OpenRouter, Kimi, Z.ai, and GitHub Copilot: * Each limit window has a meter with the percentage used and the time until it resets, for example "62% used · resets in 3 hours". * A meter turns amber from 80% used and red from 95% used. * Some providers show **Balance:** and the amount left. * A thin bar shows while Squad checks the usage. "We couldn’t read this account’s usage right now." means that the check failed. The account can still work. Under the rows, the card can show one of these lines: | Line | Meaning | | - | - | | "Falling back to" and an account name | The accounts ranked above cannot serve runs now. Your teammates use this account. | | "Falling back to the next provider in model routing" | No account on this card can serve runs now. Runs move to the next model under **When it can’t answer**. | Row buttons: * **Replace** connects the same account again. The dialog is titled **Replace** and the account name, and the new login overwrites exactly that account. On a signed-out or expired account, the button says **Reconnect** ("Sign in to this account again") and does the same. * **Disconnect** removes the account after you confirm: "Disconnect \[name]? Teammates that run on this account stop until you connect an account again." The button shows **Disconnecting…** while it works. Squad refuses to disconnect the Claude Code account that your teammates use now: "This is the account your agents are using right now. Switch to another Claude account first, then disconnect this one." Move another account to the top and save the order first. If a disconnect fails, the reason shows under the account's row, for example "Couldn’t remove the \[provider] connection from your workspace." and the cause. * On Squad for Mac (private beta), **Reconnect** shows beside the status, and **Replace…** is in the account's menu. * **Set email** or **Edit email** shows on Claude Code rows only, because a Claude Code token does not show which account it belongs to. Type the email and click **Save**. To remove the email, clear the field and save. ## Set the order in which accounts are used On a card with two or more accounts, the order is the fallback order. Squad tries the top account first. When that account cannot serve a run, for example because it reached a usage limit, Squad tries the next one. 1. On the provider's card, use **Move up** and **Move down** on the account rows. 2. In the bar that shows **Priority order changed**, click **Save changes**. **Reset** undoes the change. The bar shows **Saving the new account order…** while it saves. Claude Code uses one account at a time, the active account. The others show **Standby**. When the active account reaches its usage limit, the next account in the order becomes active, and the full account is skipped until its limit resets. The run that hit the usage limit continues once on the new account. If it had already done work, the teammate is told to continue from where it stopped and not to repeat what is done. A rate limit, when the provider slows down requests for a short time, does not switch Claude Code accounts. The run moves to the next model under **When it can’t answer**, if you set one. Otherwise it fails. The newest connection becomes the active account. When you save a new order, the first account becomes the active account. A standby Claude Code account shows the note "This account is connected and takes over when the active Claude Code account reaches its usage limit." A Claude Code account that ran out shows **At limit** until its limit resets. If no other Claude Code account can take over, Claude Code runs start again when the limit resets or when you connect another account. ## Fix credentials that are out of sync When an account does not match on every teammate, the top of **AI** shows "Some teammates don’t have the newest sign-in yet." When every teammate has the same credentials, the page shows nothing about it. Only the owner and Administrators see **Sync now**. 1. Click **Sync now**. 2. Wait until the warning goes away. ## Keep ChatGPT accounts renewed A ChatGPT · Codex account row shows when its login expires, for example "expires in 5 days", and **renews automatically**, sometimes with the time of the last renewal. You do not need to act while it renews. Hover over the expiry to see the exact time. If the row shows **automatic renewal failed - reconnect this account**, click **Replace** and sign in again. When ChatGPT reports a banked limit reset for an account, the row shows "One banked limit reset is available on this account." or the number of resets, and a **Use one now** button. 1. Click **Use one now**. 2. In **Use one banked reset?**, click **Use one reset**. This refreshes the account's usage limits now. You cannot get a spent reset back. The row then shows how many banked resets are left. ## Choose the default model and fallback models The card **Your squad’s AI** is at the top of **AI**, above **Accounts**. Only the owner and Administrators see it, and only the owner and an Administrator who can see every teammate can save changes. Open **Settings** > **AI**. In **Thinks with**, pick a model. The line under the row says "Through" and the provider that serves it. In **Reads images with**, keep **The same** to use the model in **Thinks with**, or pick another model. Under **When it can’t answer**, pick a model in **Add one to try next…**. Use **Move up** and **Move down** to order the list. **Use first** swaps a fallback with the model in **Thinks with**. **Remove** takes it off the list. In the bar that shows **Your squad’s AI changed**, click **Save changes**. **Reset** undoes your edits. The lists show only models in **Allowed models**. The last option in each list, **Add other models…**, opens **Settings** > **AI** > **Teammates**, where you allow more models. If the list has no fallbacks, the card says "Nothing to try next: when it can’t answer, the work waits until it can." Add at least one fallback on a different provider. On Squad for Mac (private beta), the **Your squad's AI** pickers offer only the allowed models whose AI account is connected. A model already picked whose account is not connected shows a line that it "runs on" that account, "which isn't connected, so its work fails. Pick a model from an account below." In **When it can't answer**, such a model shows "Its account isn't connected", and its **Use first** is off. If no model is saved, **Thinks with** shows **Not set**. If the image model cannot read images, the card shows a warning, for example that teammates can't read screenshots or photos. If the card cannot load, it shows "We couldn’t read the model routing from your workspace." Click **Try again**. ## Give one teammate its own model Most teammates use your squad's AI. To let one teammate think with another model, or read images with another model: 1. Below **Accounts**, open **Advanced**. 2. In **Give a teammate their own model…**, pick the teammate. 3. In **Choose a model…**, pick the model. 4. Click **Use this model**. For an image model, use **Give a teammate their own image model…** and **Use this model**. Changes save at once. **Teammates with their own AI** lists each teammate that skips your squad's AI, for example "Nova thinks with" a model "via" a provider, or "reads images on" a model. **Clear** removes it. With none, it says "Every teammate uses your squad’s AI." You can also set a teammate's model on its tab in **Settings** > **AI** > **Teammates**. See [Add, change, and pause teammates](/docs/agents#change-a-teammates-model). ## Set the workspace model settings These settings are on **Settings** > **AI** > **Teammates** > **Workspace defaults**. The page says: "Defaults every teammate inherits unless it sets its own override. The allowed list below gates every other model choice." | Setting | What it controls | When nothing is saved | | - | - | - | | **Default model** | The model that teammates use when they have no model of their own. This is the same setting as **Thinks with** on **AI**. | Setup saves a model for the AI provider you connected. If no model is saved, the field shows **Not set**. | | **Image model** | The model that reads screenshots and photos. **Same as default model** follows the default model. If the model cannot read images, the screen shows a warning. | **Same as default model** | | **Reasoning effort** | How hard models think before they answer. Higher is slower and costs more of your provider's usage. | **Auto (per-model default)** | | **Run time limit** | Says "Runs have no time limit." There is no field to set a limit. A limit from an earlier setting shows its length, a warning, and **Remove the limit**. See [Time limits](/docs/agent-stuck#time-limits). | Setup saves no limit, so the card shows **No limit**. If no value is saved, the card shows **10 minutes**, the warning, and **Remove the limit**, and chat runs stop after 10 minutes. | | **Allowed models** | The only models that can be picked anywhere in the squad. Every other model list is limited to this list. | Every model is allowed. | The **Reasoning effort** levels are **Auto (per-model default)**, **Off: disable reasoning**, **Minimal**, **Low**, **Medium**, **High**, **Extra high**, **Max (GPT-5.6 family)**, and **Adaptive (model picks)**. **Max** shows only when your squad's computer supports it. The GPT-5.6 models do not support **Minimal**, so it is not offered when one of them is the default model. A saved level that the default model does not support shows **· not supported**, and Squad refuses to save until you pick another level. Reasoning effort applies to the whole squad only. You cannot set it for one teammate or one routine. Routines have their own model field. See [Schedule recurring work](/docs/scheduled). **Allowed models** groups models by provider. Each group shows "N of M enabled" or **None enabled**. Click a group to open or close it, and click a model to allow or disallow it. Models from your plan that are not in the standard list show in a **From your plan** group. If the default model is not allowed, the screen says so. Pick an allowed model or allow it again. To save: 1. Change the settings. 2. In the bar that shows **Unsaved changes**, click **Save changes**. **Reset** undoes your edits. The page shows **Saved**. Nothing restarts, and runs in progress keep going. The next run uses the new settings. If your squad's computer has not applied the change yet, a notice says **Saved. Applying changes in the background (usually a minute or two).** until it has, at most for the time in [Limits and defaults](/docs/limits-and-defaults#runs). If the page cannot load, it shows **Couldn’t load your workspace configuration** and a **Retry** button. Nothing is editable until the real values load. The **Workspace defaults** tab can also show **On your computer, not in your squad**. See [Add, change, and pause teammates](/docs/agents#remove-a-teammate). ## What your teammates can do here Squad gives teammates no tool to connect, replace, or disconnect AI accounts, or to change **Your squad’s AI** or **Allowed models**. Make these changes yourself on the pages that this page describes. ## Check that it works * Under **Accounts**, one account shows **In use** on each provider that reports usage. * **Your squad’s AI** shows your model in **Thinks with**, with "Through" and the provider name, and your fallbacks under **When it can’t answer**. * In **History**, open a run. **Technical details** shows the **Model** and **Provider** that ran. ## Troubleshooting **Health says that a provider is rate-limiting your teammates.** Cause: three or more runs in a row failed with rate-limit errors from that provider in the last six hours. **Health** shows it under **Provider status**. The provider's card on **AI** shows **Rate-limited · cooling down** after one recent rate-limit failure. Fix: add another account for that provider, or add a model on a different provider under **When it can’t answer**. Squad does not start a run again after it failed with a rate-limit error. The only exception is the Claude Code account switch described in [Set the order in which accounts are used](#set-the-order-in-which-accounts-are-used). Check that the work finished. Send the request again, or wait for the next scheduled run, after the limit resets. **Chat says "Your AI provider account is out of credits."** Cause: your provider refused the call because the account has no credits, balance, or plan left. Some providers answer this the way they answer a rate limit. Squad shows it as out of credits and does not try the message again. Fix: add credits or a plan at your provider, or connect another account and put it first in the card's order. Then select **Retry**. See [Chat failure messages](/docs/agent-stuck#chat-failure-messages). **Chat shows "Your AI connection expired. Replies will fail until you reconnect."** Cause: the login for the model's provider expired. Fix: click **Reconnect**, then click **Reconnect** on the account that shows **Expired** or **Signed out**. If its row shows neither, click **Replace**. A failed reply can also show **Reconnect in AI tokens**, which opens the same page. **A reply says that a teammate's model "isn’t available on your AI account".** Cause: your AI provider refused the model, for example because it no longer serves that model to your account. Fix: select **Choose a model** under the reply, or open **Settings** > **AI** > **Teammates**, and pick another model for the teammate. Then select **Retry**. In a group chat there is no **Retry**, so send the message again. See [Chat failure messages](/docs/agent-stuck#chat-failure-messages). **AI says that a provider "is signed out on your workspace".** Cause: the provider's login is no longer valid on your squad's computer. Runs that use it fail until you reconnect it. Fix: click **Reconnect** on the account on its card. If its row shows neither **Signed out** nor **Expired**, the button says **Replace**. **AI shows "This teammate is asleep".** Cause: the dashboard could not reach your squad's computer. Fix: click **Wake & retry**. **A model is missing from a list.** Cause: the model is not in **Allowed models**. Fix: turn it on in **Settings** > **AI** > **Teammates** > **Allowed models**, then click **Save changes**. **An account shows At limit, but you have usage left on the provider's website.** Cause: one of the account's limit windows is full, or its balance is spent. Fix: wait for the reset time on the meter, or move another account to the top. **A model you used is now called Qwen 3.8 Max (OpenCode).** Cause: OpenCode replaced Qwen 3.7 Max with Qwen 3.8 Max. Squad moved your settings to the new model. Fix: nothing. You do not need to pick it again. ## Common questions A Collaborator or a Viewer can open **Settings** > **AI** and see **Accounts**: which accounts are connected, their status, and their usage meters. They do not see **Your squad’s AI** or **Advanced**. They cannot connect, change, or remove accounts, and they never see a credential. An Administrator who can see every teammate can manage AI accounts and models as you can. An Administrator limited to some teammates sees the page, but Squad refuses changes to accounts, **Your squad’s AI**, and **Workspace defaults**. See [Invite people to your squad](/docs/teammates). No. Runs use your own subscriptions and API keys. See [What Squad costs](/docs/costs). The run fails. It shows **Didn’t finish** in **History**. Add accounts or fallbacks on other providers so that a run always has somewhere to go. No. **Use this model** and **Clear** save at once. The **Your squad’s AI changed** bar is only for **Thinks with**, **Reads images with**, and **When it can’t answer**. # Airtable Source: https://squad.so/docs/apps/airtable What teammates can do in Airtable at each access level, and how to connect, limit, and disconnect Airtable. Connect Airtable so your teammates can work in your Airtable account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Airtable account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as bases, records, and comments. Cannot change anything." | 8 of 27 | | **Read + write** (recommended) | "Create and edit records, comments, and attachments, and delete comments. Cannot delete records or change bases, tables, or fields." | 20 of 27 | | **Full access** | "Everything, including deleting records and creating or changing bases, tables, and fields." | 27 of 27 | **Read + write** is the recommended level. The connect window selects it for you, and you can choose another level. The Airtable sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Airtable account?" The teammate can search the Airtable actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Airtable action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 8 of the 27 Airtable actions at this level: * View records * View account details * View attachments * View bases * View comments * View schemas * View users All 8 actions at this level: | Works on | Action | What it does | Slug | | - | - | - | - | | **Account details** | Who am I | | `AIRTABLE_WHO_AM_I` | | **Attachments** | Get attachment info | | `AIRTABLE_GET_ATTACHMENT_INFO` | | **Bases** | List bases | Retrieves all Airtable bases accessible to the authenticated user, which may include an 'offset' for pagination. | `AIRTABLE_LIST_BASES` | | **Comments** | List comments | List comments on a specific Airtable record. | `AIRTABLE_LIST_COMMENTS` | | **Records** | Get record | Retrieves a specific record from an Airtable table by its record ID. | `AIRTABLE_GET_RECORD` | | | List records | List records from an Airtable table with filtering, sorting, and pagination. | `AIRTABLE_LIST_RECORDS` | | **Schemas** | Get base schema | Retrieves the detailed schema for a specified Airtable base, including its tables, fields, field types, and configurations, using the baseId. | `AIRTABLE_GET_BASE_SCHEMA` | | **Users** | Get user info | Retrieves information, such as ID and permission scopes, for the currently authenticated Airtable user from the /meta/whoami endpoint. | `AIRTABLE_GET_USER_INFO` | Teammates can use 20 of the 27 Airtable actions at this level: everything in **Read-only**, plus: * Create and update records * Create, update, and delete comments * Create attachments The 12 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Attachments** | Upload attachment | Uploads a file attachment to a specified field in an Airtable record. | `AIRTABLE_UPLOAD_ATTACHMENT` | | **Comments** | Create comment | Create a comment on a specific Airtable record. | `AIRTABLE_CREATE_COMMENT` | | | Delete comment | Delete a comment from a record in an Airtable table. | `AIRTABLE_DELETE_COMMENT` | | | Update comment | Update an existing comment on a specific Airtable record. | `AIRTABLE_UPDATE_COMMENT` | | **Records** | Create multiple records | DEPRECATED: Use AIRTABLE\_CREATE\_RECORDS instead. | `AIRTABLE_CREATE_MULTIPLE_RECORDS` | | | Create record | DEPRECATED: Use CreateRecords instead. | `AIRTABLE_CREATE_RECORD` | | | Create record from natural language | Creates a new record in an Airtable table from a natural language description. | `AIRTABLE_CREATE_RECORD_FROM_NATURAL_LANGUAGE` | | | Create records | Create multiple records (up to 10) in a specified Airtable table. | `AIRTABLE_CREATE_RECORDS` | | | Update multiple records | Update up to 10 records in an Airtable table with selective field modifications. | `AIRTABLE_UPDATE_MULTIPLE_RECORDS` | | | Update multiple records put | Destructively update multiple records in Airtable using PUT, clearing unspecified fields. | `AIRTABLE_UPDATE_MULTIPLE_RECORDS_PUT` | | | Update record | Modifies specified fields of an existing record in an Airtable base and table. | `AIRTABLE_UPDATE_RECORD` | | | Update record put | Updates an existing record in an Airtable base using PUT method. | `AIRTABLE_UPDATE_RECORD_PUT` | Teammates can use 27 of the 27 Airtable actions at this level: everything in **Read + write**, plus: * Create and update fields * Delete records * Create and update tables * Create bases The 7 actions that this level adds to **Read + write**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Bases** | Create base | Creates a new Airtable base with specified tables and fields within a workspace. | `AIRTABLE_CREATE_BASE` | | **Fields** | Create field | Creates a new field within a specified table in an Airtable base. | `AIRTABLE_CREATE_FIELD` | | | Update field | Updates a field's name or description in an Airtable table. | `AIRTABLE_UPDATE_FIELD` | | **Records** | Delete multiple records | Delete up to 10 specified records from a table within an Airtable base. | `AIRTABLE_DELETE_MULTIPLE_RECORDS` | | | Delete record | Permanently deletes a specific record from an existing table within an existing Airtable base. | `AIRTABLE_DELETE_RECORD` | | **Tables** | Create table | Creates a new table within a specified existing Airtable base, allowing definition of its name, description, and field structure. | `AIRTABLE_CREATE_TABLE` | | | Update table | Updates the name, description, and/or date dependency settings of a table in Airtable. | `AIRTABLE_UPDATE_TABLE` | ## Connect Airtable Before you start: * You need an Airtable account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Airtable** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Airtable**. The Airtable sign-in page opens in a new tab. Sign in to Airtable and approve the request. Check that it works: Airtable shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Airtable account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Airtable account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Airtable account Click **+ Account** on the Airtable card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Airtable side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Airtable**. 3. Sign in to Airtable and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Airtable account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Airtable.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Airtable account becomes primary. ## Costs Airtable actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Airtable, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Airtable connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Airtable account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Airtable card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Airtable account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Airtable.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Asana Source: https://squad.so/docs/apps/asana What teammates can do in Asana at each access level, and how to connect, limit, and disconnect Asana. Connect Asana so your teammates can work in your Asana account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Asana account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as tasks, projects, goals, portfolios, and teams. Cannot change anything." | 80 of 153 | | **Read + write** (recommended) | "Create and edit tasks, projects, sections, comments, and attachments, and move tasks to the trash. Cannot change members, teams, tags, custom fields, portfolios, or goals." | 117 of 153 | | **Full access** | "Everything, including members, teams, tags, custom fields, portfolios, goals, and deleting projects." | 153 of 153 | **Read + write** is the recommended level. The connect window selects it for you, and you can choose another level. The Asana sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Asana account?" The teammate can search the Asana actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Asana action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 80 of the 153 Asana actions at this level: * View members * View and search tasks * View projects * View users * View tags * View teams * View templates * View attachments * View custom fields * View entries * View events * View goals All 80 actions at this level: | Action | What it does | Slug | | - | - | - | | Get attachment | Get a single attachment by its globally unique identifier. | `ASANA_GET_ATTACHMENT` | | Get task attachments | Get the list of attachments for a given task, project, or project\_brief. | `ASANA_GET_TASK_ATTACHMENTS` | | Action | What it does | Slug | | - | - | - | | Get custom field | Get a single custom field by its globally unique identifier. | `ASANA_GET_CUSTOM_FIELD` | | Get custom fields for workspace | Get all custom fields in a workspace. | `ASANA_GET_CUSTOM_FIELDS_FOR_WORKSPACE` | | Action | What it does | Slug | | - | - | - | | Get time tracking entries | Get multiple time tracking entries across workspace, tasks, or projects. | `ASANA_GET_TIME_TRACKING_ENTRIES` | | Get time tracking entries for task | Get time tracking entries for a task. | `ASANA_GET_TIME_TRACKING_ENTRIES_FOR_TASK` | | Action | What it does | Slug | | - | - | - | | Get audit log events | Get audit log events for a workspace. | `ASANA_GET_AUDIT_LOG_EVENTS` | | Get events | Retrieve events on a resource to monitor changes. | `ASANA_GET_EVENTS` | | Action | What it does | Slug | | - | - | - | | Get favorites for user | Get a user's favorites within a specified workspace. | `ASANA_GET_FAVORITES_FOR_USER` | | Action | What it does | Slug | | - | - | - | | Get goal | Retrieve the full record for a single goal by its GID. | `ASANA_GET_GOAL` | | Get goal relationships | Retrieve goal relationships. | `ASANA_GET_GOAL_RELATIONSHIPS` | | Get goals | Retrieve multiple goals. | `ASANA_GET_GOALS` | | Action | What it does | Slug | | - | - | - | | Get portfolio items | Retrieve items in a portfolio. | `ASANA_GET_PORTFOLIO_ITEMS` | | Action | What it does | Slug | | - | - | - | | Get job | Retrieve a job by its globally unique identifier. | `ASANA_GET_JOB` | | Action | What it does | Slug | | - | - | - | | Get membership | Retrieve a single membership by its ID. | `ASANA_GET_MEMBERSHIP` | | Get memberships | Retrieve memberships for goals, projects, portfolios, or custom fields. | `ASANA_GET_MEMBERSHIPS` | | Get portfolio memberships | Retrieve multiple portfolio memberships. | `ASANA_GET_PORTFOLIO_MEMBERSHIPS` | | Get project membership | Get a project membership by ID. | `ASANA_GET_PROJECT_MEMBERSHIP` | | Get project memberships | Get memberships from a specific project. | `ASANA_GET_PROJECT_MEMBERSHIPS` | | Get team membership | Retrieve a complete team membership record by its GID. | `ASANA_GET_TEAM_MEMBERSHIP` | | Get team memberships | Retrieve compact team membership records. | `ASANA_GET_TEAM_MEMBERSHIPS` | | Get team memberships for team | Get memberships from a specific team. | `ASANA_GET_TEAM_MEMBERSHIPS_FOR_TEAM` | | Get team memberships for user | Get team memberships for a specific user. | `ASANA_GET_TEAM_MEMBERSHIPS_FOR_USER` | | Get workspace membership | Retrieve a specific workspace membership by its GID. | `ASANA_GET_WORKSPACE_MEMBERSHIP` | | Get workspace memberships | Retrieve the workspace memberships for a specific workspace. | `ASANA_GET_WORKSPACE_MEMBERSHIPS` | | Get workspace memberships for user | Retrieve workspace memberships for a specific user. | `ASANA_GET_WORKSPACE_MEMBERSHIPS_FOR_USER` | | Action | What it does | Slug | | - | - | - | | Get typeahead objects | Retrieve objects in a workspace via a typeahead search algorithm. | `ASANA_GET_TYPEAHEAD_OBJECTS` | | Action | What it does | Slug | | - | - | - | | Get portfolio | Retrieve the full record for a single portfolio by its GID. | `ASANA_GET_PORTFOLIO` | | Get portfolios | Retrieve multiple portfolios. | `ASANA_GET_PORTFOLIOS` | | Action | What it does | Slug | | - | - | - | | Get a project | Retrieves a specific Asana project by its project\_gid, with an option to include additional fields for comprehensive details using opt\_fields. | `ASANA_GET_A_PROJECT` | | Get multiple projects | Returns a list of projects filtered by workspace or team (one required), with optional archived status filter, supporting pagination for large datasets. | `ASANA_GET_MULTIPLE_PROJECTS` | | Get project brief | Retrieve a project brief by its GID. | `ASANA_GET_PROJECT_BRIEF` | | Get project status | Retrieve the full record for a single project status by its GID. | `ASANA_GET_PROJECT_STATUS` | | Get projects for task | Get all projects a task is in. | `ASANA_GET_PROJECTS_FOR_TASK` | | Get projects for team | Get a list of projects for a specific team in Asana. | `ASANA_GET_PROJECTS_FOR_TEAM` | | Get workspace projects | Retrieve the projects associated with a specific workspace. | `ASANA_GET_WORKSPACE_PROJECTS` | | Action | What it does | Slug | | - | - | - | | Get reactions on object | Get reactions with a specific emoji base character on an object. | `ASANA_GET_REACTIONS_ON_OBJECT` | | Action | What it does | Slug | | - | - | - | | Get section | Retrieve the full record for a single section by its GID. | `ASANA_GET_SECTION` | | Get sections in project | Returns compact records for all sections (used to group tasks) in a specified project. | `ASANA_GET_SECTIONS_IN_PROJECT` | | Action | What it does | Slug | | - | - | - | | Get project status updates | Get status updates for a specific project. | `ASANA_GET_PROJECT_STATUS_UPDATES` | | Get status updates | Retrieve status updates from an object. | `ASANA_GET_STATUS_UPDATES` | | Action | What it does | Slug | | - | - | - | | Get tag | Get a single tag by its globally unique identifier. | `ASANA_GET_TAG` | | Get tags | Get multiple tags in a workspace. | `ASANA_GET_TAGS` | | Get tags for task | Get all tags associated with a specific task. | `ASANA_GET_TAGS_FOR_TASK` | | Get tags for workspace | Get all tags in a specific workspace. | `ASANA_GET_TAGS_FOR_WORKSPACE` | | Action | What it does | Slug | | - | - | - | | Get stories for task | Get stories (comments, status updates, etc.) for a task. | `ASANA_GET_STORIES_FOR_TASK` | | Get story | Retrieve a story. | `ASANA_GET_STORY` | | Action | What it does | Slug | | - | - | - | | Get a user task list | Retrieves a specific user's task list from Asana by its user\_task\_list\_gid, optionally returning extended details like name, owner, and workspace if specified in opt\_fields. | `ASANA_GET_A_USER_TASK_LIST` | | Get user task list | Get a single user task list by its globally unique identifier. | `ASANA_GET_USER_TASK_LIST` | | Action | What it does | Slug | | - | - | - | | Get a task | Retrieves full details for a specified task GID accessible by the user. | `ASANA_GET_A_TASK` | | Get multiple tasks | Retrieves a list of tasks, allowing filtering by assignee (requires workspace), project, section, completed\_since, and modified\_since. | `ASANA_GET_MULTIPLE_TASKS` | | Get task counts for project | Get task count statistics for a project. | `ASANA_GET_TASK_COUNTS_FOR_PROJECT` | | Get task subtasks | Retrieve multiple task subtasks from a workspace. | `ASANA_GET_TASK_SUBTASKS` | | Get tasks for tag | Retrieve tasks associated with a specific Asana tag by tag GID. | `ASANA_GET_TASKS_FOR_TAG` | | Get tasks for user task list | Retrieve tasks from a user task list by user task list GID. | `ASANA_GET_TASKS_FOR_USER_TASK_LIST` | | Get tasks from a project | Retrieves tasks from a specified Asana project, allowing filtering by completion status and selection of optional fields for detailed responses. | `ASANA_GET_TASKS_FROM_A_PROJECT` | | Get tasks from section | Retrieve tasks that belong to a specific Asana section (column/header) by section GID. | `ASANA_GET_TASKS_FROM_SECTION` | | Search tasks in workspace | Search tasks across a workspace with advanced filters. | `ASANA_SEARCH_TASKS_IN_WORKSPACE` | | Action | What it does | Slug | | - | - | - | | Get team | Retrieve details of a specific team by its GID. | `ASANA_GET_TEAM` | | Get teams for user | Get teams for a specific user in an organization. | `ASANA_GET_TEAMS_FOR_USER` | | Get teams in workspace | Returns the compact records for all teams in the workspace visible to the authorized user. | `ASANA_GET_TEAMS_IN_WORKSPACE` | | Action | What it does | Slug | | - | - | - | | Get project templates | Retrieve multiple project templates. | `ASANA_GET_PROJECT_TEMPLATES` | | Get project templates for team | Get a team's project templates in Asana. | `ASANA_GET_PROJECT_TEMPLATES_FOR_TEAM` | | Get task templates | Retrieve multiple task templates from a workspace. | `ASANA_GET_TASK_TEMPLATES` | | Action | What it does | Slug | | - | - | - | | Get custom types | Get all custom types associated with a project. | `ASANA_GET_CUSTOM_TYPES` | | Action | What it does | Slug | | - | - | - | | Get current user | Retrieves the authenticated user's full record, including accessible workspaces, often used as an initial call to establish user context for subsequent operations. | `ASANA_GET_CURRENT_USER` | | Get multiple users | Returns a list of users in an Asana workspace or organization, optionally filtered by workspace or team GID, with support for pagination and specifying optional fields. | `ASANA_GET_MULTIPLE_USERS` | | Get user | Get a user by their ID. | `ASANA_GET_USER` | | Get user for workspace | Get a user in a workspace or organization by their GID. | `ASANA_GET_USER_FOR_WORKSPACE` | | Get users for team | Get users in a team. | `ASANA_GET_USERS_FOR_TEAM` | | Get users for workspace | Get users in a workspace or organization. | `ASANA_GET_USERS_FOR_WORKSPACE` | | Action | What it does | Slug | | - | - | - | | Get webhooks | Retrieve multiple webhooks in a workspace. | `ASANA_GET_WEBHOOKS` | | Action | What it does | Slug | | - | - | - | | Get multiple workspaces | Retrieves all workspaces accessible by the authenticated user, returning an empty list if the user has no accessible workspaces. | `ASANA_GET_MULTIPLE_WORKSPACES` | | Get workspace | Retrieve details of a specific workspace by its GID. | `ASANA_GET_WORKSPACE` | | Action | What it does | Slug | | - | - | - | | Get access requests | Retrieve access requests for a target object. | `ASANA_GET_ACCESS_REQUESTS` | | Get allocation | Get an allocation by ID. | `ASANA_GET_ALLOCATION` | | Get allocations | Get multiple allocations. | `ASANA_GET_ALLOCATIONS` | | Get status | Retrieve the full record for a single status update by its GID. | `ASANA_GET_STATUS` | | Get time period | Retrieve the full record for a single time period by its GID. | `ASANA_GET_TIME_PERIOD` | | Get time periods | Retrieve compact or full representations of time periods. | `ASANA_GET_TIME_PERIODS` | Teammates can use 117 of the 153 Asana actions at this level: everything in **Read-only**, plus: * Create, update, and delete projects * Create, update, and delete tasks * Create, update, and delete sections * Create attachments * Create and delete status updates * Update and delete task activity and comments * Create comments * Create dependencies * Delete followers * Create templates The 37 actions that this level adds to **Read-only**: | Action | What it does | Slug | | - | - | - | | Create attachment for object | Upload an attachment or link an external resource to a task, project, or project\_brief in Asana. | `ASANA_CREATE_ATTACHMENT_FOR_OBJECT` | | Create attachment for task | Upload an attachment to a task. | `ASANA_CREATE_ATTACHMENT_FOR_TASK` | | Action | What it does | Slug | | - | - | - | | Create task comment | Adds a new text comment (story) to an existing Asana task, appearing in its activity feed. | `ASANA_CREATE_TASK_COMMENT` | | Action | What it does | Slug | | - | - | - | | Add task dependencies | Add dependency relationships to an Asana task. | `ASANA_ADD_TASK_DEPENDENCIES` | | Action | What it does | Slug | | - | - | - | | Add followers to project | Add followers to a project in Asana. | `ASANA_ADD_FOLLOWERS_TO_PROJECT` | | Add followers to task | Add followers to a task in Asana. | `ASANA_ADD_FOLLOWERS_TO_TASK` | | Remove follower from task | Remove one or more followers from a task. | `ASANA_REMOVE_FOLLOWER_FROM_TASK` | | Remove followers for project | Remove followers from a project in Asana. | `ASANA_REMOVE_FOLLOWERS_FOR_PROJECT` | | Action | What it does | Slug | | - | - | - | | Create status for object | Create a status update on a project, portfolio, or goal. | `ASANA_CREATE_STATUS_FOR_OBJECT` | | Action | What it does | Slug | | - | - | - | | Add project for task | Add a project to a task in Asana. | `ASANA_ADD_PROJECT_FOR_TASK` | | Create a project | Creates a new Asana project in the specified workspace. | `ASANA_CREATE_A_PROJECT` | | Create project brief | Create a project brief for a project. | `ASANA_CREATE_PROJECT_BRIEF` | | Create project for team | Create a project in a team. | `ASANA_CREATE_PROJECT_FOR_TEAM` | | Create project for workspace | Create a project in a workspace. | `ASANA_CREATE_PROJECT_FOR_WORKSPACE` | | Delete project status | Delete a project status by its GID. | `ASANA_DELETE_PROJECT_STATUS` | | Duplicate project | Duplicate a project. | `ASANA_DUPLICATE_PROJECT` | | Remove project from task | Remove a project from a task in Asana. | `ASANA_REMOVE_PROJECT_FROM_TASK` | | Update project | Update a project. | `ASANA_UPDATE_PROJECT` | | Update project brief | Update a project brief by its GID. | `ASANA_UPDATE_PROJECT_BRIEF` | | Action | What it does | Slug | | - | - | - | | Create section in project | Creates a new SECTION (not a task) in a project. | `ASANA_CREATE_SECTION_IN_PROJECT` | | Delete section | Delete a section by its GID. | `ASANA_DELETE_SECTION` | | Insert section for project | Move or reorder an existing section within a project by repositioning it before or after another section. | `ASANA_INSERT_SECTION_FOR_PROJECT` | | Update section | Update a section's name or position within a project. | `ASANA_UPDATE_SECTION` | | Action | What it does | Slug | | - | - | - | | Create project status update | Create a new status update on a project. | `ASANA_CREATE_PROJECT_STATUS_UPDATE` | | Delete status update | Delete a status update by its GID. | `ASANA_DELETE_STATUS_UPDATE` | | Action | What it does | Slug | | - | - | - | | Add tag to task | Add an existing tag to a task in Asana. | `ASANA_ADD_TAG_TO_TASK` | | Remove tag from task | Remove an existing tag from a task in Asana. | `ASANA_REMOVE_TAG_FROM_TASK` | | Action | What it does | Slug | | - | - | - | | Delete story | Delete a story by its GID. | `ASANA_DELETE_STORY` | | Update story | Update a story on a task. | `ASANA_UPDATE_STORY` | | Action | What it does | Slug | | - | - | - | | Add task to section | Adds an existing task to a section, optionally positioning it before or after another task in that section. | `ASANA_ADD_TASK_TO_SECTION` | | Create a task | Creates a new Asana task. | `ASANA_CREATE_A_TASK` | | Create subtask | Creates a new Asana subtask under an existing parent task (task\_gid). | `ASANA_CREATE_SUBTASK` | | Delete task | Delete a task. | `ASANA_DELETE_TASK` | | Duplicate task | Duplicate a task. | `ASANA_DUPLICATE_TASK` | | Set parent for task | Set the parent of a task in Asana. | `ASANA_SET_PARENT_FOR_TASK` | | Update a task | Updates attributes of an existing Asana task identified by its task\_gid. | `ASANA_UPDATE_A_TASK` | | Action | What it does | Slug | | - | - | - | | Instantiate project template | Instantiate (create) a real Asana project from a project template, returning the async job record. | `ASANA_INSTANTIATE_PROJECT_TEMPLATE` | Teammates can use 153 of the 153 Asana actions at this level: everything in **Read + write**, plus: * Create, update, and delete tags * Update and delete users * Create, update, and delete custom fields * Create and delete members * Create and update settings * Create and update teams * Delete attachments * Update webhooks The 36 actions that this level adds to **Read + write**: | Action | What it does | Slug | | - | - | - | | Delete attachment | Delete an attachment by its globally unique identifier. | `ASANA_DELETE_ATTACHMENT` | | Action | What it does | Slug | | - | - | - | | Create custom field | Create a new custom field in a workspace. | `ASANA_CREATE_CUSTOM_FIELD` | | Delete custom field | Delete a custom field by its globally unique identifier. | `ASANA_DELETE_CUSTOM_FIELD` | | Update custom field | Update a custom field by its globally unique identifier. | `ASANA_UPDATE_CUSTOM_FIELD` | | Action | What it does | Slug | | - | - | - | | Add item to portfolio | Add a project (or other supported item) to an Asana portfolio using the native addItem endpoint. | `ASANA_ADD_ITEM_TO_PORTFOLIO` | | Remove item from portfolio | Remove an item (e.g., a project) from an Asana portfolio. | `ASANA_REMOVE_ITEM_FROM_PORTFOLIO` | | Action | What it does | Slug | | - | - | - | | Add members to project | Add users to a project in Asana. | `ASANA_ADD_MEMBERS_TO_PROJECT` | | Create membership | Create a membership by adding a user or team to a project, goal, or portfolio. | `ASANA_CREATE_MEMBERSHIP` | | Delete membership | Delete a membership by its GID. | `ASANA_DELETE_MEMBERSHIP` | | Remove members for project | Remove users from a project in Asana. | `ASANA_REMOVE_MEMBERS_FOR_PROJECT` | | Action | What it does | Slug | | - | - | - | | Delete project | Delete a project. | `ASANA_DELETE_PROJECT` | | Delete project brief | Delete a project brief by its GID. | `ASANA_DELETE_PROJECT_BRIEF` | | Action | What it does | Slug | | - | - | - | | Create enum option for custom field | Create a new enum option for a custom field in Asana. | `ASANA_CREATE_ENUM_OPTION_FOR_CUSTOM_FIELD` | | Insert enum option for custom field | Reorder an existing enum option within a custom field by moving it before or after another specified enum option. | `ASANA_INSERT_ENUM_OPTION_FOR_CUSTOM_FIELD` | | Update enum option | Update an enum option for a custom field. | `ASANA_UPDATE_ENUM_OPTION` | | Action | What it does | Slug | | - | - | - | | Create a tag in a workspace | Creates a new tag, with properties like name and color defined in the request body, within a specific Asana workspace (using workspace\_gid). | `ASANA_CREATE_A_TAG_IN_A_WORKSPACE` | | Create tag | Create a new tag in an Asana workspace. | `ASANA_CREATE_TAG` | | Delete tag | Delete a specific tag by its GID. | `ASANA_DELETE_TAG` | | Update tag | Update an existing tag by its globally unique identifier. | `ASANA_UPDATE_TAG` | | Action | What it does | Slug | | - | - | - | | Create team | Create a new team in an Asana workspace. | `ASANA_CREATE_TEAM` | | Update team | Update details of an existing team. | `ASANA_UPDATE_TEAM` | | Action | What it does | Slug | | - | - | - | | Add user to team | Add a user to a team in Asana. | `ASANA_ADD_USER_TO_TEAM` | | Add user to workspace | Add a user to a workspace or organization in Asana. | `ASANA_ADD_USER_TO_WORKSPACE` | | Remove user for team | Remove a user from a team. | `ASANA_REMOVE_USER_FOR_TEAM` | | Remove user for workspace | Remove a user from a workspace or organization. | `ASANA_REMOVE_USER_FOR_WORKSPACE` | | Update user | Update a user's custom fields. | `ASANA_UPDATE_USER` | | Update user for workspace | Update a user in a workspace or organization. | `ASANA_UPDATE_USER_FOR_WORKSPACE` | | Action | What it does | Slug | | - | - | - | | Update webhook | Update an existing Asana webhook's filter configuration. | `ASANA_UPDATE_WEBHOOK` | | Action | What it does | Slug | | - | - | - | | Add supporting relationship | Add a supporting goal relationship to a goal. | `ASANA_ADD_SUPPORTING_RELATIONSHIP` | | Approve access request | Approve an access request in Asana. | `ASANA_APPROVE_ACCESS_REQUEST` | | Create access request | Create an access request in Asana. | `ASANA_CREATE_ACCESS_REQUEST` | | Create allocation | Creates a new allocation. | `ASANA_CREATE_ALLOCATION` | | Delete allocation | Delete an allocation by its ID. | `ASANA_DELETE_ALLOCATION` | | Reject access request | Reject an access request. | `ASANA_REJECT_ACCESS_REQUEST` | | Submit parallel requests | Submit multiple Asana API requests in parallel using the Batch API. | `ASANA_SUBMIT_PARALLEL_REQUESTS` | | Update allocation | Update an existing allocation by its ID. | `ASANA_UPDATE_ALLOCATION` | ## Connect Asana Before you start: * You need an Asana account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Asana** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Asana**. The Asana sign-in page opens in a new tab. Sign in to Asana and approve the request. Check that it works: Asana shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Asana account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Asana account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Asana account Click **+ Account** on the Asana card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Asana side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Asana**. 3. Sign in to Asana and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Asana account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Asana.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Asana account becomes primary. ## Costs Asana actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Asana, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Asana connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Asana account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Asana card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Asana account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Asana.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Attio Source: https://squad.so/docs/apps/attio What teammates can do in Attio at each access level, and how to connect, limit, and disconnect Attio. Connect Attio so your teammates can work in your Attio account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Attio account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as records, lists, notes, and meetings. Cannot change anything." | 56 of 109 | | **Read + write** (recommended) | "Create and edit records, list entries, notes, tasks, and comments. Cannot delete them or change objects, attributes, lists, or webhooks." | 86 of 109 | | **Full access** | "Everything, including deletes and changes to objects, attributes, lists, and webhooks." | 109 of 109 | **Read + write** is the recommended level. The connect window selects it for you, and you can choose another level. The Attio sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Attio account?" The teammate can search the Attio actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Attio action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 56 of the 109 Attio actions at this level: * View and search records * View and search entries * View members * View attributes * View companies * View lists * View notes * View objects * View people * View recordings * View tasks * View webhooks All 56 actions at this level: | Action | What it does | Slug | | - | - | - | | Get attribute | Get information about a single attribute on either an object or a list. | `ATTIO_GET_ATTRIBUTE` | | List attribute statuses | List all statuses for a particular status attribute on either an object or a list. | `ATTIO_LIST_ATTRIBUTE_STATUSES` | | List attributes | List the attribute schema for an Attio object or list (including slugs, types, select/status config) to enable correct filtering and writes. | `ATTIO_LIST_ATTRIBUTES` | | List company attribute values | Get all values for a given attribute on a company record. | `ATTIO_LIST_COMPANY_ATTRIBUTE_VALUES` | | List deal record attribute values | Retrieve all values for a specified attribute on a deal record in Attio. | `ATTIO_LIST_DEAL_RECORD_ATTRIBUTE_VALUES` | | List list entry attribute values | Retrieve all values for a specified attribute on a list entry in Attio. | `ATTIO_LIST_LIST_ENTRY_ATTRIBUTE_VALUES` | | List people attribute values | Get all values for a given attribute on a person record. | `ATTIO_LIST_PEOPLE_ATTRIBUTE_VALUES` | | List record attribute values | Retrieve all values for a specified attribute on a record in Attio. | `ATTIO_LIST_RECORD_ATTRIBUTE_VALUES` | | List workspace record attribute values | Retrieve all values for a specified attribute on a workspace record in Attio. | `ATTIO_LIST_WORKSPACE_RECORD_ATTRIBUTE_VALUES` | | Action | What it does | Slug | | - | - | - | | Get comment | Get a single comment by its comment\_id in Attio. | `ATTIO_GET_COMMENT` | | Action | What it does | Slug | | - | - | - | | Get company | Get a single company record by its record\_id in Attio. | `ATTIO_GET_COMPANY` | | List companies | List company records in Attio with optional filtering and sorting. | `ATTIO_LIST_COMPANIES` | | Action | What it does | Slug | | - | - | - | | Get list entry | Get a single list entry by its entry\_id. | `ATTIO_GET_LIST_ENTRY` | | Get record entries | List all entries, across all lists, for which a record is the parent. | `ATTIO_GET_RECORD_ENTRIES` | | List company record entries | List all entries across all lists for which a company record is the parent in Attio. | `ATTIO_LIST_COMPANY_RECORD_ENTRIES` | | List deal entries | List all entries across all lists for which a deal record is the parent in Attio. | `ATTIO_LIST_DEAL_ENTRIES` | | List entries | DEPRECATED: Use ATTIO\_ATTIO\_POST\_V2\_LISTS\_LIST\_ENTRIES\_QUERY instead. | `ATTIO_LIST_ENTRIES` | | List list entries | DEPRECATED: Use ATTIO\_ATTIO\_POST\_V2\_LISTS\_LIST\_ENTRIES\_QUERY instead. | `ATTIO_LIST_LIST_ENTRIES` | | List people record entries | List all entries across all lists for which a person record is the parent in Attio. | `ATTIO_LIST_PEOPLE_RECORD_ENTRIES` | | List user record entries | List all entries across all lists for which a user record is the parent in Attio. | `ATTIO_LIST_USER_RECORD_ENTRIES` | | List workspace record entries | List all entries across all lists for which a workspace record is the parent in Attio. | `ATTIO_LIST_WORKSPACE_RECORD_ENTRIES` | | Post list entries query | List entries in a given list, with the option to filter and sort results. | `ATTIO_POST_V2_LISTS_LIST_ENTRIES_QUERY` | | Action | What it does | Slug | | - | - | - | | Get list | Retrieve details of a single list in your Attio workspace. | `ATTIO_GET_LIST` | | List lists | This tool retrieves all lists available in the Attio workspace, sorted as they appear in the sidebar. | `ATTIO_LIST_LISTS` | | Action | What it does | Slug | | - | - | - | | List meetings | List all meetings in the workspace using a deterministic sort order. | `ATTIO_LIST_MEETINGS` | | Action | What it does | Slug | | - | - | - | | Get workspace member | Get a single workspace member by their workspace\_member\_id. | `ATTIO_GET_WORKSPACE_MEMBER` | | Get workspace members | DEPRECATED: Use ATTIO\_LIST\_WORKSPACE\_MEMBERS instead. | `ATTIO_GET_V2_WORKSPACE_MEMBERS` | | List workspace members | List workspace members (actors) so agents can reliably assign owners and resolve workspace-member IDs even when the optional Users standard object is disabled. | `ATTIO_LIST_WORKSPACE_MEMBERS` | | Action | What it does | Slug | | - | - | - | | Get note | Get a single note by its note\_id in Attio. | `ATTIO_GET_NOTE` | | List notes | Lists notes in Attio. | `ATTIO_LIST_NOTES` | | Action | What it does | Slug | | - | - | - | | Get object | Get a single object by its object\_id or slug. | `ATTIO_GET_OBJECT` | | List objects | This tool retrieves a list of all available objects (both system-defined and user-defined) in the Attio workspace via GET /v2/objects, returning key metadata including slugs and IDs for each object. | `ATTIO_LIST_OBJECTS` | | Action | What it does | Slug | | - | - | - | | People get person | Get a single person record by its record\_id in Attio. | `ATTIO_PEOPLE_GET_PERSON` | | People list persons | List person records from Attio with optional filtering and sorting. | `ATTIO_PEOPLE_LIST_PERSONS` | | Action | What it does | Slug | | - | - | - | | Get call recording | | `ATTIO_GET_CALL_RECORDING` | | List call recordings | List all call recordings for a meeting in Attio. | `ATTIO_LIST_CALL_RECORDINGS` | | Action | What it does | Slug | | - | - | - | | Find record | This tool allows users to find a record in Attio by either its unique ID or by searching using unique attributes. | `ATTIO_FIND_RECORD` | | Get deal record | Get a single deal record by its record\_id in Attio. | `ATTIO_GET_DEAL_RECORD` | | Get object record ID | DEPRECATED: Use ATTIO\_FIND\_RECORD instead. | `ATTIO_GET_V2_OBJECTS_OBJECT_RECORDS_RECORD_ID` | | Get record | DEPRECATED: Use ATTIO\_FIND\_RECORD instead. | `ATTIO_GET_RECORD` | | Get workspace record | Get a single workspace record by its record\_id. | `ATTIO_GET_WORKSPACE_RECORD` | | List deal records | List deal records in Attio with the option to filter and sort results. | `ATTIO_LIST_DEAL_RECORDS` | | List records | This tool lists records from a specific object type in Attio. | `ATTIO_LIST_RECORDS` | | List user records | List user records in Attio with optional filtering and sorting. | `ATTIO_LIST_USER_RECORDS` | | List workspace records | List workspace records with filtering and sorting options. | `ATTIO_LIST_WORKSPACE_RECORDS` | | Post object records query | List people, company or other records in Attio with the option to filter and sort results. | `ATTIO_POST_V2_OBJECTS_OBJECT_RECORDS_QUERY` | | Post objects records search | DEPRECATED: Use ATTIO\_SEARCH\_RECORDS instead. | `ATTIO_POST_V2_OBJECTS_RECORDS_SEARCH` | | Query records | Query records for a specific Attio object using server-side filtering operators and sorting. | `ATTIO_QUERY_RECORDS` | | Search records | Fuzzy search for records across multiple objects in Attio. | `ATTIO_SEARCH_RECORDS` | | Action | What it does | Slug | | - | - | - | | List attribute options | List all select options for a particular attribute on either an object or a list. | `ATTIO_LIST_ATTRIBUTE_OPTIONS` | | Action | What it does | Slug | | - | - | - | | Get task | Get a single task by its task\_id in Attio. | `ATTIO_GET_TASK` | | Get tasks | List all tasks in the workspace. | `ATTIO_GET_V2_TASKS` | | Action | What it does | Slug | | - | - | - | | List threads | List threads of comments on a record or list entry in Attio. | `ATTIO_LIST_THREADS` | | Action | What it does | Slug | | - | - | - | | Get webhook | Get a single webhook by its webhook\_id in Attio. | `ATTIO_GET_WEBHOOK` | | List webhooks | Get all webhooks in your Attio workspace. | `ATTIO_LIST_WEBHOOKS` | | Action | What it does | Slug | | - | - | - | | Get self | Identify the current access token, the workspace it is linked to, and any permissions it has. | `ATTIO_GET_SELF` | Teammates can use 86 of the 109 Attio actions at this level: everything in **Read-only**, plus: * Create, update, and manage records * Create, update, and manage entries * Create, update, and manage companies * Create, update, and manage people * Create and update tasks * Create comments * Create notes * Manage workspaces The 30 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Comments** | Create comment | Create a new comment on a thread, record, or list entry in Attio. | `ATTIO_CREATE_COMMENT` | | **Companies** | Assert company | Creates or updates a company record in Attio using a unique attribute to search for existing companies. | `ATTIO_ASSERT_COMPANY` | | | Create company | Creates a new company record in Attio. | `ATTIO_CREATE_COMPANY` | | | Update company | Update a company record in Attio by its record\_id. | `ATTIO_UPDATE_COMPANY` | | **Entries** | Create entry | DEPRECATED: Use ATTIO\_ATTIO\_POST\_V2\_LISTS\_LIST\_ENTRIES instead. | `ATTIO_CREATE_ENTRY` | | | Patch list entry ID | Update list entries by entry\_id in Attio. | `ATTIO_PATCH_V2_LISTS_LIST_ENTRIES_ENTRY_ID` | | | Post list entries | Add a record to a list as a new list entry in Attio. | `ATTIO_POST_V2_LISTS_LIST_ENTRIES` | | | Put list entries | Create or update a list entry for a given parent record in Attio. | `ATTIO_PUT_V2_LISTS_LIST_ENTRIES` | | | Put list entry ID | Update list entries by entry\_id in Attio using PUT method. | `ATTIO_PUT_V2_LISTS_LIST_ENTRIES_ENTRY_ID` | | | Update entry | DEPRECATED: Use ATTIO\_ATTIO\_PATCH\_V2\_LISTS\_LIST\_ENTRIES\_ENTRY\_ID instead. | `ATTIO_UPDATE_ENTRY` | | **Notes** | Create note | This tool creates a new note on a given record in Attio. | `ATTIO_CREATE_NOTE` | | **People** | Assert person | Create or update person records using a unique attribute to search for existing people. | `ATTIO_ASSERT_PERSON` | | | Create person | Creates a new person record in Attio. | `ATTIO_CREATE_PERSON` | | | Update person | Update a person record in Attio by its record\_id. | `ATTIO_UPDATE_PERSON` | | **Records** | Assert user record | Creates or updates a user record in Attio using a unique attribute to search for existing users. | `ATTIO_ASSERT_USER_RECORD` | | | Create deal record | Create a new deal record in Attio. | `ATTIO_CREATE_DEAL_RECORD` | | | Create record | This tool creates a new record in Attio for a specified object type (people, companies, deals, users, workspaces, etc.). | `ATTIO_CREATE_RECORD` | | | Create user record | Creates a new user record in Attio. | `ATTIO_CREATE_USER_RECORD` | | | Create workspace record | Creates a new workspace record in Attio. | `ATTIO_CREATE_WORKSPACE_RECORD` | | | Patch record | Update people, companies, and other records by record\_id using PATCH method. | `ATTIO_PATCH_RECORD` | | | Post object records | DEPRECATED: Use ATTIO\_CREATE\_RECORD instead. | `ATTIO_POST_V2_OBJECTS_OBJECT_RECORDS` | | | Put object record ID | Update people, companies, and other records by record\_id using PUT method. | `ATTIO_PUT_V2_OBJECTS_OBJECT_RECORDS_RECORD_ID` | | | Put object records | Create or update people, companies and other records in Attio using a matching attribute. | `ATTIO_PUT_V2_OBJECTS_OBJECT_RECORDS` | | | Update deal record | Update an existing deal record in Attio by record ID. | `ATTIO_UPDATE_DEAL_RECORD` | | | Update record | This tool updates an existing record in Attio for a specified object type (people, companies, deals, users, workspaces, etc.). | `ATTIO_UPDATE_RECORD` | | | Update user record | Update a user record in Attio by its record\_id. | `ATTIO_UPDATE_USER_RECORD` | | | Update workspace record | Update a workspace record by ID using PATCH method. | `ATTIO_UPDATE_WORKSPACE_RECORD` | | **Tasks** | Create task | Create a new task in Attio. | `ATTIO_CREATE_TASK` | | | Update task | Update an existing task in Attio by its task\_id. | `ATTIO_UPDATE_TASK` | | **Workspaces** | Assert workspace | Creates or updates a workspace record in Attio using a unique attribute to search for existing workspaces. | `ATTIO_ASSERT_WORKSPACE` | Teammates can use 109 of the 109 Attio actions at this level: everything in **Read + write**, plus: * Create, update, and delete webhooks * Create and update attributes * Create and update lists * Create and update objects * Delete records * Create and update settings * Delete comments * Delete companies * Delete deals * Delete entries * Delete notes * Delete people The 23 actions that this level adds to **Read + write**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Attributes** | Create attribute | Create a new attribute on an object or list in Attio. | `ATTIO_CREATE_ATTRIBUTE` | | | Update attribute | Update an existing attribute by its attribute\_id or slug. | `ATTIO_UPDATE_ATTRIBUTE` | | **Comments** | Delete comment | Delete a comment by its comment\_id. | `ATTIO_DELETE_COMMENT` | | **Companies** | Delete company | Delete a company record from Attio by its record\_id. | `ATTIO_DELETE_COMPANY` | | **Deals** | Delete deal | Delete a deal record from Attio by its record\_id. | `ATTIO_DELETE_DEAL` | | **Entries** | Delete entry | Delete a single list entry by its entry\_id in Attio. | `ATTIO_DELETE_ENTRY` | | **Lists** | Create list | Create a new list in Attio. | `ATTIO_CREATE_LIST` | | | Update list | Update an existing list in Attio. | `ATTIO_UPDATE_LIST` | | **Notes** | Delete note | This tool allows users to delete a specific note in Attio by its ID. | `ATTIO_DELETE_NOTE` | | **Objects** | Create object | Create a new custom object in your Attio workspace. | `ATTIO_CREATE_OBJECT` | | | Update object | Update a single object's configuration in Attio. | `ATTIO_UPDATE_OBJECT` | | **People** | Delete person | Delete a person record from Attio by its record\_id. | `ATTIO_DELETE_PERSON` | | **Records** | Delete record | This tool allows you to delete a record from Attio permanently. | `ATTIO_DELETE_RECORD` | | | Delete workspace record | Delete a workspace record from Attio by its record\_id. | `ATTIO_DELETE_WORKSPACE_RECORD` | | **Settings** | Create select option | Add a new select option to a select or multiselect attribute in Attio. | `ATTIO_CREATE_SELECT_OPTION` | | | Update select option | Update an existing select option for a select or multiselect attribute in Attio. | `ATTIO_UPDATE_SELECT_OPTION` | | **Tasks** | Delete task | Delete a task by its task\_id. | `ATTIO_DELETE_TASK` | | **Users** | Delete user | Delete a user record from Attio by its record\_id. | `ATTIO_DELETE_USER` | | **Webhooks** | Create webhook | Create a webhook and subscribe to events in Attio. | `ATTIO_CREATE_WEBHOOK` | | | Delete webhook | Delete a webhook by its webhook\_id. | `ATTIO_DELETE_WEBHOOK` | | | Update webhook | Update a webhook's target URL and/or event subscriptions. | `ATTIO_UPDATE_WEBHOOK` | | **Other actions** | Create status | Add a new status to a status attribute on either an object or a list. | `ATTIO_CREATE_STATUS` | | | Update status | Update a status on a status attribute on either an object or a list in Attio. | `ATTIO_UPDATE_STATUS` | ## Connect Attio Before you start: * You need an Attio account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Attio** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Attio**. The Attio sign-in page opens in a new tab. Sign in to Attio and approve the request. Check that it works: Attio shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Attio account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Attio account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Attio account Click **+ Account** on the Attio card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Attio side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Attio**. 3. Sign in to Attio and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Attio account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Attio.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Attio account becomes primary. ## Costs Attio actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Attio, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Attio connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Attio account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Attio card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Attio account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Attio.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Basecamp Source: https://squad.so/docs/apps/basecamp What teammates can do in Basecamp with standard access, and how to connect, limit, and disconnect Basecamp. Connect Basecamp so your teammates can work in your Basecamp account. ## Access levels Basecamp has one level. The connect window shows it as **Default** and describes it as "Standard access." Teammates can use all 140 Basecamp actions. You cannot choose a narrower level for Basecamp. You can block single teammates with **No access** under **Per-teammate access**. The Basecamp sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in, and standard access does not limit which Basecamp actions teammates can use. ## What teammates can do The summary below groups the Basecamp actions into plain tasks. The full list after it names every action, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open the list and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Basecamp account?" The teammate can search the Basecamp actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Basecamp action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. * View, create, and update tasks * View, create, update, and delete columns * View, create, and update comments * View, create, and update files * View, update, and send messages * View, create, update, and delete projects * View, create, and update cards * View, create, and update documents * View people * View, create, update, and delete templates * View, create, update, and delete webhooks * View, create, and update entries | Action | What it does | Slug | | - | - | - | | Get buckets question answers | Retrieve a specific question answer by ID from a Basecamp project. | `BASECAMP_GET_BUCKETS_QUESTION_ANSWERS` | | Action | What it does | Slug | | - | - | - | | Post attachments | Upload a file to Basecamp system. | `BASECAMP_POST_ATTACHMENTS` | | Action | What it does | Slug | | - | - | - | | Get message board | Get the message board for a project. | `BASECAMP_GET_MESSAGE_BOARD` | | Action | What it does | Slug | | - | - | - | | Create card | Create a new card in a column of a Basecamp card table. | `BASECAMP_CREATE_CARD` | | Create card step | Create a step within a card in a Basecamp card table. | `BASECAMP_CREATE_CARD_STEP` | | Get buckets card tables lists cards | Retrieve a paginated list of cards from a card table column. | `BASECAMP_GET_BUCKETS_CARD_TABLES_LISTS_CARDS` | | Get card | Get a specific card by ID from a card table. | `BASECAMP_GET_CARD` | | Move card | Move a card to a different column within a Basecamp card table. | `BASECAMP_MOVE_CARD` | | Post buckets card tables cards moves | Move a card to a different column within a Basecamp card table. | `BASECAMP_POST_BUCKETS_CARD_TABLES_CARDS_MOVES` | | Post buckets card tables cards positions | Reposition a step within a card in a Basecamp card table. | `BASECAMP_POST_BUCKETS_CARD_TABLES_CARDS_POSITIONS` | | Reposition card step | Change the position of a step within a card. | `BASECAMP_REPOSITION_CARD_STEP` | | Update card | Update a card's details in a Basecamp card table. | `BASECAMP_UPDATE_CARD` | | Action | What it does | Slug | | - | - | - | | Get buckets categories | Retrieve all message types (categories) from a Basecamp project. | `BASECAMP_GET_BUCKETS_CATEGORIES` | | Post buckets categories | Create a new message type (category) in a Basecamp project. | `BASECAMP_POST_BUCKETS_CATEGORIES` | | Put buckets categories | Update an existing message type (category) in a Basecamp project. | `BASECAMP_PUT_BUCKETS_CATEGORIES` | | Action | What it does | Slug | | - | - | - | | Get buckets chats lines | Retrieve a paginated list of Campfire lines from a specific chat. | `BASECAMP_GET_BUCKETS_CHATS_LINES` | | Get chats | Retrieve a paginated list of all active Campfires (chats) visible to the current user. | `BASECAMP_GET_CHATS` | | Post buckets chats lines | Create a line in a Basecamp Campfire chat. | `BASECAMP_POST_BUCKETS_CHATS_LINES` | | Post integrations chatbot key buckets chats lines | Create a line in a Basecamp Campfire chat using a chatbot key. | `BASECAMP_POST_INTEGRATIONS_CHATBOT_KEY_BUCKETS_CHATS_LINES` | | Action | What it does | Slug | | - | - | - | | Put buckets recordings client visibility | Update client visibility for a recording in Basecamp. | `BASECAMP_PUT_BUCKETS_RECORDINGS_CLIENT_VISIBILITY` | | Action | What it does | Slug | | - | - | - | | Delete buckets card tables columns on hold | Remove the on-hold section from a card table column. | `BASECAMP_DELETE_BUCKETS_CARD_TABLES_COLUMNS_ON_HOLD` | | Get card table column | Get a specific column from a card table within a Basecamp project. | `BASECAMP_GET_CARD_TABLE_COLUMN` | | Move card table column | Reorder columns within a Basecamp card table. | `BASECAMP_MOVE_CARD_TABLE_COLUMN` | | Post buckets card tables columns | Create a column within a Basecamp card table. | `BASECAMP_POST_BUCKETS_CARD_TABLES_COLUMNS` | | Post buckets card tables columns on hold | Create an on-hold section in a card table column. | `BASECAMP_POST_BUCKETS_CARD_TABLES_COLUMNS_ON_HOLD` | | Put buckets card tables columns color | Update a card table column's visual color designation in a Basecamp project. | `BASECAMP_PUT_BUCKETS_CARD_TABLES_COLUMNS_COLOR` | | Unwatch card table column | Stop watching a card table column. | `BASECAMP_UNWATCH_CARD_TABLE_COLUMN` | | Update card table column | Update a card table column's properties in a Basecamp project. | `BASECAMP_UPDATE_CARD_TABLE_COLUMN` | | Watch card table column | Start watching a card table column in a Basecamp project. | `BASECAMP_WATCH_CARD_TABLE_COLUMN` | | Action | What it does | Slug | | - | - | - | | Get comment | Retrieve a specific comment by ID from a Basecamp project. | `BASECAMP_GET_COMMENT` | | List comments | Get all comments on a recording in a Basecamp project. | `BASECAMP_LIST_COMMENTS` | | Post buckets recordings comments | Publish a comment on a recording within a Basecamp project. | `BASECAMP_POST_BUCKETS_RECORDINGS_COMMENTS` | | Post buckets todolists comments | Add a comment to a to-do list in a Basecamp project. | `BASECAMP_POST_BUCKETS_TODOLISTS_COMMENTS` | | Post buckets todos comments | Add a comment to a to-do in a Basecamp project. | `BASECAMP_POST_BUCKETS_TODOS_COMMENTS` | | Put buckets comments | Update comment content in a Basecamp project. | `BASECAMP_PUT_BUCKETS_COMMENTS` | | Action | What it does | Slug | | - | - | - | | Create document | Create a new document in a Basecamp vault. | `BASECAMP_CREATE_DOCUMENT` | | Get buckets vaults documents | Retrieve a paginated list of active documents from a vault in a Basecamp project. | `BASECAMP_GET_BUCKETS_VAULTS_DOCUMENTS` | | Get document | Get a specific document by ID from a Basecamp project bucket. | `BASECAMP_GET_DOCUMENT` | | Put buckets documents | Update an existing document in a Basecamp project bucket. | `BASECAMP_PUT_BUCKETS_DOCUMENTS` | | Update document | Update an existing document's title or content in a Basecamp project. | `BASECAMP_UPDATE_DOCUMENT` | | Action | What it does | Slug | | - | - | - | | Get buckets schedules entries | Retrieve a paginated list of schedule entries from a schedule. | `BASECAMP_GET_BUCKETS_SCHEDULES_ENTRIES` | | Get schedule entry | Get a specific schedule entry by ID from a Basecamp project. | `BASECAMP_GET_SCHEDULE_ENTRY` | | Post buckets schedules entries | Create a schedule entry in a Basecamp schedule within a project. | `BASECAMP_POST_BUCKETS_SCHEDULES_ENTRIES` | | Put buckets schedule entries | Update an existing schedule entry in a Basecamp schedule. | `BASECAMP_PUT_BUCKETS_SCHEDULE_ENTRIES` | | Action | What it does | Slug | | - | - | - | | Get buckets recordings events | Retrieve a paginated list of events for a recording. | `BASECAMP_GET_BUCKETS_RECORDINGS_EVENTS` | | Action | What it does | Slug | | - | - | - | | Create upload | Create a new upload (file) in a Basecamp vault. | `BASECAMP_CREATE_UPLOAD` | | Get buckets uploads | Retrieve a specific upload by ID from a Basecamp project vault. | `BASECAMP_GET_BUCKETS_UPLOADS` | | Get buckets vaults uploads | Retrieve a paginated list of active uploads from a vault in a Basecamp project. | `BASECAMP_GET_BUCKETS_VAULTS_UPLOADS` | | Get upload | Get a specific upload by ID from a Basecamp project. | `BASECAMP_GET_UPLOAD` | | List uploads | Retrieve all active uploads from a vault in a Basecamp project. | `BASECAMP_LIST_UPLOADS` | | Put buckets uploads | Update an existing upload in a Basecamp project bucket. | `BASECAMP_PUT_BUCKETS_UPLOADS` | | Action | What it does | Slug | | - | - | - | | Create todolist group | Create a new to-do group within a parent to-do list in Basecamp. | `BASECAMP_CREATE_TODOLIST_GROUP` | | Get buckets todolists groups | Retrieve a paginated list of active groups from a to-do list in a Basecamp project. | `BASECAMP_GET_BUCKETS_TODOLISTS_GROUPS` | | Put buckets todolists groups position | Reposition a to-do list group within its parent to-do list in a Basecamp project. | `BASECAMP_PUT_BUCKETS_TODOLISTS_GROUPS_POSITION` | | Action | What it does | Slug | | - | - | - | | Get buckets inboxes forwards | Retrieve a paginated list of active email forwards from a project's inbox. | `BASECAMP_GET_BUCKETS_INBOXES_FORWARDS` | | Get inbox | Get the inbox (email forwards) for a Basecamp project. | `BASECAMP_GET_INBOX` | | Action | What it does | Slug | | - | - | - | | Get buckets chats integrations | Retrieve all chatbot integrations from a Campfire chat. | `BASECAMP_GET_BUCKETS_CHATS_INTEGRATIONS` | | Put buckets chats integrations | Update an existing chatbot integration in a Basecamp Campfire chat. | `BASECAMP_PUT_BUCKETS_CHATS_INTEGRATIONS` | | Action | What it does | Slug | | - | - | - | | Get buckets message boards messages | Retrieve a paginated list of active messages from a message board in a Basecamp project. | `BASECAMP_GET_BUCKETS_MESSAGE_BOARDS_MESSAGES` | | Get message | Retrieve a specific message by ID from a Basecamp project message board. | `BASECAMP_GET_MESSAGE` | | Pin message | Pin a message to the top of the message board. | `BASECAMP_PIN_MESSAGE` | | Post buckets message boards messages | Publish a message to a Basecamp message board within a project. | `BASECAMP_POST_BUCKETS_MESSAGE_BOARDS_MESSAGES` | | Put buckets messages | Update a message's subject, content, or category in a Basecamp project. | `BASECAMP_PUT_BUCKETS_MESSAGES` | | Unpin message | Unpin a message from the message board. | `BASECAMP_UNPIN_MESSAGE` | | Action | What it does | Slug | | - | - | - | | Get circles people | Retrieve all people on this Basecamp account who can be pinged. | `BASECAMP_GET_CIRCLES_PEOPLE` | | Get people | Retrieve all people visible to the current user in the Basecamp account. | `BASECAMP_GET_PEOPLE` | | Get people by person ID | Retrieve the profile for a specific user by their ID. | `BASECAMP_GET_PEOPLE_BY_PERSON_ID` | | Get projects people | Retrieve all active people assigned to a Basecamp project. | `BASECAMP_GET_PROJECTS_PEOPLE` | | List project people | Get all people on a specific Basecamp project. | `BASECAMP_LIST_PROJECT_PEOPLE` | | Action | What it does | Slug | | - | - | - | | Get my profile | Retrieve the current user's personal info including profile details, permissions, and settings. | `BASECAMP_GET_MY_PROFILE` | | Action | What it does | Slug | | - | - | - | | Create project construction | Create a new project from a Basecamp template asynchronously. | `BASECAMP_CREATE_PROJECT_CONSTRUCTION` | | Get project | Retrieve a specific project by its ID with complete details. | `BASECAMP_GET_PROJECT` | | Get projects | Retrieve a paginated list of projects visible to the current user, sorted by most recently created first. | `BASECAMP_GET_PROJECTS` | | Get projects by project ID | Retrieve a single project by its ID with full details including dock tools. | `BASECAMP_GET_PROJECTS_BY_PROJECT_ID` | | Get templates project constructions | Retrieve the status of a project construction from a template. | `BASECAMP_GET_TEMPLATES_PROJECT_CONSTRUCTIONS` | | Post projects | Create a new project in Basecamp with a name and optional description. | `BASECAMP_POST_PROJECTS` | | Put projects | Update an existing project's name, description, access policy, or schedule in Basecamp. | `BASECAMP_PUT_PROJECTS` | | Trash project | Mark a Basecamp project as trashed. | `BASECAMP_TRASH_PROJECT` | | Action | What it does | Slug | | - | - | - | | Get buckets questionnaires questions | Retrieve a paginated list of questions from a questionnaire in a Basecamp project. | `BASECAMP_GET_BUCKETS_QUESTIONNAIRES_QUESTIONS` | | Get buckets questions | Retrieve a specific check-in question by ID from a Basecamp project. | `BASECAMP_GET_BUCKETS_QUESTIONS` | | Action | What it does | Slug | | - | - | - | | Delete buckets recordings pin | Unpin a recording (message) in a Basecamp project. | `BASECAMP_DELETE_BUCKETS_RECORDINGS_PIN` | | Get projects recordings | Retrieve a paginated list of records for a given type of recording across projects. | `BASECAMP_GET_PROJECTS_RECORDINGS` | | Post buckets recordings pin | Pin a recording (message) in a Basecamp project. | `BASECAMP_POST_BUCKETS_RECORDINGS_PIN` | | Put buckets recordings status active | Unarchive a recording in a Basecamp project by marking it as active. | `BASECAMP_PUT_BUCKETS_RECORDINGS_STATUS_ACTIVE` | | Put buckets recordings status archived | Mark a recording as archived in a Basecamp project. | `BASECAMP_PUT_BUCKETS_RECORDINGS_STATUS_ARCHIVED` | | Put buckets recordings status trashed | Mark a recording as trashed in a Basecamp project. | `BASECAMP_PUT_BUCKETS_RECORDINGS_STATUS_TRASHED` | | Action | What it does | Slug | | - | - | - | | Get schedule | Retrieve schedule details for a specific project. | `BASECAMP_GET_SCHEDULE` | | Put buckets schedules | Update a schedule configuration in a Basecamp project. | `BASECAMP_PUT_BUCKETS_SCHEDULES` | | Action | What it does | Slug | | - | - | - | | Get buckets questionnaires | Retrieve a specific questionnaire (automatic check-ins) from a Basecamp project. | `BASECAMP_GET_BUCKETS_QUESTIONNAIRES` | | Get buckets vaults | Retrieve a specific vault from a Basecamp project. | `BASECAMP_GET_BUCKETS_VAULTS` | | Get buckets vaults | Retrieve a paginated list of vaults nested within a parent vault in a Basecamp project. | `BASECAMP_GET_BUCKETS_VAULTS_VAULTS` | | Put buckets vaults | Update a vault's title in a Basecamp project. | `BASECAMP_PUT_BUCKETS_VAULTS` | | Action | What it does | Slug | | - | - | - | | Get subscription | Get subscription information for a recording. | `BASECAMP_GET_SUBSCRIPTION` | | Post buckets recordings subscription | Subscribe the current user to a recording for notifications. | `BASECAMP_POST_BUCKETS_RECORDINGS_SUBSCRIPTION` | | Put buckets recordings subscription | Update recording subscriptions by adding or removing subscribers. | `BASECAMP_PUT_BUCKETS_RECORDINGS_SUBSCRIPTION` | | Action | What it does | Slug | | - | - | - | | Get card table | Retrieve a card table (Kanban board) for a project. | `BASECAMP_GET_CARD_TABLE` | | Put buckets card tables steps | Update an existing card table step in Basecamp. | `BASECAMP_PUT_BUCKETS_CARD_TABLES_STEPS` | | Put buckets card tables steps completions | Mark a card table step as completed or uncompleted in Basecamp. | `BASECAMP_PUT_BUCKETS_CARD_TABLES_STEPS_COMPLETIONS` | | Action | What it does | Slug | | - | - | - | | Get buckets todosets todolists | Retrieve a paginated list of to-do lists within a specific to-do set in a Basecamp project. | `BASECAMP_GET_BUCKETS_TODOSETS_TODOLISTS` | | Get todolist | Retrieve a specific to-do list from a Basecamp project by its ID. | `BASECAMP_GET_TODOLIST` | | List todolists | Get all to-do lists in a to-do set within a Basecamp project. | `BASECAMP_LIST_TODOLISTS` | | Post buckets todosets todolists | Create a new to-do list in a Basecamp to-do set within a project. | `BASECAMP_POST_BUCKETS_TODOSETS_TODOLISTS` | | Action | What it does | Slug | | - | - | - | | Complete todo | Mark a to-do as completed in Basecamp. | `BASECAMP_COMPLETE_TODO` | | Create todo | DEPRECATED: Use BASECAMP\_POST\_BUCKETS\_TODOLISTS\_TODOS instead. | `BASECAMP_CREATE_TODO` | | Get buckets todolists todos | Retrieve a paginated list of to-dos from a specific to-do list in a Basecamp project. | `BASECAMP_GET_BUCKETS_TODOLISTS_TODOS` | | Get buckets todos | Retrieve a specific to-do by ID from a Basecamp project. | `BASECAMP_GET_BUCKETS_TODOS` | | Get todo | Retrieve a specific to-do by ID from a Basecamp project. | `BASECAMP_GET_TODO` | | Post buckets todolists todos | Create a to-do in a Basecamp to-do list within a project. | `BASECAMP_POST_BUCKETS_TODOLISTS_TODOS` | | Put buckets todos | Update an existing to-do in a Basecamp project. | `BASECAMP_PUT_BUCKETS_TODOS` | | Put buckets todos position | Change the position of a to-do within its list in a Basecamp project. | `BASECAMP_PUT_BUCKETS_TODOS_POSITION` | | Uncomplete todo | Mark a to-do as uncompleted in Basecamp. | `BASECAMP_UNCOMPLETE_TODO` | | Update todo | Update a to-do's content, assignees, or due date in a Basecamp project. | `BASECAMP_UPDATE_TODO` | | Action | What it does | Slug | | - | - | - | | Get templates | Retrieve a paginated list of active templates visible to the current user, sorted by most recently created first. | `BASECAMP_GET_TEMPLATES` | | Get templates by template ID | Retrieve a single template by its ID with full details including dock tools. | `BASECAMP_GET_TEMPLATES_BY_TEMPLATE_ID` | | Post templates | Create a new template in Basecamp with a name and optional description. | `BASECAMP_POST_TEMPLATES` | | Put templates | Update a template's name and description in Basecamp. | `BASECAMP_PUT_TEMPLATES` | | Trash template | Mark a template as trashed in Basecamp. | `BASECAMP_TRASH_TEMPLATE` | | Action | What it does | Slug | | - | - | - | | Get reports timesheet | Retrieve all timesheet entries across the Basecamp account within a given timeframe. | `BASECAMP_GET_REPORTS_TIMESHEET` | | Action | What it does | Slug | | - | - | - | | Delete message type | Delete a message type from a Basecamp project. | `BASECAMP_DELETE_MESSAGE_TYPE` | | Get message type | Retrieve a specific message type by ID from a Basecamp project. | `BASECAMP_GET_MESSAGE_TYPE` | | List message types | Retrieve all message types in a Basecamp project. | `BASECAMP_LIST_MESSAGE_TYPES` | | Action | What it does | Slug | | - | - | - | | Put projects people users | Grant or revoke project access for users in Basecamp. | `BASECAMP_PUT_PROJECTS_PEOPLE_USERS` | | Unsubscribe current user | Unsubscribe the current user from a recording. | `BASECAMP_UNSUBSCRIBE_CURRENT_USER` | | Action | What it does | Slug | | - | - | - | | Delete webhooks | Delete a webhook from a Basecamp project. | `BASECAMP_DELETE_WEBHOOKS` | | Get buckets webhooks | Retrieve all webhooks configured for a Basecamp project. | `BASECAMP_GET_BUCKETS_WEBHOOKS` | | Get webhook | Retrieve a specific webhook by ID from a Basecamp project. | `BASECAMP_GET_WEBHOOK` | | Post buckets webhooks | Create a new webhook subscription for a Basecamp project. | `BASECAMP_POST_BUCKETS_WEBHOOKS` | | Put buckets webhooks | Update an existing webhook in a Basecamp project. | `BASECAMP_PUT_BUCKETS_WEBHOOKS` | | Action | What it does | Slug | | - | - | - | | Create chatbot | Create a new chatbot in a Basecamp Campfire chat. | `BASECAMP_CREATE_CHATBOT` | | Create chatbot line | Post a message as a chatbot to a Basecamp Campfire. | `BASECAMP_CREATE_CHATBOT_LINE` | | Create vault | Create a new vault (folder) within an existing parent vault in a Basecamp project. | `BASECAMP_CREATE_VAULT` | | Delete campfire line | Delete a Campfire line from a chat conversation. | `BASECAMP_DELETE_CAMPFIRE_LINE` | | Delete chatbot | Delete a chatbot from a Campfire chat. | `BASECAMP_DELETE_CHATBOT` | | Get campfire | Retrieve a specific Campfire (chat room) by ID from a Basecamp project. | `BASECAMP_GET_CAMPFIRE` | | Get campfire line | Retrieve a specific Campfire line by ID from a Basecamp project. | `BASECAMP_GET_CAMPFIRE_LINE` | | Get chatbot | Get a specific chatbot by ID from a Basecamp Campfire chat. | `BASECAMP_GET_CHATBOT` | | Get todoset | Retrieve a specific to-do set from a Basecamp project. | `BASECAMP_GET_TODOSET` | | List chatbots | Get all chatbots for a chat/campfire. | `BASECAMP_LIST_CHATBOTS` | | Post lineup markers | Create an account-wide marker that shows up in the Lineup. | `BASECAMP_POST_LINEUP_MARKERS` | | Update vault | Update a vault's title in a Basecamp project. | `BASECAMP_UPDATE_VAULT` | ## Connect Basecamp Before you start: * You need a Basecamp account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Basecamp** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, keep **Default**. It is the only option. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Basecamp**. The Basecamp sign-in page opens in a new tab. Sign in to Basecamp and approve the request. Check that it works: Basecamp shows under **Your connections**, with a row for the account and its access level. ## Set access for one teammate Every teammate can use the account unless you block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Basecamp account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose **No access** to block the teammate. Choose **Default (Default)** to allow it again. 5. Click **Save access**. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Basecamp account Click **+ Account** on the Basecamp card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Basecamp side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Basecamp**. 3. Sign in to Basecamp and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Basecamp account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Basecamp.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Basecamp account becomes primary. ## Costs Basecamp actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate says it has no access to Basecamp, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Basecamp connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions You cannot choose a narrower level for Basecamp. You can block single teammates with **No access** under **Per-teammate access**. Click **+ Account** on the Basecamp card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Basecamp account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Basecamp.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Bazzly Source: https://squad.so/docs/apps/bazzly Connect Bazzly so your teammates can find Reddit threads and draft replies, and learn how to make a key that cannot spend money. [Bazzly](https://www.bazzly.ai/?via=mchq) is Reddit marketing: it finds high-intent threads and helps you reply on-brand. Connect it, and your teammates can find threads, draft replies, and queue them for you. Bazzly is in the **Recommended** section of the catalog. It connects with a Bazzly API key that you paste. It has no sign-in button. ## What teammates can do in Bazzly Teammates get Bazzly tools with names that start with `bazzly_`. With them, teammates can: * Find high-intent Reddit threads, each scored for fit (`bazzly_list_opportunities`). * Draft an on-brand reply (`bazzly_generate_opportunity_reply`). * Stage a reply (`bazzly_queue_reply`). * See what is staged (`bazzly_list_reply_queue`). * Use the comment, DM, and analytics tools in the same family. Replies go out on your real Reddit presence. Teammates are told to queue drafts for your review, unless you pre-approved that kind of reply. This is an instruction to the teammates. Squad does not enforce it. Bazzly has no access levels in Squad, and there is no **Per-teammate access** setting for it. The tools appear within a couple of minutes after you connect. Until then, teammates cannot see them. ## Spending protection depends on your key Squad does not block any Bazzly tool. The only protection against spending is the key itself. A Bazzly API key carries scopes: read, write, and top-ups. A key without the top-ups scope cannot buy anything, whatever tools the Bazzly server offers. Create the key with the **read** and **write** scopes only, and leave **top-ups** off. If the key has the top-ups scope, Squad does not stop teammates from using it. Generating replies spends the Bazzly credits in your Bazzly account. Teammates are told to tell you when credits run low. You top up yourself, in the Bazzly dashboard. ## Connect Bazzly Before you start: * You need a Bazzly account. Sign in at [bazzly.ai](https://www.bazzly.ai/?via=mchq). * Your Squad subscription must be active. * You must be the owner, or an Administrator who is not limited to some teammates. In Bazzly, open [**Account Settings** > **API keys**](https://www.bazzly.ai/dashboard/account-settings?tab=api-keys\&via=mchq). Create a key with the **read** and **write** scopes only. Leave **top-ups** off. Copy the key. Bazzly shows it only once. In Squad, click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Under **Recommended**, click **Bazzly**. The **Connect Bazzly** window opens. Paste the key in the **API key** field. Click **Connect Bazzly**. Check that it works: Bazzly shows **Connected** in the catalog and appears in the list under **Custom integrations**. When you open it again from the catalog, the window shows "Connected. Your teammates can use Bazzly." ## Replace the key Open **Settings** > **Apps**, click **Add integration**, and click **Bazzly** in the catalog. Click **Replace the stored key**, paste the new key, and click **Save new key**. Create the new key with the same scopes: **read** and **write** only. Squad stores one Bazzly key for your workspace. A new key replaces the old one. You cannot connect a second Bazzly account. ## Disconnect Bazzly Open **Bazzly** from the catalog, click **Disconnect**, then click **Really disconnect?** to confirm. Squad deletes the stored key from your squad's computer. ## Costs Bazzly tools do not use Squad credits. Generating replies spends the Bazzly credits in your Bazzly account. For what uses Squad credits, see [What Squad costs](/docs/costs). ## Common questions Only if your key allows it. Squad does not block any Bazzly tool. Create the key with the **read** and **write** scopes only, and leave **top-ups** off. A key without the top-ups scope cannot buy anything. Generating replies spends the Bazzly credits in your Bazzly account. It does not use Squad credits. Open **Bazzly** from the catalog, click **Disconnect**, then click **Really disconnect?** to confirm. Squad deletes the stored key from your squad's computer. ## Related pages # Bitbucket Source: https://squad.so/docs/apps/bitbucket What teammates can do in Bitbucket at each access level, and how to connect, limit, and disconnect Bitbucket. Connect Bitbucket so your teammates can work in your Bitbucket account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Bitbucket account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as repos, code, pull requests, issues, and pipelines. Cannot change anything." | 80 of 110 | | **Read + write** (recommended) | "Work with branches, pull requests, reviews, merges, issues, and comments. Cannot create or delete repositories, change pipeline variables, or delete issues." | 101 of 110 | | **Full access** | "Everything, including repositories, pipeline variables, stopping pipelines, and deleting issues." | 110 of 110 | **Read + write** is the recommended level. The connect window selects it for you, and you can choose another level. The Bitbucket sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Bitbucket account?" The teammate can search the Bitbucket actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Bitbucket action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 80 of the 110 Bitbucket actions at this level: * View and create commits * View and search code * View comments * View repositories * View workspaces * View pull requests * View branches * View email addresses * View environments * View pipelines * View reports * View snippets All 80 actions at this level: | Action | What it does | Slug | | - | - | - | | Get repositories pullrequests activity | Get paginated activity log for all pull requests in a repository. | `BITBUCKET_GET_REPOSITORIES_PULLREQUESTS_ACTIVITY` | | Action | What it does | Slug | | - | - | - | | Get repositories merge base | Get the merge base (best common ancestor) between two commits in a Bitbucket repository. | `BITBUCKET_GET_REPOSITORIES_MERGE_BASE` | | Action | What it does | Slug | | - | - | - | | Get branch | Retrieves detailed information about a specific branch in a Bitbucket repository. | `BITBUCKET_GET_BRANCH` | | List branches | Lists branches in a Bitbucket repository with optional server-side filtering by name pattern (BBQL) and sorting. | `BITBUCKET_LIST_BRANCHES` | | Action | What it does | Slug | | - | - | - | | Get commit changes | Retrieve a page of changes made in a specified commit, showing all changed files with their change statistics (lines added/removed, status). | `BITBUCKET_GET_COMMIT_CHANGES` | | Action | What it does | Slug | | - | - | - | | Get commit diff | Retrieve the unified diff between two provided revisions or for a single commit in a Bitbucket repository. | `BITBUCKET_GET_COMMIT_DIFF` | | Get pull request diff | Fetch the unified diff for a Bitbucket pull request (follows 302 redirect to repository diff). | `BITBUCKET_GET_PULL_REQUEST_DIFF` | | Get workspaces search code | Search for code in the repositories of the specified workspace. | `BITBUCKET_GET_WORKSPACES_SEARCH_CODE` | | Search team code | Search for code in repositories of a specified team. | `BITBUCKET_SEARCH_TEAM_CODE` | | Search user repositories code | Search for code in the repositories of a specified user. | `BITBUCKET_SEARCH_USER_REPOSITORIES_CODE` | | Action | What it does | Slug | | - | - | - | | Get commit comment | Retrieves a specific comment from a commit by its ID. | `BITBUCKET_GET_COMMIT_COMMENT` | | Get pull request comment | Retrieve a specific comment from a pull request by its ID. | `BITBUCKET_GET_PULL_REQUEST_COMMENT` | | Get repositories commit comments | Retrieves all comments on a specific commit in a Bitbucket repository. | `BITBUCKET_GET_REPOSITORIES_COMMIT_COMMENTS` | | Get repositories pullrequests comments | Retrieves a paginated list of comments on a specific pull request in a Bitbucket repository. | `BITBUCKET_GET_REPOSITORIES_PULLREQUESTS_COMMENTS` | | Action | What it does | Slug | | - | - | - | | Create repositories commits2 | List commits from a revision using POST method. | `BITBUCKET_CREATE_REPOSITORIES_COMMITS2` | | Get commit build status | Get a specific build status for a commit in Bitbucket. | `BITBUCKET_GET_COMMIT_BUILD_STATUS` | | Get pull request commits | Retrieve commits for a specified pull request. | `BITBUCKET_GET_PULL_REQUEST_COMMITS` | | Get repositories commit | Retrieve detailed information about a specific commit in a Bitbucket repository. | `BITBUCKET_GET_REPOSITORIES_COMMIT` | | Get repositories commit statuses | Returns all build statuses (e.g., CI/CD pipeline results) for a specific commit. | `BITBUCKET_GET_REPOSITORIES_COMMIT_STATUSES` | | List commits | Retrieve a page of commits from a Bitbucket repository. | `BITBUCKET_LIST_COMMITS` | | List commits from revision | List commits starting from a specific revision in a Bitbucket repository. | `BITBUCKET_LIST_COMMITS_FROM_REVISION` | | List commits on master | Lists commits on the master branch of a Bitbucket repository. | `BITBUCKET_LIST_COMMITS_ON_MASTER` | | Action | What it does | Slug | | - | - | - | | Get raw file content | DEPRECATED: Use BITBUCKET\_GET\_FILE\_FROM\_REPOSITORY instead. | `BITBUCKET_GET_RAW_FILE_CONTENT` | | Action | What it does | Slug | | - | - | - | | List deployments | Lists deployments for a specified Bitbucket repository. | `BITBUCKET_LIST_DEPLOYMENTS` | | Action | What it does | Slug | | - | - | - | | Get user emails | Returns all the authenticated user's email addresses, both confirmed and unconfirmed. | `BITBUCKET_GET_USER_EMAILS` | | Get user emails2 | Retrieves details about a specific email address for the authenticated user. | `BITBUCKET_GET_USER_EMAILS2` | | Action | What it does | Slug | | - | - | - | | Get repositories environments2 | Retrieve detailed information about a specific deployment environment in a Bitbucket repository. | `BITBUCKET_GET_REPOSITORIES_ENVIRONMENTS2` | | List repositories environments | List all deployment environments configured for a Bitbucket repository. | `BITBUCKET_LIST_REPOSITORIES_ENVIRONMENTS` | | Action | What it does | Slug | | - | - | - | | Get hook events | Retrieves a paginated list of all valid webhook events for a specified entity type (repository or workspace). | `BITBUCKET_GET_HOOK_EVENTS` | | Action | What it does | Slug | | - | - | - | | Get file from repository | Retrieves a specific file's content from a Bitbucket repository at a given commit (hash, branch, or tag), failing if the file path is invalid for that commit. | `BITBUCKET_GET_FILE_FROM_REPOSITORY` | | Action | What it does | Slug | | - | - | - | | List repository forks | | `BITBUCKET_LIST_REPOSITORY_FORKS` | | Action | What it does | Slug | | - | - | - | | Get repositories issues vote | Check whether the authenticated user has voted for a specific issue in a Bitbucket repository. | `BITBUCKET_GET_REPOSITORIES_ISSUES_VOTE` | | List issues | Lists issues in a Bitbucket repository with optional filtering by state, priority, kind, or assignee. | `BITBUCKET_LIST_ISSUES` | | Action | What it does | Slug | | - | - | - | | Get SSH latest keys | Retrieves a paginated list of SSH keys for a specified Bitbucket user. | `BITBUCKET_GET_SSH_LATEST_KEYS` | | Action | What it does | Slug | | - | - | - | | List workspace members | Lists all members of a specified Bitbucket workspace. | `BITBUCKET_LIST_WORKSPACE_MEMBERS` | | Action | What it does | Slug | | - | - | - | | Get repositories pipelines steps | Retrieves all steps for a given pipeline. | `BITBUCKET_GET_REPOSITORIES_PIPELINES_STEPS` | | Get repositories pipelines2 | Retrieve a specified pipeline from a Bitbucket repository. | `BITBUCKET_GET_REPOSITORIES_PIPELINES2` | | List pipelines | Find pipelines in a Bitbucket repository. | `BITBUCKET_LIST_PIPELINES` | | Action | What it does | Slug | | - | - | - | | List workspace projects | Lists projects in a specified Bitbucket workspace. | `BITBUCKET_LIST_WORKSPACE_PROJECTS` | | Action | What it does | Slug | | - | - | - | | Get pull request | Get a single pull request by ID with complete details. | `BITBUCKET_GET_PULL_REQUEST` | | Get pull request diffstat | Get the diffstat for a Bitbucket pull request, showing all changed files with their change statistics (lines added/removed, status). | `BITBUCKET_GET_PULL_REQUEST_DIFFSTAT` | | Get repositories pullrequests statuses | Returns all build statuses (e.g., CI/CD pipeline results) for a specific pull request. | `BITBUCKET_GET_REPOSITORIES_PULLREQUESTS_STATUSES` | | Get workspaces pullrequests | Get all workspace pull requests authored by a specified user. | `BITBUCKET_GET_WORKSPACES_PULLREQUESTS` | | List pull requests | Lists pull requests in a specified, accessible Bitbucket repository, optionally filtering by state (OPEN, MERGED, DECLINED). | `BITBUCKET_LIST_PULL_REQUESTS` | | Action | What it does | Slug | | - | - | - | | Get repositories commit report | Returns a single report matching the provided ID from a commit. | `BITBUCKET_GET_REPOSITORIES_COMMIT_REPORT` | | Get repositories commit reports | Get reports linked to a specific commit. | `BITBUCKET_GET_REPOSITORIES_COMMIT_REPORTS` | | Get repositories commit reports annotations | Returns a single annotation matching the provided ID from a commit report. | `BITBUCKET_GET_REPOSITORIES_COMMIT_REPORTS_ANNOTATIONS` | | Action | What it does | Slug | | - | - | - | | Browse repository path | Retrieve content for a file path or browse directory contents at a specified revision in a Bitbucket repository. | `BITBUCKET_BROWSE_REPOSITORY_PATH` | | Get repositories branching model | Return the branching model as applied to the repository. | `BITBUCKET_GET_REPOSITORIES_BRANCHING_MODEL` | | Get repositories effective branching model | Retrieves the effective branching model for a Bitbucket repository, showing which branching model is currently applied (including any inheritance from project-level settings). | `BITBUCKET_GET_REPOSITORIES_EFFECTIVE_BRANCHING_MODEL` | | Get repositories filehistory | Returns a paginated list of commits that modified the specified file. | `BITBUCKET_GET_REPOSITORIES_FILEHISTORY` | | Get repositories refs | Returns the branches and tags in the repository. | `BITBUCKET_GET_REPOSITORIES_REFS` | | Get repositories src | Lists the contents of the root directory on the repository's main branch without needing to specify a commit or branch. | `BITBUCKET_GET_REPOSITORIES_SRC` | | Get repository | Retrieves detailed information about a specific repository in a Bitbucket workspace. | `BITBUCKET_GET_REPOSITORY` | | Get repository patch | Retrieve the git patch content for a Bitbucket repository at a specified revision or commit range. | `BITBUCKET_GET_REPOSITORY_PATCH` | | Get user permissions repositories | Returns an object for each repository the caller has explicit access to, including their permission level. | `BITBUCKET_GET_USER_PERMISSIONS_REPOSITORIES` | | List repositories | Retrieves a paginated list of all public repositories on Bitbucket. | `BITBUCKET_LIST_REPOSITORIES` | | List repositories in workspace | Lists repositories in a specified Bitbucket workspace, accessible to the authenticated user, with options to filter by role or query string, and sort results. | `BITBUCKET_LIST_REPOSITORIES_IN_WORKSPACE` | | List repository paths | Lists file and directory entries under a repository path at a given revision, with optional breadth-first recursion via max\_depth for repository traversal and scanning. | `BITBUCKET_LIST_REPOSITORY_PATHS` | | Action | What it does | Slug | | - | - | - | | Get repositories pipelines config runners | Retrieves the list of self-hosted runners configured for a repository's pipelines. | `BITBUCKET_GET_REPOSITORIES_PIPELINES_CONFIG_RUNNERS` | | Action | What it does | Slug | | - | - | - | | Get repositories pipelines config schedules | Retrieves configured pipeline schedules for a Bitbucket repository. | `BITBUCKET_GET_REPOSITORIES_PIPELINES_CONFIG_SCHEDULES` | | Action | What it does | Slug | | - | - | - | | Get openid configuration | Retrieves the OpenID Connect discovery configuration for Bitbucket Pipelines OIDC. | `BITBUCKET_GET_OPENID_CONFIGURATION` | | Get repositories pipelines config caches | Retrieves the repository pipelines caches. | `BITBUCKET_GET_REPOSITORIES_PIPELINES_CONFIG_CACHES` | | Get repositories pipelines config SSH known hosts | Retrieves repository-level SSH known hosts configured for Bitbucket Pipelines. | `BITBUCKET_GET_REPOSITORIES_PIPELINES_CONFIG_SSH_KNOWN_HOSTS` | | Action | What it does | Slug | | - | - | - | | Get snippet | Retrieves a specific Bitbucket snippet by its encoded ID from an existing workspace, returning its metadata and file structure. | `BITBUCKET_GET_SNIPPET` | | Get snippets watch | Checks if the current user is watching a specific snippet. | `BITBUCKET_GET_SNIPPETS_WATCH` | | List snippets | Returns all snippets accessible to the authenticated user. | `BITBUCKET_LIST_SNIPPETS` | | Action | What it does | Slug | | - | - | - | | Get repositories refs tags | Retrieves detailed information about a specific tag in a Bitbucket repository. | `BITBUCKET_GET_REPOSITORIES_REFS_TAGS` | | List tags | Lists tags in a Bitbucket repository with optional server-side filtering by name pattern or commit hash (BBQL) and sorting. | `BITBUCKET_LIST_TAGS` | | Action | What it does | Slug | | - | - | - | | List pull request tasks | Lists all tasks associated with a pull request in a Bitbucket repository. | `BITBUCKET_LIST_PULL_REQUEST_TASKS` | | Action | What it does | Slug | | - | - | - | | Get current user2 | Retrieve complete profile information for the currently authenticated Bitbucket user. | `BITBUCKET_GET_CURRENT_USER2` | | Get user | Retrieves public profile information for a specific Bitbucket user by username or UUID. | `BITBUCKET_GET_USER` | | Action | What it does | Slug | | - | - | - | | Get deployment environment variables | Retrieves deployment environment level variables for a specific Bitbucket repository environment. | `BITBUCKET_GET_DEPLOYMENT_ENVIRONMENT_VARIABLES` | | Get repositories pipelines config variables | Retrieves repository-level pipeline variables for a specific Bitbucket repository. | `BITBUCKET_GET_REPOSITORIES_PIPELINES_CONFIG_VARIABLES` | | Action | What it does | Slug | | - | - | - | | List versions | Lists versions (milestones) in a Bitbucket repository's issue tracker. | `BITBUCKET_LIST_VERSIONS` | | Action | What it does | Slug | | - | - | - | | Get repositories watchers | Retrieves a paginated list of all the watchers on the specified repository. | `BITBUCKET_GET_REPOSITORIES_WATCHERS` | | Action | What it does | Slug | | - | - | - | | Get user permissions workspaces | Retrieves workspace memberships and permission levels for the authenticated user. | `BITBUCKET_GET_USER_PERMISSIONS_WORKSPACES` | | Get user workspaces | Retrieve all workspaces accessible to the authenticated user. | `BITBUCKET_GET_USER_WORKSPACES` | | Get workspace | Retrieves detailed information about a specific Bitbucket workspace. | `BITBUCKET_GET_WORKSPACE` | | List workspaces | Lists Bitbucket workspaces accessible to the authenticated user, optionally filtered and sorted. | `BITBUCKET_LIST_WORKSPACES` | Teammates can use 101 of the 110 Bitbucket actions at this level: everything in **Read-only**, plus: * Create, update, and delete comments * Create and update pull requests * Create and update issues * Create branches * Update reports The 21 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Branches** | Create branch | Creates a new branch in a Bitbucket repository from a target commit hash. | `BITBUCKET_CREATE_BRANCH` | | **Comments** | Create issue comment | Adds a new comment with markdown support to an existing Bitbucket issue. | `BITBUCKET_CREATE_ISSUE_COMMENT` | | | Create pull request comment | Creates a new comment on a Bitbucket pull request. | `BITBUCKET_CREATE_PULL_REQUEST_COMMENT` | | | Create snippet comment | Posts a new top-level comment or a threaded reply to an existing comment on a specified Bitbucket snippet. | `BITBUCKET_CREATE_SNIPPET_COMMENT` | | | Delete commit comment | Permanently deletes a specific comment on a commit. | `BITBUCKET_DELETE_COMMIT_COMMENT` | | | Delete pull request comment | Permanently deletes a specific pull request comment (top-level, inline, or threaded reply). | `BITBUCKET_DELETE_PULL_REQUEST_COMMENT` | | | Resolve pull request comment | Resolve or reopen a pull request comment thread. | `BITBUCKET_RESOLVE_PULL_REQUEST_COMMENT` | | | Update repositories commit comments | Updates the contents of a comment on a commit. | `BITBUCKET_UPDATE_REPOSITORIES_COMMIT_COMMENTS` | | **Issues** | Create issue | Creates a new issue in a Bitbucket repository, setting the authenticated user as reporter. | `BITBUCKET_CREATE_ISSUE` | | | Update issue | Updates an existing issue in a Bitbucket repository by modifying specified attributes. | `BITBUCKET_UPDATE_ISSUE` | | **Pull requests** | Approve pull request | Approve a pull request as the authenticated user. | `BITBUCKET_APPROVE_PULL_REQUEST` | | | Create pull request | Creates a new pull request in a specified Bitbucket repository, ensuring the source branch exists and is distinct from the (optional) destination branch. | `BITBUCKET_CREATE_PULL_REQUEST` | | | Decline pull request | | `BITBUCKET_DECLINE_PULL_REQUEST` | | | Merge pull request | Merge a Bitbucket Cloud pull request via the REST API. | `BITBUCKET_MERGE_PULL_REQUEST` | | | Request pull request changes | Request changes on a pull request as the authenticated user. | `BITBUCKET_REQUEST_PULL_REQUEST_CHANGES` | | | Update pull request | Update an existing pull request's editable fields (e.g., title, description, reviewers) via the Bitbucket Cloud API. | `BITBUCKET_UPDATE_PULL_REQUEST` | | **Reports** | Create repositories commit reports annotations | Adds multiple annotations to a commit report in bulk. | `BITBUCKET_CREATE_REPOSITORIES_COMMIT_REPORTS_ANNOTATIONS` | | | Delete repositories commit reports annotations | Deletes a single annotation matching the provided ID from a commit report. | `BITBUCKET_DELETE_REPOSITORIES_COMMIT_REPORTS_ANNOTATIONS` | | | Update insights projects repos commits reports | Create or update an insight report for a commit. | `BITBUCKET_UPDATE_INSIGHTS_PROJECTS_REPOS_COMMITS_REPORTS` | | | Update repositories commit reports annotations | Creates or updates an individual annotation for a commit report. | `BITBUCKET_UPDATE_REPOSITORIES_COMMIT_REPORTS_ANNOTATIONS` | | **Snippets** | Delete snippets watch | Stops watching a specific snippet. | `BITBUCKET_DELETE_SNIPPETS_WATCH` | Teammates can use 110 of the 110 Bitbucket actions at this level: everything in **Read + write**, plus: * Create, update, and delete variables * Create and delete repositories * Delete issues * Stop pipelines The 9 actions that this level adds to **Read + write**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Issues** | Delete issue | Permanently deletes a specific issue, identified by its issue\_id, from the repository specified by repo\_slug within the given workspace. | `BITBUCKET_DELETE_ISSUE` | | **Pipelines** | Stop pipeline | | `BITBUCKET_STOP_PIPELINE` | | **Repositories** | Create repository | Creates a new Bitbucket 'git' repository in a specified workspace, defaulting to the workspace's oldest project if project\_key is not provided. | `BITBUCKET_CREATE_REPOSITORY` | | | Delete repository | Permanently deletes a specified Bitbucket repository. | `BITBUCKET_DELETE_REPOSITORY` | | **Variables** | Create teams pipelines config variables | Creates a team-level pipeline configuration variable in Bitbucket. | `BITBUCKET_CREATE_TEAMS_PIPELINES_CONFIG_VARIABLES` | | | Create users pipelines config variables | Creates a user-level pipeline variable for Bitbucket pipelines. | `BITBUCKET_CREATE_USERS_PIPELINES_CONFIG_VARIABLES` | | | Delete user pipeline variable | Permanently deletes a user-level pipeline configuration variable identified by its UUID. | `BITBUCKET_DELETE_USER_PIPELINE_VARIABLE` | | | Update teams pipelines config variables | Updates a team-level pipeline configuration variable in Bitbucket. | `BITBUCKET_UPDATE_TEAMS_PIPELINES_CONFIG_VARIABLES` | | | Update users pipelines config variables | Updates a user-level pipeline variable for Bitbucket pipelines. | `BITBUCKET_UPDATE_USERS_PIPELINES_CONFIG_VARIABLES` | ## Connect Bitbucket Before you start: * You need a Bitbucket account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Bitbucket** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Bitbucket**. The Bitbucket sign-in page opens in a new tab. Sign in to Bitbucket and approve the request. Check that it works: Bitbucket shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Bitbucket account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Bitbucket account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Bitbucket account Click **+ Account** on the Bitbucket card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Bitbucket side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Bitbucket**. 3. Sign in to Bitbucket and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Bitbucket account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Bitbucket.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Bitbucket account becomes primary. ## Costs Bitbucket actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Bitbucket, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Bitbucket connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Bitbucket account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Bitbucket card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Bitbucket account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Bitbucket.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Box Source: https://squad.so/docs/apps/box What teammates can do in Box at each access level, and how to connect, limit, and disconnect Box. Connect Box so your teammates can work in your Box account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Box account has an access level: **Read-only**, **Read + write**, and **Admin**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as files, folders, comments, and Box Sign requests. Cannot change anything." | 132 of 286 | | **Read + write** (recommended) | "Upload, copy, and comment on files, move them to the trash and restore them, and edit their versions, tasks, and metadata. Cannot rename, move, or share files." | 171 of 286 | | **Admin** | "Everything, including renaming, moving, and sharing files, permanent deletes, users, groups, security and retention policies, and integrations." | 286 of 286 | **Read + write** is the recommended level. The connect window selects it for you, and you can choose another level. The Box sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Box account?" The teammate can search the Box actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Box action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 132 of the 286 Box actions at this level: * View policies * View and search templates * View and search files * View collaborators * View and search files and folders * View and search folders * View members * View groups * View links * View users * View versions * View agents All 132 actions at this level: | Action | What it does | Slug | | - | - | - | | Get AI agent | Retrieves detailed information about a specific AI Agent by its unique identifier. | `BOX_GET_AI_AGENT` | | List AI agents | Lists AI agents based on the provided parameters. | `BOX_LIST_AI_AGENTS` | | Action | What it does | Slug | | - | - | - | | List file app item associations | This is a beta feature, which means that its availability might be limited. | `BOX_LIST_FILE_APP_ITEM_ASSOCIATIONS` | | List folder app item associations | This is a beta feature, which means that its availability might be limited. | `BOX_LIST_FOLDER_APP_ITEM_ASSOCIATIONS` | | Action | What it does | Slug | | - | - | - | | List box skill cards on file | List the Box Skills metadata cards that are attached to a file. | `BOX_LIST_BOX_SKILL_CARDS_ON_FILE` | | Action | What it does | Slug | | - | - | - | | Get collaboration | Retrieves details of a single collaboration by its ID. | `BOX_GET_COLLABORATION` | | List file collaborations | Retrieves a list of pending and active collaborations for a file. | `BOX_LIST_FILE_COLLABORATIONS` | | List folder collaborations | Retrieves a list of pending and active collaborations for a folder. | `BOX_LIST_FOLDER_COLLABORATIONS` | | List group collaborations | Retrieves all the collaborations for a group. | `BOX_LIST_GROUP_COLLABORATIONS` | | List pending collaborations | Retrieves all pending collaboration invites for this user. | `BOX_LIST_PENDING_COLLABORATIONS` | | Action | What it does | Slug | | - | - | - | | Get collection | Retrieves details of a specific collection by its unique identifier. | `BOX_GET_COLLECTION` | | List all collections | Retrieves all collections for a given user. | `BOX_LIST_ALL_COLLECTIONS` | | Action | What it does | Slug | | - | - | - | | Get comment | Retrieves the message and metadata for a specific comment, as well as information on the user who created the comment. | `BOX_GET_COMMENT` | | List file comments | Retrieves a list of comments for a file. | `BOX_LIST_FILE_COMMENTS` | | Action | What it does | Slug | | - | - | - | | Search for content | Searches for files, folders, web links, and shared files across the users content or across the entire enterprise. | `BOX_SEARCH_FOR_CONTENT` | | Action | What it does | Slug | | - | - | - | | Get allowed collaboration domain | Retrieves details of a specific allowed collaboration domain entry within your enterprise. | `BOX_GET_ALLOWED_COLLABORATION_DOMAIN` | | List allowed collaboration domains | Returns the list domains that have been deemed safe to create collaborations for within the current enterprise. | `BOX_LIST_ALLOWED_COLLABORATION_DOMAINS` | | Action | What it does | Slug | | - | - | - | | List user email aliases | Retrieves all email aliases for a user. | `BOX_LIST_USER_EMAIL_ALIASES` | | Action | What it does | Slug | | - | - | - | | Get events long poll endpoint | Returns a list of real-time servers that can be used for long-polling user events. | `BOX_GET_EVENTS_LONG_POLL_ENDPOINT` | | List events | Returns up to a year of past events for a given user or for the entire enterprise. | `BOX_LIST_EVENTS` | | Action | What it does | Slug | | - | - | - | | Download file | Returns the contents of a file in binary format. | `BOX_DOWNLOAD_FILE` | | Find file for shared link | Returns the file represented by a shared link. | `BOX_FIND_FILE_FOR_SHARED_LINK` | | Get file information | Retrieves the details about a file. | `BOX_GET_FILE_INFORMATION` | | Get file request | Retrieves detailed information about a file request in Box. | `BOX_GET_FILE_REQUEST` | | Get files under retention | Returns a paginated list of files under retention for a specific retention policy assignment. | `BOX_GET_FILES_UNDER_RETENTION` | | Get metadata instance on file | Retrieves a specific metadata template instance that has been applied to a file. | `BOX_GET_METADATA_INSTANCE_ON_FILE` | | Get retention on file | Returns information about a file version retention. | `BOX_GET_RETENTION_ON_FILE` | | Get trashed file | Retrieves a file that has been moved to the trash. | `BOX_GET_TRASHED_FILE` | | Get watermark on file | Retrieve the watermark for a file. | `BOX_GET_WATERMARK_ON_FILE` | | List files on legal hold policy assignment | Get a list of files with current file versions for a legal hold assignment. | `BOX_LIST_FILES_ON_LEGAL_HOLD_POLICY_ASSIGNMENT` | | List metadata instances on file | Retrieves all metadata instances applied to a file. | `BOX_LIST_METADATA_INSTANCES_ON_FILE` | | Preflight check before upload | Performs a preflight check to verify that a file will be accepted by Box before uploading the entire file. | `BOX_PREFLIGHT_CHECK_BEFORE_UPLOAD` | | Action | What it does | Slug | | - | - | - | | Find app item for shared link | Returns the file, folder, web link, or app item represented by a shared link. | `BOX_FIND_APP_ITEM_FOR_SHARED_LINK` | | List collection items | Retrieves the files and/or folders contained within a Box collection. | `BOX_LIST_COLLECTION_ITEMS` | | List items in folder | Retrieves a page of items in a folder. | `BOX_LIST_ITEMS_IN_FOLDER` | | List recently accessed items | Returns information about the recent items accessed by a user, either in the last 90 days or up to the last 1000 items accessed. | `BOX_LIST_RECENTLY_ACCESSED_ITEMS` | | List trashed items | Retrieves the files and folders that have been moved to the trash. | `BOX_LIST_TRASHED_ITEMS` | | Action | What it does | Slug | | - | - | - | | Find folder for shared link | Return the folder represented by a shared link. | `BOX_FIND_FOLDER_FOR_SHARED_LINK` | | Get folder | Retrieves details for a folder, including the first 100 entries in the folder. | `BOX_GET_FOLDER` | | Get metadata instance on folder | Retrieves the instance of a metadata template that has been applied to a folder. | `BOX_GET_METADATA_INSTANCE_ON_FOLDER` | | Get trashed folder | Retrieves a folder that has been moved to the trash. | `BOX_GET_TRASHED_FOLDER` | | Get watermark on folder | Retrieve the watermark for a folder. | `BOX_GET_WATERMARK_ON_FOLDER` | | List folder locks | Retrieves folder lock details for a given folder. | `BOX_LIST_FOLDER_LOCKS` | | List metadata instances on folder | Retrieves all metadata for a given folder. | `BOX_LIST_METADATA_INSTANCES_ON_FOLDER` | | Query files folders by metadata | Query files and folders by metadata using SQL-like syntax. | `BOX_QUERY_FILES_FOLDERS_BY_METADATA` | | Action | What it does | Slug | | - | - | - | | Get group | Retrieves information about a group. | `BOX_GET_GROUP` | | List enterprise groups | Retrieves all of the groups for a given enterprise. | `BOX_LIST_ENTERPRISE_GROUPS` | | List user groups | Retrieves all group memberships for a user, including the groups they belong to and their role in each group (member or admin). | `BOX_LIST_USER_GROUPS` | | Action | What it does | Slug | | - | - | - | | List Slack integration mappings | Lists Slack integration mappings in a users' enterprise. | `BOX_LIST_SLACK_INTEGRATION_MAPPINGS` | | List teams integration mappings | Lists Teams integration mappings in a users' enterprise. | `BOX_LIST_TEAMS_INTEGRATION_MAPPINGS` | | Action | What it does | Slug | | - | - | - | | Get user invite status | Returns the status of a user invite. | `BOX_GET_USER_INVITE_STATUS` | | Action | What it does | Slug | | - | - | - | | Get shared web link | Retrieve web link information for a shared link. | `BOX_GET_SHARED_WEB_LINK` | | Get trashed web link | Retrieves a web link that has been moved to the trash. | `BOX_GET_TRASHED_WEB_LINK` | | Get web link | Retrieve detailed information about a web link (bookmark) in Box. | `BOX_GET_WEB_LINK` | | Action | What it does | Slug | | - | - | - | | Get group membership | Retrieves a specific group membership. | `BOX_GET_GROUP_MEMBERSHIP` | | Get shield information barrier segment member by ID | Retrieves a shield information barrier segment member by its unique ID. | `BOX_GET_SHIELD_INFORMATION_BARRIER_SEGMENT_MEMBER_BY_ID` | | List group members | Retrieves all the members for a group. | `BOX_LIST_GROUP_MEMBERS` | | List shield information barrier segment members | Lists shield information barrier segment members based on provided segment IDs. | `BOX_LIST_SHIELD_INFORMATION_BARRIER_SEGMENT_MEMBERS` | | Action | What it does | Slug | | - | - | - | | Get legal hold policy | Retrieve detailed information about a specific legal hold policy by its ID. | `BOX_GET_LEGAL_HOLD_POLICY` | | Get legal hold policy assignment | Retrieves detailed information about a specific legal hold policy assignment by its ID. | `BOX_GET_LEGAL_HOLD_POLICY_ASSIGNMENT` | | Get metadata cascade policy | Retrieve a specific metadata cascade policy assigned to a folder. | `BOX_GET_METADATA_CASCADE_POLICY` | | Get retention policy | Retrieves a retention policy by its unique ID. | `BOX_GET_RETENTION_POLICY` | | Get retention policy assignment | Retrieves a retention policy assignment by its unique ID. | `BOX_GET_RETENTION_POLICY_ASSIGNMENT` | | Get storage policy | Fetches a specific storage policy by its ID. | `BOX_GET_STORAGE_POLICY` | | Get storage policy assignment | Retrieves information about a specific storage policy assignment. | `BOX_GET_STORAGE_POLICY_ASSIGNMENT` | | List legal hold policies | Retrieves a list of legal hold policies that belong to an enterprise. | `BOX_LIST_LEGAL_HOLD_POLICIES` | | List legal hold policy assignments | Retrieves a list of items a legal hold policy has been assigned to. | `BOX_LIST_LEGAL_HOLD_POLICY_ASSIGNMENTS` | | List metadata cascade policies | Retrieves a list of all the metadata cascade policies that are applied to a given folder. | `BOX_LIST_METADATA_CASCADE_POLICIES` | | List retention policies | Retrieves all of the retention policies for an enterprise. | `BOX_LIST_RETENTION_POLICIES` | | List retention policy assignments | Retrieves all retention policy assignments for a specified retention policy. | `BOX_LIST_RETENTION_POLICY_ASSIGNMENTS` | | List storage policies | Fetches all the storage policies in the enterprise. | `BOX_LIST_STORAGE_POLICIES` | | List storage policy assignments | Fetches all the storage policy assignment for an enterprise or user. | `BOX_LIST_STORAGE_POLICY_ASSIGNMENTS` | | Action | What it does | Slug | | - | - | - | | Get user avatar | Retrieves the avatar image of a Box user. | `BOX_GET_USER_AVATAR` | | Action | What it does | Slug | | - | - | - | | Ask question | Ask questions about Box files using Box AI. | `BOX_ASK_QUESTION` | | Action | What it does | Slug | | - | - | - | | Get shield information barrier report by ID | Retrieves a shield information barrier report by its ID. | `BOX_GET_SHIELD_INFORMATION_BARRIER_REPORT_BY_ID` | | List shield information barrier reports | Lists shield information barrier reports for a specified barrier. | `BOX_LIST_SHIELD_INFORMATION_BARRIER_REPORTS` | | Action | What it does | Slug | | - | - | - | | Get shield information barrier segment by ID | Retrieves a shield information barrier segment by its unique identifier. | `BOX_GET_SHIELD_INFORMATION_BARRIER_SEGMENT_BY_ID` | | Get shield information barrier segment restriction by ID | Retrieves a shield information barrier segment restriction by its unique ID. | `BOX_GET_SHIELD_INFORMATION_BARRIER_SEGMENT_RESTRICTION_BY_ID` | | List shield information barrier segment restrictions | Lists all shield information barrier segment restrictions for a specific segment. | `BOX_LIST_SHIELD_INFORMATION_BARRIER_SEGMENT_RESTRICTIONS` | | List shield information barrier segments | Retrieves a list of shield information barrier segment objects for the specified Information Barrier ID. | `BOX_LIST_SHIELD_INFORMATION_BARRIER_SEGMENTS` | | Action | What it does | Slug | | - | - | - | | Get terms of service | Retrieves a specific terms of service by its unique identifier. | `BOX_GET_TERMS_OF_SERVICE` | | List terms of services | Returns the current terms of service text and settings for the enterprise. | `BOX_LIST_TERMS_OF_SERVICES` | | Action | What it does | Slug | | - | - | - | | Get upload session | Retrieves detailed information about an existing chunked upload session. | `BOX_GET_UPLOAD_SESSION` | | List upload session parts | List the parts (chunks) that have been uploaded to a chunked upload session. | `BOX_LIST_UPLOAD_SESSION_PARTS` | | Action | What it does | Slug | | - | - | - | | Get AI agent default configuration | Retrieve the default AI agent configuration for a specific mode. | `BOX_GET_AI_AGENT_DEFAULT_CONFIGURATION` | | Action | What it does | Slug | | - | - | - | | Get shared link for file | Retrieves the shared link information for a file. | `BOX_GET_SHARED_LINK_FOR_FILE` | | Get shared link for folder | Retrieves shared link information for a folder. | `BOX_GET_SHARED_LINK_FOR_FOLDER` | | Action | What it does | Slug | | - | - | - | | Get task | Retrieves detailed information about a specific task in Box. | `BOX_GET_TASK` | | Get task assignment | Retrieves detailed information about a specific task assignment in Box. | `BOX_GET_TASK_ASSIGNMENT` | | List task assignments | Lists all of the assignments for a given task. | `BOX_LIST_TASK_ASSIGNMENTS` | | List tasks on file | Retrieves a list of all the tasks for a file. | `BOX_LIST_TASKS_ON_FILE` | | Action | What it does | Slug | | - | - | - | | Get metadata taxonomies for namespace | Retrieves all metadata taxonomies within a specific namespace. | `BOX_GET_METADATA_TAXONOMIES_FOR_NAMESPACE` | | Get metadata taxonomy by taxonomy key | Retrieves a metadata taxonomy by its namespace and taxonomy key. | `BOX_GET_METADATA_TAXONOMY_BY_TAXONOMY_KEY` | | Get metadata taxonomy node by ID | Retrieves a specific node from a metadata taxonomy by its identifier. | `BOX_GET_METADATA_TAXONOMY_NODE_BY_ID` | | List metadata taxonomy nodes | Retrieves metadata taxonomy nodes based on the specified parameters. | `BOX_LIST_METADATA_TAXONOMY_NODES` | | Action | What it does | Slug | | - | - | - | | Find metadata template by instance ID | Finds a metadata template by searching for the ID of an instance of the template. | `BOX_FIND_METADATA_TEMPLATE_BY_INSTANCE_ID` | | Get box sign template | Retrieves details of a specific Box Sign template by its unique ID. | `BOX_GET_BOX_SIGN_TEMPLATE` | | Get metadata template by ID | Retrieves a metadata template by its ID. | `BOX_GET_METADATA_TEMPLATE_BY_ID` | | Get metadata template by name | Retrieves a metadata template by its scope and templateKey values. | `BOX_GET_METADATA_TEMPLATE_BY_NAME` | | List all global metadata templates | Used to retrieve all generic, global metadata templates available to all enterprises using Box. | `BOX_LIST_ALL_GLOBAL_METADATA_TEMPLATES` | | List box sign templates | Gets Box Sign templates created by a user. | `BOX_LIST_BOX_SIGN_TEMPLATES` | | List enterprise metadata templates | Used to retrieve all metadata templates created to be used specifically within the user's enterprise. | `BOX_LIST_ENTERPRISE_METADATA_TEMPLATES` | | Action | What it does | Slug | | - | - | - | | Get file thumbnail | Retrieves a thumbnail, or smaller image representation, of a file. | `BOX_GET_FILE_THUMBNAIL` | | Action | What it does | Slug | | - | - | - | | Get current user | Retrieves information about the user who is currently authenticated. | `BOX_GET_CURRENT_USER` | | Get user | Retrieves information about a user in the enterprise. | `BOX_GET_USER` | | Get user exempt from collaboration domain restrictions | Retrieves details of a specific user exemption from collaboration domain restrictions. | `BOX_GET_USER_EXEMPT_FROM_COLLABORATION_DOMAIN_RESTRICTIONS` | | List enterprise users | Returns a list of all users for the Enterprise along with their user\_id, public\_name, and login. | `BOX_LIST_ENTERPRISE_USERS` | | List terms of service user statuses | Retrieves a list of users and their acceptance status for a specific terms of service. | `BOX_LIST_TERMS_OF_SERVICE_USER_STATUSES` | | List users exempt from collaboration domain restrictions | Returns a list of users who have been exempt from the collaboration domain restrictions. | `BOX_LIST_USERS_EXEMPT_FROM_COLLABORATION_DOMAIN_RESTRICTIONS` | | Action | What it does | Slug | | - | - | - | | Get file version | Retrieve detailed information about a specific version of a file. | `BOX_GET_FILE_VERSION` | | Get file version legal hold | Retrieves detailed information about a specific file version legal hold by its ID. | `BOX_GET_FILE_VERSION_LEGAL_HOLD` | | Get file versions under retention | Returns a list of file versions under retention for a specified retention policy assignment. | `BOX_GET_FILE_VERSIONS_UNDER_RETENTION` | | List all file versions | Retrieve a list of the past versions for a file. | `BOX_LIST_ALL_FILE_VERSIONS` | | List file version legal holds | Get a list of file versions on legal hold for a legal hold assignment. | `BOX_LIST_FILE_VERSION_LEGAL_HOLDS` | | List file version retentions | Retrieves all file version retentions for the given enterprise. | `BOX_LIST_FILE_VERSION_RETENTIONS` | | List hold file versions | Retrieves a list of previous (non-current) file versions that are on legal hold for a specific legal hold policy assignment. | `BOX_LIST_HOLD_FILE_VERSIONS` | | Action | What it does | Slug | | - | - | - | | Get webhook | Retrieves detailed information about a specific webhook by its ID. | `BOX_GET_WEBHOOK` | | List webhooks | Returns all defined webhooks for the requesting application. | `BOX_LIST_WEBHOOKS` | | Action | What it does | Slug | | - | - | - | | List workflows | Lists Box Relay workflows configured for a specific folder. | `BOX_LIST_WORKFLOWS` | | Action | What it does | Slug | | - | - | - | | Download ZIP archive | Downloads a zip archive containing files and/or folders from Box. | `BOX_DOWNLOAD_ZIP_ARCHIVE` | | Extract metadata freeform | Extract metadata from Box files using AI with freeform prompts. | `BOX_EXTRACT_METADATA_FREEFORM` | | Extract metadata structured | Extract structured metadata from files using Box AI. | `BOX_EXTRACT_METADATA_STRUCTURED` | | Generate text | Generate text using Box AI based on a prompt and file context. | `BOX_GENERATE_TEXT` | | Get box sign request | Retrieves the details of a specific Box Sign request by its unique ID. | `BOX_GET_BOX_SIGN_REQUEST` | | Get device pin | Retrieves information about an individual device pin in the enterprise. | `BOX_GET_DEVICE_PIN` | | Get shield information barrier by ID | Retrieves a shield information barrier by its unique ID. | `BOX_GET_SHIELD_INFORMATION_BARRIER_BY_ID` | | Get ZIP download status | Get the download status of a zip archive, including progress, skipped items, and current state. | `BOX_GET_ZIP_DOWNLOAD_STATUS` | | List all classifications | Retrieves the classification metadata template and lists all the classifications available to this enterprise. | `BOX_LIST_ALL_CLASSIFICATIONS` | | List box sign requests | Gets signature requests created by a user. | `BOX_LIST_BOX_SIGN_REQUESTS` | | List enterprise device pins | Retrieves all the device pins within an enterprise. | `BOX_LIST_ENTERPRISE_DEVICE_PINS` | | List hubs | List all Box Hubs for the authenticated user or enterprise. | `BOX_LIST_HUBS` | | List shield information barriers | Retrieves a list of shield information barrier objects for the enterprise of JWT. | `BOX_LIST_SHIELD_INFORMATION_BARRIERS` | Teammates can use 171 of the 286 Box actions at this level: everything in **Read-only**, plus: * Create, update, and delete cards * Create, update, and delete files * Create, update, and delete folders * Create and delete sessions * Create, update, and delete versions * Create, update, and delete comments * Create, update, and delete links * Create and update tasks The 39 actions that this level adds to **Read-only**: | Action | What it does | Slug | | - | - | - | | Create box skill cards on file | Applies one or more Box Skills metadata cards to a file. | `BOX_CREATE_BOX_SKILL_CARDS_ON_FILE` | | Delete box skill cards from file | Removes any Box Skills cards metadata from a file. | `BOX_DELETE_BOX_SKILL_CARDS_FROM_FILE` | | Update all box skill cards on file | An alternative method to overwrite and update all Box Skill metadata cards on a file. | `BOX_UPDATE_ALL_BOX_SKILL_CARDS_ON_FILE` | | Update box skill cards on file | Updates one or more Box Skills metadata cards on a file using JSON-Patch format. | `BOX_UPDATE_BOX_SKILL_CARDS_ON_FILE` | | Action | What it does | Slug | | - | - | - | | Create comment | Adds a comment by the user to a specific file, or as a reply to an other comment. | `BOX_CREATE_COMMENT` | | Delete comment | Permanently deletes a comment from a file or folder in Box. | `BOX_DELETE_COMMENT` | | Update comment | Update the message of a comment. | `BOX_UPDATE_COMMENT` | | Action | What it does | Slug | | - | - | - | | Copy file | Creates a copy of a file. | `BOX_COPY_FILE` | | Create metadata instance on file | Applies an instance of a metadata template to a file. | `BOX_CREATE_METADATA_INSTANCE_ON_FILE` | | Delete file | Deletes a file from Box by moving it to trash or permanently (based on enterprise settings). | `BOX_DELETE_FILE` | | Delete metadata instance from file | Removes a metadata instance from a file. | `BOX_DELETE_METADATA_INSTANCE_FROM_FILE` | | Restore file | Restores a file that has been moved to the trash. | `BOX_RESTORE_FILE` | | Update metadata instance on file | Updates a metadata instance on a file using JSON-Patch operations. | `BOX_UPDATE_METADATA_INSTANCE_ON_FILE` | | Upload file | Uploads a small file to Box. | `BOX_UPLOAD_FILE` | | Upload part of file | Uploads a chunk of a file for an upload session. | `BOX_UPLOAD_PART_OF_FILE` | | Action | What it does | Slug | | - | - | - | | Copy folder | Creates a copy of a folder within a destination folder. | `BOX_COPY_FOLDER` | | Create folder | Creates a new empty folder within the specified parent folder. | `BOX_CREATE_FOLDER` | | Create metadata instance on folder | Applies an instance of a metadata template to a folder. | `BOX_CREATE_METADATA_INSTANCE_ON_FOLDER` | | Delete folder | Deletes a folder, either permanently or by moving it to the trash. | `BOX_DELETE_FOLDER` | | Delete metadata instance from folder | Remove a metadata instance from a folder. | `BOX_DELETE_METADATA_INSTANCE_FROM_FOLDER` | | Restore folder | Restores a folder that has been moved to the trash. | `BOX_RESTORE_FOLDER` | | Update metadata instance on folder | Updates metadata on a folder using JSON-Patch operations (RFC 6902). | `BOX_UPDATE_METADATA_INSTANCE_ON_FOLDER` | | Action | What it does | Slug | | - | - | - | | Create web link | Creates a web link object within a folder. | `BOX_CREATE_WEB_LINK` | | Delete web link | Deletes a web link. | `BOX_DELETE_WEB_LINK` | | Restore web link | Restores a web link that has been moved to the trash. | `BOX_RESTORE_WEB_LINK` | | Action | What it does | Slug | | - | - | - | | Commit upload session | Commits an upload session and creates a file from the uploaded chunks. | `BOX_COMMIT_UPLOAD_SESSION` | | Create upload session | Creates an upload session for chunked upload of large files (20MB+). | `BOX_CREATE_UPLOAD_SESSION` | | Create upload session for existing file | Creates an upload session for uploading a new version of an existing file using chunked upload. | `BOX_CREATE_UPLOAD_SESSION_FOR_EXISTING_FILE` | | Delete upload session | Abort and permanently remove a chunked upload session, discarding all uploaded data. | `BOX_DELETE_UPLOAD_SESSION` | | Action | What it does | Slug | | - | - | - | | Assign task | Assigns a task to a user. | `BOX_ASSIGN_TASK` | | Create task | Creates a single task on a file. | `BOX_CREATE_TASK` | | Delete task assignment | Deletes a specific task assignment, removing the task from the assigned user. | `BOX_DELETE_TASK_ASSIGNMENT` | | Update task | Updates a task. | `BOX_UPDATE_TASK` | | Update task assignment | Updates a task assignment to change its resolution state or add a message. | `BOX_UPDATE_TASK_ASSIGNMENT` | | Action | What it does | Slug | | - | - | - | | Delete file version | Move a file version to the trash. | `BOX_DELETE_FILE_VERSION` | | Promote file version | Promote a specific version of a file. | `BOX_PROMOTE_FILE_VERSION` | | Restore file version | Restores a specific version of a file after it was deleted (trashed). | `BOX_RESTORE_FILE_VERSION` | | Upload file version | Update a file's content. | `BOX_UPLOAD_FILE_VERSION` | | Action | What it does | Slug | | - | - | - | | Create ZIP download | Creates a request to download multiple files and folders as a single zip archive file. | `BOX_CREATE_ZIP_DOWNLOAD` | Teammates can use 286 of the 286 Box actions at this level: everything in **Read + write**, plus: * Create, update, and delete policies * Update and delete shared links * Create, update, delete, and manage users * Create, update, and delete agents * Create, update, and delete collaborators * Create, update, and delete groups * Create, update, and delete members * Create, update, and delete segments * Create, update, and delete taxonomies * Create, update, and delete templates * Update and manage tokens * Create, update, and delete webhooks The 115 actions that this level adds to **Read + write**: | Action | What it does | Slug | | - | - | - | | Create AI agent | Creates a custom AI agent in Box AI Studio. | `BOX_CREATE_AI_AGENT` | | Delete AI agent | Permanently deletes a custom AI agent from Box AI Studio. | `BOX_DELETE_AI_AGENT` | | Update AI agent | Updates an existing custom AI agent in Box AI Studio. | `BOX_UPDATE_AI_AGENT` | | Action | What it does | Slug | | - | - | - | | Create collaboration | Adds a collaboration for a single user or a single group to a file or folder. | `BOX_CREATE_COLLABORATION` | | Delete collaboration | Removes a collaboration from a file or folder, revoking the collaborator's access. | `BOX_DELETE_COLLABORATION` | | Update collaboration | Updates a collaboration. | `BOX_UPDATE_COLLABORATION` | | Action | What it does | Slug | | - | - | - | | Add allowed collaboration domain | Creates a new entry in the list of allowed domains for collaboration within your enterprise. | `BOX_ADD_ALLOWED_COLLABORATION_DOMAIN` | | Delete allowed collaboration domain | Removes a domain from the list of allowed collaboration domains (whitelist) within your enterprise. | `BOX_DELETE_ALLOWED_COLLABORATION_DOMAIN` | | Delete user domain exemption | Removes a user's exemption from the enterprise's collaboration domain restrictions. | `BOX_DELETE_USER_DOMAIN_EXEMPTION` | | Action | What it does | Slug | | - | - | - | | Create email alias | Adds a new email alias to a user account. | `BOX_CREATE_EMAIL_ALIAS` | | Delete email alias | Removes an email alias from a user. | `BOX_DELETE_EMAIL_ALIAS` | | Action | What it does | Slug | | - | - | - | | Add classification to file | Adds a classification to a file by specifying the label of the classification to add. | `BOX_ADD_CLASSIFICATION_TO_FILE` | | Apply watermark to file | Applies or update a watermark on a file. | `BOX_APPLY_WATERMARK_TO_FILE` | | Copy file request | Copies an existing file request to a new folder. | `BOX_COPY_FILE_REQUEST` | | Delete file permanently | Permanently deletes a file from the trash. | `BOX_DELETE_FILE_PERMANENTLY` | | Delete file request | Deletes a file request permanently. | `BOX_DELETE_FILE_REQUEST` | | Delete watermark from file | Removes the watermark from a file. | `BOX_DELETE_WATERMARK_FROM_FILE` | | Update file | Updates a file. | `BOX_UPDATE_FILE` | | Update file request | Updates a file request in Box. | `BOX_UPDATE_FILE_REQUEST` | | Action | What it does | Slug | | - | - | - | | Add classification to folder | Adds a classification to a folder by specifying the label of the classification to add. | `BOX_ADD_CLASSIFICATION_TO_FOLDER` | | Apply watermark to folder | Applies or update a watermark on a folder. | `BOX_APPLY_WATERMARK_TO_FOLDER` | | Create folder lock | Creates a folder lock on a folder, preventing it from being moved and/or deleted. | `BOX_CREATE_FOLDER_LOCK` | | Delete folder lock | Deletes a folder lock on a given folder, removing restrictions on move and delete operations. | `BOX_DELETE_FOLDER_LOCK` | | Delete folder permanently | Permanently deletes a folder that is in the trash. | `BOX_DELETE_FOLDER_PERMANENTLY` | | Delete watermark from folder | Removes the watermark from a folder. | `BOX_DELETE_WATERMARK_FROM_FOLDER` | | Transfer owned folders | Transfers all files and folders owned by one user to another user's account in Box. | `BOX_TRANSFER_OWNED_FOLDERS` | | Update folder | Updates a folder. | `BOX_UPDATE_FOLDER` | | Action | What it does | Slug | | - | - | - | | Create group | Creates a new group of users in an enterprise. | `BOX_CREATE_GROUP` | | Delete group | Permanently deletes a group. | `BOX_DELETE_GROUP` | | Update group | Updates a specific group. | `BOX_UPDATE_GROUP` | | Action | What it does | Slug | | - | - | - | | Create Slack integration mapping | Creates a Slack integration mapping by mapping a Slack channel to a Box item. | `BOX_CREATE_SLACK_INTEGRATION_MAPPING` | | Create teams integration mapping | Creates a Microsoft Teams integration mapping that links a Teams channel or team to a Box folder. | `BOX_CREATE_TEAMS_INTEGRATION_MAPPING` | | Delete Slack integration mapping | Deletes a Slack integration mapping that links a Box folder to a Slack channel. | `BOX_DELETE_SLACK_INTEGRATION_MAPPING` | | Delete teams integration mapping | Deletes a Microsoft Teams integration mapping that links a Box folder to a Teams channel. | `BOX_DELETE_TEAMS_INTEGRATION_MAPPING` | | Update Slack integration mapping | Updates an existing Slack integration mapping. | `BOX_UPDATE_SLACK_INTEGRATION_MAPPING` | | Update teams integration mapping | Updates a Microsoft Teams integration mapping that links a Box folder to a Teams channel. | `BOX_UPDATE_TEAMS_INTEGRATION_MAPPING` | | Action | What it does | Slug | | - | - | - | | Create user invite | Invites an existing external user to join an enterprise. | `BOX_CREATE_USER_INVITE` | | Action | What it does | Slug | | - | - | - | | Delete web link permanently | Permanently deletes a web link that is in the trash. | `BOX_DELETE_WEB_LINK_PERMANENTLY` | | Update web link | Updates a web link object. | `BOX_UPDATE_WEB_LINK` | | Action | What it does | Slug | | - | - | - | | Create shield information barrier segment member | Adds a Box user to a shield information barrier segment for compliance and information security. | `BOX_CREATE_SHIELD_INFORMATION_BARRIER_SEGMENT_MEMBER` | | Delete shield information barrier segment member by ID | Removes a user from a shield information barrier segment by deleting their membership. | `BOX_DELETE_SHIELD_INFORMATION_BARRIER_SEGMENT_MEMBER_BY_ID` | | Update group membership | Updates a user's group membership. | `BOX_UPDATE_GROUP_MEMBERSHIP` | | Action | What it does | Slug | | - | - | - | | Assign legal hold policy | Assign a legal hold policy to a file, file version, folder, or user. | `BOX_ASSIGN_LEGAL_HOLD_POLICY` | | Assign retention policy | Assigns a retention policy to an item in Box to enforce content retention. | `BOX_ASSIGN_RETENTION_POLICY` | | Assign storage policy | Creates a storage policy assignment for an enterprise or user. | `BOX_ASSIGN_STORAGE_POLICY` | | Create legal hold policy | Create a new legal hold policy in Box. | `BOX_CREATE_LEGAL_HOLD_POLICY` | | Create metadata cascade policy | Creates a new metadata cascade policy that automatically applies a metadata template to all files and subfolders within a specified folder. | `BOX_CREATE_METADATA_CASCADE_POLICY` | | Create retention policy | Creates a retention policy for managing content lifecycle in Box. | `BOX_CREATE_RETENTION_POLICY` | | Delete legal hold policy | Permanently delete an existing legal hold policy from Box. | `BOX_DELETE_LEGAL_HOLD_POLICY` | | Delete metadata cascade policy | Permanently deletes a metadata cascade policy from a folder. | `BOX_DELETE_METADATA_CASCADE_POLICY` | | Delete retention policy | Permanently deletes a retention policy from the Box enterprise. | `BOX_DELETE_RETENTION_POLICY` | | Delete retention policy assignment | Removes a retention policy assignment from content in Box. | `BOX_DELETE_RETENTION_POLICY_ASSIGNMENT` | | Delete storage policy assignment | Deletes a storage policy assignment, causing the assigned user to inherit the enterprise's default storage policy (Box Zone). | `BOX_DELETE_STORAGE_POLICY_ASSIGNMENT` | | Force apply metadata cascade policy to folder | Forces a metadata cascade policy to immediately apply the folder's metadata template to all existing child files and subfolders. | `BOX_FORCE_APPLY_METADATA_CASCADE_POLICY_TO_FOLDER` | | Unassign legal hold policy | Remove a legal hold policy assignment from an item (user, folder, file, or file version). | `BOX_UNASSIGN_LEGAL_HOLD_POLICY` | | Update legal hold policy | Update an existing legal hold policy in Box. | `BOX_UPDATE_LEGAL_HOLD_POLICY` | | Update retention policy | Updates an existing Box retention policy. | `BOX_UPDATE_RETENTION_POLICY` | | Update storage policy assignment | Updates a storage policy assignment for an enterprise or user. | `BOX_UPDATE_STORAGE_POLICY_ASSIGNMENT` | | Action | What it does | Slug | | - | - | - | | Add or update user avatar | Adds or updates a user avatar. | `BOX_ADD_OR_UPDATE_USER_AVATAR` | | Delete user avatar | Deletes a user's custom avatar image from Box. | `BOX_DELETE_USER_AVATAR` | | Action | What it does | Slug | | - | - | - | | Create shield information barrier report | Creates a shield information barrier report for a given barrier. | `BOX_CREATE_SHIELD_INFORMATION_BARRIER_REPORT` | | Action | What it does | Slug | | - | - | - | | Create shield information barrier segment | Creates a new shield information barrier segment for compliance and information isolation. | `BOX_CREATE_SHIELD_INFORMATION_BARRIER_SEGMENT` | | Create shield information barrier segment restriction | Creates a ONE-WAY shield information barrier segment restriction preventing collaboration between members of two segments (e.g., Investment Banking cannot collaborate with Research). | `BOX_CREATE_SHIELD_INFORMATION_BARRIER_SEGMENT_RESTRICTION` | | Delete shield information barrier segment | Permanently deletes a shield information barrier segment by its ID. | `BOX_DELETE_SHIELD_INFORMATION_BARRIER_SEGMENT` | | Update barrier segment | Updates a shield information barrier segment's name and/or description. | `BOX_UPDATE_BARRIER_SEGMENT` | | Action | What it does | Slug | | - | - | - | | Create terms of service | Creates a terms of service for a given enterprise and type of user. | `BOX_CREATE_TERMS_OF_SERVICE` | | Update terms of service | Updates an existing terms of service for the enterprise. | `BOX_UPDATE_TERMS_OF_SERVICE` | | Action | What it does | Slug | | - | - | - | | Terminate user group sessions | Terminates all active sessions for users belonging to the specified Box enterprise groups. | `BOX_TERMINATE_USER_GROUP_SESSIONS` | | Terminate user sessions | Creates asynchronous jobs to terminate active Box sessions for specified users. | `BOX_TERMINATE_USER_SESSIONS` | | Action | What it does | Slug | | - | - | - | | Add shared link to file | Adds a shared link to a file. | `BOX_ADD_SHARED_LINK_TO_FILE` | | Add shared link to folder | Adds a shared link to a folder, allowing it to be shared with others via a URL. | `BOX_ADD_SHARED_LINK_TO_FOLDER` | | Add shared link to web link | Adds a shared link to a web link. | `BOX_ADD_SHARED_LINK_TO_WEB_LINK` | | Delete shared link from file | Removes a shared link from a file in Box. | `BOX_DELETE_SHARED_LINK_FROM_FILE` | | Delete shared link from folder | Removes a shared link from a folder in Box. | `BOX_DELETE_SHARED_LINK_FROM_FOLDER` | | Delete shared link from web link | Removes a shared link from a web link in Box. | `BOX_DELETE_SHARED_LINK_FROM_WEB_LINK` | | Update shared link on file | Updates a shared link on a file. | `BOX_UPDATE_SHARED_LINK_ON_FILE` | | Update shared link on folder | Updates a shared link on a folder. | `BOX_UPDATE_SHARED_LINK_ON_FOLDER` | | Update shared link on web link | Updates a shared link on a web link. | `BOX_UPDATE_SHARED_LINK_ON_WEB_LINK` | | Action | What it does | Slug | | - | - | - | | Delete task | Permanently deletes a task from Box. | `BOX_DELETE_TASK` | | Action | What it does | Slug | | - | - | - | | Append metadata taxonomy level | Appends a new level to a metadata taxonomy structure. | `BOX_APPEND_METADATA_TAXONOMY_LEVEL` | | Create metadata taxonomy | Create a new metadata taxonomy in Box. | `BOX_CREATE_METADATA_TAXONOMY` | | Create metadata taxonomy levels | Creates new hierarchical levels for a metadata taxonomy in Box. | `BOX_CREATE_METADATA_TAXONOMY_LEVELS` | | Create metadata taxonomy node | Create a new metadata taxonomy node within a specified taxonomy. | `BOX_CREATE_METADATA_TAXONOMY_NODE` | | Delete metadata taxonomy | Permanently deletes a metadata taxonomy from the enterprise. | `BOX_DELETE_METADATA_TAXONOMY` | | Delete metadata taxonomy node | Permanently deletes a metadata taxonomy node from Box. | `BOX_DELETE_METADATA_TAXONOMY_NODE` | | Trim metadata taxonomy levels | Deletes the last level from a metadata taxonomy by trimming it. | `BOX_TRIM_METADATA_TAXONOMY_LEVELS` | | Update metadata taxonomy | Update an existing metadata taxonomy's display name. | `BOX_UPDATE_METADATA_TAXONOMY` | | Update metadata taxonomy node | Update an existing metadata taxonomy node's display name. | `BOX_UPDATE_METADATA_TAXONOMY_NODE` | | Action | What it does | Slug | | - | - | - | | Create metadata template | Creates a new metadata template that can be applied to files and folders. | `BOX_CREATE_METADATA_TEMPLATE` | | Delete metadata template | Permanently delete a metadata template and all its instances from files and folders. | `BOX_DELETE_METADATA_TEMPLATE` | | Update metadata template | Updates a metadata template by applying JSON-Patch operations. | `BOX_UPDATE_METADATA_TEMPLATE` | | Action | What it does | Slug | | - | - | - | | Refresh access token | Refresh an Access Token using its client ID, secret, and refresh token. | `BOX_REFRESH_ACCESS_TOKEN` | | Request access token | Request an Access Token using either a client-side obtained OAuth 2.0 authorization code or a server-side JWT assertion. | `BOX_REQUEST_ACCESS_TOKEN` | | Revoke access token | Revoke an active Access Token, effectively logging a user out that has been previously authenticated. | `BOX_REVOKE_ACCESS_TOKEN` | | Action | What it does | Slug | | - | - | - | | Add user to group | Creates a group membership. | `BOX_ADD_USER_TO_GROUP` | | Authorize user | Authorize a user by sending them through the Box website and request their permission to act on their behalf. | `BOX_AUTHORIZE_USER` | | Create terms of service status for new user | Creates a terms of service status record for a user who has not previously accepted or rejected the terms. | `BOX_CREATE_TERMS_OF_SERVICE_STATUS_FOR_NEW_USER` | | Create user | Creates a new managed user in an enterprise. | `BOX_CREATE_USER` | | Delete user | Permanently deletes a user from the enterprise. | `BOX_DELETE_USER` | | Delete user from group | Deletes a specific group membership. | `BOX_DELETE_USER_FROM_GROUP` | | Update terms of service status for existing user | Updates the acceptance status of a terms of service for a user who has previously accepted or rejected it. | `BOX_UPDATE_TERMS_OF_SERVICE_STATUS_FOR_EXISTING_USER` | | Update user | Updates a managed or app user in an enterprise. | `BOX_UPDATE_USER` | | Action | What it does | Slug | | - | - | - | | Create webhook | Creates a webhook to monitor a file or folder for specific events. | `BOX_CREATE_WEBHOOK` | | Delete webhook | Permanently deletes a webhook from the Box account. | `BOX_DELETE_WEBHOOK` | | Update webhook | Updates an existing webhook's configuration. | `BOX_UPDATE_WEBHOOK` | | Action | What it does | Slug | | - | - | - | | Start workflow | Starts a Box Relay workflow with trigger type WORKFLOW\_MANUAL\_START. | `BOX_START_WORKFLOW` | | Action | What it does | Slug | | - | - | - | | Add initial classifications | Initializes the classification template for an enterprise with an initial set of classification options. | `BOX_ADD_INITIAL_CLASSIFICATIONS` | | Cancel box sign request | Cancels a pending Box Sign request that has not yet been fully signed or declined. | `BOX_CANCEL_BOX_SIGN_REQUEST` | | Create box sign request | Creates a Box Sign request to send documents for electronic signing. | `BOX_CREATE_BOX_SIGN_REQUEST` | | Create collab exemption | Exempts a specific user from the enterprise's collaboration domain restrictions. | `BOX_CREATE_COLLAB_EXEMPTION` | | Create shield information barrier | Creates a shield information barrier to establish an "ethical wall" that separates individuals/groups within an enterprise and prevents confidential information sharing. | `BOX_CREATE_SHIELD_INFORMATION_BARRIER` | | Delete barrier restriction | Deletes a shield information barrier segment restriction by its unique ID. | `BOX_DELETE_BARRIER_RESTRICTION` | | Delete device pin | Deletes an individual device pin from the enterprise. | `BOX_DELETE_DEVICE_PIN` | | Resend box sign request | Resends signature request emails to all outstanding signers. | `BOX_RESEND_BOX_SIGN_REQUEST` | | Update shield information barrier status | Change the status of a shield information barrier. | `BOX_UPDATE_SHIELD_INFORMATION_BARRIER_STATUS` | ## Connect Box Before you start: * You need a Box account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Box** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Box**. The Box sign-in page opens in a new tab. Sign in to Box and approve the request. Check that it works: Box shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Box account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Box account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Box account Click **+ Account** on the Box card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Box side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Box**. 3. Sign in to Box and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Box account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Box.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Box account becomes primary. ## Costs Box actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Box, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Box connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Box account has an access level: **Read-only**, **Read + write**, and **Admin**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Box card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Box account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Box.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Cal.com Source: https://squad.so/docs/apps/cal What teammates can do in Cal.com with standard access, and how to connect, limit, and disconnect Cal.com. Connect Cal.com so your teammates can work in your Cal.com account. ## Access levels Cal.com has one level. The connect window shows it as **Default** and describes it as "Standard access." Teammates can use all 175 Cal.com actions. You cannot choose a narrower level for Cal.com. You can block single teammates with **No access** under **Per-teammate access**. The Cal.com sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in, and standard access does not limit which Cal.com actions teammates can use. ## What teammates can do The summary below groups the Cal.com actions into plain tasks. The full list after it names every action, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open the list and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Cal.com account?" The teammate can search the Cal.com actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Cal.com action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. * View, create, update, and delete webhooks * View, create, update, and delete types * View, create, update, and delete members * View, create, update, and delete schedules * View, create, update, and delete settings * View, update, and cancel bookings * View, create, update, and delete teams * View, create, update, and delete users * View, create, update, and delete calendars * View, create, update, and delete attributes * View, update, delete, and manage availability * View, create, and update links | Action | What it does | Slug | | - | - | - | | Get team default conferencing app | Retrieves the default conferencing application configured for a specific team within an organization. | `CAL_GET_TEAM_DEFAULT_CONFERENCING_APP` | | Handle conferencing OAuth callback for app | Processes an OAuth 2.0 callback for a conferencing app, exchanging the code and state for access credentials. | `CAL_HANDLE_CONFERENCING_OAUTH_CALLBACK_FOR_APP` | | Post conferencing app connect | Connects or reconnects Cal.com with a specified conferencing application to enable future virtual meeting scheduling, but does not itself create or schedule meetings. | `CAL_POST_CONFERENCING_APP_CONNECT` | | Set default conferencing app | Sets the specified, valid, and configured conferencing application as the default for new meetings for the authenticated user. | `CAL_SET_DEFAULT_CONFERENCING_APP` | | Action | What it does | Slug | | - | - | - | | Add attendee | Create a new attendee for an existing booking in Cal.com. | `CAL_ADD_ATTENDEE` | | Edit attendee by ID | Edit an existing attendee in a Cal.com booking. | `CAL_EDIT_ATTENDEE_BY_ID` | | List attendees | Retrieve all attendees from Cal.com. | `CAL_LIST_ATTENDEES` | | Action | What it does | Slug | | - | - | - | | Create organization attributes | Creates a new custom attribute for an existing organization, used to enhance data collection for event bookings or user profiles. | `CAL_CREATE_ORGANIZATION_ATTRIBUTES` | | Delete organization attribute | Permanently deletes an existing attribute (specified by attributeId) from an existing organization (specified by orgId). | `CAL_DELETE_ORGANIZATION_ATTRIBUTE` | | Fetch organization attribute by ID | Retrieves a specific attribute of an organization, useful for fetching a single data point instead of the entire organization record. | `CAL_FETCH_ORGANIZATION_ATTRIBUTE_BY_ID` | | Modify org attribute by ID | Partially updates an organization attribute using orgId and attributeId, allowing modification of its name, slug, type, or enabled status. | `CAL_MODIFY_ORG_ATTRIBUTE_BY_ID` | | Retrieve organization attributes | Retrieves detailed attributes (e.g., configurations, settings, metadata) for an organization, identified by its orgId, which must correspond to an existing organization. | `CAL_RETRIEVE_ORGANIZATION_ATTRIBUTES` | | Action | What it does | Slug | | - | - | - | | Delete selected slot | Deletes a previously selected time slot from the Cal schedule using its uid. | `CAL_DELETE_SELECTED_SLOT` | | Edit availability by ID | Edit an existing availability by ID on Cal.com. | `CAL_EDIT_AVAILABILITY_BY_ID` | | Get available slots info | Retrieves available time slots for scheduling by considering existing bookings and availability, based on criteria like a specified time range and event type. | `CAL_GET_AVAILABLE_SLOTS_INFO` | | Reserve slot for event | Temporarily reserves an available time slot for an existing and bookable event type, useful for high-demand slots to prevent double-bookings while the user completes the booking. | `CAL_RESERVE_SLOT_FOR_EVENT` | | Action | What it does | Slug | | - | - | - | | Cancel booking via uid | Cancels an existing and active Cal.com booking using its unique identifier (UID). | `CAL_CANCEL_BOOKING_VIA_UID` | | Confirm booking by uid | Confirms an existing booking by bookingUid if the booking exists and is in a state allowing confirmation (e.g., not already cancelled or confirmed). | `CAL_CONFIRM_BOOKING_BY_UID` | | Decline booking with reason | Declines a pending booking using its bookingUid, optionally with a reason. | `CAL_DECLINE_BOOKING_WITH_REASON` | | Edit booking by ID | Edit an existing booking by its ID. | `CAL_EDIT_BOOKING_BY_ID` | | Fetch all bookings | Fetches a list of bookings, optionally filtered by status, attendee, date range, or by event/team IDs (which must belong to/include the authenticated user respectively), with support for pagination and sorting. | `CAL_FETCH_ALL_BOOKINGS` | | Get booking reference by ID | Find a specific booking reference by its ID. | `CAL_GET_BOOKING_REFERENCE_BY_ID` | | Get booking references | Retrieves external references for a specific booking within an organization's team. | `CAL_GET_BOOKING_REFERENCES` | | Get team bookings | Retrieves all bookings for a specified team, optionally filtered by status, attendee details, date ranges, or event type IDs, with support for pagination and sorting. | `CAL_GET_TEAM_BOOKINGS` | | List booking references | Fetches one page of booking references in Cal.com. | `CAL_LIST_BOOKING_REFERENCES` | | Mark booking absent for uid | Marks the host and/or specified attendees as absent for an existing booking, typically used after a scheduled event to record no-shows. | `CAL_MARK_BOOKING_ABSENT_FOR_UID` | | Post new booking request | Creates a new booking for an event type at a specified start time. | `CAL_POST_NEW_BOOKING_REQUEST` | | Reassign booking to another user | Reassigns an existing booking to a specified user. | `CAL_REASSIGN_BOOKING_TO_ANOTHER_USER` | | Reassign booking with uid | Reassigns the specified booking to a new team member, who is determined by the system rather than being specified in the request. | `CAL_REASSIGN_BOOKING_WITH_UID` | | Reschedule booking by uid | Reschedules an existing booking (identified by bookingUid) to a new time. | `CAL_RESCHEDULE_BOOKING_BY_UID` | | Retrieve booking details by uid | Fetches comprehensive details for an existing booking, identified by its bookingUid. | `CAL_RETRIEVE_BOOKING_DETAILS_BY_UID` | | Action | What it does | Slug | | - | - | - | | Check ICS feed calendar endpoint | Checks an ICS feed URL (expected as a query parameter) to verify its validity, accessibility, and iCalendar data integrity. | `CAL_CHECK_ICS_FEED_CALENDAR_ENDPOINT` | | Connect to calendar | Initiates or checks the external connection status for a specified calendar, possibly returning a redirect URL for user authorization to complete integration, without altering calendar data. | `CAL_CONNECT_TO_CALENDAR` | | Delete destination calendar by ID | Remove an existing destination calendar by its unique ID. | `CAL_DELETE_DESTINATION_CALENDAR_BY_ID` | | Delete selected calendars | Removes a specified, currently selected calendar from the user's active list within the application, without deleting it from the external provider. | `CAL_DELETE_SELECTED_CALENDARS` | | Disconnect calendar using credential ID | Disconnects a calendar integration by its provider name and credential ID, irreversibly revoking Cal's access. | `CAL_DISCONNECT_CALENDAR_USING_CREDENTIAL_ID` | | Edit selected calendar by ID | Edit a selected calendar by its composite ID in Cal.com. | `CAL_EDIT_SELECTED_CALENDAR_BY_ID` | | Get destination calendars | Retrieve all destination calendars configured for the authenticated user. | `CAL_GET_DESTINATION_CALENDARS` | | Get Google calendar OAuth authentication URL | Generates the initial Google Calendar OAuth 2.0 authorization URL for user redirection to begin the authentication and authorization process. | `CAL_GET_GOOGLE_CALENDAR_OAUTH_AUTHENTICATION_URL` | | Get selected calendar by ID | Retrieve a selected calendar by its compound ID (userId\_integration\_externalId). | `CAL_GET_SELECTED_CALENDAR_BY_ID` | | Post calendar credentials | Use to submit/update authentication credentials (passed in the request body) for an existing calendar, enabling Cal to connect with external calendar services for synchronization. | `CAL_POST_CALENDAR_CREDENTIALS` | | Post selected calendars | Links a new external calendar or updates an existing link to one, enabling synchronization with the Cal application by specifying the integration provider, the calendar's externalId, and the credentialId. | `CAL_POST_SELECTED_CALENDARS` | | Retrieve calendar busy times | To find busy calendar slots for scheduling/conflict detection, call this with a valid credentialId, an externalId accessible by it, and a recognized IANA loggedInUsersTz. | `CAL_RETRIEVE_CALENDAR_BUSY_TIMES` | | Save calendar ICS feeds | Imports and saves one or more publicly accessible external iCalendar (ICS) feed URLs into the Cal.com calendar system. | `CAL_SAVE_CALENDAR_ICS_FEEDS` | | Action | What it does | Slug | | - | - | - | | Create phone call for event type | Configures Cal.ai phone call automation for a team event type, enabling AI-powered outbound calls for appointment reminders or custom conversations. | `CAL_CREATE_PHONE_CALL_FOR_EVENT_TYPE` | | Action | What it does | Slug | | - | - | - | | Force refresh user OAuth client | Forces an immediate refresh of OAuth tokens for a Platform managed user. | `CAL_FORCE_REFRESH_USER_OAUTH_CLIENT` | | Action | What it does | Slug | | - | - | - | | Request email verification code | Request an email verification code for a team's verified resources. | `CAL_REQUEST_EMAIL_VERIFICATION_CODE` | | Action | What it does | Slug | | - | - | - | | Delete conference app connection | Disconnects the specified conferencing application (e.g., 'zoom', 'google\_meet') for the Cal.com account, immediately terminating any ongoing call or meeting. | `CAL_DELETE_CONFERENCE_APP_CONNECTION` | | Action | What it does | Slug | | - | - | - | | Save calendar entry | Saves or updates a calendar's settings using a GET request, typically for data already on the server or simple updates via query parameters. | `CAL_SAVE_CALENDAR_ENTRY` | | Action | What it does | Slug | | - | - | - | | Create phone call event | Schedules a phone call event in Cal.com using existing eventType, organization, and team IDs. | `CAL_CREATE_PHONE_CALL_EVENT` | | Post webhook event | Creates a new Cal.com webhook subscription to send real-time notifications for specified calendar events (like bookings, meetings, forms) to a publicly accessible subscriber URL. | `CAL_POST_WEBHOOK_EVENT` | | Action | What it does | Slug | | - | - | - | | Get team routing forms | Retrieves routing forms for a specific team within an organization. | `CAL_GET_TEAM_ROUTING_FORMS` | | Action | What it does | Slug | | - | - | - | | Check team Stripe integration status | Retrieves the Stripe integration status and related information for a team, primarily to verify account connection, subscription details, or payment setup. | `CAL_CHECK_TEAM_STRIPE_INTEGRATION_STATUS` | | Update destination calendar integration | Updates the destination calendar for syncing events, using integration and externalId (typically from /calendars endpoint). | `CAL_UPDATE_DESTINATION_CALENDAR_INTEGRATION` | | Action | What it does | Slug | | - | - | - | | Create team invite link | Creates a shareable invite link for a Cal.com team that allows new members to join. | `CAL_CREATE_TEAM_INVITE_LINK` | | Get event type private links | Retrieves all private booking links for a specific event type. | `CAL_GET_EVENT_TYPE_PRIVATE_LINKS` | | Get private links | Get all private links for a team event type. | `CAL_GET_PRIVATE_LINKS` | | Update private link | Updates a private link for a team event type within an organization. | `CAL_UPDATE_PRIVATE_LINK` | | Action | What it does | Slug | | - | - | - | | Get teams list | Retrieves all teams the user belongs to, including their names and members. | `CAL_GET_TEAMS_LIST` | | Retrieve calendar list | Retrieves a list of all calendar summaries (no event details) associated with the authenticated user's account. | `CAL_RETRIEVE_CALENDAR_LIST` | | Retrieve schedules list | Retrieve all availability schedules for the authenticated Cal.com user. | `CAL_RETRIEVE_SCHEDULES_LIST` | | Retrieve webhooks list | Retrieves a paginated list of webhooks from the user's Cal scheduling system account, which are used for real-time notifications on events like new bookings, cancellations, or updates. | `CAL_RETRIEVE_WEBHOOKS_LIST` | | Action | What it does | Slug | | - | - | - | | Add member to team using org and team ID | Adds a new member to a specified team within an organization by creating a team membership. | `CAL_ADD_MEMBER_TO_TEAM_USING_ORG_AND_TEAM_ID` | | Create membership for organization | Creates a new membership for a user within a Cal.com organization. | `CAL_CREATE_MEMBERSHIP_FOR_ORGANIZATION` | | Create team membership with role | Adds a user to a team with a specified role, acceptance status, and impersonation settings. | `CAL_CREATE_TEAM_MEMBERSHIP_WITH_ROLE` | | Delete membership in team | Use to permanently remove a user's membership from a specific team within an organization, which revokes their team-associated access but does not remove them from the organization. | `CAL_DELETE_MEMBERSHIP_IN_TEAM` | | Delete organization membership | Irreversibly deletes a user's membership from an organization, removing all associated access and permissions. | `CAL_DELETE_ORGANIZATION_MEMBERSHIP` | | Delete team memberships by ID | Irreversibly removes a user's team membership in the Cal application, revoking access to that specific team. | `CAL_DELETE_TEAM_MEMBERSHIPS_BY_ID` | | List organization memberships | Retrieves all memberships for a given organization, including user details, roles, status, and membership dates. | `CAL_LIST_ORGANIZATION_MEMBERSHIPS` | | Modify organization membership by ID | Updates an organization membership's status (accepted), role, or impersonation settings, identified by orgId and membershipId in the path. | `CAL_MODIFY_ORGANIZATION_MEMBERSHIP_BY_ID` | | Retrieve membership from organization | Retrieves detailed information about a specific membership within a particular organization. | `CAL_RETRIEVE_MEMBERSHIP_FROM_ORGANIZATION` | | Retrieve team membership by ID | Retrieves detailed information for a specific team membership by its ID within an organization's team. | `CAL_RETRIEVE_TEAM_MEMBERSHIP_BY_ID` | | Retrieve team membership details | Retrieves detailed attributes for a specific team membership by its ID and the team ID, such as member information, role, and status. | `CAL_RETRIEVE_TEAM_MEMBERSHIP_DETAILS` | | Retrieve team memberships | Retrieves all memberships for a team, including member details, roles (MEMBER/OWNER/ADMIN), and invitation acceptance status. | `CAL_RETRIEVE_TEAM_MEMBERSHIPS` | | Retrieve team memberships for organization | Retrieves all user memberships for a specific team within an organization, including each member's role (OWNER, ADMIN, MEMBER), acceptance status, impersonation settings, and detailed user information (email, username, name, avatar, bio). | `CAL_RETRIEVE_TEAM_MEMBERSHIPS_FOR_ORGANIZATION` | | Update team membership by ID | Updates properties of an existing team membership. | `CAL_UPDATE_TEAM_MEMBERSHIP_BY_ID` | | Action | What it does | Slug | | - | - | - | | Get organization ID | Retrieves the organization ID associated with the currently authenticated user from the Cal.com /v2/me endpoint. | `CAL_GET_ORGANIZATION_ID` | | Action | What it does | Slug | | - | - | - | | Create or update team profile | Creates a new team profile, or updates one if a 'slug' matches, customizing branding, scheduling, privacy, and operational details. | `CAL_CREATE_OR_UPDATE_TEAM_PROFILE` | | Update user profile details | Updates the profile information and preferences for the authenticated user, affecting only the fields provided in the request. | `CAL_UPDATE_USER_PROFILE_DETAILS` | | Action | What it does | Slug | | - | - | - | | Update team membership properties | Updates attributes like acceptance status, role, or impersonation settings for an existing team membership within an organization. | `CAL_UPDATE_TEAM_MEMBERSHIP_PROPERTIES` | | Action | What it does | Slug | | - | - | - | | Create user availability schedule | Creates a Cal.com user availability schedule, defining its name, timezone, weekly recurring availability, and specific date overrides. | `CAL_CREATE_USER_AVAILABILITY_SCHEDULE` | | Create user schedule in organization | Creates a new schedule defining a user's availability with weekly slots and date-specific overrides in an organization. | `CAL_CREATE_USER_SCHEDULE_IN_ORGANIZATION` | | Delete schedule by ID | Permanently deletes a specific schedule using its unique identifier, which must correspond to an existing schedule. | `CAL_DELETE_SCHEDULE_BY_ID` | | Delete user schedule | Permanently deletes a specific user's schedule, provided the organization, user, and schedule (identified by orgId, userId, and scheduleId) exist. | `CAL_DELETE_USER_SCHEDULE` | | Fetch schedule by ID | Fetches comprehensive details for a specific, existing schedule using its scheduleId. | `CAL_FETCH_SCHEDULE_BY_ID` | | Fetch user schedule by org ID | Retrieves a specific user's schedule within an organization, returning availability windows, timezone settings, and date-specific overrides. | `CAL_FETCH_USER_SCHEDULE_BY_ORG_ID` | | Get default schedule details | Retrieves the Cal system's global default schedule configuration, not custom or user-specific ones. | `CAL_GET_DEFAULT_SCHEDULE_DETAILS` | | Get organization schedules | Retrieves availability schedules for an organization. | `CAL_GET_ORGANIZATION_SCHEDULES` | | Get organization user schedules | Retrieves all availability schedules configured for a specific user within an organization. | `CAL_GET_ORGANIZATION_USER_SCHEDULES` | | Get schedule for user in team | Retrieves all availability schedules for a specific user within a team and organization. | `CAL_GET_SCHEDULE_FOR_USER_IN_TEAM` | | Get team schedules | Retrieves availability schedules for all members of a specific team within an organization. | `CAL_GET_TEAM_SCHEDULES` | | Update schedule by ID | Updates an existing schedule by its ID, allowing partial modification of properties. | `CAL_UPDATE_SCHEDULE_BY_ID` | | Update user schedule in organization | Modifies an existing schedule for a specified user within an organization by updating only the provided fields. | `CAL_UPDATE_USER_SCHEDULE_IN_ORGANIZATION` | | Action | What it does | Slug | | - | - | - | | Add organization attribute option | Adds a new option to an organization's SINGLE\_SELECT or MULTI\_SELECT attribute. | `CAL_ADD_ORGANIZATION_ATTRIBUTE_OPTION` | | Create OAuth client webhook configuration | Creates a webhook configuration for an OAuth client to receive real-time event notifications from Cal.com. | `CAL_CREATE_OAUTH_CLIENT_WEBHOOK_CONFIGURATION` | | Delete organization attribute option | Permanently deletes a specified option from an organization's attribute. | `CAL_DELETE_ORGANIZATION_ATTRIBUTE_OPTION` | | Delete user attribute option | Unassigns a specific attribute option from a user within an organization. | `CAL_DELETE_USER_ATTRIBUTE_OPTION` | | Get organization attribute assigned options | Retrieves all assigned attribute options for a specific attribute within an organization. | `CAL_GET_ORGANIZATION_ATTRIBUTE_ASSIGNED_OPTIONS` | | Get organization attribute assigned options by slug | Retrieve all assigned attribute options for a specific attribute by its slug within an organization. | `CAL_GET_ORGANIZATION_ATTRIBUTE_ASSIGNED_OPTIONS_BY_SLUG` | | Patch organization attribute option | Partially updates a specific option for an organization's attribute, modifying its 'value' and/or 'slug'. | `CAL_PATCH_ORGANIZATION_ATTRIBUTE_OPTION` | | Post org attribute option by user | Assigns an existing attribute option (using attributeOptionId) or creates a new one (using value) for a user, linking it to a specified attributeId which must already exist within the organization. | `CAL_POST_ORG_ATTRIBUTE_OPTION_BY_USER` | | Retrieve attribute options for org | Retrieves all available options for a specific attribute within an organization. | `CAL_RETRIEVE_ATTRIBUTE_OPTIONS_FOR_ORG` | | Retrieve default conferencing settings | Retrieves an account's or organization's read-only default conferencing settings in Cal.com (e.g., video platform, meeting duration) to inform event creation or ensure consistency. | `CAL_RETRIEVE_DEFAULT_CONFERENCING_SETTINGS` | | Retrieve organization attributes options | Retrieves all attribute options assigned to a specific user within an organization. | `CAL_RETRIEVE_ORGANIZATION_ATTRIBUTES_OPTIONS` | | Update OAuth client user settings | Updates specified profile and scheduling preference fields for a user associated with an OAuth client. | `CAL_UPDATE_OAUTH_CLIENT_USER_SETTINGS` | | Action | What it does | Slug | | - | - | - | | Create team in organization | Creates a new team with customizable attributes within an existing and accessible Cal.com organization specified by orgId. | `CAL_CREATE_TEAM_IN_ORGANIZATION` | | Delete team by ID | Permanently and irreversibly deletes an existing team and all its associated data from the Cal system, using the team's unique teamId. | `CAL_DELETE_TEAM_BY_ID` | | Delete team from organization | Permanently and irreversibly deletes a specific team from a Cal.com organization. | `CAL_DELETE_TEAM_FROM_ORGANIZATION` | | Get team details by org ID and team ID | Retrieves comprehensive details for a specific team within an organization, including team metadata, configuration settings, branding options, and timezone/week preferences. | `CAL_GET_TEAM_DETAILS_BY_ORG_ID_AND_TEAM_ID` | | Get team information by team ID | Retrieves detailed information about a specific Cal.com team by its ID. | `CAL_GET_TEAM_INFORMATION_BY_TEAM_ID` | | Patch team details by ID | Updates specified details for an existing team identified by teamId. | `CAL_PATCH_TEAM_DETAILS_BY_ID` | | Retrieve current team for organization | Retrieves details of the team(s) for the currently authenticated user within the specified organization orgId. | `CAL_RETRIEVE_CURRENT_TEAM_FOR_ORGANIZATION` | | Retrieve team details in organization | Retrieves a paginated list of teams and their details for a specific organization ID. | `CAL_RETRIEVE_TEAM_DETAILS_IN_ORGANIZATION` | | Update team information by ID | Updates an existing team's information by its ID within a specified organization. | `CAL_UPDATE_TEAM_INFORMATION_BY_ID` | | Action | What it does | Slug | | - | - | - | | Get all timezones | Retrieves all supported time zone identifiers (e.g., 'America/New\_York', 'Europe/London') and their associated metadata, excluding specific DST changes or precise UTC offset details. | `CAL_GET_ALL_TIMEZONES` | | Action | What it does | Slug | | - | - | - | | Fetch provider access token | Fetches an OAuth access token for the specified clientId to authenticate API calls. | `CAL_FETCH_PROVIDER_ACCESS_TOKEN` | | Refresh OAuth token for client ID | Refreshes an OAuth access token for a specified clientId and managed user using their refreshToken. | `CAL_REFRESH_OAUTH_TOKEN_FOR_CLIENT_ID` | | Action | What it does | Slug | | - | - | - | | Create team event type | Creates a new event type for a specified team in Cal.com. | `CAL_CREATE_TEAM_EVENT_TYPE` | | Create team event types with custom options | Creates a highly customizable Cal.com team event type with extensive scheduling, booking, and host assignment options. | `CAL_CREATE_TEAM_EVENT_TYPES_WITH_CUSTOM_OPTIONS` | | Delete event type by ID | Permanently deletes an existing event type by its ID, which invalidates its scheduling links. | `CAL_DELETE_EVENT_TYPE_BY_ID` | | Delete event type in team | Permanently removes an event type's configuration from a team's scheduling options (e.g., for cleanup). | `CAL_DELETE_EVENT_TYPE_IN_TEAM` | | Delete team event type in organization | Permanently removes a team event type from an organization's scheduling configuration. | `CAL_DELETE_TEAM_EVENT_TYPE_IN_ORGANIZATION` | | Edit event type by ID | Edit an existing Cal.com event type by ID. | `CAL_EDIT_EVENT_TYPE_BY_ID` | | Fetch event type details | Fetches all configuration settings and characteristics for a single event type (identified by orgId, teamId, and eventTypeId), which must exist and be accessible. | `CAL_FETCH_EVENT_TYPE_DETAILS` | | Get event type by team ID | Retrieves a specific event type by its ID, requiring that the event type is associated with the given team ID. | `CAL_GET_EVENT_TYPE_BY_TEAM_ID` | | Get organization teams event types | Retrieves event types, including names, durations, and custom settings for team scheduling, for all teams within an existing organization specified by orgId. | `CAL_GET_ORGANIZATION_TEAMS_EVENT_TYPES` | | List event types | Retrieves Cal event types, filterable by username (required if eventSlug is provided), multiple usernames, or organization details (orgSlug or orgId). | `CAL_LIST_EVENT_TYPES` | | List team event types by org and team ID | Retrieves all event types for a specific team within an organization, optionally filtering by a specific event slug. | `CAL_LIST_TEAM_EVENT_TYPES_BY_ORG_AND_TEAM_ID` | | Patch webhook event type | Updates configuration (e.g., payload template, active status, URL, triggers, secret) for an existing webhook tied to a specific event type. | `CAL_PATCH_WEBHOOK_EVENT_TYPE` | | Retrieve event type by ID | Retrieves comprehensive details for a specific, existing Cal.com event type using its unique ID. | `CAL_RETRIEVE_EVENT_TYPE_BY_ID` | | Retrieve team event types | Retrieves event types for a team within the Cal scheduling system. | `CAL_RETRIEVE_TEAM_EVENT_TYPES` | | Update team event type | Update a team event type in Cal.com. | `CAL_UPDATE_TEAM_EVENT_TYPE` | | Action | What it does | Slug | | - | - | - | | Create OAuth client user | Creates a new managed user for a Cal.com Platform OAuth client. | `CAL_CREATE_OAUTH_CLIENT_USER` | | Delete OAuth client user | Permanently removes a managed user's association with an OAuth client without deleting their Cal.com account. | `CAL_DELETE_OAUTH_CLIENT_USER` | | Delete user from organization | Permanently removes a user from a specific organization (user's system-wide account is unaffected), revoking their access rights therein. | `CAL_DELETE_USER_FROM_ORGANIZATION` | | Get OAuth clients user | Retrieves all managed users associated with a Platform OAuth client. | `CAL_GET_OAUTH_CLIENTS_USER` | | Patch organization user details | Partially updates details for a user that exists within the specified organization. | `CAL_PATCH_ORGANIZATION_USER_DETAILS` | | Post user to organization | Adds a new user to an existing organization (identified by orgId in path), requiring user's email and allowing extensive optional profile customization. | `CAL_POST_USER_TO_ORGANIZATION` | | Retrieve OAuth client user by ID | Retrieves detailed profile information for a specific managed user associated with an OAuth client. | `CAL_RETRIEVE_OAUTH_CLIENT_USER_BY_ID` | | Retrieve users in organization | Retrieves users associated with a specific organization ID, excluding individual scheduling or calendar data. | `CAL_RETRIEVE_USERS_IN_ORGANIZATION` | | Action | What it does | Slug | | - | - | - | | Check calendar version2 | Retrieves free/busy availability for a specified calendar to aid scheduling without revealing event details. | `CAL_CHECK_CALENDAR_VERSION2` | | Action | What it does | Slug | | - | - | - | | Create organization webhook by org ID | Creates a webhook for an organization that sends HTTP POST notifications to a specified URL when triggered by events (e.g., booking created, cancelled, meeting started). | `CAL_CREATE_ORGANIZATION_WEBHOOK_BY_ORG_ID` | | Create webhook for event type | Creates a webhook for an existing eventTypeId in Cal.com, sending notifications for specified triggers to a subscriberUrl that handles POST requests. | `CAL_CREATE_WEBHOOK_FOR_EVENT_TYPE` | | Delete all team event type webhooks | Permanently deletes all webhooks associated with a specific team event type. | `CAL_DELETE_ALL_TEAM_EVENT_TYPE_WEBHOOKS` | | Delete OAuth client webhook | Permanently deletes a specific webhook for an OAuth client in Cal.com Platform API. | `CAL_DELETE_OAUTH_CLIENT_WEBHOOK` | | Delete org webhook | Permanently deletes an organization-level webhook by its ID. | `CAL_DELETE_ORG_WEBHOOK` | | Delete webhook by ID | Permanently deletes an existing webhook by its webhookId, stopping future notifications. | `CAL_DELETE_WEBHOOK_BY_ID` | | Delete webhook for event type | Permanently deletes a specific webhook for an event type, halting its real-time notifications. | `CAL_DELETE_WEBHOOK_FOR_EVENT_TYPE` | | Delete webhooks for event type | Irreversibly delete all webhooks for a specific eventTypeId if the event type exists. | `CAL_DELETE_WEBHOOKS_FOR_EVENT_TYPE` | | Fetch webhook by event type ID | Retrieves details for a single, specific webhook using its webhookId and associated eventTypeId. | `CAL_FETCH_WEBHOOK_BY_EVENT_TYPE_ID` | | Get team event type webhook | Retrieves details for a specific webhook configured on a team event type. | `CAL_GET_TEAM_EVENT_TYPE_WEBHOOK` | | Get team event type webhooks | Retrieves all webhooks configured for a specific team event type. | `CAL_GET_TEAM_EVENT_TYPE_WEBHOOKS` | | Get webhook by ID | Retrieves details for an existing and accessible webhook by its ID. | `CAL_GET_WEBHOOK_BY_ID` | | Retrieve OAuth client webhook by ID | Retrieves detailed configuration for a specific webhook by ID from a Platform OAuth client. | `CAL_RETRIEVE_OAUTH_CLIENT_WEBHOOK_BY_ID` | | Retrieve organization webhook by ID | Retrieves detailed information, including configuration and status, for a specific webhook by its ID (webhookId) within a given organization (orgId). | `CAL_RETRIEVE_ORGANIZATION_WEBHOOK_BY_ID` | | Retrieve organization webhooks by org ID | Retrieves all webhooks configured for a specific organization, returning an array of webhook objects with their configuration details (ID, triggers, subscriber URL, active status, etc.). | `CAL_RETRIEVE_ORGANIZATION_WEBHOOKS_BY_ORG_ID` | | Retrieve webhook details for OAuth client | Retrieves all webhook configurations for a specific OAuth client with optional pagination. | `CAL_RETRIEVE_WEBHOOK_DETAILS_FOR_OAUTH_CLIENT` | | Retrieve webhooks for event type | Retrieves a paginated list of webhooks (including URLs, subscribed events, and status) for a specified, existing event type ID, useful for auditing configurations or troubleshooting. | `CAL_RETRIEVE_WEBHOOKS_FOR_EVENT_TYPE` | | Update OAuth client webhook | Updates specified properties of an existing webhook for an OAuth client. | `CAL_UPDATE_OAUTH_CLIENT_WEBHOOK` | | Update team event type webhook | Updates a webhook for a team event type. | `CAL_UPDATE_TEAM_EVENT_TYPE_WEBHOOK` | | Update webhook by ID | Updates an existing Cal.com webhook by its webhookId, allowing partial modification of its attributes. | `CAL_UPDATE_WEBHOOK_BY_ID` | | Update webhook for organization | Updates an existing webhook for an organization. | `CAL_UPDATE_WEBHOOK_FOR_ORGANIZATION` | | Action | What it does | Slug | | - | - | - | | Create organization team form workflow | Create a new workflow for routing forms within an organization team. | `CAL_CREATE_ORGANIZATION_TEAM_FORM_WORKFLOW` | | Get organization team workflows | Retrieves workflows configured for a specific team within an organization. | `CAL_GET_ORGANIZATION_TEAM_WORKFLOWS` | | Action | What it does | Slug | | - | - | - | | Check gcal synchronization status | Verify the connection and synchronization status of a user's Google Calendar integration with Cal. | `CAL_CHECK_GCAL_SYNCHRONIZATION_STATUS` | | Check Stripe status | Verifies if Stripe is correctly connected to the Cal scheduling system and functional for processing payments, reporting only on the integration's status. | `CAL_CHECK_STRIPE_STATUS` | | Get conference OAuth authorization URL | Generates an OAuth 2.0 authorization URL for a supported conferencing app to initiate or refresh its integration with Cal.com. | `CAL_GET_CONFERENCE_OAUTH_AUTHORIZATION_URL` | | Get Stripe connect info | Retrieves Stripe Connect account details (ID, charges/payouts status, verification, settings) for the user's linked Cal.com account. | `CAL_GET_STRIPE_CONNECT_INFO` | | Get Stripe connect URL | Get Stripe Connect authorization URL for a team within an organization. | `CAL_GET_STRIPE_CONNECT_URL` | | Get verified phone numbers | Retrieves a paginated list of verified phone numbers for a specific organization team. | `CAL_GET_VERIFIED_PHONE_NUMBERS` | | Retrieve my information | Retrieves the authenticated user's core profile information (e.g., name, email, timezone). | `CAL_RETRIEVE_MY_INFORMATION` | | Retrieve provider details | Verifies and retrieves details for an OAuth client (provider) in Cal.com's Platform API. | `CAL_RETRIEVE_PROVIDER_DETAILS` | | Retrieve v2 conferencing info | Retrieves an authenticated Cal user's or organization's video conferencing configurations, capabilities, and installed apps, useful for understanding options before scheduling or verifying setups. | `CAL_RETRIEVE_V2_CONFERENCING_INFO` | | Save OAuth credentials via gcal API | Completes the Google Calendar OAuth 2.0 flow by exchanging the code and state (received from Google's redirect after user consent) for access and refresh tokens. | `CAL_SAVE_OAUTH_CREDENTIALS_VIA_GCAL_API` | | Save Stripe details | Completes the Stripe OAuth flow by saving Stripe details. | `CAL_SAVE_STRIPE_DETAILS` | ## Connect Cal.com Before you start: * You need a Cal.com account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Cal.com** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, keep **Default**. It is the only option. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Cal.com**. The Cal.com sign-in page opens in a new tab. Sign in to Cal.com and approve the request. Check that it works: Cal.com shows under **Your connections**, with a row for the account and its access level. ## Set access for one teammate Every teammate can use the account unless you block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Cal.com account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose **No access** to block the teammate. Choose **Default (Default)** to allow it again. 5. Click **Save access**. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Cal.com account Click **+ Account** on the Cal.com card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Cal.com side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Cal.com**. 3. Sign in to Cal.com and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Cal.com account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Cal.com.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Cal.com account becomes primary. ## Costs Cal.com actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate says it has no access to Cal.com, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Cal.com connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions You cannot choose a narrower level for Cal.com. You can block single teammates with **No access** under **Per-teammate access**. Click **+ Account** on the Cal.com card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Cal.com account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Cal.com.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Calendly Source: https://squad.so/docs/apps/calendly What teammates can do in Calendly with standard access, and how to connect, limit, and disconnect Calendly. Connect Calendly so your teammates can work in your Calendly account. ## Access levels Calendly has one level. The connect window shows it as **Default** and describes it as "Standard access." Teammates can use all 55 Calendly actions. You cannot choose a narrower level for Calendly. You can block single teammates with **No access** under **Per-teammate access**. The Calendly sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in, and standard access does not limit which Calendly actions teammates can use. ## What teammates can do The summary below groups the Calendly actions into plain tasks. The full list after it names every action, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open the list and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Calendly account?" The teammate can search the Calendly actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Calendly action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. * View, create, and update types * View, create, and delete attendees * View, delete, and cancel events * View, update, and manage invitations * View and delete members * View and delete subscriptions * View and update availability * View forms * View groups * Create links * View schedules * View users | Action | What it does | Slug | | - | - | - | | Create event invitee | DEPRECATED: Use CALENDLY\_POST\_INVITEE instead. | `CALENDLY_CREATE_EVENT_INVITEE` | | Delete invitee data | Permanently removes all invitee data associated with the provided emails from past organization events, for data privacy compliance (requires Enterprise subscription. | `CALENDLY_DELETE_INVITEE_DATA` | | Delete invitee no show | Deletes an Invitee No-Show record by its uuid to reverse an invitee's 'no-show' status. | `CALENDLY_DELETE_INVITEE_NO_SHOW` | | Get event invitee | Retrieves detailed information about a specific invitee of a scheduled event, using their unique UUIDs. | `CALENDLY_GET_EVENT_INVITEE` | | Get invitee no show | Retrieves details for a specific Invitee No Show record by its UUID. | `CALENDLY_GET_INVITEE_NO_SHOW` | | Invitee no show | Mark an invitee as a no-show for a scheduled event. | `CALENDLY_INVITEE_NO_SHOW` | | List event invitees | Retrieves a list of invitees for a specified Calendly event UUID, with options to filter by status or email, and sort by creation time. | `CALENDLY_LIST_EVENT_INVITEES` | | Post invitee | Create a new Event Invitee with standard notifications, calendar invites, reschedules, and workflows. | `CALENDLY_POST_INVITEE` | | Action | What it does | Slug | | - | - | - | | Get event type availability | Retrieve availability schedules configured for a specific Calendly event type. | `CALENDLY_GET_EVENT_TYPE_AVAILABILITY` | | Update event type availability | Update an event type availability schedule in Calendly. | `CALENDLY_UPDATE_EVENT_TYPE_AVAILABILITY` | | Action | What it does | Slug | | - | - | - | | List activity log entries | Retrieves a list of activity log entries for a specified Calendly organization (requires an active Enterprise subscription), supporting filtering, sorting, and pagination. | `CALENDLY_LIST_ACTIVITY_LOG_ENTRIES` | | Action | What it does | Slug | | - | - | - | | Cancel scheduled event | Cancel a scheduled Calendly event by creating a cancellation record. | `CALENDLY_CANCEL_SCHEDULED_EVENT` | | Delete scheduled event data | For Enterprise users, initiates deletion of an organization's scheduled event data between a start\_time and end\_time (inclusive, where start\_time must be \<= end\_time). | `CALENDLY_DELETE_SCHEDULED_EVENT_DATA` | | Get event | Use to retrieve a specific Calendly scheduled event by its UUID, provided the event exists in the user's Calendly account. | `CALENDLY_GET_EVENT` | | List events | DEPRECATED: Use CALENDLY\_LIST\_SCHEDULED\_EVENTS instead. | `CALENDLY_LIST_EVENTS` | | List scheduled events | Retrieve a list of scheduled Calendly events. | `CALENDLY_LIST_SCHEDULED_EVENTS` | | Action | What it does | Slug | | - | - | - | | Get routing form | Retrieves a specific routing form by its UUID, providing its configuration details including questions and routing logic. | `CALENDLY_GET_ROUTING_FORM` | | List routing forms | Retrieves routing forms for a specified organization. | `CALENDLY_LIST_ROUTING_FORMS` | | Action | What it does | Slug | | - | - | - | | Get group | Retrieves all attributes of a specific Calendly group by its UUID. | `CALENDLY_GET_GROUP` | | Get group relationship | Retrieves a specific Calendly group relationship by its valid and existing UUID, providing details on user-group associations and membership. | `CALENDLY_GET_GROUP_RELATIONSHIP` | | List group relationships | Retrieves a list of group relationships defining an owner's role (e.g., member, admin) within a group. | `CALENDLY_LIST_GROUP_RELATIONSHIPS` | | List groups | Returns a list of groups for a specified Calendly organization URI, supporting pagination. | `CALENDLY_LIST_GROUPS` | | Action | What it does | Slug | | - | - | - | | Get organization invitation | Retrieves a specific Calendly organization invitation using its UUID and the parent organization's UUID. | `CALENDLY_GET_ORGANIZATION_INVITATION` | | List organization invitations | Retrieves a list of invitations for a specific organization, identified by its UUID. | `CALENDLY_LIST_ORGANIZATION_INVITATIONS` | | Organization invitation | Invite a user to a Calendly organization via email. | `CALENDLY_ORGANIZATION_INVITATION` | | Revoke user s organization invitation | Revokes a pending and revokable (not yet accepted or expired) organization invitation using its UUID and the organization's UUID, rendering the invitation link invalid. | `CALENDLY_REVOKE_USER_S_ORGANIZATION_INVITATION` | | Action | What it does | Slug | | - | - | - | | Create scheduling link | Create a single-use scheduling link. | `CALENDLY_CREATE_SCHEDULING_LINK` | | Create single use scheduling link | Creates a one-time, single-use scheduling link for an active Calendly event type, expiring after one booking. | `CALENDLY_CREATE_SINGLE_USE_SCHEDULING_LINK` | | Action | What it does | Slug | | - | - | - | | List user locations | Retrieve configured meeting location information for a given Calendly user. | `CALENDLY_LIST_USER_LOCATIONS` | | Action | What it does | Slug | | - | - | - | | Delete organization membership | Remove a user from a Calendly organization by membership UUID. | `CALENDLY_DELETE_ORGANIZATION_MEMBERSHIP` | | Get organization membership | Retrieves a specific Calendly organization membership by its UUID, returning all its attributes. | `CALENDLY_GET_ORGANIZATION_MEMBERSHIP` | | List event type memberships | Retrieve a list of event type hosts (memberships) for a specific event type. | `CALENDLY_LIST_EVENT_TYPE_MEMBERSHIPS` | | List organization memberships | Retrieves a list of organization memberships. | `CALENDLY_LIST_ORGANIZATION_MEMBERSHIPS` | | Action | What it does | Slug | | - | - | - | | Get organization | Retrieve information about a specific Calendly organization. | `CALENDLY_GET_ORGANIZATION` | | Action | What it does | Slug | | - | - | - | | Get routing form submission | Retrieve details about a specific routing form submission by its UUID. | `CALENDLY_GET_ROUTING_FORM_SUBMISSION` | | Action | What it does | Slug | | - | - | - | | Get user availability schedule | Retrieves an existing user availability schedule by its UUID. | `CALENDLY_GET_USER_AVAILABILITY_SCHEDULE` | | List user availability schedules | Retrieves all availability schedules for the specified Calendly user. | `CALENDLY_LIST_USER_AVAILABILITY_SCHEDULES` | | Action | What it does | Slug | | - | - | - | | Delete webhook subscription | Deletes an existing webhook subscription to stop Calendly sending event notifications to its registered callback URL. | `CALENDLY_DELETE_WEBHOOK_SUBSCRIPTION` | | Get webhook subscription | Retrieves the details of an existing webhook subscription, identified by its UUID, including its callback URL, subscribed events, scope, and state. | `CALENDLY_GET_WEBHOOK_SUBSCRIPTION` | | List webhook subscriptions | Retrieves webhook subscriptions for a Calendly organization. | `CALENDLY_LIST_WEBHOOK_SUBSCRIPTIONS` | | Action | What it does | Slug | | - | - | - | | Create event type | Create a new one-on-one event type (kind: solo) in Calendly. | `CALENDLY_CREATE_EVENT_TYPE` | | Create one off event type | Creates a temporary Calendly one-off event type for unique meetings outside regular availability, requiring valid host/co-host URIs, a future date/range for date\_setting, and a positive duration. | `CALENDLY_CREATE_ONE_OFF_EVENT_TYPE` | | Get event type | Retrieves details for a specific Calendly event type, identified by its UUID, which must be valid and correspond to an existing event type. | `CALENDLY_GET_EVENT_TYPE` | | List event type available times | Fetches available time slots for a Calendly event type within a specified time range. | `CALENDLY_LIST_EVENT_TYPE_AVAILABLE_TIMES` | | List event types | List all Event Types associated with a specified User or Organization. | `CALENDLY_LIST_EVENT_TYPES` | | List user s event types | DEPRECATED: Use CALENDLY\_LIST\_EVENT\_TYPES instead. | `CALENDLY_LIST_USER_S_EVENT_TYPES` | | Update event type | Update an existing one-on-one event type (kind: solo) in Calendly. | `CALENDLY_UPDATE_EVENT_TYPE` | | Action | What it does | Slug | | - | - | - | | Get current user | DEPRECATED: Use CALENDLY\_GET\_USER instead. | `CALENDLY_GET_CURRENT_USER` | | Get user | Retrieves comprehensive details for an existing Calendly user. | `CALENDLY_GET_USER` | | List user busy times | Fetches a user's busy time intervals (internal and external calendar events) in ascending order for a period up to 7 days. | `CALENDLY_LIST_USER_BUSY_TIMES` | | Remove user from organization | Removes a user (who is not an owner) from an organization by their membership UUID, requiring administrative privileges. | `CALENDLY_REMOVE_USER_FROM_ORGANIZATION` | | Action | What it does | Slug | | - | - | - | | Create webhooks | Create a webhook subscription for receiving Calendly event notifications. | `CALENDLY_CREATE_WEBHOOKS` | | Get sample webhook data | Retrieve sample webhook payload data for testing webhook subscriptions. | `CALENDLY_GET_SAMPLE_WEBHOOK_DATA` | | Action | What it does | Slug | | - | - | - | | Create share | Creates a customizable, one-time share link for a Calendly event type, allowing specific overrides to its settings (e.g., duration, availability, location) without altering the original event type. | `CALENDLY_CREATE_SHARE` | | List outgoing communications | Retrieves a list of outgoing SMS communications for a specified organization. | `CALENDLY_LIST_OUTGOING_COMMUNICATIONS` | ## Connect Calendly Before you start: * You need a Calendly account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Calendly** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, keep **Default**. It is the only option. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Calendly**. The Calendly sign-in page opens in a new tab. Sign in to Calendly and approve the request. Check that it works: Calendly shows under **Your connections**, with a row for the account and its access level. ## Set access for one teammate Every teammate can use the account unless you block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Calendly account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose **No access** to block the teammate. Choose **Default (Default)** to allow it again. 5. Click **Save access**. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Calendly account Click **+ Account** on the Calendly card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Calendly side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Calendly**. 3. Sign in to Calendly and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Calendly account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Calendly.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Calendly account becomes primary. ## Costs Calendly actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate says it has no access to Calendly, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Calendly connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions You cannot choose a narrower level for Calendly. You can block single teammates with **No access** under **Per-teammate access**. Click **+ Account** on the Calendly card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Calendly account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Calendly.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Canva Source: https://squad.so/docs/apps/canva What teammates can do in Canva at each access level, and how to connect, limit, and disconnect Canva. Connect Canva so your teammates can work in your Canva account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Canva account has an access level: **Read-only** and **Read + write**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as designs, folders, assets, and comments. Cannot change anything." | 27 of 49 | | **Read + write** (recommended) | "Create, edit, import, and export designs, assets, folders, and comments." | 47 of 49 | The other 2 Canva actions run at no level, so no teammate can run them. **Read + write** is the recommended level. The connect window selects it for you, and you can choose another level. The Canva sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Canva account?" The teammate can search the Canva actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Canva action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 27 of the 49 Canva actions at this level: * View jobs * View designs * View replies * View templates * View account details * View assets * View folders * View items * View keys * View pages * View profiles * Test properties All 27 actions at this level: | Works on | Action | What it does | Slug | | - | - | - | - | | **Account details** | Who am I | | `CANVA_WHO_AM_I` | | **Assets** | Retrieve asset metadata by ID | You can retrieve the metadata of an asset by specifying its assetId. | `CANVA_RETRIEVE_ASSET_METADATA_BY_ID` | | **Comments** | Get designs designid comments threadid | Retrieves metadata for a comment or suggestion thread on a design. | `CANVA_GET_DESIGNS_DESIGNID_COMMENTS_THREADID` | | **Datasets** | Retrieve brand template dataset definition | Canva's brand template IDs will change later this year, including a 6-month integration migration. | `CANVA_RETRIEVE_BRAND_TEMPLATE_DATASET_DEFINITION` | | **Designs** | Fetch design metadata and access information | Gets the metadata for a design. | `CANVA_FETCH_DESIGN_METADATA_AND_ACCESS_INFORMATION` | | | List user designs | Provides a summary of Canva user designs, includes search filtering, and allows showing both self-created and shared designs with sorting options. | `CANVA_LIST_USER_DESIGNS` | | **Exports** | Get designs designid export formats | Lists available file formats for exporting a design. | `CANVA_GET_DESIGNS_DESIGNID_EXPORT_FORMATS` | | **Files** | Get URL asset uploads jobid | Retrieve the status and result of a URL-based asset upload job. | `CANVA_GET_URL_ASSET_UPLOADS_JOBID` | | **Folders** | Retrieve folder details by ID | Gets the name and other details of a folder using a folder's folderID. | `CANVA_RETRIEVE_FOLDER_DETAILS_BY_ID` | | **Items** | List folder items by type with sorting | Lists the items in a folder, including each item's type. | `CANVA_LIST_FOLDER_ITEMS_BY_TYPE_WITH_SORTING` | | **Jobs** | Fetch asset upload job status | Polls for asset upload job completion status. | `CANVA_FETCH_ASSET_UPLOAD_JOB_STATUS` | | | Get design export job result | Polls for design export job completion status. | `CANVA_GET_DESIGN_EXPORT_JOB_RESULT` | | | Retrieve design autofill job status | API users with Canva Enterprise membership can retrieve design autofill job results, potentially requiring multiple requests until a success or failed status is received. | `CANVA_RETRIEVE_DESIGN_AUTOFILL_JOB_STATUS` | | | Retrieve design import job status | Polls for design import job completion status. | `CANVA_RETRIEVE_DESIGN_IMPORT_JOB_STATUS` | | | Retrieve design resize job status | Retrieves the status and results of a design resize job. | `CANVA_RETRIEVE_DESIGN_RESIZE_JOB_STATUS` | | **Keys** | Fetch Canva connect signing public keys | The API for verifying Canva webhooks, 'connect/keys,' is in preview, meaning unstable, not for public integrations, and provides a rotating JWK for signature verification to prevent replay attacks. | `CANVA_FETCH_CANVA_CONNECT_SIGNING_PUBLIC_KEYS` | | | Retrieve app public key set | Returns the Json Web Key Set (public keys) of an app. | `CANVA_RETRIEVE_APP_PUBLIC_KEY_SET` | | **Pages** | List design pages with pagination | Preview API for Canva: subject to unannounced changes and not for public integrations. | `CANVA_LIST_DESIGN_PAGES_WITH_PAGINATION` | | **Profiles** | Retrieve user profile data | Currently, this returns the display name of the user account associated with the provided access token. | `CANVA_RETRIEVE_USER_PROFILE_DATA` | | **Properties** | Validate OAuth token properties | Check an access token's validity and properties via introspection, requiring authentication. | `CANVA_VALIDATE_OAUTH_TOKEN_PROPERTIES` | | **Replies** | Get design comment replies | Retrieves a list of replies for a comment or suggestion thread on a design. | `CANVA_GET_DESIGN_COMMENT_REPLIES` | | | Get design comment reply | Retrieves a specific reply to a comment or suggestion thread on a design. | `CANVA_GET_DESIGN_COMMENT_REPLY` | | **Templates** | Access user specific brand templates list | Lists brand templates available to the user (Canva Enterprise only). | `CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST` | | | Retrieve Canva enterprise brand template metadata | API use requires Canva Enterprise membership. | `CANVA_RETRIEVE_CANVA_ENTERPRISE_BRAND_TEMPLATE_METADATA` | | **Users** | Fetch current user details | Returns the User ID, Team ID, and display name of the user account associated with the provided access token. | `CANVA_FETCH_CURRENT_USER_DETAILS` | | | Get users me capabilities | Lists the API capabilities for the user account associated with the provided access token. | `CANVA_GET_USERS_ME_CAPABILITIES` | | **Other actions** | Get URL imports jobid | Polls for URL import job completion status. | `CANVA_GET_URL_IMPORTS_JOBID` | Teammates can use 47 of the 49 Canva actions at this level: everything in **Read-only**, plus: * Create jobs * Create, update, and delete folders * View and create comments * Create designs * Send replies * Delete assets * Create exports * Update items The 20 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Assets** | Delete asset by ID | You can delete an asset by specifying its assetId. | `CANVA_DELETE_ASSET_BY_ID` | | | Update asset s name and tags by ID | You can update the name and tags of an asset by specifying its assetId. | `CANVA_UPDATE_ASSET_S_NAME_AND_TAGS_BY_ID` | | **Comments** | Create design comment in preview API | Creates a new comment thread on a Canva design. | `CANVA_CREATE_DESIGN_COMMENT_IN_PREVIEW_API` | | | Post designs designid comments | Creates a comment thread on a Canva design. | `CANVA_POST_DESIGNS_DESIGNID_COMMENTS` | | **Designs** | Create Canva design with optional asset | DEPRECATED: Use CANVA\_POST\_DESIGNS instead. | `CANVA_CREATE_CANVA_DESIGN_WITH_OPTIONAL_ASSET` | | | Post designs | Creates a new Canva design with preset type or custom dimensions. | `CANVA_POST_DESIGNS` | | **Exports** | Post exports | Starts a new asynchronous job to export a Canva design file. | `CANVA_POST_EXPORTS` | | **Folders** | Post folders | Create a folder in Canva. | `CANVA_POST_FOLDERS` | | | Remove folder and move contents to trash | Deletes a folder by moving the user's content to Trash and reassigning other users' content to their top-level projects. | `CANVA_REMOVE_FOLDER_AND_MOVE_CONTENTS_TO_TRASH` | | | Update folder details by ID | Updates a folder's details using its folderID. | `CANVA_UPDATE_FOLDER_DETAILS_BY_ID` | | **Items** | Move item to specified folder | Transfers an item to a different folder by specifying both the destination folder's ID and the item's ID. | `CANVA_MOVE_ITEM_TO_SPECIFIED_FOLDER` | | **Jobs** | Create asset upload job | Uploads an asset file to the user's Canva content library. | `CANVA_CREATE_ASSET_UPLOAD_JOB` | | | Create Canva design export job | DEPRECATED: Use CANVA\_POST\_EXPORTS instead. | `CANVA_CREATE_CANVA_DESIGN_EXPORT_JOB` | | | Create design import job | Imports an external file as a new Canva design. | `CANVA_CREATE_DESIGN_IMPORT_JOB` | | | Create design resize job | Creates a resized copy of an existing design (Canva Pro/Enterprise only). | `CANVA_CREATE_DESIGN_RESIZE_JOB` | | | Create URL asset upload job | Create an asynchronous Canva asset import job from a public URL. | `CANVA_CREATE_URL_ASSET_UPLOAD_JOB` | | | Initiate Canva design autofill job | Canva Enterprise users can auto-fill designs using various data types, including experimental chart data. | `CANVA_INITIATE_CANVA_DESIGN_AUTOFILL_JOB` | | **Replies** | Create comment reply in design | This preview API allows replying to comments within a design on Canva, with a limit of 100 replies per comment. | `CANVA_CREATE_COMMENT_REPLY_IN_DESIGN` | | | Post designs designid comments threadid replies | Create a reply to a comment or suggestion thread on a Canva design. | `CANVA_POST_DESIGNS_DESIGNID_COMMENTS_THREADID_REPLIES` | | **Other actions** | Post URL imports | Start an asynchronous job to import an external file from a URL as a new design in Canva. | `CANVA_POST_URL_IMPORTS` | ## Connect Canva Before you start: * You need a Canva account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Canva** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Canva**. The Canva sign-in page opens in a new tab. Sign in to Canva and approve the request. Check that it works: Canva shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Canva account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Canva account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Canva account Click **+ Account** on the Canva card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Canva side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Canva**. 3. Sign in to Canva and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Canva account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Canva.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Canva account becomes primary. ## Costs Canva actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Canva, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Canva connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Canva account has an access level: **Read-only** and **Read + write**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Canva card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Canva account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Canva.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Capsule CRM Source: https://squad.so/docs/apps/capsule_crm What teammates can do in Capsule CRM with standard access, and how to connect, limit, and disconnect Capsule CRM. Connect Capsule CRM so your teammates can work in your Capsule CRM account. ## Access levels Capsule CRM has one level. The connect window shows it as **Default** and describes it as "Standard access." Teammates can use all 109 Capsule CRM actions. You cannot choose a narrower level for Capsule CRM. You can block single teammates with **No access** under **Per-teammate access**. The Capsule CRM sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in, and standard access does not limit which Capsule CRM actions teammates can use. ## What teammates can do The summary below groups the Capsule CRM actions into plain tasks. The full list after it names every action, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open the list and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Capsule CRM account?" The teammate can search the Capsule CRM actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Capsule CRM action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. * View, search, create, update, and delete contacts * View, search, create, update, and delete projects * View, search, create, update, and delete opportunities * View, create, update, and delete entries * View, create, update, and delete milestones * View, create, update, and delete pipeline stages * View, update, and delete boards * View, create, update, and delete categories * View, create, update, and delete tasks * View, update, and delete tags * View and update users * View and update pipelines | Action | What it does | Slug | | - | - | - | | Get attachment | Retrieve a specific attachment by ID from Capsule CRM. | `CAPSULE_CRM_GET_ATTACHMENT` | | Upload attachment | Upload an attachment to Capsule CRM. | `CAPSULE_CRM_UPLOAD_ATTACHMENT` | | Action | What it does | Slug | | - | - | - | | Delete board | Delete (archive) a specific board in Capsule CRM. | `CAPSULE_CRM_DELETE_BOARD` | | Get board | Get a specific board by ID from Capsule CRM. | `CAPSULE_CRM_GET_BOARD` | | List boards | List all boards on the Capsule CRM account. | `CAPSULE_CRM_LIST_BOARDS` | | Restore board | Restore a deleted board in Capsule CRM. | `CAPSULE_CRM_RESTORE_BOARD` | | Update board | Update an existing board in Capsule CRM. | `CAPSULE_CRM_UPDATE_BOARD` | | Action | What it does | Slug | | - | - | - | | Create category | Create a new task category in Capsule CRM. | `CAPSULE_CRM_CREATE_CATEGORY` | | Delete category | Delete a category from Capsule CRM. | `CAPSULE_CRM_DELETE_CATEGORY` | | Get category | Get a specific category by ID. | `CAPSULE_CRM_GET_CATEGORY` | | List categories | List all task categories on the Capsule account. | `CAPSULE_CRM_LIST_CATEGORIES` | | Update category | Update an existing category in Capsule CRM. | `CAPSULE_CRM_UPDATE_CATEGORY` | | Action | What it does | Slug | | - | - | - | | Add project party | Add a party (person or organisation) to a project in Capsule CRM. | `CAPSULE_CRM_ADD_PROJECT_PARTY` | | Create opportunity party | Add a party (person or organisation) to an opportunity in Capsule CRM. | `CAPSULE_CRM_CREATE_OPPORTUNITY_PARTY` | | Create party | Create a Party in Capsule CRM. | `CAPSULE_CRM_CREATE_PARTY` | | Delete opportunity party | Remove a party (person or organisation) from an opportunity in Capsule CRM. | `CAPSULE_CRM_DELETE_OPPORTUNITY_PARTY` | | Delete party | Fully delete a specific party (person or organisation) from Capsule CRM. | `CAPSULE_CRM_DELETE_PARTY` | | Delete project party | Remove a party (person or organisation) from a project in Capsule CRM. | `CAPSULE_CRM_DELETE_PROJECT_PARTY` | | List deleted parties | Retrieve parties deleted since a given date. | `CAPSULE_CRM_LIST_DELETED_PARTIES` | | List opportunity parties | List additional parties associated with an opportunity in Capsule CRM. | `CAPSULE_CRM_LIST_OPPORTUNITY_PARTIES` | | List parties | List all parties (contacts) on the account. | `CAPSULE_CRM_LIST_PARTIES` | | List project parties | List parties associated with a specific project in Capsule CRM. | `CAPSULE_CRM_LIST_PROJECT_PARTIES` | | Search parties | Search for parties (contacts/organisations) in Capsule CRM by query string. | `CAPSULE_CRM_SEARCH_PARTIES` | | Update party | Update an existing person or organisation (Party) in Capsule CRM. | `CAPSULE_CRM_UPDATE_PARTY` | | Action | What it does | Slug | | - | - | - | | List currencies | List all available currencies on the Capsule account. | `CAPSULE_CRM_LIST_CURRENCIES` | | Action | What it does | Slug | | - | - | - | | Create custom field definition | Create a new custom field definition for parties, opportunities, or projects in Capsule CRM. | `CAPSULE_CRM_CREATE_CUSTOM_FIELD_DEFINITION` | | Delete custom field definition | Delete a custom field definition from an entity type in Capsule CRM. | `CAPSULE_CRM_DELETE_CUSTOM_FIELD_DEFINITION` | | Get custom field definition | Get a specific custom field definition by ID from Capsule CRM. | `CAPSULE_CRM_GET_CUSTOM_FIELD_DEFINITION` | | List custom field definitions | List all custom field definitions for parties, opportunities, or projects (kases). | `CAPSULE_CRM_LIST_CUSTOM_FIELD_DEFINITIONS` | | Update custom field definition | Update an existing custom field definition in Capsule CRM. | `CAPSULE_CRM_UPDATE_CUSTOM_FIELD_DEFINITION` | | Action | What it does | Slug | | - | - | - | | List org employees | List employees linked to a specific organisation (party). | `CAPSULE_CRM_LIST_ORG_EMPLOYEES` | | Action | What it does | Slug | | - | - | - | | Create entry | Create a new note entry in Capsule CRM. | `CAPSULE_CRM_CREATE_ENTRY` | | Delete entry | Delete an entry (note, email, or task) from Capsule CRM. | `CAPSULE_CRM_DELETE_ENTRY` | | Get entry | Retrieve a specific entry by ID. | `CAPSULE_CRM_GET_ENTRY` | | List entity entries | List entries (notes, emails, tasks) for a specific party, opportunity, or project. | `CAPSULE_CRM_LIST_ENTITY_ENTRIES` | | List entries by date | List notes, emails, and completed party tasks in descending order by entry date. | `CAPSULE_CRM_LIST_ENTRIES_BY_DATE` | | Update entry | Update an existing entry (note, email, or task) in Capsule CRM. | `CAPSULE_CRM_UPDATE_ENTRY` | | Action | What it does | Slug | | - | - | - | | List goals | List all goals on the Capsule account. | `CAPSULE_CRM_LIST_GOALS` | | Action | What it does | Slug | | - | - | - | | Create milestone | Create a new milestone in Capsule CRM. | `CAPSULE_CRM_CREATE_MILESTONE` | | Delete milestone | Delete a specific milestone from Capsule CRM. | `CAPSULE_CRM_DELETE_MILESTONE` | | Get milestone | Get a specific milestone by ID from Capsule CRM. | `CAPSULE_CRM_GET_MILESTONE` | | List milestones | List all milestones on the Capsule account. | `CAPSULE_CRM_LIST_MILESTONES` | | List pipeline milestones | List milestones associated with a specific pipeline in Capsule CRM. | `CAPSULE_CRM_LIST_PIPELINE_MILESTONES` | | Update milestone | Update an existing milestone in Capsule CRM. | `CAPSULE_CRM_UPDATE_MILESTONE` | | Action | What it does | Slug | | - | - | - | | Create opportunity | Create a new opportunity in Capsule CRM. | `CAPSULE_CRM_CREATE_OPPORTUNITY` | | Delete opportunity | Delete an opportunity from Capsule CRM. | `CAPSULE_CRM_DELETE_OPPORTUNITY` | | Get opportunity | Retrieve a specific opportunity by its ID from Capsule CRM. | `CAPSULE_CRM_GET_OPPORTUNITY` | | List deleted opportunities | List opportunities deleted or restricted since a given date. | `CAPSULE_CRM_LIST_DELETED_OPPORTUNITIES` | | List opportunities | List all opportunities from Capsule CRM with pagination and filtering. | `CAPSULE_CRM_LIST_OPPORTUNITIES` | | List party opportunities | List all opportunities associated with a specific party in Capsule CRM. | `CAPSULE_CRM_LIST_PARTY_OPPORTUNITIES` | | Search opportunities | Search for opportunities in Capsule CRM by query string. | `CAPSULE_CRM_SEARCH_OPPORTUNITIES` | | Update opportunity | Update an existing opportunity in Capsule CRM. | `CAPSULE_CRM_UPDATE_OPPORTUNITY` | | Action | What it does | Slug | | - | - | - | | Create stage | Create a new stage in a board in Capsule CRM. | `CAPSULE_CRM_CREATE_STAGE` | | Delete stage | Delete a specific stage from a board in Capsule CRM. | `CAPSULE_CRM_DELETE_STAGE` | | Get stage | Get a specific stage by ID from Capsule CRM. | `CAPSULE_CRM_GET_STAGE` | | List board stages | List stages associated with a board in Capsule CRM. | `CAPSULE_CRM_LIST_BOARD_STAGES` | | List stages | List all stages on the Capsule CRM account. | `CAPSULE_CRM_LIST_STAGES` | | Update stage | Update an existing stage in Capsule CRM. | `CAPSULE_CRM_UPDATE_STAGE` | | Action | What it does | Slug | | - | - | - | | Get pipeline | Get a specific pipeline by ID from Capsule CRM. | `CAPSULE_CRM_GET_PIPELINE` | | List pipelines | List all sales pipelines on the Capsule account. | `CAPSULE_CRM_LIST_PIPELINES` | | Update pipeline | Update an existing pipeline in Capsule CRM. | `CAPSULE_CRM_UPDATE_PIPELINE` | | Action | What it does | Slug | | - | - | - | | Create project | Create a new project (case) in Capsule CRM. | `CAPSULE_CRM_CREATE_PROJECT` | | Delete project | Delete a project (case) from Capsule CRM. | `CAPSULE_CRM_DELETE_PROJECT` | | Get project | Retrieve a specific project (case) by its ID from Capsule CRM. | `CAPSULE_CRM_GET_PROJECT` | | List deleted projects | List projects deleted or restricted since a given date. | `CAPSULE_CRM_LIST_DELETED_PROJECTS` | | List opportunity projects | List projects (cases) associated with a specific opportunity in Capsule CRM. | `CAPSULE_CRM_LIST_OPPORTUNITY_PROJECTS` | | List party projects | List projects associated with a specific party in Capsule CRM. | `CAPSULE_CRM_LIST_PARTY_PROJECTS` | | List projects | List projects (cases) from Capsule CRM with pagination and filtering options. | `CAPSULE_CRM_LIST_PROJECTS` | | Search projects | Search for projects (cases) in Capsule CRM by query string. | `CAPSULE_CRM_SEARCH_PROJECTS` | | Update project | Update an existing project (case) in Capsule CRM. | `CAPSULE_CRM_UPDATE_PROJECT` | | Action | What it does | Slug | | - | - | - | | Run filter query | Run structured filter queries on parties, opportunities or kases. | `CAPSULE_CRM_RUN_FILTER_QUERY` | | Action | What it does | Slug | | - | - | - | | List entity tracks | List tracks applied to a specific opportunity or project. | `CAPSULE_CRM_LIST_ENTITY_TRACKS` | | Action | What it does | Slug | | - | - | - | | List site | Retrieve site (account) information for the authenticated Capsule CRM account. | `CAPSULE_CRM_LIST_SITE` | | Action | What it does | Slug | | - | - | - | | Delete entity tag | Delete a tag from an entity type (parties, opportunities, or kases) in Capsule CRM. | `CAPSULE_CRM_DELETE_ENTITY_TAG` | | Get entity tag | Retrieve a specific tag by ID for an entity type (parties, opportunities, or kases) in Capsule CRM. | `CAPSULE_CRM_GET_ENTITY_TAG` | | List entity tags | List all tag definitions for a specific entity type (parties, opportunities, or kases). | `CAPSULE_CRM_LIST_ENTITY_TAGS` | | Update entity tag | Update an existing tag for an entity type (parties, opportunities, or kases) in Capsule CRM. | `CAPSULE_CRM_UPDATE_ENTITY_TAG` | | Action | What it does | Slug | | - | - | - | | Create task | Create a new task in Capsule CRM. | `CAPSULE_CRM_CREATE_TASK` | | Delete task | Delete a specific task from Capsule CRM. | `CAPSULE_CRM_DELETE_TASK` | | Get task | Get a specific task by ID. | `CAPSULE_CRM_GET_TASK` | | List tasks | List tasks on the Capsule account. | `CAPSULE_CRM_LIST_TASKS` | | Update task | Update an existing task in Capsule CRM. | `CAPSULE_CRM_UPDATE_TASK` | | Action | What it does | Slug | | - | - | - | | List teams | List all teams on the Capsule CRM account. | `CAPSULE_CRM_LIST_TEAMS` | | Action | What it does | Slug | | - | - | - | | Get activity type | Get a specific activity type by ID. | `CAPSULE_CRM_GET_ACTIVITY_TYPE` | | List activity type icons | List available activity type icons in Capsule CRM. | `CAPSULE_CRM_LIST_ACTIVITY_TYPE_ICONS` | | List activity types | List all activity types on the Capsule account. | `CAPSULE_CRM_LIST_ACTIVITY_TYPES` | | Action | What it does | Slug | | - | - | - | | Get current user | Retrieve the current authenticated user's details including id, username, name, locale, currency, status, timezone, lastLoginAt, and taskReminder settings. | `CAPSULE_CRM_GET_CURRENT_USER` | | Get user | Get a specific user by ID. | `CAPSULE_CRM_GET_USER` | | List users | List all users on the Capsule CRM account. | `CAPSULE_CRM_LIST_USERS` | | Update user | Update an existing user in Capsule CRM. | `CAPSULE_CRM_UPDATE_USER` | | Action | What it does | Slug | | - | - | - | | List rest hooks | List all REST hook subscriptions on the Capsule CRM account. | `CAPSULE_CRM_LIST_REST_HOOKS` | | Action | What it does | Slug | | - | - | - | | Create lost reason | Create a new lost reason in Capsule CRM. | `CAPSULE_CRM_CREATE_LOST_REASON` | | Create title | Create a new custom person title in Capsule CRM. | `CAPSULE_CRM_CREATE_TITLE` | | Create track | Create a new track in Capsule CRM by applying a track definition to a project or opportunity. | `CAPSULE_CRM_CREATE_TRACK` | | Create track definition | Create a new track definition in Capsule CRM. | `CAPSULE_CRM_CREATE_TRACK_DEFINITION` | | Delete lost reason | Delete a lost reason from Capsule CRM. | `CAPSULE_CRM_DELETE_LOST_REASON` | | Delete title | Delete a specific title from Capsule CRM. | `CAPSULE_CRM_DELETE_TITLE` | | Delete track | Delete a specific track from Capsule CRM. | `CAPSULE_CRM_DELETE_TRACK` | | Delete track definition | Delete a specific track definition from Capsule CRM. | `CAPSULE_CRM_DELETE_TRACK_DEFINITION` | | Get lost reason | Retrieve a specific lost reason by ID from Capsule CRM. | `CAPSULE_CRM_GET_LOST_REASON` | | Get track | Get a specific track by ID. | `CAPSULE_CRM_GET_TRACK` | | Get track definition | Get a specific track definition by ID from Capsule CRM. | `CAPSULE_CRM_GET_TRACK_DEFINITION` | | List countries | List all countries on the Capsule CRM account. | `CAPSULE_CRM_LIST_COUNTRIES` | | List lost reasons | List all lost reasons on the Capsule account. | `CAPSULE_CRM_LIST_LOST_REASONS` | | List titles | List all custom person titles on the Capsule account. | `CAPSULE_CRM_LIST_TITLES` | | List track definitions | List all track definitions on the Capsule account. | `CAPSULE_CRM_LIST_TRACK_DEFINITIONS` | | Update lost reason | Update an existing lost reason in Capsule CRM. | `CAPSULE_CRM_UPDATE_LOST_REASON` | | Update track | Update an existing track in Capsule CRM. | `CAPSULE_CRM_UPDATE_TRACK` | | Update track definition | Update an existing track definition in Capsule CRM. | `CAPSULE_CRM_UPDATE_TRACK_DEFINITION` | ## Connect Capsule CRM Before you start: * You need a Capsule CRM account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Capsule CRM** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, keep **Default**. It is the only option. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Capsule CRM**. The Capsule CRM sign-in page opens in a new tab. Sign in to Capsule CRM and approve the request. Check that it works: Capsule CRM shows under **Your connections**, with a row for the account and its access level. ## Set access for one teammate Every teammate can use the account unless you block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Capsule CRM account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose **No access** to block the teammate. Choose **Default (Default)** to allow it again. 5. Click **Save access**. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Capsule CRM account Click **+ Account** on the Capsule CRM card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Capsule CRM side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Capsule CRM**. 3. Sign in to Capsule CRM and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Capsule CRM account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Capsule CRM.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Capsule CRM account becomes primary. ## Costs Capsule CRM actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate says it has no access to Capsule CRM, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Capsule CRM connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions You cannot choose a narrower level for Capsule CRM. You can block single teammates with **No access** under **Per-teammate access**. Click **+ Account** on the Capsule CRM card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Capsule CRM account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Capsule CRM.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # ClickUp Source: https://squad.so/docs/apps/clickup What teammates can do in ClickUp with standard access, and how to connect, limit, and disconnect ClickUp. Connect ClickUp so your teammates can work in your ClickUp account. ## Access levels ClickUp has one level. The connect window shows it as **Default** and describes it as "Standard access." Teammates can use all 164 ClickUp actions. You cannot choose a narrower level for ClickUp. You can block single teammates with **No access** under **Per-teammate access**. The ClickUp sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in, and standard access does not limit which ClickUp actions teammates can use. ## What teammates can do The summary below groups the ClickUp actions into plain tasks. The full list after it names every action, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open the list and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my ClickUp account?" The teammate can search the ClickUp actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the ClickUp action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. * View, create, update, and delete views * View, create, update, and delete comments * View, create, update, and delete lists * View, create, update, and delete tasks * View, create, update, delete, start, and stop time entries * View, create, update, and delete channels * View, create, update, and delete tags * View, create, update, and delete folders * View, create, update, and delete goals * View, update, delete, and send messages * View, create, update, and delete spaces * View, create, and update users | Action | What it does | Slug | | - | - | - | | Create task attachment | Uploads a file as an attachment to a specified ClickUp task using multipart/form-data. | `CLICKUP_CREATE_TASK_ATTACHMENT` | | Action | What it does | Slug | | - | - | - | | Create chat channel | Create a chat channel in a ClickUp workspace. | `CLICKUP_CREATE_CHAT_CHANNEL` | | Create direct message channel | Create a direct message channel in ClickUp. | `CLICKUP_CREATE_DIRECT_MESSAGE_CHANNEL` | | Create location chat channel | Create a Channel on a Space, Folder, or List in ClickUp. | `CLICKUP_CREATE_LOCATION_CHAT_CHANNEL` | | Delete chat channel | Delete a chat channel in ClickUp. | `CLICKUP_DELETE_CHAT_CHANNEL` | | Get chat channel | Retrieves details for a specific chat channel in a ClickUp Workspace. | `CLICKUP_GET_CHAT_CHANNEL` | | Get chat channels | Retrieve chat channels in a ClickUp workspace. | `CLICKUP_GET_CHAT_CHANNELS` | | Update chat channel | Update a ClickUp chat channel's properties including name, topic, description, visibility, and location. | `CLICKUP_UPDATE_CHAT_CHANNEL` | | Action | What it does | Slug | | - | - | - | | Create checklist | Creates a new checklist with a specified name within an existing task, which can be identified by its standard ID or a custom task ID (if custom\_task\_ids is true, team\_id is also required). | `CLICKUP_CREATE_CHECKLIST` | | Delete checklist | Permanently deletes an existing checklist identified by its checklist\_id. | `CLICKUP_DELETE_CHECKLIST` | | Update checklist | Updates an existing checklist's name or position, identified by its checklist\_id. | `CLICKUP_UPDATE_CHECKLIST` | | Action | What it does | Slug | | - | - | - | | Create chat view comment | Posts a new comment to a specified ClickUp Chat view. | `CLICKUP_CREATE_CHAT_VIEW_COMMENT` | | Create list comment | Adds a new comment with specific text to an existing and accessible ClickUp List, assigns it to a user, and sets notification preferences for all list members. | `CLICKUP_CREATE_LIST_COMMENT` | | Create task comment | Adds a comment to a ClickUp task. | `CLICKUP_CREATE_TASK_COMMENT` | | Create threaded comment | Create a threaded reply to a comment in ClickUp. | `CLICKUP_CREATE_THREADED_COMMENT` | | Delete comment | Deletes an existing comment from a task using its comment\_id. | `CLICKUP_DELETE_COMMENT` | | Get chat view comments | Retrieves comments from a specified Chat view in ClickUp, supporting pagination via start and start\_id to fetch comments older than the default 25 most recent. | `CLICKUP_GET_CHAT_VIEW_COMMENTS` | | Get list comments | Retrieves comments for a specific ClickUp List, supporting pagination using start (timestamp) and start\_id (comment ID) to fetch earlier comments. | `CLICKUP_GET_LIST_COMMENTS` | | Get task comments | Retrieves up to 25 comments for a specified task, supporting pagination using start and start\_id to fetch older comments. | `CLICKUP_GET_TASK_COMMENTS` | | Get threaded comments | Retrieves threaded replies to a parent comment. | `CLICKUP_GET_THREADED_COMMENTS` | | Update comment | Updates an existing task comment's text, assignee (who must be a valid workspace member), or resolution status, requiring a valid existing comment\_id. | `CLICKUP_UPDATE_COMMENT` | | Action | What it does | Slug | | - | - | - | | Get doc content | Fetch the full content of a ClickUp Doc including metadata and all page contents in markdown format. | `CLICKUP_GET_DOC_CONTENT` | | Get doc page content | Fetch a single ClickUp Doc page's content and metadata by workspace\_id + doc\_id + page\_id (v3 Docs API). | `CLICKUP_GET_DOC_PAGE_CONTENT` | | Action | What it does | Slug | | - | - | - | | Get accessible custom fields | Retrieves all accessible Custom Field definitions for a specified ClickUp List using its list\_id. | `CLICKUP_GET_ACCESSIBLE_CUSTOM_FIELDS` | | Remove custom field value | Removes an existing value from a Custom Field on a specific task. | `CLICKUP_REMOVE_CUSTOM_FIELD_VALUE` | | Set custom field value | Sets or updates a Custom Field's value for a task. | `CLICKUP_SET_CUSTOM_FIELD_VALUE` | | Action | What it does | Slug | | - | - | - | | Add dependency | Adds a 'waiting on' or 'blocking' dependency to a task, requiring either depends\_on (task becomes waiting on) or dependency\_of (task becomes blocking), but not both. | `CLICKUP_ADD_DEPENDENCY` | | Delete dependency | Removes a dependency relationship for a task. | `CLICKUP_DELETE_DEPENDENCY` | | Action | What it does | Slug | | - | - | - | | Create doc | Create a new ClickUp Doc in a Workspace (v3 Docs API) and return the new doc\_id for follow-up page/content operations. | `CLICKUP_CREATE_DOC` | | Search docs | Search and list Docs metadata in a ClickUp workspace. | `CLICKUP_SEARCH_DOCS` | | Action | What it does | Slug | | - | - | - | | Get folder available fields | View custom fields available in a ClickUp folder. | `CLICKUP_GET_FOLDER_AVAILABLE_FIELDS` | | Get space available fields | Retrieves all custom fields available in a ClickUp Space, identified by space\_id. | `CLICKUP_GET_SPACE_AVAILABLE_FIELDS` | | Get team available fields | Retrieves all custom fields available in a ClickUp Workspace (Team), identified by team\_id. | `CLICKUP_GET_TEAM_AVAILABLE_FIELDS` | | Action | What it does | Slug | | - | - | - | | Attachments upload file to task as attachment | DEPRECATED: Use create\_task\_attachment to upload a file to a task. | `CLICKUP_ATTACHMENTS_UPLOAD_FILE_TO_TASK_AS_ATTACHMENT` | | Action | What it does | Slug | | - | - | - | | Create folder | Creates a new ClickUp Folder within the specified Space, which must exist and be accessible. | `CLICKUP_CREATE_FOLDER` | | Delete folder | Permanently and irreversibly deletes a specified folder and all its contents (Lists, Tasks) if the folder\_id exists. | `CLICKUP_DELETE_FOLDER` | | Get folder | Retrieves detailed information about a specific folder in ClickUp. | `CLICKUP_GET_FOLDER` | | Get folders | Retrieves Folders within a specified ClickUp Space, ensuring space\_id is valid, with an option to filter by archived status. | `CLICKUP_GET_FOLDERS` | | Update folder | Updates the name of an existing folder in ClickUp. | `CLICKUP_UPDATE_FOLDER` | | Action | What it does | Slug | | - | - | - | | Get chat channel followers | Retrieve followers of a ClickUp chat channel. | `CLICKUP_GET_CHAT_CHANNEL_FOLLOWERS` | | Action | What it does | Slug | | - | - | - | | Create goal | Creates a new goal in a ClickUp Team (Workspace). | `CLICKUP_CREATE_GOAL` | | Delete goal | Permanently removes an existing Goal, identified by its goal\_id, from the Workspace. | `CLICKUP_DELETE_GOAL` | | Get goal | Retrieves detailed information for an existing ClickUp Goal, specified by its unique goal\_id. | `CLICKUP_GET_GOAL` | | Get goals | Retrieves goals for a specified ClickUp Workspace (Team). | `CLICKUP_GET_GOALS` | | Update goal | Updates attributes of an existing ClickUp goal, identified by its goal\_id. | `CLICKUP_UPDATE_GOAL` | | Action | What it does | Slug | | - | - | - | | Add guest to folder | Adds a guest to a folder with specified permissions. | `CLICKUP_ADD_GUEST_TO_FOLDER` | | Add guest to list | Shares a ClickUp List with an existing guest user, granting them specified permissions. | `CLICKUP_ADD_GUEST_TO_LIST` | | Add guest to task | Assigns a guest to a task with specified permissions. | `CLICKUP_ADD_GUEST_TO_TASK` | | Get guest | Retrieve detailed information for a specific guest within a Team (Workspace), ensuring the guest\_id is valid for the given team\_id. | `CLICKUP_GET_GUEST` | | Invite guest to workspace | Invites a guest by email to a ClickUp Workspace (Team) on an Enterprise Plan, setting initial permissions and optionally a custom role. | `CLICKUP_INVITE_GUEST_TO_WORKSPACE` | | Remove guest from folder | Revokes a guest's access to a specific ClickUp Folder, optionally unsharing items explicitly shared with them within it. | `CLICKUP_REMOVE_GUEST_FROM_FOLDER` | | Remove guest from list | Revokes a guest's access to a specific List, provided the guest currently has access to this List and the Workspace is on the ClickUp Enterprise Plan. | `CLICKUP_REMOVE_GUEST_FROM_LIST` | | Remove guest from task | Revokes a guest's access to a specific task. | `CLICKUP_REMOVE_GUEST_FROM_TASK` | | Remove guest from workspace | Permanently removes a guest from a specified Workspace, revoking all their access. | `CLICKUP_REMOVE_GUEST_FROM_WORKSPACE` | | Update guest on workspace | Modifies the details and permissions of an existing guest user within a specific Workspace. | `CLICKUP_UPDATE_GUEST_ON_WORKSPACE` | | Action | What it does | Slug | | - | - | - | | Get time entry history | Retrieves the modification history for an existing time entry within a specific ClickUp Team (Workspace). | `CLICKUP_GET_TIME_ENTRY_HISTORY` | | Action | What it does | Slug | | - | - | - | | Create checklist item | Creates a new checklist item within a specified, existing checklist, optionally setting the item's name and assigning it to a user. | `CLICKUP_CREATE_CHECKLIST_ITEM` | | Delete checklist item | Permanently deletes an existing item, identified by checklist\_item\_id, from an existing checklist, identified by checklist\_id. | `CLICKUP_DELETE_CHECKLIST_ITEM` | | Update checklist item | Updates an existing checklist item, allowing modification of its name, assignee, resolution status, or parent item for nesting. | `CLICKUP_UPDATE_CHECKLIST_ITEM` | | Action | What it does | Slug | | - | - | - | | Create key result | Creates a new Key Result (Target) for a specified Goal in ClickUp to define and track measurable objectives towards achieving that Goal. | `CLICKUP_CREATE_KEY_RESULT` | | Delete key result | Deletes an existing Key Result, also referred to as a Target within a Goal, identified by its key\_result\_id. | `CLICKUP_DELETE_KEY_RESULT` | | Update key result | Updates an existing key result's progress or note in ClickUp, where the key result measures progress towards a goal. | `CLICKUP_UPDATE_KEY_RESULT` | | Action | What it does | Slug | | - | - | - | | Add task link | Links two existing and accessible ClickUp tasks, identified by task\_id (source) and links\_to (target). | `CLICKUP_ADD_TASK_LINK` | | Delete task link | Deletes an existing link, effectively a dependency or relationship, between two ClickUp tasks. | `CLICKUP_DELETE_TASK_LINK` | | Action | What it does | Slug | | - | - | - | | Authorization get work space list | DEPRECATED: Use get\_authorized\_teams\_workspaces instead to retrieve Workspaces (Teams) accessible to the authenticated user. | `CLICKUP_AUTHORIZATION_GET_WORK_SPACE_LIST` | | Create folderless list | Creates a new folderless list (a list not part of any Folder) directly within a specified ClickUp Space. | `CLICKUP_CREATE_FOLDERLESS_LIST` | | Create list | Creates a new list in ClickUp within an existing folder. | `CLICKUP_CREATE_LIST` | | Create list from template | Creates a new list from a template in a specified ClickUp folder. | `CLICKUP_CREATE_LIST_FROM_TEMPLATE` | | Delete list | Permanently deletes an existing List and all its contents. | `CLICKUP_DELETE_LIST` | | Get folderless lists | Retrieves all Lists within a specified Space that are not located in any Folder. | `CLICKUP_GET_FOLDERLESS_LISTS` | | Get list | Retrieves detailed information for an existing List in ClickUp, identified by its unique list\_id. | `CLICKUP_GET_LIST` | | Get lists | Retrieves all lists within a specified, existing ClickUp folder, optionally filtering by archived status. | `CLICKUP_GET_LISTS` | | Update list | Updates attributes of an existing ClickUp list, such as its name, content, due date, priority, assignee, or color status, identified by its list\_id. | `CLICKUP_UPDATE_LIST` | | Action | What it does | Slug | | - | - | - | | Get chat channel members | Get members of a chat channel. | `CLICKUP_GET_CHAT_CHANNEL_MEMBERS` | | Get list members | Retrieves all members of a specific, existing ClickUp List by its ID. | `CLICKUP_GET_LIST_MEMBERS` | | Get task members | Retrieves users with explicit access (directly assigned or shared) to a specific existing task, excluding users with inherited permissions. | `CLICKUP_GET_TASK_MEMBERS` | | Action | What it does | Slug | | - | - | - | | Create chat message | Send a message in a ClickUp chat channel. | `CLICKUP_CREATE_CHAT_MESSAGE` | | Create reply message | Create a reply to a chat message in ClickUp. | `CLICKUP_CREATE_REPLY_MESSAGE` | | Delete chat message | Delete a chat message in ClickUp. | `CLICKUP_DELETE_CHAT_MESSAGE` | | Get chat messages | Retrieve messages from a ClickUp chat channel. | `CLICKUP_GET_CHAT_MESSAGES` | | Update chat message | Update a ClickUp chat message's content, assignee, or resolved status via the v3 API. | `CLICKUP_UPDATE_CHAT_MESSAGE` | | Action | What it does | Slug | | - | - | - | | Click up update doc page | Update/edit a ClickUp Doc page's title and/or content via the v3 Docs API. | `CLICKUP_CLICK_UP_UPDATE_DOC_PAGE` | | Create doc page | Create a page in a ClickUp Doc (v3 Docs API). | `CLICKUP_CREATE_DOC_PAGE` | | Get doc page listing | Fetch the page listing structure of a ClickUp Doc by workspace\_id and doc\_id. | `CLICKUP_GET_DOC_PAGE_LISTING` | | Get doc pages public | Fetch pages belonging to a ClickUp Doc. | `CLICKUP_GET_DOC_PAGES_PUBLIC` | | Action | What it does | Slug | | - | - | - | | Get workspace plan | Retrieves the details of the current subscription plan for a specified ClickUp Workspace. | `CLICKUP_GET_WORKSPACE_PLAN` | | Action | What it does | Slug | | - | - | - | | Create chat reaction | Add a reaction to a ClickUp chat message. | `CLICKUP_CREATE_CHAT_REACTION` | | Delete chat reaction | Delete a reaction from a chat message in ClickUp. | `CLICKUP_DELETE_CHAT_REACTION` | | Get chat message reactions | Retrieve reactions on a ClickUp chat message. | `CLICKUP_GET_CHAT_MESSAGE_REACTIONS` | | Action | What it does | Slug | | - | - | - | | Get chat message replies | Retrieves replies to a chat message in ClickUp. | `CLICKUP_GET_CHAT_MESSAGE_REPLIES` | | Action | What it does | Slug | | - | - | - | | Get custom roles | Retrieves all Custom Roles, which allow granular permission configurations, for a specified Workspace (Team). | `CLICKUP_GET_CUSTOM_ROLES` | | Action | What it does | Slug | | - | - | - | | Create space | Creates a new ClickUp Space within a specified Workspace, allowing feature configuration which defaults to Workspace settings if unspecified. | `CLICKUP_CREATE_SPACE` | | Delete space | Permanently deletes a specified Space in ClickUp. | `CLICKUP_DELETE_SPACE` | | Get space | Retrieves detailed information for an existing Space in a ClickUp Workspace, identified by its unique space\_id. | `CLICKUP_GET_SPACE` | | Get spaces | Retrieves Spaces for a Team ID. | `CLICKUP_GET_SPACES` | | Update space | Updates an existing ClickUp Space, allowing modification of its name, color, privacy, and feature settings (ClickApps). | `CLICKUP_UPDATE_SPACE` | | Action | What it does | Slug | | - | - | - | | Add tag to task | Adds an existing tag to a specified task. | `CLICKUP_ADD_TAG_TO_TASK` | | Add tags to time entries | Associates a list of specified tags with one or more time entries within a given Team (Workspace). | `CLICKUP_ADD_TAGS_TO_TIME_ENTRIES` | | Create space tag | Creates a new tag (name, foreground color, background color) in an existing ClickUp Space. | `CLICKUP_CREATE_SPACE_TAG` | | Delete space tag | Deletes a Tag from a Space, identified by tag\_name in path. | `CLICKUP_DELETE_SPACE_TAG` | | Get all tags from time entries | Retrieves all unique tags applied to time entries within a specified ClickUp Team (Workspace). | `CLICKUP_GET_ALL_TAGS_FROM_TIME_ENTRIES` | | Get space tags | Retrieves all tags for tasks within a specified ClickUp Space, requiring a valid space\_id. | `CLICKUP_GET_SPACE_TAGS` | | Remove tag from task | Removes a tag from a specified task by disassociating it (does not delete the tag from Workspace), succeeding even if the tag is not on the task. | `CLICKUP_REMOVE_TAG_FROM_TASK` | | Remove tags from time entries | Removes tags from specified time entries in a team, without deleting the tags from the workspace. | `CLICKUP_REMOVE_TAGS_FROM_TIME_ENTRIES` | | Update space tag | Updates an existing tag's name and colors in a ClickUp Space. | `CLICKUP_UPDATE_SPACE_TAG` | | Update time entry tag | Updates the name, background color, and/or foreground color for an existing time entry tag, identified by its current name and team\_id. | `CLICKUP_UPDATE_TIME_ENTRY_TAG` | | Action | What it does | Slug | | - | - | - | | Add task to list | Adds an existing task to an additional ClickUp List. | `CLICKUP_ADD_TASK_TO_LIST` | | Create task | Creates a new ClickUp task in a specific list, optionally as a subtask if a parent task ID (which cannot be a subtask itself and must be in the same list) is provided. | `CLICKUP_CREATE_TASK` | | Create task from template | Creates a new task in a specified ClickUp list from a task template, using the provided name for the new task. | `CLICKUP_CREATE_TASK_FROM_TEMPLATE` | | Delete task | Permanently deletes a task, using its standard ID or a custom task ID (requires custom\_task\_ids=true and team\_id). | `CLICKUP_DELETE_TASK` | | Get bulk tasks time in status | Retrieves the time spent in each status for multiple tasks. | `CLICKUP_GET_BULK_TASKS_TIME_IN_STATUS` | | Get filtered team tasks | Retrieves a paginated list of tasks (up to 100 per page) from a specified workspace based on various filter criteria, respecting user access permissions. | `CLICKUP_GET_FILTERED_TEAM_TASKS` | | Get task | Retrieves comprehensive details for a ClickUp task by its ID, supporting standard or custom task IDs (requires team\_id for custom IDs). | `CLICKUP_GET_TASK` | | Get task time in status | Retrieves the duration a task has spent in each status, provided the 'Total time in Status' ClickApp is enabled for the Workspace. | `CLICKUP_GET_TASK_TIME_IN_STATUS` | | Get tasks | Retrieves tasks from a specified ClickUp list. | `CLICKUP_GET_TASKS` | | Get view tasks | Retrieves all tasks visible in a specified ClickUp view, respecting its applied filters, sorting, and grouping. | `CLICKUP_GET_VIEW_TASKS` | | Move task to home list | Move a task to a new home List using ClickUp Public API v3. | `CLICKUP_MOVE_TASK_TO_HOME_LIST` | | Remove task from list | Removes a task from an extra list (not its home list). | `CLICKUP_REMOVE_TASK_FROM_LIST` | | Update task | Updates attributes of an existing task. | `CLICKUP_UPDATE_TASK` | | Action | What it does | Slug | | - | - | - | | Create team | Creates a new team (user group) with specified members in a Workspace. | `CLICKUP_CREATE_TEAM` | | Delete team | Permanently deletes an existing Team (user group) from the Workspace using its group\_id. | `CLICKUP_DELETE_TEAM` | | Get teams | Retrieves user groups (Teams) from a ClickUp Workspace, typically requiring team\_id (Workspace ID), with an option to filter by group\_ids. | `CLICKUP_GET_TEAMS` | | Update team | Updates an existing ClickUp User Group (Team) using its group\_id. | `CLICKUP_UPDATE_TEAM` | | Action | What it does | Slug | | - | - | - | | Get task templates | Retrieves task templates for a specified Workspace (Team ID), supporting pagination. | `CLICKUP_GET_TASK_TEMPLATES` | | Action | What it does | Slug | | - | - | - | | Create a time entry | Creates a new time entry for a specified team. | `CLICKUP_CREATE_A_TIME_ENTRY` | | Delete time entry | Deletes an existing time entry, specified by timer\_id, from a Workspace identified by team\_id. | `CLICKUP_DELETE_TIME_ENTRY` | | Get running time entry | Retrieves the currently active time entry for a user in a Workspace. | `CLICKUP_GET_RUNNING_TIME_ENTRY` | | Get time entries in date range | Retrieves time entries for a specified Team (Workspace ID) within a date range (defaults to the last 30 days for the authenticated user if dates are omitted). | `CLICKUP_GET_TIME_ENTRIES_IN_DATE_RANGE` | | Get time entry | Fetches a specific time entry by its ID for a given team. | `CLICKUP_GET_TIME_ENTRY` | | Start time entry | Starts a new time entry (timer) in the specified Team (Workspace), optionally associating it with a task, adding a description, setting billable status, or applying tags (tags feature requires Business Plan or higher). | `CLICKUP_START_TIME_ENTRY` | | Stop time entry | Stops the authenticated user's currently active time entry in the specified Team (Workspace), which requires an existing time entry to be running. | `CLICKUP_STOP_TIME_ENTRY` | | Update time entry | Updates an existing ClickUp time entry. | `CLICKUP_UPDATE_TIME_ENTRY` | | Action | What it does | Slug | | - | - | - | | Get access token | Exchanges a ClickUp OAuth 2.0 authorization code (obtained after user consent) for an access token. | `CLICKUP_GET_ACCESS_TOKEN` | | Action | What it does | Slug | | - | - | - | | Get custom task types | Retrieves all custom task types available within a specified Workspace (team\_id). | `CLICKUP_GET_CUSTOM_TASK_TYPES` | | Action | What it does | Slug | | - | - | - | | Get authorized user | Retrieves the details of the currently authenticated ClickUp user. | `CLICKUP_GET_AUTHORIZED_USER` | | Get chat message tagged users | Retrieve users tagged in a ClickUp chat message. | `CLICKUP_GET_CHAT_MESSAGE_TAGGED_USERS` | | Get user | Retrieves detailed information for a specific user within a ClickUp Workspace (Team), available only for Workspaces on the ClickUp Enterprise Plan. | `CLICKUP_GET_USER` | | Invite user to workspace | Invites a user via email to a ClickUp Workspace (Team), optionally granting admin rights or a custom role. | `CLICKUP_INVITE_USER_TO_WORKSPACE` | | Remove user from workspace | Deactivates a user from a specified ClickUp Workspace, revoking their access (user can be reactivated later). | `CLICKUP_REMOVE_USER_FROM_WORKSPACE` | | Update user on workspace | Updates a user's username, admin status, or custom role in a Workspace. | `CLICKUP_UPDATE_USER_ON_WORKSPACE` | | Action | What it does | Slug | | - | - | - | | Create folder view | Creates a new, highly customizable view within a specific ClickUp folder using its folder\_id. | `CLICKUP_CREATE_FOLDER_VIEW` | | Create list view | Creates a new, customizable view (e.g., list, board, calendar) within a specified ClickUp List, requiring an existing list\_id accessible by the user. | `CLICKUP_CREATE_LIST_VIEW` | | Create space view | Creates a customizable view (e.g., List, Board, Gantt) within a specified ClickUp Space, allowing configuration of grouping, sorting, filtering, and display settings. | `CLICKUP_CREATE_SPACE_VIEW` | | Create workspace everything level view | Creates a new, customizable view (e.g., List, Board) at the 'Everything' level for a specified Team (Workspace ID), encompassing all tasks within that Workspace. | `CLICKUP_CREATE_WORKSPACE_EVERYTHING_LEVEL_VIEW` | | Delete view | Permanently and irreversibly deletes an existing View in ClickUp, identified by its view\_id. | `CLICKUP_DELETE_VIEW` | | Get folder views | Retrieves all configured views (like List, Board, Calendar) for a specified, existing Folder in ClickUp. | `CLICKUP_GET_FOLDER_VIEWS` | | Get list views | Retrieves all task and page views for a specified and accessible ClickUp List. | `CLICKUP_GET_LIST_VIEWS` | | Get space views | Retrieves all task and page views for a specified Space ID in ClickUp. | `CLICKUP_GET_SPACE_VIEWS` | | Get view | Fetches details for a specific ClickUp view, identified by its view\_id, which must exist. | `CLICKUP_GET_VIEW` | | Get workspace everything level views | Retrieves all task and page views at the 'Everything Level' (a comprehensive overview of all tasks across all Spaces) for a specified ClickUp Workspace. | `CLICKUP_GET_WORKSPACE_EVERYTHING_LEVEL_VIEWS` | | Update view | Updates an existing ClickUp view's settings such as name, type, grouping, or filters. | `CLICKUP_UPDATE_VIEW` | | Action | What it does | Slug | | - | - | - | | Create webhook | Creates a ClickUp webhook for a Team (Workspace) to notify a public URL on specified events (at least one, or '' for all), optionally scoped to a Space, Folder, List, or Task. | `CLICKUP_CREATE_WEBHOOK` | | Delete webhook | Permanently removes an existing webhook, specified by its ID, thereby ceasing all its event monitoring and notifications. | `CLICKUP_DELETE_WEBHOOK` | | Get webhooks | Fetches webhooks for a Team (Workspace), returning only those created by the authenticated user via API, for a team\_id they can access. | `CLICKUP_GET_WEBHOOKS` | | Update webhook | Updates the endpoint URL, monitored events, and status of an existing webhook, identified by its webhook\_id. | `CLICKUP_UPDATE_WEBHOOK` | | Action | What it does | Slug | | - | - | - | | Get authorized teams workspaces | Retrieves a list of Workspaces (Teams) the authenticated user can access. | `CLICKUP_GET_AUTHORIZED_TEAMS_WORKSPACES` | | Get workspace seats | Retrieves seat utilization (used, total, available for members/guests) for a ClickUp Workspace (Team) ID, which must be for an existing Workspace. | `CLICKUP_GET_WORKSPACE_SEATS` | | Update workspace ACL | Updates privacy and access control list (ACL) permissions for a workspace object or location. | `CLICKUP_UPDATE_WORKSPACE_ACL` | | Action | What it does | Slug | | - | - | - | | Delete time tracked | Deletes a time-tracked interval from a task. | `CLICKUP_DELETE_TIME_TRACKED` | | Get shared hierarchy | Retrieves the hierarchy of tasks, Lists, and Folders shared with the authenticated user within an existing ClickUp Team (Workspace), identified by its team\_id. | `CLICKUP_GET_SHARED_HIERARCHY` | | Get subtypes | Retrieve post subtype IDs (Announcement, Discussion, Idea, Update) for a ClickUp Workspace. | `CLICKUP_GET_SUBTYPES` | | Get tracked time | Retrieves tracked time for a task using a legacy endpoint. | `CLICKUP_GET_TRACKED_TIME` | | Track time | Records a time entry for a task using ClickUp's legacy time tracking system. | `CLICKUP_TRACK_TIME` | | Update time tracked | Edits a legacy time-tracked interval for a task (identified by task\_id and interval\_id) to update its start/end times and duration. | `CLICKUP_UPDATE_TIME_TRACKED` | ## Connect ClickUp Before you start: * You need a ClickUp account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **ClickUp** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, keep **Default**. It is the only option. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect ClickUp**. The ClickUp sign-in page opens in a new tab. Sign in to ClickUp and approve the request. Check that it works: ClickUp shows under **Your connections**, with a row for the account and its access level. ## Set access for one teammate Every teammate can use the account unless you block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the ClickUp account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose **No access** to block the teammate. Choose **Default (Default)** to allow it again. 5. Click **Save access**. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one ClickUp account Click **+ Account** on the ClickUp card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the ClickUp side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on ClickUp**. 3. Sign in to ClickUp and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the ClickUp account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to ClickUp.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected ClickUp account becomes primary. ## Costs ClickUp actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate says it has no access to ClickUp, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the ClickUp connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions You cannot choose a narrower level for ClickUp. You can block single teammates with **No access** under **Per-teammate access**. Click **+ Account** on the ClickUp card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the ClickUp account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to ClickUp.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Confluence Source: https://squad.so/docs/apps/confluence What teammates can do in Confluence at each access level, and how to connect, limit, and disconnect Confluence. Connect Confluence so your teammates can work in your Confluence account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Confluence account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as pages, blog posts, spaces, and comments. Cannot change anything." | 44 of 70 | | **Read + write** (recommended) | "Create and edit pages, blog posts, whiteboards, comments, labels, and tasks. Cannot delete pages or blog posts or manage spaces." | 62 of 70 | | **Full access** | "Everything, including deleting pages and blog posts and creating, changing, or deleting spaces." | 70 of 70 | **Read + write** is the recommended level. The connect window selects it for you, and you can choose another level. The Confluence sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Confluence account?" The teammate can search the Confluence actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Confluence action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 44 of the 70 Confluence actions at this level: * View labels * View and search pages * View and search spaces * View comments * View properties * View versions * View attachments * View and search content * View posts * View and search users * View account details * View audit logs All 44 actions at this level: | Action | What it does | Slug | | - | - | - | | Who am I | | `CONFLUENCE_WHO_AM_I` | | Action | What it does | Slug | | - | - | - | | Download attachment | Downloads an attachment from a Confluence page and returns a publicly accessible S3 URL. | `CONFLUENCE_DOWNLOAD_ATTACHMENT` | | Get attachments | Retrieve attachments of a Confluence page. | `CONFLUENCE_GET_ATTACHMENTS` | | Action | What it does | Slug | | - | - | - | | Get audit logs | Retrieve Confluence audit records. | `CONFLUENCE_GET_AUDIT_LOGS` | | Action | What it does | Slug | | - | - | - | | Get blogpost by ID | Retrieve a specific Confluence blog post by its ID. | `CONFLUENCE_GET_BLOGPOST_BY_ID` | | Get blogpost like count | Get like count for a Confluence blog post. | `CONFLUENCE_GET_BLOGPOST_LIKE_COUNT` | | Get blogpost operations | Retrieve permitted operations for a Confluence blog post. | `CONFLUENCE_GET_BLOGPOST_OPERATIONS` | | Action | What it does | Slug | | - | - | - | | Get inline comments for blog post | Retrieve inline comments for a Confluence blog post. | `CONFLUENCE_GET_INLINE_COMMENTS_FOR_BLOG_POST` | | Get page footer comments | Retrieve footer (non-inline) comments for a Confluence page. | `CONFLUENCE_GET_PAGE_FOOTER_COMMENTS` | | Get page inline comments | Retrieve inline comments for a Confluence page. | `CONFLUENCE_GET_PAGE_INLINE_COMMENTS` | | Action | What it does | Slug | | - | - | - | | Get content restrictions | Retrieve restrictions on a Confluence content item. | `CONFLUENCE_GET_CONTENT_RESTRICTIONS` | | Get space contents | Retrieve content in a Confluence space. | `CONFLUENCE_GET_SPACE_CONTENTS` | | Search content | Searches for content by filtering pages from the Confluence v2 API with intelligent ranking. | `CONFLUENCE_SEARCH_CONTENT` | | Action | What it does | Slug | | - | - | - | | Get attachment labels | List labels on an attachment. | `CONFLUENCE_GET_ATTACHMENT_LABELS` | | Get blogpost labels | Retrieve labels of a specific Confluence blog post by ID. | `CONFLUENCE_GET_BLOGPOST_LABELS` | | Get labels | Retrieve all labels in a Confluence site. | `CONFLUENCE_GET_LABELS` | | Get labels for page | Retrieve labels of a specific Confluence page by ID. | `CONFLUENCE_GET_LABELS_FOR_PAGE` | | Get labels for space | List labels on a space. | `CONFLUENCE_GET_LABELS_FOR_SPACE` | | Get labels for space content | List labels on all content in a space. | `CONFLUENCE_GET_LABELS_FOR_SPACE_CONTENT` | | Action | What it does | Slug | | - | - | - | | Get child pages | List all direct child pages of a given Confluence page. | `CONFLUENCE_GET_CHILD_PAGES` | | Get page ancestors | Retrieve all ancestors for a given Confluence page by its ID. | `CONFLUENCE_GET_PAGE_ANCESTORS` | | Get page by ID | Retrieve a Confluence page by its ID. | `CONFLUENCE_GET_PAGE_BY_ID` | | Get page like count | Get like count for a Confluence page. | `CONFLUENCE_GET_PAGE_LIKE_COUNT` | | Get pages | Retrieve a paginated list of Confluence pages. | `CONFLUENCE_GET_PAGES` | | Search pages | | `CONFLUENCE_SEARCH_PAGES` | | Action | What it does | Slug | | - | - | - | | Get blog posts | Retrieve a list of blog posts. | `CONFLUENCE_GET_BLOG_POSTS` | | Get blog posts for label | List all blog posts under a specific label. | `CONFLUENCE_GET_BLOG_POSTS_FOR_LABEL` | | Action | What it does | Slug | | - | - | - | | Get content properties for blog post | Retrieve all content properties on a blog post. | `CONFLUENCE_GET_CONTENT_PROPERTIES_FOR_BLOG_POST` | | Get content properties for page | Retrieve all content properties on a page. | `CONFLUENCE_GET_CONTENT_PROPERTIES_FOR_PAGE` | | Get space properties | Get properties of a Confluence space. | `CONFLUENCE_GET_SPACE_PROPERTIES` | | Action | What it does | Slug | | - | - | - | | Get space by ID | Retrieve a Confluence space by its ID. | `CONFLUENCE_GET_SPACE_BY_ID` | | Get spaces | Retrieve a paginated list of Confluence spaces with optional filtering. | `CONFLUENCE_GET_SPACES` | | List spaces | | `CONFLUENCE_LIST_SPACES` | | Search spaces | | `CONFLUENCE_SEARCH_SPACES` | | Action | What it does | Slug | | - | - | - | | Get tasks | List Confluence tasks (action items) with filtering by assignee, creator, space, page, blog post, status, and dates. | `CONFLUENCE_GET_TASKS` | | Action | What it does | Slug | | - | - | - | | Get current user | Get information about the currently authenticated user. | `CONFLUENCE_GET_CURRENT_USER` | | Get user anonymous | Retrieve information about the anonymous user. | `CONFLUENCE_GET_USER_ANONYMOUS` | | Search users | Searches for users using user-specific queries from the Confluence Query Language (CQL). | `CONFLUENCE_SEARCH_USERS` | | Action | What it does | Slug | | - | - | - | | Get blogpost version details | Retrieve details for a specific version of a blog post. | `CONFLUENCE_GET_BLOGPOST_VERSION_DETAILS` | | Get blogpost versions | Retrieve all versions of a specific blog post. | `CONFLUENCE_GET_BLOGPOST_VERSIONS` | | Get page versions | Retrieve all versions of a specific Confluence page. | `CONFLUENCE_GET_PAGE_VERSIONS` | | Action | What it does | Slug | | - | - | - | | Cql search | Searches for content in Confluence using Confluence Query Language (CQL). | `CONFLUENCE_CQL_SEARCH` | | Find text selections | | `CONFLUENCE_FIND_TEXT_SELECTIONS` | | Validate credential | | `CONFLUENCE_VALIDATE_CREDENTIAL` | Teammates can use 62 of the 70 Confluence actions at this level: everything in **Read-only**, plus: * Create, update, and delete properties * Create and update blog posts * Create comments * Create and update pages * Create labels * Update tasks * Create whiteboards The 18 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Blog posts** | Create blogpost | Create a new Confluence blog post. | `CONFLUENCE_CREATE_BLOGPOST` | | | Update blogpost | Update a Confluence blog post's title or content. | `CONFLUENCE_UPDATE_BLOGPOST` | | **Comments** | Create footer comment | Create a footer comment on a Confluence page, blog post, attachment, or custom content. | `CONFLUENCE_CREATE_FOOTER_COMMENT` | | | Create inline comment | Creates an inline comment on a Confluence page or blog post, highlighting specific text. | `CONFLUENCE_CREATE_INLINE_COMMENT` | | **Labels** | Add content label | Add labels to a piece of content. | `CONFLUENCE_ADD_CONTENT_LABEL` | | **Pages** | Create page | Create a new Confluence page in a specified space. | `CONFLUENCE_CREATE_PAGE` | | | Update page | Update an existing Confluence page, replacing the entire page content. | `CONFLUENCE_UPDATE_PAGE` | | **Properties** | Create blogpost property | Create a property on a specified blog post. | `CONFLUENCE_CREATE_BLOGPOST_PROPERTY` | | | Create content property for whiteboard | Create a new content property on a whiteboard. | `CONFLUENCE_CREATE_CONTENT_PROPERTY_FOR_WHITEBOARD` | | | Create page property | Create a property on a Confluence page. | `CONFLUENCE_CREATE_PAGE_PROPERTY` | | | Delete blogpost property | Delete a blog post property. | `CONFLUENCE_DELETE_BLOGPOST_PROPERTY` | | | Delete content property for page by ID | Delete a content property from a page by property ID. | `CONFLUENCE_DELETE_CONTENT_PROPERTY_FOR_PAGE_BY_ID` | | | Delete content property for whiteboard by ID | Delete a content property from a whiteboard by property ID. | `CONFLUENCE_DELETE_CONTENT_PROPERTY_FOR_WHITEBOARD_BY_ID` | | | Update blogpost property | Update a property of a specified blog post. | `CONFLUENCE_UPDATE_BLOGPOST_PROPERTY` | | | Update content property for page by ID | Update a content property on a Confluence page. | `CONFLUENCE_UPDATE_CONTENT_PROPERTY_FOR_PAGE_BY_ID` | | | Update content property for whiteboard by ID | Update a content property on a whiteboard. | `CONFLUENCE_UPDATE_CONTENT_PROPERTY_FOR_WHITEBOARD_BY_ID` | | **Tasks** | Update task | Update a Confluence task status. | `CONFLUENCE_UPDATE_TASK` | | **Whiteboards** | Create whiteboard | Create a new Confluence whiteboard. | `CONFLUENCE_CREATE_WHITEBOARD` | Teammates can use 70 of the 70 Confluence actions at this level: everything in **Read + write**, plus: * Create and delete spaces * Delete blog posts * Delete pages The 8 actions that this level adds to **Read + write**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Blog posts** | Delete blogpost | | `CONFLUENCE_DELETE_BLOGPOST` | | **Pages** | Delete page | Delete a Confluence page. | `CONFLUENCE_DELETE_PAGE` | | **Properties** | Create space property | Create a new property on a Confluence space. | `CONFLUENCE_CREATE_SPACE_PROPERTY` | | | Delete space property | Delete a space property. | `CONFLUENCE_DELETE_SPACE_PROPERTY` | | | Update space property | Update a space property. | `CONFLUENCE_UPDATE_SPACE_PROPERTY` | | **Spaces** | Create private space | Create a private Confluence space. | `CONFLUENCE_CREATE_PRIVATE_SPACE` | | | Create space | Create a new Confluence space. | `CONFLUENCE_CREATE_SPACE` | | | Delete space | Delete a Confluence space by its key. | `CONFLUENCE_DELETE_SPACE` | ## Connect Confluence Before you start: * You need a Confluence account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Confluence** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Confluence**. The Confluence sign-in page opens in a new tab. Sign in to Confluence and approve the request. Check that it works: Confluence shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Confluence account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Confluence account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Confluence account Click **+ Account** on the Confluence card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Confluence side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Confluence**. 3. Sign in to Confluence and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Confluence account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Confluence.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Confluence account becomes primary. ## Costs Confluence actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Confluence, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Confluence connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Confluence account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Confluence card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Confluence account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Confluence.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # DigitalOcean Source: https://squad.so/docs/apps/digital_ocean What teammates can do in DigitalOcean at each access level, and how to connect, limit, and disconnect DigitalOcean. Connect DigitalOcean so your teammates can work in your DigitalOcean account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each DigitalOcean account has an access level: **Read-only** and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as droplets, apps, databases, domains, and clusters. Cannot change anything." | 21 of 48 | | **Full access** (recommended) | "Create, modify, and delete any DigitalOcean resource." | 48 of 48 | **Full access** is the recommended level. The connect window selects it for you, and you can choose another level. The DigitalOcean sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my DigitalOcean account?" The teammate can search the DigitalOcean actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the DigitalOcean action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 21 of the 48 DigitalOcean actions at this level: * View domains * View droplets * View images * View networks * View records * View tags * View apps * View clusters * View databases * View firewalls * View keys * View load balancers All 21 actions at this level: | Works on | Action | What it does | Slug | | - | - | - | - | | **Apps** | List apps | List all App Platform apps in your DigitalOcean account. | `DIGITAL_OCEAN_LIST_APPS` | | **Clusters** | List all kubernetes clusters | List all Kubernetes clusters on your account. | `DIGITAL_OCEAN_LIST_ALL_KUBERNETES_CLUSTERS` | | **Databases** | List all databases | List all managed database clusters on your account. | `DIGITAL_OCEAN_LIST_ALL_DATABASES` | | **Domains** | List all domains | Lists all DNS domains configured in your DigitalOcean account. | `DIGITAL_OCEAN_LIST_ALL_DOMAINS` | | | Retrieve domain | Retrieves complete details about a specific domain including its TTL and DNS zone file configuration. | `DIGITAL_OCEAN_RETRIEVE_DOMAIN` | | **Droplets** | List all droplets | Lists all Droplets (virtual machines) in your DigitalOcean account with pagination support. | `DIGITAL_OCEAN_LIST_ALL_DROPLETS` | | | Retrieve existing droplet | Retrieve detailed information about a specific DigitalOcean Droplet by its unique numeric ID. | `DIGITAL_OCEAN_RETRIEVE_EXISTING_DROPLET` | | **Firewalls** | List all firewalls | List all cloud firewalls configured in your DigitalOcean account. | `DIGITAL_OCEAN_LIST_ALL_FIREWALLS` | | **Images** | List all images | List all images available on your account. | `DIGITAL_OCEAN_LIST_ALL_IMAGES` | | | Retrieve existing image | Retrieve information about an image by ID or slug. | `DIGITAL_OCEAN_RETRIEVE_EXISTING_IMAGE` | | **Keys** | List all SSH keys | Lists all SSH keys associated with your DigitalOcean account. | `DIGITAL_OCEAN_LIST_ALL_SSH_KEYS` | | **Load balancers** | List all load balancers | List all load balancers in your DigitalOcean account with pagination support. | `DIGITAL_OCEAN_LIST_ALL_LOAD_BALANCERS` | | **Networks** | List all vpcs | List all VPCs on your account. | `DIGITAL_OCEAN_LIST_ALL_VPCS` | | | Retrieve VPC | Retrieve details about a specific VPC by its ID. | `DIGITAL_OCEAN_RETRIEVE_VPC` | | **Records** | List domain records | List all DNS records for a domain. | `DIGITAL_OCEAN_LIST_DOMAIN_RECORDS` | | | Retrieve domain record | Retrieve a specific DNS record for a domain by its record ID. | `DIGITAL_OCEAN_RETRIEVE_DOMAIN_RECORD` | | **Settings** | List database options | Lists all available configuration options for DigitalOcean managed database clusters, including supported engines (PostgreSQL, MySQL, MongoDB, Valkey, Kafka, OpenSearch), versions, regions, and cluster sizes/layouts. | `DIGITAL_OCEAN_LIST_DATABASE_OPTIONS` | | **Snapshots** | List all snapshots | List all snapshots available on your DigitalOcean account. | `DIGITAL_OCEAN_LIST_ALL_SNAPSHOTS` | | **Tags** | List all tags | List all tags in your account. | `DIGITAL_OCEAN_LIST_ALL_TAGS` | | | Retrieve tag | Retrieve an individual tag by name. | `DIGITAL_OCEAN_RETRIEVE_TAG` | | **Volumes** | List all volumes | List all block storage volumes available on your account. | `DIGITAL_OCEAN_LIST_ALL_VOLUMES` | Teammates can use 48 of the 48 DigitalOcean actions at this level: everything in **Read-only**, plus: * Create and delete clusters * Create, update, and delete networks * Create, update, and delete records * Create and delete domains * Create and delete droplets * Create and delete firewalls * Create and delete images * Create and delete keys * Create and delete load balancers * Update resources * Create and delete tags * Create and delete volumes The 27 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Clusters** | Create database cluster | Creates a new managed database cluster on DigitalOcean. | `DIGITAL_OCEAN_CREATE_DATABASE_CLUSTER` | | | Create new kubernetes cluster | Creates a new DigitalOcean Kubernetes (DOKS) cluster with managed control plane. | `DIGITAL_OCEAN_CREATE_NEW_KUBERNETES_CLUSTER` | | | Delete database cluster | Delete a database cluster by UUID. | `DIGITAL_OCEAN_DELETE_DATABASE_CLUSTER` | | **Domains** | Create new domain | Creates a new domain in DigitalOcean's DNS management system. | `DIGITAL_OCEAN_CREATE_NEW_DOMAIN` | | | Delete domain | Deletes a domain from DigitalOcean DNS. | `DIGITAL_OCEAN_DELETE_DOMAIN` | | **Droplets** | Create new droplet | Create a new Droplet. | `DIGITAL_OCEAN_CREATE_NEW_DROPLET` | | | Delete existing droplet | Delete a Droplet by ID. | `DIGITAL_OCEAN_DELETE_EXISTING_DROPLET` | | **Firewalls** | Create new firewall | Creates a new cloud firewall with custom inbound and outbound rules. | `DIGITAL_OCEAN_CREATE_NEW_FIREWALL` | | | Delete firewall | Delete a firewall by ID. | `DIGITAL_OCEAN_DELETE_FIREWALL` | | **Images** | Create custom image | Creates a custom image in DigitalOcean by importing a Linux VM disk image from a publicly accessible URL. | `DIGITAL_OCEAN_CREATE_CUSTOM_IMAGE` | | | Delete image | Deletes a user-created custom image or snapshot from your DigitalOcean account by its numeric ID. | `DIGITAL_OCEAN_DELETE_IMAGE` | | **Keys** | Create new SSH key | Registers a new SSH public key with your DigitalOcean account. | `DIGITAL_OCEAN_CREATE_NEW_SSH_KEY` | | | Delete SSH key | Delete a public SSH key. | `DIGITAL_OCEAN_DELETE_SSH_KEY` | | **Load balancers** | Create new load balancer | Create a new load balancer. | `DIGITAL_OCEAN_CREATE_NEW_LOAD_BALANCER` | | | Delete load balancer | Delete a load balancer instance by ID. | `DIGITAL_OCEAN_DELETE_LOAD_BALANCER` | | **Networks** | Create new VPC | Creates a new Virtual Private Cloud (VPC) in a specified DigitalOcean region. | `DIGITAL_OCEAN_CREATE_NEW_VPC` | | | Delete VPC | Delete a VPC (Virtual Private Cloud) by its unique identifier. | `DIGITAL_OCEAN_DELETE_VPC` | | | Update VPC | Update information about a VPC. | `DIGITAL_OCEAN_UPDATE_VPC` | | **Records** | Create new domain record | Create a new DNS record for a domain. | `DIGITAL_OCEAN_CREATE_NEW_DOMAIN_RECORD` | | | Delete domain record | Delete a DNS record by its record ID for a domain. | `DIGITAL_OCEAN_DELETE_DOMAIN_RECORD` | | | Update domain record | Update an existing DNS record for a domain. | `DIGITAL_OCEAN_UPDATE_DOMAIN_RECORD` | | **Resources** | Tag resource | Tag resources by name. | `DIGITAL_OCEAN_TAG_RESOURCE` | | | Untag resource | Untag resources by tag name. | `DIGITAL_OCEAN_UNTAG_RESOURCE` | | **Tags** | Create new tag | Creates a new tag in DigitalOcean for organizing and grouping resources. | `DIGITAL_OCEAN_CREATE_NEW_TAG` | | | Delete tag | Deletes a tag from your DigitalOcean account. | `DIGITAL_OCEAN_DELETE_TAG` | | **Volumes** | Create new block storage volume | Create a new block storage volume. | `DIGITAL_OCEAN_CREATE_NEW_BLOCK_STORAGE_VOLUME` | | | Delete block storage volume | Permanently deletes a block storage volume by its unique ID. | `DIGITAL_OCEAN_DELETE_BLOCK_STORAGE_VOLUME` | ## Connect DigitalOcean Before you start: * You need a DigitalOcean account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **DigitalOcean** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect DigitalOcean**. The DigitalOcean sign-in page opens in a new tab. Sign in to DigitalOcean and approve the request. Check that it works: DigitalOcean shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the DigitalOcean account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the DigitalOcean account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one DigitalOcean account Click **+ Account** on the DigitalOcean card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the DigitalOcean side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on DigitalOcean**. 3. Sign in to DigitalOcean and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the DigitalOcean account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to DigitalOcean.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected DigitalOcean account becomes primary. ## Costs DigitalOcean actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to DigitalOcean, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the DigitalOcean connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each DigitalOcean account has an access level: **Read-only** and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the DigitalOcean card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the DigitalOcean account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to DigitalOcean.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Discord Source: https://squad.so/docs/apps/discord What teammates can do in Discord at each access level, and how to connect, limit, and disconnect Discord. Connect Discord so your teammates can work in your Discord account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Discord account has an access level: **Read-only** and **Full bot**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as your servers, profile, invites, and connections. Cannot change anything." | 21 of 28 | | **Full bot** (recommended) | "Everything the bot can do, such as joining servers, sending messages, and registering slash commands." | 28 of 28 | **Full bot** is the recommended level. The connect window selects it for you, and you can choose another level. The Discord sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Discord account?" The teammate can search the Discord actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Discord action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 21 of the 28 Discord actions at this level: * View connections * View roles and permissions * View subscriptions * View users * View invitations * View keys * View members * View templates All 21 actions at this level: | Works on | Action | What it does | Slug | | - | - | - | - | | **Connections** | Get user application role connection | Retrieves the application role connection for the currently authenticated user for a specified application. | `DISCORD_GET_USER_APPLICATION_ROLE_CONNECTION` | | | List my connections | Retrieves a list of the authenticated user's connected third-party accounts on Discord. | `DISCORD_LIST_MY_CONNECTIONS` | | **Invitations** | Get invite | DEPRECATED: Use DISCORD\_INVITE\_RESOLVE instead. | `DISCORD_GET_INVITE` | | **Keys** | Get public keys | Retrieve Discord OAuth2 public keys. | `DISCORD_GET_PUBLIC_KEYS` | | **Members** | Get my guild member | Retrieves the guild member object for the currently authenticated user within a specified guild, including roles, nickname, join date, and permissions. | `DISCORD_GET_MY_GUILD_MEMBER` | | **Roles and permissions** | Get application command permissions | Retrieves the permissions for a specific application command in a guild. | `DISCORD_GET_APPLICATION_COMMAND_PERMISSIONS` | | | Get batch application command permissions | Retrieves permissions for all commands of an application in a guild. | `DISCORD_GET_BATCH_APPLICATION_COMMAND_PERMISSIONS` | | **Stickers** | List sticker packs | Retrieve all available Discord Nitro sticker packs. | `DISCORD_LIST_STICKER_PACKS` | | **Subscriptions** | Get sku subscription | Retrieves a specific subscription by ID for a given SKU. | `DISCORD_GET_SKU_SUBSCRIPTION` | | | List sku subscriptions | Lists all subscriptions for a given SKU. | `DISCORD_LIST_SKU_SUBSCRIPTIONS` | | **Templates** | Get guild template | Retrieve information about a Discord guild template using its unique template code. | `DISCORD_GET_GUILD_TEMPLATE` | | **Users** | Get current user application entitlements | Retrieve entitlements for the current user for a given application. | `DISCORD_GET_CURRENT_USER_APPLICATION_ENTITLEMENTS` | | | Get my user | Fetches comprehensive profile information for the currently authenticated Discord user, including email if the 'email' scope is granted. | `DISCORD_GET_MY_USER` | | | Get user | Retrieve information about a Discord user. | `DISCORD_GET_USER` | | **Other actions** | Get gateway | Retrieve a valid WebSocket (wss) URL for establishing a Gateway connection to Discord. | `DISCORD_GET_GATEWAY` | | | Get guild widget | Retrieve the guild widget in JSON format. | `DISCORD_GET_GUILD_WIDGET` | | | Get guild widget png | Retrieve a PNG image widget for a Discord guild. | `DISCORD_GET_GUILD_WIDGET_PNG` | | | Get my oauth2 authorization | Retrieves current OAuth2 authorization details for the application, including app info, scopes, token expiration, and user data (contingent on scopes like 'identify'). | `DISCORD_GET_MY_OAUTH2_AUTHORIZATION` | | | Get openid connect userinfo | Retrieve OpenID Connect compliant user information for the authenticated user. | `DISCORD_GET_OPENID_CONNECT_USERINFO` | | | Invite resolve | Resolve and retrieve information about a Discord invite code. | `DISCORD_INVITE_RESOLVE` | | | List my guilds | Lists the current user's guilds, returning partial data for each. | `DISCORD_LIST_MY_GUILDS` | Teammates can use 28 of the 28 Discord actions at this level: everything in **Read-only**, plus: * Update and delete connections * Update roles and permissions * Update users The 7 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Connections** | Delete user application role connection | Deletes the current user's application role connection for the specified application. | `DISCORD_DELETE_USER_APPLICATION_ROLE_CONNECTION` | | | Update user application role connection | Updates the application role connection for the currently authenticated user for a specified application. | `DISCORD_UPDATE_USER_APPLICATION_ROLE_CONNECTION` | | **Roles and permissions** | Edit application command permissions | Edits the permissions for a specific application command in a guild. | `DISCORD_EDIT_APPLICATION_COMMAND_PERMISSIONS` | | **Users** | Modify current user | Modifies the currently authenticated Discord user's profile. | `DISCORD_MODIFY_CURRENT_USER` | | **Other actions** | Consume entitlement | Marks a one-time purchase consumable entitlement as consumed for a given application. | `DISCORD_CONSUME_ENTITLEMENT` | | | Delete test entitlement | Deletes a currently active test entitlement for a given application. | `DISCORD_DELETE_TEST_ENTITLEMENT` | | | Leave guild | Leaves a Discord guild (server) on behalf of the currently authenticated user. | `DISCORD_LEAVE_GUILD` | ## Connect Discord Before you start: * You need a Discord account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Discord** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Discord**. The Discord sign-in page opens in a new tab. Sign in to Discord and approve the request. Check that it works: Discord shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Discord account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Discord account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Discord account Click **+ Account** on the Discord card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Discord side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Discord**. 3. Sign in to Discord and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Discord account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Discord.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Discord account becomes primary. ## Costs Discord actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Discord, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Discord connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Discord account has an access level: **Read-only** and **Full bot**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Discord card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Discord account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Discord.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Dropbox Source: https://squad.so/docs/apps/dropbox What teammates can do in Dropbox at each access level, and how to connect, limit, and disconnect Dropbox. Connect Dropbox so your teammates can work in your Dropbox account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Dropbox account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as files, folders, Paper docs, shared links, and team info. Cannot change anything." | 95 of 178 | | **Read + write** (recommended) | "Upload, create, copy, move, edit, and delete files, folders, and Paper docs (Dropbox keeps deleted files restorable). Cannot share them, create links or file requests, or manage team folders." | 127 of 178 | | **Full access** | "Everything, including sharing, shared links, file requests, team folders, and team members." | 178 of 178 | **Read + write** is the recommended level. The connect window selects it for you, and you can choose another level. The Dropbox sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Dropbox account?" The teammate can search the Dropbox actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Dropbox action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 95 of the 178 Dropbox actions at this level: * View and search files * View folders * View members * View jobs * View account details * View templates * View apps * View groups * View shared links * View thumbnails * View usage * View users All 95 actions at this level: | Action | What it does | Slug | | - | - | - | | Get account | Get information about a user's Dropbox account using their account ID. | `DROPBOX_GET_ACCOUNT` | | Get account batch | Get information about multiple user accounts in a single request. | `DROPBOX_GET_ACCOUNT_BATCH` | | Who am I | | `DROPBOX_WHO_AM_I` | | Action | What it does | Slug | | - | - | - | | List member linked apps | List all applications linked to a specific team member's account. | `DROPBOX_LIST_MEMBER_LINKED_APPS` | | List team linked apps | List all applications linked to team members' accounts. | `DROPBOX_LIST_TEAM_LINKED_APPS` | | Action | What it does | Slug | | - | - | - | | List paper docs | Return the list of all Paper docs according to filter and sort specifications. | `DROPBOX_LIST_PAPER_DOCS` | | List paper docs continue | Continue paginating through Paper documents using a cursor from paper/docs/list. | `DROPBOX_LIST_PAPER_DOCS_CONTINUE` | | Action | What it does | Slug | | - | - | - | | Get team log events | Retrieve team audit log events from Dropbox. | `DROPBOX_GET_TEAM_LOG_EVENTS` | | Get team log events continue | Paginate through team audit log events using a cursor from team\_log/get\_events. | `DROPBOX_GET_TEAM_LOG_EVENTS_CONTINUE` | | Action | What it does | Slug | | - | - | - | | Get team feature values | Get values for one or more team features. | `DROPBOX_GET_TEAM_FEATURE_VALUES` | | Get user features | Get a list of feature values configured for the current Dropbox account. | `DROPBOX_GET_USER_FEATURES` | | Action | What it does | Slug | | - | - | - | | Check upload batch | Check the status of an asynchronous upload batch job in Dropbox. | `DROPBOX_CHECK_UPLOAD_BATCH` | | Count file requests | Get the total number of file requests owned by the authenticated user. | `DROPBOX_COUNT_FILE_REQUESTS` | | Export file | Export non-downloadable Dropbox files (especially Dropbox Paper) to Markdown/HTML/plain text and return usable content. | `DROPBOX_EXPORT_FILE` | | Files search | Search for files and folders in Dropbox by name or content. | `DROPBOX_FILES_SEARCH` | | Get file lock batch | Return lock metadata for multiple files in a single batch request. | `DROPBOX_GET_FILE_LOCK_BATCH` | | Get file metadata batch | Retrieve metadata for multiple shared files in a single batch request. | `DROPBOX_GET_FILE_METADATA_BATCH` | | Get file preview | Get a preview for a file. | `DROPBOX_GET_FILE_PREVIEW` | | Get file request | Retrieve details of an existing file request by ID. | `DROPBOX_GET_FILE_REQUEST` | | Get shared file metadata | Retrieve metadata for a shared file in Dropbox. | `DROPBOX_GET_SHARED_FILE_METADATA` | | Get shared link file | Download a file from a Dropbox shared link. | `DROPBOX_GET_SHARED_LINK_FILE` | | List file requests | List all file requests owned by the current user. | `DROPBOX_LIST_FILE_REQUESTS` | | List file requests continue | Paginate through file requests using a cursor from a previous list call. | `DROPBOX_LIST_FILE_REQUESTS_CONTINUE` | | List files in folder | List files and folders in a specified Dropbox directory. | `DROPBOX_LIST_FILES_IN_FOLDER` | | List received files | List all files shared with the current user. | `DROPBOX_LIST_RECEIVED_FILES` | | Read file | Downloads a file from the specified Dropbox path, requiring files.content.read scope. | `DROPBOX_READ_FILE` | | Search file or folder | Search for files and folders in Dropbox by name or content, optionally scoped to a path, with pagination support. | `DROPBOX_SEARCH_FILE_OR_FOLDER` | | Action | What it does | Slug | | - | - | - | | Check folder batch | Check the status of an asynchronous folder batch creation job. | `DROPBOX_CHECK_FOLDER_BATCH` | | Check team folder archive | Check the status of an asynchronous team folder archive job in Dropbox. | `DROPBOX_CHECK_TEAM_FOLDER_ARCHIVE` | | Get folder cursor | Get a cursor representing the current state of a folder without listing its contents. | `DROPBOX_GET_FOLDER_CURSOR` | | Get shared folder metadata | Retrieve metadata for a specific shared folder by its ID. | `DROPBOX_GET_SHARED_FOLDER_METADATA` | | Get team folder info | Retrieve metadata for team folders. | `DROPBOX_GET_TEAM_FOLDER_INFO` | | List folder continue | Continue paginating through folder contents using a cursor from list\_folder. | `DROPBOX_LIST_FOLDER_CONTINUE` | | List folders | DEPRECATED: Use ListFilesInFolder instead. | `DROPBOX_LIST_FOLDERS` | | List folders continue | Continue paginating through shared folders using a cursor from list\_folders. | `DROPBOX_LIST_FOLDERS_CONTINUE` | | List mountable folders | List all shared folders the current user can mount or unmount. | `DROPBOX_LIST_MOUNTABLE_FOLDERS` | | List mountable folders continue | Paginate through mountable shared folders using a cursor. | `DROPBOX_LIST_MOUNTABLE_FOLDERS_CONTINUE` | | List shared folders | List all shared folders the authenticated user has access to. | `DROPBOX_LIST_SHARED_FOLDERS` | | List team folders | List all team folders for a Dropbox Business team. | `DROPBOX_LIST_TEAM_FOLDERS` | | List team folders continue | Continue paginating through team folders using a cursor from team\_folder/list. | `DROPBOX_LIST_TEAM_FOLDERS_CONTINUE` | | Action | What it does | Slug | | - | - | - | | Get team groups info | Retrieve information about one or more team groups by their IDs or external IDs. | `DROPBOX_GET_TEAM_GROUPS_INFO` | | List team groups | List all groups on a Dropbox team. | `DROPBOX_LIST_TEAM_GROUPS` | | List team groups continue | Continue listing team groups using a cursor from team/groups/list. | `DROPBOX_LIST_TEAM_GROUPS_CONTINUE` | | Action | What it does | Slug | | - | - | - | | Check job status | Check the status of an asynchronous sharing job in Dropbox. | `DROPBOX_CHECK_JOB_STATUS` | | Check move former member files job status | Check the status of an asynchronous move former member files job. | `DROPBOX_CHECK_MOVE_FORMER_MEMBER_FILES_JOB_STATUS` | | Check share job status | Check the status of an asynchronous folder sharing job in Dropbox. | `DROPBOX_CHECK_SHARE_JOB_STATUS` | | Get team groups job status | Check the status of an asynchronous team groups job in Dropbox. | `DROPBOX_GET_TEAM_GROUPS_JOB_STATUS` | | Get team members add job status | Poll the status of an asynchronous team member addition job. | `DROPBOX_GET_TEAM_MEMBERS_ADD_JOB_STATUS` | | Action | What it does | Slug | | - | - | - | | Get temporary link | Get a one-click temporary (expiring) download link. | `DROPBOX_GET_TEMPORARY_LINK` | | Action | What it does | Slug | | - | - | - | | Check remove member | Check the status of an asynchronous remove folder member job in Dropbox. | `DROPBOX_CHECK_REMOVE_MEMBER` | | Get team members info | Retrieve information about multiple team members in a single request. | `DROPBOX_GET_TEAM_MEMBERS_INFO` | | List file members | Obtain the members who have been invited to a file, both inherited and uninherited members. | `DROPBOX_LIST_FILE_MEMBERS` | | List file members batch | Get members of multiple files at once. | `DROPBOX_LIST_FILE_MEMBERS_BATCH` | | List folder members | List members of a shared folder, including users, groups, and invitees. | `DROPBOX_LIST_FOLDER_MEMBERS` | | List folder members continue | Continue paginating through shared folder members using a cursor from list\_folder\_members. | `DROPBOX_LIST_FOLDER_MEMBERS_CONTINUE` | | List team group members | List members of a Dropbox team group. | `DROPBOX_LIST_TEAM_GROUP_MEMBERS` | | List team groups members continue | Continue listing team group members using a cursor from team/groups/members/list. | `DROPBOX_LIST_TEAM_GROUPS_MEMBERS_CONTINUE` | | List team member devices | List all device sessions of a team's member, including web sessions, desktop clients, and mobile clients. | `DROPBOX_LIST_TEAM_MEMBER_DEVICES` | | List team members | List members of a Dropbox team. | `DROPBOX_LIST_TEAM_MEMBERS` | | List team members continue | Continue listing team members using a cursor from team/members/list or team/members/list/continue\_v2. | `DROPBOX_LIST_TEAM_MEMBERS_CONTINUE` | | Action | What it does | Slug | | - | - | - | | Search file properties | Search across property templates for particular property field values. | `DROPBOX_SEARCH_FILE_PROPERTIES` | | Action | What it does | Slug | | - | - | - | | Get available team member roles | Retrieve all available team member roles for the connected Dropbox team. | `DROPBOX_GET_AVAILABLE_TEAM_MEMBER_ROLES` | | Action | What it does | Slug | | - | - | - | | Get openid config | Retrieve Dropbox's OpenID Connect discovery document describing supported OAuth 2.0 and OIDC parameters. | `DROPBOX_GET_OPENID_CONFIG` | | Action | What it does | Slug | | - | - | - | | Get shared link metadata | Resolve a Dropbox shared link URL into structured metadata. | `DROPBOX_GET_SHARED_LINK_METADATA` | | List shared links | List existing shared links for the current user, optionally filtered by path. | `DROPBOX_LIST_SHARED_LINKS` | | Action | What it does | Slug | | - | - | - | | Get file tags | Get list of tags assigned to files or folders in Dropbox. | `DROPBOX_GET_FILE_TAGS` | | Action | What it does | Slug | | - | - | - | | Get team info | Retrieve information about a Dropbox team. | `DROPBOX_GET_TEAM_INFO` | | List team devices | List all device sessions of a team including web sessions, desktop clients, and mobile clients. | `DROPBOX_LIST_TEAM_DEVICES` | | List team namespaces | List all team-accessible namespaces in a Dropbox Business team. | `DROPBOX_LIST_TEAM_NAMESPACES` | | List team namespaces continue | Continue paginating through team-accessible namespaces using a cursor from team/namespaces/list. | `DROPBOX_LIST_TEAM_NAMESPACES_CONTINUE` | | List team sharing allowlist continue | Continue paginating through team sharing allowlist entries using a cursor. | `DROPBOX_LIST_TEAM_SHARING_ALLOWLIST_CONTINUE` | | Action | What it does | Slug | | - | - | - | | Get team properties template | Get the schema for a specified property template for a team. | `DROPBOX_GET_TEAM_PROPERTIES_TEMPLATE` | | List templates for team | List all property templates for a team. | `DROPBOX_LIST_TEMPLATES_FOR_TEAM` | | List user templates | Get the template identifiers for a user. | `DROPBOX_LIST_USER_TEMPLATES` | | Action | What it does | Slug | | - | - | - | | Get thumbnail | Get a thumbnail for an image file. | `DROPBOX_GET_THUMBNAIL` | | Get thumbnail batch | Get thumbnails for multiple image files in a single batch request. | `DROPBOX_GET_THUMBNAIL_BATCH` | | Get thumbnail v2 | Get a thumbnail for an image file. | `DROPBOX_GET_THUMBNAIL_V2` | | Action | What it does | Slug | | - | - | - | | Get space usage | Get space usage information for the current user's Dropbox account. | `DROPBOX_GET_SPACE_USAGE` | | Get team member custom quota | Retrieve custom storage quotas for team members. | `DROPBOX_GET_TEAM_MEMBER_CUSTOM_QUOTA` | | Action | What it does | Slug | | - | - | - | | Check user | Test Dropbox API connection and validate access token by echoing back a supplied string. | `DROPBOX_CHECK_USER` | | List excluded users continue | Paginate through team members excluded from space limits using a cursor from a previous list call. | `DROPBOX_LIST_EXCLUDED_USERS_CONTINUE` | | List member space limits excluded users | List team members excluded from space limits. | `DROPBOX_LIST_MEMBER_SPACE_LIMITS_EXCLUDED_USERS` | | Action | What it does | Slug | | - | - | - | | List file revisions | Retrieve the revision history for a file. | `DROPBOX_LIST_FILE_REVISIONS` | | Action | What it does | Slug | | - | - | - | | Check copy batch | Check the status of an asynchronous copy batch job in Dropbox. | `DROPBOX_CHECK_COPY_BATCH` | | Check delete batch | Check the status of an asynchronous delete batch job in Dropbox. | `DROPBOX_CHECK_DELETE_BATCH` | | Check move batch | Check the status of an asynchronous move batch job. | `DROPBOX_CHECK_MOVE_BATCH` | | Check save URL status | Check the status of a save\_url job in Dropbox. | `DROPBOX_CHECK_SAVE_URL_STATUS` | | Download ZIP | Download a folder from Dropbox as a zip file. | `DROPBOX_DOWNLOAD_ZIP` | | Get about me | Get information about the current user's Dropbox account. | `DROPBOX_GET_ABOUT_ME` | | Get copy reference | Get a copy reference to a file or folder. | `DROPBOX_GET_COPY_REFERENCE` | | Get jwks | Retrieve JSON Web Key Set containing public verification keys for Dropbox signed ID tokens. | `DROPBOX_GET_JWKS` | | Get metadata | Fetch metadata for a file or folder by path. | `DROPBOX_GET_METADATA` | | Get metadata alpha | Fetch metadata for a file or folder using the alpha endpoint. | `DROPBOX_GET_METADATA_ALPHA` | | List sharing allowlist | List Approve List entries for a team from newest to oldest. | `DROPBOX_LIST_SHARING_ALLOWLIST` | | Search continue | Fetch the next page of search results from a previous Dropbox search. | `DROPBOX_SEARCH_CONTINUE` | Teammates can use 127 of the 178 Dropbox actions at this level: everything in **Read-only**, plus: * Create, update, and delete files * Update, start, and stop sessions * Create and update folders * Create, update, and delete properties * Create and update documents * Create and delete tags The 32 actions that this level adds to **Read-only**: | Action | What it does | Slug | | - | - | - | | Create paper document | Creates a new Dropbox Paper document at the specified path using HTML or Markdown content. | `DROPBOX_CREATE_PAPER_DOCUMENT` | | Update paper document | Update an existing Dropbox Paper document with new content in Markdown, HTML, or plain text format. | `DROPBOX_UPDATE_PAPER_DOCUMENT` | | Action | What it does | Slug | | - | - | - | | Alpha upload file | Upload a new file to Dropbox using the alpha upload endpoint. | `DROPBOX_ALPHA_UPLOAD_FILE` | | Copy file or folder | Copy a file or folder to a different location in Dropbox. | `DROPBOX_COPY_FILE_OR_FOLDER` | | Delete file | Delete a file or folder at the specified path in Dropbox. | `DROPBOX_DELETE_FILE` | | Delete file or folder | DEPRECATED: Use DeleteFile instead. | `DROPBOX_DELETE_FILE_OR_FOLDER` | | Move file or folder | | `DROPBOX_MOVE_FILE_OR_FOLDER` | | Restore file | Restore a specific revision of a file to the given path in Dropbox. | `DROPBOX_RESTORE_FILE` | | Unlock file batch | Unlock multiple files at specified paths in a single batch operation. | `DROPBOX_UNLOCK_FILE_BATCH` | | Upload file | Uploads a file (up to \~150 MB) to a specified path in the user's Dropbox, with options for handling existing files. | `DROPBOX_UPLOAD_FILE` | | Action | What it does | Slug | | - | - | - | | Create folder | Create a new folder at a specified path in Dropbox. | `DROPBOX_CREATE_FOLDER` | | Create folder batch | Create multiple folders at once in Dropbox. | `DROPBOX_CREATE_FOLDER_BATCH` | | Create paper folder | Create a new Paper folder with the provided info. | `DROPBOX_CREATE_PAPER_FOLDER` | | Mount folder | Mount a shared folder for the current user after they have been added as a member. | `DROPBOX_MOUNT_FOLDER` | | Unmount folder | Unmount a shared folder for the current user. | `DROPBOX_UNMOUNT_FOLDER` | | Action | What it does | Slug | | - | - | - | | Add file properties | Add custom properties to a Dropbox file using a filled property template. | `DROPBOX_ADD_FILE_PROPERTIES` | | Overwrite file properties | Overwrite property groups associated with a file or folder. | `DROPBOX_OVERWRITE_FILE_PROPERTIES` | | Remove file properties | Permanently remove specified property groups from a file or folder. | `DROPBOX_REMOVE_FILE_PROPERTIES` | | Update file properties | Update custom properties on a file or folder in Dropbox. | `DROPBOX_UPDATE_FILE_PROPERTIES` | | Action | What it does | Slug | | - | - | - | | Append upload session | Append more data to an existing upload session. | `DROPBOX_APPEND_UPLOAD_SESSION` | | Append upload session batch | Append data to multiple upload sessions in a single request. | `DROPBOX_APPEND_UPLOAD_SESSION_BATCH` | | Finish upload session | Finish an upload session and save the uploaded data to the given file path. | `DROPBOX_FINISH_UPLOAD_SESSION` | | Finish upload session batch | Commit many files at once into a user's Dropbox after uploading file contents via upload\_session/start and upload\_session/append. | `DROPBOX_FINISH_UPLOAD_SESSION_BATCH` | | Start upload session | Start a new upload session with the given data. | `DROPBOX_START_UPLOAD_SESSION` | | Start upload session batch | Start a batch of upload sessions. | `DROPBOX_START_UPLOAD_SESSION_BATCH` | | Action | What it does | Slug | | - | - | - | | Add file tags | Add a tag to a file or folder in Dropbox. | `DROPBOX_ADD_FILE_TAGS` | | Remove file tag | Remove a tag from a file or folder in Dropbox. | `DROPBOX_REMOVE_FILE_TAG` | | Action | What it does | Slug | | - | - | - | | Copy batch | Copy multiple files or folders to different locations at once in Dropbox. | `DROPBOX_COPY_BATCH` | | Delete batch | Delete multiple files or folders at once in Dropbox. | `DROPBOX_DELETE_BATCH` | | Move batch | Move multiple files or folders to different locations at once in Dropbox. | `DROPBOX_MOVE_BATCH` | | Save copy reference | Save a copy reference to the user's Dropbox. | `DROPBOX_SAVE_COPY_REFERENCE` | | Save URL | Save a file to Dropbox directly from a public URL via server-side fetch. | `DROPBOX_SAVE_URL` | Teammates can use 178 of the 178 Dropbox actions at this level: everything in **Read + write**, plus: * Create, update, and delete members * Create, delete, and send email addresses * Archive and share folders * Create, update, and delete groups * Update and delete photos * Create, update, and delete templates * Update settings * Create and update shared links * Update and delete usage * Create and delete users * Delete contacts * Share files The 51 actions that this level adds to **Read + write**: | Action | What it does | Slug | | - | - | - | | Delete manual contacts batch | Delete specific manually added contacts from Dropbox by their email addresses. | `DROPBOX_DELETE_MANUAL_CONTACTS_BATCH` | | Action | What it does | Slug | | - | - | - | | Add team members secondary emails | Add secondary email addresses to Dropbox team members. | `DROPBOX_ADD_TEAM_MEMBERS_SECONDARY_EMAILS` | | Delete team members secondary emails | Delete secondary email addresses from Dropbox team members. | `DROPBOX_DELETE_TEAM_MEMBERS_SECONDARY_EMAILS` | | Resend secondary email verification | Resend secondary email verification emails to team members. | `DROPBOX_RESEND_SECONDARY_EMAIL_VERIFICATION` | | Send team member welcome email | Send a welcome email to a pending team member. | `DROPBOX_SEND_TEAM_MEMBER_WELCOME_EMAIL` | | Action | What it does | Slug | | - | - | - | | Create file request | Create a new file request in Dropbox. | `DROPBOX_CREATE_FILE_REQUEST` | | Delete all closed file requests | Delete all closed file requests owned by the current user. | `DROPBOX_DELETE_ALL_CLOSED_FILE_REQUESTS` | | Delete file requests | Delete a batch of closed file requests in Dropbox. | `DROPBOX_DELETE_FILE_REQUESTS` | | Unshare file | Remove all members from a Dropbox file. | `DROPBOX_UNSHARE_FILE` | | Update file request | Update an existing file request in Dropbox. | `DROPBOX_UPDATE_FILE_REQUEST` | | Action | What it does | Slug | | - | - | - | | Activate team folder | Activate an archived team folder. | `DROPBOX_ACTIVATE_TEAM_FOLDER` | | Archive team folder | Archive an active team folder in Dropbox. | `DROPBOX_ARCHIVE_TEAM_FOLDER` | | Create team folder | Create a new, active team folder with no members in Dropbox. | `DROPBOX_CREATE_TEAM_FOLDER` | | Delete team folder permanently | Permanently delete an archived team folder in Dropbox. | `DROPBOX_DELETE_TEAM_FOLDER_PERMANENTLY` | | Rename team folder | Rename an existing team folder in Dropbox. | `DROPBOX_RENAME_TEAM_FOLDER` | | Share folder | Share a folder with collaborators in Dropbox. | `DROPBOX_SHARE_FOLDER` | | Unshare folder | Allow a shared folder owner to unshare the folder. | `DROPBOX_UNSHARE_FOLDER` | | Action | What it does | Slug | | - | - | - | | Create team group | Create a new, empty team group in Dropbox with a specified name. | `DROPBOX_CREATE_TEAM_GROUP` | | Delete team group | Delete a Dropbox team group. | `DROPBOX_DELETE_TEAM_GROUP` | | Update team group | Update a team group's name, external ID, and/or management type. | `DROPBOX_UPDATE_TEAM_GROUP` | | Action | What it does | Slug | | - | - | - | | Get temporary upload link | Get a one-time use temporary upload link to upload a file to Dropbox. | `DROPBOX_GET_TEMPORARY_UPLOAD_LINK` | | Action | What it does | Slug | | - | - | - | | Add file member | Add specified members to a Dropbox file with configurable access levels. | `DROPBOX_ADD_FILE_MEMBER` | | Add folder member action | Add members to a shared folder with specified access levels. | `DROPBOX_ADD_FOLDER_MEMBER_ACTION` | | Add team group members | Add members to a team group with specified access levels. | `DROPBOX_ADD_TEAM_GROUP_MEMBERS` | | Add team members | Add new members to a Dropbox team. | `DROPBOX_ADD_TEAM_MEMBERS` | | Remove file member | Remove a specified member from a file's sharing permissions. | `DROPBOX_REMOVE_FILE_MEMBER` | | Remove folder member | Remove a member from a shared folder. | `DROPBOX_REMOVE_FOLDER_MEMBER` | | Remove group members | Remove members from a Dropbox team group. | `DROPBOX_REMOVE_GROUP_MEMBERS` | | Update file member | Change a member's access level on a shared file. | `DROPBOX_UPDATE_FILE_MEMBER` | | Update folder member | Update another member's permissions in a shared folder. | `DROPBOX_UPDATE_FOLDER_MEMBER` | | Action | What it does | Slug | | - | - | - | | Delete team member profile photo | Delete a team member's profile photo. | `DROPBOX_DELETE_TEAM_MEMBER_PROFILE_PHOTO` | | Set profile photo | Set the profile photo for the current user's Dropbox account. | `DROPBOX_SET_PROFILE_PHOTO` | | Update team member profile photo | Update a team member's profile photo. | `DROPBOX_UPDATE_TEAM_MEMBER_PROFILE_PHOTO` | | Action | What it does | Slug | | - | - | - | | Update folder policy | Update the sharing policies for a shared folder. | `DROPBOX_UPDATE_FOLDER_POLICY` | | Action | What it does | Slug | | - | - | - | | Update team member profile | Update a team member's profile information. | `DROPBOX_UPDATE_TEAM_MEMBER_PROFILE` | | Action | What it does | Slug | | - | - | - | | Update team member admin permissions | Update a team member's admin permissions. | `DROPBOX_UPDATE_TEAM_MEMBER_ADMIN_PERMISSIONS` | | Action | What it does | Slug | | - | - | - | | Modify shared link settings | Modify settings of an existing Dropbox shared link. | `DROPBOX_MODIFY_SHARED_LINK_SETTINGS` | | Update team folder sync settings | Update the sync settings on a team folder or its contents in Dropbox. | `DROPBOX_UPDATE_TEAM_FOLDER_SYNC_SETTINGS` | | Action | What it does | Slug | | - | - | - | | Create shared link | Create a stable, long-lived shared link for a Dropbox file or folder. | `DROPBOX_CREATE_SHARED_LINK` | | Create shared link simple | DEPRECATED: Use CreateSharedLinkV2 instead. | `DROPBOX_CREATE_SHARED_LINK_SIMPLE` | | Revoke shared link | Revoke a Dropbox shared link. | `DROPBOX_REVOKE_SHARED_LINK` | | Action | What it does | Slug | | - | - | - | | Add team properties template | Add a property template for a team in Dropbox. | `DROPBOX_ADD_TEAM_PROPERTIES_TEMPLATE` | | Remove file properties template for team | Remove a property template from a team. | `DROPBOX_REMOVE_FILE_PROPERTIES_TEMPLATE_FOR_TEAM` | | Update property template for team | Update a property template for a team in Dropbox. | `DROPBOX_UPDATE_PROPERTY_TEMPLATE_FOR_TEAM` | | Action | What it does | Slug | | - | - | - | | Update group member access type | Change a member's access type in a team group. | `DROPBOX_UPDATE_GROUP_MEMBER_ACCESS_TYPE` | | Action | What it does | Slug | | - | - | - | | Remove team member custom quota | Remove custom storage quota for team members, reverting them to the team's default quota. | `DROPBOX_REMOVE_TEAM_MEMBER_CUSTOM_QUOTA` | | Set team member custom quota | Set custom storage quotas for team members in Dropbox. | `DROPBOX_SET_TEAM_MEMBER_CUSTOM_QUOTA` | | Action | What it does | Slug | | - | - | - | | Add member space limits excluded users | Add users to the team's space limits exclusion list in Dropbox. | `DROPBOX_ADD_MEMBER_SPACE_LIMITS_EXCLUDED_USERS` | | Remove team member space limits excluded users | Remove users from the member space limits excluded users list. | `DROPBOX_REMOVE_TEAM_MEMBER_SPACE_LIMITS_EXCLUDED_USERS` | | Action | What it does | Slug | | - | - | - | | Add sharing allowlist | Add domains or email addresses to the team sharing allowlist. | `DROPBOX_ADD_SHARING_ALLOWLIST` | | Remove sharing allowlist | Remove domains or email addresses from the team sharing allowlist. | `DROPBOX_REMOVE_SHARING_ALLOWLIST` | ## Connect Dropbox Before you start: * You need a Dropbox account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Dropbox** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Dropbox**. The Dropbox sign-in page opens in a new tab. Sign in to Dropbox and approve the request. Check that it works: Dropbox shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Dropbox account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Dropbox account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Dropbox account Click **+ Account** on the Dropbox card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Dropbox side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Dropbox**. 3. Sign in to Dropbox and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Dropbox account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Dropbox.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Dropbox account becomes primary. ## Costs Dropbox actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Dropbox, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Dropbox connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Dropbox account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Dropbox card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Dropbox account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Dropbox.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Dub Source: https://squad.so/docs/apps/dub What teammates can do in Dub with standard access, and how to connect, limit, and disconnect Dub. Connect Dub so your teammates can work in your Dub account. ## Access levels Dub has one level. The connect window shows it as **Default** and describes it as "Standard access." Teammates can use all 17 Dub actions. You cannot choose a narrower level for Dub. You can block single teammates with **No access** under **Per-teammate access**. The Dub sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in, and standard access does not limit which Dub actions teammates can use. ## What teammates can do The summary below groups the Dub actions into plain tasks. The full list after it names every action, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open the list and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Dub account?" The teammate can search the Dub actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Dub action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. * View, create, update, and delete short links * View, create, update, and delete domains * View, create, update, and delete tags * View and update workspaces | Works on | Action | What it does | Slug | | - | - | - | - | | **Domains** | Create domain | Add a domain to a Dub workspace. | `DUB_CREATE_DOMAIN` | | | Delete domain | Delete a domain from your Dub workspace. | `DUB_DELETE_DOMAIN` | | | List domains | Retrieve a list of domains for the authenticated workspace. | `DUB_LIST_DOMAINS` | | | Update domain | Update a domain configuration in Dub. | `DUB_UPDATE_DOMAIN` | | **Short links** | Bulk delete links | Delete multiple short links in bulk from Dub. | `DUB_BULK_DELETE_LINKS` | | | Bulk update links | Update multiple short links in bulk. | `DUB_BULK_UPDATE_LINKS` | | | Get link info | Retrieve details of a specific short link from Dub. | `DUB_GET_LINK_INFO` | | | Get links | Retrieve a paginated list of links for the authenticated workspace. | `DUB_GET_LINKS` | | | Get links count | Retrieve the count of links in workspace with optional filters. | `DUB_GET_LINKS_COUNT` | | | Upsert link | Create or update a short link in Dub. | `DUB_UPSERT_LINK` | | **Tags** | Create tag | Create a new tag in Dub. | `DUB_CREATE_TAG` | | | Delete tag | Delete a tag from Dub. | `DUB_DELETE_TAG` | | | Get tags | Retrieve a list of tags from Dub. | `DUB_GET_TAGS` | | | Update tag | Update an existing tag by ID. | `DUB_UPDATE_TAG` | | **Workspaces** | Get workspace | Retrieve detailed information for a specific workspace. | `DUB_GET_WORKSPACE` | | | Update workspace | Update workspace settings in Dub. | `DUB_UPDATE_WORKSPACE` | | **Other actions** | Track open | Track a deep link open event in Dub. | `DUB_TRACK_OPEN` | ## Connect Dub Before you start: * You need a Dub account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Dub** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, keep **Default**. It is the only option. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Dub**. The Dub sign-in page opens in a new tab. Sign in to Dub and approve the request. Check that it works: Dub shows under **Your connections**, with a row for the account and its access level. ## Set access for one teammate Every teammate can use the account unless you block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Dub account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose **No access** to block the teammate. Choose **Default (Default)** to allow it again. 5. Click **Save access**. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Dub account Click **+ Account** on the Dub card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Dub side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Dub**. 3. Sign in to Dub and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Dub account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Dub.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Dub account becomes primary. ## Costs Dub actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate says it has no access to Dub, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Dub connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions You cannot choose a narrower level for Dub. You can block single teammates with **No access** under **Per-teammate access**. Click **+ Account** on the Dub card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Dub account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Dub.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Eventbrite Source: https://squad.so/docs/apps/eventbrite What teammates can do in Eventbrite with standard access, and how to connect, limit, and disconnect Eventbrite. Connect Eventbrite so your teammates can work in your Eventbrite account. ## Access levels Eventbrite has one level. The connect window shows it as **Default** and describes it as "Standard access." Teammates can use all 95 Eventbrite actions. You cannot choose a narrower level for Eventbrite. You can block single teammates with **No access** under **Per-teammate access**. The Eventbrite sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in, and standard access does not limit which Eventbrite actions teammates can use. ## What teammates can do The summary below groups the Eventbrite actions into plain tasks. The full list after it names every action, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open the list and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Eventbrite account?" The teammate can search the Eventbrite actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Eventbrite action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. * View, create, update, delete, publish, and cancel events * View, create, update, and delete questions * View, create, update, and delete ticket types * View, search, create, update, and delete coupons and discounts * View, create, update, and delete groups * View, create, and update settings * View, create, and update code * View, create, and update organizers * View, create, and update venues * View orders * View attendees * View categories | Action | What it does | Slug | | - | - | - | | List event attendees | Retrieve the list of attendees for an Eventbrite event. | `EVENTBRITE_LIST_EVENT_ATTENDEES` | | List org attendees | List attendees across all events owned by an Eventbrite organization. | `EVENTBRITE_LIST_ORG_ATTENDEES` | | Action | What it does | Slug | | - | - | - | | Get category | Retrieve a specific category by ID. | `EVENTBRITE_GET_CATEGORY` | | Get event categories | Retrieve event categories. | `EVENTBRITE_GET_EVENT_CATEGORIES` | | Action | What it does | Slug | | - | - | - | | Create access code | Create a new access code for an Eventbrite event. | `EVENTBRITE_CREATE_ACCESS_CODE` | | Get access code | Retrieve a specific access code by ID for an Eventbrite event. | `EVENTBRITE_GET_ACCESS_CODE` | | List access codes | Retrieve all access codes for an Eventbrite event. | `EVENTBRITE_LIST_ACCESS_CODES` | | Update access code | Update an existing access code for an Eventbrite event. | `EVENTBRITE_UPDATE_ACCESS_CODE` | | Action | What it does | Slug | | - | - | - | | Get structured content | Retrieve structured content for an Eventbrite event. | `EVENTBRITE_GET_STRUCTURED_CONTENT` | | Get structured content edit | Retrieve the latest working version of structured content for an event. | `EVENTBRITE_GET_STRUCTURED_CONTENT_EDIT` | | Set structured content | Set structured content for an Eventbrite event by version. | `EVENTBRITE_SET_STRUCTURED_CONTENT` | | Action | What it does | Slug | | - | - | - | | Create discount | Create a new discount for an Eventbrite organization. | `EVENTBRITE_CREATE_DISCOUNT` | | Delete discount | Delete a discount from Eventbrite. | `EVENTBRITE_DELETE_DISCOUNT` | | Get discount | Retrieve a discount by its ID from Eventbrite. | `EVENTBRITE_GET_DISCOUNT` | | Search discounts by organization | Search and list discounts by organization ID. | `EVENTBRITE_SEARCH_DISCOUNTS_BY_ORGANIZATION` | | Update discount | Update a discount by its ID in Eventbrite. | `EVENTBRITE_UPDATE_DISCOUNT` | | Action | What it does | Slug | | - | - | - | | Cancel event | Cancel an Eventbrite event. | `EVENTBRITE_CANCEL_EVENT` | | Copy event | Copy an Eventbrite event and create a duplicate with a new Event ID. | `EVENTBRITE_COPY_EVENT` | | Create event | Create a new Eventbrite event. | `EVENTBRITE_CREATE_EVENT` | | Delete event | Delete an Eventbrite event. | `EVENTBRITE_DELETE_EVENT` | | Get event | Retrieve detailed information for a specific Eventbrite event by ID. | `EVENTBRITE_GET_EVENT` | | Get event description | Retrieve the full HTML description for an Eventbrite event. | `EVENTBRITE_GET_EVENT_DESCRIPTION` | | Get event formats | List event formats. | `EVENTBRITE_GET_EVENT_FORMATS` | | Get event subcategories | List all event subcategories. | `EVENTBRITE_GET_EVENT_SUBCATEGORIES` | | List organization events | List events owned by a specific Eventbrite organization. | `EVENTBRITE_LIST_ORGANIZATION_EVENTS` | | List series events | List all events in an Eventbrite event series by series ID. | `EVENTBRITE_LIST_SERIES_EVENTS` | | List venue events | List all events at a specific Eventbrite venue by venue ID. | `EVENTBRITE_LIST_VENUE_EVENTS` | | Publish event | Publish an Eventbrite event. | `EVENTBRITE_PUBLISH_EVENT` | | Unpublish event | Unpublish an Eventbrite event. | `EVENTBRITE_UNPUBLISH_EVENT` | | Update event | Update an Eventbrite event by ID. | `EVENTBRITE_UPDATE_EVENT` | | Action | What it does | Slug | | - | - | - | | Get media upload | Retrieve information on a Media image upload. | `EVENTBRITE_GET_MEDIA_UPLOAD` | | Action | What it does | Slug | | - | - | - | | Create ticket group | Create a new ticket group for an Eventbrite organization. | `EVENTBRITE_CREATE_TICKET_GROUP` | | Delete ticket group | Delete a ticket group by changing its status to deleted. | `EVENTBRITE_DELETE_TICKET_GROUP` | | Get ticket group | Retrieve a ticket group by its ID from Eventbrite. | `EVENTBRITE_GET_TICKET_GROUP` | | List ticket groups | List ticket groups for a specific Eventbrite organization. | `EVENTBRITE_LIST_TICKET_GROUPS` | | Update ticket group | Update a ticket group by its ID in Eventbrite. | `EVENTBRITE_UPDATE_TICKET_GROUP` | | Action | What it does | Slug | | - | - | - | | Create inventory tier | Create a new inventory tier for an Eventbrite event. | `EVENTBRITE_CREATE_INVENTORY_TIER` | | Delete inventory tier | Mark an existing inventory tier as deleted for an Eventbrite event. | `EVENTBRITE_DELETE_INVENTORY_TIER` | | Get inventory tier | Retrieve an Inventory Tier by ID for an Event. | `EVENTBRITE_GET_INVENTORY_TIER` | | List inventory tiers | Retrieve inventory tiers for an Eventbrite event. | `EVENTBRITE_LIST_INVENTORY_TIERS` | | Update inventory tier | Update an existing Inventory Tier by ID for an Event. | `EVENTBRITE_UPDATE_INVENTORY_TIER` | | Action | What it does | Slug | | - | - | - | | Retrieve media | Retrieve media information by ID. | `EVENTBRITE_RETRIEVE_MEDIA` | | Action | What it does | Slug | | - | - | - | | List organization members | List members of an Eventbrite organization by organization ID. | `EVENTBRITE_LIST_ORGANIZATION_MEMBERS` | | Action | What it does | Slug | | - | - | - | | List event orders | List orders for a specific Eventbrite event. | `EVENTBRITE_LIST_EVENT_ORDERS` | | List organization orders | List orders placed for events owned by a specific Eventbrite organization. | `EVENTBRITE_LIST_ORGANIZATION_ORDERS` | | List user orders | List orders for a specific Eventbrite user. | `EVENTBRITE_LIST_USER_ORDERS` | | Action | What it does | Slug | | - | - | - | | List user organizations | List organizations the authenticated user belongs to. | `EVENTBRITE_LIST_USER_ORGANIZATIONS` | | List user orgs | List organizations by user ID. | `EVENTBRITE_LIST_USER_ORGS` | | Action | What it does | Slug | | - | - | - | | Create organizer | Create a new organizer for an Eventbrite organization. | `EVENTBRITE_CREATE_ORGANIZER` | | Get organizer | Retrieve an organizer by organizer ID from Eventbrite. | `EVENTBRITE_GET_ORGANIZER` | | List org organizers | List organizers belonging to a specific Eventbrite organization. | `EVENTBRITE_LIST_ORG_ORGANIZERS` | | Update organizer | Update an Eventbrite organizer by ID. | `EVENTBRITE_UPDATE_ORGANIZER` | | Action | What it does | Slug | | - | - | - | | Calculate price for item | Calculate Eventbrite fees for a given ticket price. | `EVENTBRITE_CALCULATE_PRICE_FOR_ITEM` | | Action | What it does | Slug | | - | - | - | | Create custom question | Create a custom question for an Eventbrite event. | `EVENTBRITE_CREATE_CUSTOM_QUESTION` | | Delete default question | Deactivate a canned question for an event. | `EVENTBRITE_DELETE_DEFAULT_QUESTION` | | Get default question | Retrieve a specific default (canned) question for an Eventbrite event by Event ID and Question ID. | `EVENTBRITE_GET_DEFAULT_QUESTION` | | List custom questions | Retrieve custom questions configured for an Eventbrite event. | `EVENTBRITE_LIST_CUSTOM_QUESTIONS` | | List default questions | Retrieve default (canned) questions for an Eventbrite event by Event ID. | `EVENTBRITE_LIST_DEFAULT_QUESTIONS` | | Update default question | Update a default (canned) question for an Eventbrite event. | `EVENTBRITE_UPDATE_DEFAULT_QUESTION` | | Action | What it does | Slug | | - | - | - | | Get attendee report | Retrieve an attendee report for events in an Eventbrite organization. | `EVENTBRITE_GET_ATTENDEE_REPORT` | | Get sales report | Retrieve a sales report by Event ID or Event status for an organization. | `EVENTBRITE_GET_SALES_REPORT` | | Action | What it does | Slug | | - | - | - | | List organization roles | List roles within a specific Eventbrite organization by organization ID. | `EVENTBRITE_LIST_ORGANIZATION_ROLES` | | Action | What it does | Slug | | - | - | - | | Create event schedule | Create an event schedule for a series parent event. | `EVENTBRITE_CREATE_EVENT_SCHEDULE` | | Action | What it does | Slug | | - | - | - | | Create checkout settings | Create checkout settings for an Eventbrite organization. | `EVENTBRITE_CREATE_CHECKOUT_SETTINGS` | | Get checkout settings | Retrieve checkout settings for a specific Eventbrite organization. | `EVENTBRITE_GET_CHECKOUT_SETTINGS` | | Get display settings | Retrieve display settings for a specific Eventbrite event. | `EVENTBRITE_GET_DISPLAY_SETTINGS` | | Update display settings | Update display settings for a specific Eventbrite event. | `EVENTBRITE_UPDATE_DISPLAY_SETTINGS` | | Update ticket buyer settings | Update ticket buyer settings for an Eventbrite event. | `EVENTBRITE_UPDATE_TICKET_BUYER_SETTINGS` | | Action | What it does | Slug | | - | - | - | | Create ticket class | Create a new ticket class for an Eventbrite event. | `EVENTBRITE_CREATE_TICKET_CLASS` | | Delete ticket class | Delete a ticket class from an Eventbrite event by its ID. | `EVENTBRITE_DELETE_TICKET_CLASS` | | Get ticket class | Retrieve a specific ticket class by ID for an Eventbrite event. | `EVENTBRITE_GET_TICKET_CLASS` | | List ticket classes | List ticket classes for a specific Eventbrite event by event ID. | `EVENTBRITE_LIST_TICKET_CLASSES` | | List ticket classes for sale | List ticket classes available for sale for a specific Eventbrite event. | `EVENTBRITE_LIST_TICKET_CLASSES_FOR_SALE` | | Update ticket class | Update a ticket class for an Eventbrite event. | `EVENTBRITE_UPDATE_TICKET_CLASS` | | Action | What it does | Slug | | - | - | - | | Add ticket to group | Add a ticket class to one or more explicitly specified ticket groups for an Eventbrite event. | `EVENTBRITE_ADD_TICKET_TO_GROUP` | | Add ticket to group by organization | Add a ticket class to ticket groups using organization and event IDs. | `EVENTBRITE_ADD_TICKET_TO_GROUP_BY_ORGANIZATION` | | Action | What it does | Slug | | - | - | - | | Get user | Retrieve information about a user by user ID. | `EVENTBRITE_GET_USER` | | Action | What it does | Slug | | - | - | - | | Create venue | Create a new venue under an organization in Eventbrite. | `EVENTBRITE_CREATE_VENUE` | | Get venue | Retrieve detailed information for a specific venue by venue ID. | `EVENTBRITE_GET_VENUE` | | List org venues | List venues owned by a specific Eventbrite organization. | `EVENTBRITE_LIST_ORG_VENUES` | | Update venue | Update a venue's details by venue ID. | `EVENTBRITE_UPDATE_VENUE` | | Action | What it does | Slug | | - | - | - | | Create webhook | Create a new webhook for an Eventbrite organization. | `EVENTBRITE_CREATE_WEBHOOK` | | List organization webhooks | List all webhooks configured for a specific Eventbrite organization. | `EVENTBRITE_LIST_ORGANIZATION_WEBHOOKS` | | Action | What it does | Slug | | - | - | - | | Create tracking beacon | Create a tracking beacon for an Eventbrite event or user. | `EVENTBRITE_CREATE_TRACKING_BEACON` | | Get assortment | Retrieve assortment information for a specific organization. | `EVENTBRITE_GET_ASSORTMENT` | | Get capacity tier | Retrieve the capacity tier for an Eventbrite event. | `EVENTBRITE_GET_CAPACITY_TIER` | | Get format | Retrieve a format by format ID. | `EVENTBRITE_GET_FORMAT` | | Get me | Retrieve the authenticated user's account information. | `EVENTBRITE_GET_ME` | | Get series | Retrieve a parent Event Series by Event Series ID. | `EVENTBRITE_GET_SERIES` | | Get subcategory | Retrieve a specific subcategory by ID. | `EVENTBRITE_GET_SUBCATEGORY` | | Get tracking beacon | Retrieve a tracking beacon by ID from Eventbrite. | `EVENTBRITE_GET_TRACKING_BEACON` | | List pricing | List available pricing fee rates for a specific currency and country. | `EVENTBRITE_LIST_PRICING` | | List tracking beacons | List tracking beacons for an Eventbrite organization by organization ID. | `EVENTBRITE_LIST_TRACKING_BEACONS` | | Update assortment | Update the assortment plan for a specific organization. | `EVENTBRITE_UPDATE_ASSORTMENT` | | Update capacity tier | Update the capacity tier for an Eventbrite event. | `EVENTBRITE_UPDATE_CAPACITY_TIER` | ## Connect Eventbrite Before you start: * You need an Eventbrite account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Eventbrite** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, keep **Default**. It is the only option. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Eventbrite**. The Eventbrite sign-in page opens in a new tab. Sign in to Eventbrite and approve the request. Check that it works: Eventbrite shows under **Your connections**, with a row for the account and its access level. ## Set access for one teammate Every teammate can use the account unless you block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Eventbrite account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose **No access** to block the teammate. Choose **Default (Default)** to allow it again. 5. Click **Save access**. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Eventbrite account Click **+ Account** on the Eventbrite card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Eventbrite side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Eventbrite**. 3. Sign in to Eventbrite and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Eventbrite account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Eventbrite.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Eventbrite account becomes primary. ## Costs Eventbrite actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate says it has no access to Eventbrite, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Eventbrite connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions You cannot choose a narrower level for Eventbrite. You can block single teammates with **No access** under **Per-teammate access**. Click **+ Account** on the Eventbrite card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Eventbrite account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Eventbrite.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Excel Source: https://squad.so/docs/apps/excel What teammates can do in Excel at each access level, and how to connect, limit, and disconnect Excel. Connect Excel so your teammates can work in your Excel account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Excel account has an access level: **Read-only** and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as workbooks, worksheets, tables, charts, and comments. Cannot change anything." | 26 of 55 | | **Full access** (recommended) | "Read, edit, create, and delete Excel workbooks." | 55 of 55 | **Full access** is the recommended level. The connect window selects it for you, and you can choose another level. The Excel sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Excel account?" The teammate can search the Excel actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Excel action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 26 of the 55 Excel actions at this level: * View worksheets * View cell values * View columns * View and search files * View tables * View workbooks * View account details * View charts * View comments * View items * View labels * View roles and permissions All 26 actions at this level: | Works on | Action | What it does | Slug | | - | - | - | - | | **Account details** | Who am I | | `EXCEL_WHO_AM_I` | | **Cell values** | Get range | Get a range from a worksheet using Microsoft Graph API. | `EXCEL_GET_RANGE` | | | Get SharePoint range | Get a range from a worksheet in SharePoint using Microsoft Graph Sites API. | `EXCEL_GET_SHAREPOINT_RANGE` | | | Get worksheet used range | Retrieve a worksheet's used range (active data region) without specifying a fixed range address. | `EXCEL_GET_WORKSHEET_USED_RANGE` | | **Charts** | Get chart axis | Retrieve a specific axis from a chart. | `EXCEL_GET_CHART_AXIS` | | | Get chart legend | Retrieve the legend object of a chart. | `EXCEL_GET_CHART_LEGEND` | | | List chart series | List all data series in a chart. | `EXCEL_LIST_CHART_SERIES` | | | List charts | List charts in a worksheet using Microsoft Graph API. | `EXCEL_LIST_CHARTS` | | **Columns** | Get table column | Retrieve a specific column from a workbook table. | `EXCEL_GET_TABLE_COLUMN` | | | List table columns | List columns in a table using Microsoft Graph API. | `EXCEL_LIST_TABLE_COLUMNS` | | **Comments** | List comments | List comments in an Excel workbook. | `EXCEL_LIST_COMMENTS` | | **Files** | List files | List files and folders in a drive root or specified path. | `EXCEL_LIST_FILES` | | | Search files | Search OneDrive drive items by query to discover Excel workbook IDs. | `EXCEL_SEARCH_FILES` | | **Items** | List drive item children | List immediate children (files/folders) of a folder DriveItem using driveId and itemId. | `EXCEL_LIST_DRIVE_ITEM_CHILDREN` | | | List named items | List named items in a workbook using Microsoft Graph API. | `EXCEL_LIST_NAMED_ITEMS` | | **Labels** | Get chart data labels | Retrieve the data labels object of a chart. | `EXCEL_GET_CHART_DATA_LABELS` | | **Roles and permissions** | List workbook permissions | List permissions set on the workbook file. | `EXCEL_LIST_WORKBOOK_PERMISSIONS` | | **Rows** | List table rows | List rows in a table using Microsoft Graph API. | `EXCEL_LIST_TABLE_ROWS` | | **Tables** | List SharePoint tables | List tables in a SharePoint worksheet using Microsoft Graph Sites API. | `EXCEL_LIST_SHAREPOINT_TABLES` | | | List tables | List tables in a worksheet using Microsoft Graph API. | `EXCEL_LIST_TABLES` | | **Workbooks** | Export workbook to PDF | Export an Excel workbook to PDF via Microsoft Graph's format conversion. | `EXCEL_EXPORT_WORKBOOK_TO_PDF` | | | Get workbook | Retrieve the properties and relationships of a workbook. | `EXCEL_GET_WORKBOOK` | | **Worksheets** | Get SharePoint worksheet | Get a worksheet by name or ID from a SharePoint Excel workbook using Microsoft Graph Sites API. | `EXCEL_GET_SHAREPOINT_WORKSHEET` | | | Get worksheet | Get a worksheet by name or ID from an Excel workbook using Microsoft Graph API. | `EXCEL_GET_WORKSHEET` | | | List SharePoint worksheets | List worksheets in an Excel workbook stored in SharePoint using Microsoft Graph Sites API. | `EXCEL_LIST_SHAREPOINT_WORKSHEETS` | | | List worksheets | List worksheets in an Excel workbook using Microsoft Graph API. | `EXCEL_LIST_WORKSHEETS` | Teammates can use 55 of the 55 Excel actions at this level: everything in **Read-only**, plus: * Create, update, and delete cell values * Create, update, and delete worksheets * Create and update tables * Create and update charts * Create and delete columns * Update and delete filters * Create and delete rows * View and update sessions * Create workbooks * Create roles and permissions The 29 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Cell values** | Clear range | Clear values, formats, or contents in a specified worksheet range. | `EXCEL_CLEAR_RANGE` | | | Insert range | Insert a new cell range into a worksheet, shifting existing cells down or right. | `EXCEL_INSERT_RANGE` | | | Merge cells | Merge cells in a worksheet range using Microsoft Graph API. | `EXCEL_MERGE_CELLS` | | | Sort range | Sort a range in a worksheet using Microsoft Graph API. | `EXCEL_SORT_RANGE` | | | Update range | Update a range in a worksheet using Microsoft Graph API. | `EXCEL_UPDATE_RANGE` | | | Update SharePoint range | Update a range in a SharePoint worksheet using Microsoft Graph Sites API. | `EXCEL_UPDATE_SHAREPOINT_RANGE` | | **Charts** | Add chart | Add a chart to a worksheet using Microsoft Graph API. | `EXCEL_ADD_CHART` | | | Update chart | Update a chart in a worksheet using Microsoft Graph API. | `EXCEL_UPDATE_CHART` | | | Update chart legend | Update formatting or position of a chart legend. | `EXCEL_UPDATE_CHART_LEGEND` | | **Columns** | Add table column | Add a column to a table using Microsoft Graph API. | `EXCEL_ADD_TABLE_COLUMN` | | | Delete table column | Delete a column from a table using Microsoft Graph API. | `EXCEL_DELETE_TABLE_COLUMN` | | **Filters** | Apply table filter | Apply a filter to a table column using Microsoft Graph API. | `EXCEL_APPLY_TABLE_FILTER` | | | Clear table filter | Clear a filter from a table column using Microsoft Graph API. | `EXCEL_CLEAR_TABLE_FILTER` | | **Roles and permissions** | Add workbook permission | Grant access to a workbook via invite. | `EXCEL_ADD_WORKBOOK_PERMISSION` | | **Rows** | Add table row | Add a row to a table using Microsoft Graph API. | `EXCEL_ADD_TABLE_ROW` | | | Delete table row | Delete a row from a table using Microsoft Graph API. | `EXCEL_DELETE_TABLE_ROW` | | **Sessions** | Close session | Close an existing Excel workbook session. | `EXCEL_CLOSE_SESSION` | | | Get session | Create a session for an Excel workbook using Microsoft Graph API. | `EXCEL_GET_SESSION` | | **Tables** | Add table | Create a new table in a worksheet using the Microsoft Graph API. | `EXCEL_ADD_TABLE` | | | Apply table sort | Apply a sort to a table using Microsoft Graph API. | `EXCEL_APPLY_TABLE_SORT` | | | Convert table to range | Convert a table to a range using Microsoft Graph API. | `EXCEL_CONVERT_TABLE_TO_RANGE` | | | Update table | Update a table in a workbook using Microsoft Graph API. | `EXCEL_UPDATE_TABLE` | | **Workbooks** | Create workbook | Create a new Excel workbook file at a specified drive path. | `EXCEL_CREATE_WORKBOOK` | | | Upload workbook | Upload an external Excel file from a URL into OneDrive/SharePoint. | `EXCEL_UPLOAD_WORKBOOK` | | **Worksheets** | Add SharePoint worksheet | Add a new worksheet to a SharePoint Excel workbook using Microsoft Graph Sites API. | `EXCEL_ADD_SHAREPOINT_WORKSHEET` | | | Add worksheet | Add a new worksheet to an Excel workbook using Microsoft Graph API. | `EXCEL_ADD_WORKSHEET` | | | Delete worksheet | Delete a worksheet from the workbook. | `EXCEL_DELETE_WORKSHEET` | | | Protect worksheet | Protect a worksheet using optional protection options. | `EXCEL_PROTECT_WORKSHEET` | | | Update worksheet | Update worksheet properties (name, position) in an Excel workbook using Microsoft Graph API. | `EXCEL_UPDATE_WORKSHEET` | ## Connect Excel Before you start: * You need an Excel account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Excel** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Excel**. The Excel sign-in page opens in a new tab. Sign in to Excel and approve the request. Check that it works: Excel shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Excel account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Excel account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Excel account Click **+ Account** on the Excel card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Excel side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Excel**. 3. Sign in to Excel and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Excel account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Excel.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Excel account becomes primary. ## Costs Excel actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Excel, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Excel connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Excel account has an access level: **Read-only** and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Excel card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Excel account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Excel.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Facebook Source: https://squad.so/docs/apps/facebook What teammates can do in Facebook at each access level, and how to connect, limit, and disconnect Facebook. Connect Facebook so your teammates can work in your Facebook account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Facebook account has an access level: **Read-only**, **Manage pages**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as your pages, posts, comments, insights, and page messages. Cannot change anything." | 20 of 44 | | **Manage pages** (recommended) | "Post, comment, and reply on your pages, message people in Messenger, and edit page details. Cannot change page roles or delete posts." | 41 of 44 | | **Full access** | "Everything, including page roles and deleting posts." | 44 of 44 | **Manage pages** is the recommended level. The connect window selects it for you, and you can choose another level. The Facebook sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Facebook account?" The teammate can search the Facebook actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Facebook action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 20 of the 44 Facebook actions at this level: * View and search pages * View posts * View comments * View messages * View reports * View conversations * View photos * View reactions * View roles and permissions * View users * View videos All 20 actions at this level: | Works on | Action | What it does | Slug | | - | - | - | - | | **Comments** | Get comment | Retrieves details of a specific Facebook comment. | `FACEBOOK_GET_COMMENT` | | | Get comments | Retrieves comments from a Facebook post or comment (for replies). | `FACEBOOK_GET_COMMENTS` | | **Conversations** | Get page conversations | Retrieves a list of conversations between users and the Page. | `FACEBOOK_GET_PAGE_CONVERSATIONS` | | **Messages** | Get conversation messages | Retrieves messages from a specific conversation. | `FACEBOOK_GET_CONVERSATION_MESSAGES` | | | Get message details | Retrieves details of a specific message sent or received by the Page. | `FACEBOOK_GET_MESSAGE_DETAILS` | | **Pages** | Get page details | Fetches details about a specific Facebook Page. | `FACEBOOK_GET_PAGE_DETAILS` | | | Get user pages | DEPRECATED: Use FACEBOOK\_LIST\_MANAGED\_PAGES instead. | `FACEBOOK_GET_USER_PAGES` | | | List managed pages | Retrieves a list of Facebook Pages that the user manages (not personal profiles), including page details, access tokens, and tasks. | `FACEBOOK_LIST_MANAGED_PAGES` | | | Search pages | Searches for Facebook Pages based on a query string. | `FACEBOOK_SEARCH_PAGES` | | **Photos** | Get page photos | Retrieves photos from a Facebook Page. | `FACEBOOK_GET_PAGE_PHOTOS` | | **Posts** | Get page posts | Retrieves posts from a Facebook Page. | `FACEBOOK_GET_PAGE_POSTS` | | | Get page tagged posts | Retrieves posts where a Facebook Page is tagged or mentioned. | `FACEBOOK_GET_PAGE_TAGGED_POSTS` | | | Get post | Retrieves details of a specific Facebook post. | `FACEBOOK_GET_POST` | | | Get scheduled posts | Retrieves scheduled and unpublished posts for a Facebook Page. | `FACEBOOK_GET_SCHEDULED_POSTS` | | **Reactions** | Get post reactions | Retrieves reactions (like, love, wow, etc.) for a Facebook post. | `FACEBOOK_GET_POST_REACTIONS` | | **Reports** | Get page insights | Retrieves analytics and insights for a Facebook Page. | `FACEBOOK_GET_PAGE_INSIGHTS` | | | Get post insights | Retrieves analytics and insights for a specific Facebook post. | `FACEBOOK_GET_POST_INSIGHTS` | | **Roles and permissions** | Get page roles | Retrieves a list of people and their tasks/roles on a Facebook Page. | `FACEBOOK_GET_PAGE_ROLES` | | **Users** | Get current user | Validates the access token and retrieves the authenticated user's own profile via /me. | `FACEBOOK_GET_CURRENT_USER` | | **Videos** | Get page videos | Retrieves videos from a Facebook Page. | `FACEBOOK_GET_PAGE_VIDEOS` | Teammates can use 41 of the 44 Facebook actions at this level: everything in **Read-only**, plus: * Create, update, and publish posts * Create, update, and delete comments * Send messages * Create photos * Create albums * Update settings * Create videos The 21 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Albums** | Create photo album | Creates a new photo album on a Facebook Page. | `FACEBOOK_CREATE_PHOTO_ALBUM` | | **Comments** | Create comment | Creates a comment on a Facebook post or replies to an existing comment. | `FACEBOOK_CREATE_COMMENT` | | | Delete comment | Deletes a Facebook comment. | `FACEBOOK_DELETE_COMMENT` | | | Update comment | Updates an existing Facebook comment. | `FACEBOOK_UPDATE_COMMENT` | | **Messages** | Mark message seen | Marks a user's message as seen by the Page, visibly updating the read status in the user's conversation. | `FACEBOOK_MARK_MESSAGE_SEEN` | | | Send media message | Sends a media message (image, video, audio, or file) from the Page to a user. | `FACEBOOK_SEND_MEDIA_MESSAGE` | | | Send message | Sends a text message from a Facebook Page (not personal profiles) to a user via Messenger. | `FACEBOOK_SEND_MESSAGE` | | **Photos** | Upload photo | DEPRECATED: Use FACEBOOK\_CREATE\_PHOTO\_POST instead. | `FACEBOOK_UPLOAD_PHOTO` | | | Upload photos batch | Uploads multiple photo files in batch to a Facebook Page or Album. | `FACEBOOK_UPLOAD_PHOTOS_BATCH` | | **Posts** | Create multi photo post | | `FACEBOOK_CREATE_MULTI_PHOTO_POST` | | | Create photo post | Creates a photo post on a Facebook Page. | `FACEBOOK_CREATE_PHOTO_POST` | | | Create post | Creates a new text or link post on a Facebook Page. | `FACEBOOK_CREATE_POST` | | | Create video post | Creates a video post on a Facebook Page. | `FACEBOOK_CREATE_VIDEO_POST` | | | Like post or comment | Adds a LIKE reaction to a Facebook post or comment. | `FACEBOOK_LIKE_POST_OR_COMMENT` | | | Publish scheduled post | Publishes a previously scheduled or unpublished Facebook post immediately. | `FACEBOOK_PUBLISH_SCHEDULED_POST` | | | Reschedule post | Changes the scheduled publish time of an unpublished Facebook post. | `FACEBOOK_RESCHEDULE_POST` | | | Unlike post or comment | Removes a like from a Facebook post or comment. | `FACEBOOK_UNLIKE_POST_OR_COMMENT` | | | Update post | Updates an existing Facebook Page post. | `FACEBOOK_UPDATE_POST` | | **Settings** | Update page settings | Updates settings for a specific Facebook Page. | `FACEBOOK_UPDATE_PAGE_SETTINGS` | | **Videos** | Upload video | DEPRECATED: Use CreateVideoPost instead. | `FACEBOOK_UPLOAD_VIDEO` | | **Other actions** | Toggle typing indicator | Shows or hides the typing indicator for a user in Messenger. | `FACEBOOK_TOGGLE_TYPING_INDICATOR` | Teammates can use 44 of the 44 Facebook actions at this level: everything in **Manage pages**, plus: * Update and delete tasks * Delete posts The 3 actions that this level adds to **Manage pages**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Posts** | Delete post | Permanently deletes a Facebook Page post. | `FACEBOOK_DELETE_POST` | | **Tasks** | Assign page task | Assigns tasks/roles to a business-scoped user or system user for a specific Facebook Page. | `FACEBOOK_ASSIGN_PAGE_TASK` | | | Remove page task | Removes a user's tasks/access from a specific Facebook Page. | `FACEBOOK_REMOVE_PAGE_TASK` | ## Connect Facebook Before you start: * You need a Facebook account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Facebook** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Facebook**. The Facebook sign-in page opens in a new tab. Sign in to Facebook and approve the request. Check that it works: Facebook shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Facebook account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Facebook account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Facebook account Click **+ Account** on the Facebook card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Facebook side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Facebook**. 3. Sign in to Facebook and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Facebook account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Facebook.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Facebook account becomes primary. ## Costs Facebook actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Facebook, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Facebook connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Facebook account has an access level: **Read-only**, **Manage pages**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Facebook card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Facebook account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Facebook.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Fathom Source: https://squad.so/docs/apps/fathom What teammates can do in Fathom with standard access, and how to connect, limit, and disconnect Fathom. Connect Fathom so your teammates can work in your Fathom account. ## Access levels Fathom has one level. The connect window shows it as **Default** and describes it as "Standard access." Teammates can use all 7 Fathom actions. You cannot choose a narrower level for Fathom. You can block single teammates with **No access** under **Per-teammate access**. The Fathom sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in, and standard access does not limit which Fathom actions teammates can use. ## What teammates can do The summary below groups the Fathom actions into plain tasks. The full list after it names every action, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open the list and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Fathom account?" The teammate can search the Fathom actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Fathom action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. * Create and delete webhooks * View meetings * View members * View recordings * View teams * View transcripts | Works on | Action | What it does | Slug | | - | - | - | - | | **Meetings** | List meetings | Retrieve a paginated list of meeting recordings for the authenticated user or organization. | `FATHOM_LIST_MEETINGS` | | **Members** | List team members | Retrieve a paginated list of all team members in the organization. | `FATHOM_LIST_TEAM_MEMBERS` | | **Recordings** | Get recording summary | Retrieve the AI-generated summary for a specific recording. | `FATHOM_GET_RECORDING_SUMMARY` | | **Teams** | List teams | Retrieve a paginated list of all teams in the organization. | `FATHOM_LIST_TEAMS` | | **Transcripts** | Get recording transcript | Retrieve the full transcript for a specific recording. | `FATHOM_GET_RECORDING_TRANSCRIPT` | | **Webhooks** | Create webhook | Create a webhook to receive new meeting content from Fathom. | `FATHOM_CREATE_WEBHOOK` | | | Delete webhook | Delete an existing webhook by its ID. | `FATHOM_DELETE_WEBHOOK` | ## Connect Fathom Before you start: * You need a Fathom account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Fathom** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, keep **Default**. It is the only option. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Fathom**. The Fathom sign-in page opens in a new tab. Sign in to Fathom and approve the request. Check that it works: Fathom shows under **Your connections**, with a row for the account and its access level. ## Set access for one teammate Every teammate can use the account unless you block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Fathom account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose **No access** to block the teammate. Choose **Default (Default)** to allow it again. 5. Click **Save access**. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Fathom account Click **+ Account** on the Fathom card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Fathom side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Fathom**. 3. Sign in to Fathom and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Fathom account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Fathom.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Fathom account becomes primary. ## Costs Fathom actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate says it has no access to Fathom, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Fathom connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions You cannot choose a narrower level for Fathom. You can block single teammates with **No access** under **Per-teammate access**. Click **+ Account** on the Fathom card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Fathom account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Fathom.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Figma Source: https://squad.so/docs/apps/figma What teammates can do in Figma at each access level, and how to connect, limit, and disconnect Figma. Connect Figma so your teammates can work in your Figma account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Figma account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as files, components, styles, comments, and versions. Cannot change anything." | 42 of 53 | | **Read + write** (recommended) | "Comment and react on files, and manage dev resources. Cannot change variables or webhooks." | 49 of 53 | | **Full access** | "Everything, including variables and webhooks." | 53 of 53 | **Read + write** is the recommended level. The connect window selects it for you, and you can choose another level. The Figma sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Figma account?" The teammate can search the Figma actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Figma action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 42 of the 53 Figma actions at this level: * View components * View styles * View usage * View files * View and run images * View and search resources * View and manage tokens * View variables * View webhooks * View comments * View interactions * View logs All 42 actions at this level: | Action | What it does | Slug | | - | - | - | | Get comments in a file | Retrieves all comments from an existing Figma file, identified by a valid file\_key, returning details like content, author, position, and reactions, with an option for Markdown formatted content. | `FIGMA_GET_COMMENTS_IN_A_FILE` | | Action | What it does | Slug | | - | - | - | | Get component | DEPRECATED: Use FIGMA\_GET\_FILE\_NODES instead. | `FIGMA_GET_COMPONENT` | | Get component set | Retrieves detailed metadata for a specific published Figma component set using its unique key. | `FIGMA_GET_COMPONENT_SET` | | Get component2 | Fetches metadata for a specific component using its unique identifier. | `FIGMA_GET_COMPONENT2` | | Get file component sets | Retrieves all published component sets from the specified Figma main file (file\_key must not be for a branch). | `FIGMA_GET_FILE_COMPONENT_SETS` | | Get file components | Retrieves published components from a Figma file, which must be a main file (not a branch) acting as a library. | `FIGMA_GET_FILE_COMPONENTS` | | Get library analytics component action data | Retrieves component insertion and detachment analytics for a specified Figma library, groupable by 'component' or 'team' and filterable by a date range (YYYY-MM-DD). | `FIGMA_GET_LIBRARY_ANALYTICS_COMPONENT_ACTION_DATA` | | Get team component sets | Retrieves a paginated list of published component sets (collections of reusable UI elements) from a specified Figma team's library. | `FIGMA_GET_TEAM_COMPONENT_SETS` | | Get team components | Retrieves components published in a specific Figma team's library. | `FIGMA_GET_TEAM_COMPONENTS` | | Action | What it does | Slug | | - | - | - | | Get file JSON | Get Figma Design file data with automatic simplification. | `FIGMA_GET_FILE_JSON` | | Get file metadata | Get Figma file metadata including name, creator, last modification details, thumbnail, and access information. | `FIGMA_GET_FILE_METADATA` | | Get file nodes | Fetch JSON for specific node IDs from a Figma file to avoid full-file payload limits. | `FIGMA_GET_FILE_NODES` | | Get files in a project | Fetches a list of files in a Figma project, optionally including branch metadata. | `FIGMA_GET_FILES_IN_A_PROJECT` | | Action | What it does | Slug | | - | - | - | | Download Figma images | Download images from Figma file nodes. | `FIGMA_DOWNLOAD_FIGMA_IMAGES` | | Get image fills | Retrieves temporary (14-day expiry) download URLs for all image fills in a Figma file. | `FIGMA_GET_IMAGE_FILLS` | | Render images of file nodes | Render Figma nodes as images (PNG, JPG, SVG, PDF). | `FIGMA_RENDER_IMAGES_OF_FILE_NODES` | | Action | What it does | Slug | | - | - | - | | Extract prototype interactions | Extract prototype interactions and animations from Figma files. | `FIGMA_EXTRACT_PROTOTYPE_INTERACTIONS` | | Action | What it does | Slug | | - | - | - | | Get activity logs | Retrieves activity log events from Figma, allowing filtering by event types, time range, and pagination. | `FIGMA_GET_ACTIVITY_LOGS` | | Action | What it does | Slug | | - | - | - | | Get payments | Retrieves a user's payment information for a Figma plugin, widget, or Community file. | `FIGMA_GET_PAYMENTS` | | Action | What it does | Slug | | - | - | - | | Get projects in a team | Retrieves projects within a specified Figma team that are visible to the authenticated user. | `FIGMA_GET_PROJECTS_IN_A_TEAM` | | Action | What it does | Slug | | - | - | - | | Get reactions for a comment | Retrieves reactions for a specific comment in a Figma file. | `FIGMA_GET_REACTIONS_FOR_A_COMMENT` | | Action | What it does | Slug | | - | - | - | | Discover Figma resources | Smart Figma resource discovery. | `FIGMA_DISCOVER_FIGMA_RESOURCES` | | Get dev resources | Retrieves development resources (e.g., Jira/GitHub links) for a Figma main file, optionally filtering by specific node IDs. | `FIGMA_GET_DEV_RESOURCES` | | Action | What it does | Slug | | - | - | - | | Get SCIM service provider config | Get Figma's SCIM service provider configuration. | `FIGMA_GET_SCIM_SERVICE_PROVIDER_CONFIG` | | Action | What it does | Slug | | - | - | - | | Get file styles | Retrieves a list of published styles (like colors, text attributes, effects, and layout grids) from a specified main Figma file (not a branch). | `FIGMA_GET_FILE_STYLES` | | Get library analytics style action data | Retrieves style usage analytics (insertions, detachments) for a Figma library, grouped by 'style' or 'team'. | `FIGMA_GET_LIBRARY_ANALYTICS_STYLE_ACTION_DATA` | | Get style | Retrieves detailed metadata for a specific style in Figma using its unique style key. | `FIGMA_GET_STYLE` | | Get team styles | Retrieves a paginated list of published styles (fill colors, text styles, effects, grids) from a specified Figma team's library. | `FIGMA_GET_TEAM_STYLES` | | Action | What it does | Slug | | - | - | - | | Design tokens to tailwind | Convert design tokens to Tailwind CSS configuration. | `FIGMA_DESIGN_TOKENS_TO_TAILWIND` | | Extract design tokens | Extract design tokens from Figma files by combining styles, variables, and node-extracted values. | `FIGMA_EXTRACT_DESIGN_TOKENS` | | Action | What it does | Slug | | - | - | - | | Get library analytics component usage data | Retrieves component usage analytics for a specified Figma library file (identified by file\_key), with data groupable by 'component' or 'file'. | `FIGMA_GET_LIBRARY_ANALYTICS_COMPONENT_USAGE_DATA` | | Get library analytics style usage data | Retrieves style usage analytics for a published Figma library. | `FIGMA_GET_LIBRARY_ANALYTICS_STYLE_USAGE_DATA` | | Get library analytics variable usage data | Retrieves paginated analytics data on variable usage from a specified Figma library, grouped by 'file' or 'variable', for libraries with enabled analytics. | `FIGMA_GET_LIBRARY_ANALYTICS_VARIABLE_USAGE_DATA` | | Action | What it does | Slug | | - | - | - | | Get current user | Retrieves detailed information for the currently authenticated Figma user. | `FIGMA_GET_CURRENT_USER` | | Action | What it does | Slug | | - | - | - | | Get library analytics variable action data | Retrieves weekly, paginated analytics data on variable insertions and detachments for a specified Figma library (identified by file\_key), groupable by 'variable' or 'team', and filterable by an optional date range. | `FIGMA_GET_LIBRARY_ANALYTICS_VARIABLE_ACTION_DATA` | | Get local variables | Retrieves all local/remote variables for a Figma file/branch. | `FIGMA_GET_LOCAL_VARIABLES` | | Get published variables | Retrieves variables published from a specified Figma file. | `FIGMA_GET_PUBLISHED_VARIABLES` | | Action | What it does | Slug | | - | - | - | | Get versions of a file | Retrieves the version history for a Figma file or branch, as specified by its file\_key. | `FIGMA_GET_VERSIONS_OF_A_FILE` | | Action | What it does | Slug | | - | - | - | | Get a webhook | Retrieves detailed information about a specific webhook by its ID, provided the webhook exists and is accessible to the user. | `FIGMA_GET_A_WEBHOOK` | | Get team webhooks | Retrieves all webhooks registered for a specified Figma context (team, project, or file). | `FIGMA_GET_TEAM_WEBHOOKS` | | Get webhook requests | Retrieves a history of webhook requests for a specific Figma webhook subscription. | `FIGMA_GET_WEBHOOK_REQUESTS` | | Action | What it does | Slug | | - | - | - | | Detect background | Detect background layers for selected nodes in a Figma file. | `FIGMA_DETECT_BACKGROUND` | Teammates can use 49 of the 53 Figma actions at this level: everything in **Read-only**, plus: * Create, update, and delete resources * Delete comments * Delete reactions The 7 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Comments** | Add a comment to a file | Posts a new comment to a Figma file or branch, optionally replying to an existing root comment (replies cannot be nested). | `FIGMA_ADD_A_COMMENT_TO_A_FILE` | | | Delete a comment | Deletes a specific comment from a Figma file or branch, provided the authenticated user is the original author of the comment. | `FIGMA_DELETE_A_COMMENT` | | **Reactions** | Add a reaction to a comment | Posts a specified emoji reaction to an existing comment in a Figma file or branch, requiring valid file\_key and comment\_id. | `FIGMA_ADD_A_REACTION_TO_A_COMMENT` | | | Delete a reaction | Deletes a specific emoji reaction from a comment in a Figma file. | `FIGMA_DELETE_A_REACTION` | | **Resources** | Create dev resources | Creates and attaches multiple uniquely-URLed development resources to specified Figma nodes, up to 10 per node. | `FIGMA_CREATE_DEV_RESOURCES` | | | Delete dev resource | Deletes a development resource (used to link Figma design elements to external developer information like code or tasks) from a specified Figma file. | `FIGMA_DELETE_DEV_RESOURCE` | | | Update dev resources | Updates the name and/or URL of one or more existing Figma Dev Resources, each identified by its unique id. | `FIGMA_UPDATE_DEV_RESOURCES` | Teammates can use 53 of the 53 Figma actions at this level: everything in **Read + write**, plus: * Create, update, and delete webhooks * Create variables The 4 actions that this level adds to **Read + write**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Variables** | Create modify delete variables | Manages variables, collections, modes, and their values in a Figma file via batch create/update/delete operations. | `FIGMA_CREATE_MODIFY_DELETE_VARIABLES` | | **Webhooks** | Create a webhook | Creates a Figma webhook to receive POST notifications when specific events occur. | `FIGMA_CREATE_A_WEBHOOK` | | | Delete a webhook | Permanently deletes an existing webhook, identified by its unique webhook\_id. | `FIGMA_DELETE_A_WEBHOOK` | | | Update a webhook | Updates an existing Figma webhook, identified by webhook\_id, allowing modification of its event type, endpoint, passcode, status, or description. | `FIGMA_UPDATE_A_WEBHOOK` | ## Connect Figma Before you start: * You need a Figma account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Figma** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Figma**. The Figma sign-in page opens in a new tab. Sign in to Figma and approve the request. Check that it works: Figma shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Figma account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Figma account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Figma account Click **+ Account** on the Figma card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Figma side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Figma**. 3. Sign in to Figma and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Figma account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Figma.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Figma account becomes primary. ## Costs Figma actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Figma, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Figma connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Figma account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Figma card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Figma account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Figma.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # FreshBooks Source: https://squad.so/docs/apps/freshbooks What teammates can do in FreshBooks with standard access, and how to connect, limit, and disconnect FreshBooks. Connect FreshBooks so your teammates can work in your FreshBooks account. ## Access levels FreshBooks has one level. The connect window shows it as **Default** and describes it as "Standard access." Teammates can use all 10 FreshBooks actions. You cannot choose a narrower level for FreshBooks. You can block single teammates with **No access** under **Per-teammate access**. The FreshBooks sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in, and standard access does not limit which FreshBooks actions teammates can use. ## What teammates can do The summary below groups the FreshBooks actions into plain tasks. The full list after it names every action, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open the list and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my FreshBooks account?" The teammate can search the FreshBooks actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the FreshBooks action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. * View, create, update, and delete webhooks * View clients * View entries * View projects * View users | Works on | Action | What it does | Slug | | - | - | - | - | | **Clients** | List clients | Retrieves all clients for a FreshBooks account. | `FRESHBOOKS_LIST_CLIENTS` | | **Entries** | List journal entries2 | Retrieves all journal entries for a FreshBooks business account. | `FRESHBOOKS_LIST_JOURNAL_ENTRIES2` | | **Projects** | List projects | Retrieves all projects associated with a FreshBooks business account. | `FRESHBOOKS_LIST_PROJECTS` | | **Users** | Get business users | Retrieves staff identities and members for a specific FreshBooks business. | `FRESHBOOKS_GET_BUSINESS_USERS` | | | Register as a new user | Register a new user account in FreshBooks. | `FRESHBOOKS_REGISTER_AS_A_NEW_USER` | | **Webhooks** | Create webhook | Register a new webhook callback for a FreshBooks account. | `FRESHBOOKS_CREATE_WEBHOOK` | | | Delete webhook | Delete a webhook callback from a FreshBooks account. | `FRESHBOOKS_DELETE_WEBHOOK` | | | List webhooks | List all webhook callbacks registered for a FreshBooks account. | `FRESHBOOKS_LIST_WEBHOOKS` | | | Update webhook | Update or verify a FreshBooks webhook callback. | `FRESHBOOKS_UPDATE_WEBHOOK` | | **Other actions** | List businesses | List all businesses associated with the authenticated user. | `FRESHBOOKS_LIST_BUSINESSES` | ## Connect FreshBooks Before you start: * You need a FreshBooks account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **FreshBooks** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, keep **Default**. It is the only option. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect FreshBooks**. The FreshBooks sign-in page opens in a new tab. Sign in to FreshBooks and approve the request. Check that it works: FreshBooks shows under **Your connections**, with a row for the account and its access level. ## Set access for one teammate Every teammate can use the account unless you block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the FreshBooks account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose **No access** to block the teammate. Choose **Default (Default)** to allow it again. 5. Click **Save access**. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one FreshBooks account Click **+ Account** on the FreshBooks card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the FreshBooks side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on FreshBooks**. 3. Sign in to FreshBooks and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the FreshBooks account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to FreshBooks.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected FreshBooks account becomes primary. ## Costs FreshBooks actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate says it has no access to FreshBooks, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the FreshBooks connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions You cannot choose a narrower level for FreshBooks. You can block single teammates with **No access** under **Per-teammate access**. Click **+ Account** on the FreshBooks card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the FreshBooks account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to FreshBooks.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # GitHub Source: https://squad.so/docs/apps/github What teammates can do in GitHub at each access level, and how to connect, limit, and disconnect GitHub. Connect GitHub so your teammates can work in your GitHub account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each GitHub account has an access level: **Read-only**, **Read + write code**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as repos, code, pull requests, issues, Actions runs, and settings. Cannot change anything." | 477 of 896 | | **Read + write code** (recommended) | "Work in repositories: code, branches, pull requests, reviews, issues, comments, labels, milestones, and releases. Cannot create repositories, run Actions, or change settings." | 577 of 896 | | **Full access** | "Everything, including repositories, settings, branch protection, Actions, webhooks, secrets, gists, and the account." | 896 of 896 | **Read + write code** is the recommended level. The connect window selects it for you, and you can choose another level. The GitHub sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my GitHub account?" The teammate can search the GitHub actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the GitHub action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 477 of the 896 GitHub actions at this level: * View and search repositories * View comments * View keys * View events * View roles and permissions * View secrets * View and search code * View and search commits * View and search users * View variables * View versions * View and search labels All 477 actions at this level: | Action | What it does | Slug | | - | - | - | | List social accounts for a user | | `GITHUB_LIST_SOCIAL_ACCOUNTS_FOR_A_USER` | | List social accounts for the authenticated user | | `GITHUB_LIST_SOCIAL_ACCOUNTS_FOR_THE_AUTHENTICATED_USER` | | Who am I | | `GITHUB_WHO_AM_I` | | Action | What it does | Slug | | - | - | - | | Get all contributor commit activity | Retrieves commit activity (total commits, weekly additions/deletions/commits) for all contributors to a repository. | `GITHUB_GET_ALL_CONTRIBUTOR_COMMIT_ACTIVITY` | | Get the last year of commit activity | Fetches weekly commit totals and daily commit counts for the last 52 weeks for a specified GitHub repository. | `GITHUB_GET_THE_LAST_YEAR_OF_COMMIT_ACTIVITY` | | Get the weekly commit activity | Fetches the weekly commit activity (additions and deletions per week) for a repository over the past year. | `GITHUB_GET_THE_WEEKLY_COMMIT_ACTIVITY` | | List repository activities | | `GITHUB_LIST_REPOSITORY_ACTIVITIES` | | Action | What it does | Slug | | - | - | - | | List email addresses for the authenticated user | Lists all email addresses for the authenticated user, including their primary status, verification status, and visibility. | `GITHUB_LIST_EMAIL_ADDRESSES_FOR_THE_AUTHENTICATED_USER` | | Action | What it does | Slug | | - | - | - | | Get code scanning alert | Retrieves a specific code scanning alert, which identifies potential code vulnerabilities or errors, by its number from the specified GitHub repository. | `GITHUB_GET_CODE_SCANNING_ALERT` | | List code scanning alerts for a repository | Lists code scanning alerts for a repository, optionally filtering by tool (which must have produced scan results for the repository), Git reference, state, or severity. | `GITHUB_LIST_CODE_SCANNING_ALERTS_FOR_A_REPOSITORY` | | List code scanning alerts for an organization | Lists code scanning alerts for a GitHub organization. | `GITHUB_LIST_CODE_SCANNING_ALERTS_FOR_AN_ORGANIZATION` | | List instances of a code scanning alert | | `GITHUB_LIST_INSTANCES_OF_A_CODE_SCANNING_ALERT` | | List repository Dependabot alerts | | `GITHUB_LIST_REPOSITORY_DEPENDABOT_ALERTS` | | Action | What it does | Slug | | - | - | - | | Get an app | Retrieves publicly available information for an existing GitHub App, identified by its unique URL-friendly app\_slug. | `GITHUB_GET_AN_APP` | | List apps with access to the protected branch | Lists GitHub Apps with push access to a repository's protected branch. | `GITHUB_LIST_APPS_WITH_ACCESS_TO_THE_PROTECTED_BRANCH` | | Action | What it does | Slug | | - | - | - | | Download an artifact | Downloads a GitHub Actions workflow artifact as a ZIP file. | `GITHUB_DOWNLOAD_AN_ARTIFACT` | | Get an artifact | Gets a specific artifact for a repository by artifact\_id. | `GITHUB_GET_AN_ARTIFACT` | | List artifacts for a repository | Lists GitHub Actions workflow artifacts for a specified repository, which must exist. | `GITHUB_LIST_ARTIFACTS_FOR_A_REPOSITORY` | | List workflow run artifacts | | `GITHUB_LIST_WORKFLOW_RUN_ARTIFACTS` | | Action | What it does | Slug | | - | - | - | | Get a release asset | Gets metadata for a specific release asset in a GitHub repository, including a browser\_download\_url for downloading the asset. | `GITHUB_GET_A_RELEASE_ASSET` | | List release assets | | `GITHUB_LIST_RELEASE_ASSETS` | | Action | What it does | Slug | | - | - | - | | List assignees | Lists users who can be assigned to issues in a repository, typically those with push access. | `GITHUB_LIST_ASSIGNEES` | | Action | What it does | Slug | | - | - | - | | Get default attributes for a codespace | Get pre-flight data (e.g., default location, devcontainer path) for creating a Codespace in a given repository (must exist and be accessible), optionally for a specific Git ref. | `GITHUB_GET_DEFAULT_ATTRIBUTES_FOR_A_CODESPACE` | | Action | What it does | Slug | | - | - | - | | Get organization audit log | Retrieve an organization's audit log events for security and compliance investigations. | `GITHUB_GET_ORGANIZATION_AUDIT_LOG` | | Action | What it does | Slug | | - | - | - | | Get admin branch protection | Checks if repository administrators are subject to the branch protection rules on a specific branch. | `GITHUB_GET_ADMIN_BRANCH_PROTECTION` | | Get branch protection | Retrieves branch protection settings for a specific, existing, and accessible branch in a GitHub repository. | `GITHUB_GET_BRANCH_PROTECTION` | | Get commit signature protection | Gets the commit signature protection status for a branch in a repository. | `GITHUB_GET_COMMIT_SIGNATURE_PROTECTION` | | Get pull request review protection | Retrieves the pull request review protection settings for a specific branch in a GitHub repository, if such protection is configured. | `GITHUB_GET_PULL_REQUEST_REVIEW_PROTECTION` | | Get status checks protection | Retrieves the status check protection settings for a specific branch in a GitHub repository, if status check protection is enabled for it. | `GITHUB_GET_STATUS_CHECKS_PROTECTION` | | List tag protection states for a repository | | `GITHUB_LIST_TAG_PROTECTION_STATES_FOR_A_REPOSITORY` | | Action | What it does | Slug | | - | - | - | | Get a branch | Retrieves detailed information for a specified branch within a GitHub repository. | `GITHUB_GET_A_BRANCH` | | List branches | Lists branches for an existing GitHub repository, with an option to filter by protection status. | `GITHUB_LIST_BRANCHES` | | List branches for head commit | Lists branches in an accessible repository where the provided commit SHA is the head, useful for identifying development lines based on that commit. | `GITHUB_LIST_BRANCHES_FOR_HEAD_COMMIT` | | Action | What it does | Slug | | - | - | - | | Get a project card | Retrieves all details of a specific project card, given its unique card\_id. | `GITHUB_GET_A_PROJECT_CARD` | | List project cards | | `GITHUB_LIST_PROJECT_CARDS` | | Action | What it does | Slug | | - | - | - | | Get catalog models | Retrieve the list of AI models available in the GitHub Models catalog. | `GITHUB_GET_CATALOG_MODELS` | | Action | What it does | Slug | | - | - | - | | List comment changes | List issue and PR comment changes across an organization's repositories efficiently. | `GITHUB_LIST_COMMENT_CHANGES` | | Action | What it does | Slug | | - | - | - | | Create inference chat completions | Create chat completions using GitHub Models inference API. | `GITHUB_CREATE_INFERENCE_CHAT_COMPLETIONS` | | Action | What it does | Slug | | - | - | - | | Get check run | Retrieves detailed information for a specific check run within a GitHub repository. | `GITHUB_GET_CHECK_RUN` | | Get check suite | Retrieves a specific check suite (a collection of check runs) by its ID from a repository accessible to the authenticated user. | `GITHUB_GET_CHECK_SUITE` | | List check run annotations | Lists annotations for a specific check run in a GitHub repository, detailing issues like errors or warnings on particular code lines. | `GITHUB_LIST_CHECK_RUN_ANNOTATIONS` | | List check runs for a ref | List GitHub check runs for a commit SHA, branch, or tag to assess CI status and conclusions. | `GITHUB_LIST_CHECK_RUNS_FOR_A_REF` | | List check runs in a check suite | Lists check runs for a specific check suite in a GitHub repository, optionally filtering by check name or status. | `GITHUB_LIST_CHECK_RUNS_IN_A_CHECK_SUITE` | | List check suites for a Git reference | Lists check suites for a Git reference (commit SHA, branch, or tag) in a repository, optionally filtering by GitHub App ID or check run name. | `GITHUB_LIST_CHECK_SUITES_FOR_A_GIT_REFERENCE` | | Action | What it does | Slug | | - | - | - | | Get a blob | Retrieves the raw, typically Base64-encoded, content of a file (blob) from a GitHub repository using its SHA hash, if the repository and blob SHA exist. | `GITHUB_GET_A_BLOB` | | Get a repository README | Fetches the README file (if it exists and is accessible) from a specified GitHub repository, returning its Base64-encoded content and metadata. | `GITHUB_GET_A_REPOSITORY_README` | | Get a repository README for a directory | Retrieves the README file from a specified directory within a GitHub repository, optionally at a given commit, branch, or tag. | `GITHUB_GET_A_REPOSITORY_README_FOR_A_DIRECTORY` | | Get a tree | Browse and list all files/directories in a GitHub repository. | `GITHUB_GET_A_TREE` | | Get code of conduct | Retrieves the full details of a specific GitHub code of conduct using its unique key. | `GITHUB_GET_CODE_OF_CONDUCT` | | Get code of conduct graph ql | Look up a code of conduct by its key using GitHub's GraphQL API. | `GITHUB_GET_CODE_OF_CONDUCT_GRAPH_QL` | | Get code scanning analysis | Retrieves detailed information for a specific code scanning analysis on an accessible repository, identified by its analysis\_id. | `GITHUB_GET_CODE_SCANNING_ANALYSIS` | | Get code scanning default setup | Gets the default setup configuration for code scanning in a repository, including state, languages, query suite, and schedule for a repository if it exists. | `GITHUB_GET_CODE_SCANNING_DEFAULT_SETUP` | | Get dependency diff | Gets the dependency diff between two Git revisions in a repository, where 'basehead' specifies the revisions and 'name' can optionally scope to a specific manifest file. | `GITHUB_GET_DEPENDENCY_DIFF` | | List code scanning analyses for a repository | Lists code scanning analyses for an existing repository, optionally filtering by tool (name or GUID), Git reference, or SARIF ID. | `GITHUB_LIST_CODE_SCANNING_ANALYSES_FOR_A_REPOSITORY` | | List codes of conduct | Retrieves all available codes of conduct from GitHub, often used to select one for a repository. | `GITHUB_LIST_CODES_OF_CONDUCT` | | List codes of conduct GraphQL | Fetch all available codes of conduct using GitHub's GraphQL API. | `GITHUB_LIST_CODES_OF_CONDUCT_GRAPHQL` | | Search code | | `GITHUB_SEARCH_CODE` | | Action | What it does | Slug | | - | - | - | | Get codespace | Call to retrieve detailed information for a codespace\_name belonging to the authenticated user, ensuring the codespace exists and is accessible. | `GITHUB_GET_CODESPACE` | | List codespaces for a user in organization | Lists all GitHub Codespaces owned by a specified member of a given organization. | `GITHUB_LIST_CODESPACES_FOR_A_USER_IN_ORGANIZATION` | | List codespaces for the authenticated user | Lists GitHub Codespaces for the authenticated user, optionally filtering by repository ID and supporting pagination. | `GITHUB_LIST_CODESPACES_FOR_THE_AUTHENTICATED_USER` | | List codespaces for the organization | Lists active/pending GitHub Codespaces for an existing organization. | `GITHUB_LIST_CODESPACES_FOR_THE_ORGANIZATION` | | List repo codespaces | | `GITHUB_LIST_REPO_CODESPACES` | | Action | What it does | Slug | | - | - | - | | Check if user is repository collaborator | Checks if a user is a collaborator on a specified GitHub repository, returning a 204 status if they are, or a 404 status if they are not or if the repository/user does not exist. | `GITHUB_CHECK_IF_USER_IS_REPOSITORY_COLLABORATOR` | | List outside collaborators for an organization | | `GITHUB_LIST_OUTSIDE_COLLABORATORS_FOR_AN_ORGANIZATION` | | List project collaborators | | `GITHUB_LIST_PROJECT_COLLABORATORS` | | List repository collaborators | | `GITHUB_LIST_REPOSITORY_COLLABORATORS` | | Action | What it does | Slug | | - | - | - | | Get a project column | Retrieves detailed information for a specific project column from GitHub Projects (classic). | `GITHUB_GET_A_PROJECT_COLUMN` | | List project columns | | `GITHUB_LIST_PROJECT_COLUMNS` | | Action | What it does | Slug | | - | - | - | | Get a review comment for a pull request | Retrieves a specific pull request review comment by its ID, provided the repository exists, is accessible, and the comment ID is valid. | `GITHUB_GET_A_REVIEW_COMMENT_FOR_A_PULL_REQUEST` | | Get an issue comment | | `GITHUB_GET_AN_ISSUE_COMMENT` | | Get commit comment | Retrieves the full details of a specific commit comment in a GitHub repository, using its unique identifier. | `GITHUB_GET_COMMIT_COMMENT` | | Get discussion comment | Fetches a specific comment from a team discussion within a specific organization. | `GITHUB_GET_DISCUSSION_COMMENT` | | Get gist comment | Retrieves a specific Gist comment by its ID and the Gist's ID. | `GITHUB_GET_GIST_COMMENT` | | Get issue comments | | `GITHUB_GET_ISSUE_COMMENTS` | | List comments for a pull request review | Lists all comments for a specific review on a GitHub pull request. | `GITHUB_LIST_COMMENTS_FOR_A_PULL_REQUEST_REVIEW` | | List commit comments | Retrieves all comments for a specific commit in a GitHub repository, supporting pagination. | `GITHUB_LIST_COMMIT_COMMENTS` | | List commit comments for a repository | Lists all commit comments for a specified repository, which must exist and be accessible. | `GITHUB_LIST_COMMIT_COMMENTS_FOR_A_REPOSITORY` | | List discussion comments | Lists all comments for a specific team discussion within an organization. | `GITHUB_LIST_DISCUSSION_COMMENTS` | | List gist comments | Lists comments for a specified GitHub Gist. | `GITHUB_LIST_GIST_COMMENTS` | | List issue comments | | `GITHUB_LIST_ISSUE_COMMENTS` | | List issue comments for a repository | | `GITHUB_LIST_ISSUE_COMMENTS_FOR_A_REPOSITORY` | | List review comments in a repository | | `GITHUB_LIST_REVIEW_COMMENTS_IN_A_REPOSITORY` | | List review comments on a pull request | | `GITHUB_LIST_REVIEW_COMMENTS_ON_A_PULL_REQUEST` | | Action | What it does | Slug | | - | - | - | | Compare two commits | Compares two commit points (commits, branches, tags, or SHAs) within a repository or across forks, using BASE...HEAD or OWNER:REF...OWNER:REF format for the basehead parameter. | `GITHUB_COMPARE_TWO_COMMITS` | | Get a commit | Retrieves a specific commit from a repository by its owner, name, and a valid commit reference (SHA, branch, or tag), supporting pagination for large diffs. | `GITHUB_GET_A_COMMIT` | | Get commit authors | Fetches commit authors identified during a repository import, used to map authors from an external VCS to GitHub accounts. | `GITHUB_GET_COMMIT_AUTHORS` | | Get commit statuses | List all statuses for a commit reference (SHA, branch, or tag) in reverse chronological order. | `GITHUB_GET_COMMIT_STATUSES` | | Get the hourly commit count for each day | Retrieves the 'punch card' data, showing hourly commit counts for each day of the week for an existing and accessible repository. | `GITHUB_GET_THE_HOURLY_COMMIT_COUNT_FOR_EACH_DAY` | | Get the weekly commit count | Retrieves the weekly commit count for a repository, detailing commits by the owner and all contributors over the last 52 weeks. | `GITHUB_GET_THE_WEEKLY_COMMIT_COUNT` | | List commits | Lists commits for a GitHub repository. | `GITHUB_LIST_COMMITS` | | List commits on a pull request | Lists commits for a pull request. | `GITHUB_LIST_COMMITS_ON_A_PULL_REQUEST` | | List gist commits | Lists all commits for a specified gist. | `GITHUB_LIST_GIST_COMMITS` | | Search commits | | `GITHUB_SEARCH_COMMITS` | | Search commits by author | | `GITHUB_SEARCH_COMMITS_BY_AUTHOR` | | Action | What it does | Slug | | - | - | - | | Get raw repository content | Fetch raw file content from a GitHub repository. | `GITHUB_GET_RAW_REPOSITORY_CONTENT` | | Get repository content | Retrieves a file's Base64 encoded content or lists a directory's contents from a GitHub repository. | `GITHUB_GET_REPOSITORY_CONTENT` | | Action | What it does | Slug | | - | - | - | | List repository contributors | | `GITHUB_LIST_REPOSITORY_CONTRIBUTORS` | | Action | What it does | Slug | | - | - | - | | Get CodeQL database | Gets an existing CodeQL database (including a download URL) for a specified language in an accessible repository, if one has been successfully built for that language. | `GITHUB_GET_CODEQL_DATABASE` | | List CodeQL databases for a repository | Lists all CodeQL databases for a repository where CodeQL analysis has been previously run and completed. | `GITHUB_LIST_CODEQL_DATABASES_FOR_A_REPOSITORY` | | Action | What it does | Slug | | - | - | - | | List issue dependencies blocked by | | `GITHUB_LIST_ISSUE_DEPENDENCIES_BLOCKED_BY` | | List issue dependencies blocking | | `GITHUB_LIST_ISSUE_DEPENDENCIES_BLOCKING` | | Action | What it does | Slug | | - | - | - | | Get deployment | Gets a specific deployment by ID from a repository, provided the repository and deployment ID exist. | `GITHUB_GET_DEPLOYMENT` | | Get deployment status | Retrieves a specific deployment status by its ID for a given deployment within a GitHub repository. | `GITHUB_GET_DEPLOYMENT_STATUS` | | Get pending deployments for a workflow run | Retrieves pending deployment environments for a specific workflow run that are awaiting approval due to protection rules. | `GITHUB_GET_PENDING_DEPLOYMENTS_FOR_A_WORKFLOW_RUN` | | Get the status of a GitHub pages deployment | Retrieves the status of a specific GitHub Pages deployment for a repository, which must have GitHub Pages enabled. | `GITHUB_GET_THE_STATUS_OF_A_GITHUB_PAGES_DEPLOYMENT` | | List deployment statuses | Lists all statuses for a given deployment in a repository. | `GITHUB_LIST_DEPLOYMENT_STATUSES` | | List deployments | Lists deployments for a specified repository. | `GITHUB_LIST_DEPLOYMENTS` | | Action | What it does | Slug | | - | - | - | | Get discussion | Fetches a specific discussion by its number from a team within an organization. | `GITHUB_GET_DISCUSSION` | | List discussions | Lists discussions for a specific team within an organization, with options for sorting, pagination, and filtering by pinned status. | `GITHUB_LIST_DISCUSSIONS` | | Action | What it does | Slug | | - | - | - | | Render a markdown document | | `GITHUB_RENDER_A_MARKDOWN_DOCUMENT` | | Action | What it does | Slug | | - | - | - | | Get pages DNS health check | Retrieves the DNS health check status (e.g., CNAME/A records, HTTPS) for a GitHub Pages site. | `GITHUB_GET_PAGES_DNS_HEALTH_CHECK` | | Action | What it does | Slug | | - | - | - | | List public emails for auth user | | `GITHUB_LIST_PUBLIC_EMAILS_FOR_AUTH_USER` | | Action | What it does | Slug | | - | - | - | | Get an environment | Retrieves the details of a specific deployment environment for a given repository, including its name, configurations, and current status. | `GITHUB_GET_AN_ENVIRONMENT` | | List environments | Retrieves all deployment environments for a specified repository, which are used to configure protection rules and secrets for different software lifecycle stages. | `GITHUB_LIST_ENVIRONMENTS` | | Action | What it does | Slug | | - | - | - | | List codeowners errors | Lists syntax errors in a repository's CODEOWNERS file, which must be located at the root, .github/, or docs/ directory for the specified ref. | `GITHUB_LIST_CODEOWNERS_ERRORS` | | Action | What it does | Slug | | - | - | - | | Get an issue event | Fetches details of a specific issue event for a given repository and event ID. | `GITHUB_GET_AN_ISSUE_EVENT` | | List events for the authenticated user | Lists public events for the specified GitHub user, or private events if authenticated as that user, in reverse chronological order. | `GITHUB_LIST_EVENTS_FOR_THE_AUTHENTICATED_USER` | | List events for user | | `GITHUB_LIST_EVENTS_FOR_USER` | | List events received by the authenticated user | Lists events a specific GitHub user received from followed users and watched repositories. | `GITHUB_LIST_EVENTS_RECEIVED_BY_THE_AUTHENTICATED_USER` | | List issue events | | `GITHUB_LIST_ISSUE_EVENTS` | | List issue events for a repository | | `GITHUB_LIST_ISSUE_EVENTS_FOR_A_REPOSITORY` | | List organization events for the authenticated user | | `GITHUB_LIST_ORGANIZATION_EVENTS_FOR_THE_AUTHENTICATED_USER` | | List public events | | `GITHUB_LIST_PUBLIC_EVENTS` | | List public events for a network of repositories | | `GITHUB_LIST_PUBLIC_EVENTS_FOR_A_NETWORK_OF_REPOSITORIES` | | List public events for a user | | `GITHUB_LIST_PUBLIC_EVENTS_FOR_A_USER` | | List public events received by a user | | `GITHUB_LIST_PUBLIC_EVENTS_RECEIVED_BY_A_USER` | | List public organization events | | `GITHUB_LIST_PUBLIC_ORGANIZATION_EVENTS` | | List repository events | | `GITHUB_LIST_REPOSITORY_EVENTS` | | List timeline events for an issue | | `GITHUB_LIST_TIMELINE_EVENTS_FOR_AN_ISSUE` | | Action | What it does | Slug | | - | - | - | | Get details about a codespace export | Retrieves detailed information about a specific export of a codespace. | `GITHUB_GET_DETAILS_ABOUT_A_CODESPACE_EXPORT` | | Action | What it does | Slug | | - | - | - | | List project fields for user | | `GITHUB_LIST_PROJECT_FIELDS_FOR_USER` | | Action | What it does | Slug | | - | - | - | | Get information about a SARIF upload | Retrieves detailed information, including processing status and results URL, about a specific SARIF (Static Analysis Results Interchange Format) upload for a repository, uniquely identified by its sarif\_id. | `GITHUB_GET_INFORMATION_ABOUT_A_SARIF_UPLOAD` | | Get large files | Lists files larger than 100MB identified during a previous source import for the specified repository. | `GITHUB_GET_LARGE_FILES` | | List pull requests files | | `GITHUB_LIST_PULL_REQUESTS_FILES` | | Action | What it does | Slug | | - | - | - | | Check following | | `GITHUB_CHECK_FOLLOWING` | | List followers of a user | Lists followers for a specified, existing GitHub user. | `GITHUB_LIST_FOLLOWERS_OF_A_USER` | | List followers of the authenticated user | Lists users following the authenticated GitHub user, returning an empty list if the user has no followers. | `GITHUB_LIST_FOLLOWERS_OF_THE_AUTHENTICATED_USER` | | List following for user | | `GITHUB_LIST_FOLLOWING_FOR_USER` | | Action | What it does | Slug | | - | - | - | | List forks | Lists forks for a specified repository, which must exist, with options for sorting and pagination. | `GITHUB_LIST_FORKS` | | List gist forks | Lists all forks for a given GitHub gist ID. | `GITHUB_LIST_GIST_FORKS` | | Action | What it does | Slug | | - | - | - | | Check if gist is starred | Checks if a gist is starred by the authenticated user. | `GITHUB_CHECK_IF_GIST_IS_STARRED` | | Get gist | Fetches a specific GitHub gist by its gist\_id, returning comprehensive details if the gist exists. | `GITHUB_GET_GIST` | | List gists for a user | | `GITHUB_LIST_GISTS_FOR_A_USER` | | List gists for the authenticated user | | `GITHUB_LIST_GISTS_FOR_THE_AUTHENTICATED_USER` | | List public gists | | `GITHUB_LIST_PUBLIC_GISTS` | | List starred gists | | `GITHUB_LIST_STARRED_GISTS` | | Action | What it does | Slug | | - | - | - | | Get the review history for a workflow run | Retrieves the detailed approval history for a specific workflow run in a GitHub repository, detailing each review's environment, state, reviewer, and comments, to track the approval process for workflows, particularly automated deployments. | `GITHUB_GET_THE_REVIEW_HISTORY_FOR_A_WORKFLOW_RUN` | | Action | What it does | Slug | | - | - | - | | List app installations | Lists GitHub App installations accessible to the authenticated user via their access token, including installation details, permissions, and repository access. | `GITHUB_LIST_APP_INSTALLATIONS` | | List installation requests for the authenticated app | | `GITHUB_LIST_INSTALLATION_REQUESTS_FOR_THE_AUTHENTICATED_APP` | | Action | What it does | Slug | | - | - | - | | Get interaction restrictions for a repository | Retrieves active interaction restrictions for a repository, detailing which user groups are limited from activities like commenting or creating pull requests, and when these restrictions expire. | `GITHUB_GET_INTERACTION_RESTRICTIONS_FOR_A_REPOSITORY` | | Get interaction restrictions for an organization | Retrieves interaction restrictions for an organization, showing which GitHub user types can interact with its public repositories and when restrictions expire. | `GITHUB_GET_INTERACTION_RESTRICTIONS_FOR_AN_ORGANIZATION` | | Get interaction restrictions for public repos | Retrieves currently active interaction restrictions for the authenticated user's public repositories. | `GITHUB_GET_INTERACTION_RESTRICTIONS_FOR_PUBLIC_REPOS` | | Action | What it does | Slug | | - | - | - | | Get enterprise member invitation | Look up a pending enterprise unaffiliated member invitation by invitee and enterprise. | `GITHUB_GET_ENTERPRISE_MEMBER_INVITATION` | | List pending team invitations | | `GITHUB_LIST_PENDING_TEAM_INVITATIONS` | | List repo invitations for auth user | | `GITHUB_LIST_REPO_INVITATIONS_FOR_AUTH_USER` | | List repository invitations | | `GITHUB_LIST_REPOSITORY_INVITATIONS` | | Lookup enterprise administrator invitation | | `GITHUB_LOOKUP_ENTERPRISE_ADMINISTRATOR_INVITATION` | | Action | What it does | Slug | | - | - | - | | Get an issue | Retrieves detailed information about a specific issue in a repository using the owner, repository name, and issue number. | `GITHUB_GET_AN_ISSUE` | | List issues assigned to the authenticated user | | `GITHUB_LIST_ISSUES_ASSIGNED_TO_THE_AUTHENTICATED_USER` | | List org issues for the authenticated user | | `GITHUB_LIST_ORG_ISSUES_FOR_THE_AUTHENTICATED_USER` | | List repository issues | | `GITHUB_LIST_REPOSITORY_ISSUES` | | List sub issues | | `GITHUB_LIST_SUB_ISSUES` | | Search issues | | `GITHUB_SEARCH_ISSUES` | | Search issues and pull requests | | `GITHUB_SEARCH_ISSUES_AND_PULL_REQUESTS` | | Action | What it does | Slug | | - | - | - | | Get organization project item | Get an item from an organization-owned GitHub Projects V2 project. | `GITHUB_GET_ORGANIZATION_PROJECT_ITEM` | | Get user project item | Get an item from a user-owned project in GitHub Projects V2. | `GITHUB_GET_USER_PROJECT_ITEM` | | List org project view items | | `GITHUB_LIST_ORG_PROJECT_VIEW_ITEMS` | | List project items for user | | `GITHUB_LIST_PROJECT_ITEMS_FOR_USER` | | List project view items for user | | `GITHUB_LIST_PROJECT_VIEW_ITEMS_FOR_USER` | | Action | What it does | Slug | | - | - | - | | Get workflow run job | Retrieves detailed information for a specific job within a GitHub Actions workflow run, given its job\_id which must be valid for the specified repository's workflow. | `GITHUB_GET_WORKFLOW_RUN_JOB` | | List jobs for a workflow run | | `GITHUB_LIST_JOBS_FOR_A_WORKFLOW_RUN` | | List jobs for a workflow run attempt | | `GITHUB_LIST_JOBS_FOR_A_WORKFLOW_RUN_ATTEMPT` | | Action | What it does | Slug | | - | - | - | | Get a repository public key | Gets a repository's public key for encrypting secrets to be used in GitHub Actions, if the repository exists and is accessible. | `GITHUB_GET_A_REPOSITORY_PUBLIC_KEY` | | Get an environment public key | Retrieves the public key for a specified GitHub repository environment, used to encrypt secrets for GitHub Actions. | `GITHUB_GET_AN_ENVIRONMENT_PUBLIC_KEY` | | Get an organization public key | Action for GetAnOrganizationPublicKey. | `GITHUB_GET_AN_ORGANIZATION_PUBLIC_KEY` | | Get deploy key | Gets a specific deploy key, identified by its key\_id, for the GitHub repository specified by owner and repo. | `GITHUB_GET_DEPLOY_KEY` | | Get organization public key | Retrieves an organization's public key, which must be used to encrypt secret values before they are configured for Codespaces. | `GITHUB_GET_ORGANIZATION_PUBLIC_KEY` | | Get organization public key for Dependabot | Retrieves the public key for an existing GitHub organization, required for encrypting Dependabot secrets. | `GITHUB_GET_ORGANIZATION_PUBLIC_KEY_FOR_DEPENDABOT` | | Get public key for secret encryption | Retrieves a repository's public key for encrypting GitHub Codespaces secrets. | `GITHUB_GET_PUBLIC_KEY_FOR_SECRET_ENCRYPTION` | | Get public key for the authenticated user | Retrieves the authenticated user's public key for encrypting GitHub Codespaces secrets. | `GITHUB_GET_PUBLIC_KEY_FOR_THE_AUTHENTICATED_USER` | | Get repository public key for encryption | Gets a repository's public key, used to encrypt secrets for Dependabot. | `GITHUB_GET_REPOSITORY_PUBLIC_KEY_FOR_ENCRYPTION` | | List deploy keys | Lists deploy SSH keys for a specified repository. | `GITHUB_LIST_DEPLOY_KEYS` | | List GPG keys for a user | | `GITHUB_LIST_GPG_KEYS_FOR_A_USER` | | List public keys for a user | | `GITHUB_LIST_PUBLIC_KEYS_FOR_A_USER` | | List SSH signing keys for a user | | `GITHUB_LIST_SSH_SIGNING_KEYS_FOR_A_USER` | | Action | What it does | Slug | | - | - | - | | Get label | Retrieves a specific label by its name from a specified GitHub repository. | `GITHUB_GET_LABEL` | | List labels for a repository | | `GITHUB_LIST_LABELS_FOR_A_REPOSITORY` | | List labels for a self hosted runner for a repository | | `GITHUB_LIST_LABELS_FOR_A_SELF_HOSTED_RUNNER_FOR_A_REPOSITORY` | | List labels for an issue | | `GITHUB_LIST_LABELS_FOR_AN_ISSUE` | | List labels for issues in a milestone | | `GITHUB_LIST_LABELS_FOR_ISSUES_IN_A_MILESTONE` | | List labels for self hosted runner org | | `GITHUB_LIST_LABELS_FOR_SELF_HOSTED_RUNNER_ORG` | | Search labels | | `GITHUB_SEARCH_LABELS` | | Action | What it does | Slug | | - | - | - | | List repository languages | | `GITHUB_LIST_REPOSITORY_LANGUAGES` | | Action | What it does | Slug | | - | - | - | | Get license | Retrieve comprehensive details for a specific software license recognized by GitHub, using its unique license key. | `GITHUB_GET_LICENSE` | | Get license graph ql | Look up an open source license by its SPDX ID using GitHub's GraphQL API. | `GITHUB_GET_LICENSE_GRAPH_QL` | | Get the license for a repository | Retrieves the license file and its details for a repository, optionally from a specific Git reference (branch, tag, or commit SHA). | `GITHUB_GET_THE_LICENSE_FOR_A_REPOSITORY` | | List commonly used licenses | Retrieves a list of commonly used software licenses from GitHub, optionally filtering for 'featured' licenses whose specific selection criteria by GitHub may vary. | `GITHUB_LIST_COMMONLY_USED_LICENSES` | | List licenses graph ql | | `GITHUB_LIST_LICENSES_GRAPH_QL` | | Action | What it does | Slug | | - | - | - | | Download job logs for a workflow run | Downloads logs for a specific job in a GitHub Actions workflow run, contingent on the repository's existence and the job ID being valid and having produced logs. | `GITHUB_DOWNLOAD_JOB_LOGS_FOR_A_WORKFLOW_RUN` | | Download workflow run attempt logs | Downloads a ZIP archive of logs for a specific workflow run attempt. | `GITHUB_DOWNLOAD_WORKFLOW_RUN_ATTEMPT_LOGS` | | Download workflow run logs | Downloads logs for a specific GitHub Actions workflow run as a ZIP archive containing log files for each job in the workflow. | `GITHUB_DOWNLOAD_WORKFLOW_RUN_LOGS` | | Action | What it does | Slug | | - | - | - | | Check public organization membership for user | Check if a user is a public member of an organization. | `GITHUB_CHECK_PUBLIC_ORGANIZATION_MEMBERSHIP_FOR_USER` | | Get team members | | `GITHUB_GET_TEAM_MEMBERS` | | Get team membership for a user | Retrieves a user's role and membership status within a specific team in an organization. | `GITHUB_GET_TEAM_MEMBERSHIP_FOR_A_USER` | | List organization members | | `GITHUB_LIST_ORGANIZATION_MEMBERS` | | List organization memberships for the authenticated u | | `GITHUB_LIST_ORGANIZATION_MEMBERSHIPS_FOR_THE_AUTHENTICATED_U` | | List public organization members | | `GITHUB_LIST_PUBLIC_ORGANIZATION_MEMBERS` | | List team members | | `GITHUB_LIST_TEAM_MEMBERS` | | Action | What it does | Slug | | - | - | - | | Get a milestone | Retrieves detailed information for a specific milestone within a GitHub repository by its number. | `GITHUB_GET_A_MILESTONE` | | List milestones | | `GITHUB_LIST_MILESTONES` | | Action | What it does | Slug | | - | - | - | | Generate release notes | Generates Markdown release notes content (listing changes, pull requests, and contributors) for a GitHub repository release, customizable via tags and a configuration file. | `GITHUB_GENERATE_RELEASE_NOTES` | | Action | What it does | Slug | | - | - | - | | List notifications | | `GITHUB_LIST_NOTIFICATIONS` | | List notifications for the authenticated user | | `GITHUB_LIST_NOTIFICATIONS_FOR_THE_AUTHENTICATED_USER` | | List repo notifications for auth user | | `GITHUB_LIST_REPO_NOTIFICATIONS_FOR_AUTH_USER` | | Action | What it does | Slug | | - | - | - | | Get commit object | Retrieves detailed information (including author, committer, message, tree, parents, verification) for a specific commit in a GitHub repository, identified by its SHA. | `GITHUB_GET_COMMIT_OBJECT` | | Action | What it does | Slug | | - | - | - | | Get an organization | | `GITHUB_GET_AN_ORGANIZATION` | | Get org allowed actions | Gets the list of allowed actions and reusable workflows for an organization when the 'allowed\_actions' policy is set to 'selected'. | `GITHUB_GET_ORG_ALLOWED_ACTIONS` | | List organizations | | `GITHUB_LIST_ORGANIZATIONS` | | List organizations for a user | | `GITHUB_LIST_ORGANIZATIONS_FOR_A_USER` | | List organizations for the authenticated user | | `GITHUB_LIST_ORGANIZATIONS_FOR_THE_AUTHENTICATED_USER` | | List organizations for user | | `GITHUB_LIST_ORGANIZATIONS_FOR_USER` | | Lookup organization graph ql | | `GITHUB_LOOKUP_ORGANIZATION_GRAPH_QL` | | Action | What it does | Slug | | - | - | - | | Get repository owner | Lookup a repository owner (User or Organization) by login using GitHub's GraphQL API. | `GITHUB_GET_REPOSITORY_OWNER` | | Action | What it does | Slug | | - | - | - | | Auth user docker conflict packages list | List Docker packages with migration conflicts for the authenticated user. | `GITHUB_AUTH_USER_DOCKER_CONFLICT_PACKAGES_LIST` | | Get a package for a user | Retrieves metadata for a specific package owned by a GitHub user, using package type, name, and username as identifiers. | `GITHUB_GET_A_PACKAGE_FOR_A_USER` | | Get a package for an organization | Retrieves a specific package (by type and name) from an organization, if both the package and organization exist. | `GITHUB_GET_A_PACKAGE_FOR_AN_ORGANIZATION` | | Get a package for the authenticated user | Retrieves detailed information for a specific package owned by the authenticated user. | `GITHUB_GET_A_PACKAGE_FOR_THE_AUTHENTICATED_USER` | | List packages for a user | | `GITHUB_LIST_PACKAGES_FOR_A_USER` | | List packages for an organization | | `GITHUB_LIST_PACKAGES_FOR_AN_ORGANIZATION` | | List packages for the authenticated user | | `GITHUB_LIST_PACKAGES_FOR_THE_AUTHENTICATED_USER` | | Action | What it does | Slug | | - | - | - | | Get GitHub pages build | Retrieves detailed information about a specific GitHub Pages build for a repository, which must have GitHub Pages enabled. | `GITHUB_GET_GITHUB_PAGES_BUILD` | | Get latest pages build | Retrieves information about the most recent GitHub Pages build for a repository, which must exist, be accessible, have GitHub Pages enabled, and have at least one prior build. | `GITHUB_GET_LATEST_PAGES_BUILD` | | List GitHub pages builds | | `GITHUB_LIST_GITHUB_PAGES_BUILDS` | | Search code all pages | | `GITHUB_SEARCH_CODE_ALL_PAGES` | | Action | What it does | Slug | | - | - | - | | Check person followed by auth user | Checks if the authenticated GitHub user follows a target GitHub user. | `GITHUB_CHECK_PERSON_FOLLOWED_BY_AUTH_USER` | | Action | What it does | Slug | | - | - | - | | Get deployment branch policy | Retrieves a specific deployment branch policy for an environment in a repository, identified by its unique ID. | `GITHUB_GET_DEPLOYMENT_BRANCH_POLICY` | | List deployment branch policies | Lists all deployment branch policies for a specified environment in a GitHub repository. | `GITHUB_LIST_DEPLOYMENT_BRANCH_POLICIES` | | Action | What it does | Slug | | - | - | - | | Get a project | Retrieves detailed information for a specific GitHub project (V2) using its project number and owner. | `GITHUB_GET_A_PROJECT` | | Get users projects v2 | List GitHub Projects v2 for a specified user. | `GITHUB_GET_USERS_PROJECTS_V2` | | List organization projects | | `GITHUB_LIST_ORGANIZATION_PROJECTS` | | List repository projects | | `GITHUB_LIST_REPOSITORY_PROJECTS` | | List team projects | | `GITHUB_LIST_TEAM_PROJECTS` | | List user projects | | `GITHUB_LIST_USER_PROJECTS` | | Action | What it does | Slug | | - | - | - | | Get organization custom property | Retrieves the definition (schema) of a specific, existing custom property for an organization. | `GITHUB_GET_ORGANIZATION_CUSTOM_PROPERTY` | | List custom properties for an organization | Gets the schema definitions for all custom properties configured for an organization, not the specific values assigned to repositories. | `GITHUB_LIST_CUSTOM_PROPERTIES_FOR_AN_ORGANIZATION` | | List custom property values for a repository | Gets all custom property values for a repository. | `GITHUB_LIST_CUSTOM_PROPERTY_VALUES_FOR_A_REPOSITORY` | | List custom property values for org repos | Lists repositories in an organization with their custom property values. | `GITHUB_LIST_CUSTOM_PROPERTY_VALUES_FOR_ORG_REPOS` | | Action | What it does | Slug | | - | - | - | | Check if pull request has been merged | Checks if a specified GitHub pull request has been merged, indicated by a 204 HTTP status (merged) or 404 (not merged/found). | `GITHUB_CHECK_IF_PULL_REQUEST_HAS_BEEN_MERGED` | | Check if pull request merged | | `GITHUB_CHECK_IF_PULL_REQUEST_MERGED` | | Find pull requests | Primary tool to find and search pull requests. | `GITHUB_FIND_PULL_REQUESTS` | | Get a pull request | Retrieves a specific pull request from a GitHub repository using its owner, repository name, and pull request number. | `GITHUB_GET_A_PULL_REQUEST` | | Get pull requests | | `GITHUB_GET_PULL_REQUESTS` | | List pull requests | | `GITHUB_LIST_PULL_REQUESTS` | | List pull requests associated with a commit | | `GITHUB_LIST_PULL_REQUESTS_ASSOCIATED_WITH_A_COMMIT` | | Action | What it does | Slug | | - | - | - | | List reactions for a commit comment | | `GITHUB_LIST_REACTIONS_FOR_A_COMMIT_COMMENT` | | List reactions for a pull request review comment | | `GITHUB_LIST_REACTIONS_FOR_A_PULL_REQUEST_REVIEW_COMMENT` | | List reactions for a release | | `GITHUB_LIST_REACTIONS_FOR_A_RELEASE` | | List reactions for a team discussion | | `GITHUB_LIST_REACTIONS_FOR_A_TEAM_DISCUSSION` | | List reactions for a team discussion comment | | `GITHUB_LIST_REACTIONS_FOR_A_TEAM_DISCUSSION_COMMENT` | | List reactions for an issue | | `GITHUB_LIST_REACTIONS_FOR_AN_ISSUE` | | List reactions for an issue comment | | `GITHUB_LIST_REACTIONS_FOR_AN_ISSUE_COMMENT` | | Action | What it does | Slug | | - | - | - | | Get a release | Gets a specific release from a GitHub repository, provided the repository is accessible and the release exists. | `GITHUB_GET_A_RELEASE` | | Get a release by tag name | Gets a release from a GitHub repository by its tag name. | `GITHUB_GET_A_RELEASE_BY_TAG_NAME` | | Get the latest release | Fetches the latest official (non-prerelease, non-draft) release for a GitHub repository. | `GITHUB_GET_THE_LATEST_RELEASE` | | List releases | | `GITHUB_LIST_RELEASES` | | Action | What it does | Slug | | - | - | - | | Get community profile metrics | Retrieves a repository's community profile metrics, including health percentage and the presence of key community files (e.g., README, LICENSE). | `GITHUB_GET_COMMUNITY_PROFILE_METRICS` | | Action | What it does | Slug | | - | - | - | | Check if repo starred by auth user | | `GITHUB_CHECK_IF_REPO_STARRED_BY_AUTH_USER` | | Check repository starred | | `GITHUB_CHECK_REPOSITORY_STARRED` | | Download a repository archive tar | Downloads a repository's source code as a tarball (.tar.gz) archive for a specific Git reference, if the repository is accessible. | `GITHUB_DOWNLOAD_A_REPOSITORY_ARCHIVE_TAR` | | Download a repository archive ZIP | Downloads a repository's source code as a ZIP archive for a specific Git reference (branch, tag, or commit SHA). | `GITHUB_DOWNLOAD_A_REPOSITORY_ARCHIVE_ZIP` | | Export sbom for repo | Exports the software bill of materials (SBOM) in SPDX JSON format for a repository, if its dependency graph is enabled and it has at least one commit. | `GITHUB_EXPORT_SBOM_FOR_REPO` | | Find repositories | AI-optimized repository search with smart filtering by language, stars, topics, and ownership. | `GITHUB_FIND_REPOSITORIES` | | Get a repository | Retrieves detailed information about an existing and accessible GitHub repository. | `GITHUB_GET_A_REPOSITORY` | | Get an autolink reference of a repository | Retrieves a specific autolink reference (which automatically hyperlinks text like 'JIRA-123' to an external system) for a repository using its unique ID. | `GITHUB_GET_AN_AUTOLINK_REFERENCE_OF_A_REPOSITORY` | | Get repo allowed actions | Gets the settings for allowed actions and reusable workflows in a repository. | `GITHUB_GET_REPO_ALLOWED_ACTIONS` | | Get repos attestations | Retrieve attestations by subject digest from a GitHub repository. | `GITHUB_GET_REPOS_ATTESTATIONS` | | Get repository clones | Retrieves the total number of clones and a breakdown of clone activity (daily or weekly) for a specified repository over the preceding 14 days. | `GITHUB_GET_REPOSITORY_CLONES` | | Get repository graph ql | Lookup a repository by owner and name using GitHub's GraphQL API. | `GITHUB_GET_REPOSITORY_GRAPH_QL` | | Is repository starred by the user | Use to determine if the authenticated user has starred a specific GitHub repository, which is confirmed by an HTTP 204 status (resulting in an empty dictionary in the response data). | `GITHUB_IS_REPOSITORY_STARRED_BY_THE_USER` | | List accessible repositories | Lists repositories that the authenticated user can access through a specific GitHub App installation. | `GITHUB_LIST_ACCESSIBLE_REPOSITORIES` | | List attestation repositories | List attestation repositories for an organization. | `GITHUB_LIST_ATTESTATION_REPOSITORIES` | | List GitHub actions caches for a repository | | `GITHUB_LIST_GITHUB_ACTIONS_CACHES_FOR_A_REPOSITORY` | | List org repos with GitHub actions enabled | | `GITHUB_LIST_ORG_REPOS_WITH_GITHUB_ACTIONS_ENABLED` | | List organization repositories | | `GITHUB_LIST_ORGANIZATION_REPOSITORIES` | | List public repositories | | `GITHUB_LIST_PUBLIC_REPOSITORIES` | | List repo access by token | | `GITHUB_LIST_REPO_ACCESS_BY_TOKEN` | | List repositories | | `GITHUB_LIST_REPOSITORIES` | | List repositories accessible to the app installation | | `GITHUB_LIST_REPOSITORIES_ACCESSIBLE_TO_THE_APP_INSTALLATION` | | List repositories for a user | | `GITHUB_LIST_REPOSITORIES_FOR_A_USER` | | List repositories for the authenticated user | | `GITHUB_LIST_REPOSITORIES_FOR_THE_AUTHENTICATED_USER` | | List repositories starred by a user | | `GITHUB_LIST_REPOSITORIES_STARRED_BY_A_USER` | | List repositories starred by the authenticated user | | `GITHUB_LIST_REPOSITORIES_STARRED_BY_THE_AUTHENTICATED_USER` | | List repositories watched by a user | | `GITHUB_LIST_REPOSITORIES_WATCHED_BY_A_USER` | | List repositories watched by the authenticated user | | `GITHUB_LIST_REPOSITORIES_WATCHED_BY_THE_AUTHENTICATED_USER` | | List repositories with GitHub actions cache usage | | `GITHUB_LIST_REPOSITORIES_WITH_GITHUB_ACTIONS_CACHE_USAGE` | | List repository autolinks | | `GITHUB_LIST_REPOSITORY_AUTOLINKS` | | List repository topics | | `GITHUB_LIST_REPOSITORY_TOPICS` | | List selected repositories for a user secret | | `GITHUB_LIST_SELECTED_REPOSITORIES_FOR_A_USER_SECRET` | | List selected repositories for an organization secret | | `GITHUB_LIST_SELECTED_REPOSITORIES_FOR_AN_ORGANIZATION_SECRET` | | List selected repositories for secret access | | `GITHUB_LIST_SELECTED_REPOSITORIES_FOR_SECRET_ACCESS` | | List starred repositories for user | | `GITHUB_LIST_STARRED_REPOSITORIES_FOR_USER` | | List team repositories | | `GITHUB_LIST_TEAM_REPOSITORIES` | | List token access repositories | | `GITHUB_LIST_TOKEN_ACCESS_REPOSITORIES` | | Search repositories | | `GITHUB_SEARCH_REPOSITORIES` | | Action | What it does | Slug | | - | - | - | | List org resources with personal tokens | | `GITHUB_LIST_ORG_RESOURCES_WITH_PERSONAL_TOKENS` | | Lookup GitHub resource | | `GITHUB_LOOKUP_GITHUB_RESOURCE` | | Action | What it does | Slug | | - | - | - | | List requested reviewers for a pull request | | `GITHUB_LIST_REQUESTED_REVIEWERS_FOR_A_PULL_REQUEST` | | Action | What it does | Slug | | - | - | - | | Get a review for a pull request | Retrieves a specific review for a pull request using its owner, repository, pull request number, and review ID. | `GITHUB_GET_A_REVIEW_FOR_A_PULL_REQUEST` | | List reviews for a pull request | | `GITHUB_LIST_REVIEWS_FOR_A_PULL_REQUEST` | | Action | What it does | Slug | | - | - | - | | Check team permissions for a project | Checks if a team has 'read', 'write', or 'admin' permissions for an organization's specific classic project, returning the project's details if access is confirmed. | `GITHUB_CHECK_TEAM_PERMISSIONS_FOR_A_PROJECT` | | Check team permissions for a repository | Checks a team's permissions for a specific repository within an organization, including permissions inherited from parent teams. | `GITHUB_CHECK_TEAM_PERMISSIONS_FOR_A_REPOSITORY` | | Get an organization role | Retrieves a specific GitHub organization role by its ID. | `GITHUB_GET_AN_ORGANIZATION_ROLE` | | Get default workflow permissions for a repository | Gets the default workflow permissions (read or write) for the GITHUB\_TOKEN and whether it can approve pull request reviews in an existing and accessible repository. | `GITHUB_GET_DEFAULT_WORKFLOW_PERMISSIONS_FOR_A_REPOSITORY` | | Get default workflow permissions for an organization | Gets the default GITHUB\_TOKEN workflow permissions and settings for a GitHub organization. | `GITHUB_GET_DEFAULT_WORKFLOW_PERMISSIONS_FOR_AN_ORGANIZATION` | | Get GitHub actions permissions for a repository | Gets the GitHub Actions permissions policy for a repository, including its enabled status and the scope of allowed actions. | `GITHUB_GET_GITHUB_ACTIONS_PERMISSIONS_FOR_A_REPOSITORY` | | Get GitHub actions permissions for an organization | Gets the GitHub Actions permissions for a specified organization, detailing repository enablement and allowed actions policies. | `GITHUB_GET_GITHUB_ACTIONS_PERMISSIONS_FOR_AN_ORGANIZATION` | | Get project permission for a user | Retrieves permission information for a GitHub project (classic) collaborator. | `GITHUB_GET_PROJECT_PERMISSION_FOR_A_USER` | | Get repository permissions for a user | Retrieves a specific user's permission level ('admin', 'write', 'read', or 'none') for a given repository, where 'maintain' role is reported as 'write' and 'triage' as 'read'. | `GITHUB_GET_REPOSITORY_PERMISSIONS_FOR_A_USER` | | List org fine grained permissions | | `GITHUB_LIST_ORG_FINE_GRAINED_PERMISSIONS` | | List organization roles for an organization | | `GITHUB_LIST_ORGANIZATION_ROLES_FOR_AN_ORGANIZATION` | | Verify dev container permissions accepted | | `GITHUB_VERIFY_DEV_CONTAINER_PERMISSIONS_ACCEPTED` | | Action | What it does | Slug | | - | - | - | | Get a repository rule suite | Gets detailed information for a specific repository rule suite by its ID, including its evaluation status and the results of its individual rules. | `GITHUB_GET_A_REPOSITORY_RULE_SUITE` | | Get all deployment protection rules for env | Lists all enabled custom deployment protection rules for a specific environment in a repository. | `GITHUB_GET_ALL_DEPLOYMENT_PROTECTION_RULES_FOR_ENV` | | Get custom deployment protection rule | Retrieves a specific custom deployment protection rule (used by GitHub Apps for external validation or manual approval of deployments) for a given environment in a repository. | `GITHUB_GET_CUSTOM_DEPLOYMENT_PROTECTION_RULE` | | Get rules for a branch | Retrieves all active rules for a specific branch in a GitHub repository, excluding rules in 'evaluate' or 'disabled' status. | `GITHUB_GET_RULES_FOR_A_BRANCH` | | List environment custom deployment rules | Lists all custom deployment protection rule integrations for a repository environment. | `GITHUB_LIST_ENVIRONMENT_CUSTOM_DEPLOYMENT_RULES` | | List repository rule suites | | `GITHUB_LIST_REPOSITORY_RULE_SUITES` | | Action | What it does | Slug | | - | - | - | | Get a repository ruleset | Retrieves a specific repository ruleset by its ID. | `GITHUB_GET_A_REPOSITORY_RULESET` | | List repository rulesets | | `GITHUB_LIST_REPOSITORY_RULESETS` | | Action | What it does | Slug | | - | - | - | | Get a self hosted runner for a repository | Gets a specific self-hosted runner for a repository by its unique ID. | `GITHUB_GET_A_SELF_HOSTED_RUNNER_FOR_A_REPOSITORY` | | Get a self hosted runner for an organization | Retrieves detailed information about a specific self-hosted runner registered within a GitHub organization. | `GITHUB_GET_A_SELF_HOSTED_RUNNER_FOR_AN_ORGANIZATION` | | List runner applications for a repository | | `GITHUB_LIST_RUNNER_APPLICATIONS_FOR_A_REPOSITORY` | | List runner applications for an organization | | `GITHUB_LIST_RUNNER_APPLICATIONS_FOR_AN_ORGANIZATION` | | List self hosted runners for a repository | | `GITHUB_LIST_SELF_HOSTED_RUNNERS_FOR_A_REPOSITORY` | | List self hosted runners for an organization | | `GITHUB_LIST_SELF_HOSTED_RUNNERS_FOR_AN_ORGANIZATION` | | Action | What it does | Slug | | - | - | - | | Get a workflow run | Gets a specific workflow run by its ID from a GitHub repository. | `GITHUB_GET_A_WORKFLOW_RUN` | | Get a workflow run attempt | Retrieves detailed information for a specific attempt of a workflow run in a GitHub repository, including its status, conclusion, and timings. | `GITHUB_GET_A_WORKFLOW_RUN_ATTEMPT` | | List workflow runs for a repository | | `GITHUB_LIST_WORKFLOW_RUNS_FOR_A_REPOSITORY` | | List workflow runs for a workflow | | `GITHUB_LIST_WORKFLOW_RUNS_FOR_A_WORKFLOW` | | Action | What it does | Slug | | - | - | - | | Get a repository secret | Gets metadata (name, creation/update timestamps) for an existing repository secret, excluding its encrypted value. | `GITHUB_GET_A_REPOSITORY_SECRET` | | Get a secret for the authenticated user | Retrieves metadata (name, timestamps, visibility. | `GITHUB_GET_A_SECRET_FOR_THE_AUTHENTICATED_USER` | | Get an environment secret | Retrieves metadata (name and timestamps) for a single secret in a GitHub Actions environment. | `GITHUB_GET_AN_ENVIRONMENT_SECRET` | | Get an organization secret | Gets an organization secret's metadata (e.g., name, creation/update dates, visibility), but not its encrypted value. | `GITHUB_GET_AN_ORGANIZATION_SECRET` | | Get org dev environment secret safely | Retrieves metadata for a specific secret available to an organization's GitHub Codespaces without exposing its encrypted value. | `GITHUB_GET_ORG_DEV_ENVIRONMENT_SECRET_SAFELY` | | Get repo dev env secret | Gets metadata (name, creation/update timestamps) for a specific, existing development environment secret (Codespaces secret) in a repository, without exposing its value. | `GITHUB_GET_REPO_DEV_ENV_SECRET` | | Get repository secret securely | Retrieves metadata for an existing Dependabot secret in a repository, without exposing its encrypted value. | `GITHUB_GET_REPOSITORY_SECRET_SECURELY` | | Get single org secret without decryption | Gets a single organization Dependabot secret's metadata (name, timestamps, visibility) without revealing its encrypted value. | `GITHUB_GET_SINGLE_ORG_SECRET_WITHOUT_DECRYPTION` | | List environment secrets | Lists the names and metadata (not values) of secrets for a specified, existing environment within an existing GitHub repository. | `GITHUB_LIST_ENVIRONMENT_SECRETS` | | List org secrets without values | | `GITHUB_LIST_ORG_SECRETS_WITHOUT_VALUES` | | List organization codespaces secrets | | `GITHUB_LIST_ORGANIZATION_CODESPACES_SECRETS` | | List organization secrets | | `GITHUB_LIST_ORGANIZATION_SECRETS` | | List repo secrets without values | | `GITHUB_LIST_REPO_SECRETS_WITHOUT_VALUES` | | List repository organization secrets | | `GITHUB_LIST_REPOSITORY_ORGANIZATION_SECRETS` | | List repository secrets | | `GITHUB_LIST_REPOSITORY_SECRETS` | | List repository secrets without decrypting | | `GITHUB_LIST_REPOSITORY_SECRETS_WITHOUT_DECRYPTING` | | List secrets for the authenticated user | | `GITHUB_LIST_SECRETS_FOR_THE_AUTHENTICATED_USER` | | Action | What it does | Slug | | - | - | - | | Check private vulnerability reporting status | Checks if private vulnerability reporting is enabled for the specified repository. | `GITHUB_CHECK_PRIVATE_VULNERABILITY_REPORTING_STATUS` | | Get global security advisory | Retrieve a global GitHub security advisory by its GHSA identifier. | `GITHUB_GET_GLOBAL_SECURITY_ADVISORY` | | Get repository security advisory | Retrieve a repository security advisory using its GHSA identifier. | `GITHUB_GET_REPOSITORY_SECURITY_ADVISORY` | | List global security advisories | | `GITHUB_LIST_GLOBAL_SECURITY_ADVISORIES` | | List repository security advisories | | `GITHUB_LIST_REPOSITORY_SECURITY_ADVISORIES` | | List security advisories GraphQL | | `GITHUB_LIST_SECURITY_ADVISORIES_GRAPHQL` | | List security vulnerabilities | | `GITHUB_LIST_SECURITY_VULNERABILITIES` | | Action | What it does | Slug | | - | - | - | | Get a webhook configuration for a repository | Returns the configuration for an existing webhook on the specified repository. | `GITHUB_GET_A_WEBHOOK_CONFIGURATION_FOR_A_REPOSITORY` | | Get a webhook configuration for an organization | Retrieves the configuration for a specific webhook associated with a GitHub organization. | `GITHUB_GET_A_WEBHOOK_CONFIGURATION_FOR_AN_ORGANIZATION` | | List repo dev container configs for user | | `GITHUB_LIST_REPO_DEV_CONTAINER_CONFIGS_FOR_USER` | | Action | What it does | Slug | | - | - | - | | Get pages site | Retrieves information for a GitHub Pages site, which must be enabled for the repository. | `GITHUB_GET_PAGES_SITE` | | Action | What it does | Slug | | - | - | - | | List stargazers | | `GITHUB_LIST_STARGAZERS` | | Action | What it does | Slug | | - | - | - | | Get a repository subscription | Gets the authenticated user's subscription details for a repository, indicating if they receive notifications. | `GITHUB_GET_A_REPOSITORY_SUBSCRIPTION` | | Get a thread subscription for the authenticated user | Retrieves the authenticated user's subscription details for a specific notification thread, identified by thread\_id. | `GITHUB_GET_A_THREAD_SUBSCRIPTION_FOR_THE_AUTHENTICATED_USER` | | List subscriptions for the authenticated user | | `GITHUB_LIST_SUBSCRIPTIONS_FOR_THE_AUTHENTICATED_USER` | | List subscriptions for the authenticated user stubbed | | `GITHUB_LIST_SUBSCRIPTIONS_FOR_THE_AUTHENTICATED_USER_STUBBED` | | Action | What it does | Slug | | - | - | - | | Get a tag | Retrieves detailed information for a specific Git tag object from a GitHub repository, using the SHA of the tag object itself. | `GITHUB_GET_A_TAG` | | List repository tags | | `GITHUB_LIST_REPOSITORY_TAGS` | | Action | What it does | Slug | | - | - | - | | Get a team by name | Retrieves a GitHub team by its slug from a specific organization. | `GITHUB_GET_A_TEAM_BY_NAME` | | Get organization teams | | `GITHUB_GET_ORGANIZATION_TEAMS` | | Get teams with access to the protected branch | Lists teams with explicit push access to a protected branch, provided team restrictions are configured in the branch's protection settings. | `GITHUB_GET_TEAMS_WITH_ACCESS_TO_THE_PROTECTED_BRANCH` | | List child teams | Lists the immediate child teams of a parent team within an organization. | `GITHUB_LIST_CHILD_TEAMS` | | List repository teams | | `GITHUB_LIST_REPOSITORY_TEAMS` | | List teams | | `GITHUB_LIST_TEAMS` | | List teams for the authenticated user | | `GITHUB_LIST_TEAMS_FOR_THE_AUTHENTICATED_USER` | | List teams that are assigned to an organization role | | `GITHUB_LIST_TEAMS_THAT_ARE_ASSIGNED_TO_AN_ORGANIZATION_ROLE` | | Action | What it does | Slug | | - | - | - | | Get gitignore template | Retrieves a specific .gitignore template from GitHub by its name, which must be an existing template in GitHub's collection. | `GITHUB_GET_GITIGNORE_TEMPLATE` | | Get oidc subject claim template | Retrieves the OpenID Connect (OIDC) subject claim customization template for a repository, which defines the sub claim structure in OIDC tokens for GitHub Actions workflows. | `GITHUB_GET_OIDC_SUBJECT_CLAIM_TEMPLATE` | | Get org oidc subject claim template | Retrieves the OpenID Connect (OIDC) subject claim customization template for a GitHub organization, which defines how the sub claim in OIDC tokens for workflows is constructed. | `GITHUB_GET_ORG_OIDC_SUBJECT_CLAIM_TEMPLATE` | | List gitignore templates | | `GITHUB_LIST_GITIGNORE_TEMPLATES` | | Action | What it does | Slug | | - | - | - | | Get a thread | Retrieves a specific GitHub notification thread using its unique thread\_id. | `GITHUB_GET_A_THREAD` | | Action | What it does | Slug | | - | - | - | | Check token | Checks if a GitHub App or OAuth access\_token is valid for the specified client\_id and retrieves its details, typically to verify its active status and grants. | `GITHUB_CHECK_TOKEN` | | List org resource access tokens | | `GITHUB_LIST_ORG_RESOURCE_ACCESS_TOKENS` | | Action | What it does | Slug | | - | - | - | | List available machine types for a repository | Lists machine types available for GitHub Codespaces in a repository, optionally using a Git ref to check compatibility based on prebuild availability and devcontainer configurations. | `GITHUB_LIST_AVAILABLE_MACHINE_TYPES_FOR_A_REPOSITORY` | | List issue types | | `GITHUB_LIST_ISSUE_TYPES` | | List machine types for a codespace | | `GITHUB_LIST_MACHINE_TYPES_FOR_A_CODESPACE` | | Action | What it does | Slug | | - | - | - | | Get GitHub actions cache usage for a repository | Retrieves the total count of active GitHub Actions caches and their combined size in bytes for a specified repository. | `GITHUB_GET_GITHUB_ACTIONS_CACHE_USAGE_FOR_A_REPOSITORY` | | Get GitHub actions cache usage for an organization | Retrieves total GitHub Actions cache usage statistics for an organization, including active cache count and size across all repositories. | `GITHUB_GET_GITHUB_ACTIONS_CACHE_USAGE_FOR_AN_ORGANIZATION` | | Get GitHub billing usage summary for user | Retrieve billing usage summary for a GitHub user account. | `GITHUB_GET_GITHUB_BILLING_USAGE_SUMMARY_FOR_USER` | | Get GraphQL rate limit | Retrieve the authenticated client's GitHub GraphQL API rate limit information. | `GITHUB_GET_GRAPHQL_RATE_LIMIT` | | Get rate limit status for the authenticated user | Retrieves the authenticated user's current GitHub API rate limit status, including usage and limits across different resource categories. | `GITHUB_GET_RATE_LIMIT_STATUS_FOR_THE_AUTHENTICATED_USER` | | Get workflow run usage | Gets the billable time, in milliseconds, for a specific workflow run, detailing time spent on various operating systems. | `GITHUB_GET_WORKFLOW_RUN_USAGE` | | Get workflow usage | Gets the billable time (in milliseconds, broken down by runner OS) for a specific workflow within a repository for the current billing cycle. | `GITHUB_GET_WORKFLOW_USAGE` | | Action | What it does | Slug | | - | - | - | | Check if user can be assigned | Verifies if a GitHub user can be assigned to issues in a repository. | `GITHUB_CHECK_IF_USER_CAN_BE_ASSIGNED` | | Check if user can be assigned to issue | Checks if a specified GitHub user can be assigned to a given issue within a repository. | `GITHUB_CHECK_IF_USER_CAN_BE_ASSIGNED_TO_ISSUE` | | Check if user follows another user | Checks if a GitHub user username follows target\_user. | `GITHUB_CHECK_IF_USER_FOLLOWS_ANOTHER_USER` | | Check if user is blocked by authenticated user | Checks if the specified GitHub user is blocked by the authenticated user. | `GITHUB_CHECK_IF_USER_IS_BLOCKED_BY_AUTHENTICATED_USER` | | Check if user is blocked by organization | Checks if a GitHub user is blocked by an organization. | `GITHUB_CHECK_IF_USER_IS_BLOCKED_BY_ORGANIZATION` | | Get a user | Retrieves the public profile information for an existing GitHub user, specified by their username. | `GITHUB_GET_A_USER` | | Get billing usage report user | Retrieves the billing usage report for a specified GitHub user. | `GITHUB_GET_BILLING_USAGE_REPORT_USER` | | Get contextual information for a user | Gets contextual hovercard information for a GitHub user. | `GITHUB_GET_CONTEXTUAL_INFORMATION_FOR_A_USER` | | Get GitHub billing premium request usage report user | Get billing premium request usage report for a GitHub user. | `GITHUB_GET_GITHUB_BILLING_PREMIUM_REQUEST_USAGE_REPORT_USER` | | Get the authenticated user | Gets the profile information for the currently authenticated GitHub user, including potentially private details based on user settings. | `GITHUB_GET_THE_AUTHENTICATED_USER` | | Get user by ID | Retrieves a GitHub user's profile information by their unique numeric account ID. | `GITHUB_GET_USER_BY_ID` | | Get users attestations | Get attestations by subject digest for a GitHub user. | `GITHUB_GET_USERS_ATTESTATIONS` | | Get users with access to the protected branch | Lists users with explicit push access to a protected branch, provided its protection rule restricts pushes to specific users. | `GITHUB_GET_USERS_WITH_ACCESS_TO_THE_PROTECTED_BRANCH` | | List the people a user follows | | `GITHUB_LIST_THE_PEOPLE_A_USER_FOLLOWS` | | List the people the authenticated user follows | | `GITHUB_LIST_THE_PEOPLE_THE_AUTHENTICATED_USER_FOLLOWS` | | List users | | `GITHUB_LIST_USERS` | | List users blocked by an organization | | `GITHUB_LIST_USERS_BLOCKED_BY_AN_ORGANIZATION` | | List users blocked by the authenticated user | | `GITHUB_LIST_USERS_BLOCKED_BY_THE_AUTHENTICATED_USER` | | List users that are assigned to an organization role | | `GITHUB_LIST_USERS_THAT_ARE_ASSIGNED_TO_AN_ORGANIZATION_ROLE` | | Search users | | `GITHUB_SEARCH_USERS` | | Action | What it does | Slug | | - | - | - | | Get a repository variable | Gets a specific GitHub Actions variable by name from an accessible repository. | `GITHUB_GET_A_REPOSITORY_VARIABLE` | | Get an environment variable | Retrieves a specific environment variable from a GitHub Actions environment by repository owner, repository name, environment name, and variable name. | `GITHUB_GET_AN_ENVIRONMENT_VARIABLE` | | Get an organization variable | Retrieves details (name, value, visibility, timestamps) of a specific, existing variable for an existing GitHub organization. | `GITHUB_GET_AN_ORGANIZATION_VARIABLE` | | List environment variables | Lists all environment variables, which are plaintext key-value pairs for GitHub Actions workflows, for a specified environment within a GitHub repository. | `GITHUB_LIST_ENVIRONMENT_VARIABLES` | | List organization variables | | `GITHUB_LIST_ORGANIZATION_VARIABLES` | | List repository organization variables | | `GITHUB_LIST_REPOSITORY_ORGANIZATION_VARIABLES` | | List repository variables | | `GITHUB_LIST_REPOSITORY_VARIABLES` | | List selected repos org variable | | `GITHUB_LIST_SELECTED_REPOS_ORG_VARIABLE` | | Action | What it does | Slug | | - | - | - | | Get a package version for a user | Retrieves a specific public package version associated with a GitHub user. | `GITHUB_GET_A_PACKAGE_VERSION_FOR_A_USER` | | Get a package version for an organization | Retrieves detailed information for a specific version of a package within an organization. | `GITHUB_GET_A_PACKAGE_VERSION_FOR_AN_ORGANIZATION` | | Get a package version for the authenticated user | Retrieves detailed information for an existing specific package version associated with the authenticated user, identified by its type, name, and version ID. | `GITHUB_GET_A_PACKAGE_VERSION_FOR_THE_AUTHENTICATED_USER` | | Get all API versions | Retrieves all officially supported, date-based (e.g., "2022-11-28") versions of the GitHub REST API from the /versions endpoint. | `GITHUB_GET_ALL_API_VERSIONS` | | Get gist revision | Retrieves a specific revision of a gist. | `GITHUB_GET_GIST_REVISION` | | List org package versions | | `GITHUB_LIST_ORG_PACKAGE_VERSIONS` | | List owned package versions | | `GITHUB_LIST_OWNED_PACKAGE_VERSIONS` | | List package versions for a package owned by a user | | `GITHUB_LIST_PACKAGE_VERSIONS_FOR_A_PACKAGE_OWNED_BY_A_USER` | | Action | What it does | Slug | | - | - | - | | Get page views | Retrieves page view statistics for a repository over the last 14 days, including total views, unique visitors, and a daily or weekly breakdown. | `GITHUB_GET_PAGE_VIEWS` | | Action | What it does | Slug | | - | - | - | | List watchers | | `GITHUB_LIST_WATCHERS` | | Action | What it does | Slug | | - | - | - | | Get a repository webhook | Returns the configuration of an existing webhook for a given repository. | `GITHUB_GET_A_REPOSITORY_WEBHOOK` | | Get a webhook delivery for an organization webhook | Returns detailed information for a specific delivery attempt of a webhook configured for the specified GitHub organization. | `GITHUB_GET_A_WEBHOOK_DELIVERY_FOR_AN_ORGANIZATION_WEBHOOK` | | Get an organization webhook | Retrieves the full configuration, including subscribed events and delivery settings, for an existing organization webhook. | `GITHUB_GET_AN_ORGANIZATION_WEBHOOK` | | Get repository webhook delivery | Retrieves a specific delivery for a repository webhook, identified by its hook\_id and delivery\_id. | `GITHUB_GET_REPOSITORY_WEBHOOK_DELIVERY` | | List deliveries for a repository webhook | Retrieves delivery attempts for a specific repository webhook to inspect its history. | `GITHUB_LIST_DELIVERIES_FOR_A_REPOSITORY_WEBHOOK` | | List deliveries for an organization webhook | Retrieves a list of webhook deliveries for a specific webhook in an organization, allowing inspection of delivery history and details. | `GITHUB_LIST_DELIVERIES_FOR_AN_ORGANIZATION_WEBHOOK` | | List organization webhooks | | `GITHUB_LIST_ORGANIZATION_WEBHOOKS` | | List repository webhooks | | `GITHUB_LIST_REPOSITORY_WEBHOOKS` | | Action | What it does | Slug | | - | - | - | | Get a workflow | Retrieves detailed information for a specific GitHub Actions workflow in a repository, identified by either its numeric ID or its filename. | `GITHUB_GET_A_WORKFLOW` | | Get workflow external access | Gets the access level settings for a private repository, determining how workflows outside this repository can use its actions and reusable workflows. | `GITHUB_GET_WORKFLOW_EXTERNAL_ACCESS` | | List repository workflows | | `GITHUB_LIST_REPOSITORY_WORKFLOWS` | | Action | What it does | Slug | | - | - | - | | API root | Retrieves a map of all top-level GitHub REST API resource URLs and their templates. | `GITHUB_API_ROOT` | | Create inference embeddings | Create inference embeddings using GitHub's AI models. | `GITHUB_CREATE_INFERENCE_EMBEDDINGS` | | Get a reference | Retrieves a specific Git reference (e.g., a branch, tag, or fully qualified like 'heads/main') from a GitHub repository. | `GITHUB_GET_A_REFERENCE` | | Get access restrictions | Lists users, teams, and GitHub Apps with push access to a branch. | `GITHUB_GET_ACCESS_RESTRICTIONS` | | Get an assignment | Retrieves detailed information for a specific GitHub Classroom assignment if the authenticated user is an administrator of the classroom. | `GITHUB_GET_AN_ASSIGNMENT` | | Get assignment grades | Retrieves all grades for an existing GitHub Classroom assignment. | `GITHUB_GET_ASSIGNMENT_GRADES` | | Get classroom | Retrieves details for a specific GitHub Classroom. | `GITHUB_GET_CLASSROOM` | | Get emojis | Lists all emojis available for use on GitHub, including custom and Unicode emojis. | `GITHUB_GET_EMOJIS` | | Get feeds | Fetches a list of available GitHub feed URLs for the authenticated user. | `GITHUB_GET_FEEDS` | | Get GitHub meta information | Fetches GitHub's publicly available metadata, useful for configuring network security policies or IP allow-listing. | `GITHUB_GET_GITHUB_META_INFORMATION` | | Get GraphQL node | Fetch any GitHub object by its global node ID. | `GITHUB_GET_GRAPHQL_NODE` | | Get octocat | Fetches an ASCII art representation of GitHub's Octocat, suitable for text-based displays. | `GITHUB_GET_OCTOCAT` | | Get the combined status for a specific reference | Retrieves the aggregated commit status (e.g., success, failure, pending) from all checks for a specific reference (SHA, branch, or tag) in a GitHub repository. | `GITHUB_GET_THE_COMBINED_STATUS_FOR_A_SPECIFIC_REFERENCE` | | Get the zen of GitHub | Retrieves a random quote from GitHub's 'Zen of GitHub' collection, reflecting GitHub's design philosophies and offering humorous insights, useful for displaying GitHub wisdom or a lighthearted message. | `GITHUB_GET_THE_ZEN_OF_GITHUB` | | Get top referral paths | Fetches the top 10 most viewed content paths for a repository from the last 14 days. | `GITHUB_GET_TOP_REFERRAL_PATHS` | | Get top referral sources | Fetches the top 10 websites that referred traffic to a repository within the last 14 days. | `GITHUB_GET_TOP_REFERRAL_SOURCES` | | Get viewer GraphQL | Retrieve the authenticated user's profile information via GitHub GraphQL. | `GITHUB_GET_VIEWER_GRAPHQL` | | List accepted assignments for an assignment | Lists accepted assignments (student repositories created after acceptance) for an existing GitHub Classroom assignment, identified by its unique assignment\_id. | `GITHUB_LIST_ACCEPTED_ASSIGNMENTS_FOR_AN_ASSIGNMENT` | | List assignments for a classroom | Lists all assignments for a given GitHub Classroom classroom\_id. | `GITHUB_LIST_ASSIGNMENTS_FOR_A_CLASSROOM` | | List classrooms | Lists GitHub Classrooms to which the authenticated user has administrative access. | `GITHUB_LIST_CLASSROOMS` | | List matching references | | `GITHUB_LIST_MATCHING_REFERENCES` | | List sponsorables | | `GITHUB_LIST_SPONSORABLES` | | List status check contexts | | `GITHUB_LIST_STATUS_CHECK_CONTEXTS` | | Lookup nodes by IDs | | `GITHUB_LOOKUP_NODES_BY_IDS` | | Lookup topic by name | | `GITHUB_LOOKUP_TOPIC_BY_NAME` | | Render markdown raw | | `GITHUB_RENDER_MARKDOWN_RAW` | | Search GitHub GraphQL | | `GITHUB_SEARCH_GITHUB_GRAPHQL` | | Search topics | | `GITHUB_SEARCH_TOPICS` | | Validate credential | | `GITHUB_VALIDATE_CREDENTIAL` | Teammates can use 577 of the 896 GitHub actions at this level: everything in **Read-only**, plus: * Create, update, and delete comments * Create and delete reactions * Create and update issues * Create and update pull requests * Create and update branches * Update and delete subscriptions * Create, update, and delete cards * Create, update, delete, and send reviews * Create, update, and delete items * Create and update labels * Create and update assets * Create code The 100 actions that this level adds to **Read-only**: | Action | What it does | Slug | | - | - | - | | Update a release asset | | `GITHUB_UPDATE_A_RELEASE_ASSET` | | Upload release asset | | `GITHUB_UPLOAD_RELEASE_ASSET` | | Action | What it does | Slug | | - | - | - | | Add assignees to an issue | Adds assignees to a GitHub issue. | `GITHUB_ADD_ASSIGNEES_TO_AN_ISSUE` | | Remove assignees from an issue | | `GITHUB_REMOVE_ASSIGNEES_FROM_AN_ISSUE` | | Action | What it does | Slug | | - | - | - | | Create branch | | `GITHUB_CREATE_BRANCH` | | Merge a branch | | `GITHUB_MERGE_A_BRANCH` | | Rename a branch | | `GITHUB_RENAME_A_BRANCH` | | Sync fork branch with upstream | | `GITHUB_SYNC_FORK_BRANCH_WITH_UPSTREAM` | | Update a pull request branch | | `GITHUB_UPDATE_A_PULL_REQUEST_BRANCH` | | Action | What it does | Slug | | - | - | - | | Create a project card | Creates a project card in a GitHub project column (classic projects only). | `GITHUB_CREATE_A_PROJECT_CARD` | | Delete project card | Deletes a project card from a GitHub 'Project (classic)'. | `GITHUB_DELETE_PROJECT_CARD` | | Move a project card | | `GITHUB_MOVE_A_PROJECT_CARD` | | Update project card | | `GITHUB_UPDATE_PROJECT_CARD` | | Action | What it does | Slug | | - | - | - | | Create a blob | Creates a Git blob in a repository, requiring content and encoding ('utf-8' or 'base64'). | `GITHUB_CREATE_A_BLOB` | | Create a tree | Creates a new Git tree object in a repository, defining file/directory structure by specifying tree entries, optionally building on a base\_tree SHA. | `GITHUB_CREATE_A_TREE` | | Action | What it does | Slug | | - | - | - | | Create a commit comment | Creates a comment on a specific commit, or on a specific line if path and position are provided. | `GITHUB_CREATE_A_COMMIT_COMMENT` | | Create a discussion comment | Creates a new comment on an existing team discussion within a GitHub organization. | `GITHUB_CREATE_A_DISCUSSION_COMMENT` | | Create a gist comment | Creates a new comment on a specified GitHub gist. | `GITHUB_CREATE_A_GIST_COMMENT` | | Create a review comment for a pull request | Creates a review comment on a pull request's diff, targeting a specific line, range of lines, an entire file, or replying to an existing comment. | `GITHUB_CREATE_A_REVIEW_COMMENT_FOR_A_PULL_REQUEST` | | Create an issue comment | Creates a new comment on an existing GitHub issue or pull request within the specified repository. | `GITHUB_CREATE_AN_ISSUE_COMMENT` | | Delete a review comment for a pull request | Deletes a specific pull request review comment. | `GITHUB_DELETE_A_REVIEW_COMMENT_FOR_A_PULL_REQUEST` | | Delete commit comment | Deletes a specific commit comment, identified by its comment\_id, from the specified repository. | `GITHUB_DELETE_COMMIT_COMMENT` | | Delete discussion comment | Deletes a specific comment from an existing team discussion within an organization, provided the specified organization, team, discussion, and comment all exist. | `GITHUB_DELETE_DISCUSSION_COMMENT` | | Delete gist comment | Deletes a specific comment from a GitHub Gist using its gist\_id and comment\_id. | `GITHUB_DELETE_GIST_COMMENT` | | Delete issue comment | Permanently deletes a specific comment by its ID from an issue or pull request, if the repository exists and the comment ID is valid. | `GITHUB_DELETE_ISSUE_COMMENT` | | Update a commit comment | | `GITHUB_UPDATE_A_COMMIT_COMMENT` | | Update a discussion comment | | `GITHUB_UPDATE_A_DISCUSSION_COMMENT` | | Update a gist comment | | `GITHUB_UPDATE_A_GIST_COMMENT` | | Update an issue comment | | `GITHUB_UPDATE_AN_ISSUE_COMMENT` | | Update pull request review comment | | `GITHUB_UPDATE_PULL_REQUEST_REVIEW_COMMENT` | | Action | What it does | Slug | | - | - | - | | Create a commit | Creates a new commit in a GitHub repository. | `GITHUB_CREATE_A_COMMIT` | | Action | What it does | Slug | | - | - | - | | Create or update file contents | Creates a new file or updates an existing file in a GitHub repository. | `GITHUB_CREATE_OR_UPDATE_FILE_CONTENTS` | | Action | What it does | Slug | | - | - | - | | Manage issue blocking dependency | | `GITHUB_MANAGE_ISSUE_BLOCKING_DEPENDENCY` | | Action | What it does | Slug | | - | - | - | | Create a discussion | Creates a new discussion post on a specific team's page within an organization. | `GITHUB_CREATE_A_DISCUSSION` | | Update a discussion | | `GITHUB_UPDATE_A_DISCUSSION` | | Action | What it does | Slug | | - | - | - | | Clear project v2 item field value | Clear the value of a field for an item in a GitHub Project V2. | `GITHUB_CLEAR_PROJECT_V2_ITEM_FIELD_VALUE` | | Action | What it does | Slug | | - | - | - | | Commit multiple files | Atomically create, update, or delete multiple files in a GitHub repository as a single commit. | `GITHUB_COMMIT_MULTIPLE_FILES` | | Delete a file | Deletes a file by path from a GitHub repository. | `GITHUB_DELETE_A_FILE` | | Action | What it does | Slug | | - | - | - | | Add sub issue | Add a sub-issue to a parent GitHub issue using GraphQL. | `GITHUB_ADD_SUB_ISSUE` | | Close issue | | `GITHUB_CLOSE_ISSUE` | | Create an issue | Creates a new issue in a GitHub repository, requiring the repository to exist and have issues enabled. | `GITHUB_CREATE_AN_ISSUE` | | Lock an issue | | `GITHUB_LOCK_AN_ISSUE` | | Reopen issue | | `GITHUB_REOPEN_ISSUE` | | Unlock an issue | | `GITHUB_UNLOCK_AN_ISSUE` | | Update an issue | | `GITHUB_UPDATE_AN_ISSUE` | | Action | What it does | Slug | | - | - | - | | Add item to user project | Add an issue or pull request to a user-owned GitHub project. | `GITHUB_ADD_ITEM_TO_USER_PROJECT` | | Create draft item for user project | Creates a draft issue item in a user-owned GitHub ProjectsV2. | `GITHUB_CREATE_DRAFT_ITEM_FOR_USER_PROJECT` | | Delete project item for user | Delete a project item for a user in GitHub Projects V2. | `GITHUB_DELETE_PROJECT_ITEM_FOR_USER` | | Update user project item | | `GITHUB_UPDATE_USER_PROJECT_ITEM` | | Action | What it does | Slug | | - | - | - | | Add labels to an issue | Adds labels (provided in the request body) to a repository issue. | `GITHUB_ADD_LABELS_TO_AN_ISSUE` | | Create a label | Creates a new label in a specified GitHub repository, provided the repository exists and the user has write permissions. | `GITHUB_CREATE_A_LABEL` | | Remove a label from an issue | | `GITHUB_REMOVE_A_LABEL_FROM_AN_ISSUE` | | Remove all labels from an issue | | `GITHUB_REMOVE_ALL_LABELS_FROM_AN_ISSUE` | | Set labels for an issue | | `GITHUB_SET_LABELS_FOR_AN_ISSUE` | | Update a label | | `GITHUB_UPDATE_A_LABEL` | | Action | What it does | Slug | | - | - | - | | Create a milestone | Creates a milestone in a GitHub repository for tracking progress on issues or pull requests. | `GITHUB_CREATE_A_MILESTONE` | | Update a milestone | | `GITHUB_UPDATE_A_MILESTONE` | | Action | What it does | Slug | | - | - | - | | Create a tag object | Creates an annotated Git tag object in a repository, pointing to an existing Git object (commit, tree, or blob) defined by its SHA and ensuring the type field correctly specifies the object's type. | `GITHUB_CREATE_A_TAG_OBJECT` | | Action | What it does | Slug | | - | - | - | | Close pull request | | `GITHUB_CLOSE_PULL_REQUEST` | | Convert pull request to draft | | `GITHUB_CONVERT_PULL_REQUEST_TO_DRAFT` | | Create a pull request | Creates a pull request in a GitHub repository, requiring existing base and head branches. | `GITHUB_CREATE_A_PULL_REQUEST` | | Dismiss a review for a pull request | Dismisses an APPROVED or CHANGES\_REQUESTED review on a pull request with a mandatory explanatory message. | `GITHUB_DISMISS_A_REVIEW_FOR_A_PULL_REQUEST` | | Mark pull request ready for review | | `GITHUB_MARK_PULL_REQUEST_READY_FOR_REVIEW` | | Merge a pull request | | `GITHUB_MERGE_A_PULL_REQUEST` | | Reopen pull request | | `GITHUB_REOPEN_PULL_REQUEST` | | Update a pull request | | `GITHUB_UPDATE_A_PULL_REQUEST` | | Action | What it does | Slug | | - | - | - | | Create reaction for a commit comment | Creates an emoji reaction for a commit comment. | `GITHUB_CREATE_REACTION_FOR_A_COMMIT_COMMENT` | | Create reaction for a pull request review comment | Adds a specified reaction to a pull request review comment within a GitHub repository. | `GITHUB_CREATE_REACTION_FOR_A_PULL_REQUEST_REVIEW_COMMENT` | | Create reaction for a release | Creates an emoji reaction for a specific, existing release in a GitHub repository. | `GITHUB_CREATE_REACTION_FOR_A_RELEASE` | | Create reaction for a team discussion | Creates a reaction for a team discussion within a GitHub organization. | `GITHUB_CREATE_REACTION_FOR_A_TEAM_DISCUSSION` | | Create reaction for a team discussion comment | Adds a reaction to a team discussion comment, requiring the specified organization, team, discussion, and comment to exist. | `GITHUB_CREATE_REACTION_FOR_A_TEAM_DISCUSSION_COMMENT` | | Create reaction for an issue | Creates a reaction for a specified issue within a GitHub repository. | `GITHUB_CREATE_REACTION_FOR_AN_ISSUE` | | Create reaction for an issue comment | Creates a reaction for a specific comment on an issue within a GitHub repository. | `GITHUB_CREATE_REACTION_FOR_AN_ISSUE_COMMENT` | | Delete a release reaction | Deletes a reaction from a GitHub release, provided the repository, release, and reaction exist. | `GITHUB_DELETE_A_RELEASE_REACTION` | | Delete commit comment reaction | Deletes a reaction from a commit comment in a GitHub repository. | `GITHUB_DELETE_COMMIT_COMMENT_REACTION` | | Delete issue comment reaction | Deletes a reaction from an issue comment in a repository. | `GITHUB_DELETE_ISSUE_COMMENT_REACTION` | | Delete issue reaction | Permanently removes a specific reaction from an issue in a GitHub repository. | `GITHUB_DELETE_ISSUE_REACTION` | | Delete pull request comment reaction | Deletes a specific reaction from a pull request review comment, provided the comment and reaction exist on that comment within the specified repository. | `GITHUB_DELETE_PULL_REQUEST_COMMENT_REACTION` | | Delete team discussion comment reaction | Deletes a reaction from a team discussion comment, given the organization name, team slug, discussion number, comment number, and reaction ID. | `GITHUB_DELETE_TEAM_DISCUSSION_COMMENT_REACTION` | | Delete team discussion reaction | Permanently deletes a specific reaction from a team discussion within an organization. | `GITHUB_DELETE_TEAM_DISCUSSION_REACTION` | | Action | What it does | Slug | | - | - | - | | Create a release | Creates a release in a GitHub repository for a specified tag. | `GITHUB_CREATE_A_RELEASE` | | Update a release | | `GITHUB_UPDATE_A_RELEASE` | | Action | What it does | Slug | | - | - | - | | Create a reply for a review comment | Posts a reply to a specific review comment on a GitHub pull request, requiring the repository, pull request, and original comment to exist, and a non-empty reply body. | `GITHUB_CREATE_A_REPLY_FOR_A_REVIEW_COMMENT` | | Action | What it does | Slug | | - | - | - | | Remove requested reviewers from a pull request | | `GITHUB_REMOVE_REQUESTED_REVIEWERS_FROM_A_PULL_REQUEST` | | Request reviewers | | `GITHUB_REQUEST_REVIEWERS` | | Request reviewers for a pull request | | `GITHUB_REQUEST_REVIEWERS_FOR_A_PULL_REQUEST` | | Action | What it does | Slug | | - | - | - | | Create a review for a pull request | Creates a pull request review, allowing approval, change requests, or comments. | `GITHUB_CREATE_A_REVIEW_FOR_A_PULL_REQUEST` | | Delete pending review | Deletes a pending (unsubmitted) review from a pull request. | `GITHUB_DELETE_PENDING_REVIEW` | | Remove review request | | `GITHUB_REMOVE_REVIEW_REQUEST` | | Submit a review for a pull request | | `GITHUB_SUBMIT_A_REVIEW_FOR_A_PULL_REQUEST` | | Update pull request review | | `GITHUB_UPDATE_PULL_REQUEST_REVIEW` | | Action | What it does | Slug | | - | - | - | | Privately report a security vulnerability | | `GITHUB_PRIVATELY_REPORT_A_SECURITY_VULNERABILITY` | | Action | What it does | Slug | | - | - | - | | Delete a repository subscription | Deletes the authenticated user's subscription to a specified repository if it exists, effectively 'unwatching' it. | `GITHUB_DELETE_A_REPOSITORY_SUBSCRIPTION` | | Delete a thread subscription | Mute a specific notification thread by deleting the user's subscription. | `GITHUB_DELETE_A_THREAD_SUBSCRIPTION` | | Set a repository subscription | | `GITHUB_SET_A_REPOSITORY_SUBSCRIPTION` | | Set a thread subscription | | `GITHUB_SET_A_THREAD_SUBSCRIPTION` | | Update subscription | | `GITHUB_UPDATE_SUBSCRIPTION` | | Action | What it does | Slug | | - | - | - | | Create a reference | Creates a NEW Git reference (branch or tag) in a repository. | `GITHUB_CREATE_A_REFERENCE` | | Delete a reference | Deletes a Git reference from a repository. | `GITHUB_DELETE_A_REFERENCE` | | Update a reference | | `GITHUB_UPDATE_A_REFERENCE` | Teammates can use 896 of the 896 GitHub actions at this level: everything in **Read + write code**, plus: * Create, update, and delete repositories * Create, update, delete, and manage secrets * Create, update, and delete roles and permissions * Create, update, and delete branch protection * Update and delete users * Create, update, delete, start, and stop codespaces * Create, update, and delete variables * Create, update, delete, and test webhooks * Create, update, and delete tokens * Update and delete versions * Create, update, delete, and cancel deployments * Create, update, and delete gists The 319 actions that this level adds to **Read + write code**: | Action | What it does | Slug | | - | - | - | | Add social accounts for authenticated user | Adds one or more social media links (which must be valid, full URLs for platforms supported by GitHub) to the authenticated user's public GitHub profile. | `GITHUB_ADD_SOCIAL_ACCOUNTS_FOR_AUTHENTICATED_USER` | | Delete social accounts for the authenticated user | Deletes currently linked social media account URLs from the authenticated user's GitHub profile. | `GITHUB_DELETE_SOCIAL_ACCOUNTS_FOR_THE_AUTHENTICATED_USER` | | Action | What it does | Slug | | - | - | - | | Add email address for authenticated user | Adds one or more email addresses (which will be initially unverified) to the authenticated user's GitHub account. | `GITHUB_ADD_EMAIL_ADDRESS_FOR_AUTHENTICATED_USER` | | Delete email address | Sends an empty request body to DELETE /user/emails to attempt deletion of user email addresses. | `GITHUB_DELETE_EMAIL_ADDRESS` | | Action | What it does | Slug | | - | - | - | | List secret scanning alerts for a repository | | `GITHUB_LIST_SECRET_SCANNING_ALERTS_FOR_A_REPOSITORY` | | Update a code scanning alert | | `GITHUB_UPDATE_A_CODE_SCANNING_ALERT` | | Action | What it does | Slug | | - | - | - | | Add app access restrictions | Adds GitHub Apps to the list of apps allowed to push to a protected branch. | `GITHUB_ADD_APP_ACCESS_RESTRICTIONS` | | Create a GitHub app from a manifest | Complete the GitHub App Manifest flow (step 3 of 3) by exchanging the temporary authorization code for the app's full configuration, including credentials and private key. | `GITHUB_CREATE_A_GITHUB_APP_FROM_A_MANIFEST` | | Delete app authorization | Deletes an OAuth application grant for a user, which revokes ALL OAuth tokens and their associated authorizations for the application. | `GITHUB_DELETE_APP_AUTHORIZATION` | | Remove app access restrictions | | `GITHUB_REMOVE_APP_ACCESS_RESTRICTIONS` | | Set app access restrictions | | `GITHUB_SET_APP_ACCESS_RESTRICTIONS` | | Action | What it does | Slug | | - | - | - | | Delete artifact | Deletes a GitHub artifact by its ID within a repository, typically resulting in an empty response (HTTP 204 No Content) on success. | `GITHUB_DELETE_ARTIFACT` | | Action | What it does | Slug | | - | - | - | | Delete a release asset | Deletes a specific release asset from a GitHub repository. | `GITHUB_DELETE_A_RELEASE_ASSET` | | Action | What it does | Slug | | - | - | - | | Create a tag protection state for a repository | DEPRECATED: This API was sunset on August 30, 2024. | `GITHUB_CREATE_A_TAG_PROTECTION_STATE_FOR_A_REPOSITORY` | | Create commit signature protection | Enables commit signature protection for a specified branch, requiring all new commits to be signed. | `GITHUB_CREATE_COMMIT_SIGNATURE_PROTECTION` | | Delete a tag protection state for a repository | DEPRECATED: This API was sunset on August 30, 2024. | `GITHUB_DELETE_A_TAG_PROTECTION_STATE_FOR_A_REPOSITORY` | | Delete admin branch protection | Removes admin enforcement from a protected branch (branch name cannot contain wildcard characters) in a repository. | `GITHUB_DELETE_ADMIN_BRANCH_PROTECTION` | | Delete branch protection | Removes all protection rules from a specific branch in a GitHub repository. | `GITHUB_DELETE_BRANCH_PROTECTION` | | Delete commit signature protection | Disables GPG commit signature protection for a specific branch in a GitHub repository, meaning commits pushed to this branch no longer require GPG signing. | `GITHUB_DELETE_COMMIT_SIGNATURE_PROTECTION` | | Delete pull request review protection | Disables the requirement for pull request reviews before merging for a specific, existing branch in an existing repository. | `GITHUB_DELETE_PULL_REQUEST_REVIEW_PROTECTION` | | Remove status check protection | | `GITHUB_REMOVE_STATUS_CHECK_PROTECTION` | | Set admin branch protection | | `GITHUB_SET_ADMIN_BRANCH_PROTECTION` | | Update branch protection | | `GITHUB_UPDATE_BRANCH_PROTECTION` | | Update pull request review protection | | `GITHUB_UPDATE_PULL_REQUEST_REVIEW_PROTECTION` | | Update status check protection | | `GITHUB_UPDATE_STATUS_CHECK_PROTECTION` | | Action | What it does | Slug | | - | - | - | | Clear repository cache by key | Deletes GitHub Actions caches from a repository matching a specific key and an optional Git ref, used to manage storage or clear outdated/corrupted caches. | `GITHUB_CLEAR_REPOSITORY_CACHE_BY_KEY` | | Delete GitHub actions cache by ID | Deletes a specific GitHub Actions cache from a repository using its unique cache\_id. | `GITHUB_DELETE_GITHUB_ACTIONS_CACHE_BY_ID` | | Action | What it does | Slug | | - | - | - | | Create a check run | Creates a new check run for a specific commit in a repository, used by external services to report status, detailed feedback, annotations, and images directly within the GitHub UI. | `GITHUB_CREATE_A_CHECK_RUN` | | Create a check suite | Creates a new check suite for a specific commit (head\_sha) in an original repository (not a fork). | `GITHUB_CREATE_A_CHECK_SUITE` | | Rerequest a check run | | `GITHUB_REREQUEST_A_CHECK_RUN` | | Rerequest a check suite | | `GITHUB_REREQUEST_A_CHECK_SUITE` | | Update a check run | | `GITHUB_UPDATE_A_CHECK_RUN` | | Action | What it does | Slug | | - | - | - | | Delete code scanning analysis | Deletes a specific code scanning analysis by its ID from a repository. | `GITHUB_DELETE_CODE_SCANNING_ANALYSIS` | | Update code scanning default setup | | `GITHUB_UPDATE_CODE_SCANNING_DEFAULT_SETUP` | | Action | What it does | Slug | | - | - | - | | Create a codespace for the authenticated user | Creates a GitHub Codespace for the authenticated user, requiring a JSON request body with either repository\_id (integer) or a pull\_request object (containing pull\_request\_number (integer) and repository\_id (integer)). | `GITHUB_CREATE_A_CODESPACE_FOR_THE_AUTHENTICATED_USER` | | Create a codespace from a pull request | Creates a GitHub Codespace for an open pull request in a Codespaces-enabled repository, with options to customize its configuration. | `GITHUB_CREATE_A_CODESPACE_FROM_A_PULL_REQUEST` | | Create a codespace in a repository | Creates a GitHub Codespace for the authenticated user in a specified repository, which must be accessible and use a valid devcontainer.json if devcontainer\_path is specified. | `GITHUB_CREATE_A_CODESPACE_IN_A_REPOSITORY` | | Delete codespace | Deletes a specific codespace owned by the authenticated user. | `GITHUB_DELETE_CODESPACE` | | Delete org codespace | Permanently deletes a specific codespace belonging to a member of the specified organization. | `GITHUB_DELETE_ORG_CODESPACE` | | Export a codespace for the authenticated user | Triggers an export of a user's specified codespace, automatically stopping it if active, and returns its export status and download URL. | `GITHUB_EXPORT_A_CODESPACE_FOR_THE_AUTHENTICATED_USER` | | Manage access control for organization codespaces | | `GITHUB_MANAGE_ACCESS_CONTROL_FOR_ORGANIZATION_CODESPACES` | | Start a codespace for the authenticated user | | `GITHUB_START_A_CODESPACE_FOR_THE_AUTHENTICATED_USER` | | Stop a codespace for an organization user | | `GITHUB_STOP_A_CODESPACE_FOR_AN_ORGANIZATION_USER` | | Stop a codespace for the authenticated user | | `GITHUB_STOP_A_CODESPACE_FOR_THE_AUTHENTICATED_USER` | | Update codespace | | `GITHUB_UPDATE_CODESPACE` | | Action | What it does | Slug | | - | - | - | | Add a repository collaborator | Adds a GitHub user as a repository collaborator, or updates their permission if already a collaborator. | `GITHUB_ADD_A_REPOSITORY_COLLABORATOR` | | Add project collaborator | Adds a specified GitHub user as a collaborator to an existing organization project with a given permission level. | `GITHUB_ADD_PROJECT_COLLABORATOR` | | Remove a repository collaborator | | `GITHUB_REMOVE_A_REPOSITORY_COLLABORATOR` | | Remove outside collaborator from an organization | | `GITHUB_REMOVE_OUTSIDE_COLLABORATOR_FROM_AN_ORGANIZATION` | | Action | What it does | Slug | | - | - | - | | Create a project column | Creates a new column in a GitHub project (classic). | `GITHUB_CREATE_A_PROJECT_COLUMN` | | Delete project column | Deletes a project field (column) from a GitHub Projects V2 project using the GraphQL API. | `GITHUB_DELETE_PROJECT_COLUMN` | | Move a project column | | `GITHUB_MOVE_A_PROJECT_COLUMN` | | Update project column | | `GITHUB_UPDATE_PROJECT_COLUMN` | | Action | What it does | Slug | | - | - | - | | Create a commit status | Sets a commit's status (e.g., error, failure, pending, success from CI/CD) for a given SHA. | `GITHUB_CREATE_A_COMMIT_STATUS` | | Map a commit author | | `GITHUB_MAP_A_COMMIT_AUTHOR` | | Action | What it does | Slug | | - | - | - | | Cancel GitHub pages deployment | Cancels an existing, ongoing or queued GitHub Pages deployment for a repository using its pages\_deployment\_id. | `GITHUB_CANCEL_GITHUB_PAGES_DEPLOYMENT` | | Create a deployment | Creates a GitHub deployment for an existing repository, targeting a specific ref (branch, tag, or SHA) that must also exist within the repository. | `GITHUB_CREATE_A_DEPLOYMENT` | | Create a deployment status | Creates a status for an existing deployment, updating its operational state, associated URLs, and description. | `GITHUB_CREATE_A_DEPLOYMENT_STATUS` | | Create a GitHub pages deployment | Creates a GitHub Pages deployment for a repository using a specified artifact and OIDC token, provided GitHub Pages is enabled and the artifact (containing static assets) is accessible. | `GITHUB_CREATE_A_GITHUB_PAGES_DEPLOYMENT` | | Delete deployment | Permanently deletes a specified inactive deployment from a repository. | `GITHUB_DELETE_DEPLOYMENT` | | Review pending deployments for a workflow run | | `GITHUB_REVIEW_PENDING_DEPLOYMENTS_FOR_A_WORKFLOW_RUN` | | Action | What it does | Slug | | - | - | - | | Delete discussion | Deletes a specific team discussion, identified by its number, from an organization's team. | `GITHUB_DELETE_DISCUSSION` | | Action | What it does | Slug | | - | - | - | | Set email visibility | | `GITHUB_SET_EMAIL_VISIBILITY` | | Action | What it does | Slug | | - | - | - | | Create or update an environment | Creates a new environment or updates an existing one in a GitHub repository, allowing configuration of deployment protection rules such as wait timers and reviewers. | `GITHUB_CREATE_OR_UPDATE_AN_ENVIRONMENT` | | Delete environment | Deletes an existing deployment environment from an existing repository. | `GITHUB_DELETE_ENVIRONMENT` | | Action | What it does | Slug | | - | - | - | | Create a repository dispatch event | Triggers a GitHub Actions workflow or a webhook on a repository by creating a repository dispatch event, allowing programmatic triggering of workflows based on events outside of GitHub. | `GITHUB_CREATE_A_REPOSITORY_DISPATCH_EVENT` | | Create a workflow dispatch event | Manually triggers a GitHub Actions workflow identified by workflow\_id at a given ref, if the workflow is configured to accept workflow\_dispatch events. | `GITHUB_CREATE_A_WORKFLOW_DISPATCH_EVENT` | | Action | What it does | Slug | | - | - | - | | Add field to user project | Add a custom field to a user-owned GitHub Projects V2 project. | `GITHUB_ADD_FIELD_TO_USER_PROJECT` | | Action | What it does | Slug | | - | - | - | | Create a fork | Creates a fork of an accessible repository, optionally into a specific organization, with a new name, or copying only the default branch. | `GITHUB_CREATE_A_FORK` | | Create a temporary private fork | Creates a temporary private fork of the specified repository to address a security vulnerability, linking the fork to a GHSA ID that must be specifically associated with this repository. | `GITHUB_CREATE_A_TEMPORARY_PRIVATE_FORK` | | Action | What it does | Slug | | - | - | - | | Create a gist | Creates a new gist on GitHub with provided files, an optional description, and public/secret visibility. | `GITHUB_CREATE_A_GIST` | | Delete gist | Permanently deletes an existing GitHub gist, specified by its gist\_id. | `GITHUB_DELETE_GIST` | | Fork gist | Forks a specified public gist, creating a copy under the authenticated user's account. | `GITHUB_FORK_GIST` | | Star a gist | | `GITHUB_STAR_A_GIST` | | Unstar a gist | | `GITHUB_UNSTAR_A_GIST` | | Update a gist | | `GITHUB_UPDATE_A_GIST` | | Action | What it does | Slug | | - | - | - | | Remove interaction restrictions for a repository | | `GITHUB_REMOVE_INTERACTION_RESTRICTIONS_FOR_A_REPOSITORY` | | Remove interaction restrictions for an organization | | `GITHUB_REMOVE_INTERACTION_RESTRICTIONS_FOR_AN_ORGANIZATION` | | Remove public repo interaction restrictions | | `GITHUB_REMOVE_PUBLIC_REPO_INTERACTION_RESTRICTIONS` | | Set interaction restrictions for a repository | | `GITHUB_SET_INTERACTION_RESTRICTIONS_FOR_A_REPOSITORY` | | Set interaction restrictions for an organization | | `GITHUB_SET_INTERACTION_RESTRICTIONS_FOR_AN_ORGANIZATION` | | Set interaction restrictions for your public repos | | `GITHUB_SET_INTERACTION_RESTRICTIONS_FOR_YOUR_PUBLIC_REPOS` | | Action | What it does | Slug | | - | - | - | | Accept repository invitation | Accepts a PENDING repository invitation that has been issued to the authenticated user. | `GITHUB_ACCEPT_REPOSITORY_INVITATION` | | Decline a repository invitation | Declines a specific, pending repository invitation for the authenticated user, identified by its invitation\_id. | `GITHUB_DECLINE_A_REPOSITORY_INVITATION` | | Delete a repository invitation | Deletes an active repository invitation, permanently revoking a user's access to collaborate on the specified repository. | `GITHUB_DELETE_A_REPOSITORY_INVITATION` | | Update a repository invitation | | `GITHUB_UPDATE_A_REPOSITORY_INVITATION` | | Action | What it does | Slug | | - | - | - | | Re run a job from a workflow run | | `GITHUB_RE_RUN_A_JOB_FROM_A_WORKFLOW_RUN` | | Re run failed jobs from a workflow run | | `GITHUB_RE_RUN_FAILED_JOBS_FROM_A_WORKFLOW_RUN` | | Action | What it does | Slug | | - | - | - | | Create a deploy key | Creates a deploy key for a repository. | `GITHUB_CREATE_A_DEPLOY_KEY` | | Delete deploy key | Deletes a specific deploy key from a repository. | `GITHUB_DELETE_DEPLOY_KEY` | | Action | What it does | Slug | | - | - | - | | Add org runner labels | Adds new custom labels to an existing self-hosted runner for an organization. | `GITHUB_ADD_ORG_RUNNER_LABELS` | | Add runner labels | Adds and appends custom labels to a self-hosted repository runner, which must be registered and active. | `GITHUB_ADD_RUNNER_LABELS` | | Clear self hosted runner org labels | Removes all custom labels from a self-hosted runner for an organization. | `GITHUB_CLEAR_SELF_HOSTED_RUNNER_ORG_LABELS` | | Delete label | Permanently removes an existing label from a repository. | `GITHUB_DELETE_LABEL` | | Remove custom label from repo runner | | `GITHUB_REMOVE_CUSTOM_LABEL_FROM_REPO_RUNNER` | | Remove custom label from self hosted runner | | `GITHUB_REMOVE_CUSTOM_LABEL_FROM_SELF_HOSTED_RUNNER` | | Remove custom labels from self hosted repo runner | | `GITHUB_REMOVE_CUSTOM_LABELS_FROM_SELF_HOSTED_REPO_RUNNER` | | Set org runner labels | | `GITHUB_SET_ORG_RUNNER_LABELS` | | Set repo runner labels | | `GITHUB_SET_REPO_RUNNER_LABELS` | | Action | What it does | Slug | | - | - | - | | Create user list | Create a new user list on GitHub. | `GITHUB_CREATE_USER_LIST` | | Delete user list | Delete a GitHub user list using GraphQL. | `GITHUB_DELETE_USER_LIST` | | Update user list | | `GITHUB_UPDATE_USER_LIST` | | Update user lists for item | | `GITHUB_UPDATE_USER_LISTS_FOR_ITEM` | | Action | What it does | Slug | | - | - | - | | Delete workflow run logs | Deletes all logs for a specific workflow run in a GitHub repository, provided the repository and run exist. | `GITHUB_DELETE_WORKFLOW_RUN_LOGS` | | Action | What it does | Slug | | - | - | - | | Convert org member to outside collaborator | Converts an existing organization member, who is not an owner, to an outside collaborator, restricting their access to explicitly granted repositories. | `GITHUB_CONVERT_ORG_MEMBER_TO_OUTSIDE_COLLABORATOR` | | Remove an organization member | | `GITHUB_REMOVE_AN_ORGANIZATION_MEMBER` | | Remove public org membership | | `GITHUB_REMOVE_PUBLIC_ORG_MEMBERSHIP` | | Remove team membership | | `GITHUB_REMOVE_TEAM_MEMBERSHIP` | | Remove team membership for a user | | `GITHUB_REMOVE_TEAM_MEMBERSHIP_FOR_A_USER` | | Action | What it does | Slug | | - | - | - | | Abort repository migration | Abort a repository migration that is queued or in progress. | `GITHUB_ABORT_REPOSITORY_MIGRATION` | | Action | What it does | Slug | | - | - | - | | Delete milestone | Deletes the specified milestone if it exists. | `GITHUB_DELETE_MILESTONE` | | Action | What it does | Slug | | - | - | - | | Mark notifications as read | | `GITHUB_MARK_NOTIFICATIONS_AS_READ` | | Mark repository notifications as read | | `GITHUB_MARK_REPOSITORY_NOTIFICATIONS_AS_READ` | | Action | What it does | Slug | | - | - | - | | Create or update custom properties for an org | Creates new custom property schemas or updates existing ones in bulk for a specified organization. | `GITHUB_CREATE_OR_UPDATE_CUSTOM_PROPERTIES_FOR_AN_ORG` | | Create or update custom property org | Creates a new custom property (name must be unique for creation) or updates an existing one for an organization to define metadata for its repositories. | `GITHUB_CREATE_OR_UPDATE_CUSTOM_PROPERTY_ORG` | | Delete organization | Deletes a GitHub organization and its repositories. | `GITHUB_DELETE_ORGANIZATION` | | Follow organization GraphQL | Follow a GitHub organization using GraphQL. | `GITHUB_FOLLOW_ORGANIZATION_GRAPHQL` | | Remove users codespaces access org | | `GITHUB_REMOVE_USERS_CODESPACES_ACCESS_ORG` | | Set org allowed actions | | `GITHUB_SET_ORG_ALLOWED_ACTIONS` | | Unfollow organization | | `GITHUB_UNFOLLOW_ORGANIZATION` | | Update an organization | | `GITHUB_UPDATE_AN_ORGANIZATION` | | Update token org access | | `GITHUB_UPDATE_TOKEN_ORG_ACCESS` | | Action | What it does | Slug | | - | - | - | | Delete org package | Deletes a specific package in an organization. | `GITHUB_DELETE_ORG_PACKAGE` | | Delete package | Permanently deletes a specific package owned by the authenticated user. | `GITHUB_DELETE_PACKAGE` | | Delete user package | Deletes a package owned by the specified user, requiring admin permissions for the authenticated user. | `GITHUB_DELETE_USER_PACKAGE` | | Restore a package for a user | | `GITHUB_RESTORE_A_PACKAGE_FOR_A_USER` | | Restore a package for an organization | | `GITHUB_RESTORE_A_PACKAGE_FOR_AN_ORGANIZATION` | | Restore a package for the authenticated user | | `GITHUB_RESTORE_A_PACKAGE_FOR_THE_AUTHENTICATED_USER` | | Action | What it does | Slug | | - | - | - | | Request a GitHub pages build | | `GITHUB_REQUEST_A_GITHUB_PAGES_BUILD` | | Action | What it does | Slug | | - | - | - | | Create a deployment branch policy | Creates a deployment branch or tag policy for an existing environment in a GitHub repository, using a Ruby File.fnmatch pattern (where doesn't match /) to specify which branches or tags are deployable. | `GITHUB_CREATE_A_DEPLOYMENT_BRANCH_POLICY` | | Delete deployment branch policy | Deletes a specific deployment branch or tag policy, identified by its ID, from a given environment within a repository. | `GITHUB_DELETE_DEPLOYMENT_BRANCH_POLICY` | | Update a deployment branch policy | | `GITHUB_UPDATE_A_DEPLOYMENT_BRANCH_POLICY` | | Action | What it does | Slug | | - | - | - | | Create a repository project | Creates a new GitHub Projects V2 project board linked to a specified repository. | `GITHUB_CREATE_A_REPOSITORY_PROJECT` | | Create a user project | Creates a new GitHub Projects V2 project board for the authenticated user to organize and track issues, pull requests, and notes. | `GITHUB_CREATE_A_USER_PROJECT` | | Create an organization project | Creates a new classic project board within a specified GitHub organization. | `GITHUB_CREATE_AN_ORGANIZATION_PROJECT` | | Delete project | Deletes the specified GitHub project (Projects V2) using the GraphQL API. | `GITHUB_DELETE_PROJECT` | | Remove a project from a team | | `GITHUB_REMOVE_A_PROJECT_FROM_A_TEAM` | | Update a project | | `GITHUB_UPDATE_A_PROJECT` | | Action | What it does | Slug | | - | - | - | | Manage custom properties for org repos | | `GITHUB_MANAGE_CUSTOM_PROPERTIES_FOR_ORG_REPOS` | | Remove a custom property for an organization | | `GITHUB_REMOVE_A_CUSTOM_PROPERTY_FOR_AN_ORGANIZATION` | | Upsert repo custom property values | | `GITHUB_UPSERT_REPO_CUSTOM_PROPERTY_VALUES` | | Action | What it does | Slug | | - | - | - | | Run graph ql query | | `GITHUB_RUN_GRAPH_QL_QUERY` | | Run graph ql relay query | | `GITHUB_RUN_GRAPH_QL_RELAY_QUERY` | | Action | What it does | Slug | | - | - | - | | Delete a release | Permanently deletes a specific release, its assets, and potentially its associated Git tag from a repository. | `GITHUB_DELETE_A_RELEASE` | | Action | What it does | Slug | | - | - | - | | Add repo to org secret with selected access | Adds a repository to an existing organization-level GitHub Actions secret that is configured for 'selected' repository access. | `GITHUB_ADD_REPO_TO_ORG_SECRET_WITH_SELECTED_ACCESS` | | Add repo to org secret with selected visibility | Grants an existing repository access to an existing organization-level Dependabot secret when the secret's visibility is set to 'selected'. | `GITHUB_ADD_REPO_TO_ORG_SECRET_WITH_SELECTED_VISIBILITY` | | Add repository to app installation | Adds a repository to a GitHub App installation, granting the app access. | `GITHUB_ADD_REPOSITORY_TO_APP_INSTALLATION` | | Add selected repository to organization secret | Adds a repository to an organization secret's access list when the secret's visibility is 'selected'. | `GITHUB_ADD_SELECTED_REPOSITORY_TO_ORGANIZATION_SECRET` | | Add selected repository to organization variable | Grants a repository access to an organization-level GitHub Actions variable, if that variable's visibility is set to 'selected\_repositories'. | `GITHUB_ADD_SELECTED_REPOSITORY_TO_ORGANIZATION_VARIABLE` | | Add selected repository to user secret | Grants a specified repository access to an authenticated user's existing Codespaces secret, enabling Codespaces created for that repository to use the secret. | `GITHUB_ADD_SELECTED_REPOSITORY_TO_USER_SECRET` | | Create a repository for the authenticated user | Creates a new repository for the authenticated user, optionally within an organization if team\_id is specified. | `GITHUB_CREATE_A_REPOSITORY_FOR_THE_AUTHENTICATED_USER` | | Create a repository from an unpublished codespace | Publishes the specified codespace to a new repository, using the codespace's current state as the initial commit. | `GITHUB_CREATE_A_REPOSITORY_FROM_AN_UNPUBLISHED_CODESPACE` | | Create an autolink reference for a repository | Creates a repository autolink to automatically convert text references (e.g., 'TICKET-123') into hyperlinks, using a unique key\_prefix and a url\_template that includes \. | `GITHUB_CREATE_AN_AUTOLINK_REFERENCE_FOR_A_REPOSITORY` | | Create an organization repository | Creates a new repository within a specified GitHub organization, with options for detailed configuration including visibility, features, merge strategies, initial commit, and templates. | `GITHUB_CREATE_AN_ORGANIZATION_REPOSITORY` | | Create repository | | `GITHUB_CREATE_REPOSITORY` | | Delete a repository | Permanently deletes the specified repository. | `GITHUB_DELETE_A_REPOSITORY` | | Disable private vuln reporting for repo | Disables private vulnerability reporting for an existing GitHub repository, preventing direct private vulnerability reports to maintainers via GitHub's interface for this repository. | `GITHUB_DISABLE_PRIVATE_VULN_REPORTING_FOR_REPO` | | Disable repository actions in org | Removes a repository from the list of selected repositories enabled for GitHub Actions in an organization. | `GITHUB_DISABLE_REPOSITORY_ACTIONS_IN_ORG` | | Enable GitHub actions in selected repositories | Sets the specific repositories that can use GitHub Actions within an organization by replacing the current list. | `GITHUB_ENABLE_GITHUB_ACTIONS_IN_SELECTED_REPOSITORIES` | | Enable private vuln reporting for repo | Enables private vulnerability reporting for a repository, allowing security researchers to privately submit vulnerability reports to maintainers. | `GITHUB_ENABLE_PRIVATE_VULN_REPORTING_FOR_REPO` | | Enable repo for GitHub actions | Adds a repository to the list of selected repositories enabled for GitHub Actions in an organization. | `GITHUB_ENABLE_REPO_FOR_GITHUB_ACTIONS` | | Remove a repository from a team | | `GITHUB_REMOVE_A_REPOSITORY_FROM_A_TEAM` | | Remove a repository from an app installation | | `GITHUB_REMOVE_A_REPOSITORY_FROM_AN_APP_INSTALLATION` | | Remove a selected repository from a user secret | | `GITHUB_REMOVE_A_SELECTED_REPOSITORY_FROM_A_USER_SECRET` | | Remove repo from org dev env secret | | `GITHUB_REMOVE_REPO_FROM_ORG_DEV_ENV_SECRET` | | Remove repo from org secret with selected visibility | | `GITHUB_REMOVE_REPO_FROM_ORG_SECRET_WITH_SELECTED_VISIBILITY` | | Remove selected repo from org secret | | `GITHUB_REMOVE_SELECTED_REPO_FROM_ORG_SECRET` | | Remove selected repo from org variable | | `GITHUB_REMOVE_SELECTED_REPO_FROM_ORG_VARIABLE` | | Replace all repository topics | | `GITHUB_REPLACE_ALL_REPOSITORY_TOPICS` | | Replace repo access on org dev env secret set | | `GITHUB_REPLACE_REPO_ACCESS_ON_ORG_DEV_ENV_SECRET_SET` | | Set repo allowed actions | | `GITHUB_SET_REPO_ALLOWED_ACTIONS` | | Set selected repos for org variable | | `GITHUB_SET_SELECTED_REPOS_FOR_ORG_VARIABLE` | | Set selected repositories for a user secret | | `GITHUB_SET_SELECTED_REPOSITORIES_FOR_A_USER_SECRET` | | Set selected repositories for an organization secret | | `GITHUB_SET_SELECTED_REPOSITORIES_FOR_AN_ORGANIZATION_SECRET` | | Star a repository for the authenticated user | | `GITHUB_STAR_A_REPOSITORY_FOR_THE_AUTHENTICATED_USER` | | Transfer a repository | | `GITHUB_TRANSFER_A_REPOSITORY` | | Unlock organization repository | | `GITHUB_UNLOCK_ORGANIZATION_REPOSITORY` | | Unlock user repository | | `GITHUB_UNLOCK_USER_REPOSITORY` | | Unstar repository | | `GITHUB_UNSTAR_REPOSITORY` | | Update a repository | | `GITHUB_UPDATE_A_REPOSITORY` | | Action | What it does | Slug | | - | - | - | | Review resource requests with fine grained tokens | | `GITHUB_REVIEW_RESOURCE_REQUESTS_WITH_FINE_GRAINED_TOKENS` | | Update resource access with tokens | | `GITHUB_UPDATE_RESOURCE_ACCESS_WITH_TOKENS` | | Action | What it does | Slug | | - | - | - | | Add or update team project permissions | Adds a classic project to a team or updates the team's permission on it. | `GITHUB_ADD_OR_UPDATE_TEAM_PROJECT_PERMISSIONS` | | Add or update team repository permissions | Sets or updates a team's permission level for a repository within an organization. | `GITHUB_ADD_OR_UPDATE_TEAM_REPOSITORY_PERMISSIONS` | | Assign organization role to team | Assigns an existing organization-level role (identified by role\_id) to a team (identified by team\_slug) within a GitHub organization (org), provided the organization, team, and role already exist. | `GITHUB_ASSIGN_ORGANIZATION_ROLE_TO_TEAM` | | Assign organization role to user | Assigns a specific organization role to a user who is a member or an outside collaborator in a GitHub organization, using a valid role ID. | `GITHUB_ASSIGN_ORGANIZATION_ROLE_TO_USER` | | Create a custom organization role | Creates a custom role with defined permissions within a GitHub organization. | `GITHUB_CREATE_A_CUSTOM_ORGANIZATION_ROLE` | | Delete custom organization role | Deletes a custom organization role (which should not be actively assigned) by its ID. | `GITHUB_DELETE_CUSTOM_ORGANIZATION_ROLE` | | Remove all organization roles for a team | | `GITHUB_REMOVE_ALL_ORGANIZATION_ROLES_FOR_A_TEAM` | | Remove all organization roles for a user | | `GITHUB_REMOVE_ALL_ORGANIZATION_ROLES_FOR_A_USER` | | Remove an organization role from a team | | `GITHUB_REMOVE_AN_ORGANIZATION_ROLE_FROM_A_TEAM` | | Remove an organization role from a user | | `GITHUB_REMOVE_AN_ORGANIZATION_ROLE_FROM_A_USER` | | Set default workflow permissions for a repository | | `GITHUB_SET_DEFAULT_WORKFLOW_PERMISSIONS_FOR_A_REPOSITORY` | | Set default workflow permissions for an organization | | `GITHUB_SET_DEFAULT_WORKFLOW_PERMISSIONS_FOR_AN_ORGANIZATION` | | Set GitHub actions permissions for a repository | | `GITHUB_SET_GITHUB_ACTIONS_PERMISSIONS_FOR_A_REPOSITORY` | | Set GitHub actions permissions for an organization | | `GITHUB_SET_GITHUB_ACTIONS_PERMISSIONS_FOR_AN_ORGANIZATION` | | Update a custom organization role | | `GITHUB_UPDATE_A_CUSTOM_ORGANIZATION_ROLE` | | Action | What it does | Slug | | - | - | - | | Create deployment protection rule | Enables a custom deployment protection rule for an existing environment in a repository by linking a configured GitHub App (via integration\_id) to control deployments. | `GITHUB_CREATE_DEPLOYMENT_PROTECTION_RULE` | | Disable a custom protection rule for an environment | Disables a specific, currently active custom deployment protection rule for an existing environment within a GitHub repository. | `GITHUB_DISABLE_A_CUSTOM_PROTECTION_RULE_FOR_AN_ENVIRONMENT` | | Review deployment protection rules | | `GITHUB_REVIEW_DEPLOYMENT_PROTECTION_RULES` | | Action | What it does | Slug | | - | - | - | | Create a repository ruleset | Creates a uniquely named ruleset for a repository, defining rules for branches or tags with specified enforcement, conditions, and bypass actors. | `GITHUB_CREATE_A_REPOSITORY_RULESET` | | Delete a repository ruleset | Permanently deletes a repository ruleset. | `GITHUB_DELETE_A_REPOSITORY_RULESET` | | Update a repository ruleset | | `GITHUB_UPDATE_A_REPOSITORY_RULESET` | | Action | What it does | Slug | | - | - | - | | Configure jit runner for org | Generates a JIT configuration for a GitHub organization's new self-hosted runner to run a single job then unregister. | `GITHUB_CONFIGURE_JIT_RUNNER_FOR_ORG` | | Delete a self hosted runner from a repository | Removes a specific self-hosted runner (by runner\_id) from a repository, if registered there. | `GITHUB_DELETE_A_SELF_HOSTED_RUNNER_FROM_A_REPOSITORY` | | Delete a self hosted runner from an organization | Forces the removal of a self-hosted runner from a GitHub organization. | `GITHUB_DELETE_A_SELF_HOSTED_RUNNER_FROM_AN_ORGANIZATION` | | Action | What it does | Slug | | - | - | - | | Approve workflow run for fork pull request | Approves a workflow run from a forked repository's pull request. | `GITHUB_APPROVE_WORKFLOW_RUN_FOR_FORK_PULL_REQUEST` | | Cancel workflow run | Cancels a workflow run in a GitHub repository if it is in a cancellable state (e.g., 'in\_progress' or 'queued'). | `GITHUB_CANCEL_WORKFLOW_RUN` | | Delete a workflow run | Deletes a specific workflow run from a repository. | `GITHUB_DELETE_A_WORKFLOW_RUN` | | Force cancel workflow run | Forcefully cancels a queued or in-progress GitHub Actions workflow run, bypassing conditions like always() that would otherwise continue execution. | `GITHUB_FORCE_CANCEL_WORKFLOW_RUN` | | Action | What it does | Slug | | - | - | - | | Create or update a repository secret | Creates or updates a GitHub Actions secret within a specific repository. | `GITHUB_CREATE_OR_UPDATE_A_REPOSITORY_SECRET` | | Create or update an environment secret | Creates or updates an environment secret with an encrypted\_value that was encrypted using the public key identified by key\_id for the specified environment. | `GITHUB_CREATE_OR_UPDATE_AN_ENVIRONMENT_SECRET` | | Create or update an organization secret | Creates or updates an organization secret for GitHub Actions, requiring its value to be pre-encrypted via LibSodium using the organization's public key. | `GITHUB_CREATE_OR_UPDATE_AN_ORGANIZATION_SECRET` | | Create or update repo secret with encrypted value | Creates or updates a Dependabot secret in a repository using an encrypted\_value (pre-encrypted with LibSodium using the repository's Dependabot public key) and its corresponding key\_id. | `GITHUB_CREATE_OR_UPDATE_REPO_SECRET_WITH_ENCRYPTED_VALUE` | | Create update org secret with lib sodium | Creates or updates a Dependabot organization secret, requiring the secret value to be pre-encrypted with LibSodium using the organization's public key obtained from the 'Get an organization public key' endpoint. | `GITHUB_CREATE_UPDATE_ORG_SECRET_WITH_LIB_SODIUM` | | Delete a repository secret | Deletes a named GitHub Actions secret from a specified repository. | `GITHUB_DELETE_A_REPOSITORY_SECRET` | | Delete a secret for the authenticated user | Deletes an existing Codespaces secret for the authenticated user by secret\_name. | `GITHUB_DELETE_A_SECRET_FOR_THE_AUTHENTICATED_USER` | | Delete dependebot secret by name | Deletes a specific Dependabot secret, identified by its name, from a given repository if both the repository and secret exist. | `GITHUB_DELETE_DEPENDEBOT_SECRET_BY_NAME` | | Delete environment secret | Deletes an existing and accessible secret from a specified environment within a GitHub repository, returning an empty dictionary on success or error details otherwise. | `GITHUB_DELETE_ENVIRONMENT_SECRET` | | Delete organization secret | Permanently deletes a secret from a GitHub organization, making it inaccessible to GitHub Actions workflows or other tools. | `GITHUB_DELETE_ORGANIZATION_SECRET` | | Delete repo codespace secret by name | Deletes a specific Codespace secret from a repository by its name. | `GITHUB_DELETE_REPO_CODESPACE_SECRET_BY_NAME` | | Encrypt and update dev secret | Creates or updates a repository's development environment secret using an encrypted\_value and its corresponding key\_id. | `GITHUB_ENCRYPT_AND_UPDATE_DEV_SECRET` | | Encrypt org dev env secret | Creates or updates an organization's GitHub Codespaces secret using an encrypted value and its corresponding public key ID. | `GITHUB_ENCRYPT_ORG_DEV_ENV_SECRET` | | Manage secrets in selected repositories | | `GITHUB_MANAGE_SECRETS_IN_SELECTED_REPOSITORIES` | | Remove org dev env secret by name | | `GITHUB_REMOVE_ORG_DEV_ENV_SECRET_BY_NAME` | | Remove org secret by name | | `GITHUB_REMOVE_ORG_SECRET_BY_NAME` | | Replace org secret visibility to selected | | `GITHUB_REPLACE_ORG_SECRET_VISIBILITY_TO_SELECTED` | | Action | What it does | Slug | | - | - | - | | Create jit runner config | Generates a temporary Just-In-Time (JIT) configuration for a new self-hosted GitHub Actions runner for a repository. | `GITHUB_CREATE_JIT_RUNNER_CONFIG` | | Update Git LFS preference | | `GITHUB_UPDATE_GIT_LFS_PREFERENCE` | | Update organization webhook configuration | | `GITHUB_UPDATE_ORGANIZATION_WEBHOOK_CONFIGURATION` | | Update repository preferences for check suites | | `GITHUB_UPDATE_REPOSITORY_PREFERENCES_FOR_CHECK_SUITES` | | Update repository webhook configuration | | `GITHUB_UPDATE_REPOSITORY_WEBHOOK_CONFIGURATION` | | Action | What it does | Slug | | - | - | - | | Create a GitHub pages site | Configures or updates GitHub Pages for a repository, setting build type and source. | `GITHUB_CREATE_A_GITHUB_PAGES_SITE` | | Create or update GitHub pages site | Enable or update GitHub Pages configuration for a repository. | `GITHUB_CREATE_OR_UPDATE_GITHUB_PAGES_SITE` | | Delete GitHub pages site | Deletes the GitHub Pages site for the specified repository. | `GITHUB_DELETE_GITHUB_PAGES_SITE` | | Action | What it does | Slug | | - | - | - | | Create a snapshot of dependencies for a repository | Creates a snapshot of a repository's dependencies to populate the GitHub dependency graph and enable security alerts. | `GITHUB_CREATE_A_SNAPSHOT_OF_DEPENDENCIES_FOR_A_REPOSITORY` | | Action | What it does | Slug | | - | - | - | | Add team access restrictions | Adds teams to the list of teams with push access to a protected branch. | `GITHUB_ADD_TEAM_ACCESS_RESTRICTIONS` | | Create a team | Creates a new team in an organization, optionally with maintainers, repositories, specific privacy, notification settings, or a parent team. | `GITHUB_CREATE_A_TEAM` | | Delete a team | Deletes a team (and any child teams) from an organization. | `GITHUB_DELETE_A_TEAM` | | Remove team access restrictions | | `GITHUB_REMOVE_TEAM_ACCESS_RESTRICTIONS` | | Set team access restrictions | | `GITHUB_SET_TEAM_ACCESS_RESTRICTIONS` | | Update a team | | `GITHUB_UPDATE_A_TEAM` | | Action | What it does | Slug | | - | - | - | | Configure oidc subject claim template | Sets or updates the OIDC subject claim customization template for an existing GitHub organization by specifying which claims (e.g., 'repo', 'actor') form the OIDC token's subject (sub). | `GITHUB_CONFIGURE_OIDC_SUBJECT_CLAIM_TEMPLATE` | | Create a repository using a template | Creates a new repository from an existing template repository. | `GITHUB_CREATE_A_REPOSITORY_USING_A_TEMPLATE` | | Set oidc subject claim template | | `GITHUB_SET_OIDC_SUBJECT_CLAIM_TEMPLATE` | | Action | What it does | Slug | | - | - | - | | Mark a thread as done | | `GITHUB_MARK_A_THREAD_AS_DONE` | | Mark a thread as read | | `GITHUB_MARK_A_THREAD_AS_READ` | | Action | What it does | Slug | | - | - | - | | Create a registration token for a repository | Generates a time-limited token required to register a new self-hosted runner with a specific repository. | `GITHUB_CREATE_A_REGISTRATION_TOKEN_FOR_A_REPOSITORY` | | Create a registration token for an organization | Generates a temporary (one-hour) registration token to add a new self-hosted runner to an organization for GitHub Actions. | `GITHUB_CREATE_A_REGISTRATION_TOKEN_FOR_AN_ORGANIZATION` | | Create a remove token for a repository | Generates a temporary (one-hour validity) token required to unregister and remove a self-hosted runner from a repository. | `GITHUB_CREATE_A_REMOVE_TOKEN_FOR_A_REPOSITORY` | | Create a remove token for an organization | Generates a token, valid for one hour, to authenticate removing a self-hosted runner from an organization. | `GITHUB_CREATE_A_REMOVE_TOKEN_FOR_AN_ORGANIZATION` | | Create a scoped access token | Exchanges a user-to-server token for a new, fine-grained scoped access token for a GitHub App, requiring client\_id, access\_token, either target or target\_id, and at least one permission. | `GITHUB_CREATE_A_SCOPED_ACCESS_TOKEN` | | Delete app token | Revokes a single OAuth access token for an OAuth App or GitHub App with OAuth authorization. | `GITHUB_DELETE_APP_TOKEN` | | Reset a token | | `GITHUB_RESET_A_TOKEN` | | Review access with personal token | | `GITHUB_REVIEW_ACCESS_WITH_PERSONAL_TOKEN` | | Revoke an installation access token | | `GITHUB_REVOKE_AN_INSTALLATION_ACCESS_TOKEN` | | Action | What it does | Slug | | - | - | - | | Create issue type | Create a new issue type for a GitHub organization. | `GITHUB_CREATE_ISSUE_TYPE` | | Update issue type | | `GITHUB_UPDATE_ISSUE_TYPE` | | Action | What it does | Slug | | - | - | - | | Set user interaction limit graph ql | | `GITHUB_SET_USER_INTERACTION_LIMIT_GRAPH_QL` | | Action | What it does | Slug | | - | - | - | | Add or update team membership for user | Adds a GitHub user to a team or updates their role (member or maintainer), inviting them to the organization if not already a member. | `GITHUB_ADD_OR_UPDATE_TEAM_MEMBERSHIP_FOR_USER` | | Add user access restrictions | Adds users to the list of people allowed to push to a protected branch in an organization repository. | `GITHUB_ADD_USER_ACCESS_RESTRICTIONS` | | Add users to codespaces access for organization | Adds organization members to the list of users granted Codespaces access billed to the organization. | `GITHUB_ADD_USERS_TO_CODESPACES_ACCESS_FOR_ORGANIZATION` | | Block user | Blocks an existing individual GitHub user (not an organization or your own account), preventing them from interacting with your account and repositories. | `GITHUB_BLOCK_USER` | | Block user from organization | Blocks a GitHub user from an organization, preventing their contributions, collaboration, and forking of the organization's repositories. | `GITHUB_BLOCK_USER_FROM_ORGANIZATION` | | Create or update a secret for the authenticated user | Creates or updates a Codespaces secret for the authenticated user. | `GITHUB_CREATE_OR_UPDATE_A_SECRET_FOR_THE_AUTHENTICATED_USER` | | Follow user | Allows the authenticated user to follow the GitHub user specified by username. | `GITHUB_FOLLOW_USER` | | Follow user GraphQL | Follow a GitHub user using GraphQL. | `GITHUB_FOLLOW_USER_GRAPHQL` | | Remove user access restrictions | | `GITHUB_REMOVE_USER_ACCESS_RESTRICTIONS` | | Remove user as a collaborator | | `GITHUB_REMOVE_USER_AS_A_COLLABORATOR` | | Set user access restrictions | | `GITHUB_SET_USER_ACCESS_RESTRICTIONS` | | Unblock a user | | `GITHUB_UNBLOCK_A_USER` | | Unblock user from organization | | `GITHUB_UNBLOCK_USER_FROM_ORGANIZATION` | | Unfollow a user | | `GITHUB_UNFOLLOW_A_USER` | | Unfollow user | | `GITHUB_UNFOLLOW_USER` | | Update the authenticated user | | `GITHUB_UPDATE_THE_AUTHENTICATED_USER` | | Update user status | | `GITHUB_UPDATE_USER_STATUS` | | Action | What it does | Slug | | - | - | - | | Create a repository variable | Creates a new, unencrypted variable in a repository for GitHub Actions workflows. | `GITHUB_CREATE_A_REPOSITORY_VARIABLE` | | Create an environment variable | Creates an encrypted environment variable for a pre-existing environment within a GitHub repository. | `GITHUB_CREATE_AN_ENVIRONMENT_VARIABLE` | | Create an organization variable | Creates a new, uniquely named GitHub Actions variable for an organization, with configurable repository access visibility (all, private, or selected). | `GITHUB_CREATE_AN_ORGANIZATION_VARIABLE` | | Delete a repository variable | Deletes a named variable (e.g., for GitHub Actions workflows) from a repository. | `GITHUB_DELETE_A_REPOSITORY_VARIABLE` | | Delete environment variable | Deletes a named environment variable from a specified, existing environment within a GitHub repository. | `GITHUB_DELETE_ENVIRONMENT_VARIABLE` | | Delete organization variable | Deletes a named GitHub Actions variable from a specified organization. | `GITHUB_DELETE_ORGANIZATION_VARIABLE` | | Update a repository variable | | `GITHUB_UPDATE_A_REPOSITORY_VARIABLE` | | Update an environment variable | | `GITHUB_UPDATE_AN_ENVIRONMENT_VARIABLE` | | Update an organization variable | | `GITHUB_UPDATE_AN_ORGANIZATION_VARIABLE` | | Action | What it does | Slug | | - | - | - | | Delete a package version for the authenticated user | Deletes an existing package version associated with the authenticated user. | `GITHUB_DELETE_A_PACKAGE_VERSION_FOR_THE_AUTHENTICATED_USER` | | Delete package version | Delete a package version using GitHub GraphQL API. | `GITHUB_DELETE_PACKAGE_VERSION` | | Delete package version for a user | Permanently and irreversibly deletes a specific version of a package owned by the specified user. | `GITHUB_DELETE_PACKAGE_VERSION_FOR_A_USER` | | Delete package version for an organization | Deletes a specific package version within an organization. | `GITHUB_DELETE_PACKAGE_VERSION_FOR_AN_ORGANIZATION` | | Restore a package version for the authenticated user | | `GITHUB_RESTORE_A_PACKAGE_VERSION_FOR_THE_AUTHENTICATED_USER` | | Restore package version for a user | | `GITHUB_RESTORE_PACKAGE_VERSION_FOR_A_USER` | | Restore package version for an organization | | `GITHUB_RESTORE_PACKAGE_VERSION_FOR_AN_ORGANIZATION` | | Action | What it does | Slug | | - | - | - | | Create view for user project | Create a new view in a user-owned GitHub project (Projects V2). | `GITHUB_CREATE_VIEW_FOR_USER_PROJECT` | | Action | What it does | Slug | | - | - | - | | Create a repository webhook | Creates a webhook for a specified repository. | `GITHUB_CREATE_A_REPOSITORY_WEBHOOK` | | Create an organization webhook | Creates a webhook for a GitHub organization to deliver event notifications to a configured URL. | `GITHUB_CREATE_AN_ORGANIZATION_WEBHOOK` | | Delete a repository webhook | Deletes a specific webhook from a repository. | `GITHUB_DELETE_A_REPOSITORY_WEBHOOK` | | Delete organization webhook | Deletes a specific webhook, identified by hook\_id, from an existing organization. | `GITHUB_DELETE_ORGANIZATION_WEBHOOK` | | Ping a repository webhook | | `GITHUB_PING_A_REPOSITORY_WEBHOOK` | | Ping an organization webhook | | `GITHUB_PING_AN_ORGANIZATION_WEBHOOK` | | Redeliver a delivery for a repository webhook | | `GITHUB_REDELIVER_A_DELIVERY_FOR_A_REPOSITORY_WEBHOOK` | | Redeliver a delivery for an organization webhook | | `GITHUB_REDELIVER_A_DELIVERY_FOR_AN_ORGANIZATION_WEBHOOK` | | Test repository webhook | | `GITHUB_TEST_REPOSITORY_WEBHOOK` | | Update a repository webhook | | `GITHUB_UPDATE_A_REPOSITORY_WEBHOOK` | | Update an organization webhook | | `GITHUB_UPDATE_AN_ORGANIZATION_WEBHOOK` | | Action | What it does | Slug | | - | - | - | | Disable a workflow | Disables a specified workflow (by ID or filename) in a given GitHub repository, preventing new automatic triggers. | `GITHUB_DISABLE_A_WORKFLOW` | | Enable a workflow | Reactivates a currently disabled GitHub Actions workflow within a repository using its workflow ID or filename. | `GITHUB_ENABLE_A_WORKFLOW` | | Re run a workflow | | `GITHUB_RE_RUN_A_WORKFLOW` | | Set workflow external access | | `GITHUB_SET_WORKFLOW_EXTERNAL_ACCESS` | | Action | What it does | Slug | | - | - | - | | Add status check contexts | Adds status check contexts to a protected branch's required status checks. | `GITHUB_ADD_STATUS_CHECK_CONTEXTS` | | Cancel sponsorship | Cancel an active GitHub sponsorship using GraphQL. | `GITHUB_CANCEL_SPONSORSHIP` | | Create sponsors tier | Create a new payment tier for your GitHub Sponsors profile using GraphQL. | `GITHUB_CREATE_SPONSORS_TIER` | | Create sponsorship | Start a new GitHub sponsorship or reactivate a past sponsorship using GraphQL. | `GITHUB_CREATE_SPONSORSHIP` | | Delete access restrictions | Removes all user, team, and app-based access restrictions from a protected branch. | `GITHUB_DELETE_ACCESS_RESTRICTIONS` | | Delete autolink reference | Deletes a specific autolink reference (which automatically links external resource IDs like JIRA-123 to URLs) from the specified repository. | `GITHUB_DELETE_AUTOLINK_REFERENCE` | | Publish sponsors tier graph ql | | `GITHUB_PUBLISH_SPONSORS_TIER_GRAPH_QL` | | Remove status check contexts | | `GITHUB_REMOVE_STATUS_CHECK_CONTEXTS` | | Retire sponsors tier | | `GITHUB_RETIRE_SPONSORS_TIER` | | Set status check contexts | | `GITHUB_SET_STATUS_CHECK_CONTEXTS` | | Upload SARIF analysis | | `GITHUB_UPLOAD_SARIF_ANALYSIS` | ## Connect GitHub Before you start: * You need a GitHub account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **GitHub** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect GitHub**. The GitHub sign-in page opens in a new tab. Sign in to GitHub and approve the request. Check that it works: GitHub shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the GitHub account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the GitHub account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one GitHub account Click **+ Account** on the GitHub card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the GitHub side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on GitHub**. 3. Sign in to GitHub and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the GitHub account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to GitHub.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected GitHub account becomes primary. ## Costs GitHub actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to GitHub, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the GitHub connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each GitHub account has an access level: **Read-only**, **Read + write code**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the GitHub card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the GitHub account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to GitHub.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # GitLab Source: https://squad.so/docs/apps/gitlab What teammates can do in GitLab at each access level, and how to connect, limit, and disconnect GitLab. Connect GitLab so your teammates can work in your GitLab account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each GitLab account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as projects, code, merge requests, issues, and pipelines. Cannot change anything." | 65 of 123 | | **Read + write** (recommended) | "Work in projects: code, branches, merge requests, approvals, issues, notes, labels, and milestones. Cannot create projects, run pipelines, or change settings." | 92 of 123 | | **Full access** | "Everything, including projects, groups, pipelines, webhooks, branch protection, and permanent deletes." | 123 of 123 | **Read + write** is the recommended level. The connect window selects it for you, and you can choose another level. The GitLab sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my GitLab account?" The teammate can search the GitLab actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the GitLab action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 65 of the 123 GitLab actions at this level: * View members * View users * View groups * View projects * View code * View commits * View merge requests * View notes * View branches * View files * View issues * View jobs All 65 actions at this level: | Action | What it does | Slug | | - | - | - | | Get repository branch | Retrieve information about a specific branch in a project. | `GITLAB_GET_REPOSITORY_BRANCH` | | Get repository branches | Retrieves a list of repository branches for a project. | `GITLAB_GET_REPOSITORY_BRANCHES` | | Action | What it does | Slug | | - | - | - | | Get projects ID merge requests iid diffs | List all diff versions of a merge request. | `GITLAB_GET_PROJECTS_ID_MERGE_REQUESTS_IID_DIFFS` | | List merge request diffs | | `GITLAB_LIST_MERGE_REQUEST_DIFFS` | | List repository tree | | `GITLAB_LIST_REPOSITORY_TREE` | | Action | What it does | Slug | | - | - | - | | List commit comments | | `GITLAB_LIST_COMMIT_COMMENTS` | | Action | What it does | Slug | | - | - | - | | Get commit refs | Get all references (branches or tags) a commit is pushed to. | `GITLAB_GET_COMMIT_REFS` | | Get commit sequence | Get the sequence number of a commit in a project by following parent links from the given commit. | `GITLAB_GET_COMMIT_SEQUENCE` | | Get project merge request commits | Get commits of a merge request. | `GITLAB_GET_PROJECT_MERGE_REQUEST_COMMITS` | | Get single commit | Get a specific commit identified by the commit hash or name of a branch or tag. | `GITLAB_GET_SINGLE_COMMIT` | | List repository commits | Get a list of repository commits in a project. | `GITLAB_LIST_REPOSITORY_COMMITS` | | Action | What it does | Slug | | - | - | - | | List merge request discussions | | `GITLAB_LIST_MERGE_REQUEST_DISCUSSIONS` | | Action | What it does | Slug | | - | - | - | | Get file | | `GITLAB_GET_FILE` | | Get raw file | | `GITLAB_GET_RAW_FILE` | | Action | What it does | Slug | | - | - | - | | Get group | Retrieve information about a specific group by its ID. | `GITLAB_GET_GROUP` | | Get groups | | `GITLAB_GET_GROUPS` | | List project groups | List ancestor groups of a project. | `GITLAB_LIST_PROJECT_GROUPS` | | List project invited groups | List groups invited to a project. | `GITLAB_LIST_PROJECT_INVITED_GROUPS` | | List project shareable groups | List groups that can be shared with a project. | `GITLAB_LIST_PROJECT_SHAREABLE_GROUPS` | | Action | What it does | Slug | | - | - | - | | Get issue | | `GITLAB_GET_ISSUE` | | List project issues | List issues for a project with filtering options (state, labels, search, assignee, author, etc.). | `GITLAB_LIST_PROJECT_ISSUES` | | Action | What it does | Slug | | - | - | - | | Get job details | Retrieve details of a single job by its ID within a specified project. | `GITLAB_GET_JOB_DETAILS` | | Get job trace | | `GITLAB_GET_JOB_TRACE` | | List pipeline jobs | Retrieve a list of jobs for a specified pipeline within a project. | `GITLAB_LIST_PIPELINE_JOBS` | | Action | What it does | Slug | | - | - | - | | Get label | | `GITLAB_GET_LABEL` | | List labels | | `GITLAB_LIST_LABELS` | | Action | What it does | Slug | | - | - | - | | Get project languages | List programming languages used in a project with percentages. | `GITLAB_GET_PROJECT_LANGUAGES` | | Action | What it does | Slug | | - | - | - | | List project transfer locations | List namespaces available for project transfer. | `GITLAB_LIST_PROJECT_TRANSFER_LOCATIONS` | | Action | What it does | Slug | | - | - | - | | Get group member | Retrieve details for a specific group member. | `GITLAB_GET_GROUP_MEMBER` | | Get project member | Retrieve details for a specific project member. | `GITLAB_GET_PROJECT_MEMBER` | | Get project member all | Retrieve details for a specific project member (including inherited and invited members). | `GITLAB_GET_PROJECT_MEMBER_ALL` | | List all group members | List all members of a group including direct, inherited, and invited members. | `GITLAB_LIST_ALL_GROUP_MEMBERS` | | List all project members | List all members of a project (direct, inherited, invited). | `GITLAB_LIST_ALL_PROJECT_MEMBERS` | | List billable group members | List billable members of a top-level group (including its subgroups and projects). | `GITLAB_LIST_BILLABLE_GROUP_MEMBERS` | | List group members | List direct members of a group. | `GITLAB_LIST_GROUP_MEMBERS` | | List pending group members | List pending members of a group and its subgroups and projects. | `GITLAB_LIST_PENDING_GROUP_MEMBERS` | | Action | What it does | Slug | | - | - | - | | Get merge request approval state | | `GITLAB_GET_MERGE_REQUEST_APPROVAL_STATE` | | Get merge request approvals | | `GITLAB_GET_MERGE_REQUEST_APPROVALS` | | Get project merge request | Fetch full details for a single merge request when the MR IID is known. | `GITLAB_GET_PROJECT_MERGE_REQUEST` | | Get project merge requests | Retrieve a list of merge requests for a specific project. | `GITLAB_GET_PROJECT_MERGE_REQUESTS` | | List merge requests | | `GITLAB_LIST_MERGE_REQUESTS` | | Action | What it does | Slug | | - | - | - | | Get milestone | | `GITLAB_GET_MILESTONE` | | List milestones | | `GITLAB_LIST_MILESTONES` | | Action | What it does | Slug | | - | - | - | | Get issue note | | `GITLAB_GET_ISSUE_NOTE` | | Get merge request notes | Fetch comments on a merge request. | `GITLAB_GET_MERGE_REQUEST_NOTES` | | List issue notes | | `GITLAB_LIST_ISSUE_NOTES` | | Action | What it does | Slug | | - | - | - | | Get single pipeline | Retrieve details of a single pipeline by its ID within a specified project. | `GITLAB_GET_SINGLE_PIPELINE` | | List project pipelines | Retrieve a list of pipelines for a specified project. | `GITLAB_LIST_PROJECT_PIPELINES` | | Action | What it does | Slug | | - | - | - | | Download project avatar | Download a project's avatar image. | `GITLAB_DOWNLOAD_PROJECT_AVATAR` | | Action | What it does | Slug | | - | - | - | | Get project | Get a single project by ID or URL-encoded path. | `GITLAB_GET_PROJECT` | | Get projects | List all projects accessible to the authenticated user. | `GITLAB_GET_PROJECTS` | | List group projects | List projects within a GitLab group by group ID or full path. | `GITLAB_LIST_GROUP_PROJECTS` | | List user projects | List projects owned by a specific user. | `GITLAB_LIST_USER_PROJECTS` | | Action | What it does | Slug | | - | - | - | | Get time stats | | `GITLAB_GET_TIME_STATS` | | Action | What it does | Slug | | - | - | - | | Get user preferences | Get the current user's preferences. | `GITLAB_GET_USER_PREFERENCES` | | Action | What it does | Slug | | - | - | - | | List project tags | Retrieve a list of repository tags for a specified project. | `GITLAB_LIST_PROJECT_TAGS` | | Action | What it does | Slug | | - | - | - | | Get current user | | `GITLAB_GET_CURRENT_USER` | | Get user | Retrieve information about a specific user by their ID. | `GITLAB_GET_USER` | | Get user status | Get the current user's status. | `GITLAB_GET_USER_STATUS` | | Get users | Retrieve a list of users from GitLab. | `GITLAB_GET_USERS` | | Get users ID status | Get a user's status by ID. | `GITLAB_GET_USERS_ID_STATUS` | | List project users | List users of a project. | `GITLAB_LIST_PROJECT_USERS` | | Action | What it does | Slug | | - | - | - | | Get webhook | | `GITLAB_GET_WEBHOOK` | | List webhooks | | `GITLAB_LIST_WEBHOOKS` | | Action | What it does | Slug | | - | - | - | | Validate credential | | `GITLAB_VALIDATE_CREDENTIAL` | Teammates can use 92 of the 123 GitLab actions at this level: everything in **Read-only**, plus: * Create and update merge requests * Create, update, and delete notes * Create, update, and delete files * Create and update issues * Create and delete branches * Update estimates * Create and update labels * Create and update milestones * Create comments * Create commits The 27 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Branches** | Create repository branch | Create a new branch in a project. | `GITLAB_CREATE_REPOSITORY_BRANCH` | | | Delete repository branch | | `GITLAB_DELETE_REPOSITORY_BRANCH` | | **Comments** | Create commit comment | | `GITLAB_CREATE_COMMIT_COMMENT` | | **Commits** | Create commit | | `GITLAB_CREATE_COMMIT` | | **Estimates** | Reset time estimate | | `GITLAB_RESET_TIME_ESTIMATE` | | | Set time estimate | | `GITLAB_SET_TIME_ESTIMATE` | | **Files** | Create file | | `GITLAB_CREATE_FILE` | | | Delete repository file | | `GITLAB_DELETE_REPOSITORY_FILE` | | | Update repository file | | `GITLAB_UPDATE_REPOSITORY_FILE` | | **Issues** | Create project issue | Create a new issue in a GitLab project. | `GITLAB_CREATE_PROJECT_ISSUE` | | | Move issue | | `GITLAB_MOVE_ISSUE` | | | Update project issue | Update an existing issue in a GitLab project (title, description, labels, assignees, state, etc.). | `GITLAB_UPDATE_PROJECT_ISSUE` | | **Labels** | Create label | | `GITLAB_CREATE_LABEL` | | | Update label | | `GITLAB_UPDATE_LABEL` | | **Merge requests** | Approve merge request | | `GITLAB_APPROVE_MERGE_REQUEST` | | | Create merge request | | `GITLAB_CREATE_MERGE_REQUEST` | | | Merge merge request | | `GITLAB_MERGE_MERGE_REQUEST` | | | Unapprove merge request | | `GITLAB_UNAPPROVE_MERGE_REQUEST` | | | Update merge request | | `GITLAB_UPDATE_MERGE_REQUEST` | | **Milestones** | Create milestone | | `GITLAB_CREATE_MILESTONE` | | | Update milestone | | `GITLAB_UPDATE_MILESTONE` | | **Notes** | Create issue note | | `GITLAB_CREATE_ISSUE_NOTE` | | | Create merge request draft note | | `GITLAB_CREATE_MERGE_REQUEST_DRAFT_NOTE` | | | Delete issue note | | `GITLAB_DELETE_ISSUE_NOTE` | | | Update issue note | | `GITLAB_UPDATE_ISSUE_NOTE` | | **Other actions** | Add spent time | | `GITLAB_ADD_SPENT_TIME` | | | Reset spent time | | `GITLAB_RESET_SPENT_TIME` | Teammates can use 123 of the 123 GitLab actions at this level: everything in **Read + write**, plus: * Create, update, archive, delete, and share projects * Create, delete, run, and cancel pipelines * Create, update, and delete groups * Delete, cancel, and manage jobs * Create, update, and delete webhooks * Update branches * Delete labels * Create members * Delete merge requests * Delete milestones * Update settings * Update users The 31 actions that this level adds to **Read + write**: | Action | What it does | Slug | | - | - | - | | Protect branch | | `GITLAB_PROTECT_BRANCH` | | Unprotect branch | | `GITLAB_UNPROTECT_BRANCH` | | Action | What it does | Slug | | - | - | - | | Create group | Create a new group in GitLab. | `GITLAB_CREATE_GROUP` | | Delete group | | `GITLAB_DELETE_GROUP` | | Update group | | `GITLAB_UPDATE_GROUP` | | Action | What it does | Slug | | - | - | - | | Cancel job | | `GITLAB_CANCEL_JOB` | | Erase job | Erase the content of a specified job within a project. | `GITLAB_ERASE_JOB` | | Play job | | `GITLAB_PLAY_JOB` | | Action | What it does | Slug | | - | - | - | | Delete label | | `GITLAB_DELETE_LABEL` | | Action | What it does | Slug | | - | - | - | | Import project members | Import members from one project to another. | `GITLAB_IMPORT_PROJECT_MEMBERS` | | Action | What it does | Slug | | - | - | - | | Delete merge request | | `GITLAB_DELETE_MERGE_REQUEST` | | Action | What it does | Slug | | - | - | - | | Delete milestone | | `GITLAB_DELETE_MILESTONE` | | Action | What it does | Slug | | - | - | - | | Cancel pipeline | | `GITLAB_CANCEL_PIPELINE` | | Create pipeline | | `GITLAB_CREATE_PIPELINE` | | Delete pipeline | | `GITLAB_DELETE_PIPELINE` | | Retry pipeline | | `GITLAB_RETRY_PIPELINE` | | Action | What it does | Slug | | - | - | - | | Archive project | Archive a project. | `GITLAB_ARCHIVE_PROJECT` | | Create project | Create a new project in GitLab. | `GITLAB_CREATE_PROJECT` | | Delete project | Delete a GitLab project by its ID. | `GITLAB_DELETE_PROJECT` | | Fork project | | `GITLAB_FORK_PROJECT` | | Share project with group | Share a project with a group. | `GITLAB_SHARE_PROJECT_WITH_GROUP` | | Star project | | `GITLAB_STAR_PROJECT` | | Start project housekeeping | Start the housekeeping task for a project. | `GITLAB_START_PROJECT_HOUSEKEEPING` | | Unstar project | | `GITLAB_UNSTAR_PROJECT` | | Action | What it does | Slug | | - | - | - | | Put user preferences | Update the current user's preferences. | `GITLAB_PUT_USER_PREFERENCES` | | Action | What it does | Slug | | - | - | - | | Get user support pin | Get details of the current user's Support PIN. | `GITLAB_GET_USER_SUPPORT_PIN` | | Post user support pin | Create a support PIN for your authenticated user. | `GITLAB_POST_USER_SUPPORT_PIN` | | Set user status | Set the current user's status. | `GITLAB_SET_USER_STATUS` | | Action | What it does | Slug | | - | - | - | | Create webhook | | `GITLAB_CREATE_WEBHOOK` | | Delete webhook | | `GITLAB_DELETE_WEBHOOK` | | Update webhook | | `GITLAB_UPDATE_WEBHOOK` | ## Connect GitLab Before you start: * You need a GitLab account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **GitLab** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect GitLab**. The GitLab sign-in page opens in a new tab. Sign in to GitLab and approve the request. Check that it works: GitLab shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the GitLab account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the GitLab account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one GitLab account Click **+ Account** on the GitLab card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the GitLab side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on GitLab**. 3. Sign in to GitLab and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the GitLab account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to GitLab.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected GitLab account becomes primary. ## Costs GitLab actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to GitLab, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the GitLab connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each GitLab account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the GitLab card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the GitLab account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to GitLab.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Gmail Source: https://squad.so/docs/apps/gmail What teammates can do in Gmail at each access level, and how to connect, limit, and disconnect Gmail. Connect Gmail so your teammates can work in your Gmail account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Gmail account has an access level: **Read-only**, **Read + send**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as emails, threads, drafts, labels, and settings. Cannot change anything." | 29 of 62 | | **Read + send** | "Write, reply to, and forward emails, and send drafts. Cannot change, label, archive, or delete existing mail." | 35 of 62 | | **Full access** (recommended) | "Everything, including labels, filters, archiving, trash, deleting, and mail settings." | 62 of 62 | **Full access** is the recommended level. The connect window selects it for you, and you can choose another level. The Gmail sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Gmail account?" The teammate can search the Gmail actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Gmail action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 29 of the 62 Gmail actions at this level: * View emails * View settings * View drafts * View encryption settings * View filters * View labels * View and search people * View account details * View addresses * View attachments * View contacts * View history All 29 actions at this level: | Works on | Action | What it does | Slug | | - | - | - | - | | **Account details** | Who am I | | `GMAIL_WHO_AM_I` | | **Addresses** | List forwarding addresses | List all forwarding addresses for the specified Gmail account. | `GMAIL_LIST_FORWARDING_ADDRESSES` | | **Attachments** | Get attachment | Retrieves a specific attachment by ID from a message in a user's Gmail mailbox, requiring valid message and attachment IDs. | `GMAIL_GET_ATTACHMENT` | | **Contacts** | Get contacts | Fetches contacts (connections) for the authenticated Google account, allowing selection of specific data fields and pagination. | `GMAIL_GET_CONTACTS` | | **Drafts** | Get draft | Retrieves a single Gmail draft by its ID. | `GMAIL_GET_DRAFT` | | | List drafts | Retrieves a paginated list of email drafts from a user's Gmail account. | `GMAIL_LIST_DRAFTS` | | **Emails** | Fetch emails | Fetches a list of email messages from a Gmail account, supporting filtering, pagination, and optional full content retrieval. | `GMAIL_FETCH_EMAILS` | | | Fetch message by message ID | Fetches a specific email message by its ID, provided the message\_id exists and is accessible to the authenticated user\_id. | `GMAIL_FETCH_MESSAGE_BY_MESSAGE_ID` | | | Fetch message by thread ID | Retrieves messages from a Gmail thread using its thread\_id, where the thread must be accessible by the specified user\_id. | `GMAIL_FETCH_MESSAGE_BY_THREAD_ID` | | | List messages | DEPRECATED: Use GMAIL\_FETCH\_EMAILS instead. | `GMAIL_LIST_MESSAGES` | | **Encryption settings** | List cse keypairs | List client-side encryption key pairs for an authenticated user. | `GMAIL_LIST_CSE_KEYPAIRS` | | | List S/MIME info | Lists S/MIME configs for the specified send-as alias. | `GMAIL_LIST_SMIME_INFO` | | **Filters** | Get filter | Retrieve a specific Gmail filter by its ID. | `GMAIL_GET_FILTER` | | | List filters | List all Gmail filters (rules) in the mailbox. | `GMAIL_LIST_FILTERS` | | **History** | List history | List Gmail mailbox change history since a known startHistoryId. | `GMAIL_LIST_HISTORY` | | **Identities** | List cse identities | List client-side encrypted identities for an authenticated user. | `GMAIL_LIST_CSE_IDENTITIES` | | **Labels** | Get label | Gets details for a specified Gmail label. | `GMAIL_GET_LABEL` | | | List labels | Retrieves all system and user-created labels for a Gmail account in a single unpaginated response. | `GMAIL_LIST_LABELS` | | **People** | Get people | Retrieves either a specific person's details (using resource\_name) or lists 'Other Contacts' (if other\_contacts is true), with person\_fields specifying the data to return. | `GMAIL_GET_PEOPLE` | | | Search people | Searches contacts by matching the query against names, nicknames, emails, phone numbers, and organizations, optionally including 'Other Contacts'. | `GMAIL_SEARCH_PEOPLE` | | **Profiles** | Get profile | Retrieves Gmail profile information (email address, aggregate messagesTotal/threadsTotal, historyId) for a user. messagesTotal counts individual emails. | `GMAIL_GET_PROFILE` | | **Settings** | Get auto forwarding | Get the auto-forwarding setting for the specified account. | `GMAIL_GET_AUTO_FORWARDING` | | | Get language settings | Retrieve the language settings for a Gmail user. | `GMAIL_GET_LANGUAGE_SETTINGS` | | | Get vacation settings | Retrieve vacation responder settings for a Gmail user. | `GMAIL_GET_VACATION_SETTINGS` | | | Settings get IMAP | Retrieves the IMAP settings for a Gmail user account, including whether IMAP is enabled, auto-expunge behavior, expunge behavior, and maximum folder size. | `GMAIL_SETTINGS_GET_IMAP` | | | Settings get POP | Retrieve POP settings for a Gmail account. | `GMAIL_SETTINGS_GET_POP` | | | Settings send as get | Retrieve a specific send-as alias configuration for a Gmail user. | `GMAIL_SETTINGS_SEND_AS_GET` | | **Threads** | List threads | Retrieves a list of email threads from a Gmail account, identified by user\_id (email address or 'me'), supporting filtering and pagination. | `GMAIL_LIST_THREADS` | | **Other actions** | List send as | Lists the send-as aliases for a Gmail account, including the primary address and custom 'from' aliases. | `GMAIL_LIST_SEND_AS` | Teammates can use 35 of the 62 Gmail actions at this level: everything in **Read-only**, plus: * Create, update, and send drafts * Send emails The 6 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Drafts** | Create email draft | Creates a Gmail email draft. | `GMAIL_CREATE_EMAIL_DRAFT` | | | Send draft | Sends an existing draft email AS-IS to recipients already defined within the draft. | `GMAIL_SEND_DRAFT` | | | Update draft | Updates (replaces) an existing Gmail draft's content in-place by draft ID. | `GMAIL_UPDATE_DRAFT` | | **Emails** | Forward message | Forward an existing Gmail message to specified recipients, preserving original body and attachments. | `GMAIL_FORWARD_MESSAGE` | | | Send email | Sends an email via Gmail API using the authenticated user's Google profile display name. | `GMAIL_SEND_EMAIL` | | **Threads** | Reply to thread | Sends a reply within a specific Gmail thread using the original thread's subject. | `GMAIL_REPLY_TO_THREAD` | Teammates can use 62 of the 62 Gmail actions at this level: everything in **Read + send**, plus: * Create, update, and delete emails * Create, update, and delete labels * Update settings * Update and delete threads * Create and delete filters * Delete drafts The 27 actions that this level adds to **Read + send**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Drafts** | Delete draft | Permanently deletes a specific Gmail draft using its ID with no recovery possible. | `GMAIL_DELETE_DRAFT` | | **Emails** | Batch delete messages | Permanently delete multiple Gmail messages in bulk, bypassing Trash with no recovery possible. | `GMAIL_BATCH_DELETE_MESSAGES` | | | Batch modify messages | Modify labels on multiple Gmail messages in one efficient API call. | `GMAIL_BATCH_MODIFY_MESSAGES` | | | Delete message | Permanently deletes a specific email message by its ID from a Gmail mailbox. | `GMAIL_DELETE_MESSAGE` | | | Import message | Import a message into the user's mailbox with standard email delivery scanning and classification. | `GMAIL_IMPORT_MESSAGE` | | | Insert message | Insert a message into the user's mailbox similar to IMAP APPEND. | `GMAIL_INSERT_MESSAGE` | | | Move to trash | Moves an existing, non-deleted email message to the trash for the specified user. | `GMAIL_MOVE_TO_TRASH` | | | Untrash message | Remove a message from trash in Gmail. | `GMAIL_UNTRASH_MESSAGE` | | **Filters** | Create filter | Create a new Gmail filter with specified criteria and actions. | `GMAIL_CREATE_FILTER` | | | Delete filter | Permanently delete a Gmail filter by its ID. | `GMAIL_DELETE_FILTER` | | **Labels** | Add label to email | Adds and/or removes specified Gmail labels for a message. | `GMAIL_ADD_LABEL_TO_EMAIL` | | | Create label | Creates a new label with a unique name in the specified user's Gmail account. | `GMAIL_CREATE_LABEL` | | | Delete label | Permanently DELETES a user-created Gmail label from the account (not from a message). | `GMAIL_DELETE_LABEL` | | | Modify thread labels | Adds or removes specified existing label IDs from a Gmail thread, affecting all its messages. | `GMAIL_MODIFY_THREAD_LABELS` | | | Patch label | Patches the specified user-created label. | `GMAIL_PATCH_LABEL` | | | Remove label | DEPRECATED: Use GMAIL\_DELETE\_LABEL instead. | `GMAIL_REMOVE_LABEL` | | | Update label | Update the properties of an existing Gmail label. | `GMAIL_UPDATE_LABEL` | | **Settings** | Update IMAP settings | Update IMAP settings for a Gmail account. | `GMAIL_UPDATE_IMAP_SETTINGS` | | | Update language settings | Update the language settings for a Gmail user. | `GMAIL_UPDATE_LANGUAGE_SETTINGS` | | | Update POP settings | Update POP settings for a Gmail account. | `GMAIL_UPDATE_POP_SETTINGS` | | | Update vacation settings | Update vacation responder settings for a Gmail user. | `GMAIL_UPDATE_VACATION_SETTINGS` | | **Threads** | Delete thread | Immediately and permanently delete a specified thread and all its messages. | `GMAIL_DELETE_THREAD` | | | Move thread to trash | Moves the specified thread to the trash. | `GMAIL_MOVE_THREAD_TO_TRASH` | | | Untrash thread | Remove a thread from trash in Gmail. | `GMAIL_UNTRASH_THREAD` | | **Other actions** | Patch send as | Patch the specified send-as alias for a Gmail user. | `GMAIL_PATCH_SEND_AS` | | | Stop watch | Stop receiving push notifications for a Gmail mailbox. | `GMAIL_STOP_WATCH` | | | Update send as | Update a send-as alias for a Gmail user. | `GMAIL_UPDATE_SEND_AS` | At **Read + send**, teammates can send new emails, reply, forward, and write and send drafts. Labeling, archiving, moving to the trash, and deleting mail need **Full access**. ## Connect Gmail Before you start: * You need a Gmail account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Gmail** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Gmail**. The Gmail sign-in page opens in a new tab. Sign in to Gmail and approve the request. Check that it works: Gmail shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Gmail account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Gmail account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Gmail account Click **+ Account** on the Gmail card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Gmail side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Gmail**. 3. Sign in to Gmail and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Gmail account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Gmail.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Gmail account becomes primary. ## Costs Gmail actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Gmail, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Gmail connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Gmail account has an access level: **Read-only**, **Read + send**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Gmail card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Gmail account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Gmail.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Gong Source: https://squad.so/docs/apps/gong What teammates can do in Gong at each access level, and how to connect, limit, and disconnect Gong. Connect Gong so your teammates can work in your Gong account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Gong account has an access level: **Read-only** and **Read + write**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** (recommended) | "Read everything this account can see, such as calls, transcripts, scorecards, users, and stats. Cannot change anything." | 38 of 58 | | **Read + write** | "Add and update calls, meetings, flows, engagement events, and CRM data. Cannot change who can see calls or erase data." | 50 of 58 | The other 8 Gong actions run at no level, so no teammate can run them. **Read-only** is the recommended level. The connect window selects it for you, and you can choose another level. The Gong sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Gong account?" The teammate can search the Gong actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Gong action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 38 of the 58 Gong actions at this level: * View calls * View users * View and create reports * View folders * View and test integrations * View profiles * View transcripts * View activities * View associations * View history * View logs * View records All 38 actions at this level: | Action | What it does | Slug | | - | - | - | | Aggregate activity by period via API | Lists the aggregated activity of multiple users within the Gong system for each time period within the defined date range. | `GONG_AGGREGATE_ACTIVITY_BY_PERIOD_VIA_API` | | Action | What it does | Slug | | - | - | - | | Retrieve data privacy info for email address | Retrieves data privacy information for a third-party email address. | `GONG_RETRIEVE_DATA_PRIVACY_INFO_FOR_EMAIL_ADDRESS` | | Action | What it does | Slug | | - | - | - | | Retrieve manual CRM call associations | Returns a list of all calls that were manually associated or re-associated with CRM account and deal/opportunity since a given time. | `GONG_RETRIEVE_MANUAL_CRM_CALL_ASSOCIATIONS` | | Action | What it does | Slug | | - | - | - | | Get call by ID | Fetch specific call metadata by call ID. | `GONG_GET_CALL_BY_ID` | | List call outcomes | Retrieve all available call outcomes defined in Gong. | `GONG_LIST_CALL_OUTCOMES` | | List folder calls | Given a folder id, this endpoint retrieves a list of calls in it. | `GONG_LIST_FOLDER_CALLS` | | Manage user call access | Retrieves a list of users who have been granted individual access to specific calls through the API. | `GONG_MANAGE_USER_CALL_ACCESS` | | Retrieve call data by date range v2 calls | List calls that took place during a specified date range. | `GONG_RETRIEVE_CALL_DATA_BY_DATE_RANGE_V2_CALLS` | | Retrieve filtered call details | Lists detailed call data for calls that took place during a specified date range, have specified call IDs or hosted by specified users. | `GONG_RETRIEVE_FILTERED_CALL_DETAILS` | | Action | What it does | Slug | | - | - | - | | List flow folders | List all Gong Engage flow folders with visibility types. | `GONG_LIST_FLOW_FOLDERS` | | Retrieve library folders v2 library folders | We do not allow retrieval of either private or archived folders. | `GONG_RETRIEVE_LIBRARY_FOLDERS_V2_LIBRARY_FOLDERS` | | Action | What it does | Slug | | - | - | - | | Get user settings history | Retrieve historical changes to a user's settings. | `GONG_GET_USER_SETTINGS_HISTORY` | | Action | What it does | Slug | | - | - | - | | Get CRM integration details | Retrieves details of generic CRM integrations registered with Gong. | `GONG_GET_CRM_INTEGRATION_DETAILS` | | Validate meeting integration | Validates Gong meeting integration status for one or more users by their email addresses. | `GONG_VALIDATE_MEETING_INTEGRATION` | | Action | What it does | Slug | | - | - | - | | Retrieve logs data by type and time range v2 logs | List log entries that took place during a specified time range. | `GONG_RETRIEVE_LOGS_DATA_BY_TYPE_AND_TIME_RANGE_V2_LOGS` | | Action | What it does | Slug | | - | - | - | | Fetch all permission profiles | Returns a list of all permission profiles. | `GONG_FETCH_ALL_PERMISSION_PROFILES` | | Get permission profile | Returns a permission profile. | `GONG_GET_PERMISSION_PROFILE` | | Action | What it does | Slug | | - | - | - | | Get CRM objects v2 CRM entities | Retrieves specific CRM objects by their IDs from Gong's CRM integration. | `GONG_GET_CRM_OBJECTS_V2_CRM_ENTITIES` | | Action | What it does | Slug | | - | - | - | | Aggregate user activity statistics | Lists the activity of multiple users within the Gong system during a defined period. | `GONG_AGGREGATE_USER_ACTIVITY_STATISTICS` | | Create activity scorecards report | Retrieve all the answers for the scorecards that were reviewed during a specified date range, for calls that took place during a specified date range, for specific scorecards or for specific reviewed users. | `GONG_CREATE_ACTIVITY_SCORECARDS_REPORT` | | Get interaction statistics | Retrieve interaction trend statistics for users based on calls with Whisper enabled. | `GONG_GET_INTERACTION_STATISTICS` | | List all coaching metrics v2 coaching | List all of the coaching metrics of a manager. | `GONG_LIST_ALL_COACHING_METRICS_V2_COACHING` | | Post day by day activity stats | Retrieve the daily activity of multiple users within the Gong system for a range of dates. | `GONG_POST_DAY_BY_DAY_ACTIVITY_STATS` | | Action | What it does | Slug | | - | - | - | | List schema fields v2 CRM entity schema | Retrieves schema fields for a specific CRM object type within a Generic CRM integration. | `GONG_LIST_SCHEMA_FIELDS_V2_CRM_ENTITY_SCHEMA` | | Action | What it does | Slug | | - | - | - | | List scorecards | Retrieve all scorecards within the Gong system. | `GONG_LIST_SCORECARDS` | | Action | What it does | Slug | | - | - | - | | List tasks | Retrieve Engage tasks assigned to a specific user with filtering options. | `GONG_LIST_TASKS` | | Action | What it does | Slug | | - | - | - | | Retrieve tracker details v2 settings trackers | Retrieves details of all keyword trackers in the system or in a given workspace. | `GONG_RETRIEVE_TRACKER_DETAILS_V2_SETTINGS_TRACKERS` | | Action | What it does | Slug | | - | - | - | | Get call transcript | Retrieve call transcripts from Gong. | `GONG_GET_CALL_TRANSCRIPT` | | Retrieve transcripts of calls v2 calls transcript | DEPRECATED: Use GONG\_GET\_CALL\_TRANSCRIPT instead. | `GONG_RETRIEVE_TRANSCRIPTS_OF_CALLS_V2_CALLS_TRANSCRIPT` | | Action | What it does | Slug | | - | - | - | | Get user by ID | Retrieve individual user details by user ID. | `GONG_GET_USER_BY_ID` | | List all users v2 users | List all of the company's users. | `GONG_LIST_ALL_USERS_V2_USERS` | | List users by filter v2 users extensive | List multiple Users. | `GONG_LIST_USERS_BY_FILTER_V2_USERS_EXTENSIVE` | | Retrieve users from permission profile | Returns a list of all users whose access is controlled by the given permission profile. | `GONG_RETRIEVE_USERS_FROM_PERMISSION_PROFILE` | | Action | What it does | Slug | | - | - | - | | List all company workspaces v2 workspaces | Returns a list of all workspaces including their details. | `GONG_LIST_ALL_COMPANY_WORKSPACES_V2_WORKSPACES` | | Action | What it does | Slug | | - | - | - | | Data privacy for phone number | Shows the elements in the Gong system that reference the given phone number. | `GONG_DATA_PRIVACY_FOR_PHONE_NUMBER` | | Get flow prospects | Retrieve Gong Engage flows assigned to specified prospects. | `GONG_GET_FLOW_PROSPECTS` | | Get request status v2 CRM request status | The GetCRMRequestStatus endpoint retrieves the current status of CRM integration requests in the Gong platform. | `GONG_GET_REQUEST_STATUS_V2_CRM_REQUEST_STATUS` | | List Gong engage flows v2 flows | Engage flows have the following visibility types: Company: visible to everyone in the company, can only be edited by users with edit permissions. | `GONG_LIST_GONG_ENGAGE_FLOWS_V2_FLOWS` | Teammates can use 50 of the 58 Gong actions at this level: everything in **Read-only**, plus: * View, share, and manage events * Create, update, and delete meetings * Create calls * Create interactions * Create media * Create records The 12 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Calls** | Add new call v2 calls | When using this endpoint, either provide a downloadMediaUrl or use the returned callId in a follow-up request to /v2/calls/\{id}/media to upload the media file. | `GONG_ADD_NEW_CALL_V2_CALLS` | | **Events** | Report content share event | Push content share engagement events to Gong's activity timeline. | `GONG_REPORT_CONTENT_SHARE_EVENT` | | | Report content view event | Log content view engagement events to Gong's activity timeline. | `GONG_REPORT_CONTENT_VIEW_EVENT` | | | Report custom engagement event | Report custom engagement events to Gong's activity timeline. | `GONG_REPORT_CUSTOM_ENGAGEMENT_EVENT` | | **Interactions** | Post a digital interaction v2 digital interaction | When accessed through a Bearer token authorization method, this endpoint requires the scope 'api:digital-interactions:write'. | `GONG_POST_A_DIGITAL_INTERACTION_V2_DIGITAL_INTERACTION` | | **Media** | Add call media v2 calls ID media | Adds a call media, recorded by a telephony system (PBX) or other media recording facility. | `GONG_ADD_CALL_MEDIA_V2_CALLS_ID_MEDIA` | | **Meetings** | Create a new Gong meeting v2 meetings | When accessed through a Bearer token authorization method, this endpoint requires the scope 'api:meetings:user:create'. | `GONG_CREATE_A_NEW_GONG_MEETING_V2_MEETINGS` | | | Delete meeting | Deletes a Gong meeting created via the Meetings API (Beta). | `GONG_DELETE_MEETING` | | | Update a Gong meeting v2 meeting ID | When accessed through a Bearer token authorization method, this endpoint requires the scope 'api:meetings:user:update'. | `GONG_UPDATE_A_GONG_MEETING_V2_MEETINGS_MEETING_ID` | | **Records** | Upload CRM objects v2 CRM entities | Uploads CRM entity data to Gong via LDJSON file. | `GONG_UPLOAD_CRM_OBJECTS_V2_CRM_ENTITIES` | | **Other actions** | Assign prospects to flow | Prospects can be contacts or leads in your CRM. | `GONG_ASSIGN_PROSPECTS_TO_FLOW` | | | Unassign flows by CRM ID | Unassign flows from prospects by their CRM Prospect ID. | `GONG_UNASSIGN_FLOWS_BY_CRM_ID` | ## Connect Gong Before you start: * You need a Gong account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Gong** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Gong**. The Gong sign-in page opens in a new tab. Sign in to Gong and approve the request. Check that it works: Gong shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Gong account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Gong account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Gong account Click **+ Account** on the Gong card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Gong side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Gong**. 3. Sign in to Gong and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Gong account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Gong.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Gong account becomes primary. ## Costs Gong actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Gong, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Gong connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Gong account has an access level: **Read-only** and **Read + write**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Gong card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Gong account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Gong.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Google Analytics Source: https://squad.so/docs/apps/google_analytics What teammates can do in Google Analytics at each access level, and how to connect, limit, and disconnect Google Analytics. Connect Google Analytics so your teammates can work in your Google Analytics account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Google Analytics account has an access level: **Read-only**, **Read + edit**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** (recommended) | "Read everything this account can see, such as reports, properties, audiences, and settings. Cannot change anything." | 56 of 69 | | **Read + edit** | "Edit property settings, custom dimensions and metrics, and audiences, run report tasks, and send events. Cannot create properties or accounts." | 66 of 69 | | **Full access** | "Everything, including creating properties and accounts." | 69 of 69 | **Read-only** is the recommended level. The connect window selects it for you, and you can choose another level. The Google Analytics sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Google Analytics account?" The teammate can search the Google Analytics actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Google Analytics action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 56 of the 69 Google Analytics actions at this level: * View and run reports * View links * View and search lists * View settings * View accounts * View and test events * View and search exports * View and search tasks * View audiences * View dimensions * View properties * View conversion events All 56 actions at this level: | Action | What it does | Slug | | - | - | - | | Get account | Retrieve a single Account by its resource name. | `GOOGLE_ANALYTICS_GET_ACCOUNT` | | List account summaries | Retrieve summaries of all Google Analytics accounts accessible by the caller. | `GOOGLE_ANALYTICS_LIST_ACCOUNT_SUMMARIES` | | List accounts | DEPRECATED: Use ListAccountsV1Beta instead. | `GOOGLE_ANALYTICS_LIST_ACCOUNTS` | | List accounts v1 beta | List all Google Analytics accounts accessible by the caller using v1beta API. | `GOOGLE_ANALYTICS_LIST_ACCOUNTS_V1_BETA` | | Action | What it does | Slug | | - | - | - | | Get audience | Retrieve a single Audience configuration from a Google Analytics property. | `GOOGLE_ANALYTICS_GET_AUDIENCE` | | List audiences | List Audiences on a property. | `GOOGLE_ANALYTICS_LIST_AUDIENCES` | | Action | What it does | Slug | | - | - | - | | List conversion events | List conversion events on a property. | `GOOGLE_ANALYTICS_LIST_CONVERSION_EVENTS` | | Action | What it does | Slug | | - | - | - | | Get custom dimension | Retrieve a single CustomDimension by its resource name. | `GOOGLE_ANALYTICS_GET_CUSTOM_DIMENSION` | | List custom dimensions | | `GOOGLE_ANALYTICS_LIST_CUSTOM_DIMENSIONS` | | Action | What it does | Slug | | - | - | - | | Get key event | Retrieve a Key Event. | `GOOGLE_ANALYTICS_GET_KEY_EVENT` | | List key events | Key events are read-only via API. | `GOOGLE_ANALYTICS_LIST_KEY_EVENTS` | | Validate events | Validate Measurement Protocol events before sending them to production. | `GOOGLE_ANALYTICS_VALIDATE_EVENTS` | | Action | What it does | Slug | | - | - | - | | Get audience export | Get configuration metadata about a specific audience export. | `GOOGLE_ANALYTICS_GET_AUDIENCE_EXPORT` | | List audience exports | List all audience exports for a property. | `GOOGLE_ANALYTICS_LIST_AUDIENCE_EXPORTS` | | Query audience export | Query a completed audience export. | `GOOGLE_ANALYTICS_QUERY_AUDIENCE_EXPORT` | | Action | What it does | Slug | | - | - | - | | List subproperty event filters | List all subproperty event filters on a property. | `GOOGLE_ANALYTICS_LIST_SUBPROPERTY_EVENT_FILTERS` | | Action | What it does | Slug | | - | - | - | | List channel groups | List ChannelGroups on a property. | `GOOGLE_ANALYTICS_LIST_CHANNEL_GROUPS` | | Action | What it does | Slug | | - | - | - | | List adsense links | List all AdSenseLinks on a property. | `GOOGLE_ANALYTICS_LIST_ADSENSE_LINKS` | | List BigQuery links | List BigQuery Links on a property. | `GOOGLE_ANALYTICS_LIST_BIGQUERY_LINKS` | | List dv360 ad links | List Display & Video 360 advertiser links on a property. | `GOOGLE_ANALYTICS_LIST_DV360_AD_LINKS` | | List dv360 link proposals | List DisplayVideo360AdvertiserLinkProposals on a property. | `GOOGLE_ANALYTICS_LIST_DV360_LINK_PROPOSALS` | | List firebase links | List FirebaseLinks on a property. | `GOOGLE_ANALYTICS_LIST_FIREBASE_LINKS` | | List Google ads links | List GoogleAdsLinks on a property. | `GOOGLE_ANALYTICS_LIST_GOOGLE_ADS_LINKS` | | List search ads360 links | List all SearchAds360Links on a property. | `GOOGLE_ANALYTICS_LIST_SEARCH_ADS360_LINKS` | | Action | What it does | Slug | | - | - | - | | Get audience list | Get configuration metadata about a specific audience list. | `GOOGLE_ANALYTICS_GET_AUDIENCE_LIST` | | Get recurring audience list | Get configuration metadata about a specific recurring audience list. | `GOOGLE_ANALYTICS_GET_RECURRING_AUDIENCE_LIST` | | List audience lists | List all audience lists for a specified property to help find and reuse existing lists. | `GOOGLE_ANALYTICS_LIST_AUDIENCE_LISTS` | | List recurring audience lists | List all recurring audience lists for a GA4 property. | `GOOGLE_ANALYTICS_LIST_RECURRING_AUDIENCE_LISTS` | | Query audience list | Query an audience list. | `GOOGLE_ANALYTICS_QUERY_AUDIENCE_LIST` | | Action | What it does | Slug | | - | - | - | | Get property | Retrieve a single GA4 Property by its resource name. | `GOOGLE_ANALYTICS_GET_PROPERTY` | | List properties | DEPRECATED: Use ListPropertiesV1Beta instead. | `GOOGLE_ANALYTICS_LIST_PROPERTIES` | | List properties filtered | List GA4 properties based on filter criteria. | `GOOGLE_ANALYTICS_LIST_PROPERTIES_FILTERED` | | Action | What it does | Slug | | - | - | - | | Batch run pivot reports | Return multiple pivot reports in a batch for a GA4 property. | `GOOGLE_ANALYTICS_BATCH_RUN_PIVOT_REPORTS` | | Batch run reports | Return multiple analytics data reports in a batch. | `GOOGLE_ANALYTICS_BATCH_RUN_REPORTS` | | List calculated metrics | | `GOOGLE_ANALYTICS_LIST_CALCULATED_METRICS` | | List custom metrics | List CustomMetrics on a property. | `GOOGLE_ANALYTICS_LIST_CUSTOM_METRICS` | | Run funnel report | Run a GA4 funnel report. | `GOOGLE_ANALYTICS_RUN_FUNNEL_REPORT` | | Run pivot report | Run a customized pivot report of Google Analytics event data. | `GOOGLE_ANALYTICS_RUN_PIVOT_REPORT` | | Run realtime report | Run a customized realtime report of Google Analytics event data. | `GOOGLE_ANALYTICS_RUN_REALTIME_REPORT` | | Run report | Run a customized GA4 data report. | `GOOGLE_ANALYTICS_RUN_REPORT` | | Action | What it does | Slug | | - | - | - | | List event create rules | List EventCreateRules configured on a web data stream. | `GOOGLE_ANALYTICS_LIST_EVENT_CREATE_RULES` | | Action | What it does | Slug | | - | - | - | | List sk ad network conversion value schemas | List SKAdNetworkConversionValueSchema configurations for an iOS data stream. | `GOOGLE_ANALYTICS_LIST_SK_AD_NETWORK_CONVERSION_VALUE_SCHEMAS` | | Action | What it does | Slug | | - | - | - | | Get attribution settings | Retrieve attribution configuration for a Google Analytics property. | `GOOGLE_ANALYTICS_GET_ATTRIBUTION_SETTINGS` | | Get data retention settings | Retrieve data retention configuration for a Google Analytics property. | `GOOGLE_ANALYTICS_GET_DATA_RETENTION_SETTINGS` | | Get data sharing settings | Retrieve data sharing configuration for a Google Analytics account. | `GOOGLE_ANALYTICS_GET_DATA_SHARING_SETTINGS` | | Get Google signals settings | Retrieve Google Signals configuration settings for a GA4 property. | `GOOGLE_ANALYTICS_GET_GOOGLE_SIGNALS_SETTINGS` | | List subproperty sync configs | List SubpropertySyncConfig resources for managing subproperty synchronization configurations. | `GOOGLE_ANALYTICS_LIST_SUBPROPERTY_SYNC_CONFIGS` | | Action | What it does | Slug | | - | - | - | | Get property quotas snapshot | Retrieve all property quotas organized by category (corePropertyQuota, funnelPropertyQuota, realtimePropertyQuota) for a given GA4 property. | `GOOGLE_ANALYTICS_GET_PROPERTY_QUOTAS_SNAPSHOT` | | Action | What it does | Slug | | - | - | - | | List data streams | List DataStreams on a property. | `GOOGLE_ANALYTICS_LIST_DATA_STREAMS` | | Action | What it does | Slug | | - | - | - | | Get report task | Get report metadata about a specific report task. | `GOOGLE_ANALYTICS_GET_REPORT_TASK` | | List report tasks | List all report tasks for a Google Analytics property. | `GOOGLE_ANALYTICS_LIST_REPORT_TASKS` | | Query report task | Retrieve a report task's content. | `GOOGLE_ANALYTICS_QUERY_REPORT_TASK` | | Action | What it does | Slug | | - | - | - | | Check compatibility | List dimensions and metrics compatible with a GA4 report request. | `GOOGLE_ANALYTICS_CHECK_COMPATIBILITY` | | Get metadata | Get metadata for dimensions, metrics, and comparisons for a GA4 property. | `GOOGLE_ANALYTICS_GET_METADATA` | | List expanded data sets | List ExpandedDataSets on a property. | `GOOGLE_ANALYTICS_LIST_EXPANDED_DATA_SETS` | | List reporting data annotations | List all Reporting Data Annotations for a specific property. | `GOOGLE_ANALYTICS_LIST_REPORTING_DATA_ANNOTATIONS` | Teammates can use 66 of the 69 Google Analytics actions at this level: everything in **Read-only**, plus: * Create and archive dimensions * Create lists * Send events * Create exports * Update properties * Create reports * Create tasks The 10 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Dimensions** | Archive custom dimension | Archive a CustomDimension on a property. | `GOOGLE_ANALYTICS_ARCHIVE_CUSTOM_DIMENSION` | | | Create custom dimension | Create a CustomDimension for a Google Analytics property. | `GOOGLE_ANALYTICS_CREATE_CUSTOM_DIMENSION` | | **Events** | Send events | Send event data to Google Analytics 4 using the Measurement Protocol. | `GOOGLE_ANALYTICS_SEND_EVENTS` | | **Exports** | Create audience export | Create an audience export for Google Analytics. | `GOOGLE_ANALYTICS_CREATE_AUDIENCE_EXPORT` | | **Lists** | Create audience list | Create an audience list for later retrieval by initiating a long-running asynchronous request. | `GOOGLE_ANALYTICS_CREATE_AUDIENCE_LIST` | | | Create recurring audience list | Create a recurring audience list that automatically generates new audience lists daily based on the latest data. | `GOOGLE_ANALYTICS_CREATE_RECURRING_AUDIENCE_LIST` | | **Properties** | Update property | Update an existing GA4 Property. | `GOOGLE_ANALYTICS_UPDATE_PROPERTY` | | **Reports** | Create custom metric | Create a custom metric in Google Analytics. | `GOOGLE_ANALYTICS_CREATE_CUSTOM_METRIC` | | **Tasks** | Create report task | Create a report task as a long-running asynchronous request for customized Google Analytics event data reports. | `GOOGLE_ANALYTICS_CREATE_REPORT_TASK` | | **Other actions** | Create expanded data set | Create an expanded data set for a property. | `GOOGLE_ANALYTICS_CREATE_EXPANDED_DATA_SET` | Teammates can use 69 of the 69 Google Analytics actions at this level: everything in **Read + edit**, plus: * Create properties * View secrets * Create tickets The 3 actions that this level adds to **Read + edit**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Properties** | Create rollup property | Create a roll-up property. | `GOOGLE_ANALYTICS_CREATE_ROLLUP_PROPERTY` | | **Secrets** | List measurement protocol secrets | List MeasurementProtocolSecrets under a data stream. | `GOOGLE_ANALYTICS_LIST_MEASUREMENT_PROTOCOL_SECRETS` | | **Tickets** | Provision account ticket | Request a ticket for creating a Google Analytics account. | `GOOGLE_ANALYTICS_PROVISION_ACCOUNT_TICKET` | ## Connect Google Analytics Before you start: * You need a Google Analytics account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Google Analytics** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Google Analytics**. The Google Analytics sign-in page opens in a new tab. Sign in to Google Analytics and approve the request. Check that it works: Google Analytics shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Google Analytics account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Google Analytics account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Google Analytics account Click **+ Account** on the Google Analytics card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Google Analytics side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Google Analytics**. 3. Sign in to Google Analytics and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Google Analytics account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Google Analytics.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Google Analytics account becomes primary. ## Costs Google Analytics actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Google Analytics, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Google Analytics connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Google Analytics account has an access level: **Read-only**, **Read + edit**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Google Analytics card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Google Analytics account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Google Analytics.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Google Ads Source: https://squad.so/docs/apps/googleads What teammates can do in Google Ads with standard access, and how to connect, limit, and disconnect Google Ads. Connect Google Ads so your teammates can work in your Google Ads account. ## Access levels Google Ads has one level. The connect window shows it as **Default** and describes it as "Standard access." Teammates can use all 9 Google Ads actions. You cannot choose a narrower level for Google Ads. You can block single teammates with **No access** under **Per-teammate access**. The Google Ads sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in, and standard access does not limit which Google Ads actions teammates can use. ## What teammates can do The summary below groups the Google Ads actions into plain tasks. The full list after it names every action, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open the list and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Google Ads account?" The teammate can search the Google Ads actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Google Ads action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. * View and update campaigns * View and create lists * Update ad groups * View customers | Works on | Action | What it does | Slug | | - | - | - | - | | **Ad groups** | Mutate ad groups | Create, update, or remove ad groups within Google Ads campaigns. | `GOOGLEADS_MUTATE_AD_GROUPS` | | **Campaigns** | Get campaign by ID | GetCampaignById Tool returns details of a campaign in Google Ads. | `GOOGLEADS_GET_CAMPAIGN_BY_ID` | | | Get campaign by name | Queries Google Ads via SQL to retrieve a campaign by its exact name. | `GOOGLEADS_GET_CAMPAIGN_BY_NAME` | | | Mutate campaigns | Create, update, or remove Google Ads campaigns in batch. | `GOOGLEADS_MUTATE_CAMPAIGNS` | | **Customers** | List accessible customers | ListAccessibleCustomers retrieves all Google Ads customer accounts accessible to the authenticated user. | `GOOGLEADS_LIST_ACCESSIBLE_CUSTOMERS` | | **Lists** | Add or remove to customer list | AddOrRemoveToCustomerList Tool will add a contact to a customer list in Google Ads. | `GOOGLEADS_ADD_OR_REMOVE_TO_CUSTOMER_LIST` | | | Create customer list | Creates a customer list in Google Ads. | `GOOGLEADS_CREATE_CUSTOMER_LIST` | | | Get customer lists | GetCustomerLists Tool lists all customer lists (audience/remarketing lists) in Google Ads. | `GOOGLEADS_GET_CUSTOMER_LISTS` | | **Streams** | Search stream gaql | Execute a Google Ads Query Language (GAQL) query and stream all results in a single response. | `GOOGLEADS_SEARCH_STREAM_GAQL` | ## Connect Google Ads Before you start: * You need a Google Ads account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Google Ads** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, keep **Default**. It is the only option. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Google Ads**. The Google Ads sign-in page opens in a new tab. Sign in to Google Ads and approve the request. Check that it works: Google Ads shows under **Your connections**, with a row for the account and its access level. ## Set access for one teammate Every teammate can use the account unless you block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Google Ads account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose **No access** to block the teammate. Choose **Default (Default)** to allow it again. 5. Click **Save access**. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Google Ads account Click **+ Account** on the Google Ads card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Google Ads side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Google Ads**. 3. Sign in to Google Ads and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Google Ads account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Google Ads.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Google Ads account becomes primary. ## Costs Google Ads actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate says it has no access to Google Ads, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Google Ads connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions You cannot choose a narrower level for Google Ads. You can block single teammates with **No access** under **Per-teammate access**. Click **+ Account** on the Google Ads card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Google Ads account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Google Ads.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Google BigQuery Source: https://squad.so/docs/apps/googlebigquery What teammates can do in Google BigQuery at each access level, and how to connect, limit, and disconnect Google BigQuery. Connect Google BigQuery so your teammates can work in your Google BigQuery account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Google BigQuery account has an access level: **Read-only** and **Read + write**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** (recommended) | "Read everything this account can see, such as datasets, tables, table rows, jobs, and query results. Cannot change anything." | 32 of 63 | | **Read + write** | "Run queries, load and insert data, and create, edit, and delete tables, routines, and models. Cannot change access, buy capacity, share data out, or delete datasets." | 51 of 63 | The other 12 Google BigQuery actions run at no level, so no teammate can run them. **Read-only** is the recommended level. The connect window selects it for you, and you can choose another level. The Google BigQuery sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Google BigQuery account?" The teammate can search the Google BigQuery actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Google BigQuery action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 32 of the 63 Google BigQuery actions at this level: * View policies * View connections * View datasets * View query jobs * View routines * View tables * View account details * View groups * View locations * View projects * View reservations * Test roles and permissions All 32 actions at this level: | Action | What it does | Slug | | - | - | - | | Get service account | Get the service account for a project used for interactions with Google Cloud KMS. | `GOOGLEBIGQUERY_GET_SERVICE_ACCOUNT` | | Action | What it does | Slug | | - | - | - | | List big query connections | List BigQuery connections in a given project and location. | `GOOGLEBIGQUERY_LIST_BIG_QUERY_CONNECTIONS` | | List locations connections | List BigQuery connections in a given project and location using the v1beta1 API. | `GOOGLEBIGQUERY_LIST_LOCATIONS_CONNECTIONS` | | Action | What it does | Slug | | - | - | - | | Get dataset | Retrieve BigQuery dataset metadata including location via the datasets.get API. | `GOOGLEBIGQUERY_GET_DATASET` | | List datasets | List datasets in a specific BigQuery project, including dataset locations. | `GOOGLEBIGQUERY_LIST_DATASETS` | | Action | What it does | Slug | | - | - | - | | List reservation groups | List all BigQuery reservation groups for a project in a specified location. | `GOOGLEBIGQUERY_LIST_RESERVATION_GROUPS` | | Action | What it does | Slug | | - | - | - | | List locations | List information about supported locations for BigQuery Data Transfer Service. | `GOOGLEBIGQUERY_LIST_LOCATIONS` | | List locations datapolicies | List all data policies in a specified parent project and location using the v2beta1 API. | `GOOGLEBIGQUERY_LIST_LOCATIONS_DATAPOLICIES` | | Action | What it does | Slug | | - | - | - | | List organization data exchanges | List all data exchanges from projects in a given organization and location using Analytics Hub API. | `GOOGLEBIGQUERY_LIST_ORGANIZATION_DATA_EXCHANGES` | | Action | What it does | Slug | | - | - | - | | Get connection iam policy | Get the IAM access control policy for a BigQuery connection resource. | `GOOGLEBIGQUERY_GET_CONNECTION_IAM_POLICY` | | Get routine iam policy | Retrieve the IAM access control policy for a BigQuery routine resource. | `GOOGLEBIGQUERY_GET_ROUTINE_IAM_POLICY` | | Get table iam policy | Retrieve the IAM access control policy for a BigQuery table resource. | `GOOGLEBIGQUERY_GET_TABLE_IAM_POLICY` | | List row access policies | List all row access policies on a specified BigQuery table. | `GOOGLEBIGQUERY_LIST_ROW_ACCESS_POLICIES` | | Action | What it does | Slug | | - | - | - | | List projects | List BigQuery projects to which the user has been granted any project role. | `GOOGLEBIGQUERY_LIST_PROJECTS` | | Action | What it does | Slug | | - | - | - | | Get query results | Get the results of a BigQuery query job via RPC. | `GOOGLEBIGQUERY_GET_QUERY_RESULTS` | | Action | What it does | Slug | | - | - | - | | Get job | Retrieve information about a specific BigQuery job. | `GOOGLEBIGQUERY_GET_JOB` | | List jobs | List all jobs that you started in a BigQuery project. | `GOOGLEBIGQUERY_LIST_JOBS` | | Action | What it does | Slug | | - | - | - | | List analytics hub listings | List all listings in a given Analytics Hub data exchange. | `GOOGLEBIGQUERY_LIST_ANALYTICS_HUB_LISTINGS` | | Action | What it does | Slug | | - | - | - | | List reservation assignments | List BigQuery reservation assignments. | `GOOGLEBIGQUERY_LIST_RESERVATION_ASSIGNMENTS` | | List reservations | List all BigQuery reservations for a project in a specified location. | `GOOGLEBIGQUERY_LIST_RESERVATIONS` | | Action | What it does | Slug | | - | - | - | | Test routine iam permissions | Test which IAM permissions the caller has on a BigQuery routine. | `GOOGLEBIGQUERY_TEST_ROUTINE_IAM_PERMISSIONS` | | Action | What it does | Slug | | - | - | - | | Get routine | Retrieve a BigQuery routine (user-defined function or stored procedure) by its ID. | `GOOGLEBIGQUERY_GET_ROUTINE` | | List routines | List all routines (user-defined functions and stored procedures) in a BigQuery dataset. | `GOOGLEBIGQUERY_LIST_ROUTINES` | | Action | What it does | Slug | | - | - | - | | Get table schema | Fetch a BigQuery table's schema and metadata without querying row data. | `GOOGLEBIGQUERY_GET_TABLE_SCHEMA` | | Action | What it does | Slug | | - | - | - | | List table data | List the content of a BigQuery table in rows via the REST API. | `GOOGLEBIGQUERY_LIST_TABLE_DATA` | | List tables | List tables in a BigQuery dataset via the REST API. | `GOOGLEBIGQUERY_LIST_TABLES` | | Action | What it does | Slug | | - | - | - | | List query templates | List all query templates in a given Analytics Hub data exchange. | `GOOGLEBIGQUERY_LIST_QUERY_TEMPLATES` | | Action | What it does | Slug | | - | - | - | | Get BigQuery model | Retrieve a specific BigQuery ML model resource by model ID. | `GOOGLEBIGQUERY_GET_BIGQUERY_MODEL` | | List capacity commitments | List all capacity commitments for the admin project. | `GOOGLEBIGQUERY_LIST_CAPACITY_COMMITMENTS` | | List dataexchanges listings | List all listings in a given Analytics Hub data exchange using the v1beta1 API. | `GOOGLEBIGQUERY_LIST_DATAEXCHANGES_LISTINGS` | | List models | List all BigQuery ML models in a specified dataset. | `GOOGLEBIGQUERY_LIST_MODELS` | | Search all assignments | Search all BigQuery reservation assignments for a specified resource in a particular region. | `GOOGLEBIGQUERY_SEARCH_ALL_ASSIGNMENTS` | Teammates can use 51 of the 63 Google BigQuery actions at this level: everything in **Read-only**, plus: * Create and update datasets * Create, delete, and cancel query jobs * Create, update, and delete tables * Create, update, and delete routines The 19 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Datasets** | Create dataset | Create a new BigQuery dataset with explicit location, labels, and description using the BigQuery Datasets API. | `GOOGLEBIGQUERY_CREATE_DATASET` | | | Patch dataset | Update an existing BigQuery dataset using RFC5789 PATCH semantics. | `GOOGLEBIGQUERY_PATCH_DATASET` | | | Undelete dataset | Undelete a BigQuery dataset within the time travel window. | `GOOGLEBIGQUERY_UNDELETE_DATASET` | | | Update dataset | Update information in an existing BigQuery dataset using the PUT method. | `GOOGLEBIGQUERY_UPDATE_DATASET` | | **Query jobs** | Cancel job | Cancel a running BigQuery job. | `GOOGLEBIGQUERY_CANCEL_JOB` | | | Delete job metadata | Delete the metadata of a BigQuery job. | `GOOGLEBIGQUERY_DELETE_JOB_METADATA` | | | Insert job | Start a new asynchronous BigQuery job (query, load, extract, or copy). | `GOOGLEBIGQUERY_INSERT_JOB` | | | Insert job with upload | Start a new BigQuery load job with file upload. | `GOOGLEBIGQUERY_INSERT_JOB_WITH_UPLOAD` | | **Routines** | Create routine | Create a new user-defined routine (function or procedure) in a BigQuery dataset. | `GOOGLEBIGQUERY_CREATE_ROUTINE` | | | Delete routine | Delete a BigQuery routine by its ID. | `GOOGLEBIGQUERY_DELETE_ROUTINE` | | | Update routine | Update an existing BigQuery routine (function or stored procedure). | `GOOGLEBIGQUERY_UPDATE_ROUTINE` | | **Tables** | Create table | Create a new, empty table in a BigQuery dataset. | `GOOGLEBIGQUERY_CREATE_TABLE` | | | Delete table | Delete a BigQuery table from a dataset. | `GOOGLEBIGQUERY_DELETE_TABLE` | | | Patch table | Update specific fields in an existing BigQuery table using RFC5789 PATCH semantics. | `GOOGLEBIGQUERY_PATCH_TABLE` | | | Update table | Update an existing BigQuery table. | `GOOGLEBIGQUERY_UPDATE_TABLE` | | **Other actions** | Delete model | Delete a BigQuery ML model from a dataset. | `GOOGLEBIGQUERY_DELETE_MODEL` | | | Insert all | Stream data into BigQuery one record at a time without running a load job. | `GOOGLEBIGQUERY_INSERT_ALL` | | | Patch model | Update specific fields in an existing BigQuery ML model using PATCH semantics. | `GOOGLEBIGQUERY_PATCH_MODEL` | | | Query | Query Tool runs a SQL query in BigQuery using the REST API. | `GOOGLEBIGQUERY_QUERY` | ## Connect Google BigQuery Before you start: * You need a Google BigQuery account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Google BigQuery** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Google BigQuery**. The Google BigQuery sign-in page opens in a new tab. Sign in to Google BigQuery and approve the request. Check that it works: Google BigQuery shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Google BigQuery account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Google BigQuery account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Google BigQuery account Click **+ Account** on the Google BigQuery card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Google BigQuery side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Google BigQuery**. 3. Sign in to Google BigQuery and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Google BigQuery account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Google BigQuery.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Google BigQuery account becomes primary. ## Costs Google BigQuery actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Google BigQuery, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Google BigQuery connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Google BigQuery account has an access level: **Read-only** and **Read + write**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Google BigQuery card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Google BigQuery account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Google BigQuery.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Google Calendar Source: https://squad.so/docs/apps/googlecalendar What teammates can do in Google Calendar at each access level, and how to connect, limit, and disconnect Google Calendar. Connect Google Calendar so your teammates can work in your Google Calendar account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Google Calendar account has an access level: **Read-only**, **Manage events**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as calendars, events, free/busy times, and settings. Cannot change anything." | 22 of 50 | | **Manage events** (recommended) | "Create, edit, move, import, and delete events and their attendees, and manage your own calendar list. Cannot create, share, or delete calendars." | 36 of 50 | | **Full access** | "Everything, including creating, sharing, and deleting calendars." | 50 of 50 | **Manage events** is the recommended level. The connect window selects it for you, and you can choose another level. The Google Calendar sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Google Calendar account?" The teammate can search the Google Calendar actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Google Calendar action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 22 of the 50 Google Calendar actions at this level: * View, search, and update events * View calendars * View settings * Search availability * View profiles * View resources * View users All 22 actions at this level: | Works on | Action | What it does | Slug | | - | - | - | - | | **Availability** | Find free slots | Finds both free and busy time slots in Google Calendars for specified calendars within a defined time range. | `GOOGLECALENDAR_FIND_FREE_SLOTS` | | **Calendars** | Calendar list get | Retrieves metadata for a SINGLE specific calendar from the user's calendar list by its calendar ID. | `GOOGLECALENDAR_CALENDAR_LIST_GET` | | | Events list all calendars | Return a unified event list across all calendars in the user's calendar list for a given time range. | `GOOGLECALENDAR_EVENTS_LIST_ALL_CALENDARS` | | | Get calendar | Retrieves a specific Google Calendar, identified by calendar\_id, to which the authenticated user has access. | `GOOGLECALENDAR_GET_CALENDAR` | | | List calendars | Retrieves calendars from the user's Google Calendar list, with options for pagination and filtering. | `GOOGLECALENDAR_LIST_CALENDARS` | | **Events** | Events get | Retrieves a SINGLE event by its unique event\_id (REQUIRED). | `GOOGLECALENDAR_EVENTS_GET` | | | Events instances | Returns instances of the specified recurring event. | `GOOGLECALENDAR_EVENTS_INSTANCES` | | | Events list | Returns events on the specified calendar. | `GOOGLECALENDAR_EVENTS_LIST` | | | Find event | Finds events in a specified Google Calendar using text query, time ranges (event start/end, last modification), and event types. | `GOOGLECALENDAR_FIND_EVENT` | | | Sync events | DEPRECATED: Use GOOGLECALENDAR\_EVENTS\_LIST instead. | `GOOGLECALENDAR_SYNC_EVENTS` | | **Profiles** | Get calendar profile | DEPRECATED: Use CalendarListGet instead. | `GOOGLECALENDAR_GET_CALENDAR_PROFILE` | | **Resources** | List calendar resources | Retrieves calendar resources (such as conference rooms) from a Google Workspace domain using the Admin SDK Directory API. | `GOOGLECALENDAR_LIST_CALENDAR_RESOURCES` | | **Settings** | List settings | DEPRECATED: Use GOOGLECALENDAR\_SETTINGS\_LIST instead. | `GOOGLECALENDAR_LIST_SETTINGS` | | | Settings get | Return a single user setting for the authenticated user. | `GOOGLECALENDAR_SETTINGS_GET` | | | Settings list | Returns all user settings for the authenticated user. | `GOOGLECALENDAR_SETTINGS_LIST` | | **Users** | Get current user | | `GOOGLECALENDAR_GET_CURRENT_USER` | | **Other actions** | ACL get | Retrieves a specific access control rule for a calendar. | `GOOGLECALENDAR_ACL_GET` | | | ACL list | Retrieves the list of access control rules (ACLs) for a specified calendar, providing the necessary 'rule\_id' values required for updating specific ACL rules. | `GOOGLECALENDAR_ACL_LIST` | | | Colors get | Returns the color definitions for calendars and events. | `GOOGLECALENDAR_COLORS_GET` | | | Free busy query | DEPRECATED: Use GOOGLECALENDAR\_FIND\_FREE\_SLOTS instead (though this tool provides wider secondary/shared calendar coverage). | `GOOGLECALENDAR_FREE_BUSY_QUERY` | | | Get current date time | Gets the current date and time, allowing for a specific timezone offset. | `GOOGLECALENDAR_GET_CURRENT_DATE_TIME` | | | List buildings | Lists all buildings for a Google Workspace customer account with full details including addresses, coordinates, and floor names. | `GOOGLECALENDAR_LIST_BUILDINGS` | Teammates can use 36 of the 50 Google Calendar actions at this level: everything in **Read-only**, plus: * Create, delete, and manage events * Delete attendees * Delete calendars * View updates The 14 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Attendees** | Remove attendee | Removes an attendee from a specified event in a Google Calendar. | `GOOGLECALENDAR_REMOVE_ATTENDEE` | | **Calendars** | Calendar list delete | Remove a calendar from the user's calendar list. | `GOOGLECALENDAR_CALENDAR_LIST_DELETE` | | | Calendar list insert | Inserts an existing calendar into the user's calendar list, making it visible in the UI. | `GOOGLECALENDAR_CALENDAR_LIST_INSERT` | | | Calendar list patch | Updates an existing calendar on the user's calendar list using patch semantics. | `GOOGLECALENDAR_CALENDAR_LIST_PATCH` | | | Clear calendar | Clears a primary calendar by deleting all events from it. | `GOOGLECALENDAR_CLEAR_CALENDAR` | | **Events** | Batch events | Execute up to 1000 event mutations (create/patch/delete) in one Google Calendar HTTP batch request with per-item status/results. | `GOOGLECALENDAR_BATCH_EVENTS` | | | Create event | Create a Google Calendar event using start\_datetime plus duration fields. | `GOOGLECALENDAR_CREATE_EVENT` | | | Delete event | Deletes a specified event by event\_id from a Google Calendar (calendar\_id). | `GOOGLECALENDAR_DELETE_EVENT` | | | Events import | Import an event as a private copy to a calendar. | `GOOGLECALENDAR_EVENTS_IMPORT` | | | Events move | Moves an event to another calendar, i.e., changes an event's organizer. | `GOOGLECALENDAR_EVENTS_MOVE` | | | Patch event | Update specified fields of an existing event in a Google Calendar using patch semantics (array fields like attendees are fully replaced if provided). | `GOOGLECALENDAR_PATCH_EVENT` | | | Update event | Updates an existing event in Google Calendar. | `GOOGLECALENDAR_UPDATE_EVENT` | | **Updates** | Calendar list update | Updates a calendar list entry's display/subscription settings (color, visibility, reminders, selection) for the authenticated user. | `GOOGLECALENDAR_CALENDAR_LIST_UPDATE` | | **Other actions** | Quick add | Parses natural language text to quickly create a basic Google Calendar event with its title, date, and time, suitable for simple scheduling. | `GOOGLECALENDAR_QUICK_ADD` | Teammates can use 50 of the 50 Google Calendar actions at this level: everything in **Manage events**, plus: * Create and update calendars * Stop channels * Update settings The 14 actions that this level adds to **Manage events**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Calendars** | Calendar list watch | Watch for changes to CalendarList resources using push notifications. | `GOOGLECALENDAR_CALENDAR_LIST_WATCH` | | | Calendars delete | Deletes a secondary calendar that you own or have delete permissions on. | `GOOGLECALENDAR_CALENDARS_DELETE` | | | Calendars update | Full PUT-style update that overwrites all calendar metadata fields. | `GOOGLECALENDAR_CALENDARS_UPDATE` | | | Create calendar | | `GOOGLECALENDAR_CREATE_CALENDAR` | | | Duplicate calendar | Creates a new, empty Google Calendar with the specified title (summary). | `GOOGLECALENDAR_DUPLICATE_CALENDAR` | | | Patch calendar | Partially updates (PATCHes) an existing Google Calendar, modifying only the fields provided. | `GOOGLECALENDAR_PATCH_CALENDAR` | | **Channels** | Channels stop | Stop watching resources through a notification channel. | `GOOGLECALENDAR_CHANNELS_STOP` | | **Events** | Events watch | Watch for changes to Events resources. | `GOOGLECALENDAR_EVENTS_WATCH` | | **Settings** | Settings watch | Watch for changes to Settings resources. | `GOOGLECALENDAR_SETTINGS_WATCH` | | **Other actions** | ACL delete | Deletes an access control rule from a Google Calendar. | `GOOGLECALENDAR_ACL_DELETE` | | | ACL insert | Creates an access control rule for a calendar. | `GOOGLECALENDAR_ACL_INSERT` | | | ACL patch | Updates an existing access control rule for a calendar using patch semantics (partial update). | `GOOGLECALENDAR_ACL_PATCH` | | | ACL update | Updates an access control rule for the specified calendar. | `GOOGLECALENDAR_ACL_UPDATE` | | | ACL watch | Watch for changes to ACL resources. | `GOOGLECALENDAR_ACL_WATCH` | ## Connect Google Calendar Before you start: * You need a Google Calendar account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Google Calendar** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Google Calendar**. The Google Calendar sign-in page opens in a new tab. Sign in to Google Calendar and approve the request. Check that it works: Google Calendar shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Google Calendar account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Google Calendar account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Google Calendar account Click **+ Account** on the Google Calendar card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Google Calendar side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Google Calendar**. 3. Sign in to Google Calendar and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Google Calendar account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Google Calendar.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Google Calendar account becomes primary. ## Costs Google Calendar actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Google Calendar, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Google Calendar connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Google Calendar account has an access level: **Read-only**, **Manage events**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Google Calendar card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Google Calendar account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Google Calendar.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Google Docs Source: https://squad.so/docs/apps/googledocs What teammates can do in Google Docs at each access level, and how to connect, limit, and disconnect Google Docs. Connect Google Docs so your teammates can work in your Google Docs account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Google Docs account has an access level: **Read-only**, **Read + create**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as your documents and their content. Cannot change anything." | 6 of 43 | | **Read + create** | "Create new documents and add text, tables, images, and sections to a document. Cannot change or delete what a document already holds." | 24 of 43 | | **Full access** (recommended) | "Everything, including editing, replacing, restyling, and deleting existing content." | 43 of 43 | **Full access** is the recommended level. The connect window selects it for you, and you can choose another level. The Google Docs sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Google Docs account?" The teammate can search the Google Docs actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Google Docs action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 6 of the 43 Google Docs actions at this level: * View and search documents * View charts All 6 actions at this level: | Works on | Action | What it does | Slug | | - | - | - | - | | **Charts** | List spreadsheet charts | Retrieve a list of all charts from a specified Google Sheets spreadsheet. | `GOOGLEDOCS_LIST_SPREADSHEET_CHARTS` | | **Documents** | Export document as PDF | Export a Google Docs file as PDF using the Google Drive API. | `GOOGLEDOCS_EXPORT_DOCUMENT_AS_PDF` | | | Get document by ID | Retrieves an existing Google Document by its ID. | `GOOGLEDOCS_GET_DOCUMENT_BY_ID` | | | Get document end index | | `GOOGLEDOCS_GET_DOCUMENT_END_INDEX` | | | Get document plaintext | Retrieve a Google Doc by ID and return a best-effort plain-text rendering. | `GOOGLEDOCS_GET_DOCUMENT_PLAINTEXT` | | | Search documents | Search for Google Documents using various filters including name, content, date ranges, and more. | `GOOGLEDOCS_SEARCH_DOCUMENTS` | Teammates can use 24 of the 43 Google Docs actions at this level: everything in **Read-only**, plus: * Create documents * Create images * Create cells and ranges * Create columns * Create rows * Create tabs The 18 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Cells and ranges** | Create named range | Create a new named range in a Google Document. | `GOOGLEDOCS_CREATE_NAMED_RANGE` | | | Insert text in table cell | | `GOOGLEDOCS_INSERT_TEXT_IN_TABLE_CELL` | | **Columns** | Insert table column | Insert a new column into a table in a Google Document. | `GOOGLEDOCS_INSERT_TABLE_COLUMN` | | **Documents** | Copy document | Create a copy of an existing Google Document. | `GOOGLEDOCS_COPY_DOCUMENT` | | | Create document | Creates a new Google Docs document using the provided title as filename and inserts the initial text at the beginning if non-empty, returning the document's ID and metadata (excluding body content). | `GOOGLEDOCS_CREATE_DOCUMENT` | | | Create document markdown | Creates a new Google Docs document, optionally initializing it with a title and content provided as Markdown text. | `GOOGLEDOCS_CREATE_DOCUMENT_MARKDOWN` | | | Create document2 | DEPRECATED: Use GOOGLEDOCS\_CREATE\_DOCUMENT instead. | `GOOGLEDOCS_CREATE_DOCUMENT2` | | **Images** | Insert image in table cell | | `GOOGLEDOCS_INSERT_IMAGE_IN_TABLE_CELL` | | | Insert inline image | Insert an image from a given URI at a specified location in a Google Document as an inline image. | `GOOGLEDOCS_INSERT_INLINE_IMAGE` | | **Pages** | Insert page break | Insert a page break into a Google Document. | `GOOGLEDOCS_INSERT_PAGE_BREAK` | | **Rows** | Insert table row | | `GOOGLEDOCS_INSERT_TABLE_ROW` | | **Tables** | Create and populate table | | `GOOGLEDOCS_CREATE_AND_POPULATE_TABLE` | | | Insert table action | Insert a table into a Google Document. | `GOOGLEDOCS_INSERT_TABLE_ACTION` | | **Tabs** | Create tab | | `GOOGLEDOCS_CREATE_TAB` | | **Other actions** | Create footer | Create a new footer in a Google Document. | `GOOGLEDOCS_CREATE_FOOTER` | | | Create footnote | Create a new footnote in a Google Document. | `GOOGLEDOCS_CREATE_FOOTNOTE` | | | Create header | Create a new header in a Google Document, optionally with text content. | `GOOGLEDOCS_CREATE_HEADER` | | | Insert text action | Insert a string of text at a specified location within a Google Document. | `GOOGLEDOCS_INSERT_TEXT_ACTION` | Teammates can use 43 of the 43 Google Docs actions at this level: everything in **Read + create**, plus: * Update and delete cells and ranges * Update documents * Update styles * Delete columns * Update images * Update properties * Delete rows * Delete tabs The 19 actions that this level adds to **Read + create**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Cells and ranges** | Delete content range | Delete a range of content from a Google Document. | `GOOGLEDOCS_DELETE_CONTENT_RANGE` | | | Delete named range | Delete a named range from a Google Document. | `GOOGLEDOCS_DELETE_NAMED_RANGE` | | | Unmerge table cells | Unmerge previously merged cells in a table. | `GOOGLEDOCS_UNMERGE_TABLE_CELLS` | | **Columns** | Delete table column | Delete a column from a table in a Google Document. | `GOOGLEDOCS_DELETE_TABLE_COLUMN` | | **Documents** | Update document batch | DEPRECATED: Use UpdateExistingDocument instead. | `GOOGLEDOCS_UPDATE_DOCUMENT_BATCH` | | | Update document markdown | Replaces the entire content of an existing Google Docs document with new Markdown text. | `GOOGLEDOCS_UPDATE_DOCUMENT_MARKDOWN` | | | Update existing document | Applies programmatic edits, such as text insertion, deletion, or formatting, to a specified Google Doc using the batchUpdate API method. | `GOOGLEDOCS_UPDATE_EXISTING_DOCUMENT` | | **Images** | Replace image | Replace a specific image in a document with a new image from a URI. | `GOOGLEDOCS_REPLACE_IMAGE` | | **Properties** | Update tab properties | | `GOOGLEDOCS_UPDATE_TAB_PROPERTIES` | | **Rows** | Delete table row | Delete a row from a table in a Google Document. | `GOOGLEDOCS_DELETE_TABLE_ROW` | | **Sections** | Update document section markdown | Insert or replace a section of a Google Docs document with Markdown content. | `GOOGLEDOCS_UPDATE_DOCUMENT_SECTION_MARKDOWN` | | **Styles** | Update document style | Update the overall document style, such as page size, margins, and default text direction. | `GOOGLEDOCS_UPDATE_DOCUMENT_STYLE` | | | Update table row style | Update the style of a table row in a Google Document. | `GOOGLEDOCS_UPDATE_TABLE_ROW_STYLE` | | **Tabs** | Delete tab | | `GOOGLEDOCS_DELETE_TAB` | | **Other actions** | Create paragraph bullets | Add bullets to paragraphs within a specified range in a Google Document. | `GOOGLEDOCS_CREATE_PARAGRAPH_BULLETS` | | | Delete footer | Delete a footer from a Google Document. | `GOOGLEDOCS_DELETE_FOOTER` | | | Delete header | Deletes the header from the specified section or the default header if no section is specified. | `GOOGLEDOCS_DELETE_HEADER` | | | Delete paragraph bullets | Remove bullets from paragraphs within a specified range in a Google Document. | `GOOGLEDOCS_DELETE_PARAGRAPH_BULLETS` | | | Replace all text | Replace all occurrences of a specified text string with another text string throughout a Google Document. | `GOOGLEDOCS_REPLACE_ALL_TEXT` | ## Connect Google Docs Before you start: * You need a Google Docs account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Google Docs** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Google Docs**. The Google Docs sign-in page opens in a new tab. Sign in to Google Docs and approve the request. Check that it works: Google Docs shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Google Docs account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Google Docs account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Google Docs account Click **+ Account** on the Google Docs card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Google Docs side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Google Docs**. 3. Sign in to Google Docs and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Google Docs account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Google Docs.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Google Docs account becomes primary. ## Costs Google Docs actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Google Docs, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Google Docs connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Google Docs account has an access level: **Read-only**, **Read + create**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Google Docs card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Google Docs account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Google Docs.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Google Drive Source: https://squad.so/docs/apps/googledrive What teammates can do in Google Drive at each access level, and how to connect, limit, and disconnect Google Drive. Connect Google Drive so your teammates can work in your Google Drive account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Google Drive account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as files, folders, comments, revisions, and sharing. Cannot change anything." | 46 of 104 | | **Read + write** (recommended) | "Upload, create, copy, move, edit, and comment on files and folders, and move them to the trash. Cannot share files, delete them permanently, or manage shared drives." | 81 of 104 | | **Full access** | "Everything, including sharing, permanent deletes, emptying the trash, and shared drives." | 104 of 104 | **Read + write** is the recommended level. The connect window selects it for you, and you can choose another level. The Google Drive sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Google Drive account?" The teammate can search the Google Drive actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Google Drive action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 46 of the 104 Google Drive actions at this level: * View, search, and manage files * View drives * View roles and permissions * View versions * View change history * View comments * View properties * View replies * View apps * View documents * Search folders * View forms All 46 actions at this level: | Action | What it does | Slug | | - | - | - | | Get app | Get information about a specific Drive app by ID. | `GOOGLEDRIVE_GET_APP` | | Action | What it does | Slug | | - | - | - | | Get change | Get a specific change by ID from Google Drive v2 API. | `GOOGLEDRIVE_GET_CHANGE` | | List changes | List the changes for a user or shared drive. | `GOOGLEDRIVE_LIST_CHANGES` | | Action | What it does | Slug | | - | - | - | | Get comment | Get a comment by ID. | `GOOGLEDRIVE_GET_COMMENT` | | List comments | List all comments for a file in Google Drive. | `GOOGLEDRIVE_LIST_COMMENTS` | | Action | What it does | Slug | | - | - | - | | Get document | | `GOOGLEDRIVE_GET_DOCUMENT` | | Action | What it does | Slug | | - | - | - | | Get drive | Get a shared drive by ID. | `GOOGLEDRIVE_GET_DRIVE` | | Get team drive | Get metadata about a Team Drive by ID. | `GOOGLEDRIVE_GET_TEAM_DRIVE` | | List shared drives | List the user's shared drives. | `GOOGLEDRIVE_LIST_SHARED_DRIVES` | | List team drives | List Team Drives (deprecated, use List Shared Drives instead). | `GOOGLEDRIVE_LIST_TEAM_DRIVES` | | Action | What it does | Slug | | - | - | - | | Download file | Downloads a file from Google Drive by its ID. | `GOOGLEDRIVE_DOWNLOAD_FILE` | | Download file operation | Download file content using long-running operations. | `GOOGLEDRIVE_DOWNLOAD_FILE_OPERATION` | | Download file2 | DEPRECATED: Use GOOGLEDRIVE\_DOWNLOAD\_FILE\_OPERATION instead. | `GOOGLEDRIVE_DOWNLOAD_FILE2` | | Export Google workspace file | Exports a Google Workspace document to the requested MIME type and returns exported file content. | `GOOGLEDRIVE_EXPORT_GOOGLE_WORKSPACE_FILE` | | Find file | The comprehensive Google Drive search tool that handles all file and folder discovery needs. | `GOOGLEDRIVE_FIND_FILE` | | Get file metadata | Get a file's metadata by ID. | `GOOGLEDRIVE_GET_FILE_METADATA` | | Get file v2 | DEPRECATED: Use GetFileMetadata instead. | `GOOGLEDRIVE_GET_FILE_V2` | | List files | DEPRECATED: Use GOOGLEDRIVE\_FIND\_FILE instead. | `GOOGLEDRIVE_LIST_FILES` | | Parse file | DEPRECATED: Exports Google Workspace files (max 10MB) to a specified format using mime\_type, or downloads other file types. | `GOOGLEDRIVE_PARSE_FILE` | | Action | What it does | Slug | | - | - | - | | Find folder | Find a folder in Google Drive by its name and optionally a parent folder. | `GOOGLEDRIVE_FIND_FOLDER` | | Action | What it does | Slug | | - | - | - | | Get form | | `GOOGLEDRIVE_GET_FORM` | | Action | What it does | Slug | | - | - | - | | List file labels | List the labels already applied to a file in Google Drive. | `GOOGLEDRIVE_LIST_FILE_LABELS` | | Action | What it does | Slug | | - | - | - | | Get file property | Get a property by its key using Google Drive API v2. | `GOOGLEDRIVE_GET_FILE_PROPERTY` | | List file properties | List a file's properties in Google Drive API v2. | `GOOGLEDRIVE_LIST_FILE_PROPERTIES` | | Action | What it does | Slug | | - | - | - | | Get reply | Get a specific reply to a comment on a file. | `GOOGLEDRIVE_GET_REPLY` | | List replies | List replies to a comment in Google Drive. | `GOOGLEDRIVE_LIST_REPLIES` | | Action | What it does | Slug | | - | - | - | | List form responses | | `GOOGLEDRIVE_LIST_FORM_RESPONSES` | | Action | What it does | Slug | | - | - | - | | Get permission | Gets a permission by ID. | `GOOGLEDRIVE_GET_PERMISSION` | | Get permission ID for email | Get the permission ID for an email address using the Drive API v2. | `GOOGLEDRIVE_GET_PERMISSION_ID_FOR_EMAIL` | | List permissions | List a file's permissions. | `GOOGLEDRIVE_LIST_PERMISSIONS` | | Action | What it does | Slug | | - | - | - | | Batch get spreadsheet values | | `GOOGLEDRIVE_BATCH_GET_SPREADSHEET_VALUES` | | Get spreadsheet | | `GOOGLEDRIVE_GET_SPREADSHEET` | | Get spreadsheet values | | `GOOGLEDRIVE_GET_SPREADSHEET_VALUES` | | Read spreadsheet values | | `GOOGLEDRIVE_READ_SPREADSHEET_VALUES` | | Action | What it does | Slug | | - | - | - | | Get presentation page thumbnail | | `GOOGLEDRIVE_GET_PRESENTATION_PAGE_THUMBNAIL` | | Action | What it does | Slug | | - | - | - | | Get changes start page token | Get the starting pageToken for listing future changes in Google Drive. | `GOOGLEDRIVE_GET_CHANGES_START_PAGE_TOKEN` | | Action | What it does | Slug | | - | - | - | | Download file revision | | `GOOGLEDRIVE_DOWNLOAD_FILE_REVISION` | | Get revision | Get a specific revision's metadata (name, modifiedTime, keepForever, etc.) by revision ID. | `GOOGLEDRIVE_GET_REVISION` | | List revisions | List a file's revision metadata (not content) in Google Drive. | `GOOGLEDRIVE_LIST_REVISIONS` | | Action | What it does | Slug | | - | - | - | | Get about | Retrieve information about the user, the user's Drive, and system capabilities. | `GOOGLEDRIVE_GET_ABOUT` | | Get child | Get a specific child reference for a folder using Drive API v2. | `GOOGLEDRIVE_GET_CHILD` | | Get parent | Get a specific parent reference for a file using Drive API v2. | `GOOGLEDRIVE_GET_PARENT` | | Get presentation | | `GOOGLEDRIVE_GET_PRESENTATION` | | List access proposals | List pending access proposals on a file. | `GOOGLEDRIVE_LIST_ACCESS_PROPOSALS` | | List approvals | List approvals on a file for workflow-based access control. | `GOOGLEDRIVE_LIST_APPROVALS` | | List children v2 | List a folder's children using Google Drive API v2. | `GOOGLEDRIVE_LIST_CHILDREN_V2` | Teammates can use 81 of the 104 Google Drive actions at this level: everything in **Read-only**, plus: * Create, update, and delete files * Create, update, and delete properties * Update, delete, and send replies * Create and update comments * Create folders * Update labels The 35 actions that this level adds to **Read-only**: | Action | What it does | Slug | | - | - | - | | Create comment | Create a comment on a file in Google Drive. | `GOOGLEDRIVE_CREATE_COMMENT` | | Update comment | Update an existing comment on a Google Drive file. | `GOOGLEDRIVE_UPDATE_COMMENT` | | Action | What it does | Slug | | - | - | - | | Copy file | DEPRECATED: Use GOOGLEDRIVE\_COPY\_FILE\_ADVANCED instead. | `GOOGLEDRIVE_COPY_FILE` | | Copy file advanced | Creates a copy of a file and applies any requested updates with patch semantics. | `GOOGLEDRIVE_COPY_FILE_ADVANCED` | | Create file | Creates a new file or folder in Google Drive. | `GOOGLEDRIVE_CREATE_FILE` | | Create file from text | Creates a new file in Google Drive from provided text content (up to 10MB), supporting various formats including automatic conversion to Google Workspace types. | `GOOGLEDRIVE_CREATE_FILE_FROM_TEXT` | | Create shortcut to file | Create a shortcut to a file or folder in Google Drive. | `GOOGLEDRIVE_CREATE_SHORTCUT_TO_FILE` | | Edit file | Updates an existing Google Drive file with binary content by overwriting its entire content with new text (max 10MB). | `GOOGLEDRIVE_EDIT_FILE` | | Move file | Move a file from one folder to another in Google Drive. | `GOOGLEDRIVE_MOVE_FILE` | | Trash file | Move a file or folder to trash (soft delete). | `GOOGLEDRIVE_TRASH_FILE` | | Untrash file | Restore a file from the trash. | `GOOGLEDRIVE_UNTRASH_FILE` | | Update file metadata patch | Update file metadata using the Drive API v2 PATCH method. | `GOOGLEDRIVE_UPDATE_FILE_METADATA_PATCH` | | Update file put | Updates file metadata. | `GOOGLEDRIVE_UPDATE_FILE_PUT` | | Upload file | Uploads a file (max 5MB) to Google Drive, placing it in the specified folder or root if no valid folder ID is provided. | `GOOGLEDRIVE_UPLOAD_FILE` | | Upload update file | Update file content in Google Drive by uploading new binary content. | `GOOGLEDRIVE_UPLOAD_UPDATE_FILE` | | Action | What it does | Slug | | - | - | - | | Create folder | Creates a new folder in Google Drive, optionally within an EXISTING parent folder specified by its ID or name. | `GOOGLEDRIVE_CREATE_FOLDER` | | Action | What it does | Slug | | - | - | - | | Modify file labels | Modifies the set of labels applied to a file. | `GOOGLEDRIVE_MODIFY_FILE_LABELS` | | Action | What it does | Slug | | - | - | - | | Add property | Add a property to a file, or update it if it already exists (v2 API). | `GOOGLEDRIVE_ADD_PROPERTY` | | Delete property | Delete a property from a file using Google Drive API v2. | `GOOGLEDRIVE_DELETE_PROPERTY` | | Patch property | Update a property on a file using PATCH semantics (v2 API). | `GOOGLEDRIVE_PATCH_PROPERTY` | | Update file property | Update a property on a file using Google Drive API v2. | `GOOGLEDRIVE_UPDATE_FILE_PROPERTY` | | Action | What it does | Slug | | - | - | - | | Create reply | Create a reply to a comment in Google Drive. | `GOOGLEDRIVE_CREATE_REPLY` | | Delete reply | Delete a specific reply by reply ID. | `GOOGLEDRIVE_DELETE_REPLY` | | Update reply | Update a reply to a comment on a Google Drive file. | `GOOGLEDRIVE_UPDATE_REPLY` | | Action | What it does | Slug | | - | - | - | | Batch update spreadsheet values | | `GOOGLEDRIVE_BATCH_UPDATE_SPREADSHEET_VALUES` | | Clear spreadsheet values | | `GOOGLEDRIVE_CLEAR_SPREADSHEET_VALUES` | | Update spreadsheet values | | `GOOGLEDRIVE_UPDATE_SPREADSHEET_VALUES` | | Write spreadsheet values | | `GOOGLEDRIVE_WRITE_SPREADSHEET_VALUES` | | Action | What it does | Slug | | - | - | - | | Add parent | Add a parent folder for a file using Google Drive API v2. | `GOOGLEDRIVE_ADD_PARENT` | | Delete child | Remove a child from a folder using Google Drive API v2. | `GOOGLEDRIVE_DELETE_CHILD` | | Delete parent | Remove a parent from a file using Google Drive API v2. | `GOOGLEDRIVE_DELETE_PARENT` | | Generate IDs | Generates a set of file IDs which can be provided in create or copy requests. | `GOOGLEDRIVE_GENERATE_IDS` | | Insert child | Insert a file into a folder using Drive API v2. | `GOOGLEDRIVE_INSERT_CHILD` | | Resumable upload | Start and complete a Google Drive resumable upload session. | `GOOGLEDRIVE_RESUMABLE_UPLOAD` | | Upload from URL | Fetch a file from a provided URL server-side and upload it into Google Drive. | `GOOGLEDRIVE_UPLOAD_FROM_URL` | Teammates can use 104 of the 104 Google Drive actions at this level: everything in **Read + write**, plus: * Create, update, and delete drives * Create, update, and delete roles and permissions * Update and delete versions * Update change history * Stop channels * Delete comments * Delete folders * Create settings The 23 actions that this level adds to **Read + write**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Change history** | Watch changes | Subscribe to changes for a user or shared drive in Google Drive. | `GOOGLEDRIVE_WATCH_CHANGES` | | **Channels** | Stop watch channel | Stop watching resources through a specified channel. | `GOOGLEDRIVE_STOP_WATCH_CHANNEL` | | **Comments** | Delete comment | Permanently deletes a comment thread (and all its replies) from a Google Drive file. | `GOOGLEDRIVE_DELETE_COMMENT` | | **Drives** | Create drive | Create a new shared drive. | `GOOGLEDRIVE_CREATE_DRIVE` | | | Create team drive | Create a Team Drive. | `GOOGLEDRIVE_CREATE_TEAM_DRIVE` | | | Delete drive | Permanently delete a shared drive. | `GOOGLEDRIVE_DELETE_DRIVE` | | | Delete team drive | Permanently delete a Team Drive. | `GOOGLEDRIVE_DELETE_TEAM_DRIVE` | | | Hide drive | Hide a shared drive from the default view. | `GOOGLEDRIVE_HIDE_DRIVE` | | | Unhide drive | Unhide a shared drive. | `GOOGLEDRIVE_UNHIDE_DRIVE` | | | Update drive | Update the metadata for a shared drive. | `GOOGLEDRIVE_UPDATE_DRIVE` | | | Update team drive | Update a Team Drive's metadata. | `GOOGLEDRIVE_UPDATE_TEAM_DRIVE` | | **Files** | Delete file | DEPRECATED: Use GOOGLEDRIVE\_GOOGLE\_DRIVE\_DELETE\_FOLDER\_OR\_FILE\_ACTION instead. | `GOOGLEDRIVE_DELETE_FILE` | | | Watch file | Subscribe to push notifications for changes to a specific file. | `GOOGLEDRIVE_WATCH_FILE` | | **Folders** | Google drive delete folder or file action | Delete a file or folder in Google Drive. | `GOOGLEDRIVE_GOOGLE_DRIVE_DELETE_FOLDER_OR_FILE_ACTION` | | **Roles and permissions** | Create permission | Create a permission for a file or shared drive. | `GOOGLEDRIVE_CREATE_PERMISSION` | | | Create permissions batch | | `GOOGLEDRIVE_CREATE_PERMISSIONS_BATCH` | | | Delete permission | Deletes a permission from a file by permission ID. | `GOOGLEDRIVE_DELETE_PERMISSION` | | | Patch permission | Update a permission using patch semantics. | `GOOGLEDRIVE_PATCH_PERMISSION` | | | Update permission | Update a permission with patch semantics. | `GOOGLEDRIVE_UPDATE_PERMISSION` | | **Settings** | Add file sharing preference | DEPRECATED: Use GOOGLEDRIVE\_CREATE\_PERMISSION instead. | `GOOGLEDRIVE_ADD_FILE_SHARING_PREFERENCE` | | **Versions** | Delete revision | Permanently delete a file revision. | `GOOGLEDRIVE_DELETE_REVISION` | | | Update file revision metadata | Updates ONLY the metadata properties of a specific file revision (keepForever, published, publishAuto, publishedOutsideDomain). | `GOOGLEDRIVE_UPDATE_FILE_REVISION_METADATA` | | **Other actions** | Empty trash | Permanently and irreversibly delete ALL trashed files in the user's Google Drive or a specified shared drive. | `GOOGLEDRIVE_EMPTY_TRASH` | ## Connect Google Drive Before you start: * You need a Google Drive account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Google Drive** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Google Drive**. The Google Drive sign-in page opens in a new tab. Sign in to Google Drive and approve the request. Check that it works: Google Drive shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Google Drive account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Google Drive account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Google Drive account Click **+ Account** on the Google Drive card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Google Drive side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Google Drive**. 3. Sign in to Google Drive and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Google Drive account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Google Drive.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Google Drive account becomes primary. ## Costs Google Drive actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Google Drive, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Google Drive connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Google Drive account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Google Drive card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Google Drive account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Google Drive.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Google Meet Source: https://squad.so/docs/apps/googlemeet What teammates can do in Google Meet at each access level, and how to connect, limit, and disconnect Google Meet. Connect Google Meet so your teammates can work in your Google Meet account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Google Meet account has an access level: **Read-only** and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as meetings, participants, recordings, and transcripts. Cannot change anything." | 12 of 15 | | **Full access** (recommended) | "Create and manage Google Meet spaces." | 15 of 15 | **Full access** is the recommended level. The connect window selects it for you, and you can choose another level. The Google Meet sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Google Meet account?" The teammate can search the Google Meet actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Google Meet action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 12 of the 15 Google Meet actions at this level: * View entries * View recordings * View records * View sessions * View transcripts * View participants All 12 actions at this level: | Works on | Action | What it does | Slug | | - | - | - | - | | **Entries** | Get transcript entry | Fetches a single transcript entry by resource name for targeted inspection or incremental processing. | `GOOGLEMEET_GET_TRANSCRIPT_ENTRY` | | | List transcript entries | List structured transcript entries (speaker/time/text segments) for a specific Google Meet transcript. | `GOOGLEMEET_LIST_TRANSCRIPT_ENTRIES` | | **Participants** | List participants | Lists the participants in a conference record. | `GOOGLEMEET_LIST_PARTICIPANTS` | | **Recordings** | Get recordings by conference record ID | Retrieves recordings from Google Meet for a given conference record ID. | `GOOGLEMEET_GET_RECORDINGS_BY_CONFERENCE_RECORD_ID` | | | List recordings | List recording resources from a conference record. | `GOOGLEMEET_LIST_RECORDINGS` | | **Records** | Get conference record by name | Get a specific conference record by its resource name. | `GOOGLEMEET_GET_CONFERENCE_RECORD_BY_NAME` | | | List conference records | | `GOOGLEMEET_LIST_CONFERENCE_RECORDS` | | **Sessions** | Get participant session | Retrieves detailed information about a specific participant session from a Google Meet conference record. | `GOOGLEMEET_GET_PARTICIPANT_SESSION` | | | List participant sessions | Lists all participant sessions for a specific participant in a Google Meet conference. | `GOOGLEMEET_LIST_PARTICIPANT_SESSIONS` | | **Transcripts** | Get transcript | Retrieves a specific transcript by its resource name. | `GOOGLEMEET_GET_TRANSCRIPT` | | | Get transcripts by conference record ID | Retrieves all transcripts for a specific Google Meet conference using its conference\_record\_id. | `GOOGLEMEET_GET_TRANSCRIPTS_BY_CONFERENCE_RECORD_ID` | | **Other actions** | Get meet | Retrieve details of a Google Meet space using its unique identifier. | `GOOGLEMEET_GET_MEET` | Teammates can use 15 of the 15 Google Meet actions at this level: everything in **Read-only**, plus: * Update spaces The 3 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Spaces** | Update space | Updates the settings of an existing Google Meet space. | `GOOGLEMEET_UPDATE_SPACE` | | **Other actions** | Create meet | Creates a new Google Meet space with optional configuration. | `GOOGLEMEET_CREATE_MEET` | | | End active conference | Ends an active conference in a Google Meet space. | `GOOGLEMEET_END_ACTIVE_CONFERENCE` | ## Connect Google Meet Before you start: * You need a Google Meet account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Google Meet** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Google Meet**. The Google Meet sign-in page opens in a new tab. Sign in to Google Meet and approve the request. Check that it works: Google Meet shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Google Meet account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Google Meet account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Google Meet account Click **+ Account** on the Google Meet card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Google Meet side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Google Meet**. 3. Sign in to Google Meet and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Google Meet account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Google Meet.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Google Meet account becomes primary. ## Costs Google Meet actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Google Meet, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Google Meet connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Google Meet account has an access level: **Read-only** and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Google Meet card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Google Meet account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Google Meet.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Google Photos Source: https://squad.so/docs/apps/googlephotos What teammates can do in Google Photos at each access level, and how to connect, limit, and disconnect Google Photos. Connect Google Photos so your teammates can work in your Google Photos account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Google Photos account has an access level: **Read-only** and **Read + upload**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as photos, videos, and albums. Cannot change anything." | 7 of 14 | | **Read + upload** (recommended) | "Upload photos and videos, and create and edit albums." | 14 of 14 | **Read + upload** is the recommended level. The connect window selects it for you, and you can choose another level. The Google Photos sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Google Photos account?" The teammate can search the Google Photos actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Google Photos action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 7 of the 14 Google Photos actions at this level: * View albums * View and search items All 7 actions at this level: | Works on | Action | What it does | Slug | | - | - | - | - | | **Albums** | Get album | Returns the album based on the specified albumId. | `GOOGLEPHOTOS_GET_ALBUM` | | | List albums | Lists all albums shown to a user in the Albums tab of Google Photos. | `GOOGLEPHOTOS_LIST_ALBUMS` | | | List shared albums | \[DEPRECATED. | `GOOGLEPHOTOS_LIST_SHARED_ALBUMS` | | **Items** | Batch get media items | Returns the list of media items for the specified media item identifiers. | `GOOGLEPHOTOS_BATCH_GET_MEDIA_ITEMS` | | | Get media item download | Downloads a media item from Google Photos and returns it as a file. | `GOOGLEPHOTOS_GET_MEDIA_ITEM_DOWNLOAD` | | | List media items | Lists media items created by this application from Google Photos. | `GOOGLEPHOTOS_LIST_MEDIA_ITEMS` | | | Search media items | Searches for media items in a user's Google Photos library. | `GOOGLEPHOTOS_SEARCH_MEDIA_ITEMS` | Teammates can use 14 of the 14 Google Photos actions at this level: everything in **Read-only**, plus: * Create and update items * Create and update albums * Create media The 7 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Albums** | Create album | Creates a new album in Google Photos. | `GOOGLEPHOTOS_CREATE_ALBUM` | | | Update album | Updates an album's title or cover photo in Google Photos. | `GOOGLEPHOTOS_UPDATE_ALBUM` | | **Items** | Batch add media items | Adds one or more media items to an album in Google Photos. | `GOOGLEPHOTOS_BATCH_ADD_MEDIA_ITEMS` | | | Batch create media items | Batch upload and create media items in Google Photos. | `GOOGLEPHOTOS_BATCH_CREATE_MEDIA_ITEMS` | | | Update media item | Updates a media item's description in Google Photos. | `GOOGLEPHOTOS_UPDATE_MEDIA_ITEM` | | **Media** | Upload media | Upload a media file to Google Photos. | `GOOGLEPHOTOS_UPLOAD_MEDIA` | | **Other actions** | Add enrichment | Adds an enrichment at a specified position in a defined album. | `GOOGLEPHOTOS_ADD_ENRICHMENT` | ## Connect Google Photos Before you start: * You need a Google Photos account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Google Photos** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Google Photos**. The Google Photos sign-in page opens in a new tab. Sign in to Google Photos and approve the request. Check that it works: Google Photos shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Google Photos account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Google Photos account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Google Photos account Click **+ Account** on the Google Photos card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Google Photos side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Google Photos**. 3. Sign in to Google Photos and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Google Photos account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Google Photos.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Google Photos account becomes primary. ## Costs Google Photos actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Google Photos, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Google Photos connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Google Photos account has an access level: **Read-only** and **Read + upload**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Google Photos card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Google Photos account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Google Photos.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Google Sheets Source: https://squad.so/docs/apps/googlesheets What teammates can do in Google Sheets at each access level, and how to connect, limit, and disconnect Google Sheets. Connect Google Sheets so your teammates can work in your Google Sheets account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Google Sheets account has an access level: **Read-only**, **Read + create**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as spreadsheets, sheets, cell values, and charts. Cannot change anything." | 22 of 58 | | **Read + create** | "Create new spreadsheets and sheets, and add rows, columns, values, and charts. Cannot change or delete what a spreadsheet already holds." | 32 of 58 | | **Full access** (recommended) | "Everything, including overwriting, formatting, sorting, clearing, and deleting existing data." | 58 of 58 | **Full access** is the recommended level. The connect window selects it for you, and you can choose another level. The Google Sheets sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Google Sheets account?" The teammate can search the Google Sheets actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Google Sheets action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 22 of the 58 Google Sheets actions at this level: * View cell values * View and search spreadsheets * View files * View rules * View and search tables * View change history * View charts * View columns * View rows * View schemas * View sheets * Search worksheets All 22 actions at this level: | Works on | Action | What it does | Slug | | - | - | - | - | | **Cell values** | Get batch values | DEPRECATED: Use GOOGLESHEETS\_BATCH\_GET instead. | `GOOGLESHEETS_GET_BATCH_VALUES` | | | Spreadsheets values batch get by data filter | Return one or more ranges of values from a spreadsheet that match the specified data filters. | `GOOGLESHEETS_SPREADSHEETS_VALUES_BATCH_GET_BY_DATA_FILTER` | | | Values get | Returns a range of values from a spreadsheet. | `GOOGLESHEETS_VALUES_GET` | | **Change history** | List drive changes | | `GOOGLESHEETS_LIST_DRIVE_CHANGES` | | **Charts** | List charts | Lists all charts in a Google Sheets spreadsheet across all sheets, returning chart\_id, sheet metadata, chart type, title, and position. | `GOOGLESHEETS_LIST_CHARTS` | | **Columns** | Aggregate column data | Searches for rows where a specific column matches a value and performs mathematical operations on data from another column. | `GOOGLESHEETS_AGGREGATE_COLUMN_DATA` | | **Files** | Export drive file | | `GOOGLESHEETS_EXPORT_DRIVE_FILE` | | | Get drive file metadata | | `GOOGLESHEETS_GET_DRIVE_FILE_METADATA` | | **Rows** | Lookup spreadsheet row | Finds the first row in a Google Spreadsheet where a cell's entire content exactly matches the query string, searching within a specified A1 notation range or the first sheet by default. | `GOOGLESHEETS_LOOKUP_SPREADSHEET_ROW` | | **Rules** | Get conditional format rules | List conditional formatting rules for each sheet (or a selected sheet) in a normalized, easy-to-edit form. | `GOOGLESHEETS_GET_CONDITIONAL_FORMAT_RULES` | | | Get data validation rules | Extract data validation rules from a Google Sheets spreadsheet. | `GOOGLESHEETS_GET_DATA_VALIDATION_RULES` | | **Schemas** | Get table schema | DEPRECATED: Use GOOGLESHEETS\_GET\_SHEET\_NAMES and GOOGLESHEETS\_GET\_SPREADSHEET\_INFO for sheet structure metadata, and GOOGLESHEETS\_VALUES\_GET for direct range inspection. | `GOOGLESHEETS_GET_TABLE_SCHEMA` | | **Sheets** | Export sheet as PDF | | `GOOGLESHEETS_EXPORT_SHEET_AS_PDF` | | | Get sheet names | Lists all worksheet names from a specified Google Spreadsheet (which must exist), useful for discovering sheets before further operations. | `GOOGLESHEETS_GET_SHEET_NAMES` | | **Spreadsheets** | Get spreadsheet by data filter | Returns the spreadsheet at the given ID, filtered by the specified data filters. | `GOOGLESHEETS_GET_SPREADSHEET_BY_DATA_FILTER` | | | Get spreadsheet info | Retrieves metadata for a Google Spreadsheet using its ID. | `GOOGLESHEETS_GET_SPREADSHEET_INFO` | | | Search spreadsheets | Search for Google Spreadsheets using various filters including name, content, date ranges, and more. | `GOOGLESHEETS_SEARCH_SPREADSHEETS` | | **Tables** | List tables | DEPRECATED: Use GOOGLESHEETS\_GET\_SHEET\_NAMES for tab discovery and GOOGLESHEETS\_GET\_SPREADSHEET\_INFO for full sheet metadata. | `GOOGLESHEETS_LIST_TABLES` | | | Query table | DEPRECATED: Use GOOGLESHEETS\_VALUES\_GET / GOOGLESHEETS\_BATCH\_GET for table reads and GOOGLESHEETS\_LOOKUP\_SPREADSHEET\_ROW for row lookup/filter workflows. | `GOOGLESHEETS_QUERY_TABLE` | | **Worksheets** | Find worksheet by title | DEPRECATED: Use GetSpreadsheetInfo instead. | `GOOGLESHEETS_FIND_WORKSHEET_BY_TITLE` | | **Other actions** | Batch get | Retrieves data from specified cell ranges in a Google Spreadsheet. | `GOOGLESHEETS_BATCH_GET` | | | Search developer metadata | Search for developer metadata in a spreadsheet. | `GOOGLESHEETS_SEARCH_DEVELOPER_METADATA` | Teammates can use 32 of the 58 Google Sheets actions at this level: everything in **Read-only**, plus: * Create and manage sheets * Create and update dimensions * Update cell values * Create charts * Create columns * Create rows The 10 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Cell values** | Spreadsheets values append | Append values to a spreadsheet. | `GOOGLESHEETS_SPREADSHEETS_VALUES_APPEND` | | **Charts** | Create chart | Create a chart in a Google Sheets spreadsheet using the specified data range and chart type. | `GOOGLESHEETS_CREATE_CHART` | | **Columns** | Create spreadsheet column | Creates a new column in a Google Spreadsheet. | `GOOGLESHEETS_CREATE_SPREADSHEET_COLUMN` | | **Dimensions** | Append dimension | Append new rows or columns to a sheet, increasing its size. | `GOOGLESHEETS_APPEND_DIMENSION` | | | Insert dimension | Insert new rows or columns into a sheet at a specified location. | `GOOGLESHEETS_INSERT_DIMENSION` | | **Rows** | Create spreadsheet row | Inserts a new, empty row into a specified sheet of a Google Spreadsheet at a given index, optionally inheriting formatting from the row above. | `GOOGLESHEETS_CREATE_SPREADSHEET_ROW` | | **Sheets** | Add sheet | Adds a new sheet to a spreadsheet. | `GOOGLESHEETS_ADD_SHEET` | | | Create Google sheet1 | Creates a new Google Spreadsheet in Google Drive. | `GOOGLESHEETS_CREATE_GOOGLE_SHEET1` | | | Sheet from JSON | DEPRECATED: Use GOOGLESHEETS\_CREATE\_GOOGLE\_SHEET1 + GOOGLESHEETS\_UPDATE\_VALUES\_BATCH (or GOOGLESHEETS\_VALUES\_UPDATE / GOOGLESHEETS\_SPREADSHEETS\_VALUES\_APPEND) instead. | `GOOGLESHEETS_SHEET_FROM_JSON` | | | Spreadsheets sheets copy to | Copy a single sheet from a spreadsheet to another spreadsheet. | `GOOGLESHEETS_SPREADSHEETS_SHEETS_COPY_TO` | Teammates can use 58 of the 58 Google Sheets actions at this level: everything in **Read + create**, plus: * Delete cell values * Update and delete charts * Update properties * Delete and manage dimensions * Update and delete filters * Update rules * Delete sheets * Update spreadsheets The 26 actions that this level adds to **Read + create**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Cell values** | Batch clear values by data filter | Clears one or more ranges of values from a spreadsheet using data filters. | `GOOGLESHEETS_BATCH_CLEAR_VALUES_BY_DATA_FILTER` | | | Batch update values by data filter | Update values in ranges matching data filters. | `GOOGLESHEETS_BATCH_UPDATE_VALUES_BY_DATA_FILTER` | | | Clear values | Clears cell content (preserving formatting and notes) from a specified A1 notation range in a Google Spreadsheet. | `GOOGLESHEETS_CLEAR_VALUES` | | | Format cell | Applies text and background cell formatting to a specified range in a Google Sheets worksheet. | `GOOGLESHEETS_FORMAT_CELL` | | | Sort range | | `GOOGLESHEETS_SORT_RANGE` | | | Spreadsheets values batch clear | Clear one or more ranges of values from a spreadsheet. | `GOOGLESHEETS_SPREADSHEETS_VALUES_BATCH_CLEAR` | | | Update values batch | Set values in one or more ranges of a spreadsheet. | `GOOGLESHEETS_UPDATE_VALUES_BATCH` | | | Values update | Set values in a range of a Google Spreadsheet. | `GOOGLESHEETS_VALUES_UPDATE` | | **Charts** | Delete chart | Delete an existing chart from a Google Sheets spreadsheet. | `GOOGLESHEETS_DELETE_CHART` | | | Move chart | Move or resize an existing chart on a Google Sheets spreadsheet. | `GOOGLESHEETS_MOVE_CHART` | | | Update chart | Update the specification of an existing chart in a Google Sheets spreadsheet. | `GOOGLESHEETS_UPDATE_CHART` | | **Dimensions** | Auto resize dimensions | Auto-fit column widths or row heights for a dimension range using batchUpdate.autoResizeDimensions. | `GOOGLESHEETS_AUTO_RESIZE_DIMENSIONS` | | | Delete dimension | Delete specified rows or columns from a sheet in a Google Spreadsheet. | `GOOGLESHEETS_DELETE_DIMENSION` | | **Filters** | Clear basic filter | Clear the basic filter from a sheet. | `GOOGLESHEETS_CLEAR_BASIC_FILTER` | | | Set basic filter | Set a basic filter on a sheet in a Google Spreadsheet. | `GOOGLESHEETS_SET_BASIC_FILTER` | | **Properties** | Update dimension properties | Hide/unhide rows or columns and set row heights or column widths. | `GOOGLESHEETS_UPDATE_DIMENSION_PROPERTIES` | | | Update sheet properties | Update properties of a sheet (worksheet) within a Google Spreadsheet, such as its title, index, visibility, tab color, or grid properties. | `GOOGLESHEETS_UPDATE_SHEET_PROPERTIES` | | | Update spreadsheet properties | Update SPREADSHEET-LEVEL properties such as the spreadsheet's title, locale, time zone, or auto-recalculation settings. | `GOOGLESHEETS_UPDATE_SPREADSHEET_PROPERTIES` | | **Rows** | Upsert rows | Automatically handles column mapping and partial updates. | `GOOGLESHEETS_UPSERT_ROWS` | | **Rules** | Mutate conditional format rules | Add, update, delete, or reorder conditional format rules on a Google Sheet. | `GOOGLESHEETS_MUTATE_CONDITIONAL_FORMAT_RULES` | | | Set data validation rule | Set or clear data validation rules (including dropdowns) on a range in Google Sheets. | `GOOGLESHEETS_SET_DATA_VALIDATION_RULE` | | **Sheets** | Delete sheet | Delete a sheet (worksheet) from a spreadsheet. | `GOOGLESHEETS_DELETE_SHEET` | | **Spreadsheets** | Move spreadsheet to folder | | `GOOGLESHEETS_MOVE_SPREADSHEET_TO_FOLDER` | | **Other actions** | Batch update | DEPRECATED: Use GOOGLESHEETS\_VALUES\_UPDATE instead. | `GOOGLESHEETS_BATCH_UPDATE` | | | Execute SQL | DEPRECATED: Use direct Google Sheets actions instead. | `GOOGLESHEETS_EXECUTE_SQL` | | | Find replace | Find and replace text in a Google Spreadsheet. | `GOOGLESHEETS_FIND_REPLACE` | ## Connect Google Sheets Before you start: * You need a Google Sheets account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Google Sheets** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Google Sheets**. The Google Sheets sign-in page opens in a new tab. Sign in to Google Sheets and approve the request. Check that it works: Google Sheets shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Google Sheets account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Google Sheets account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Google Sheets account Click **+ Account** on the Google Sheets card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Google Sheets side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Google Sheets**. 3. Sign in to Google Sheets and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Google Sheets account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Google Sheets.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Google Sheets account becomes primary. ## Costs Google Sheets actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Google Sheets, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Google Sheets connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Google Sheets account has an access level: **Read-only**, **Read + create**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Google Sheets card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Google Sheets account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Google Sheets.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Google Tasks Source: https://squad.so/docs/apps/googletasks What teammates can do in Google Tasks at each access level, and how to connect, limit, and disconnect Google Tasks. Connect Google Tasks so your teammates can work in your Google Tasks account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Google Tasks account has an access level: **Read-only** and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as task lists and tasks. Cannot change anything." | 5 of 18 | | **Full access** (recommended) | "Read, create, edit, and delete tasks." | 18 of 18 | **Full access** is the recommended level. The connect window selects it for you, and you can choose another level. The Google Tasks sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Google Tasks account?" The teammate can search the Google Tasks actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Google Tasks action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 5 of the 18 Google Tasks actions at this level: * View tasks * View task lists All 5 actions at this level: | Works on | Action | What it does | Slug | | - | - | - | - | | **Task lists** | Get task list | Retrieves a specific task list from the user's Google Tasks if the tasklist\_id exists for the authenticated user. | `GOOGLETASKS_GET_TASK_LIST` | | | List task lists | Fetches the authenticated user's task lists from Google Tasks. | `GOOGLETASKS_LIST_TASK_LISTS` | | **Tasks** | Get task | Retrieve a specific Google Task. | `GOOGLETASKS_GET_TASK` | | | List all tasks | List all tasks across all of the user's task lists with optional filters. | `GOOGLETASKS_LIST_ALL_TASKS` | | | List tasks | Retrieves tasks from a Google Tasks list. | `GOOGLETASKS_LIST_TASKS` | Teammates can use 18 of the 18 Google Tasks actions at this level: everything in **Read-only**, plus: * Create, update, and delete tasks * Create, update, and delete task lists The 13 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Task lists** | Create task list | Creates a new task list with the specified title and returns a tasklist\_id. | `GOOGLETASKS_CREATE_TASK_LIST` | | | Delete task list | Permanently deletes an existing Google Task list, identified by tasklist\_id, along with all its tasks. | `GOOGLETASKS_DELETE_TASK_LIST` | | | Patch task list | Updates the title of an existing Google Tasks task list. | `GOOGLETASKS_PATCH_TASK_LIST` | | | Update task list | Updates the authenticated user's specified task list. | `GOOGLETASKS_UPDATE_TASK_LIST` | | **Tasks** | Bulk insert tasks | DEPRECATED: Use BatchExecute instead. | `GOOGLETASKS_BULK_INSERT_TASKS` | | | Clear tasks | Permanently and irreversibly clears all completed tasks from a specified Google Tasks list. | `GOOGLETASKS_CLEAR_TASKS` | | | Delete task | Deletes a specified task from a Google Tasks list. | `GOOGLETASKS_DELETE_TASK` | | | Insert task | Creates a new task in a given tasklist\_id, optionally as a subtask of an existing task\_parent or positioned after an existing task\_previous sibling, where both task\_parent and task\_previous must belong to the same tasklist\_id if specified. | `GOOGLETASKS_INSERT_TASK` | | | Move task | Moves the specified task to another position in the task list or to a different task list. | `GOOGLETASKS_MOVE_TASK` | | | Patch task | Partially updates an existing task (identified by task\_id) within a specific Google Task list (identified by tasklist\_id), modifying only the provided attributes from TaskInput (e.g., title, notes, due date, status) and requiring both the task and list to exist. | `GOOGLETASKS_PATCH_TASK` | | | Update task | DEPRECATED: Use GOOGLETASKS\_PATCH\_TASK instead. | `GOOGLETASKS_UPDATE_TASK` | | | Update task full | Fully replace an existing Google Task using PUT method. | `GOOGLETASKS_UPDATE_TASK_FULL` | | **Other actions** | Batch execute | Executes multiple Google Tasks API operations in a single HTTP batch request and returns structured per-item results. | `GOOGLETASKS_BATCH_EXECUTE` | ## Connect Google Tasks Before you start: * You need a Google Tasks account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Google Tasks** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Google Tasks**. The Google Tasks sign-in page opens in a new tab. Sign in to Google Tasks and approve the request. Check that it works: Google Tasks shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Google Tasks account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Google Tasks account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Google Tasks account Click **+ Account** on the Google Tasks card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Google Tasks side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Google Tasks**. 3. Sign in to Google Tasks and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Google Tasks account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Google Tasks.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Google Tasks account becomes primary. ## Costs Google Tasks actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Google Tasks, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Google Tasks connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Google Tasks account has an access level: **Read-only** and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Google Tasks card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Google Tasks account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Google Tasks.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Gorgias Source: https://squad.so/docs/apps/gorgias What teammates can do in Gorgias with standard access, and how to connect, limit, and disconnect Gorgias. Connect Gorgias so your teammates can work in your Gorgias account. ## Access levels Gorgias has one level. The connect window shows it as **Default** and describes it as "Standard access." Teammates can use all 32 Gorgias actions. You cannot choose a narrower level for Gorgias. You can block single teammates with **No access** under **Per-teammate access**. The Gorgias sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in, and standard access does not limit which Gorgias actions teammates can use. ## What teammates can do The summary below groups the Gorgias actions into plain tasks. The full list after it names every action, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open the list and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Gorgias account?" The teammate can search the Gorgias actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Gorgias action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. * View, create, update, and delete customers * View, create, update, and delete teams * View, create, update, and delete tickets * View, create, update, and delete tags * View, create, and update settings * View events * View account details | Action | What it does | Slug | | - | - | - | | Get account | Retrieves your Gorgias account information. | `GORGIAS_GET_ACCOUNT` | | Action | What it does | Slug | | - | - | - | | Create customer | Creates a new customer in Gorgias. | `GORGIAS_CREATE_CUSTOMER` | | Delete customer | Deletes a specific customer from Gorgias. | `GORGIAS_DELETE_CUSTOMER` | | Delete customers | Deletes multiple customers from Gorgias. | `GORGIAS_DELETE_CUSTOMERS` | | Get customer | Retrieves a specific customer from Gorgias. | `GORGIAS_GET_CUSTOMER` | | List customers | Lists customers in Gorgias with various filtering options. | `GORGIAS_LIST_CUSTOMERS` | | Merge customers | Merges two customers in Gorgias, combining their data and history. | `GORGIAS_MERGE_CUSTOMERS` | | Set customer data | Sets the complete data object for a customer in Gorgias. | `GORGIAS_SET_CUSTOMER_DATA` | | Update customer | Updates an existing customer in Gorgias. | `GORGIAS_UPDATE_CUSTOMER` | | Action | What it does | Slug | | - | - | - | | Get event | Retrieves a specific event from Gorgias. | `GORGIAS_GET_EVENT` | | List events | Lists events in Gorgias with various filtering options. | `GORGIAS_LIST_EVENTS` | | Action | What it does | Slug | | - | - | - | | Delete customer field value | Deletes a specific field value for a customer in Gorgias. | `GORGIAS_DELETE_CUSTOMER_FIELD_VALUE` | | Delete ticket field value | Deletes a specific field value for a ticket in Gorgias. | `GORGIAS_DELETE_TICKET_FIELD_VALUE` | | List customer field values | Lists all field values for a customer in Gorgias. | `GORGIAS_LIST_CUSTOMER_FIELD_VALUES` | | List ticket field values | Lists all field values for a ticket in Gorgias. | `GORGIAS_LIST_TICKET_FIELD_VALUES` | | Action | What it does | Slug | | - | - | - | | Create account setting | Creates a new account setting in Gorgias. | `GORGIAS_CREATE_ACCOUNT_SETTING` | | List account settings | Lists all account settings in Gorgias. | `GORGIAS_LIST_ACCOUNT_SETTINGS` | | Update account setting | Updates an existing account setting in Gorgias. | `GORGIAS_UPDATE_ACCOUNT_SETTING` | | Action | What it does | Slug | | - | - | - | | Add ticket tags | Adds tags to a ticket in Gorgias. | `GORGIAS_ADD_TICKET_TAGS` | | List ticket tags | Lists all tags for a ticket in Gorgias. | `GORGIAS_LIST_TICKET_TAGS` | | Remove ticket tags | Removes tags from a ticket in Gorgias. | `GORGIAS_REMOVE_TICKET_TAGS` | | Set ticket tags | Sets the complete list of tags for a ticket in Gorgias. | `GORGIAS_SET_TICKET_TAGS` | | Action | What it does | Slug | | - | - | - | | Create team | Creates a new team in Gorgias. | `GORGIAS_CREATE_TEAM` | | Delete team | Deletes a specific team from Gorgias. | `GORGIAS_DELETE_TEAM` | | Get team | Retrieves a specific team from Gorgias. | `GORGIAS_GET_TEAM` | | List teams | Lists teams in Gorgias. | `GORGIAS_LIST_TEAMS` | | Update team | Updates an existing team in Gorgias. | `GORGIAS_UPDATE_TEAM` | | Action | What it does | Slug | | - | - | - | | Create ticket | Creates a new ticket in Gorgias. | `GORGIAS_CREATE_TICKET` | | Delete ticket | Deletes a specific ticket from Gorgias. | `GORGIAS_DELETE_TICKET` | | Get ticket | Retrieves a specific ticket from Gorgias. | `GORGIAS_GET_TICKET` | | List tickets | Lists tickets in Gorgias with various filtering options. | `GORGIAS_LIST_TICKETS` | | Update ticket | Updates an existing ticket in Gorgias. | `GORGIAS_UPDATE_TICKET` | ## Connect Gorgias Before you start: * You need a Gorgias account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Gorgias** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, keep **Default**. It is the only option. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Gorgias**. The Gorgias sign-in page opens in a new tab. Sign in to Gorgias and approve the request. Check that it works: Gorgias shows under **Your connections**, with a row for the account and its access level. ## Set access for one teammate Every teammate can use the account unless you block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Gorgias account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose **No access** to block the teammate. Choose **Default (Default)** to allow it again. 5. Click **Save access**. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Gorgias account Click **+ Account** on the Gorgias card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Gorgias side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Gorgias**. 3. Sign in to Gorgias and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Gorgias account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Gorgias.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Gorgias account becomes primary. ## Costs Gorgias actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate says it has no access to Gorgias, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Gorgias connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions You cannot choose a narrower level for Gorgias. You can block single teammates with **No access** under **Per-teammate access**. Click **+ Account** on the Gorgias card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Gorgias account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Gorgias.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Harvest Source: https://squad.so/docs/apps/harvest What teammates can do in Harvest with standard access, and how to connect, limit, and disconnect Harvest. Connect Harvest so your teammates can work in your Harvest account. ## Access levels Harvest has one level. The connect window shows it as **Default** and describes it as "Standard access." Teammates can use all 57 Harvest actions. You cannot choose a narrower level for Harvest. You can block single teammates with **No access** under **Per-teammate access**. The Harvest sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in, and standard access does not limit which Harvest actions teammates can use. ## What teammates can do The summary below groups the Harvest actions into plain tasks. The full list after it names every action, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open the list and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Harvest account?" The teammate can search the Harvest actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Harvest action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. * View, delete, and send messages * View, create, update, and delete categories * View, create, update, and delete clients * View, create, update, and delete invoices * View, create, update, and delete projects * View, create, update, and delete tasks * View, create, update, and delete time entries * View, create, update, and delete users * View, create, update, and delete contacts * View, create, update, and delete estimates * View, create, and delete payments * View and update companies | Action | What it does | Slug | | - | - | - | | Create estimate item category | Create a new estimate item category in Harvest. | `HARVEST_CREATE_ESTIMATE_ITEM_CATEGORY` | | Create invoice item category | Create a new invoice item category. | `HARVEST_CREATE_INVOICE_ITEM_CATEGORY` | | Delete invoice item category | Delete an invoice item category from Harvest. | `HARVEST_DELETE_INVOICE_ITEM_CATEGORY` | | List invoice item categories | Retrieve invoice item categories. | `HARVEST_LIST_INVOICE_ITEM_CATEGORIES` | | Update estimate item category | Updates an existing estimate item category's name in Harvest. | `HARVEST_UPDATE_ESTIMATE_ITEM_CATEGORY` | | Action | What it does | Slug | | - | - | - | | Create client | Create a new client. | `HARVEST_CREATE_CLIENT` | | Delete client | Delete a client. | `HARVEST_DELETE_CLIENT` | | Get client | Retrieves a specific client by ID from Harvest. | `HARVEST_GET_CLIENT` | | List clients | | `HARVEST_LIST_CLIENTS` | | Update client | Update an existing client. | `HARVEST_UPDATE_CLIENT` | | Action | What it does | Slug | | - | - | - | | Get company info | Retrieves detailed information about the company associated with the authenticated Harvest account. | `HARVEST_GET_COMPANY_INFO` | | Update company info | Updates company time tracking settings in Harvest. | `HARVEST_UPDATE_COMPANY_INFO` | | Action | What it does | Slug | | - | - | - | | Create client contact | Create a new client contact. | `HARVEST_CREATE_CLIENT_CONTACT` | | Delete client contact | Permanently deletes a client contact from Harvest. | `HARVEST_DELETE_CLIENT_CONTACT` | | List client contacts | | `HARVEST_LIST_CLIENT_CONTACTS` | | Update client contact | Update a client contact. | `HARVEST_UPDATE_CLIENT_CONTACT` | | Action | What it does | Slug | | - | - | - | | Create estimate | Create a new estimate. | `HARVEST_CREATE_ESTIMATE` | | Delete estimate | Delete an estimate. | `HARVEST_DELETE_ESTIMATE` | | Get estimate | Retrieve a specific estimate by ID. | `HARVEST_GET_ESTIMATE` | | Update estimate | Update an existing estimate. | `HARVEST_UPDATE_ESTIMATE` | | Action | What it does | Slug | | - | - | - | | List expense categories | | `HARVEST_LIST_EXPENSE_CATEGORIES` | | Action | What it does | Slug | | - | - | - | | Create expense | Create a new expense entry. | `HARVEST_CREATE_EXPENSE` | | Update expense | Update an existing expense. | `HARVEST_UPDATE_EXPENSE` | | Action | What it does | Slug | | - | - | - | | Create invoice | Create a new invoice. | `HARVEST_CREATE_INVOICE` | | Delete invoice | Delete an invoice from Harvest. | `HARVEST_DELETE_INVOICE` | | Get invoice | Retrieve a specific invoice by ID. | `HARVEST_GET_INVOICE` | | List invoices | | `HARVEST_LIST_INVOICES` | | Update invoice | Update an existing invoice. | `HARVEST_UPDATE_INVOICE` | | Action | What it does | Slug | | - | - | - | | Create estimate message | Create a new message for an estimate. | `HARVEST_CREATE_ESTIMATE_MESSAGE` | | Create invoice message | Creates a new message for an invoice in Harvest. | `HARVEST_CREATE_INVOICE_MESSAGE` | | Delete estimate message | Delete an estimate message. | `HARVEST_DELETE_ESTIMATE_MESSAGE` | | Delete invoice message | Delete a message from an invoice. | `HARVEST_DELETE_INVOICE_MESSAGE` | | List estimate messages | Lists all messages associated with a specific estimate in Harvest. | `HARVEST_LIST_ESTIMATE_MESSAGES` | | List invoice messages | List messages associated with a given invoice. | `HARVEST_LIST_INVOICE_MESSAGES` | | Action | What it does | Slug | | - | - | - | | Create invoice payment | Create a new payment on an invoice. | `HARVEST_CREATE_INVOICE_PAYMENT` | | Delete invoice payment | Delete an invoice payment. | `HARVEST_DELETE_INVOICE_PAYMENT` | | List invoice payments | List all payments recorded for a specific invoice. | `HARVEST_LIST_INVOICE_PAYMENTS` | | Action | What it does | Slug | | - | - | - | | Create project | Create a new project in Harvest. | `HARVEST_CREATE_PROJECT` | | Delete project | Delete a project. | `HARVEST_DELETE_PROJECT` | | Get project | Retrieve a specific Harvest project by ID. | `HARVEST_GET_PROJECT` | | List projects | Results span multiple pages. | `HARVEST_LIST_PROJECTS` | | Update project | Update an existing project. | `HARVEST_UPDATE_PROJECT` | | Action | What it does | Slug | | - | - | - | | Create task | Creates a new task in Harvest. | `HARVEST_CREATE_TASK` | | Delete task | Delete a task. | `HARVEST_DELETE_TASK` | | Get task | Retrieve a specific task by ID. | `HARVEST_GET_TASK` | | List tasks | Response includes total\_pages to iterate all pages when task count exceeds per\_page. | `HARVEST_LIST_TASKS` | | Update task | Update an existing task. | `HARVEST_UPDATE_TASK` | | Action | What it does | Slug | | - | - | - | | Create time entry | Create a new time entry. | `HARVEST_CREATE_TIME_ENTRY` | | Delete time entry | Delete a time entry. | `HARVEST_DELETE_TIME_ENTRY` | | Get time entry | Retrieve a single time entry by ID. | `HARVEST_GET_TIME_ENTRY` | | List time entries | Retrieve a list of time entries. | `HARVEST_LIST_TIME_ENTRIES` | | Update time entry | Update an existing time entry. | `HARVEST_UPDATE_TIME_ENTRY` | | Action | What it does | Slug | | - | - | - | | Create user | Creates a new user in Harvest and sends an invitation email to the specified address. | `HARVEST_CREATE_USER` | | Delete user | Delete a user. | `HARVEST_DELETE_USER` | | Get user | Retrieve a specific user by ID. | `HARVEST_GET_USER` | | List users | | `HARVEST_LIST_USERS` | | Update user | Update an existing user. | `HARVEST_UPDATE_USER` | ## Connect Harvest Before you start: * You need a Harvest account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Harvest** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, keep **Default**. It is the only option. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Harvest**. The Harvest sign-in page opens in a new tab. Sign in to Harvest and approve the request. Check that it works: Harvest shows under **Your connections**, with a row for the account and its access level. ## Set access for one teammate Every teammate can use the account unless you block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Harvest account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose **No access** to block the teammate. Choose **Default (Default)** to allow it again. 5. Click **Save access**. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Harvest account Click **+ Account** on the Harvest card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Harvest side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Harvest**. 3. Sign in to Harvest and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Harvest account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Harvest.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Harvest account becomes primary. ## Costs Harvest actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate says it has no access to Harvest, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Harvest connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions You cannot choose a narrower level for Harvest. You can block single teammates with **No access** under **Per-teammate access**. Click **+ Account** on the Harvest card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Harvest account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Harvest.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # HubSpot Source: https://squad.so/docs/apps/hubspot What teammates can do in HubSpot at each access level, and how to connect, limit, and disconnect HubSpot. Connect HubSpot so your teammates can work in your HubSpot account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each HubSpot account has an access level: **Read-only**, **Read + write CRM**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as contacts, companies, deals, tickets, emails, and pipelines. Cannot change anything." | 112 of 264 | | **Read + write CRM** (recommended) | "Create, edit, and archive contacts, companies, deals, tickets, and their notes, tasks, calls, and meetings. Cannot merge records or change properties, pipelines, or marketing." | 185 of 264 | | **Full access** | "Everything, including merges, properties, pipelines, workflows, marketing emails, campaigns, and products." | 264 of 264 | **Read + write CRM** is the recommended level. The connect window selects it for you, and you can choose another level. The HubSpot sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my HubSpot account?" The teammate can search the HubSpot actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the HubSpot action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 112 of the 264 HubSpot actions at this level: * View and search contacts * View and search emails * View and search companies * View and search deals * View and search products * View properties * View and search responses * View and search tickets * View and search campaigns * View and search line items * View and search quotes * View settings All 112 actions at this level: | Action | What it does | Slug | | - | - | - | | Get account info | Gets current HubSpot account info (email, hubId, user details) using access-token lookup. | `HUBSPOT_GET_ACCOUNT_INFO` | | Who am I | | `HUBSPOT_WHO_AM_I` | | Action | What it does | Slug | | - | - | - | | List company activities | | `HUBSPOT_LIST_COMPANY_ACTIVITIES` | | List deal activities | | `HUBSPOT_LIST_DEAL_ACTIVITIES` | | Action | What it does | Slug | | - | - | - | | List assets | Lists assets of a specific assetType for a given HubSpot marketing campaignGuid, optionally including performance metrics for a date range. | `HUBSPOT_LIST_ASSETS` | | Action | What it does | Slug | | - | - | - | | List object associations | List all associations from a single CRM record to a specified target object type. | `HUBSPOT_LIST_OBJECT_ASSOCIATIONS` | | Read associations batch | Batch-read CRM associations (e.g., deals→contacts, deals→companies) for up to 1,000 source record IDs in one request. | `HUBSPOT_READ_ASSOCIATIONS_BATCH` | | Action | What it does | Slug | | - | - | - | | Get pipeline stage audit | Retrieves a reverse chronological list of all mutations (changes) for a specific pipeline stage, including CREATE and UPDATE events with timestamps and details. | `HUBSPOT_GET_PIPELINE_STAGE_AUDIT` | | List audit logs | | `HUBSPOT_LIST_AUDIT_LOGS` | | Action | What it does | Slug | | - | - | - | | List call dispositions | | `HUBSPOT_LIST_CALL_DISPOSITIONS` | | List company calls | | `HUBSPOT_LIST_COMPANY_CALLS` | | Action | What it does | Slug | | - | - | - | | Get campaign | Retrieves a HubSpot campaign by its ID. | `HUBSPOT_GET_CAMPAIGN` | | Get campaigns | Retrieves multiple HubSpot campaigns. | `HUBSPOT_GET_CAMPAIGNS` | | Search campaigns | Searches for HubSpot campaigns. | `HUBSPOT_SEARCH_CAMPAIGNS` | | Action | What it does | Slug | | - | - | - | | Audit pipeline changes | Retrieves a reverse chronological audit log of all changes for a specific, existing HubSpot CRM pipeline, which is identified by its pipelineId and a valid objectType that supports pipelines (e.g., 'deals', 'tickets'). | `HUBSPOT_AUDIT_PIPELINE_CHANGES` | | Action | What it does | Slug | | - | - | - | | Batch read companies by properties | Batch-retrieves up to 100 HubSpot company records by their IDs in a single request. | `HUBSPOT_BATCH_READ_COMPANIES_BY_PROPERTIES` | | Get company | Retrieves a HubSpot company by its ID. | `HUBSPOT_GET_COMPANY` | | List companies | Retrieves a paginated list of HubSpot companies. | `HUBSPOT_LIST_COMPANIES` | | Search companies | Searches for HubSpot companies using flexible criteria and filters. | `HUBSPOT_SEARCH_COMPANIES` | | Action | What it does | Slug | | - | - | - | | Get contact IDs | Fetches a list of contact IDs for a specific HubSpot campaign based on interaction type. | `HUBSPOT_GET_CONTACT_IDS` | | List contacts | Retrieves a paginated list of HubSpot contacts. | `HUBSPOT_LIST_CONTACTS` | | Read contact | Retrieves a HubSpot contact by its ID. | `HUBSPOT_READ_CONTACT` | | Read contacts | Batch read multiple HubSpot contacts by their IDs or custom identifier property. | `HUBSPOT_READ_CONTACTS` | | Search contacts by criteria | Searches for HubSpot contacts using a text query, specific filter criteria (filters in a group are ANDed, groups are ORed), sorting, and pagination to retrieve selected properties. | `HUBSPOT_SEARCH_CONTACTS_BY_CRITERIA` | | Action | What it does | Slug | | - | - | - | | Get deal | Retrieves a HubSpot deal by its ID. | `HUBSPOT_GET_DEAL` | | Get deals | Retrieves multiple HubSpot deals by their IDs in a single batch request. | `HUBSPOT_GET_DEALS` | | List deals | Retrieves a paginated list of HubSpot deals. | `HUBSPOT_LIST_DEALS` | | Search deals | Searches for HubSpot deals using flexible criteria and filters. | `HUBSPOT_SEARCH_DEALS` | | Action | What it does | Slug | | - | - | - | | Get marketing email draft | Retrieves the draft version of a marketing email by its emailId. | `HUBSPOT_GET_MARKETING_EMAIL_DRAFT` | | Action | What it does | Slug | | - | - | - | | Get ab email variation | Retrieves the alternate variation of a specified A/B marketing email. | `HUBSPOT_GET_AB_EMAIL_VARIATION` | | Get all marketing emails for a HubSpot account | | `HUBSPOT_GET_ALL_MARKETING_EMAILS_FOR_A_HUBSPOT_ACCOUNT` | | Get emails | Retrieves multiple HubSpot email engagement records by their IDs in a single batch request. | `HUBSPOT_GET_EMAILS` | | Get the details of a specified marketing email | Retrieves detailed information for a specific marketing email in HubSpot using its unique email ID, optionally including performance statistics and specific properties. | `HUBSPOT_GET_THE_DETAILS_OF_A_SPECIFIED_MARKETING_EMAIL` | | List emails | Retrieves a paginated list of HubSpot emails, allowing selection of specific properties (with or without history), associated object IDs, and filtering by archive status. | `HUBSPOT_LIST_EMAILS` | | Read email | Retrieve an existing HubSpot email by its emailId or an alternative unique idProperty. | `HUBSPOT_READ_EMAIL` | | Search emails | Searches for HubSpot emails using flexible criteria and filters. | `HUBSPOT_SEARCH_EMAILS` | | Action | What it does | Slug | | - | - | - | | Get engagement | | `HUBSPOT_GET_ENGAGEMENT` | | List recently modified engagements | | `HUBSPOT_LIST_RECENTLY_MODIFIED_ENGAGEMENTS` | | Action | What it does | Slug | | - | - | - | | Fetch import error details | Fetches a paginated list of read-only error details for a specific HubSpot CRM import, requiring a valid importId for a processed import. | `HUBSPOT_FETCH_IMPORT_ERROR_DETAILS` | | Action | What it does | Slug | | - | - | - | | List email events | | `HUBSPOT_LIST_EMAIL_EVENTS` | | Render event header or detail as HTML | Renders an event's header or detail template as HTML for a specified event on the HubSpot CRM timeline, using a given event template ID and event ID. | `HUBSPOT_RENDER_EVENT_HEADER_OR_DETAIL_AS_HTML` | | Retrieve timeline event by IDs | Retrieves a specific HubSpot CRM timeline event by its application ID, event template ID, and event ID, returning event details including timestamp, tokens, and associated object information. | `HUBSPOT_RETRIEVE_TIMELINE_EVENT_BY_IDS` | | Action | What it does | Slug | | - | - | - | | Read property group | Retrieves metadata for a specific property group of a given CRM object type, detailing its structure and attributes, but not the actual property values of CRM objects. | `HUBSPOT_READ_PROPERTY_GROUP` | | Read property groups for object type | Retrieves all property groups in a single call for a specified HubSpot CRM object type (e.g., 'contacts', 'companies'), returning only the groups themselves, not the individual properties within them. | `HUBSPOT_READ_PROPERTY_GROUPS_FOR_OBJECT_TYPE` | | Action | What it does | Slug | | - | - | - | | Retrieve line item by ID | Retrieves a HubSpot CRM line item by its ID or a specified unique property (idProperty). | `HUBSPOT_RETRIEVE_LINE_ITEM_BY_ID` | | Retrieve line items | Fetches a paginated list of HubSpot CRM line items, allowing selection of specific properties (including history), associated object IDs, and filtering by archive status. | `HUBSPOT_RETRIEVE_LINE_ITEMS` | | Search line items by criteria | Searches HubSpot line items using criteria including filters, sorting, and pagination. | `HUBSPOT_SEARCH_LINE_ITEMS_BY_CRITERIA` | | Action | What it does | Slug | | - | - | - | | Get active imports list | Retrieves a list of currently active import jobs in HubSpot for monitoring ongoing data operations. | `HUBSPOT_GET_ACTIVE_IMPORTS_LIST` | | Get CRM list | | `HUBSPOT_GET_CRM_LIST` | | Action | What it does | Slug | | - | - | - | | List company meetings | | `HUBSPOT_LIST_COMPANY_MEETINGS` | | List deal meetings | | `HUBSPOT_LIST_DEAL_MEETINGS` | | Action | What it does | Slug | | - | - | - | | Get record list memberships | | `HUBSPOT_GET_RECORD_LIST_MEMBERSHIPS` | | Get segment members | Retrieve segment (list) members ordered by join timestamp. | `HUBSPOT_GET_SEGMENT_MEMBERS` | | Action | What it does | Slug | | - | - | - | | List contact notes | | `HUBSPOT_LIST_CONTACT_NOTES` | | Action | What it does | Slug | | - | - | - | | Read CRM object by ID | Retrieves a specific CRM object (e.g., contact, company, deal, ticket) by its ID or a unique property, optionally including specific properties, history, and associations. | `HUBSPOT_READ_CRM_OBJECT_BY_ID` | | Search CRM objects by criteria | Searches HubSpot CRM objects (e.g., 'contacts', 'companies') by objectType using complex criteria including filters, sorting, and pagination. | `HUBSPOT_SEARCH_CRM_OBJECTS_BY_CRITERIA` | | Action | What it does | Slug | | - | - | - | | Retrieve owner by ID or user ID | Retrieves a specific HubSpot CRM owner by their ID, with options to specify ID type (owner or user) and to include archived records. | `HUBSPOT_RETRIEVE_OWNER_BY_ID_OR_USER_ID` | | Retrieve owners | Retrieves a list of all owners in the HubSpot CRM, including their ID, first name, last name, email, and user ID. | `HUBSPOT_RETRIEVE_OWNERS` | | Action | What it does | Slug | | - | - | - | | List site pages | | `HUBSPOT_LIST_SITE_PAGES` | | Retrieve page of CRM owners | Retrieves a paginated list of CRM owners from HubSpot, optionally filtering by email or archived status. | `HUBSPOT_RETRIEVE_PAGE_OF_CRM_OWNERS` | | Action | What it does | Slug | | - | - | - | | Retrieve pipeline stage by ID | Fetches detailed properties and metadata (e.g., label, display order, custom properties) for a specific stage within a HubSpot CRM pipeline, identified by its objectType, pipelineId, and stageId. | `HUBSPOT_RETRIEVE_PIPELINE_STAGE_BY_ID` | | Retrieve pipeline stages | Fetches all stages for a specified HubSpot CRM object type and pipeline ID. | `HUBSPOT_RETRIEVE_PIPELINE_STAGES` | | Action | What it does | Slug | | - | - | - | | Get pipeline by ID | Retrieves a specific pipeline by its ID and CRM object type, detailing its stages and properties. | `HUBSPOT_GET_PIPELINE_BY_ID` | | Retrieve all pipelines for specified object type | Retrieves all pipelines in HubSpot for a specified CRM object type, such as deals or tickets. | `HUBSPOT_RETRIEVE_ALL_PIPELINES_FOR_SPECIFIED_OBJECT_TYPE` | | Action | What it does | Slug | | - | - | - | | Get blog post | | `HUBSPOT_GET_BLOG_POST` | | Action | What it does | Slug | | - | - | - | | Get product | Retrieves a HubSpot product by its ID. | `HUBSPOT_GET_PRODUCT` | | Get products | Retrieves multiple HubSpot products by their IDs. | `HUBSPOT_GET_PRODUCTS` | | List products | Retrieves a paginated list of HubSpot products. | `HUBSPOT_LIST_PRODUCTS` | | Search products | Searches for HubSpot products using flexible criteria and filters. | `HUBSPOT_SEARCH_PRODUCTS` | | Action | What it does | Slug | | - | - | - | | List contact properties | Lists all contact properties in your HubSpot account, including custom properties you've created. | `HUBSPOT_LIST_CONTACT_PROPERTIES` | | Read a CRM property by name | Reads a specific CRM property definition for a given HubSpot object type by its internal name. | `HUBSPOT_READ_A_CRM_PROPERTY_BY_NAME` | | Read all properties for object type | Retrieves definitions and metadata (not actual values) for properties of a specified HubSpot CRM object type (e.g., 'contacts', 'companies', 'deals', or custom objects). | `HUBSPOT_READ_ALL_PROPERTIES_FOR_OBJECT_TYPE` | | Read batch CRM object properties | Retrieves property definitions (metadata) for a batch of CRM object properties for a specified object type. | `HUBSPOT_READ_BATCH_CRM_OBJECT_PROPERTIES` | | Read batch of CRM objects by ID or property values | Reads a batch of CRM objects of a specified objectType using their HubSpot IDs or unique property values from the inputs list, allowing retrieval of specific properties, their historical values (propertiesWithHistory), and filtering by archived status. | `HUBSPOT_READ_BATCH_OF_CRM_OBJECTS_BY_ID_OR_PROPERTY_VALUES` | | Read batch of line items by ID or property values | Retrieves a batch of HubSpot CRM line items by their IDs, or optionally by values of a custom unique property defined in idProperty. | `HUBSPOT_READ_BATCH_OF_LINE_ITEMS_BY_ID_OR_PROPERTY_VALUES` | | Read batch of quotes by property values | Efficiently retrieves a batch of HubSpot CRM quotes by their IDs (or a specified unique property), optionally including archived quotes, specific properties, and property history. | `HUBSPOT_READ_BATCH_OF_QUOTES_BY_PROPERTY_VALUES` | | Action | What it does | Slug | | - | - | - | | Get quote | Retrieves a specific HubSpot quote by its unique identifier. | `HUBSPOT_GET_QUOTE` | | List quotes | Retrieves a paginated list of quotes, allowing selection of specific properties, property history, associated object IDs, and filtering by archived status. | `HUBSPOT_LIST_QUOTES` | | Search quotes by criteria | Searches HubSpot CRM quotes using a text query, complex filter criteria, sorting, and pagination. | `HUBSPOT_SEARCH_QUOTES_BY_CRITERIA` | | Action | What it does | Slug | | - | - | - | | Get import record information | Retrieves a comprehensive summary of a specific HubSpot CRM import record by its importId, including status, progress, updates, results, and errors. | `HUBSPOT_GET_IMPORT_RECORD_INFORMATION` | | Action | What it does | Slug | | - | - | - | | Get aggregated statistic intervals | Retrieves aggregated statistics for marketing emails (e.g., send counts), grouped by specified time intervals within a defined time range. | `HUBSPOT_GET_AGGREGATED_STATISTIC_INTERVALS` | | Get aggregated statistics | Retrieves aggregated statistics for marketing emails, optionally within an ISO8601 formatted time range, by email IDs, or specific email properties. | `HUBSPOT_GET_AGGREGATED_STATISTICS` | | Get campaign metrics | Retrieves key attribution metrics for an existing marketing campaign, identified by its campaignGuid, within an optional date range. | `HUBSPOT_GET_CAMPAIGN_METRICS` | | Action | What it does | Slug | | - | - | - | | List feedback submissions | Retrieves a paginated list of feedback submissions from HubSpot, allowing specification of properties (including history), associated object IDs, and filtering by archive status. | `HUBSPOT_LIST_FEEDBACK_SUBMISSIONS` | | Read batch feedback submissions by ID or property | Retrieves up to 100 feedback submissions in a batch using their IDs or a specified unique idProperty, optionally including specified properties and their history. | `HUBSPOT_READ_BATCH_FEEDBACK_SUBMISSIONS_BY_ID_OR_PROPERTY` | | Read feedback submission by ID | Reads a HubSpot feedback submission by its ID, optionally using a custom unique 'idProperty', and allows specifying properties to return including history and associations. | `HUBSPOT_READ_FEEDBACK_SUBMISSION_BY_ID` | | Search feedback submissions | Searches for feedback submissions in HubSpot CRM using text query, filter groups, sorting, and pagination, returning specified properties. | `HUBSPOT_SEARCH_FEEDBACK_SUBMISSIONS` | | Action | What it does | Slug | | - | - | - | | Retrieve all object schemas | Retrieves all object schema definitions (not data records) for a HubSpot account, supporting retrieval of either active or archived schemas. | `HUBSPOT_RETRIEVE_ALL_OBJECT_SCHEMAS` | | Retrieve object schema | Fetches the detailed schema definition for a specified, existing standard or custom HubSpot CRM object type. | `HUBSPOT_RETRIEVE_OBJECT_SCHEMA` | | Action | What it does | Slug | | - | - | - | | Fetch recording settings | Fetches call recording settings for a specified, existing HubSpot calling extension app. | `HUBSPOT_FETCH_RECORDING_SETTINGS` | | Retrieve calling settings for app | Retrieves the read-only calling extension settings for a specific HubSpot app. | `HUBSPOT_RETRIEVE_CALLING_SETTINGS_FOR_APP` | | Retrieve video conference settings by ID | Retrieves video conference application settings, such as webhook URLs and user/account management configurations, for a specified appId. | `HUBSPOT_RETRIEVE_VIDEO_CONFERENCE_SETTINGS_BY_ID` | | Action | What it does | Slug | | - | - | - | | List contact tasks | | `HUBSPOT_LIST_CONTACT_TASKS` | | Action | What it does | Slug | | - | - | - | | Get event template | Retrieves detailed information about a specific event template for a given application in HubSpot's CRM timeline. | `HUBSPOT_GET_EVENT_TEMPLATE` | | List event templates | Retrieves all event templates associated with a valid appId for an existing application in HubSpot's CRM Timeline. | `HUBSPOT_LIST_EVENT_TEMPLATES` | | Render event detail template | Renders detailed information for a specific HubSpot CRM timeline event using a predefined event template, ignoring extraData references in the template not present in event data. | `HUBSPOT_RENDER_EVENT_DETAIL_TEMPLATE` | | Action | What it does | Slug | | - | - | - | | List conversation threads | | `HUBSPOT_LIST_CONVERSATION_THREADS` | | Action | What it does | Slug | | - | - | - | | Get ticket | Retrieves a HubSpot ticket by its ID. | `HUBSPOT_GET_TICKET` | | Get tickets | Retrieves multiple HubSpot tickets by their IDs. | `HUBSPOT_GET_TICKETS` | | List tickets | Retrieves a paginated list of HubSpot tickets. | `HUBSPOT_LIST_TICKETS` | | Search tickets | Searches for HubSpot tickets using flexible criteria and filters. | `HUBSPOT_SEARCH_TICKETS` | | Action | What it does | Slug | | - | - | - | | List association types | Lists all valid association types between two specified HubSpot CRM object types. | `HUBSPOT_LIST_ASSOCIATION_TYPES` | | Read apage of objects by type | Retrieves a paginated list of objects for a specified and valid HubSpot CRM object type (e.g., 'contacts', 'companies', 'deals', or custom ID). | `HUBSPOT_READ_APAGE_OF_OBJECTS_BY_TYPE` | | Action | What it does | Slug | | - | - | - | | Get marketing email revision | Retrieves a specific, previously saved revision of a marketing email using its unique email ID and revision ID. | `HUBSPOT_GET_MARKETING_EMAIL_REVISION` | | Get marketing email revisions | Retrieves a paginated list of all historical versions (including full state like content, settings, metadata) for a specified, existing marketing email. | `HUBSPOT_GET_MARKETING_EMAIL_REVISIONS` | | Get workflow revision | | `HUBSPOT_GET_WORKFLOW_REVISION` | | Action | What it does | Slug | | - | - | - | | Get workflow by ID | Retrieves comprehensive details for an existing HubSpot workflow by its unique ID. | `HUBSPOT_GET_WORKFLOW_BY_ID` | | Get workflows | Retrieves a list of workflow summaries (ID, name, type, status) from HubSpot, using the 'limit' parameter for pagination. | `HUBSPOT_GET_WORKFLOWS` | | Action | What it does | Slug | | - | - | - | | Fetch revenue | Fetches a revenue attribution report for a specified, existing marketing campaign, optionally using a specific attribution model and date range. | `HUBSPOT_FETCH_REVENUE` | | List granted scopes | Introspect the current OAuth access token and return its granted scopes and metadata. | `HUBSPOT_LIST_GRANTED_SCOPES` | | List sequences | | `HUBSPOT_LIST_SEQUENCES` | | Read budget | Fetches detailed budget (total, spent, remaining) and spend information for a marketing campaign, including an 'order' field for sequencing budget/spend items (0 is oldest). | `HUBSPOT_READ_BUDGET` | Teammates can use 185 of the 264 HubSpot actions at this level: everything in **Read-only**, plus: * Create, update, and archive contacts * Create, update, archive, and delete deals * Create, update, and archive companies * Update, archive, and send emails * Create, update, and archive tickets * Create, update, and archive line items * Create, update, and archive objects * Create, update, and archive responses * Update and archive quotes * Create and delete associations * Create events * Create and delete meetings The 73 actions that this level adds to **Read-only**: | Action | What it does | Slug | | - | - | - | | Create object association | Create or label an association between two CRM records using HubSpot Associations v4 API. | `HUBSPOT_CREATE_OBJECT_ASSOCIATION` | | Remove association | Remove all associations between two CRM records using the v4 associations endpoint. | `HUBSPOT_REMOVE_ASSOCIATION` | | Action | What it does | Slug | | - | - | - | | Delete call | | `HUBSPOT_DELETE_CALL` | | Action | What it does | Slug | | - | - | - | | Archive companies | Archives multiple HubSpot companies by their IDs. | `HUBSPOT_ARCHIVE_COMPANIES` | | Archive company | Archives an existing company in HubSpot CRM by its companyId, moving it to a recycling bin from which it can be restored, rather than permanently deleting it. | `HUBSPOT_ARCHIVE_COMPANY` | | Create companies | Creates multiple new HubSpot companies in a single batch operation. | `HUBSPOT_CREATE_COMPANIES` | | Create company | Creates a new HubSpot company. | `HUBSPOT_CREATE_COMPANY` | | Update companies | Updates multiple HubSpot companies in a single batch operation. | `HUBSPOT_UPDATE_COMPANIES` | | Update company | Updates properties for an existing HubSpot company. | `HUBSPOT_UPDATE_COMPANY` | | Action | What it does | Slug | | - | - | - | | Archive contact | Archives a HubSpot contact by its ID. | `HUBSPOT_ARCHIVE_CONTACT` | | Archive contacts | Archives multiple HubSpot contacts by their IDs. | `HUBSPOT_ARCHIVE_CONTACTS` | | Create contact | Creates a new HubSpot contact. | `HUBSPOT_CREATE_CONTACT` | | Create contact from nl | Creates a new contact in HubSpot from a natural language description. | `HUBSPOT_CREATE_CONTACT_FROM_NL` | | Create contacts | Creates multiple new HubSpot contacts in a single batch operation. | `HUBSPOT_CREATE_CONTACTS` | | Update contact | Updates properties for an existing HubSpot contact. | `HUBSPOT_UPDATE_CONTACT` | | Update contacts | Updates multiple HubSpot contacts in a single batch operation. | `HUBSPOT_UPDATE_CONTACTS` | | Upsert contacts | | `HUBSPOT_UPSERT_CONTACTS` | | Action | What it does | Slug | | - | - | - | | Archive deals | Archives multiple HubSpot deals by their IDs. | `HUBSPOT_ARCHIVE_DEALS` | | Create deal | Creates a new HubSpot deal. | `HUBSPOT_CREATE_DEAL` | | Create deal from nl | Creates a new deal in HubSpot from a natural language description. | `HUBSPOT_CREATE_DEAL_FROM_NL` | | Create deals | Creates multiple deals in HubSpot CRM. | `HUBSPOT_CREATE_DEALS` | | Delete deal gdpr | Archives a HubSpot deal by its ID. | `HUBSPOT_DELETE_DEAL_GDPR` | | Remove deal | Removes a HubSpot deal by its ID. | `HUBSPOT_REMOVE_DEAL` | | Update deal | Updates properties for an existing HubSpot deal. | `HUBSPOT_UPDATE_DEAL` | | Update deals | Updates multiple HubSpot deals in a single batch operation. | `HUBSPOT_UPDATE_DEALS` | | Action | What it does | Slug | | - | - | - | | Archive email | Archives the HubSpot email specified by emailId by moving it to the recycling bin, making it inaccessible unless restored. | `HUBSPOT_ARCHIVE_EMAIL` | | Archive emails | Archives multiple HubSpot emails by their IDs. | `HUBSPOT_ARCHIVE_EMAILS` | | Create email | Creates a new HubSpot email engagement record. | `HUBSPOT_CREATE_EMAIL` | | Create emails | Creates multiple HubSpot emails in a single batch operation. | `HUBSPOT_CREATE_EMAILS` | | Update email | Partially updates properties of an existing HubSpot email object, identified by emailId (as internal ID or custom unique property value if idProperty is given). | `HUBSPOT_UPDATE_EMAIL` | | Update emails | Updates multiple HubSpot emails in a single batch operation. | `HUBSPOT_UPDATE_EMAILS` | | Action | What it does | Slug | | - | - | - | | Create engagement | | `HUBSPOT_CREATE_ENGAGEMENT` | | Action | What it does | Slug | | - | - | - | | Create timeline event | Creates an immutable custom timeline event on a CRM object's record using a specified, existing event template (identified by eventTemplateId), optionally updating CRM object properties if defined in the template. | `HUBSPOT_CREATE_TIMELINE_EVENT` | | Create timeline events batch | Creates multiple immutable timeline events in a batch, ideal for bulk data imports or real-time synchronizations, using a valid event template. | `HUBSPOT_CREATE_TIMELINE_EVENTS_BATCH` | | Action | What it does | Slug | | - | - | - | | Archive batch of line items | Archives a batch of existing line items by their unique IDs in HubSpot CRM. | `HUBSPOT_ARCHIVE_BATCH_OF_LINE_ITEMS` | | Archive line item | Archives a specific HubSpot line item by its ID, moving it to a recoverable state. | `HUBSPOT_ARCHIVE_LINE_ITEM` | | Create line item | Creates a new HubSpot line item. | `HUBSPOT_CREATE_LINE_ITEM` | | Create line items | Creates multiple HubSpot line items in a single batch operation. | `HUBSPOT_CREATE_LINE_ITEMS` | | Update line item | Partially updates specified properties of an existing HubSpot Line Item, identified by lineItemId (as HubSpot object ID or value of idProperty if used). | `HUBSPOT_UPDATE_LINE_ITEM` | | Update line items | Updates a batch of existing HubSpot CRM line items in a single operation, identifying each by its primary ID or a unique idProperty (which must be a unique identifier property in HubSpot), and modifies their specified properties. | `HUBSPOT_UPDATE_LINE_ITEMS` | | Action | What it does | Slug | | - | - | - | | Create meeting | | `HUBSPOT_CREATE_MEETING` | | Delete meeting | | `HUBSPOT_DELETE_MEETING` | | Action | What it does | Slug | | - | - | - | | Create note | Creates a new HubSpot CRM note. | `HUBSPOT_CREATE_NOTE` | | Delete note | | `HUBSPOT_DELETE_NOTE` | | Action | What it does | Slug | | - | - | - | | Archive batch of objects | Archives a batch of existing, non-archived CRM objects of a specified objectType by their IDs, effectively hiding them from active use. | `HUBSPOT_ARCHIVE_BATCH_OF_OBJECTS` | | Archive CRM object by ID | Archives a specific HubSpot CRM object by its type and ID, moving it to the recycling bin. | `HUBSPOT_ARCHIVE_CRM_OBJECT_BY_ID` | | Create batch of objects | Creates multiple CRM objects of a specified objectType (e.g., contacts, companies, deals) in a single batch operation, where each object can have its own set of properties and associations. | `HUBSPOT_CREATE_BATCH_OF_OBJECTS` | | Create CRM object from nl | Creates a new CRM object (contact, deal, company, ticket, or custom object) in HubSpot from a natural language description. | `HUBSPOT_CREATE_CRM_OBJECT_FROM_NL` | | Create CRM object with properties | Creates a new HubSpot CRM object (e.g., contact, company, custom object) with specified properties (using valid internal names) and associations (to existing objects via valid type IDs). | `HUBSPOT_CREATE_CRM_OBJECT_WITH_PROPERTIES` | | Create quote object | Creates a new quote object in HubSpot CRM with specified properties and associations. | `HUBSPOT_CREATE_QUOTE_OBJECT` | | Partially update CRM object by ID | Partially updates specified properties of a CRM object (e.g., contact, company, deal) identified by its type and ID, or optionally by a unique property value if idProperty is specified. | `HUBSPOT_PARTIALLY_UPDATE_CRM_OBJECT_BY_ID` | | Action | What it does | Slug | | - | - | - | | Update batch of objects by idor property values | Performs a batch update on a valid objectType where properties are writeable and any idProperty used is designated unique. | `HUBSPOT_UPDATE_BATCH_OF_OBJECTS_BY_IDOR_PROPERTY_VALUES` | | Action | What it does | Slug | | - | - | - | | Archive batch of quotes | Archives a batch of existing quotes by their IDs, removing them from active views while keeping them accessible in your HubSpot account for viewing, downloading, cloning, or deletion. | `HUBSPOT_ARCHIVE_BATCH_OF_QUOTES` | | Archive quote | Archives a HubSpot Quote object by ID, moving it to the recycling bin where it can be restored within 90 days. | `HUBSPOT_ARCHIVE_QUOTE` | | Batch update quotes | Updates multiple existing HubSpot quotes in a batch. | `HUBSPOT_BATCH_UPDATE_QUOTES` | | Create batch of quotes | Creates multiple HubSpot CRM quotes in a batch, ideal for bulk operations. | `HUBSPOT_CREATE_BATCH_OF_QUOTES` | | Update quote | Performs a partial update on an existing HubSpot quote's specified properties, identifying the quote by quoteId (either its internal ID or a custom unique property value if idProperty is provided). | `HUBSPOT_UPDATE_QUOTE` | | Action | What it does | Slug | | - | - | - | | Archive batch of feedback submissions | Asynchronously archives a batch of HubSpot feedback submissions using their unique IDs, which must correspond to valid and existing submissions. | `HUBSPOT_ARCHIVE_BATCH_OF_FEEDBACK_SUBMISSIONS` | | Archive feedback submission | Archives an existing, non-archived Feedback Submission in HubSpot CRM by its ID, moving it to the recycling bin (not permanently deleting it). | `HUBSPOT_ARCHIVE_FEEDBACK_SUBMISSION` | | Create batch of feedback submissions | Creates a batch of feedback submissions in HubSpot, ideal for bulk imports. | `HUBSPOT_CREATE_BATCH_OF_FEEDBACK_SUBMISSIONS` | | Create feedback submission | Creates a new HubSpot feedback submission to record customer feedback (e.g., survey responses, support interactions), optionally associating it with CRM objects. | `HUBSPOT_CREATE_FEEDBACK_SUBMISSION` | | Update batch feedback submissions | Updates a batch of HubSpot feedback submissions. | `HUBSPOT_UPDATE_BATCH_FEEDBACK_SUBMISSIONS` | | Update feedback submission | Partially updates writable properties of an existing HubSpot Feedback Submission, identified by its feedbackSubmissionId (which can be an internal object ID, or a unique property value if idProperty is specified). | `HUBSPOT_UPDATE_FEEDBACK_SUBMISSION` | | Action | What it does | Slug | | - | - | - | | Create task | Creates a new CRM task record. | `HUBSPOT_CREATE_TASK` | | Delete task | | `HUBSPOT_DELETE_TASK` | | Action | What it does | Slug | | - | - | - | | Archive ticket | Archives a HubSpot ticket by its ID. | `HUBSPOT_ARCHIVE_TICKET` | | Archive tickets | Archives multiple HubSpot tickets by their IDs. | `HUBSPOT_ARCHIVE_TICKETS` | | Create ticket | Creates a new HubSpot ticket. | `HUBSPOT_CREATE_TICKET` | | Create tickets | Creates multiple HubSpot tickets in a batch, each with its own properties and associations. | `HUBSPOT_CREATE_TICKETS` | | Update ticket | Updates properties for an existing HubSpot ticket. | `HUBSPOT_UPDATE_TICKET` | | Update tickets | Updates multiple HubSpot tickets in a single batch operation. | `HUBSPOT_UPDATE_TICKETS` | | Action | What it does | Slug | | - | - | - | | Cancel import | Cancels an active HubSpot data import job using its importId. | `HUBSPOT_CANCEL_IMPORT` | | Start import | Start an asynchronous data import into HubSpot CRM using uploaded files and a detailed importRequest JSON configuration, ensuring this JSON correctly maps file columns to HubSpot properties and files align with these mappings. | `HUBSPOT_START_IMPORT` | Teammates can use 264 of the 264 HubSpot actions at this level: everything in **Read + write CRM**, plus: * Create, update, and archive products * Update and delete settings * Create, update, and delete campaigns * Create, update, and archive properties * Create, update, and delete schemas * Create, delete, and publish emails * Create, update, and delete pipeline stages * Create, update, and delete pipelines * Create, update, and delete templates * Create, update, and delete workflows * Delete and manage contacts * Update and archive groups The 79 actions that this level adds to **Read + write CRM**: | Action | What it does | Slug | | - | - | - | | Add asset association | Associates an existing asset ('FORM', 'OBJECT\_LIST', or 'EXTERNAL\_WEB\_URL') with a specified HubSpot marketing campaign. | `HUBSPOT_ADD_ASSET_ASSOCIATION` | | Create association | Creates a new custom association definition (schema) for a custom object in HubSpot, specifying how this object type can relate to another object type. | `HUBSPOT_CREATE_ASSOCIATION` | | Remove asset association | Disassociates an asset from a HubSpot marketing campaign. | `HUBSPOT_REMOVE_ASSET_ASSOCIATION` | | Remove association from schema | Permanently removes a specified association definition (type) from a HubSpot object's schema, preventing future creations of this association type without affecting existing instances. | `HUBSPOT_REMOVE_ASSOCIATION_FROM_SCHEMA` | | Action | What it does | Slug | | - | - | - | | Create campaign | Creates a new HubSpot campaign. | `HUBSPOT_CREATE_CAMPAIGN` | | Create campaigns | Creates multiple HubSpot campaigns by calling the single campaign creation endpoint for each campaign. | `HUBSPOT_CREATE_CAMPAIGNS` | | Delete campaign | Permanently deletes a marketing campaign from HubSpot using its campaignGuid. | `HUBSPOT_DELETE_CAMPAIGN` | | Delete campaigns batch | Archives a batch of up to 50 marketing campaigns, hiding them from active views rather than permanently deleting them. | `HUBSPOT_DELETE_CAMPAIGNS_BATCH` | | Update campaign | Partially updates specific, writable properties of an existing HubSpot marketing campaign identified by campaignGuid. | `HUBSPOT_UPDATE_CAMPAIGN` | | Update campaigns | Updates properties for up to 50 existing HubSpot marketing campaigns in a single batch operation. | `HUBSPOT_UPDATE_CAMPAIGNS` | | Action | What it does | Slug | | - | - | - | | Delete company gdpr | Permanently deletes a company (identified by objectId) and its associated data from HubSpot for GDPR compliance. | `HUBSPOT_DELETE_COMPANY_GDPR` | | Merge companies | Merges two existing company records of the same type in HubSpot CRM, where objectIdToMerge is absorbed into primaryObjectId. | `HUBSPOT_MERGE_COMPANIES` | | Action | What it does | Slug | | - | - | - | | Delete contact gdpr | Irreversibly erases a HubSpot contact and associated data per a GDPR request. | `HUBSPOT_DELETE_CONTACT_GDPR` | | Enroll contact in workflow | | `HUBSPOT_ENROLL_CONTACT_IN_WORKFLOW` | | Merge contacts | Merges two HubSpot contacts into one. | `HUBSPOT_MERGE_CONTACTS` | | Permanently delete contact via gdpr | Permanently deletes a HubSpot contact and all its associated data for GDPR compliance, identifying the contact by its ID or another unique property. | `HUBSPOT_PERMANENTLY_DELETE_CONTACT_VIA_GDPR` | | Action | What it does | Slug | | - | - | - | | Merge deals | Merges two HubSpot deals into one. | `HUBSPOT_MERGE_DEALS` | | Action | What it does | Slug | | - | - | - | | Reset draft | Resets a marketing email's draft to its currently published (live) version, discarding all unpublished changes. | `HUBSPOT_RESET_DRAFT` | | Action | What it does | Slug | | - | - | - | | Clone marketing email | Duplicates an existing HubSpot marketing email, identified by its id, into a new draft. | `HUBSPOT_CLONE_MARKETING_EMAIL` | | Create a new marketing email | Creates a new marketing email in HubSpot, allowing comprehensive configuration of content, recipients, sender details, A/B testing, scheduling, web version, and other settings. | `HUBSPOT_CREATE_A_NEW_MARKETING_EMAIL` | | Delete marketing email | Permanently deletes a marketing email from your HubSpot account. | `HUBSPOT_DELETE_MARKETING_EMAIL` | | Get all marketing emails for a hub spot account | Fetches a list of marketing emails from a HubSpot account, with options for filtering, sorting, pagination, and including performance statistics. | `HUBSPOT_GET_ALL_MARKETING_EMAILS_FOR_A_HUB_SPOT_ACCOUNT` | | Merge emails | Merges two HubSpot emails into one. | `HUBSPOT_MERGE_EMAILS` | | Publish marketing email | Publishes or sends a specified HubSpot marketing email that is valid and ready for sending. | `HUBSPOT_PUBLISH_MARKETING_EMAIL` | | Update a marketing email | Updates properties of an existing marketing email identified by its emailId. | `HUBSPOT_UPDATE_A_MARKETING_EMAIL` | | Action | What it does | Slug | | - | - | - | | Archive property group | Archives a HubSpot property group, making it inactive and hidden (not permanently deleted, allowing potential restoration) with immediate effect on its CRM visibility and usability. | `HUBSPOT_ARCHIVE_PROPERTY_GROUP` | | Create and return a new property group | Creates a new, empty property group for a specified CRM object type in HubSpot, requiring a unique group name for that object type. | `HUBSPOT_CREATE_AND_RETURN_A_NEW_PROPERTY_GROUP` | | Update property group | Partially updates a property group's displayOrder or label for a specified CRM objectType in HubSpot. | `HUBSPOT_UPDATE_PROPERTY_GROUP` | | Action | What it does | Slug | | - | - | - | | Delete line items gdpr | Permanently deletes a specified line item and its associated content for GDPR compliance. | `HUBSPOT_DELETE_LINE_ITEMS_GDPR` | | Merge line items | Merges two line items, objectIdToMerge into primaryObjectId, which must be of the same type. | `HUBSPOT_MERGE_LINE_ITEMS` | | Action | What it does | Slug | | - | - | - | | Create list | | `HUBSPOT_CREATE_LIST` | | Action | What it does | Slug | | - | - | - | | Merge objects | Merges two distinct HubSpot CRM objects of the same objectType, consolidating data into primaryObjectId (which is preserved) and deleting objectIdToMerge. | `HUBSPOT_MERGE_OBJECTS` | | Action | What it does | Slug | | - | - | - | | Create pipeline stage | Creates a new stage in a specified HubSpot CRM pipeline for a given object type, such as 'deals' or 'tickets'. | `HUBSPOT_CREATE_PIPELINE_STAGE` | | Delete pipeline stage | Permanently deletes a specific pipeline stage for an objectType (e.g., 'deals', 'tickets') that supports pipelines. | `HUBSPOT_DELETE_PIPELINE_STAGE` | | Update pipeline stage | Partially updates a HubSpot CRM pipeline stage identified by objectType, pipelineId, and stageId, requiring metadata in the request. | `HUBSPOT_UPDATE_PIPELINE_STAGE` | | Action | What it does | Slug | | - | - | - | | Create pipeline | Creates a new HubSpot pipeline for a specified CRM objectType (e.g., 'deals', 'tickets'), requiring the pipeline label be unique for that objectType and each stage label be unique within the pipeline. | `HUBSPOT_CREATE_PIPELINE` | | Delete pipeline | Permanently deletes a HubSpot pipeline and all its stages by pipelineId and objectType. | `HUBSPOT_DELETE_PIPELINE` | | Update pipeline | Partially updates a CRM pipeline's label, display order, or restores an archived pipeline by setting archived to false. | `HUBSPOT_UPDATE_PIPELINE` | | Action | What it does | Slug | | - | - | - | | Archive product | Archives a HubSpot product by its ID. | `HUBSPOT_ARCHIVE_PRODUCT` | | Archive products | Archives multiple HubSpot products by their IDs. | `HUBSPOT_ARCHIVE_PRODUCTS` | | Create product | Creates a new HubSpot product. | `HUBSPOT_CREATE_PRODUCT` | | Create products | Creates multiple HubSpot products in a single batch operation. | `HUBSPOT_CREATE_PRODUCTS` | | Merge products | Merges two HubSpot products into one. | `HUBSPOT_MERGE_PRODUCTS` | | Update product | Updates properties for an existing HubSpot product. | `HUBSPOT_UPDATE_PRODUCT` | | Update products | Updates multiple HubSpot products in a single batch operation. | `HUBSPOT_UPDATE_PRODUCTS` | | Action | What it does | Slug | | - | - | - | | Archive batch of properties | Archives a batch of properties by their internal names for a specified HubSpot CRM object type. | `HUBSPOT_ARCHIVE_BATCH_OF_PROPERTIES` | | Archive property by object type and name | Archives a specified CRM property by its object type and name, moving it to the recycling bin. | `HUBSPOT_ARCHIVE_PROPERTY_BY_OBJECT_TYPE_AND_NAME` | | Create batch of properties | Efficiently creates multiple CRM properties in a single batch for a specified HubSpot object type (e.g., 'contacts', 'companies', custom object ID), ideal for schema setup or updates. | `HUBSPOT_CREATE_BATCH_OF_PROPERTIES` | | Create property for specified object type | Creates a new custom property for a specified HubSpot CRM object type. | `HUBSPOT_CREATE_PROPERTY_FOR_SPECIFIED_OBJECT_TYPE` | | Replace all properties of pipeline | Overwrites an entire CRM pipeline (specified by objectType and pipelineId) and all its stages with a new definition, returning the updated pipeline. | `HUBSPOT_REPLACE_ALL_PROPERTIES_OF_PIPELINE` | | Replace pipeline stage properties | Replaces all properties of a specified pipeline stage. | `HUBSPOT_REPLACE_PIPELINE_STAGE_PROPERTIES` | | Update CRM property | Updates attributes of an existing HubSpot CRM property, identified by its objectType and propertyName. | `HUBSPOT_UPDATE_CRM_PROPERTY` | | Action | What it does | Slug | | - | - | - | | Merge quotes | Merges two distinct quotes of the same type by consolidating objectIdToMerge into primaryObjectId (e.g., for combining information or updating terms). | `HUBSPOT_MERGE_QUOTES` | | Action | What it does | Slug | | - | - | - | | Merge feedback submissions | Merges two existing feedback submissions by ID, primarily for consolidating duplicates or related feedback. | `HUBSPOT_MERGE_FEEDBACK_SUBMISSIONS` | | Action | What it does | Slug | | - | - | - | | Create object schema | Creates a new custom object schema in HubSpot CRM with unique naming for schema and properties, defined display/required/searchable properties within the 'properties' list, provided immutable labels, and correctly configured 'enumeration' type properties (options/referencedObjectType). | `HUBSPOT_CREATE_OBJECT_SCHEMA` | | Delete schema | Deletes a HubSpot custom object schema by objectType. | `HUBSPOT_DELETE_SCHEMA` | | Purge schema | Permanently and irreversibly deletes the schema for an existing objectType in HubSpot CRM. | `HUBSPOT_PURGE_SCHEMA` | | Update object schema | Updates an existing custom object schema's metadata in HubSpot, such as its description, labels, display properties, required properties, searchable properties, and restorability, for a specified objectType that must already exist. | `HUBSPOT_UPDATE_OBJECT_SCHEMA` | | Action | What it does | Slug | | - | - | - | | Configure calling extension settings | Configures or updates settings for a HubSpot app's calling extension, including its name, UI URL, iframe dimensions, isReady status, and supportsCustomObjects flag, for the specified appId. | `HUBSPOT_CONFIGURE_CALLING_EXTENSION_SETTINGS` | | Delete calling extension settings | Permanently deletes the settings for a calling extension app, specified by its appId, rendering it unusable for all connected HubSpot accounts. | `HUBSPOT_DELETE_CALLING_EXTENSION_SETTINGS` | | Delete video conferencing app settings | Irreversibly deletes all settings for a video conferencing application identified by its appId in HubSpot, removing its configuration and preventing it from functioning until reconfigured. | `HUBSPOT_DELETE_VIDEO_CONFERENCING_APP_SETTINGS` | | Set call recording settings | Configures the URL (urlToRetrieveAuthedRecording) that HubSpot uses to retrieve call recordings for a specified third-party calling app (appId). | `HUBSPOT_SET_CALL_RECORDING_SETTINGS` | | Update calling app recording settings | Updates the recording settings, such as the URL for retrieving authenticated recordings, for a specific calling extension app identified by its appId. | `HUBSPOT_UPDATE_CALLING_APP_RECORDING_SETTINGS` | | Update calling extension settings | Updates settings (e.g., display name, UI URL/dimensions, feature flags) for an existing calling extension app, identified by appId. | `HUBSPOT_UPDATE_CALLING_EXTENSION_SETTINGS` | | Update video conference app settings | Updates webhook URLs (for creating/updating/deleting meetings, fetching accounts, verifying users) for a video conference application specified by appId. | `HUBSPOT_UPDATE_VIDEO_CONFERENCE_APP_SETTINGS` | | Action | What it does | Slug | | - | - | - | | Create event template for app | Creates a new event template for a HubSpot app, defining structure, custom properties (tokens), and appearance (Markdown with Handlebars) of custom timeline events for CRM objects. | `HUBSPOT_CREATE_EVENT_TEMPLATE_FOR_APP` | | Delete timeline event template | Permanently and irreversibly deletes a specific timeline event template, identified by its eventTemplateId, from the application appId. | `HUBSPOT_DELETE_TIMELINE_EVENT_TEMPLATE` | | Update event template | Updates an existing HubSpot event template's name, display templates, and tokens. | `HUBSPOT_UPDATE_EVENT_TEMPLATE` | | Action | What it does | Slug | | - | - | - | | Merge tickets | Merges two HubSpot tickets into one. | `HUBSPOT_MERGE_TICKETS` | | Action | What it does | Slug | | - | - | - | | Add token to event template | Adds a new custom data token to an existing event template for a specified HubSpot application, optionally populating a CRM object property if objectPropertyName is provided. | `HUBSPOT_ADD_TOKEN_TO_EVENT_TEMPLATE` | | Remove token from event template | Removes a token from a HubSpot event template, preventing its inclusion in new events created from that template. | `HUBSPOT_REMOVE_TOKEN_FROM_EVENT_TEMPLATE` | | Update token on event template | Updates the label or options of an existing token within a specified HubSpot CRM event template. | `HUBSPOT_UPDATE_TOKEN_ON_EVENT_TEMPLATE` | | Action | What it does | Slug | | - | - | - | | Create or update draft version | Creates or updates the draft version of a marketing email identified by emailId. | `HUBSPOT_CREATE_OR_UPDATE_DRAFT_VERSION` | | Restore email revision | Restores a specific revision of a marketing email to a DRAFT state, overwriting any existing draft. | `HUBSPOT_RESTORE_EMAIL_REVISION` | | Restore marketing email revision | Restores a specific, existing, non-active revision of a marketing email to become the new live version for that email. | `HUBSPOT_RESTORE_MARKETING_EMAIL_REVISION` | | Action | What it does | Slug | | - | - | - | | Create workflow | Creates a new HubSpot workflow to automate processes. | `HUBSPOT_CREATE_WORKFLOW` | | Delete workflow | Permanently deletes a HubSpot workflow by its ID. | `HUBSPOT_DELETE_WORKFLOW` | | Update workflow | | `HUBSPOT_UPDATE_WORKFLOW` | | Action | What it does | Slug | | - | - | - | | Create ab test variation | Creates a new A/B test variation for an existing HubSpot marketing email, using its contentId. | `HUBSPOT_CREATE_AB_TEST_VARIATION` | ## Connect HubSpot Before you start: * You need a HubSpot account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **HubSpot** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect HubSpot**. The HubSpot sign-in page opens in a new tab. Sign in to HubSpot and approve the request. Check that it works: HubSpot shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the HubSpot account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the HubSpot account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one HubSpot account Click **+ Account** on the HubSpot card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the HubSpot side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on HubSpot**. 3. Sign in to HubSpot and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the HubSpot account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to HubSpot.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected HubSpot account becomes primary. ## Costs HubSpot actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to HubSpot, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the HubSpot connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each HubSpot account has an access level: **Read-only**, **Read + write CRM**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the HubSpot card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the HubSpot account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to HubSpot.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Intercom Source: https://squad.so/docs/apps/intercom What teammates can do in Intercom at each access level, and how to connect, limit, and disconnect Intercom. Connect Intercom so your teammates can work in your Intercom account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Intercom account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as conversations, contacts, companies, tickets, and articles. Cannot change anything." | 67 of 133 | | **Read + write** (recommended) | "Start, reply to, assign, and close conversations, and create and edit contacts, companies, tickets, and notes. Cannot publish help articles, change data attributes, or delete records." | 99 of 133 | | **Full access** | "Everything, including help center articles, data attributes, tags, events, and deletes." | 133 of 133 | **Read + write** is the recommended level. The connect window selects it for you, and you can choose another level. The Intercom sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Intercom account?" The teammate can search the Intercom actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Intercom action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 67 of the 133 Intercom actions at this level: * View and search articles * View and manage companies * View and search contacts * View segments * View and manage admins * View calls * View and search conversations * View notes * View types * View collections * View and manage jobs * View macros All 67 actions at this level: | Action | What it does | Slug | | - | - | - | | Identify an admin | You can view the currently authorised admin along with the embedded app object (a "workspace" in legacy terminology). | `INTERCOM_IDENTIFY_AN_ADMIN` | | List all admins | You can fetch a list of admins for a given workspace. | `INTERCOM_LIST_ALL_ADMINS` | | Retrieve an admin | You can retrieve the details of a single admin. | `INTERCOM_RETRIEVE_AN_ADMIN` | | Action | What it does | Slug | | - | - | - | | List all articles | You can fetch a list of all articles by making a GET request to [https://api.intercom.io/articles](https://api.intercom.io/articles). | `INTERCOM_LIST_ALL_ARTICLES` | | List internal articles | Fetches one page of internal articles from Intercom. | `INTERCOM_LIST_INTERNAL_ARTICLES` | | Retrieve an article | You can fetch the details of a single article by making a GET request to [https://api.intercom.io/articles/\<id](https://api.intercom.io/articles/\<id)>. | `INTERCOM_RETRIEVE_AN_ARTICLE` | | Retrieve internal article | Retrieve an internal article by ID from Intercom. | `INTERCOM_RETRIEVE_INTERNAL_ARTICLE` | | Search for articles | You can search for articles by making a GET request to [https://api.intercom.io/articles/search](https://api.intercom.io/articles/search). | `INTERCOM_SEARCH_FOR_ARTICLES` | | Search internal articles | Searches one page of internal articles in Intercom. | `INTERCOM_SEARCH_INTERNAL_ARTICLES` | | Action | What it does | Slug | | - | - | - | | List data attributes | List all data attributes for contacts, companies, and conversations. | `INTERCOM_LIST_DATA_ATTRIBUTES` | | Action | What it does | Slug | | - | - | - | | List calls | List all phone calls from Intercom with pagination support. | `INTERCOM_LIST_CALLS` | | List calls with transcripts | Retrieve calls by conversation IDs with transcripts when available. | `INTERCOM_LIST_CALLS_WITH_TRANSCRIPTS` | | Show call | Retrieve a single call by ID from Intercom. | `INTERCOM_SHOW_CALL` | | Action | What it does | Slug | | - | - | - | | List all collections | You can fetch a list of all collections by making a GET request to [https://api.intercom.io/help\\\_center/collections](https://api.intercom.io/help\\_center/collections). | `INTERCOM_LIST_ALL_COLLECTIONS` | | Retrieve a collection | You can fetch the details of a single collection by making a GET request to [https://api.intercom.io/help\\\_center/collections/\<id](https://api.intercom.io/help\\_center/collections/\<id)>. | `INTERCOM_RETRIEVE_A_COLLECTION` | | Action | What it does | Slug | | - | - | - | | List all companies | You can list companies. | `INTERCOM_LIST_ALL_COMPANIES` | | List attached companies for contact | You can fetch a list of companies that are associated to a contact. | `INTERCOM_LIST_ATTACHED_COMPANIES_FOR_CONTACT` | | Retrieve a company by ID | You can fetch a single company. | `INTERCOM_RETRIEVE_A_COMPANY_BY_ID` | | Retrieve companies | You can fetch a single company by passing in company\_id or name. | `INTERCOM_RETRIEVE_COMPANIES` | | Scroll over all companies | The list all companies functionality does not work well for huge datasets, and can result in errors and performance problems when paging deeply. | `INTERCOM_SCROLL_OVER_ALL_COMPANIES` | | Action | What it does | Slug | | - | - | - | | Get a contact | You can fetch the details of a single contact. | `INTERCOM_GET_A_CONTACT` | | List attached contacts | You can fetch a list of all contacts that belong to a company. | `INTERCOM_LIST_ATTACHED_CONTACTS` | | List contacts | List all contacts (users or leads) in your Intercom workspace with pagination support. | `INTERCOM_LIST_CONTACTS` | | Search contacts | Search for contacts using query filters with operators. | `INTERCOM_SEARCH_CONTACTS` | | Show contact by external ID | Retrieve a contact by their external ID. | `INTERCOM_SHOW_CONTACT_BY_EXTERNAL_ID` | | Action | What it does | Slug | | - | - | - | | Get content import source | Retrieve a content import source by its ID. | `INTERCOM_GET_CONTENT_IMPORT_SOURCE` | | List content import sources | Retrieve all content import sources for the workspace. | `INTERCOM_LIST_CONTENT_IMPORT_SOURCES` | | Action | What it does | Slug | | - | - | - | | Get conversation | Retrieves a specific conversation by ID with all messages and details. | `INTERCOM_GET_CONVERSATION` | | List conversations | Lists all conversations from Intercom with pagination support. | `INTERCOM_LIST_CONVERSATIONS` | | Search conversations | Searches for conversations using query string with support for filtering and sorting. | `INTERCOM_SEARCH_CONVERSATIONS` | | Action | What it does | Slug | | - | - | - | | List data events | Retrieve a log of data events belonging to a customer. | `INTERCOM_LIST_DATA_EVENTS` | | Action | What it does | Slug | | - | - | - | | Download data export | Download content data export from Intercom. | `INTERCOM_DOWNLOAD_DATA_EXPORT` | | Action | What it does | Slug | | - | - | - | | List news items | Fetch a list of all news items from Intercom. | `INTERCOM_LIST_NEWS_ITEMS` | | Action | What it does | Slug | | - | - | - | | Jobs status | Retrieve the status of job execution. | `INTERCOM_JOBS_STATUS` | | Retrieve a job status | Retrieve the status of a data export job. | `INTERCOM_RETRIEVE_A_JOB_STATUS` | | Action | What it does | Slug | | - | - | - | | List all activity logs | You can get a log of activities by all admins in an app. | `INTERCOM_LIST_ALL_ACTIVITY_LOGS` | | Action | What it does | Slug | | - | - | - | | List all macros | Fetch a list of all macros (saved replies) in your workspace for use in automating responses. | `INTERCOM_LIST_ALL_MACROS` | | Retrieve a macro | Fetch a single macro (saved reply) by its ID. | `INTERCOM_RETRIEVE_A_MACRO` | | Action | What it does | Slug | | - | - | - | | List all notes | You can fetch a list of notes that are associated to a contact. | `INTERCOM_LIST_ALL_NOTES` | | List company notes | List all notes associated with a specific company. | `INTERCOM_LIST_COMPANY_NOTES` | | Retrieve note | Retrieve details of a single note by its identifier. | `INTERCOM_RETRIEVE_NOTE` | | Action | What it does | Slug | | - | - | - | | Get custom object instance by external ID | Retrieve a custom object instance by its external\_id. | `INTERCOM_GET_CUSTOM_OBJECT_INSTANCE_BY_EXTERNAL_ID` | | Action | What it does | Slug | | - | - | - | | Get external page | Retrieve an external page from Fin Content Library by ID. | `INTERCOM_GET_EXTERNAL_PAGE` | | List external pages | List all external pages from Fin Content Library. | `INTERCOM_LIST_EXTERNAL_PAGES` | | Action | What it does | Slug | | - | - | - | | List help center sections | Fetch a list of all help center sections in descending order by updated\_at. | `INTERCOM_LIST_HELP_CENTER_SECTIONS` | | Action | What it does | Slug | | - | - | - | | List attached segments for companies | You can fetch a list of all segments that belong to a company. | `INTERCOM_LIST_ATTACHED_SEGMENTS_FOR_COMPANIES` | | List attached segments for contact | You can fetch a list of segments that are associated to a contact. | `INTERCOM_LIST_ATTACHED_SEGMENTS_FOR_CONTACT` | | List segments | Retrieve all segments defined within a workspace for filtering and categorizing contacts. | `INTERCOM_LIST_SEGMENTS` | | Retrieve a segment | Retrieve details for a single segment by its ID. | `INTERCOM_RETRIEVE_A_SEGMENT` | | Action | What it does | Slug | | - | - | - | | List subscriptions for a contact | You can fetch a list of subscription types that are attached to a contact. | `INTERCOM_LIST_SUBSCRIPTIONS_FOR_A_CONTACT` | | Action | What it does | Slug | | - | - | - | | Find tag | Retrieve details for a specific tag by its ID. | `INTERCOM_FIND_TAG` | | List tags | Fetch all tags for the workspace. | `INTERCOM_LIST_TAGS` | | List tags attached to a contact | You can fetch a list of all tags that are attached to a specific contact. | `INTERCOM_LIST_TAGS_ATTACHED_TO_A_CONTACT` | | Action | What it does | Slug | | - | - | - | | List teams | Retrieve all teams within a workspace. | `INTERCOM_LIST_TEAMS` | | Retrieve team | Retrieve detailed information about a specific team by ID. | `INTERCOM_RETRIEVE_TEAM` | | Action | What it does | Slug | | - | - | - | | Get ticket | Retrieve a ticket from Intercom. | `INTERCOM_GET_TICKET` | | List ticket states | Fetch all ticket states for the workspace. | `INTERCOM_LIST_TICKET_STATES` | | Search tickets | Search tickets in Intercom by filtering attribute values. | `INTERCOM_SEARCH_TICKETS` | | Action | What it does | Slug | | - | - | - | | Show call transcript | Get call transcript by call ID. | `INTERCOM_SHOW_CALL_TRANSCRIPT` | | Action | What it does | Slug | | - | - | - | | Get ticket type | Retrieve details for a specific ticket type by its ID. | `INTERCOM_GET_TICKET_TYPE` | | List subscription types | List all subscription types available in the workspace. | `INTERCOM_LIST_SUBSCRIPTION_TYPES` | | List ticket types | Retrieve all ticket types for the workspace. | `INTERCOM_LIST_TICKET_TYPES` | | Action | What it does | Slug | | - | - | - | | Retrieve visitor with user ID | Retrieve a specific visitor's details using their user\_id. | `INTERCOM_RETRIEVE_VISITOR_WITH_USER_ID` | | Action | What it does | Slug | | - | - | - | | Get counts | Retrieve summary counts for Intercom app entities including companies, users, leads, tags, segments, and conversations. | `INTERCOM_GET_COUNTS` | | List all help centers | You can list all Help Centers by making a GET request to [https://api.intercom.io/help\\\_center/help\\\_centers](https://api.intercom.io/help\\_center/help\\_centers). | `INTERCOM_LIST_ALL_HELP_CENTERS` | | List away status reasons | Retrieve all away status reasons for a workspace including deleted ones. | `INTERCOM_LIST_AWAY_STATUS_REASONS` | | Retrieve a help center | You can fetch the details of a single Help Center by making a GET request to [https://api.intercom.io/help\\\_center/help\\\_center/\<id](https://api.intercom.io/help\\_center/help\\_center/\<id)>. | `INTERCOM_RETRIEVE_A_HELP_CENTER` | Teammates can use 99 of the 133 Intercom actions at this level: everything in **Read-only**, plus: * Create, update, and archive contacts * Create and update conversations * Update tags * Create, update, and send tickets * Create and update articles * Create and cancel exports * Create calls * Update companies * Create notes The 32 actions that this level adds to **Read-only**: | Action | What it does | Slug | | - | - | - | | Create internal article | Create a new internal article for team knowledge sharing. | `INTERCOM_CREATE_INTERNAL_ARTICLE` | | Update internal article | Update an internal article with new title, body, author or owner information. | `INTERCOM_UPDATE_INTERNAL_ARTICLE` | | Action | What it does | Slug | | - | - | - | | Register fin voice call | Register a Fin Voice call with Intercom. | `INTERCOM_REGISTER_FIN_VOICE_CALL` | | Action | What it does | Slug | | - | - | - | | Create or update a company | You can create or update a company. | `INTERCOM_CREATE_OR_UPDATE_A_COMPANY` | | Update a company | You can update a single company using the Intercom provisioned id. | `INTERCOM_UPDATE_A_COMPANY` | | Action | What it does | Slug | | - | - | - | | Archive contact | Archive a single contact in Intercom. | `INTERCOM_ARCHIVE_CONTACT` | | Attach contact to company | Attach a contact to a company in Intercom. | `INTERCOM_ATTACH_CONTACT_TO_COMPANY` | | Attach contact to conversation | Attach a contact participant to a conversation on behalf of admin or contact. | `INTERCOM_ATTACH_CONTACT_TO_CONVERSATION` | | Create contact | Create a new contact in Intercom workspace. | `INTERCOM_CREATE_CONTACT` | | Detach a contact | Remove a tag from a specific contact in Intercom. | `INTERCOM_DETACH_A_CONTACT` | | Detach contact from company | Detach a contact from a company in Intercom. | `INTERCOM_DETACH_CONTACT_FROM_COMPANY` | | Unarchive contact | Unarchive a previously archived contact in Intercom. | `INTERCOM_UNARCHIVE_CONTACT` | | Update a contact | You can update an existing contact (ie. user or lead). | `INTERCOM_UPDATE_A_CONTACT` | | Update contact | Update an existing contact in Intercom. | `INTERCOM_UPDATE_CONTACT` | | Action | What it does | Slug | | - | - | - | | Assign conversation | Assigns a conversation to a specific admin or team in Intercom. | `INTERCOM_ASSIGN_CONVERSATION` | | Close conversation | Closes a conversation in Intercom, marking it as resolved. | `INTERCOM_CLOSE_CONVERSATION` | | Create conversation | Creates a new conversation in Intercom. | `INTERCOM_CREATE_CONVERSATION` | | Reopen conversation | Reopens a closed conversation in Intercom. | `INTERCOM_REOPEN_CONVERSATION` | | Reply to conversation | Sends a reply to an existing conversation in Intercom. | `INTERCOM_REPLY_TO_CONVERSATION` | | Action | What it does | Slug | | - | - | - | | Cancel data export | Cancel an active content data export job. | `INTERCOM_CANCEL_DATA_EXPORT` | | Create data export | Initiate an async data export job for message content. | `INTERCOM_CREATE_DATA_EXPORT` | | Action | What it does | Slug | | - | - | - | | Create a note | You can add a note to a single contact. | `INTERCOM_CREATE_A_NOTE` | | Action | What it does | Slug | | - | - | - | | Add tag to contact | Add a tag to a contact in Intercom. | `INTERCOM_ADD_TAG_TO_CONTACT` | | Attach tag to conversation | Add a tag to a specific conversation in Intercom. | `INTERCOM_ATTACH_TAG_TO_CONVERSATION` | | Attach tag to ticket | Add a tag to a ticket in Intercom. | `INTERCOM_ATTACH_TAG_TO_TICKET` | | Detach tag from conversation | Remove a tag from a specific conversation in Intercom. | `INTERCOM_DETACH_TAG_FROM_CONVERSATION` | | Detach tag from ticket | Remove a tag from a ticket in Intercom. | `INTERCOM_DETACH_TAG_FROM_TICKET` | | Remove tag from a contact | You can remove tag from a specific contact. | `INTERCOM_REMOVE_TAG_FROM_A_CONTACT` | | Action | What it does | Slug | | - | - | - | | Create ticket | Create a ticket in Intercom to track customer requests and issues. | `INTERCOM_CREATE_TICKET` | | Enqueue create ticket | Enqueue ticket creation for asynchronous processing. | `INTERCOM_ENQUEUE_CREATE_TICKET` | | Reply ticket | Reply to a ticket with a message from admin or contact, or with a note for admins. | `INTERCOM_REPLY_TICKET` | | Update ticket | Update an existing ticket in Intercom. | `INTERCOM_UPDATE_TICKET` | Teammates can use 133 of the 133 Intercom actions at this level: everything in **Read + write**, plus: * Create and update attributes * Create, update, and delete collections * Create, update, and delete pages * Update admins * Delete articles * Create and manage events * Create and delete tags * Create and update types * Delete companies * Delete contacts * Update leads * Create sections The 34 actions that this level adds to **Read + write**: | Action | What it does | Slug | | - | - | - | | Set admin to away | Set an admin to away status in Intercom. | `INTERCOM_SET_ADMIN_TO_AWAY` | | Set an admin to away | You can set an Admin as away for the Inbox. | `INTERCOM_SET_AN_ADMIN_TO_AWAY` | | Action | What it does | Slug | | - | - | - | | Create an article | You can create a new article by making a POST request to [https://api.intercom.io/articles](https://api.intercom.io/articles). | `INTERCOM_CREATE_AN_ARTICLE` | | Delete an article | You can delete a single article by making a DELETE request to [https://api.intercom.io/articles/\<id](https://api.intercom.io/articles/\<id)>. | `INTERCOM_DELETE_AN_ARTICLE` | | Delete internal article | Delete a single internal article by ID. | `INTERCOM_DELETE_INTERNAL_ARTICLE` | | Update an article | You can update the details of a single article by making a PUT request to [https://api.intercom.io/articles/\<id](https://api.intercom.io/articles/\<id)>. | `INTERCOM_UPDATE_AN_ARTICLE` | | Action | What it does | Slug | | - | - | - | | Create data attribute | Create a custom data attribute for contacts or companies. | `INTERCOM_CREATE_DATA_ATTRIBUTE` | | Create ticket type attribute | Create a new attribute for a ticket type in Intercom. | `INTERCOM_CREATE_TICKET_TYPE_ATTRIBUTE` | | Update data attribute | Update an existing data attribute in Intercom. | `INTERCOM_UPDATE_DATA_ATTRIBUTE` | | Update ticket type attribute | Update an existing attribute for a ticket type. | `INTERCOM_UPDATE_TICKET_TYPE_ATTRIBUTE` | | Action | What it does | Slug | | - | - | - | | Create a collection | You can create a new collection by making a POST request to [https://api.intercom.io/help\\\_center/collections](https://api.intercom.io/help\\_center/collections). | `INTERCOM_CREATE_A_COLLECTION` | | Delete a collection | You can delete a single collection by making a DELETE request to [https://api.intercom.io/collections/\<id](https://api.intercom.io/collections/\<id)>. | `INTERCOM_DELETE_A_COLLECTION` | | Update a collection | You can update the details of a single collection by making a PUT request to [https://api.intercom.io/collections/\<id](https://api.intercom.io/collections/\<id)>. | `INTERCOM_UPDATE_A_COLLECTION` | | Action | What it does | Slug | | - | - | - | | Delete a company | You can delete a single company. | `INTERCOM_DELETE_A_COMPANY` | | Action | What it does | Slug | | - | - | - | | Block contact | Block a single contact in Intercom. | `INTERCOM_BLOCK_CONTACT` | | Delete contact | Delete a contact from the Intercom workspace. | `INTERCOM_DELETE_CONTACT` | | Action | What it does | Slug | | - | - | - | | Create content import source | Create a new content import source for the Fin Content Library. | `INTERCOM_CREATE_CONTENT_IMPORT_SOURCE` | | Delete content import source | Delete a content import source and all its external pages. | `INTERCOM_DELETE_CONTENT_IMPORT_SOURCE` | | Update content import source | Update an existing content import source in Fin Content Library. | `INTERCOM_UPDATE_CONTENT_IMPORT_SOURCE` | | Action | What it does | Slug | | - | - | - | | Create data event | Submit a data event to Intercom to track user activities. | `INTERCOM_CREATE_DATA_EVENT` | | Data event summaries | Create event summaries for a user to track event occurrences. | `INTERCOM_DATA_EVENT_SUMMARIES` | | Action | What it does | Slug | | - | - | - | | Merge a lead and a user | You can merge a contact with a role of lead into a contact with a role of user. | `INTERCOM_MERGE_A_LEAD_AND_A_USER` | | Action | What it does | Slug | | - | - | - | | Create external page | Create an external page in Fin Content Library or update an existing page by external ID. | `INTERCOM_CREATE_EXTERNAL_PAGE` | | Delete external page | Delete an external page from content library and AI answers. | `INTERCOM_DELETE_EXTERNAL_PAGE` | | Update external page | Update an existing external page in Fin Content Library. | `INTERCOM_UPDATE_EXTERNAL_PAGE` | | Action | What it does | Slug | | - | - | - | | Create help center section | Create a new help center section within a collection. | `INTERCOM_CREATE_HELP_CENTER_SECTION` | | Action | What it does | Slug | | - | - | - | | Add subscription to a contact | You can add a specific subscription to a contact. | `INTERCOM_ADD_SUBSCRIPTION_TO_A_CONTACT` | | Remove subscription from a contact | You can remove a specific subscription from a contact. | `INTERCOM_REMOVE_SUBSCRIPTION_FROM_A_CONTACT` | | Action | What it does | Slug | | - | - | - | | Create tag | Create or update a tag, and optionally tag/untag companies or tag contacts. | `INTERCOM_CREATE_TAG` | | Delete a tag delete tag | Delete a tag from Intercom workspace. | `INTERCOM_DELETE_A_TAG_DELETE_TAG` | | Action | What it does | Slug | | - | - | - | | Delete ticket | Delete a ticket from the Intercom system. | `INTERCOM_DELETE_TICKET` | | Action | What it does | Slug | | - | - | - | | Create ticket type | Create a new ticket type that defines the data structure for tracking customer requests. | `INTERCOM_CREATE_TICKET_TYPE` | | Update ticket type | Update an existing ticket type in the workspace. | `INTERCOM_UPDATE_TICKET_TYPE` | | Action | What it does | Slug | | - | - | - | | Delete a visitor | Delete a visitor from the Intercom workspace. | `INTERCOM_DELETE_A_VISITOR` | ## Connect Intercom Before you start: * You need an Intercom account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Intercom** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Intercom**. The Intercom sign-in page opens in a new tab. Sign in to Intercom and approve the request. Check that it works: Intercom shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Intercom account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Intercom account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Intercom account Click **+ Account** on the Intercom card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Intercom side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Intercom**. 3. Sign in to Intercom and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Intercom account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Intercom.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Intercom account becomes primary. ## Costs Intercom actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Intercom, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Intercom connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Intercom account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Intercom card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Intercom account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Intercom.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Jira Source: https://squad.so/docs/apps/jira What teammates can do in Jira at each access level, and how to connect, limit, and disconnect Jira. Connect Jira so your teammates can work in your Jira account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Jira account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as issues, projects, boards, sprints, and users. Cannot change anything." | 75 of 103 | | **Read + write** (recommended) | "Create, edit, assign, and move issues, and add comments, worklogs, and attachments. Cannot delete issues, manage versions, or change who belongs to a project." | 91 of 103 | | **Full access** | "Everything, including deleting issues, versions, groups, and project roles." | 103 of 103 | **Read + write** is the recommended level. The connect window selects it for you, and you can choose another level. The Jira sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Jira account?" The teammate can search the Jira actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Jira action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 75 of the 103 Jira actions at this level: * View projects * View types * View and search users * View fields * View roles and permissions * View comments * View filters * View groups * View and search issues * View and search dashboards * View profiles * View sprints All 75 actions at this level: | Action | What it does | Slug | | - | - | - | | Who am I | | `JIRA_WHO_AM_I` | | Action | What it does | Slug | | - | - | - | | Get attachment | Retrieves the binary content of a Jira attachment by ID. | `JIRA_GET_ATTACHMENT` | | Get attachment meta | Retrieve Jira attachment settings including upload limits and enabled status. | `JIRA_GET_ATTACHMENT_META` | | Action | What it does | Slug | | - | - | - | | List boards | Retrieves paginated Jira boards with filtering and sorting options. | `JIRA_LIST_BOARDS` | | Action | What it does | Slug | | - | - | - | | Get comment | Retrieves a specific comment by ID from a Jira issue with optional expansions. | `JIRA_GET_COMMENT` | | List comments | Retrieve multiple comments by their IDs in a single request. | `JIRA_LIST_COMMENTS` | | List issue comments | Retrieves paginated comments from a Jira issue with optional ordering. | `JIRA_LIST_ISSUE_COMMENTS` | | Action | What it does | Slug | | - | - | - | | Get components | Retrieve components from Jira projects with search and filtering. | `JIRA_GET_COMPONENTS` | | Action | What it does | Slug | | - | - | - | | Get dashboards | List and search Jira dashboards visible to the current user. | `JIRA_GET_DASHBOARDS` | | Search dashboards | Search for Jira dashboards with filtering, sorting, and pagination support. | `JIRA_SEARCH_DASHBOARDS` | | Action | What it does | Slug | | - | - | - | | Get create metadata issue type fields | Retrieve field metadata for a specific issue type in a project. | `JIRA_GET_CREATE_METADATA_ISSUE_TYPE_FIELDS` | | Get fields | Retrieve Jira issue fields metadata. | `JIRA_GET_FIELDS` | | Get fields paginated | Retrieve Jira fields in pages. | `JIRA_GET_FIELDS_PAGINATED` | | Get service desk request type fields | Retrieve JSM request type field metadata for filling out portal requests. | `JIRA_GET_SERVICE_DESK_REQUEST_TYPE_FIELDS` | | Action | What it does | Slug | | - | - | - | | Get favorite filters | Retrieve favorite filters for the current user. | `JIRA_GET_FAVORITE_FILTERS` | | Get filter | Retrieves a specific Jira saved filter by ID, including its JQL and sharing metadata, to reuse in subsequent searches. | `JIRA_GET_FILTER` | | List filters | Search and list Jira saved filters (saved searches) visible to the current user. | `JIRA_LIST_FILTERS` | | Action | What it does | Slug | | - | - | - | | Get all groups | Retrieves all groups from the Jira instance with pagination support. | `JIRA_GET_ALL_GROUPS` | | Get group | Retrieves details of a specific Jira group by name or ID. | `JIRA_GET_GROUP` | | Get user groups | | `JIRA_GET_USER_GROUPS` | | List groups picker | Search and list groups using Jira's picker endpoint. | `JIRA_LIST_GROUPS_PICKER` | | Action | What it does | Slug | | - | - | - | | Fetch bulk issues | Bulk fetch multiple Jira issues by their IDs or keys (max 100 per call). | `JIRA_FETCH_BULK_ISSUES` | | Get issue | Retrieves a Jira issue by ID or key with customizable fields and expansions. | `JIRA_GET_ISSUE` | | Get issue create metadata | Retrieve issue creation metadata for Jira projects. | `JIRA_GET_ISSUE_CREATE_METADATA` | | Get issue edit metadata | Retrieve editable fields for a Jira issue. | `JIRA_GET_ISSUE_EDIT_METADATA` | | Get issue picker suggestions | Get issue picker suggestions from Jira. | `JIRA_GET_ISSUE_PICKER_SUGGESTIONS` | | Get issue resolutions | Retrieves all available issue resolution types from Jira. | `JIRA_GET_ISSUE_RESOLUTIONS` | | Search for issues using jql get | Searches for Jira issues using JQL with pagination and field selection. | `JIRA_SEARCH_FOR_ISSUES_USING_JQL_GET` | | Search issues | Advanced Jira issue search supporting structured filters and raw JQL. | `JIRA_SEARCH_ISSUES` | | Action | What it does | Slug | | - | - | - | | Get mypreferences locale | Retrieve the locale preference of the currently authenticated Jira user. | `JIRA_GET_MYPREFERENCES_LOCALE` | | Action | What it does | Slug | | - | - | - | | Get remote issue links | Retrieves links from a Jira issue to external resources. | `JIRA_GET_REMOTE_ISSUE_LINKS` | | Action | What it does | Slug | | - | - | - | | Get universal avatar type owner | Retrieve all avatars (system and custom) for a specific type and entity in Jira. | `JIRA_GET_UNIVERSAL_AVATAR_TYPE_OWNER` | | Action | What it does | Slug | | - | - | - | | Search for issues using jql post | DEPRECATED: Use JIRA\_SEARCH\_ISSUES instead. | `JIRA_SEARCH_FOR_ISSUES_USING_JQL_POST` | | Action | What it does | Slug | | - | - | - | | Get system avatars | Retrieve all system avatars for a specific type (issuetype, project, user, or priority). | `JIRA_GET_SYSTEM_AVATARS` | | Get view type avatar | Retrieve a specific avatar image by type and ID from Jira. | `JIRA_GET_VIEW_TYPE_AVATAR` | | Action | What it does | Slug | | - | - | - | | Get all projects | Retrieves all visible projects using the modern paginated Jira API with server-side filtering and pagination support. | `JIRA_GET_ALL_PROJECTS` | | Get permitted projects | Retrieve projects where the current user has specific permissions. | `JIRA_GET_PERMITTED_PROJECTS` | | Get project | Retrieves details of a Jira project by its ID or key. | `JIRA_GET_PROJECT` | | Get recent projects | Retrieves a list of projects recently accessed by the authenticated user. | `JIRA_GET_RECENT_PROJECTS` | | List all projects | List all projects accessible to the user. | `JIRA_LIST_ALL_PROJECTS` | | Action | What it does | Slug | | - | - | - | | Get issue property | Retrieves a custom property from a Jira issue by key. | `JIRA_GET_ISSUE_PROPERTY` | | Action | What it does | Slug | | - | - | - | | Check permissions | Check user permissions for global and project-level operations in Jira. | `JIRA_CHECK_PERMISSIONS` | | Get my permissions | Retrieve the user's permissions in Jira. | `JIRA_GET_MY_PERMISSIONS` | | Get permissions | Retrieve all available Jira permissions. | `JIRA_GET_PERMISSIONS` | | Get project roles | Retrieves all available roles for a Jira project. | `JIRA_GET_PROJECT_ROLES` | | Action | What it does | Slug | | - | - | - | | Get sprint | | `JIRA_GET_SPRINT` | | List sprints | Retrieves paginated sprints from a Jira board with optional state filtering. | `JIRA_LIST_SPRINTS` | | Action | What it does | Slug | | - | - | - | | Get project templates | | `JIRA_GET_PROJECT_TEMPLATES` | | Action | What it does | Slug | | - | - | - | | Get all issue type schemes | Retrieves all Jira issue type schemes with optional filtering and pagination. | `JIRA_GET_ALL_ISSUE_TYPE_SCHEMES` | | Get issue link types | Retrieves all configured issue link types from Jira. | `JIRA_GET_ISSUE_LINK_TYPES` | | Get issue types | Retrieves all Jira issue types available to the user using the modern API v3 endpoint. | `JIRA_GET_ISSUE_TYPES` | | Get project type | Retrieves detailed information about a specific Jira project type by its key. | `JIRA_GET_PROJECT_TYPE` | | Get universal avatar view type | Retrieve the default avatar image for a specific type (project, issuetype, or priority) from Jira. | `JIRA_GET_UNIVERSAL_AVATAR_VIEW_TYPE` | | List project types | Retrieves all Jira project types available in the instance. | `JIRA_LIST_PROJECT_TYPES` | | Action | What it does | Slug | | - | - | - | | Find users | DEPRECATED: Use JIRA\_FIND\_USERS2 instead. | `JIRA_FIND_USERS` | | Find users for picker | Find users for picker components by matching query against user attributes like display name and email. | `JIRA_FIND_USERS_FOR_PICKER` | | Find users2 | Find users in Jira by query string, account ID, or property search. | `JIRA_FIND_USERS2` | | Get all users | Retrieves all users from the Jira instance including active, inactive, app accounts, and system accounts, with pagination support. | `JIRA_GET_ALL_USERS` | | Get current user | Retrieves detailed information about the currently authenticated Jira user. | `JIRA_GET_CURRENT_USER` | | Action | What it does | Slug | | - | - | - | | Get project versions | Retrieves all versions for a Jira project with optional expansion. | `JIRA_GET_PROJECT_VERSIONS` | | Action | What it does | Slug | | - | - | - | | Get issue watchers | Retrieves users watching a Jira issue for update notifications. | `JIRA_GET_ISSUE_WATCHERS` | | Action | What it does | Slug | | - | - | - | | Get issue worklogs | DEPRECATED: Use JIRA\_GET\_WORKLOG instead. | `JIRA_GET_ISSUE_WORKLOGS` | | Get worklog | Retrieves worklogs for a specified Jira issue. | `JIRA_GET_WORKLOG` | | Action | What it does | Slug | | - | - | - | | Get transitions | Retrieves available workflow transitions for a Jira issue. | `JIRA_GET_TRANSITIONS` | | Action | What it does | Slug | | - | - | - | | Analyse expression | Analyses Jira expressions for syntax validation, type checking, and complexity analysis. | `JIRA_ANALYSE_EXPRESSION` | | Create jql autocompletedata | Retrieves JQL autocomplete reference data including reserved words, field names, and function names. | `JIRA_CREATE_JQL_AUTOCOMPLETEDATA` | | Evaluate Jira expression | Evaluate Jira expressions using the enhanced search API. | `JIRA_EVALUATE_JIRA_EXPRESSION` | | Get all statuses | Retrieves all issue statuses associated with workflows from Jira. | `JIRA_GET_ALL_STATUSES` | | Get info | Retrieves runtime information for the Jira Service Management instance. | `JIRA_GET_INFO` | | Get jql autocompletedata | Retrieve JQL autocomplete reference data. | `JIRA_GET_JQL_AUTOCOMPLETEDATA` | | Get jql autocompletedata suggestions | Get JQL field auto-complete suggestions. | `JIRA_GET_JQL_AUTOCOMPLETEDATA_SUGGESTIONS` | | Get server info | Retrieve Jira instance server information. | `JIRA_GET_SERVER_INFO` | | Get votes | Fetches voting details for a Jira issue. | `JIRA_GET_VOTES` | | Parse jql queries | Parse and validate JQL queries, returning their abstract syntax tree structure along with any errors or warnings. | `JIRA_PARSE_JQL_QUERIES` | | Search approximate count | Count issues matching a JQL query using approximate count endpoint. | `JIRA_SEARCH_APPROXIMATE_COUNT` | Teammates can use 91 of the 103 Jira actions at this level: everything in **Read-only**, plus: * Create and update issues * Create, update, and delete comments * Create and delete work logs * Create attachments * Create links * Create sprints The 16 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Attachments** | Add attachment | Uploads and attaches a file to a Jira issue. | `JIRA_ADD_ATTACHMENT` | | **Comments** | Add comment | Adds a comment using Atlassian Document Format (ADF) for rich text to an existing Jira issue. | `JIRA_ADD_COMMENT` | | | Delete comment | Deletes a specific comment from a Jira issue using its ID and the issue's ID/key. | `JIRA_DELETE_COMMENT` | | | Update comment | Updates text content or visibility of an existing Jira comment. | `JIRA_UPDATE_COMMENT` | | **Issues** | Assign issue | Assigns a Jira issue to a user, default assignee, or unassigns. | `JIRA_ASSIGN_ISSUE` | | | Bulk create issue | Creates multiple Jira issues (up to 50 per call) with full feature support including markdown, assignee resolution, and priority handling. | `JIRA_BULK_CREATE_ISSUE` | | | Create issue | Creates a new Jira issue (e.g., bug, task, story) in a specified project. | `JIRA_CREATE_ISSUE` | | | Edit issue | Updates an existing Jira issue with field values and operations. | `JIRA_EDIT_ISSUE` | | | Move issue to sprint | Moves one or more Jira issues to a specified active sprint. | `JIRA_MOVE_ISSUE_TO_SPRINT` | | | Transition issue | Transitions a Jira issue to a different workflow state, with support for transition name lookup and user assignment by email. | `JIRA_TRANSITION_ISSUE` | | **Links** | Create issue link | Links two Jira issues using a specified link type with optional comment. | `JIRA_CREATE_ISSUE_LINK` | | **Sprints** | Create sprint | Creates a new sprint on a Jira board with optional start/end dates and goal. | `JIRA_CREATE_SPRINT` | | **Watchers** | Add watcher to issue | Adds a user to an issue's watcher list by account ID. | `JIRA_ADD_WATCHER_TO_ISSUE` | | | Remove watcher from issue | Removes a user from an issue's watcher list by account ID. | `JIRA_REMOVE_WATCHER_FROM_ISSUE` | | **Work logs** | Add worklog | Add a worklog entry to a Jira issue. | `JIRA_ADD_WORKLOG` | | | Delete worklog | Deletes a worklog from a Jira issue with estimate adjustment options. | `JIRA_DELETE_WORKLOG` | Teammates can use 103 of the 103 Jira actions at this level: everything in **Read + write**, plus: * Create and delete versions * Delete attachments * Create boards * Create groups * Delete issues * Send notifications * Create projects The 12 actions that this level adds to **Read + write**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Attachments** | Delete attachment | | `JIRA_DELETE_ATTACHMENT` | | **Boards** | Create board | | `JIRA_CREATE_BOARD` | | **Groups** | Create group | Creates a new group in Jira with the specified name. | `JIRA_CREATE_GROUP` | | **Issues** | Delete issue | Permanently and irreversibly deletes a Jira issue by its ID or key. | `JIRA_DELETE_ISSUE` | | **Notifications** | Send notification for issue | Sends a customized email notification for a Jira issue. | `JIRA_SEND_NOTIFICATION_FOR_ISSUE` | | **Projects** | Create project | Creates a new Jira project with required lead, template, and type configuration. | `JIRA_CREATE_PROJECT` | | **Users** | Add user to group | Adds a user to a Jira group. | `JIRA_ADD_USER_TO_GROUP` | | | Add users to project role | Adds users and optionally groups to a project role. | `JIRA_ADD_USERS_TO_PROJECT_ROLE` | | | Remove user from group | Removes a user from a Jira group. | `JIRA_REMOVE_USER_FROM_GROUP` | | | Remove user from project role | Removes a user or group from a project role. | `JIRA_REMOVE_USER_FROM_PROJECT_ROLE` | | **Versions** | Create version | Creates a new version for releases or milestones in a Jira project. | `JIRA_CREATE_VERSION` | | | Delete version | Deletes a Jira version and optionally reassigns its issues. | `JIRA_DELETE_VERSION` | ## Connect Jira Before you start: * You need a Jira account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Jira** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Jira**. The Jira sign-in page opens in a new tab. Sign in to Jira and approve the request. Check that it works: Jira shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Jira account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Jira account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Jira account Click **+ Account** on the Jira card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Jira side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Jira**. 3. Sign in to Jira and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Jira account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Jira.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Jira account becomes primary. ## Costs Jira actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Jira, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Jira connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Jira account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Jira card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Jira account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Jira.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Linear Source: https://squad.so/docs/apps/linear What teammates can do in Linear at each access level, and how to connect, limit, and disconnect Linear. Connect Linear so your teammates can work in your Linear account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Linear account has an access level: **Read-only**, **Create + comment**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as issues, projects, cycles, and comments. Cannot change anything." | 23 of 48 | | **Create + comment** | "Create issues and comments, and manage your own comments and project updates. Cannot change existing issues or projects." | 36 of 48 | | **Full access** (recommended) | "Everything, including editing and archiving issues, projects, labels, and teams." | 48 of 48 | **Full access** is the recommended level. The connect window selects it for you, and you can choose another level. The Linear sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Linear account?" The teammate can search the Linear actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Linear action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 23 of the 48 Linear actions at this level: * View and search issues * View comments * View cycles * View project updates * View projects * View teams * View users * View account details * View attachments * View drafts * View labels All 23 actions at this level: | Works on | Action | What it does | Slug | | - | - | - | - | | **Account details** | Who am I | | `LINEAR_WHO_AM_I` | | **Attachments** | Get attachment | Downloads a specific attachment from a Linear issue. | `LINEAR_GET_ATTACHMENT` | | **Comments** | Get comment | | `LINEAR_GET_COMMENT` | | | List comments | | `LINEAR_LIST_COMMENTS` | | **Cycles** | Get cycles by team ID | Retrieves all cycles for a specified Linear team ID. | `LINEAR_GET_CYCLES_BY_TEAM_ID` | | | List linear cycles | Retrieves all cycles (time-boxed sprint iterations) org-wide from the Linear account. | `LINEAR_LIST_LINEAR_CYCLES` | | **Drafts** | List issue drafts | Check pageInfo.hasNextPage in the response to determine if additional drafts exist beyond the current page. | `LINEAR_LIST_ISSUE_DRAFTS` | | **Issues** | Get issue defaults | Fetches a Linear team's default issue estimate and state, useful for pre-filling new issue forms. | `LINEAR_GET_ISSUE_DEFAULTS` | | | Get linear issue | Retrieves an existing Linear issue's comprehensive details, including id, identifier, title, description, timestamps, state, team, creator, attachments, comments (with user info and timestamps, use issue.comments.nodes for comment IDs), subscribers, and due date. | `LINEAR_GET_LINEAR_ISSUE` | | | List issues by team ID | List all issues for a specific Linear team, scoped by team ID. | `LINEAR_LIST_ISSUES_BY_TEAM_ID` | | | List linear issues | Lists non-archived Linear issues. | `LINEAR_LIST_LINEAR_ISSUES` | | | Search issues | Search Linear issues using full-text search across identifier, title, and description. | `LINEAR_SEARCH_ISSUES` | | **Labels** | List linear labels | Retrieves labels from Linear. | `LINEAR_LIST_LINEAR_LABELS` | | **Project updates** | Get project update | | `LINEAR_GET_PROJECT_UPDATE` | | | List project updates | | `LINEAR_LIST_PROJECT_UPDATES` | | **Projects** | Get linear project | Retrieves a single Linear project by its unique identifier. | `LINEAR_GET_LINEAR_PROJECT` | | | List linear projects | Retrieves all projects from the Linear account. | `LINEAR_LIST_LINEAR_PROJECTS` | | **Teams** | Get all linear teams | DEPRECATED: Use ListLinearTeams instead (returns paginated payloads with members and projects). | `LINEAR_GET_ALL_LINEAR_TEAMS` | | | List linear teams | Retrieves all teams with their members and projects. | `LINEAR_LIST_LINEAR_TEAMS` | | **Users** | Get current user | Gets the currently authenticated user's ID, name, email, and other profile information. | `LINEAR_GET_CURRENT_USER` | | | List linear users | Lists all workspace users (not team-scoped) with their IDs, names, emails, and active status. | `LINEAR_LIST_LINEAR_USERS` | | **Other actions** | List linear states | Retrieves all workflow states for a specified team in Linear, representing the stages an issue progresses through in that team's workflow. | `LINEAR_LIST_LINEAR_STATES` | | | Validate credential | | `LINEAR_VALIDATE_CREDENTIAL` | Teammates can use 36 of the 48 Linear actions at this level: everything in **Read-only**, plus: * Create and update comments * Create, update, and archive project updates * Create and delete reactions * Create attachments * Create issues The 13 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Attachments** | Create attachment | Creates a new attachment and associates it with a specific, existing Linear issue. | `LINEAR_CREATE_ATTACHMENT` | | **Comments** | Create linear comment | Creates a new comment on a specified Linear issue. | `LINEAR_CREATE_LINEAR_COMMENT` | | | Resolve comment | | `LINEAR_RESOLVE_COMMENT` | | | Unresolve comment | | `LINEAR_UNRESOLVE_COMMENT` | | | Update linear comment | Update an existing Linear comment's body text. | `LINEAR_UPDATE_LINEAR_COMMENT` | | **Issues** | Create linear issue | Creates a new issue in a specified Linear project and team, requiring team\_id and title, and allowing optional properties like description, assignee, state, priority, cycle, and due date. | `LINEAR_CREATE_LINEAR_ISSUE` | | | Create linear issue relation | Create a relationship between two Linear issues using the issueRelationCreate mutation. | `LINEAR_CREATE_LINEAR_ISSUE_RELATION` | | **Project updates** | Archive project update | | `LINEAR_ARCHIVE_PROJECT_UPDATE` | | | Create project update | Create a project status update post for a Linear project. | `LINEAR_CREATE_PROJECT_UPDATE` | | | Unarchive project update | | `LINEAR_UNARCHIVE_PROJECT_UPDATE` | | | Update project update | | `LINEAR_UPDATE_PROJECT_UPDATE` | | **Reactions** | Create comment reaction | Add a reaction to an existing Linear comment. | `LINEAR_CREATE_COMMENT_REACTION` | | | Remove reaction | Remove a reaction on a comment. | `LINEAR_REMOVE_REACTION` | Teammates can use 48 of the 48 Linear actions at this level: everything in **Create + comment**, plus: * Update, archive, and delete issues * Create, update, and archive projects * Create and delete labels * Create and update teams * Create milestones * Run queries The 12 actions that this level adds to **Create + comment**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Issues** | Archive issue | | `LINEAR_ARCHIVE_ISSUE` | | | Delete linear issue | Archives an existing Linear issue by its ID, which is Linear's standard way of deleting issues. | `LINEAR_DELETE_LINEAR_ISSUE` | | | Update issue | Updates an existing Linear issue using its issue\_id. | `LINEAR_UPDATE_ISSUE` | | **Labels** | Create linear label | Creates a new label in Linear for a specified team, used to categorize and organize issues. | `LINEAR_CREATE_LINEAR_LABEL` | | | Remove issue label | Removes a specified label from an existing Linear issue using their IDs. | `LINEAR_REMOVE_ISSUE_LABEL` | | **Milestones** | Create project milestone | Create a project milestone in Linear with a name and optional target date and sort order. | `LINEAR_CREATE_PROJECT_MILESTONE` | | **Projects** | Archive project | | `LINEAR_ARCHIVE_PROJECT` | | | Create linear project | Creates a new Linear project with specified name and team associations. | `LINEAR_CREATE_LINEAR_PROJECT` | | | Update linear project | Update an existing Linear project. | `LINEAR_UPDATE_LINEAR_PROJECT` | | **Queries** | Run query or mutation | Execute any GraphQL query or mutation against Linear's API. | `LINEAR_RUN_QUERY_OR_MUTATION` | | **Teams** | Create team | | `LINEAR_CREATE_TEAM` | | | Update team | | `LINEAR_UPDATE_TEAM` | ## Connect Linear Before you start: * You need a Linear account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Linear** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Linear**. The Linear sign-in page opens in a new tab. Sign in to Linear and approve the request. Check that it works: Linear shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Linear account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Linear account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Linear account Click **+ Account** on the Linear card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Linear side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Linear**. 3. Sign in to Linear and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Linear account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Linear.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Linear account becomes primary. ## Costs Linear actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Linear, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Linear connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Linear account has an access level: **Read-only**, **Create + comment**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Linear card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Linear account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Linear.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # LinkedIn Source: https://squad.so/docs/apps/linkedin What teammates can do in LinkedIn at each access level, and how to connect, limit, and disconnect LinkedIn. Connect LinkedIn so your teammates can work in your LinkedIn account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each LinkedIn account has an access level: **Read-only**, **Read + post**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as your profile, posts, organizations, and reactions. Cannot change anything." | 15 of 26 | | **Read + post** (recommended) | "Post to your feed with text, links, images, or video, comment, and delete your posts." | 26 of 26 | | **Full access** | "Everything the connection can do on LinkedIn." | 26 of 26 | **Read + post** is the recommended level. The connect window selects it for you, and you can choose another level. The LinkedIn sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my LinkedIn account?" The teammate can search the LinkedIn actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the LinkedIn action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 15 of the 26 LinkedIn actions at this level: * View images * View reports * View account details * View audiences * View companies * View content * View people * View reactions * Search records * View sizes * View videos All 15 actions at this level: | Works on | Action | What it does | Slug | | - | - | - | - | | **Account details** | Who am I | | `LINKEDIN_WHO_AM_I` | | **Ads** | Get ad targeting facets | Retrieve available ad targeting facets from LinkedIn Marketing API. | `LINKEDIN_GET_AD_TARGETING_FACETS` | | **Audiences** | Get audience counts | Retrieves audience size counts for specified targeting criteria. | `LINKEDIN_GET_AUDIENCE_COUNTS` | | **Companies** | Get company info | Retrieves organizations where the authenticated user has specific roles (ACLs), to determine their management or content posting capabilities for LinkedIn company pages. | `LINKEDIN_GET_COMPANY_INFO` | | **Content** | Get post content | Retrieve detailed post content including text, images, videos, and metadata from LinkedIn by post URN. | `LINKEDIN_GET_POST_CONTENT` | | **Images** | Get image | Retrieve details of a LinkedIn image using its URN. | `LINKEDIN_GET_IMAGE` | | | Get images | Retrieve image metadata including download URLs, status, and dimensions from LinkedIn's Images API. | `LINKEDIN_GET_IMAGES` | | **People** | Get person | Retrieves a LinkedIn member's profile information by their person ID. | `LINKEDIN_GET_PERSON` | | **Reactions** | List reactions | Retrieves reactions (likes, celebrations, etc.) on a LinkedIn entity such as a share, post, or comment. | `LINKEDIN_LIST_REACTIONS` | | **Records** | Search ad targeting entities | Search for ad targeting entities using typeahead search. | `LINKEDIN_SEARCH_AD_TARGETING_ENTITIES` | | **Reports** | Get org page stats | Retrieve page statistics for a LinkedIn organization page. | `LINKEDIN_GET_ORG_PAGE_STATS` | | | Get share stats | Retrieves share statistics for a LinkedIn organization, including impressions, clicks, likes, comments, and shares. | `LINKEDIN_GET_SHARE_STATS` | | **Sizes** | Get network size | Retrieve the follower count for a LinkedIn organization. | `LINKEDIN_GET_NETWORK_SIZE` | | **Videos** | Get videos | Retrieves video metadata from LinkedIn Marketing API. | `LINKEDIN_GET_VIDEOS` | | **Other actions** | Get my info | Fetches the authenticated LinkedIn user's profile information including name, headline, profile picture, and other profile details. | `LINKEDIN_GET_MY_INFO` | Teammates can use 26 of the 26 LinkedIn actions at this level: everything in **Read-only**, plus: * Create and delete posts * Create files * Create videos * Create articles * Create comments The 11 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Articles** | Create article or URL share | Create an article or URL share on LinkedIn using the UGC Posts API. | `LINKEDIN_CREATE_ARTICLE_OR_URL_SHARE` | | **Comments** | Create comment on post | Create a first-level or nested comment on a LinkedIn share, UGC post, or parent comment via the Social Actions Comments API. | `LINKEDIN_CREATE_COMMENT_ON_POST` | | **Files** | Initialize image upload | Initialize an image upload to LinkedIn and return a presigned upload URL plus the resulting image URN. | `LINKEDIN_INITIALIZE_IMAGE_UPLOAD` | | | Register image upload | Initialize a native LinkedIn image upload for feed shares and return a presigned upload URL plus the resulting digital media asset URN. | `LINKEDIN_REGISTER_IMAGE_UPLOAD` | | **Posts** | Create linked in post | Creates a new post on LinkedIn for the authenticated user or an organization they manage. | `LINKEDIN_CREATE_LINKED_IN_POST` | | | Create video post | | `LINKEDIN_CREATE_VIDEO_POST` | | | Delete linked in post | Deletes a specific LinkedIn post (share) by its unique share\_id, which must correspond to an existing share. | `LINKEDIN_DELETE_LINKED_IN_POST` | | | Delete post | Delete a LinkedIn post using the Posts API REST endpoint. | `LINKEDIN_DELETE_POST` | | | Delete ugc post | Delete a UGC post using the legacy UGC Post API endpoint. | `LINKEDIN_DELETE_UGC_POST` | | **Videos** | Upload video | | `LINKEDIN_UPLOAD_VIDEO` | | | Video post | Uploads a video from an https URL and publishes it as a personal feed post with the given text. | `LINKEDIN_VIDEO_POST` | Teammates can use the same 26 actions as at **Read + post**. ## Connect LinkedIn Before you start: * You need a LinkedIn account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **LinkedIn** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect LinkedIn**. The LinkedIn sign-in page opens in a new tab. Sign in to LinkedIn and approve the request. Check that it works: LinkedIn shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the LinkedIn account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the LinkedIn account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one LinkedIn account Click **+ Account** on the LinkedIn card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the LinkedIn side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on LinkedIn**. 3. Sign in to LinkedIn and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the LinkedIn account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to LinkedIn.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected LinkedIn account becomes primary. ## Costs LinkedIn actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to LinkedIn, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the LinkedIn connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each LinkedIn account has an access level: **Read-only**, **Read + post**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the LinkedIn card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the LinkedIn account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to LinkedIn.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Mailchimp Source: https://squad.so/docs/apps/mailchimp What teammates can do in Mailchimp with standard access, and how to connect, limit, and disconnect Mailchimp. Connect Mailchimp so your teammates can work in your Mailchimp account. ## Access levels Mailchimp has one level. The connect window shows it as **Default** and describes it as "Standard access." Teammates can use all 275 Mailchimp actions. You cannot choose a narrower level for Mailchimp. You can block single teammates with **No access** under **Per-teammate access**. The Mailchimp sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in, and standard access does not limit which Mailchimp actions teammates can use. ## What teammates can do The summary below groups the Mailchimp actions into plain tasks. The full list after it names every action, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open the list and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Mailchimp account?" The teammate can search the Mailchimp actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Mailchimp action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. * View and manage reports * View, create, update, and delete folders * View, search, create, update, delete, send, start, stop, cancel, and manage campaigns * View, create, update, and delete line items * View, create, update, and delete webhooks * View, update, delete, send, start, and stop emails * View, search, update, archive, and delete members * View activities * View, create, update, delete, and publish landing pages * View, create, update, and delete orders * View, create, update, and delete products * View, create, update, and delete carts | Action | What it does | Slug | | - | - | - | | Get subscriber email activity | Get a specific list member's email activity in a sent campaign, including opens, clicks, bounces, and unsubscribes. | `MAILCHIMP_GET_SUBSCRIBER_EMAIL_ACTIVITY` | | List campaign product activity | Get breakdown of product activity for a campaign. | `MAILCHIMP_LIST_CAMPAIGN_PRODUCT_ACTIVITY` | | List eep URL activity | Get EepURL click activity for a campaign. | `MAILCHIMP_LIST_EEP_URL_ACTIVITY` | | List email activity | Get a list of member's subscriber activity in a specific campaign. | `MAILCHIMP_LIST_EMAIL_ACTIVITY` | | List recent activity | Get up to the previous 180 days of daily detailed aggregated activity stats for a list, not including Automation activity. | `MAILCHIMP_LIST_RECENT_ACTIVITY` | | List top open activities | Get top open locations for a specific campaign. | `MAILCHIMP_LIST_TOP_OPEN_ACTIVITIES` | | View recent activity | Get a member's activity on a specific list, including opens, clicks, and unsubscribes. | `MAILCHIMP_VIEW_RECENT_ACTIVITY` | | View recent activity50 | Get the last 50 events of a member's activity on a specific list, including opens, clicks, and unsubscribes. | `MAILCHIMP_VIEW_RECENT_ACTIVITY50` | | Action | What it does | Slug | | - | - | - | | Get Facebook ad info | Retrieve detailed information about a specific Facebook ad created through Mailchimp. | `MAILCHIMP_GET_FACEBOOK_AD_INFO` | | Action | What it does | Slug | | - | - | - | | List answers for question | Retrieves all answers submitted for a specific question in a Mailchimp survey. | `MAILCHIMP_LIST_ANSWERS_FOR_QUESTION` | | Action | What it does | Slug | | - | - | - | | Get authorized app info | Retrieve detailed information about a specific authorized OAuth application. | `MAILCHIMP_GET_AUTHORIZED_APP_INFO` | | List authorized apps | Get a list of an account's registered, connected applications. | `MAILCHIMP_LIST_AUTHORIZED_APPS` | | Action | What it does | Slug | | - | - | - | | Add automation | Create a new classic abandoned cart automation in your Mailchimp account. | `MAILCHIMP_ADD_AUTOMATION` | | Archive automation | Permanently archive a classic automation workflow in Mailchimp. | `MAILCHIMP_ARCHIVE_AUTOMATION` | | Get automation info | Retrieve details of a Mailchimp automation workflow by its ID. | `MAILCHIMP_GET_AUTOMATION_INFO` | | List automations | Get a summary of an account's classic automations. | `MAILCHIMP_LIST_AUTOMATIONS` | | Action | What it does | Slug | | - | - | - | | Add campaign | Create a new Mailchimp campaign. | `MAILCHIMP_ADD_CAMPAIGN` | | Add campaign feedback | Add feedback on a specific Mailchimp campaign. | `MAILCHIMP_ADD_CAMPAIGN_FEEDBACK` | | Cancel campaign | Cancel a Regular or Plain-Text Campaign after you send, before all of your recipients receive it. | `MAILCHIMP_CANCEL_CAMPAIGN` | | Create a survey campaign | Create a new email campaign that links to a specific survey in Mailchimp. | `MAILCHIMP_CREATE_A_SURVEY_CAMPAIGN` | | Delete campaign | Permanently delete a campaign from your Mailchimp account. | `MAILCHIMP_DELETE_CAMPAIGN` | | Get campaign info | Get information about a specific campaign. | `MAILCHIMP_GET_CAMPAIGN_INFO` | | Get campaign recipient info | Get information about a specific campaign recipient. | `MAILCHIMP_GET_CAMPAIGN_RECIPIENT_INFO` | | List campaign feedback | Get team feedback while you're working together on a Mailchimp campaign. | `MAILCHIMP_LIST_CAMPAIGN_FEEDBACK` | | List campaign open details | Get detailed information about any campaign emails that were opened by a list member. | `MAILCHIMP_LIST_CAMPAIGN_OPEN_DETAILS` | | List campaign recipients | Get information about campaign recipients. | `MAILCHIMP_LIST_CAMPAIGN_RECIPIENTS` | | List campaigns | Get all campaigns in an account. | `MAILCHIMP_LIST_CAMPAIGNS` | | Pause RSS campaign | Pause an RSS-Driven campaign that is currently sending. | `MAILCHIMP_PAUSE_RSS_CAMPAIGN` | | Replicate campaign | Replicate a campaign in saved or send status. | `MAILCHIMP_REPLICATE_CAMPAIGN` | | Resend campaign | Resend a previously sent campaign to specific subscriber segments. | `MAILCHIMP_RESEND_CAMPAIGN` | | Resume RSS campaign | Resume an RSS-Driven campaign that was previously paused. | `MAILCHIMP_RESUME_RSS_CAMPAIGN` | | Retrieve campaign abuse complaints | Get a list of abuse complaints for a specific campaign. | `MAILCHIMP_RETRIEVE_CAMPAIGN_ABUSE_COMPLAINTS` | | Schedule campaign | Schedule a campaign for delivery at a specific date and time. | `MAILCHIMP_SCHEDULE_CAMPAIGN` | | Search campaigns | Search all campaigns for the specified query terms. | `MAILCHIMP_SEARCH_CAMPAIGNS` | | Send campaign | Send a Mailchimp campaign immediately. | `MAILCHIMP_SEND_CAMPAIGN` | | Unschedule campaign | Unschedule a scheduled campaign that hasn't started sending. | `MAILCHIMP_UNSCHEDULE_CAMPAIGN` | | Action | What it does | Slug | | - | - | - | | Add cart | Add a new cart to a store. | `MAILCHIMP_ADD_CART` | | Delete cart | Delete a cart from an e-commerce store. | `MAILCHIMP_DELETE_CART` | | Get cart info | Retrieve detailed information about a specific cart in an e-commerce store, including customer details and line items. | `MAILCHIMP_GET_CART_INFO` | | List carts | Get information about a store's carts. | `MAILCHIMP_LIST_CARTS` | | Update cart | Update a specific cart. | `MAILCHIMP_UPDATE_CART` | | Action | What it does | Slug | | - | - | - | | Add interest category | Create a new interest category. | `MAILCHIMP_ADD_INTEREST_CATEGORY` | | Delete interest category | Delete a specific interest category from a Mailchimp audience/list. | `MAILCHIMP_DELETE_INTEREST_CATEGORY` | | Get interest category info | Get detailed information about a specific interest category within a Mailchimp list/audience. | `MAILCHIMP_GET_INTEREST_CATEGORY_INFO` | | List interest categories | Get information about a list's interest categories. | `MAILCHIMP_LIST_INTEREST_CATEGORIES` | | Update interest category | Update a specific interest category. | `MAILCHIMP_UPDATE_INTEREST_CATEGORY` | | Action | What it does | Slug | | - | - | - | | Get campaign send checklist | Review the send checklist for a Mailchimp campaign before sending. | `MAILCHIMP_GET_CAMPAIGN_SEND_CHECKLIST` | | Action | What it does | Slug | | - | - | - | | List top email clients | Get the top email clients used by subscribers in a Mailchimp list/audience. | `MAILCHIMP_LIST_TOP_EMAIL_CLIENTS` | | Action | What it does | Slug | | - | - | - | | Add promo code | Add a new promo code to an e-commerce store under an existing promo rule. | `MAILCHIMP_ADD_PROMO_CODE` | | Delete promo code | Delete a promo code from an e-commerce store. | `MAILCHIMP_DELETE_PROMO_CODE` | | Get promo code | Retrieve detailed information about a specific promo code. | `MAILCHIMP_GET_PROMO_CODE` | | List promo codes | Get information about a store's promo codes. | `MAILCHIMP_LIST_PROMO_CODES` | | Update promo code | Update a promo code. | `MAILCHIMP_UPDATE_PROMO_CODE` | | Action | What it does | Slug | | - | - | - | | Add contact to audience | Create a new omni-channel contact in a Mailchimp audience. | `MAILCHIMP_ADD_CONTACT_TO_AUDIENCE` | | Archive contact | Archive a contact in a Mailchimp audience. | `MAILCHIMP_ARCHIVE_CONTACT` | | Forget contact | Forget a contact and remove their personally identifiable information (PII). | `MAILCHIMP_FORGET_CONTACT` | | Get audiences contacts | Get a list of omni-channel contacts for a given audience. | `MAILCHIMP_GET_AUDIENCES_CONTACTS` | | Get audiences contacts detail | Retrieve a specific omni-channel contact from a Mailchimp audience by their ID or channel hash. | `MAILCHIMP_GET_AUDIENCES_CONTACTS_DETAIL` | | Update audiences contacts | Update an existing omni-channel contact in a Mailchimp audience. | `MAILCHIMP_UPDATE_AUDIENCES_CONTACTS` | | Action | What it does | Slug | | - | - | - | | Get campaign content | Get the HTML and plain-text content for a campaign. | `MAILCHIMP_GET_CAMPAIGN_CONTENT` | | Get landing page content | Get the HTML content for a specific Mailchimp landing page by its unique page ID. | `MAILCHIMP_GET_LANDING_PAGE_CONTENT` | | Retrieve folder contents | Get a list of available images and files stored in this folder. | `MAILCHIMP_RETRIEVE_FOLDER_CONTENTS` | | Set campaign content | Set the content for a campaign. | `MAILCHIMP_SET_CAMPAIGN_CONTENT` | | View default content | Get the sections that you can edit in a template, including each section's default content. | `MAILCHIMP_VIEW_DEFAULT_CONTENT` | | Action | What it does | Slug | | - | - | - | | Get conversation | API endpoint for Conversations is deprecated, replaced by Inbox. | `MAILCHIMP_GET_CONVERSATION` | | List conversations | List of conversations for an account is available via an endpoint, but it's deprecated in favor of Inbox. | `MAILCHIMP_LIST_CONVERSATIONS` | | Action | What it does | Slug | | - | - | - | | Add or update customer | Add or update a customer in a Mailchimp e-commerce store. | `MAILCHIMP_ADD_OR_UPDATE_CUSTOMER` | | Customer journeys API trigger for a contact | Trigger a Customer Journey step for a specific contact via the Mailchimp API. | `MAILCHIMP_CUSTOMER_JOURNEYS_API_TRIGGER_FOR_A_CONTACT` | | Delete customer | Delete a customer from an e-commerce store. | `MAILCHIMP_DELETE_CUSTOMER` | | Get customer info | Get information about a specific customer. | `MAILCHIMP_GET_CUSTOMER_INFO` | | List customers | Get information about a store's customers. | `MAILCHIMP_LIST_CUSTOMERS` | | Update customer | Update an e-commerce customer's information in a Mailchimp store. | `MAILCHIMP_UPDATE_CUSTOMER` | | Action | What it does | Slug | | - | - | - | | Add domain to account | Add a sending domain to the Mailchimp account for email verification. | `MAILCHIMP_ADD_DOMAIN_TO_ACCOUNT` | | Delete domain | Delete a sending domain from the Mailchimp account's verified domains. | `MAILCHIMP_DELETE_DOMAIN` | | Get domain info | Get the details for a single verified domain on the Mailchimp account. | `MAILCHIMP_GET_DOMAIN_INFO` | | List sending domains | Get all of the sending domains on the account. | `MAILCHIMP_LIST_SENDING_DOMAINS` | | Verify domain | Complete domain verification by submitting the verification code. | `MAILCHIMP_VERIFY_DOMAIN` | | Action | What it does | Slug | | - | - | - | | Delete workflow email | Permanently delete an email from a classic automation workflow. | `MAILCHIMP_DELETE_WORKFLOW_EMAIL` | | Get workflow email info | Get information about an individual classic automation workflow email. | `MAILCHIMP_GET_WORKFLOW_EMAIL_INFO` | | List automated emails | Get a summary of the emails in a classic automation workflow. | `MAILCHIMP_LIST_AUTOMATED_EMAILS` | | Pause automated email | Pause a specific automated email within a classic automation workflow. | `MAILCHIMP_PAUSE_AUTOMATED_EMAIL` | | Pause automation emails | Pause all emails in a specific classic automation workflow. | `MAILCHIMP_PAUSE_AUTOMATION_EMAILS` | | Send test email | Send a test email for a campaign to preview it before sending to your audience. | `MAILCHIMP_SEND_TEST_EMAIL` | | Start automated email | Start a specific automated email within an Automation workflow. | `MAILCHIMP_START_AUTOMATED_EMAIL` | | Start automation emails | Start all emails in a classic automation workflow. | `MAILCHIMP_START_AUTOMATION_EMAILS` | | Update workflow email | Update settings for a classic automation workflow email. | `MAILCHIMP_UPDATE_WORKFLOW_EMAIL` | | Action | What it does | Slug | | - | - | - | | Add event | Add an event for a list member. | `MAILCHIMP_ADD_EVENT` | | List member events | Get events for a contact. | `MAILCHIMP_LIST_MEMBER_EVENTS` | | List member goal events | Get the last 50 Goal events for a member on a specific list. | `MAILCHIMP_LIST_MEMBER_GOAL_EVENTS` | | Action | What it does | Slug | | - | - | - | | Add export | Create a new account export in your Mailchimp account. | `MAILCHIMP_ADD_EXPORT` | | Get account export info | Get detailed information about a specific Mailchimp account export. | `MAILCHIMP_GET_ACCOUNT_EXPORT_INFO` | | List account exports | Get a list of account exports for a given account. | `MAILCHIMP_LIST_ACCOUNT_EXPORTS` | | Action | What it does | Slug | | - | - | - | | Add merge field | Add a new merge field for a specific audience. | `MAILCHIMP_ADD_MERGE_FIELD` | | Delete merge field | Delete a specific merge field (audience field) from a Mailchimp list/audience. | `MAILCHIMP_DELETE_MERGE_FIELD` | | Get merge field | Retrieve details about a specific merge field (custom audience field) for a Mailchimp list. | `MAILCHIMP_GET_MERGE_FIELD` | | List merge fields | Get a list of all merge fields for an audience. | `MAILCHIMP_LIST_MERGE_FIELDS` | | Update merge field | Update a specific merge field (audience field) for a Mailchimp list. | `MAILCHIMP_UPDATE_MERGE_FIELD` | | Action | What it does | Slug | | - | - | - | | Add file | Upload a new image or file to the Mailchimp File Manager. | `MAILCHIMP_ADD_FILE` | | Delete file | Permanently remove a file from the Mailchimp File Manager. | `MAILCHIMP_DELETE_FILE` | | Get file | Retrieve detailed information about a specific file in the Mailchimp File Manager. | `MAILCHIMP_GET_FILE` | | List stored files | Get a list of available images and files stored in the File Manager for the account. | `MAILCHIMP_LIST_STORED_FILES` | | Update file | Update an existing file's name or folder in the Mailchimp File Manager. | `MAILCHIMP_UPDATE_FILE` | | Action | What it does | Slug | | - | - | - | | Add campaign folder | Create a new campaign folder to organize email campaigns in Mailchimp. | `MAILCHIMP_ADD_CAMPAIGN_FOLDER` | | Add folder | Create a new folder in the File Manager to organize uploaded files. | `MAILCHIMP_ADD_FOLDER` | | Add template folder | Create a new template folder in Mailchimp. | `MAILCHIMP_ADD_TEMPLATE_FOLDER` | | Delete campaign folder | Delete a specific campaign folder from Mailchimp. | `MAILCHIMP_DELETE_CAMPAIGN_FOLDER` | | Delete folder | Delete a specific folder in the File Manager. | `MAILCHIMP_DELETE_FOLDER` | | Delete template folder | Permanently delete a template folder from your Mailchimp account. | `MAILCHIMP_DELETE_TEMPLATE_FOLDER` | | Get campaign folder | Get information about a specific folder used to organize campaigns in Mailchimp. | `MAILCHIMP_GET_CAMPAIGN_FOLDER` | | Get folder | Get information about a specific folder in the File Manager. | `MAILCHIMP_GET_FOLDER` | | Get template folder | Retrieve information about a specific template folder in Mailchimp. | `MAILCHIMP_GET_TEMPLATE_FOLDER` | | List campaign folders | Get all folders used to organize campaigns. | `MAILCHIMP_LIST_CAMPAIGN_FOLDERS` | | List folders | Get a list of all folders in the File Manager. | `MAILCHIMP_LIST_FOLDERS` | | List template folders | Retrieve all template folders from the Mailchimp account. | `MAILCHIMP_LIST_TEMPLATE_FOLDERS` | | Update campaign folder | Update the name of a campaign folder in Mailchimp. | `MAILCHIMP_UPDATE_CAMPAIGN_FOLDER` | | Update folder | Update the name of a File Manager folder in Mailchimp. | `MAILCHIMP_UPDATE_FOLDER` | | Update template folder | Update the name of an existing template folder in Mailchimp. | `MAILCHIMP_UPDATE_TEMPLATE_FOLDER` | | Action | What it does | Slug | | - | - | - | | Customize signup form | Customize the appearance and content of a Mailchimp list's signup form. | `MAILCHIMP_CUSTOMIZE_SIGNUP_FORM` | | List signup forms | Get signup forms for a specific list. | `MAILCHIMP_LIST_SIGNUP_FORMS` | | Action | What it does | Slug | | - | - | - | | Get growth history by month | Retrieves detailed growth statistics for a Mailchimp audience/list for a specific month. | `MAILCHIMP_GET_GROWTH_HISTORY_BY_MONTH` | | List growth history data | Get a month-by-month summary of a specific list's growth activity. | `MAILCHIMP_LIST_GROWTH_HISTORY_DATA` | | Action | What it does | Slug | | - | - | - | | Add product image | Add a new image to a product in a Mailchimp e-commerce store. | `MAILCHIMP_ADD_PRODUCT_IMAGE` | | Delete product image | Delete a product image from a Mailchimp e-commerce store. | `MAILCHIMP_DELETE_PRODUCT_IMAGE` | | Get product image info | Retrieve detailed information about a specific product image in a Mailchimp e-commerce store. | `MAILCHIMP_GET_PRODUCT_IMAGE_INFO` | | List product images | Get information about a product's images. | `MAILCHIMP_LIST_PRODUCT_IMAGES` | | Update product image | Update a product image in a Mailchimp e-commerce store. | `MAILCHIMP_UPDATE_PRODUCT_IMAGE` | | Action | What it does | Slug | | - | - | - | | Add interest in category | Create a new interest or 'group name' for a specific category. | `MAILCHIMP_ADD_INTEREST_IN_CATEGORY` | | Delete interest in category | Delete a specific interest (group name) from an interest category within a Mailchimp list. | `MAILCHIMP_DELETE_INTEREST_IN_CATEGORY` | | Get interest in category | Retrieve details of a specific interest (group) within an interest category for a Mailchimp list. | `MAILCHIMP_GET_INTEREST_IN_CATEGORY` | | List interests in category | Get a list of this category's interests. | `MAILCHIMP_LIST_INTERESTS_IN_CATEGORY` | | Update interest in category | Update an interest (group name) within an interest category on a Mailchimp list. | `MAILCHIMP_UPDATE_INTEREST_IN_CATEGORY` | | Action | What it does | Slug | | - | - | - | | Add landing page | Create a new Mailchimp landing page. | `MAILCHIMP_ADD_LANDING_PAGE` | | Delete landing page | Permanently delete a Mailchimp landing page. | `MAILCHIMP_DELETE_LANDING_PAGE` | | Get landing page info | Retrieve detailed information about a specific Mailchimp landing page including its name, title, status, tracking settings, and associated list. | `MAILCHIMP_GET_LANDING_PAGE_INFO` | | List landing pages | Get all landing pages. | `MAILCHIMP_LIST_LANDING_PAGES` | | Publish landing page | Publish a Mailchimp landing page to make it live and accessible to visitors. | `MAILCHIMP_PUBLISH_LANDING_PAGE` | | Unpublish landing page | Unpublish a Mailchimp landing page. | `MAILCHIMP_UNPUBLISH_LANDING_PAGE` | | Update landing page | Update a landing page. | `MAILCHIMP_UPDATE_LANDING_PAGE` | | Action | What it does | Slug | | - | - | - | | Add cart line item | Add a new line item to an existing cart. | `MAILCHIMP_ADD_CART_LINE_ITEM` | | Add order line item | Add a new line item to an existing order in a Mailchimp e-commerce store. | `MAILCHIMP_ADD_ORDER_LINE_ITEM` | | Delete cart line item | Delete a specific line item from a cart in a Mailchimp e-commerce store. | `MAILCHIMP_DELETE_CART_LINE_ITEM` | | Delete order line item | Delete a specific line item from an order in a Mailchimp e-commerce store. | `MAILCHIMP_DELETE_ORDER_LINE_ITEM` | | Get cart line item | Retrieve detailed information about a specific line item in a shopping cart. | `MAILCHIMP_GET_CART_LINE_ITEM` | | Get order line item | Get information about a specific order line item. | `MAILCHIMP_GET_ORDER_LINE_ITEM` | | List cart line items | Retrieve all line items in a shopping cart. | `MAILCHIMP_LIST_CART_LINE_ITEMS` | | List order line items | Get information about an order's line items. | `MAILCHIMP_LIST_ORDER_LINE_ITEMS` | | Update cart line item | Update a specific cart line item in a Mailchimp e-commerce store. | `MAILCHIMP_UPDATE_CART_LINE_ITEM` | | Update order line item | Update a specific order line item. | `MAILCHIMP_UPDATE_ORDER_LINE_ITEM` | | Action | What it does | Slug | | - | - | - | | Get campaign link details | Get click details for a specific link in a campaign. | `MAILCHIMP_GET_CAMPAIGN_LINK_DETAILS` | | Action | What it does | Slug | | - | - | - | | Add list | Create a new audience (list) in your Mailchimp account. | `MAILCHIMP_ADD_LIST` | | Delete list | Permanently delete a list (audience) from your Mailchimp account. | `MAILCHIMP_DELETE_LIST` | | Get information about all surveys for a list | Get information about all available surveys for a specific list. | `MAILCHIMP_GET_INFORMATION_ABOUT_ALL_SURVEYS_FOR_A_LIST` | | Get list info | Get information about a specific list in your Mailchimp account. | `MAILCHIMP_GET_LIST_INFO` | | Get lists info | Get information about all lists in the account. | `MAILCHIMP_GET_LISTS_INFO` | | Search for tags on a list by name | If no name is provided, will return all tags on the list. | `MAILCHIMP_SEARCH_FOR_TAGS_ON_A_LIST_BY_NAME` | | Update lists | Update settings for a Mailchimp audience (list). | `MAILCHIMP_UPDATE_LISTS` | | Action | What it does | Slug | | - | - | - | | List locations | Get the locations (countries) that the list's subscribers have been tagged to based on geocoding their IP address. | `MAILCHIMP_LIST_LOCATIONS` | | Action | What it does | Slug | | - | - | - | | Add member to segment | Add an existing list member to a static segment (tag) in Mailchimp. | `MAILCHIMP_ADD_MEMBER_TO_SEGMENT` | | Add or update list member | Add or update a list member (subscriber) in a Mailchimp audience/list. | `MAILCHIMP_ADD_OR_UPDATE_LIST_MEMBER` | | Archive list member | Archive (soft delete) a list member from a Mailchimp audience. | `MAILCHIMP_ARCHIVE_LIST_MEMBER` | | Batch add or remove members | Batch add or remove list members from a static segment in Mailchimp. | `MAILCHIMP_BATCH_ADD_OR_REMOVE_MEMBERS` | | Delete list member | Permanently delete a list member and all their personally identifiable information (PII). | `MAILCHIMP_DELETE_LIST_MEMBER` | | Get member info | Get information about a specific list member, including a currently subscribed, unsubscribed, or bounced member. | `MAILCHIMP_GET_MEMBER_INFO` | | Get unsubscribed member | Get detailed information about a specific list member who unsubscribed from a campaign. | `MAILCHIMP_GET_UNSUBSCRIBED_MEMBER` | | List members in segment | Get information about members in a saved segment. | `MAILCHIMP_LIST_MEMBERS_IN_SEGMENT` | | List members info | Get information about members in a specific Mailchimp list. | `MAILCHIMP_LIST_MEMBERS_INFO` | | List unsubscribed members | Get information about members who have unsubscribed from a specific campaign. | `MAILCHIMP_LIST_UNSUBSCRIBED_MEMBERS` | | Remove list member from segment | Remove a member from a static segment in a Mailchimp list/audience. | `MAILCHIMP_REMOVE_LIST_MEMBER_FROM_SEGMENT` | | Search members | Search for list members. | `MAILCHIMP_SEARCH_MEMBERS` | | Update list member | Update information for a specific list member. | `MAILCHIMP_UPDATE_LIST_MEMBER` | | Action | What it does | Slug | | - | - | - | | Delete campaign feedback message | Remove a specific feedback message for a campaign. | `MAILCHIMP_DELETE_CAMPAIGN_FEEDBACK_MESSAGE` | | Get campaign feedback message | Get a specific feedback message from a campaign. | `MAILCHIMP_GET_CAMPAIGN_FEEDBACK_MESSAGE` | | Get message | The conversation endpoint is outdated and replaced by Inbox, which isn't supported by it. | `MAILCHIMP_GET_MESSAGE` | | List messages | List all messages from a specific conversation in Mailchimp. | `MAILCHIMP_LIST_MESSAGES` | | Update campaign feedback message | Update a specific feedback message for a campaign. | `MAILCHIMP_UPDATE_CAMPAIGN_FEEDBACK_MESSAGE` | | Action | What it does | Slug | | - | - | - | | Add member note | Add a new note for a specific subscriber in a Mailchimp list (audience). | `MAILCHIMP_ADD_MEMBER_NOTE` | | Delete note | Delete a specific note for a list member in Mailchimp. | `MAILCHIMP_DELETE_NOTE` | | Get member note | Retrieve a specific note attached to a list member in Mailchimp. | `MAILCHIMP_GET_MEMBER_NOTE` | | List recent member notes | Get recent notes for a specific list member. | `MAILCHIMP_LIST_RECENT_MEMBER_NOTES` | | Update note | Update a specific note for a specific list member. | `MAILCHIMP_UPDATE_NOTE` | | Action | What it does | Slug | | - | - | - | | Delete order | Permanently delete an order from a Mailchimp e-commerce store. | `MAILCHIMP_DELETE_ORDER` | | Get order info | Get information about a specific order. | `MAILCHIMP_GET_ORDER_INFO` | | List account orders | Get information about an account's orders. | `MAILCHIMP_LIST_ACCOUNT_ORDERS` | | List orders | Get information about a store's orders. | `MAILCHIMP_LIST_ORDERS` | | Update order | Update a specific order. | `MAILCHIMP_UPDATE_ORDER` | | Upsert ecommerce stores orders | Add or update an e-commerce order in a Mailchimp store. | `MAILCHIMP_UPSERT_ECOMMERCE_STORES_ORDERS` | | Action | What it does | Slug | | - | - | - | | Add or update product variant | Add a new product variant or update an existing one in a Mailchimp e-commerce store. | `MAILCHIMP_ADD_OR_UPDATE_PRODUCT_VARIANT` | | Add product | Add a new product to a Mailchimp e-commerce store. | `MAILCHIMP_ADD_PRODUCT` | | Delete product | Permanently delete a product from a Mailchimp e-commerce store. | `MAILCHIMP_DELETE_PRODUCT` | | Delete product variant | Delete a specific product variant from a Mailchimp e-commerce store. | `MAILCHIMP_DELETE_PRODUCT_VARIANT` | | Get product info | Get information about a specific product. | `MAILCHIMP_GET_PRODUCT_INFO` | | Get product variant info | Retrieve detailed information about a specific product variant from a Mailchimp e-commerce store. | `MAILCHIMP_GET_PRODUCT_VARIANT_INFO` | | List product | Get information about a store's products. | `MAILCHIMP_LIST_PRODUCT` | | List product variants | List all variants for a specific product in a Mailchimp e-commerce store. | `MAILCHIMP_LIST_PRODUCT_VARIANTS` | | Update product | Update a specific product. | `MAILCHIMP_UPDATE_PRODUCT` | | Update product variant | Update a product variant. | `MAILCHIMP_UPDATE_PRODUCT_VARIANT` | | Upsert ecommerce stores products | Create or update a product in a Mailchimp e-commerce store. | `MAILCHIMP_UPSERT_ECOMMERCE_STORES_PRODUCTS` | | Action | What it does | Slug | | - | - | - | | Campaign abuse report details | Get detailed information about a specific abuse report for a campaign. | `MAILCHIMP_CAMPAIGN_ABUSE_REPORT_DETAILS` | | Campaign statistics feedback | Get feedback based on a campaign's statistics. | `MAILCHIMP_CAMPAIGN_STATISTICS_FEEDBACK` | | Get abuse report | Get details about a specific abuse report. | `MAILCHIMP_GET_ABUSE_REPORT` | | Get campaign report | Retrieve detailed performance report for a Mailchimp campaign. | `MAILCHIMP_GET_CAMPAIGN_REPORT` | | Get Facebook ad report | Retrieve detailed performance report for a specific Facebook ad campaign. | `MAILCHIMP_GET_FACEBOOK_AD_REPORT` | | Get landing page report | Get analytics report for a specific landing page. | `MAILCHIMP_GET_LANDING_PAGE_REPORT` | | Get survey question report | Retrieves detailed reporting data for a specific question in a survey. | `MAILCHIMP_GET_SURVEY_QUESTION_REPORT` | | Get survey report | Retrieves detailed reporting data for a specific survey. | `MAILCHIMP_GET_SURVEY_REPORT` | | List abuse reports | Get all abuse reports for a specific list. | `MAILCHIMP_LIST_ABUSE_REPORTS` | | List campaign reports | Retrieve analytics reports for sent email campaigns. | `MAILCHIMP_LIST_CAMPAIGN_REPORTS` | | List child campaign reports | Get a list of child campaign reports for a specific parent campaign. | `MAILCHIMP_LIST_CHILD_CAMPAIGN_REPORTS` | | List domain performance stats | Get statistics for the top-performing email domains in a campaign. | `MAILCHIMP_LIST_DOMAIN_PERFORMANCE_STATS` | | List Facebook ads reports | Get reports of Facebook ads. | `MAILCHIMP_LIST_FACEBOOK_ADS_REPORTS` | | List Facebook ecommerce report | Get breakdown of product activity for a Facebook ad outreach. | `MAILCHIMP_LIST_FACEBOOK_ECOMMERCE_REPORT` | | List landing pages reports | Get performance reports for landing pages. | `MAILCHIMP_LIST_LANDING_PAGES_REPORTS` | | List survey question reports | Get reports for all questions in a specific survey. | `MAILCHIMP_LIST_SURVEY_QUESTION_REPORTS` | | List survey reports | Get reports for surveys. | `MAILCHIMP_LIST_SURVEY_REPORTS` | | Action | What it does | Slug | | - | - | - | | List API root resources | Get Mailchimp account details and links to all available API resources. | `MAILCHIMP_LIST_API_ROOT_RESOURCES` | | Action | What it does | Slug | | - | - | - | | Get survey response | Retrieve a single survey response by its ID. | `MAILCHIMP_GET_SURVEY_RESPONSE` | | List survey responses | Retrieve all responses submitted to a survey. | `MAILCHIMP_LIST_SURVEY_RESPONSES` | | Action | What it does | Slug | | - | - | - | | Add promo rule | Add a new promo rule to a store. | `MAILCHIMP_ADD_PROMO_RULE` | | Delete promo rule | Permanently delete a promo rule from a Mailchimp e-commerce store. | `MAILCHIMP_DELETE_PROMO_RULE` | | Get promo rule | Get information about a specific promo rule. | `MAILCHIMP_GET_PROMO_RULE` | | List promo rules | Get information about a store's promo rules. | `MAILCHIMP_LIST_PROMO_RULES` | | Update promo rule | Update an existing promo rule for an e-commerce store. | `MAILCHIMP_UPDATE_PROMO_RULE` | | Action | What it does | Slug | | - | - | - | | Add segment | Create a new segment in a specific Mailchimp list/audience. | `MAILCHIMP_ADD_SEGMENT` | | Delete segment | Permanently delete a segment from a Mailchimp list (audience). | `MAILCHIMP_DELETE_SEGMENT` | | Get segment info | Get information about a specific segment. | `MAILCHIMP_GET_SEGMENT_INFO` | | List segments | Get information about all available segments for a specific list. | `MAILCHIMP_LIST_SEGMENTS` | | Update lists segments | Update a specific segment in a list. | `MAILCHIMP_UPDATE_LISTS_SEGMENTS` | | Action | What it does | Slug | | - | - | - | | Update campaign settings | Update some or all of the settings for a specific campaign. | `MAILCHIMP_UPDATE_CAMPAIGN_SETTINGS` | | Action | What it does | Slug | | - | - | - | | Add connected site | Create a new Mailchimp connected site. | `MAILCHIMP_ADD_CONNECTED_SITE` | | Delete connected site | Remove a connected site from your Mailchimp account. | `MAILCHIMP_DELETE_CONNECTED_SITE` | | Get connected site | Retrieve information about a specific connected site in your Mailchimp account. | `MAILCHIMP_GET_CONNECTED_SITE` | | List connected sites | Get all connected sites in an account. | `MAILCHIMP_LIST_CONNECTED_SITES` | | Verify connected site script | Verify that the Mailchimp connected site tracking script has been installed on the website. | `MAILCHIMP_VERIFY_CONNECTED_SITE_SCRIPT` | | Action | What it does | Slug | | - | - | - | | Add store | Add a new store to your Mailchimp account. | `MAILCHIMP_ADD_STORE` | | Delete store | Delete an e-commerce store from your Mailchimp account. | `MAILCHIMP_DELETE_STORE` | | Get store info | Get information about a specific store. | `MAILCHIMP_GET_STORE_INFO` | | List stores | Get information about all stores in the account. | `MAILCHIMP_LIST_STORES` | | Update store | Update a store. | `MAILCHIMP_UPDATE_STORE` | | Action | What it does | Slug | | - | - | - | | Add subscriber to workflow email | Manually add a subscriber to a classic automation workflow email queue, bypassing the default trigger settings. | `MAILCHIMP_ADD_SUBSCRIBER_TO_WORKFLOW_EMAIL` | | Get automated email subscriber | Get information about a specific subscriber in a classic automation email queue. | `MAILCHIMP_GET_AUTOMATED_EMAIL_SUBSCRIBER` | | Get clicked link subscriber | Get detailed information about a specific subscriber who clicked a link in a campaign. | `MAILCHIMP_GET_CLICKED_LINK_SUBSCRIBER` | | Get opened campaign subscriber | Get information about a specific subscriber who opened a campaign. | `MAILCHIMP_GET_OPENED_CAMPAIGN_SUBSCRIBER` | | Get subscriber removed from workflow | Get information about a specific subscriber who was removed from a classic automation workflow. | `MAILCHIMP_GET_SUBSCRIBER_REMOVED_FROM_WORKFLOW` | | List automated email subscribers | Get information about a classic automation email queue. | `MAILCHIMP_LIST_AUTOMATED_EMAIL_SUBSCRIBERS` | | List clicked link subscribers | Get information about list members who clicked on a specific link in a campaign. | `MAILCHIMP_LIST_CLICKED_LINK_SUBSCRIBERS` | | List subscribers removed from workflow | Get information about subscribers who were removed from a classic automation workflow. | `MAILCHIMP_LIST_SUBSCRIBERS_REMOVED_FROM_WORKFLOW` | | Remove subscriber from workflow | Remove a subscriber from a classic automation workflow at any point in the sequence. | `MAILCHIMP_REMOVE_SUBSCRIBER_FROM_WORKFLOW` | | Action | What it does | Slug | | - | - | - | | Get survey | Retrieves detailed information about a specific survey associated with a Mailchimp audience (list). | `MAILCHIMP_GET_SURVEY` | | Publish a survey | Publishes a survey that is in draft, unpublished, or has been previously published and edited. | `MAILCHIMP_PUBLISH_A_SURVEY` | | Unpublish a survey | Unpublishes a survey that is currently published, making it unavailable for responses. | `MAILCHIMP_UNPUBLISH_A_SURVEY` | | Action | What it does | Slug | | - | - | - | | Add or remove member tags | Add or remove tags from a list member. | `MAILCHIMP_ADD_OR_REMOVE_MEMBER_TAGS` | | List member tags | Get the tags on a list member. | `MAILCHIMP_LIST_MEMBER_TAGS` | | Action | What it does | Slug | | - | - | - | | Add template | Create a new email template in the Mailchimp account. | `MAILCHIMP_ADD_TEMPLATE` | | Delete template | Permanently delete a user-created email template from your Mailchimp account. | `MAILCHIMP_DELETE_TEMPLATE` | | Get template info | Get information about a specific template. | `MAILCHIMP_GET_TEMPLATE_INFO` | | List templates | Get a list of an account's available templates. | `MAILCHIMP_LIST_TEMPLATES` | | Update template | Update the name, HTML, or folder\_id of an existing template. | `MAILCHIMP_UPDATE_TEMPLATE` | | Action | What it does | Slug | | - | - | - | | Add batch webhook | Configure a webhook that will fire whenever any batch request completes processing. | `MAILCHIMP_ADD_BATCH_WEBHOOK` | | Add webhook | Create a new webhook for a specific Mailchimp audience/list. | `MAILCHIMP_ADD_WEBHOOK` | | Delete batch webhook | Permanently delete a batch webhook by its ID. | `MAILCHIMP_DELETE_BATCH_WEBHOOK` | | Delete webhook | Delete a specific webhook from a Mailchimp audience/list. | `MAILCHIMP_DELETE_WEBHOOK` | | Get batch webhook info | Retrieve detailed information about a specific batch webhook by its ID. | `MAILCHIMP_GET_BATCH_WEBHOOK_INFO` | | Get webhook info | Get information about a specific webhook for a Mailchimp list (audience). | `MAILCHIMP_GET_WEBHOOK_INFO` | | List batch webhooks | Get all webhooks that have been configured for batches. | `MAILCHIMP_LIST_BATCH_WEBHOOKS` | | List webhooks | Get information about all webhooks for a specific list. | `MAILCHIMP_LIST_WEBHOOKS` | | Update batch webhook | Update a webhook that will fire whenever any batch request completes processing. | `MAILCHIMP_UPDATE_BATCH_WEBHOOK` | | Update webhook | Update the settings for an existing webhook in a Mailchimp list (audience). | `MAILCHIMP_UPDATE_WEBHOOK` | | Action | What it does | Slug | | - | - | - | | Batch subscribe or unsubscribe | Batch subscribe or unsubscribe list members. | `MAILCHIMP_BATCH_SUBSCRIBE_OR_UNSUBSCRIBE` | | Delete batch request | Stops a batch request from running. | `MAILCHIMP_DELETE_BATCH_REQUEST` | | Get batch operation status | Get the status of a batch operation. | `MAILCHIMP_GET_BATCH_OPERATION_STATUS` | | Get latest chimp chatter | Return the Chimp Chatter for this account ordered by most recent. | `MAILCHIMP_GET_LATEST_CHIMP_CHATTER` | | List batch requests | Get a summary of batch requests that have been made. | `MAILCHIMP_LIST_BATCH_REQUESTS` | | List Facebook ads | Get list of Facebook ads. | `MAILCHIMP_LIST_FACEBOOK_ADS` | | Ping | A health check for the API that won't return any account-specific information. | `MAILCHIMP_PING` | | Start batch operation | Begin processing a batch operations request. | `MAILCHIMP_START_BATCH_OPERATION` | ## Connect Mailchimp Before you start: * You need a Mailchimp account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Mailchimp** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, keep **Default**. It is the only option. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Mailchimp**. The Mailchimp sign-in page opens in a new tab. Sign in to Mailchimp and approve the request. Check that it works: Mailchimp shows under **Your connections**, with a row for the account and its access level. ## Set access for one teammate Every teammate can use the account unless you block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Mailchimp account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose **No access** to block the teammate. Choose **Default (Default)** to allow it again. 5. Click **Save access**. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Mailchimp account Click **+ Account** on the Mailchimp card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Mailchimp side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Mailchimp**. 3. Sign in to Mailchimp and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Mailchimp account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Mailchimp.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Mailchimp account becomes primary. ## Costs Mailchimp actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate says it has no access to Mailchimp, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Mailchimp connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions You cannot choose a narrower level for Mailchimp. You can block single teammates with **No access** under **Per-teammate access**. Click **+ Account** on the Mailchimp card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Mailchimp account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Mailchimp.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Microsoft Teams Source: https://squad.so/docs/apps/microsoft_teams What teammates can do in Microsoft Teams at each access level, and how to connect, limit, and disconnect Microsoft Teams. Connect Microsoft Teams so your teammates can work in your Microsoft Teams account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Microsoft Teams account has an access level: **Read-only**, **Read + send**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as chats, channel messages, meetings, transcripts, and shifts. Cannot change anything." | 79 of 174 | | **Read + send** | "Post and reply in chats and channels, start chats, and edit or delete your own messages. Cannot mark messages read, pin, or change members, channels, or teams." | 89 of 174 | | **Full access** (recommended) | "Everything, including read state, pins, members, channels, teams, meetings, calls, and shifts." | 174 of 174 | **Full access** is the recommended level. The connect window selects it for you, and you can choose another level. The Microsoft Teams sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Microsoft Teams account?" The teammate can search the Microsoft Teams actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Microsoft Teams action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 79 of the 174 Microsoft Teams actions at this level: * View and search messages * View channels * View members * View teams * View chats * View shifts * View content * View groups * View meetings * View notes * View replies * View tabs All 79 actions at this level: | Action | What it does | Slug | | - | - | - | | Who am I | | `MICROSOFT_TEAMS_WHO_AM_I` | | Action | What it does | Slug | | - | - | - | | Get teams app definition | Get an installed app in a Microsoft Teams team. | `MICROSOFT_TEAMS_GET_TEAMS_APP_DEFINITION` | | List installed apps | List apps installed in a Microsoft Teams team. | `MICROSOFT_TEAMS_LIST_INSTALLED_APPS` | | Action | What it does | Slug | | - | - | - | | Get call operation | Get a specific commsOperation for a call. | `MICROSOFT_TEAMS_GET_CALL_OPERATION` | | List communications calls operations | List operations on a Microsoft Teams call. | `MICROSOFT_TEAMS_LIST_COMMUNICATIONS_CALLS_OPERATIONS` | | Action | What it does | Slug | | - | - | - | | Get open shift change request | Retrieve a specific open shift change request from a Microsoft Teams team's schedule. | `MICROSOFT_TEAMS_GET_OPEN_SHIFT_CHANGE_REQUEST` | | Get swap shifts change request | Get a specific swap shift change request from a Microsoft Teams schedule. | `MICROSOFT_TEAMS_GET_SWAP_SHIFTS_CHANGE_REQUEST` | | List open shift change requests | List open shift change requests in a Microsoft Teams schedule. | `MICROSOFT_TEAMS_LIST_OPEN_SHIFT_CHANGE_REQUESTS` | | List swap shifts change requests | List swap shift change requests in a Microsoft Teams schedule. | `MICROSOFT_TEAMS_LIST_SWAP_SHIFTS_CHANGE_REQUESTS` | | Action | What it does | Slug | | - | - | - | | Get channel | Get a specific channel in a team. | `MICROSOFT_TEAMS_GET_CHANNEL` | | Get group team channel | DEPRECATED: Use MICROSOFT\_TEAMS\_GET\_CHANNEL instead. | `MICROSOFT_TEAMS_GET_GROUP_TEAM_CHANNEL` | | Get primary channel | Get the default (General) channel of a team. | `MICROSOFT_TEAMS_GET_PRIMARY_CHANNEL` | | List group team channels | DEPRECATED: Use MICROSOFT\_TEAMS\_LIST\_CHANNELS instead. | `MICROSOFT_TEAMS_LIST_GROUP_TEAM_CHANNELS` | | List incoming channels | List incoming channels shared with a Microsoft Teams team. | `MICROSOFT_TEAMS_LIST_INCOMING_CHANNELS` | | Teams list channels | Retrieves channels for a specified Microsoft Teams team ID (must be valid and for an existing team), with options to include shared channels, filter results, and select properties. | `MICROSOFT_TEAMS_TEAMS_LIST_CHANNELS` | | Action | What it does | Slug | | - | - | - | | Chats get all chats | Retrieves all Microsoft Teams chats a specified user is part of, supporting filtering, property selection, and pagination. | `MICROSOFT_TEAMS_CHATS_GET_ALL_CHATS` | | Get chat | Retrieve a single chat by ID. | `MICROSOFT_TEAMS_GET_CHAT` | | Get user chat | Retrieve a specific chat for a user. | `MICROSOFT_TEAMS_GET_USER_CHAT` | | List chat | DEPRECATED: Use MICROSOFT\_TEAMS\_CHATS\_GET\_ALL\_CHATS instead. | `MICROSOFT_TEAMS_LIST_CHAT` | | Action | What it does | Slug | | - | - | - | | Get meeting recording content | | `MICROSOFT_TEAMS_GET_MEETING_RECORDING_CONTENT` | | Get meeting transcript content | Retrieve the raw text/vtt content for a Microsoft Teams meeting transcript. | `MICROSOFT_TEAMS_GET_MEETING_TRANSCRIPT_CONTENT` | | Action | What it does | Slug | | - | - | - | | Search files | Search files in Microsoft Teams using KQL syntax. | `MICROSOFT_TEAMS_SEARCH_FILES` | | Action | What it does | Slug | | - | - | - | | Get files folder | Get the files folder (DriveItem) metadata for a specific channel in a Microsoft Teams team. | `MICROSOFT_TEAMS_GET_FILES_FOLDER` | | Action | What it does | Slug | | - | - | - | | Get scheduling group | Retrieve a specific scheduling group from a Microsoft Teams team's schedule. | `MICROSOFT_TEAMS_GET_SCHEDULING_GROUP` | | List scheduling groups | List scheduling groups in a team's schedule. | `MICROSOFT_TEAMS_LIST_SCHEDULING_GROUPS` | | Action | What it does | Slug | | - | - | - | | Get online meeting | Retrieve details of a specific Microsoft Teams online meeting by its ID. | `MICROSOFT_TEAMS_GET_ONLINE_MEETING` | | List online meetings | Look up a Microsoft Teams online meeting for a user by identifier. | `MICROSOFT_TEAMS_LIST_ONLINE_MEETINGS` | | Action | What it does | Slug | | - | - | - | | Get chat member | Get a specific conversation member from a Microsoft Teams chat. | `MICROSOFT_TEAMS_GET_CHAT_MEMBER` | | Get team member | Get a specific conversation member from a team. | `MICROSOFT_TEAMS_GET_TEAM_MEMBER` | | List chat members | DEPRECATED: Use MICROSOFT\_TEAMS\_USERS\_CHATS\_LIST\_MEMBERS instead. | `MICROSOFT_TEAMS_LIST_CHAT_MEMBERS` | | List team members | List members of a Microsoft Teams team. | `MICROSOFT_TEAMS_LIST_TEAM_MEMBERS` | | List user chat members | List members of a specific chat for a user in Microsoft Teams. | `MICROSOFT_TEAMS_LIST_USER_CHAT_MEMBERS` | | Action | What it does | Slug | | - | - | - | | Chats get all messages | DEPRECATED: Use ListUserChatMessages instead. | `MICROSOFT_TEAMS_CHATS_GET_ALL_MESSAGES` | | Get channel message | Retrieves a specific message from a Microsoft Teams channel using its Team, Channel, and Message IDs. | `MICROSOFT_TEAMS_GET_CHANNEL_MESSAGE` | | Get chat last message preview | DEPRECATED: Use MICROSOFT\_TEAMS\_GET\_CHAT instead. | `MICROSOFT_TEAMS_GET_CHAT_LAST_MESSAGE_PREVIEW` | | Get chat message | Get a specific chat message. | `MICROSOFT_TEAMS_GET_CHAT_MESSAGE` | | List messages to self | | `MICROSOFT_TEAMS_LIST_MESSAGES_TO_SELF` | | List pinned messages | Retrieve the list of pinned messages in a Microsoft Teams chat. | `MICROSOFT_TEAMS_LIST_PINNED_MESSAGES` | | List user chat messages | Retrieve messages from a specific chat for a given user. | `MICROSOFT_TEAMS_LIST_USER_CHAT_MESSAGES` | | Search messages | Search Microsoft Teams messages using powerful KQL syntax. | `MICROSOFT_TEAMS_SEARCH_MESSAGES` | | Teams list channel messages | List messages in a Teams channel when team\_id and channel\_id are known (no chat\_id required). | `MICROSOFT_TEAMS_TEAMS_LIST_CHANNEL_MESSAGES` | | Teams list chat messages | DEPRECATED: Use ListUserChatMessages instead. | `MICROSOFT_TEAMS_TEAMS_LIST_CHAT_MESSAGES` | | Action | What it does | Slug | | - | - | - | | Get day note | Retrieve a specific day note from a team's schedule. | `MICROSOFT_TEAMS_GET_DAY_NOTE` | | List schedule day notes | List all dayNotes from a team's schedule. | `MICROSOFT_TEAMS_LIST_SCHEDULE_DAY_NOTES` | | Action | What it does | Slug | | - | - | - | | List people | Retrieves a list of people relevant to a specified user from Microsoft Graph, noting the search parameter is only effective if user\_id is 'me'. | `MICROSOFT_TEAMS_LIST_PEOPLE` | | Action | What it does | Slug | | - | - | - | | Get presence | Get a specific user's presence information. | `MICROSOFT_TEAMS_GET_PRESENCE` | | Action | What it does | Slug | | - | - | - | | Get my profile | Retrieve a user's profile (id/UPN/mail/displayName). | `MICROSOFT_TEAMS_GET_MY_PROFILE` | | Action | What it does | Slug | | - | - | - | | List meeting recordings | | `MICROSOFT_TEAMS_LIST_MEETING_RECORDINGS` | | Action | What it does | Slug | | - | - | - | | Get channel message reply | Retrieve a single reply to a message in a channel. | `MICROSOFT_TEAMS_GET_CHANNEL_MESSAGE_REPLY` | | List message replies | List all replies to a specific message in a Microsoft Teams channel. | `MICROSOFT_TEAMS_LIST_MESSAGE_REPLIES` | | Action | What it does | Slug | | - | - | - | | List team permission grants | List all resource-specific permission grants for a team with support for filtering, pagination, and sorting. | `MICROSOFT_TEAMS_LIST_TEAM_PERMISSION_GRANTS` | | Action | What it does | Slug | | - | - | - | | Get schedule | Retrieve the properties and relationships of a schedule object. | `MICROSOFT_TEAMS_GET_SCHEDULE` | | Action | What it does | Slug | | - | - | - | | Get offer shift request | Get a specific offer shift request from a Microsoft Teams schedule. | `MICROSOFT_TEAMS_GET_OFFER_SHIFT_REQUEST` | | Get open shift | Get a specific open shift from a Microsoft Teams schedule. | `MICROSOFT_TEAMS_GET_OPEN_SHIFT` | | Get shift | Retrieve a shift by ID from a Microsoft Teams team schedule. | `MICROSOFT_TEAMS_GET_SHIFT` | | List offer shift requests | List offer shift requests in a Microsoft Teams schedule. | `MICROSOFT_TEAMS_LIST_OFFER_SHIFT_REQUESTS` | | List open shifts | List open shifts in a Microsoft Teams schedule. | `MICROSOFT_TEAMS_LIST_OPEN_SHIFTS` | | List shifts | List shifts in a Microsoft Teams schedule. | `MICROSOFT_TEAMS_LIST_SHIFTS` | | Action | What it does | Slug | | - | - | - | | Get tab | Get a specific tab in a Microsoft Teams channel. | `MICROSOFT_TEAMS_GET_TAB` | | List channel tabs | List tabs from a Microsoft Teams channel. | `MICROSOFT_TEAMS_LIST_CHANNEL_TABS` | | Action | What it does | Slug | | - | - | - | | Get team from group | Get a specific team. | `MICROSOFT_TEAMS_GET_TEAM_FROM_GROUP` | | Get team operation | Retrieve the status of a Teams async operation using teamId and operationId. | `MICROSOFT_TEAMS_GET_TEAM_OPERATION` | | List associated teams | List teams that a user is associated with in Microsoft Teams. | `MICROSOFT_TEAMS_LIST_ASSOCIATED_TEAMS` | | List deleted teams | List deleted Microsoft Teams and their properties. | `MICROSOFT_TEAMS_LIST_DELETED_TEAMS` | | List group team operations | List operations on a group's team. | `MICROSOFT_TEAMS_LIST_GROUP_TEAM_OPERATIONS` | | List team operations | List operations from a team. | `MICROSOFT_TEAMS_LIST_TEAM_OPERATIONS` | | List user joined teams | List the Teams that a specified user is a direct member of (joined teams). | `MICROSOFT_TEAMS_LIST_USER_JOINED_TEAMS` | | Teams list | Retrieves Microsoft Teams accessible by the authenticated user, allowing filtering, property selection, and pagination. | `MICROSOFT_TEAMS_TEAMS_LIST` | | Action | What it does | Slug | | - | - | - | | Get team template | DEPRECATED: Use MICROSOFT\_TEAMS\_GET\_TEAM\_FROM\_GROUP with expand="template" instead. | `MICROSOFT_TEAMS_GET_TEAM_TEMPLATE` | | List team templates | List available Microsoft Teams templates. | `MICROSOFT_TEAMS_LIST_TEAM_TEMPLATES` | | Action | What it does | Slug | | - | - | - | | Get time off | Retrieve a specific time off entry from a Microsoft Teams team's schedule by ID. | `MICROSOFT_TEAMS_GET_TIME_OFF` | | Get time off reason | Get a specific time off reason from a team's schedule. | `MICROSOFT_TEAMS_GET_TIME_OFF_REASON` | | Get time off request | Retrieve a specific time off request from a team's schedule. | `MICROSOFT_TEAMS_GET_TIME_OFF_REQUEST` | | List time off | List time off entries from a Microsoft Teams team's schedule. | `MICROSOFT_TEAMS_LIST_TIME_OFF` | | List time off reasons | Get time off reasons from a team's schedule. | `MICROSOFT_TEAMS_LIST_TIME_OFF_REASONS` | | List time off requests | Retrieve a list of time off requests from a Microsoft Teams team's schedule. | `MICROSOFT_TEAMS_LIST_TIME_OFF_REQUESTS` | | Action | What it does | Slug | | - | - | - | | List meeting transcripts | List meeting transcripts for a Microsoft Teams online meeting. | `MICROSOFT_TEAMS_LIST_MEETING_TRANSCRIPTS` | | Action | What it does | Slug | | - | - | - | | Get user teamwork | Get userTeamwork settings for a specified user, including Microsoft Teams region and locale. | `MICROSOFT_TEAMS_GET_USER_TEAMWORK` | | List users | List all users in the organization. | `MICROSOFT_TEAMS_LIST_USERS` | Teammates can use 89 of the 174 Microsoft Teams actions at this level: everything in **Read-only**, plus: * Update, delete, and send messages * Send replies * Create chats * Send notifications The 10 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Chats** | Teams create chat | Creates a new chat. | `MICROSOFT_TEAMS_TEAMS_CREATE_CHAT` | | **Messages** | Delete soft message | Soft-delete a message in a Teams channel. | `MICROSOFT_TEAMS_DELETE_SOFT_MESSAGE` | | | Send message to self | | `MICROSOFT_TEAMS_SEND_MESSAGE_TO_SELF` | | | Teams post channel message | Posts a new top-level message to a channel in Microsoft Teams (does NOT reply to an existing message). | `MICROSOFT_TEAMS_TEAMS_POST_CHANNEL_MESSAGE` | | | Teams post chat message | Sends a non-empty message (text or HTML) to a specified, existing Microsoft Teams chat. | `MICROSOFT_TEAMS_TEAMS_POST_CHAT_MESSAGE` | | | Update channel message | Update a message in a channel. | `MICROSOFT_TEAMS_UPDATE_CHANNEL_MESSAGE` | | | Update chat message | Update a specific message in a chat. | `MICROSOFT_TEAMS_UPDATE_CHAT_MESSAGE` | | **Notifications** | Send activity notification | Send activity notifications to specified recipients in Microsoft Teams. | `MICROSOFT_TEAMS_SEND_ACTIVITY_NOTIFICATION` | | **Replies** | Post message reply | Sends a reply to an existing message, identified by message\_id, within a specific channel\_id of a given team\_id in Microsoft Teams. | `MICROSOFT_TEAMS_POST_MESSAGE_REPLY` | | | Teams post message reply | (DEPRECATED: use MICROSOFT\_TEAMS\_POST\_MESSAGE\_REPLY) Sends a reply to an existing message, identified by message\_id, within a specific channel\_id of a given team\_id in Microsoft Teams. | `MICROSOFT_TEAMS_TEAMS_POST_MESSAGE_REPLY` | Teammates can use 174 of the 174 Microsoft Teams actions at this level: everything in **Read + send**, plus: * Create, update, archive, and delete channels * Create, update, and delete members * Create, update, archive, and delete teams * Update and delete locations * Create, update, and delete shifts * Update and delete presence status * Create, update, and delete meetings * Update chats * Create, update, and delete groups * Create, update, and delete notes * Create, update, and delete tabs * Create, update, and delete time off The 85 actions that this level adds to **Read + send**: | Action | What it does | Slug | | - | - | - | | Create call operation | Create a new operation for a communications call. | `MICROSOFT_TEAMS_CREATE_CALL_OPERATION` | | Delete call operation | Delete a navigation property operation for a communications call. | `MICROSOFT_TEAMS_DELETE_CALL_OPERATION` | | Update call | Update the navigation property calls in Microsoft Teams communications. | `MICROSOFT_TEAMS_UPDATE_CALL` | | Update call operation | Update the navigation property operations in communications. | `MICROSOFT_TEAMS_UPDATE_CALL_OPERATION` | | Action | What it does | Slug | | - | - | - | | Create open shift change request | Create a new open shift change request in a team schedule. | `MICROSOFT_TEAMS_CREATE_OPEN_SHIFT_CHANGE_REQUEST` | | Action | What it does | Slug | | - | - | - | | Provision channel email | Provision an email address for a Microsoft Teams channel. | `MICROSOFT_TEAMS_PROVISION_CHANNEL_EMAIL` | | Remove channel email | Remove the email address of a channel in Microsoft Teams. | `MICROSOFT_TEAMS_REMOVE_CHANNEL_EMAIL` | | Action | What it does | Slug | | - | - | - | | Archive channel | Archive a channel in a Microsoft Teams team. | `MICROSOFT_TEAMS_ARCHIVE_CHANNEL` | | Archive group team channel | Archive a channel in a Microsoft Teams team using the group ID. | `MICROSOFT_TEAMS_ARCHIVE_GROUP_TEAM_CHANNEL` | | Create channel | Create a new standard, private, or shared channel within a Microsoft Teams team. | `MICROSOFT_TEAMS_CREATE_CHANNEL` | | Create group team channel | Create a new channel in a group's associated team. | `MICROSOFT_TEAMS_CREATE_GROUP_TEAM_CHANNEL` | | Delete channel | Delete a channel from a Microsoft Teams team. | `MICROSOFT_TEAMS_DELETE_CHANNEL` | | Teams create channel | (DEPRECATED: use MICROSOFT\_TEAMS\_CREATE\_CHANNEL) Tool to create a new standard, private, or shared channel within a Microsoft Teams team. | `MICROSOFT_TEAMS_TEAMS_CREATE_CHANNEL` | | Unarchive channel | Unarchive a channel in a Microsoft Teams team. | `MICROSOFT_TEAMS_UNARCHIVE_CHANNEL` | | Unarchive group team channel | Unarchive a channel in a Microsoft Teams group's team. | `MICROSOFT_TEAMS_UNARCHIVE_GROUP_TEAM_CHANNEL` | | Update channel | Update channel properties in a Microsoft Teams group. | `MICROSOFT_TEAMS_UPDATE_CHANNEL` | | Action | What it does | Slug | | - | - | - | | Hide chat for user | Hide a Microsoft Teams chat for a specific user. | `MICROSOFT_TEAMS_HIDE_CHAT_FOR_USER` | | Mark chat read for user | Mark a chat as read for a specific user in Microsoft Teams. | `MICROSOFT_TEAMS_MARK_CHAT_READ_FOR_USER` | | Mark chat unread for user | Marks a specific chat as unread for a user by setting the last read message timestamp. | `MICROSOFT_TEAMS_MARK_CHAT_UNREAD_FOR_USER` | | Unhide chat for user | Unhide a chat for a specific user. | `MICROSOFT_TEAMS_UNHIDE_CHAT_FOR_USER` | | Update chat | Update the properties of a chat. | `MICROSOFT_TEAMS_UPDATE_CHAT` | | Action | What it does | Slug | | - | - | - | | Create scheduling group | Create a new scheduling group in a team's schedule. | `MICROSOFT_TEAMS_CREATE_SCHEDULING_GROUP` | | Delete scheduling group | Delete a scheduling group from a Microsoft Teams team schedule. | `MICROSOFT_TEAMS_DELETE_SCHEDULING_GROUP` | | Update scheduling group | Replace/update a scheduling group in a team's schedule. | `MICROSOFT_TEAMS_UPDATE_SCHEDULING_GROUP` | | Action | What it does | Slug | | - | - | - | | Clear automatic location | Clear the automatic location from a user's presence in Microsoft Teams. | `MICROSOFT_TEAMS_CLEAR_AUTOMATIC_LOCATION` | | Clear presence automatic location | DEPRECATED: Use MICROSOFT\_TEAMS\_CLEAR\_AUTOMATIC\_LOCATION instead. | `MICROSOFT_TEAMS_CLEAR_PRESENCE_AUTOMATIC_LOCATION` | | Clear presence location | Clear the authenticated user's presence location. | `MICROSOFT_TEAMS_CLEAR_PRESENCE_LOCATION` | | Set presence automatic location | Set the automatic presence location (office/remote/timeOff) for a specified user. | `MICROSOFT_TEAMS_SET_PRESENCE_AUTOMATIC_LOCATION` | | Set presence manual location | DEPRECATED: Use MICROSOFT\_TEAMS\_SET\_USER\_PRESENCE\_MANUAL\_LOCATION instead. | `MICROSOFT_TEAMS_SET_PRESENCE_MANUAL_LOCATION` | | Set user presence manual location | Set the manual presence location (office/remote/timeOff) for a specific user. | `MICROSOFT_TEAMS_SET_USER_PRESENCE_MANUAL_LOCATION` | | Action | What it does | Slug | | - | - | - | | Create meeting | Use to schedule a new standalone Microsoft Teams online meeting, i.e., one not linked to any calendar event. | `MICROSOFT_TEAMS_CREATE_MEETING` | | Create or get online meeting | Create a new Microsoft Teams online meeting or retrieve an existing one based on externalId. | `MICROSOFT_TEAMS_CREATE_OR_GET_ONLINE_MEETING` | | Create user online meeting | Create a new Microsoft Teams online meeting for a specific user. | `MICROSOFT_TEAMS_CREATE_USER_ONLINE_MEETING` | | Delete user online meeting | Delete an online meeting for a user. | `MICROSOFT_TEAMS_DELETE_USER_ONLINE_MEETING` | | Update online meeting | Update the properties of an existing Microsoft Teams online meeting. | `MICROSOFT_TEAMS_UPDATE_ONLINE_MEETING` | | Action | What it does | Slug | | - | - | - | | Add chat member | Add a conversationMember to a Microsoft Teams chat. | `MICROSOFT_TEAMS_ADD_CHAT_MEMBER` | | Add member to channel | Add a member to a Microsoft Teams channel. | `MICROSOFT_TEAMS_ADD_MEMBER_TO_CHANNEL` | | Add member to team | (DEPRECATED: use MICROSOFT\_TEAMS\_ADD\_TEAM\_MEMBER) Tool to add a user to a Microsoft Teams team. | `MICROSOFT_TEAMS_ADD_MEMBER_TO_TEAM` | | Add team member | Add a user to a Microsoft Teams team. | `MICROSOFT_TEAMS_ADD_TEAM_MEMBER` | | Add team members bulk | Add multiple members to a Microsoft Teams team in a single operation. | `MICROSOFT_TEAMS_ADD_TEAM_MEMBERS_BULK` | | Remove chat member | Remove a member from a Microsoft Teams chat. | `MICROSOFT_TEAMS_REMOVE_CHAT_MEMBER` | | Remove team member | Remove a member from a Microsoft Teams team. | `MICROSOFT_TEAMS_REMOVE_TEAM_MEMBER` | | Remove team members | Remove multiple members from a Microsoft Teams team in bulk. | `MICROSOFT_TEAMS_REMOVE_TEAM_MEMBERS` | | Update team member | Update a team member's roles or properties in Microsoft Teams. | `MICROSOFT_TEAMS_UPDATE_TEAM_MEMBER` | | Action | What it does | Slug | | - | - | - | | Pin message | Pin a message in a Microsoft Teams chat. | `MICROSOFT_TEAMS_PIN_MESSAGE` | | Unpin message | Unpin a message from a Microsoft Teams chat. | `MICROSOFT_TEAMS_UNPIN_MESSAGE` | | Action | What it does | Slug | | - | - | - | | Create schedule day note | Create a new day note in a team's schedule. | `MICROSOFT_TEAMS_CREATE_SCHEDULE_DAY_NOTE` | | Delete day note | Delete a day note from a Microsoft Teams schedule. | `MICROSOFT_TEAMS_DELETE_DAY_NOTE` | | Update day note | Update an existing day note in a team's schedule. | `MICROSOFT_TEAMS_UPDATE_DAY_NOTE` | | Action | What it does | Slug | | - | - | - | | Update call participant | Update a participant in a Microsoft Teams call. | `MICROSOFT_TEAMS_UPDATE_CALL_PARTICIPANT` | | Action | What it does | Slug | | - | - | - | | Clear my presence | DEPRECATED: Use MICROSOFT\_TEAMS\_CLEAR\_PRESENCE instead. | `MICROSOFT_TEAMS_CLEAR_MY_PRESENCE` | | Clear presence | Clear the presence information for a user's application presence session in Microsoft Teams. | `MICROSOFT_TEAMS_CLEAR_PRESENCE` | | Set me preferred presence | DEPRECATED: Use MICROSOFT\_TEAMS\_SET\_USER\_PREFERRED\_PRESENCE instead. | `MICROSOFT_TEAMS_SET_ME_PREFERRED_PRESENCE` | | Set presence | Set the presence information for a user's application presence session. | `MICROSOFT_TEAMS_SET_PRESENCE` | | Set user preferred presence | Set the preferred availability and activity status for a user. | `MICROSOFT_TEAMS_SET_USER_PREFERRED_PRESENCE` | | Action | What it does | Slug | | - | - | - | | Create or update schedule | Create or replace a schedule object for a Microsoft Teams team. | `MICROSOFT_TEAMS_CREATE_OR_UPDATE_SCHEDULE` | | Share team schedule | Share a Microsoft Teams schedule for a specified time range. | `MICROSOFT_TEAMS_SHARE_TEAM_SCHEDULE` | | Action | What it does | Slug | | - | - | - | | Create content sharing session | Create a content sharing session in a Microsoft Teams call. | `MICROSOFT_TEAMS_CREATE_CONTENT_SHARING_SESSION` | | Update content sharing session | Update a content sharing session in a Microsoft Teams call. | `MICROSOFT_TEAMS_UPDATE_CONTENT_SHARING_SESSION` | | Action | What it does | Slug | | - | - | - | | Create offer shift request | Create a new offer shift request in a user's joined team schedule. | `MICROSOFT_TEAMS_CREATE_OFFER_SHIFT_REQUEST` | | Create open shift | Create a new open shift in a Microsoft Teams team schedule. | `MICROSOFT_TEAMS_CREATE_OPEN_SHIFT` | | Create shift | Create a new shift in a Microsoft Teams team schedule. | `MICROSOFT_TEAMS_CREATE_SHIFT` | | Delete open shift | Delete an open shift from a Microsoft Teams schedule. | `MICROSOFT_TEAMS_DELETE_OPEN_SHIFT` | | Delete shift | Delete a shift from a Microsoft Teams team schedule. | `MICROSOFT_TEAMS_DELETE_SHIFT` | | Update open shift | Update an existing open shift in a Microsoft Teams team schedule. | `MICROSOFT_TEAMS_UPDATE_OPEN_SHIFT` | | Update team schedule shift | Update an existing shift in a Microsoft Teams team schedule. | `MICROSOFT_TEAMS_UPDATE_TEAM_SCHEDULE_SHIFT` | | Action | What it does | Slug | | - | - | - | | Add tab | Add a new tab to a Microsoft Teams channel. | `MICROSOFT_TEAMS_ADD_TAB` | | Delete tab | Delete a tab from a Microsoft Teams channel. | `MICROSOFT_TEAMS_DELETE_TAB` | | Update tab | Update the properties of a tab in a Microsoft Teams channel. | `MICROSOFT_TEAMS_UPDATE_TAB` | | Action | What it does | Slug | | - | - | - | | Archive team | Archive a Microsoft Teams team. | `MICROSOFT_TEAMS_ARCHIVE_TEAM` | | Clone team | Clone a Microsoft Teams team using the team ID. | `MICROSOFT_TEAMS_CLONE_TEAM` | | Create team | Create a new Microsoft Teams team. | `MICROSOFT_TEAMS_CREATE_TEAM` | | Create team from group | Create a new team under an existing Microsoft 365 group. | `MICROSOFT_TEAMS_CREATE_TEAM_FROM_GROUP` | | Delete team | Delete a Microsoft Teams team. | `MICROSOFT_TEAMS_DELETE_TEAM` | | Unarchive team | Unarchive a Microsoft Teams team. | `MICROSOFT_TEAMS_UNARCHIVE_TEAM` | | Update team | Update the properties of a team. | `MICROSOFT_TEAMS_UPDATE_TEAM` | | Action | What it does | Slug | | - | - | - | | Create time off | Create a new timeOff instance in a team's schedule. | `MICROSOFT_TEAMS_CREATE_TIME_OFF` | | Create time off reason | Create a new time off reason in a team's schedule. | `MICROSOFT_TEAMS_CREATE_TIME_OFF_REASON` | | Create time off request | Create a new time off request in a team's schedule. | `MICROSOFT_TEAMS_CREATE_TIME_OFF_REQUEST` | | Delete time off | Delete a timeOff from a team's schedule. | `MICROSOFT_TEAMS_DELETE_TIME_OFF` | | Delete time off reason | Delete a time off reason from a team's schedule. | `MICROSOFT_TEAMS_DELETE_TIME_OFF_REASON` | | Delete time off request | Delete a time off request from a Microsoft Teams team schedule. | `MICROSOFT_TEAMS_DELETE_TIME_OFF_REQUEST` | | Update time off | Replace an existing timeOff entry in a team's schedule. | `MICROSOFT_TEAMS_UPDATE_TIME_OFF` | | Update time off reason | Update a time off reason in a team's schedule. | `MICROSOFT_TEAMS_UPDATE_TIME_OFF_REASON` | | Action | What it does | Slug | | - | - | - | | Clear me presence user preferred | Clear a user's preferred presence setting in Microsoft Teams. | `MICROSOFT_TEAMS_CLEAR_ME_PRESENCE_USER_PREFERRED` | ## Connect Microsoft Teams Before you start: * You need a Microsoft Teams account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Microsoft Teams** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Microsoft Teams**. The Microsoft Teams sign-in page opens in a new tab. Sign in to Microsoft Teams and approve the request. Check that it works: Microsoft Teams shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Microsoft Teams account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Microsoft Teams account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Microsoft Teams account Click **+ Account** on the Microsoft Teams card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Microsoft Teams side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Microsoft Teams**. 3. Sign in to Microsoft Teams and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Microsoft Teams account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Microsoft Teams.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Microsoft Teams account becomes primary. ## Costs Microsoft Teams actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Microsoft Teams, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Microsoft Teams connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Microsoft Teams account has an access level: **Read-only**, **Read + send**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Microsoft Teams card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Microsoft Teams account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Microsoft Teams.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Miro Source: https://squad.so/docs/apps/miro What teammates can do in Miro at each access level, and how to connect, limit, and disconnect Miro. Connect Miro so your teammates can work in your Miro account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Miro account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as boards and everything on them. Cannot change anything." | 31 of 82 | | **Read + write** (recommended) | "Create boards, and add, edit, move, and remove anything on them. Cannot share boards or change who can see them." | 79 of 82 | | **Full access** | "Everything, including sharing boards and changing member roles." | 82 of 82 | **Read + write** is the recommended level. The connect window selects it for you, and you can choose another level. The Miro sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Miro account?" The teammate can search the Miro actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Miro action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 31 of the 82 Miro actions at this level: * View board items * View boards * View tags * View groups * View members * View organizations * View resources All 31 actions at this level: | Action | What it does | Slug | | - | - | - | | Get app card item2 | Retrieve a specific app card item by its ID from a Miro board. | `MIRO_GET_APP_CARD_ITEM2` | | Get board items | List items on a Miro board (shapes, stickies, cards, etc.) with pagination. | `MIRO_GET_BOARD_ITEMS` | | Get card item | Retrieve a specific card item from a Miro board. | `MIRO_GET_CARD_ITEM` | | Get connector | Retrieve a specific connector by its ID. | `MIRO_GET_CONNECTOR` | | Get connectors | Retrieve a list of connectors on a board. | `MIRO_GET_CONNECTORS` | | Get document item | Retrieve a specific document item from a Miro board by its ID. | `MIRO_GET_DOCUMENT_ITEM` | | Get embed item | Retrieve a specific embed item from a board by its ID. | `MIRO_GET_EMBED_ITEM` | | Get frame item | Retrieve a specific frame item from a Miro board. | `MIRO_GET_FRAME_ITEM` | | Get image item | Retrieve a specific image item from a board. | `MIRO_GET_IMAGE_ITEM` | | Get items by group ID | | `MIRO_GET_ITEMS_BY_GROUP_ID` | | Get items within frame | | `MIRO_GET_ITEMS_WITHIN_FRAME` | | Get shape item | Retrieve a specific shape item from a Miro board by its ID. | `MIRO_GET_SHAPE_ITEM` | | Get specific item | Retrieve a specific item from a Miro board by its ID. | `MIRO_GET_SPECIFIC_ITEM` | | Get sticky note item | Retrieve a specific sticky note item from a board by its ID. | `MIRO_GET_STICKY_NOTE_ITEM` | | Get text item | Retrieve a specific text item from a Miro board by its ID. | `MIRO_GET_TEXT_ITEM` | | Action | What it does | Slug | | - | - | - | | Get board | DEPRECATED: Use MIRO\_GET\_SPECIFIC\_BOARD instead. | `MIRO_GET_BOARD` | | Get boards | DEPRECATED: Use MIRO\_MIRO\_GET\_BOARDS2 instead. | `MIRO_GET_BOARDS` | | Get boards2 | Retrieve accessible boards with optional filters. | `MIRO_GET_BOARDS2` | | Get specific board | Retrieve detailed information about a specific board by its ID. | `MIRO_GET_SPECIFIC_BOARD` | | Action | What it does | Slug | | - | - | - | | Get all groups | Retrieve all groups on a Miro board with cursor-based pagination. | `MIRO_GET_ALL_GROUPS` | | Get group by ID | Retrieve a specific group by its ID. | `MIRO_GET_GROUP_BY_ID` | | Action | What it does | Slug | | - | - | - | | Get board members | Retrieve a list of members for a board. | `MIRO_GET_BOARD_MEMBERS` | | Get specific board member | Retrieve details of a specific board member. | `MIRO_GET_SPECIFIC_BOARD_MEMBER` | | Action | What it does | Slug | | - | - | - | | List organizations | Retrieves the organization associated with the current access token. | `MIRO_LIST_ORGANIZATIONS` | | Action | What it does | Slug | | - | - | - | | Download image resource | | `MIRO_DOWNLOAD_IMAGE_RESOURCE` | | Action | What it does | Slug | | - | - | - | | Get item tags | Retrieve tags attached to a specific item on a Miro board. | `MIRO_GET_ITEM_TAGS` | | Get tag | Retrieve details of a specific tag on a board. | `MIRO_GET_TAG` | | List board tags | List all tags on a Miro board. | `MIRO_LIST_BOARD_TAGS` | | Action | What it does | Slug | | - | - | - | | Get mindmap node experimental | Retrieve a specific mind map node from a board. | `MIRO_GET_MINDMAP_NODE_EXPERIMENTAL` | | Get mindmap nodes experimental | Retrieve mind map nodes from a Miro board. | `MIRO_GET_MINDMAP_NODES_EXPERIMENTAL` | | Get oembed | Retrieve oEmbed data for a Miro board. | `MIRO_GET_OEMBED` | Teammates can use 79 of the 82 Miro actions at this level: everything in **Read-only**, plus: * Create, update, and delete board items * Create, update, and delete tags * Create, update, and delete groups * Create files * Create boards The 48 actions that this level adds to **Read-only**: | Action | What it does | Slug | | - | - | - | | Create app card item | Add an app card item to a board. | `MIRO_CREATE_APP_CARD_ITEM` | | Create card item | Create a card item on a Miro board. | `MIRO_CREATE_CARD_ITEM` | | Create connector | Create a connector (edge/arrow) that links two existing board items. | `MIRO_CREATE_CONNECTOR` | | Create document item | Create a document item on a Miro board by providing a URL to the document. | `MIRO_CREATE_DOCUMENT_ITEM` | | Create embed item | Create an embed item on a Miro board by providing a URL to embed content (YouTube videos, websites, etc.). | `MIRO_CREATE_EMBED_ITEM` | | Create frame item | Add a frame item to a Miro board. | `MIRO_CREATE_FRAME_ITEM` | | Create frame item2 | DEPRECATED: Use MIRO\_CREATE\_FRAME\_ITEM instead. | `MIRO_CREATE_FRAME_ITEM2` | | Create image item from URL | | `MIRO_CREATE_IMAGE_ITEM_FROM_URL` | | Create items in bulk | Create multiple items on a Miro board in a single request. | `MIRO_CREATE_ITEMS_IN_BULK` | | Create shape item | DEPRECATED: Use MIRO\_MIRO\_CREATE\_SHAPE\_ITEM2 instead. | `MIRO_CREATE_SHAPE_ITEM` | | Create shape item2 | Create a shape item on a Miro board. | `MIRO_CREATE_SHAPE_ITEM2` | | Create sticky note item | Create a sticky note item on a Miro board. | `MIRO_CREATE_STICKY_NOTE_ITEM` | | Create text item | Create a text item on a Miro board. | `MIRO_CREATE_TEXT_ITEM` | | Delete app card item | Delete an app card item from a board. | `MIRO_DELETE_APP_CARD_ITEM` | | Delete card item | Delete a card item from a board. | `MIRO_DELETE_CARD_ITEM` | | Delete connector | Delete a specific connector from a board. | `MIRO_DELETE_CONNECTOR` | | Delete document item | Delete a document item from a board. | `MIRO_DELETE_DOCUMENT_ITEM` | | Delete embed item | Delete an embed item from a board. | `MIRO_DELETE_EMBED_ITEM` | | Delete frame item | Delete a frame item from a Miro board. | `MIRO_DELETE_FRAME_ITEM` | | Delete image item | Delete an image item from a board. | `MIRO_DELETE_IMAGE_ITEM` | | Delete item | Delete a specific item from a board. | `MIRO_DELETE_ITEM` | | Delete shape item | Delete a shape item from a board. | `MIRO_DELETE_SHAPE_ITEM` | | Delete sticky note item | Delete a sticky note item from a board. | `MIRO_DELETE_STICKY_NOTE_ITEM` | | Delete text item | Delete a text item from a board. | `MIRO_DELETE_TEXT_ITEM` | | Update app card item2 | Update an app card item on a Miro board. | `MIRO_UPDATE_APP_CARD_ITEM2` | | Update card item | Update a card item on a Miro board. | `MIRO_UPDATE_CARD_ITEM` | | Update connector | Update an existing connector on a Miro board. | `MIRO_UPDATE_CONNECTOR` | | Update document item | Update a document item on a Miro board. | `MIRO_UPDATE_DOCUMENT_ITEM` | | Update embed item | Update an embed item on a board. | `MIRO_UPDATE_EMBED_ITEM` | | Update frame item | Update a frame item on a Miro board. | `MIRO_UPDATE_FRAME_ITEM` | | Update image item | Update an existing image item on a board. | `MIRO_UPDATE_IMAGE_ITEM` | | Update item position or parent | Update an item's position or parent frame on a Miro board. | `MIRO_UPDATE_ITEM_POSITION_OR_PARENT` | | Update shape item | Update an existing shape item on a Miro board. | `MIRO_UPDATE_SHAPE_ITEM` | | Update sticky note item | Update a sticky note item on a Miro board. | `MIRO_UPDATE_STICKY_NOTE_ITEM` | | Update text item | Update a text item on a Miro board. | `MIRO_UPDATE_TEXT_ITEM` | | Action | What it does | Slug | | - | - | - | | Create board | Create a new board. | `MIRO_CREATE_BOARD` | | Action | What it does | Slug | | - | - | - | | Create document item using file from device | Create a document item on a Miro board using a URL to the document. | `MIRO_CREATE_DOCUMENT_ITEM_USING_FILE_FROM_DEVICE` | | Create image item using local file | Create an image item on a Miro board by uploading a local image file. | `MIRO_CREATE_IMAGE_ITEM_USING_LOCAL_FILE` | | Action | What it does | Slug | | - | - | - | | Create group | Create a group on a Miro board by grouping multiple items together. | `MIRO_CREATE_GROUP` | | Delete group | Delete a group from a board. | `MIRO_DELETE_GROUP` | | Update group | Update a group on a Miro board with new items. | `MIRO_UPDATE_GROUP` | | Action | What it does | Slug | | - | - | - | | Attach tag to item | Attach an existing tag to a specific item on a Miro board. | `MIRO_ATTACH_TAG_TO_ITEM` | | Create tag | Create a new tag on a Miro board. | `MIRO_CREATE_TAG` | | Delete tag | Delete a specific tag from a board. | `MIRO_DELETE_TAG` | | Remove tag from item | | `MIRO_REMOVE_TAG_FROM_ITEM` | | Update tag | Update a tag on a board. | `MIRO_UPDATE_TAG` | | Action | What it does | Slug | | - | - | - | | Create mindmap node experimental | Create a mind map node on a Miro board. | `MIRO_CREATE_MINDMAP_NODE_EXPERIMENTAL` | | Delete mindmap node experimental | Delete a mind map node from a board. | `MIRO_DELETE_MINDMAP_NODE_EXPERIMENTAL` | Teammates can use 82 of the 82 Miro actions at this level: everything in **Read + write**, plus: * Update and share boards * Update members The 3 actions that this level adds to **Read + write**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Boards** | Share board | Share a board by inviting users via email. | `MIRO_SHARE_BOARD` | | | Update board | Update properties of a specific board. | `MIRO_UPDATE_BOARD` | | **Members** | Update board member | Update the role of a specific board member. | `MIRO_UPDATE_BOARD_MEMBER` | ## Connect Miro Before you start: * You need a Miro account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Miro** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Miro**. The Miro sign-in page opens in a new tab. Sign in to Miro and approve the request. Check that it works: Miro shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Miro account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Miro account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Miro account Click **+ Account** on the Miro card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Miro side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Miro**. 3. Sign in to Miro and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Miro account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Miro.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Miro account becomes primary. ## Costs Miro actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Miro, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Miro connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Miro account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Miro card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Miro account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Miro.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Monday.com Source: https://squad.so/docs/apps/monday What teammates can do in Monday.com at each access level, and how to connect, limit, and disconnect Monday.com. Connect Monday.com so your teammates can work in your Monday.com account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Monday.com account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as boards, items, docs, updates, and users. Cannot change anything." | 48 of 126 | | **Read + write** (recommended) | "Create, edit, move, and archive items, post updates, and edit docs and groups. Cannot create boards or columns or change who can see them." | 77 of 126 | | **Full access** | "Everything, including boards, columns, workspaces, members, teams, and permissions." | 126 of 126 | **Read + write** is the recommended level. The connect window selects it for you, and you can choose another level. The Monday.com sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Monday.com account?" The teammate can search the Monday.com actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Monday.com action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 48 of the 126 Monday.com actions at this level: * View and manage board items * View and manage boards * View account details * View and manage columns * Manage connections * View logs * View versions * Manage activities * View assets * Search dashboards * Manage documents * View favorites All 48 actions at this level: | Action | What it does | Slug | | - | - | - | | Get account info | Retrieve account metadata and settings for the authenticated Monday.com account. | `MONDAY_GET_ACCOUNT_INFO` | | Who am I | | `MONDAY_WHO_AM_I` | | Action | What it does | Slug | | - | - | - | | Custom activity | Retrieve custom activity data from the Emails & Activities app. | `MONDAY_CUSTOM_ACTIVITY` | | Action | What it does | Slug | | - | - | - | | Get assets | Retrieve file/asset metadata from monday.com by asset IDs. | `MONDAY_GET_ASSETS` | | Action | What it does | Slug | | - | - | - | | Get items | Retrieve specific items by their IDs from Monday.com, returning metadata including name, timestamps, state, board, and group information. | `MONDAY_GET_ITEMS` | | List board items | DEPRECATED: Use MONDAY\_ITEMS\_PAGE instead, which supports cursor-based pagination. | `MONDAY_LIST_BOARD_ITEMS` | | List items | Retrieves specified subitems from Monday.com using their IDs, returning raw JSON. | `MONDAY_LIST_ITEMS` | | List items by column values | Search for items on a Monday.com board based on column values using the items\_page\_by\_column\_values query. | `MONDAY_LIST_ITEMS_BY_COLUMN_VALUES` | | List subitems by parent | Retrieve subitems nested under parent items via GraphQL API. | `MONDAY_LIST_SUBITEMS_BY_PARENT` | | Timeline item | Retrieve a specific timeline item from the Emails & Activities app by ID. | `MONDAY_TIMELINE_ITEM` | | Action | What it does | Slug | | - | - | - | | Boards | Retrieve board data via the Monday.com API. | `MONDAY_BOARDS` | | Connection board IDs | Retrieve board IDs associated with connection columns. | `MONDAY_CONNECTION_BOARD_IDS` | | List boards | DEPRECATED: Use MONDAY\_BOARDS instead. | `MONDAY_LIST_BOARDS` | | Action | What it does | Slug | | - | - | - | | Columns | Retrieve column metadata from boards via the GraphQL API. | `MONDAY_COLUMNS` | | List columns | DEPRECATED: Use MONDAY\_COLUMNS instead. | `MONDAY_LIST_COLUMNS` | | Action | What it does | Slug | | - | - | - | | Connections | Retrieve connection data for integrations with external services. | `MONDAY_CONNECTIONS` | | User connections | Query user-specific connection data from Monday.com. | `MONDAY_USER_CONNECTIONS` | | Action | What it does | Slug | | - | - | - | | Query dashboards | Query dashboards via Monday.com objects API. | `MONDAY_QUERY_DASHBOARDS` | | Action | What it does | Slug | | - | - | - | | Docs | Retrieve Monday.com document data via the API. | `MONDAY_DOCS` | | Action | What it does | Slug | | - | - | - | | Get favorites | Retrieve all favorited items for the authenticated user. | `MONDAY_GET_FAVORITES` | | Action | What it does | Slug | | - | - | - | | Get folders | Retrieve folder data from workspaces with filtering and pagination options. | `MONDAY_GET_FOLDERS` | | Action | What it does | Slug | | - | - | - | | Get form | Retrieve form metadata via the API using the form's unique token from the URL. | `MONDAY_GET_FORM` | | Action | What it does | Slug | | - | - | - | | List groups | Retrieve all groups of a specified board. | `MONDAY_LIST_GROUPS` | | Action | What it does | Slug | | - | - | - | | Get updates | Retrieve updates for a specific item. | `MONDAY_GET_UPDATES` | | Action | What it does | Slug | | - | - | - | | Audit logs | Retrieve detailed security-related activity records for a Monday.com account. | `MONDAY_AUDIT_LOGS` | | Get activity logs | Retrieve activity logs from a specific Monday.com board. | `MONDAY_GET_ACTIVITY_LOGS` | | Action | What it does | Slug | | - | - | - | | List team members | List members of a specified team. | `MONDAY_LIST_TEAM_MEMBERS` | | Action | What it does | Slug | | - | - | - | | Items page | Retrieve items from a Monday.com board (or group) with server-side filtering, full column\_values, and cursor-based pagination via items\_page and next\_items\_page queries. | `MONDAY_ITEMS_PAGE` | | Action | What it does | Slug | | - | - | - | | Get query complexity | Retrieve complexity data and cost metrics for Monday.com API operations. | `MONDAY_GET_QUERY_COMPLEXITY` | | Action | What it does | Slug | | - | - | - | | Get update replies | Retrieves updates and their replies for a specific Monday.com item. | `MONDAY_GET_UPDATE_REPLIES` | | Action | What it does | Slug | | - | - | - | | Account trigger statistics | Retrieve statistics about account-level triggers and automations. | `MONDAY_ACCOUNT_TRIGGER_STATISTICS` | | Action | What it does | Slug | | - | - | - | | Get view schema by type | Retrieve type-specific board view configuration schemas via GraphQL API. | `MONDAY_GET_VIEW_SCHEMA_BY_TYPE` | | Action | What it does | Slug | | - | - | - | | Mute board settings | Query a board's notification mute settings. | `MONDAY_MUTE_BOARD_SETTINGS` | | Action | What it does | Slug | | - | - | - | | Query sprints | Query sprint data for agile project management from Monday.com boards. | `MONDAY_QUERY_SPRINTS` | | Action | What it does | Slug | | - | - | - | | App subscription | Retrieve current app subscription data for the account. | `MONDAY_APP_SUBSCRIPTION` | | Action | What it does | Slug | | - | - | - | | Get tags | Retrieve tags from the account. | `MONDAY_GET_TAGS` | | Action | What it does | Slug | | - | - | - | | Get teams | Retrieve teams from Monday.com. | `MONDAY_GET_TEAMS` | | Action | What it does | Slug | | - | - | - | | List users | Retrieves a list of users from Monday.com. | `MONDAY_LIST_USERS` | | Action | What it does | Slug | | - | - | - | | Get API version | Retrieve the Monday.com API version in use. | `MONDAY_GET_API_VERSION` | | Get versions | Retrieve data about available API versions. | `MONDAY_GET_VERSIONS` | | Action | What it does | Slug | | - | - | - | | Get board views | Retrieve board view data via GraphQL API. | `MONDAY_GET_BOARD_VIEWS` | | Action | What it does | Slug | | - | - | - | | Get webhooks | Retrieve webhooks for a board. | `MONDAY_GET_WEBHOOKS` | | Action | What it does | Slug | | - | - | - | | Get workspaces | Retrieve workspaces. | `MONDAY_GET_WORKSPACES` | | Action | What it does | Slug | | - | - | - | | Aggregate data | Aggregate data across Monday.com boards using groupings and aggregation functions like COUNT, SUM, MEAN, MIN, MAX. | `MONDAY_AGGREGATE_DATA` | | Blocks | Retrieve document block data from workdocs via the API. | `MONDAY_BLOCKS` | | Get me | Fetch the current authenticated user's profile and permissions. | `MONDAY_GET_ME` | | Get mutation complexity | Get complexity data of mutations in Monday.com. | `MONDAY_GET_MUTATION_COMPLEXITY` | | Timeline | Retrieve an item's Email & Activities (E\&A) timeline data from Monday.com. | `MONDAY_TIMELINE` | Teammates can use 77 of the 126 Monday.com actions at this level: everything in **Read-only**, plus: * Create, update, archive, and delete board items * Create, update, and delete item updates * Create, update, and delete documents * Create, update, and delete groups * Create, update, and delete tags * Create and delete assets The 29 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Assets** | Delete asset | Remove uploaded files. | `MONDAY_DELETE_ASSET` | | | Upload asset | Upload a file to an update or file column. | `MONDAY_UPLOAD_ASSET` | | **Board items** | Archive item | Archives an existing Monday.com item, moving it from active board views to the archive where it can be potentially restored. | `MONDAY_ARCHIVE_ITEM` | | | Create item | Creates a new item on a Monday.com board, optionally assigning it to a group and setting column values. | `MONDAY_CREATE_ITEM` | | | Create item from nl | Creates a new item on a Monday.com board from a natural language description. | `MONDAY_CREATE_ITEM_FROM_NL` | | | Create timeline item | Create a new timeline item in the Emails & Activities app on a Monday.com item. | `MONDAY_CREATE_TIMELINE_ITEM` | | | Delete item | Permanently deletes an existing Monday.com item. | `MONDAY_DELETE_ITEM` | | | Duplicate item | Duplicates an item on a Monday.com board, optionally including its updates. | `MONDAY_DUPLICATE_ITEM` | | | Move item to board | Moves a Monday.com item to a specified board and group. | `MONDAY_MOVE_ITEM_TO_BOARD` | | | Move item to group | Moves an item to a different group on the same Monday.com board. | `MONDAY_MOVE_ITEM_TO_GROUP` | | | Update item | Update an existing item's column value on Monday.com. | `MONDAY_UPDATE_ITEM` | | **Columns** | Change simple column value | Changes a specific column's value for a Monday.com item using a simple string, suitable for Text, Status, or Dropdown columns. | `MONDAY_CHANGE_SIMPLE_COLUMN_VALUE` | | **Documents** | Create doc | Create a new doc in Monday.com. | `MONDAY_CREATE_DOC` | | | Delete doc | Delete a Monday.com doc by its ID. | `MONDAY_DELETE_DOC` | | | Import doc from HTML | Import HTML content into a new Monday.com doc, converting it to doc blocks. | `MONDAY_IMPORT_DOC_FROM_HTML` | | | Update doc | Update a doc's title or append markdown content. | `MONDAY_UPDATE_DOC` | | **Groups** | Create group | Creates a new group with the given group\_name on an existing Monday.com board, identified by its board\_id. | `MONDAY_CREATE_GROUP` | | | Delete group | Permanently deletes an existing group (and its items) from an existing board in Monday.com. | `MONDAY_DELETE_GROUP` | | | Update group | Update an existing group on a board. | `MONDAY_UPDATE_GROUP` | | **Item updates** | Create update | Create a new update for an item or reply to an existing update. | `MONDAY_CREATE_UPDATE` | | | Delete update | Delete an update by its ID. | `MONDAY_DELETE_UPDATE` | | | Edit update | Modify the text content of an existing update on an item. | `MONDAY_EDIT_UPDATE` | | | Like update | Like an update on an item. | `MONDAY_LIKE_UPDATE` | | | Unlike update | Remove a like from an update on an item. | `MONDAY_UNLIKE_UPDATE` | | **Tags** | Create tag | Create a new tag or return an existing tag. | `MONDAY_CREATE_TAG` | | | Delete tag | Remove a tag from an item in Monday.com. | `MONDAY_DELETE_TAG` | | | Update tag | Return a tag's details or best-effort "rename" by creating or getting a tag with the requested name. | `MONDAY_UPDATE_TAG` | | **Other actions** | Pin to top | Pin an update to the top of an item. | `MONDAY_PIN_TO_TOP` | | | Unpin from top | Unpin an update from the top of an item. | `MONDAY_UNPIN_FROM_TOP` | Teammates can use 126 of the 126 Monday.com actions at this level: everything in **Read + write**, plus: * Create, update, archive, and delete boards * Create, archive, delete, and publish objects * Update and delete teams * Create and update users * Create, update, archive, and delete workspaces * Create, update, and delete columns * Create, update, and delete folders * Create and delete activities * Update roles and permissions * Create dashboards * Update domains * Create notifications The 49 actions that this level adds to **Read + write**: | Action | What it does | Slug | | - | - | - | | Create custom activity | Create a custom activity in the Monday.com Emails & Activities app. | `MONDAY_CREATE_CUSTOM_ACTIVITY` | | Delete custom activity | Delete a custom activity from the Emails & Activities app. | `MONDAY_DELETE_CUSTOM_ACTIVITY` | | Action | What it does | Slug | | - | - | - | | Delete timeline item | Delete a timeline item from the Emails & Activities app. | `MONDAY_DELETE_TIMELINE_ITEM` | | Action | What it does | Slug | | - | - | - | | Archive board | Archives a specified, existing, and unarchived board in Monday.com. | `MONDAY_ARCHIVE_BOARD` | | Convert board to project | Converts a regular Monday.com board into a project board with advanced project management features. | `MONDAY_CONVERT_BOARD_TO_PROJECT` | | Create board | Creates a Monday.com board. | `MONDAY_CREATE_BOARD` | | Delete board | Permanently delete a board from your Monday.com account. | `MONDAY_DELETE_BOARD` | | Duplicate board | Duplicate a Monday.com board with its structure and optionally items and updates. | `MONDAY_DUPLICATE_BOARD` | | Update board | Updates a specified attribute of an existing board on Monday.com. | `MONDAY_UPDATE_BOARD` | | Update board hierarchy | Updates a board's position, workspace, or product in Monday.com. | `MONDAY_UPDATE_BOARD_HIERARCHY` | | Action | What it does | Slug | | - | - | - | | Create column | Creates a new column with a specified type and title on a monday.com board. | `MONDAY_CREATE_COLUMN` | | Delete column | Deletes a specified column from a Monday.com board. | `MONDAY_DELETE_COLUMN` | | Update column | Update column title or description. | `MONDAY_UPDATE_COLUMN` | | Action | What it does | Slug | | - | - | - | | Create dashboard | Create a Monday.com dashboard with associated boards. | `MONDAY_CREATE_DASHBOARD` | | Action | What it does | Slug | | - | - | - | | Update email domain | Update users' email domains. | `MONDAY_UPDATE_EMAIL_DOMAIN` | | Action | What it does | Slug | | - | - | - | | Create folder | Create a new folder in a Monday.com workspace to organize boards. | `MONDAY_CREATE_FOLDER` | | Delete folder | Permanently delete a folder and all its contents from a Monday.com workspace. | `MONDAY_DELETE_FOLDER` | | Update folder | Update a Monday.com folder's properties including name, color, or parent folder. | `MONDAY_UPDATE_FOLDER` | | Action | What it does | Slug | | - | - | - | | Create notification | Send a notification to a user. | `MONDAY_CREATE_NOTIFICATION` | | Action | What it does | Slug | | - | - | - | | Archive object | Archives a Monday.com object by changing its state to archived rather than permanently deleting it. | `MONDAY_ARCHIVE_OBJECT` | | Create object | Create any Monday.com object via GraphQL mutation. | `MONDAY_CREATE_OBJECT` | | Delete object | Permanently delete a Monday.com object with a 30-day recovery grace period. | `MONDAY_DELETE_OBJECT` | | Publish object | Publish a Monday.com object. | `MONDAY_PUBLISH_OBJECT` | | Unpublish object | Unpublish a Monday.com object (board, item, or workspace) to revert it from a published state. | `MONDAY_UNPUBLISH_OBJECT` | | Action | What it does | Slug | | - | - | - | | Connect project to portfolio | Links an existing project board to a portfolio board for centralized management. | `MONDAY_CONNECT_PROJECT_TO_PORTFOLIO` | | Action | What it does | Slug | | - | - | - | | Set board permission | Sets or updates a board's default role and permissions. | `MONDAY_SET_BOARD_PERMISSION` | | Update users role | Update users' roles to custom or default roles. | `MONDAY_UPDATE_USERS_ROLE` | | Action | What it does | Slug | | - | - | - | | Update mute board settings | Update a board's notification mute settings. | `MONDAY_UPDATE_MUTE_BOARD_SETTINGS` | | Action | What it does | Slug | | - | - | - | | Add subscribers to board | Add users as subscribers to a Monday.com board. | `MONDAY_ADD_SUBSCRIBERS_TO_BOARD` | | Add subscribers to object | Add subscribers or owners to a monday.com object. | `MONDAY_ADD_SUBSCRIBERS_TO_OBJECT` | | Delete subscribers from board | Remove subscribers from a Monday.com board. | `MONDAY_DELETE_SUBSCRIBERS_FROM_BOARD` | | Action | What it does | Slug | | - | - | - | | Add teams to board | Add teams to a Monday.com board with specified permission levels. | `MONDAY_ADD_TEAMS_TO_BOARD` | | Delete team | Delete an existing team. | `MONDAY_DELETE_TEAM` | | Delete teams from board | Remove teams from a board. | `MONDAY_DELETE_TEAMS_FROM_BOARD` | | Delete teams from workspace | Remove teams from a workspace. | `MONDAY_DELETE_TEAMS_FROM_WORKSPACE` | | Update team | Update a team's details in Monday.com. | `MONDAY_UPDATE_TEAM` | | Action | What it does | Slug | | - | - | - | | Activate users | Activate or reactivate users in a Monday.com account. | `MONDAY_ACTIVATE_USERS` | | Add users to board | Adds users to a Monday.com board with a specified role. | `MONDAY_ADD_USERS_TO_BOARD` | | Add users to team | Add users to a Monday.com team. | `MONDAY_ADD_USERS_TO_TEAM` | | Add users to workspace | Add one or more users to a workspace. | `MONDAY_ADD_USERS_TO_WORKSPACE` | | Create user | Invite and create a new user. | `MONDAY_CREATE_USER` | | Deactivate users | Deactivate users from a monday.com account. | `MONDAY_DEACTIVATE_USERS` | | Remove users from team | Remove users from a Monday.com team. | `MONDAY_REMOVE_USERS_FROM_TEAM` | | Remove users from workspace | Remove users from a workspace. | `MONDAY_REMOVE_USERS_FROM_WORKSPACE` | | Update multiple users | Update one or multiple users' attributes on Monday.com. | `MONDAY_UPDATE_MULTIPLE_USERS` | | Action | What it does | Slug | | - | - | - | | Archive workspace | Archive a Monday.com workspace. | `MONDAY_ARCHIVE_WORKSPACE` | | Create workspace | Create a Monday.com workspace. | `MONDAY_CREATE_WORKSPACE` | | Delete workspace | Permanently delete a workspace by its ID. | `MONDAY_DELETE_WORKSPACE` | | Update workspace | Update a Monday.com workspace. | `MONDAY_UPDATE_WORKSPACE` | ## Connect Monday.com Before you start: * You need a Monday.com account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Monday.com** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Monday.com**. The Monday.com sign-in page opens in a new tab. Sign in to Monday.com and approve the request. Check that it works: Monday.com shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Monday.com account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Monday.com account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Monday.com account Click **+ Account** on the Monday.com card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Monday.com side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Monday.com**. 3. Sign in to Monday.com and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Monday.com account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Monday.com.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Monday.com account becomes primary. ## Costs Monday.com actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Monday.com, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Monday.com connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Monday.com account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Monday.com card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Monday.com account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Monday.com.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Notion Source: https://squad.so/docs/apps/notion What teammates can do in Notion at each access level, and how to connect, limit, and disconnect Notion. Connect Notion so your teammates can work in your Notion account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Notion account has an access level: **Read-only**, **Read + comment**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything shared with this connection, such as pages, databases, and comments. Cannot change anything." | 26 of 57 | | **Read + comment** | "Read shared pages and leave comments." | 27 of 57 | | **Read + write** (recommended) | "Create, edit, move, and trash shared pages, blocks, and database rows. Cannot create databases or change their properties or views." | 52 of 57 | | **Full access** | "Everything, including creating databases and changing their properties and views." | 57 of 57 | **Read + write** is the recommended level. The connect window selects it for you, and you can choose another level. The Notion sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Notion account?" The teammate can search the Notion actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Notion action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 26 of the 57 Notion actions at this level: * View and search databases * View comments * View content * View files * View and search pages * View views * View account details * View blocks * View properties * View rows * View templates * View users All 26 actions at this level: | Works on | Action | What it does | Slug | | - | - | - | - | | **Account details** | Who am I | | `NOTION_WHO_AM_I` | | **Blocks** | Fetch block metadata | Fetches metadata for a Notion block (including pages, which are special blocks) using its UUID. | `NOTION_FETCH_BLOCK_METADATA` | | **Comments** | Fetch comments | Fetches unresolved comments for a specified Notion block or page ID. | `NOTION_FETCH_COMMENTS` | | | Retrieve comment | Retrieve a specific comment by its ID. | `NOTION_RETRIEVE_COMMENT` | | **Content** | Fetch all block contents | Fetch all child blocks for a given Notion block. | `NOTION_FETCH_ALL_BLOCK_CONTENTS` | | | Fetch block contents | Retrieves a paginated list of direct, first-level child block objects along with contents for a given parent Notion block or page ID. | `NOTION_FETCH_BLOCK_CONTENTS` | | **Databases** | Fetch database | Fetches a Notion database's structural metadata (properties, title, etc.) via its database\_id, not the data entries. | `NOTION_FETCH_DATABASE` | | | Query database | Queries a Notion database to retrieve pages (rows). | `NOTION_QUERY_DATABASE` | | | Query database with filter | Query a Notion database with server-side filtering, sorting, and pagination. | `NOTION_QUERY_DATABASE_WITH_FILTER` | | **Files** | List file uploads | Retrieve file uploads for the current bot integration, sorted by most recent first. | `NOTION_LIST_FILE_UPLOADS` | | | Retrieve file upload | Retrieve details of a Notion File Upload object by its identifier. | `NOTION_RETRIEVE_FILE_UPLOAD` | | **Pages** | Get page markdown | Retrieve a Notion page's full content rendered as Notion-flavored Markdown in a single API call. | `NOTION_GET_PAGE_MARKDOWN` | | | Retrieve page | Retrieve a Notion page's properties/metadata (not block content) by page\_id. | `NOTION_RETRIEVE_PAGE` | | | Search Notion page | Searches Notion pages and databases by title. | `NOTION_SEARCH_NOTION_PAGE` | | **Properties** | Get page property action | Get a specific property from a Notion page when you have a valid page\_id and property\_id. | `NOTION_GET_PAGE_PROPERTY_ACTION` | | | Retrieve database property | Retrieve a specific property object of a Notion database. | `NOTION_RETRIEVE_DATABASE_PROPERTY` | | **Queries** | Get view query results | | `NOTION_GET_VIEW_QUERY_RESULTS` | | **Rows** | Fetch row | Retrieves a Notion database row's properties and metadata. | `NOTION_FETCH_ROW` | | **Templates** | List data source templates | List all templates for a Notion data source. | `NOTION_LIST_DATA_SOURCE_TEMPLATES` | | **Users** | Get about user | Retrieves detailed information about a specific Notion user, such as their name, avatar, and email, based on their unique user ID. | `NOTION_GET_ABOUT_USER` | | | List users | Retrieves a paginated list of users (excluding guests) from the Notion workspace. | `NOTION_LIST_USERS` | | **Views** | List views | | `NOTION_LIST_VIEWS` | | | Retrieve view | | `NOTION_RETRIEVE_VIEW` | | **Other actions** | Fetch data | Fetches Notion items (pages and/or databases) from the Notion workspace, use this to get minimal data about the items in the workspace with a query or list all items in the workspace with minimal data. | `NOTION_FETCH_DATA` | | | Get about me | DEPRECATED: Use GetAboutUser instead. | `NOTION_GET_ABOUT_ME` | | | Query data source | Query a Notion data source. | `NOTION_QUERY_DATA_SOURCE` | Teammates can use 27 of the 57 Notion actions at this level: everything in **Read-only**, plus: * Create comments The action that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Comments** | Create comment | Adds a comment to a Notion page (via parent\_page\_id) OR to an existing discussion thread (via discussion\_id). | `NOTION_CREATE_COMMENT` | Teammates can use 52 of the 57 Notion actions at this level: everything in **Read + comment**, plus: * Update and delete blocks * Create, update, and archive pages * Create and update content * Create and update databases * Create and send files * View and delete queries * Create rows The 25 actions that this level adds to **Read + comment**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Blocks** | Append block children | DEPRECATED: Use NOTION\_APPEND\_TEXT\_BLOCKS, NOTION\_APPEND\_TASK\_BLOCKS, NOTION\_APPEND\_CODE\_BLOCKS, NOTION\_APPEND\_MEDIA\_BLOCKS, NOTION\_APPEND\_LAYOUT\_BLOCKS, or NOTION\_APPEND\_TABLE\_BLOCKS instead. | `NOTION_APPEND_BLOCK_CHILDREN` | | | Append code blocks | Append code and technical blocks (code, quote, equation) to a Notion page. | `NOTION_APPEND_CODE_BLOCKS` | | | Append layout blocks | Append layout blocks (divider, TOC, breadcrumb, columns) to a Notion page. | `NOTION_APPEND_LAYOUT_BLOCKS` | | | Append media blocks | Append media blocks (image, video, audio, file, pdf, embed, bookmark) to a Notion page. | `NOTION_APPEND_MEDIA_BLOCKS` | | | Append table blocks | Append table blocks to a Notion page. | `NOTION_APPEND_TABLE_BLOCKS` | | | Append task blocks | Append task blocks (to-do, toggle, callout) to a Notion page or block. | `NOTION_APPEND_TASK_BLOCKS` | | | Append text blocks | Append text blocks (paragraphs, headings, lists) to a Notion page. | `NOTION_APPEND_TEXT_BLOCKS` | | | Delete block | Archives a Notion block, page, or database using its ID, which sets its 'archived' property to true (like moving to "Trash" in the UI) and allows it to be restored later. | `NOTION_DELETE_BLOCK` | | | Update block | Updates existing Notion block's text content. | `NOTION_UPDATE_BLOCK` | | **Content** | Add multiple page content | Bulk-add content blocks to Notion. | `NOTION_ADD_MULTIPLE_PAGE_CONTENT` | | | Add page content | DEPRECATED: Use 'add\_multiple\_page\_content' for better performance. | `NOTION_ADD_PAGE_CONTENT` | | | Replace page content | Safely replaces a page's child blocks by optionally backing up current content, deleting existing children, then appending new children in batches. | `NOTION_REPLACE_PAGE_CONTENT` | | **Databases** | Insert row database | Creates a new page (row) in a specified Notion database. | `NOTION_INSERT_ROW_DATABASE` | | | Update row database | Updates a specific row/page within a Notion database by its page UUID (row\_id). | `NOTION_UPDATE_ROW_DATABASE` | | | Upsert row database | Upsert rows in a Notion database by querying for existing rows and creating or updating them. | `NOTION_UPSERT_ROW_DATABASE` | | **Files** | Create file upload | Create a Notion FileUpload object and retrieve an upload URL. | `NOTION_CREATE_FILE_UPLOAD` | | | Send file upload | Transmit file contents to Notion for a file upload object. | `NOTION_SEND_FILE_UPLOAD` | | **Pages** | Archive Notion page | Archives (moves to trash) or unarchives (restores from trash) a specified Notion page. | `NOTION_ARCHIVE_NOTION_PAGE` | | | Create Notion page | Creates a new page in a Notion workspace under a specified parent page or database. | `NOTION_CREATE_NOTION_PAGE` | | | Duplicate page | Duplicates a Notion page, including all its content, properties, and nested blocks, under a specified parent page or workspace. | `NOTION_DUPLICATE_PAGE` | | | Move page | Move a Notion page to a new parent (page or database). | `NOTION_MOVE_PAGE` | | | Update page | Update page properties, icon, cover, or archive status. | `NOTION_UPDATE_PAGE` | | **Queries** | Create view query | | `NOTION_CREATE_VIEW_QUERY` | | | Delete view query | | `NOTION_DELETE_VIEW_QUERY` | | **Rows** | Insert row from nl | Creates a new row (page) in a Notion database from a natural language description. | `NOTION_INSERT_ROW_FROM_NL` | Teammates can use 57 of the 57 Notion actions at this level: everything in **Read + write**, plus: * Create, update, and delete views The 5 actions that this level adds to **Read + write**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Databases** | Create database | Creates a new Notion database as a subpage under a specified parent page with a defined properties schema. | `NOTION_CREATE_DATABASE` | | | Update schema database | Updates an existing Notion database's schema including title, description, and/or properties (columns). | `NOTION_UPDATE_SCHEMA_DATABASE` | | **Views** | Create view | | `NOTION_CREATE_VIEW` | | | Delete view | | `NOTION_DELETE_VIEW` | | | Update view | | `NOTION_UPDATE_VIEW` | ## Connect Notion Before you start: * You need a Notion account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Notion** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Notion**. The Notion sign-in page opens in a new tab. Sign in to Notion and approve the request. Check that it works: Notion shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Notion account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Notion account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Notion account Click **+ Account** on the Notion card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Notion side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Notion**. 3. Sign in to Notion and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Notion account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Notion.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Notion account becomes primary. ## Costs Notion actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Notion, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Notion connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Notion account has an access level: **Read-only**, **Read + comment**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Notion card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Notion account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Notion.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # OneDrive Source: https://squad.so/docs/apps/one_drive What teammates can do in OneDrive at each access level, and how to connect, limit, and disconnect OneDrive. Connect OneDrive so your teammates can work in your OneDrive account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each OneDrive account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as files, folders, shared items, and SharePoint drives. Cannot change anything." | 50 of 88 | | **Read + write** (recommended) | "Upload, create, copy, move, edit, and delete files and folders (to the recycle bin), and edit Excel workbooks. Cannot share files or delete them permanently." | 75 of 88 | | **Full access** | "Everything, including sharing, permissions, permanent deletes, and SharePoint lists." | 88 of 88 | **Read + write** is the recommended level. The connect window selects it for you, and you can choose another level. The OneDrive sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my OneDrive account?" The teammate can search the OneDrive actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the OneDrive action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 50 of the 88 OneDrive actions at this level: * View and search files and folders * View change history * View drives * View and search files * View roles and permissions * View and search sites * View activities * View cells and ranges * View and search folders * View versions * View worksheets * View columns All 50 actions at this level: | Action | What it does | Slug | | - | - | - | | List activities | Retrieve recent activities on the authenticated user's OneDrive. | `ONE_DRIVE_LIST_ACTIVITIES` | | List item activities | List recent activities for a specific item in a OneDrive drive. | `ONE_DRIVE_LIST_ITEM_ACTIVITIES` | | Action | What it does | Slug | | - | - | - | | Get workbook used range | | `ONE_DRIVE_GET_WORKBOOK_USED_RANGE` | | Read workbook range | Reads a range of cells from an Excel workbook worksheet stored in OneDrive or SharePoint using Microsoft Graph API. | `ONE_DRIVE_READ_WORKBOOK_RANGE` | | Action | What it does | Slug | | - | - | - | | List root drive changes | List changes in the root of the user's primary drive using a delta token. | `ONE_DRIVE_LIST_ROOT_DRIVE_CHANGES` | | List SharePoint list items delta | Track changes to items in a SharePoint list using a delta query. | `ONE_DRIVE_LIST_SHAREPOINT_LIST_ITEMS_DELTA` | | List site items delta | Track changes to DriveItems in the default document library of a SharePoint site. | `ONE_DRIVE_LIST_SITE_ITEMS_DELTA` | | Action | What it does | Slug | | - | - | - | | List site columns | List all column definitions for a SharePoint site. | `ONE_DRIVE_LIST_SITE_COLUMNS` | | Action | What it does | Slug | | - | - | - | | Get document comments | | `ONE_DRIVE_GET_DOCUMENT_COMMENTS` | | Action | What it does | Slug | | - | - | - | | Get site page content | Gets the content of a modern SharePoint site page. | `ONE_DRIVE_GET_SITE_PAGE_CONTENT` | | Action | What it does | Slug | | - | - | - | | Get drive | Retrieves the properties and relationships of a Drive resource by its unique ID. | `ONE_DRIVE_GET_DRIVE` | | Get group drive | Retrieve the document library (drive) for a Microsoft 365 group. | `ONE_DRIVE_GET_GROUP_DRIVE` | | List drives | Retrieve a list of Drive resources available to the authenticated user, or for a specific user, group, or site. | `ONE_DRIVE_LIST_DRIVES` | | Action | What it does | Slug | | - | - | - | | Download file | Downloads a file from a user's OneDrive using its item ID, which must refer to a file and not a folder. | `ONE_DRIVE_DOWNLOAD_FILE` | | Download file by path | Downloads the contents of a file from OneDrive by its path. | `ONE_DRIVE_DOWNLOAD_FILE_BY_PATH` | | OneDrive find file | Non-recursively finds an item (file or folder) in a specified OneDrive folder. | `ONE_DRIVE_ONEDRIVE_FIND_FILE` | | Action | What it does | Slug | | - | - | - | | Download item as format | Download the contents of a driveItem converted to a specific format (e.g., PDF or HTML). | `ONE_DRIVE_DOWNLOAD_ITEM_AS_FORMAT` | | Get drive item by sharing URL | Resolve a OneDrive/SharePoint sharing URL (or shareId) to a DriveItem with driveId and itemId. | `ONE_DRIVE_GET_DRIVE_ITEM_BY_SHARING_URL` | | Get followed item | Retrieve a specific followed driveItem from a drive. | `ONE_DRIVE_GET_FOLLOWED_ITEM` | | Get item | Retrieves the metadata of a DriveItem by its unique ID. | `ONE_DRIVE_GET_ITEM` | | Get recent items | Get files and folders recently accessed by the user. | `ONE_DRIVE_GET_RECENT_ITEMS` | | Get shared items | Retrieve items shared with the authenticated user (not items the user has shared with others). | `ONE_DRIVE_GET_SHARED_ITEMS` | | Get SharePoint list items | Get the items (list items) within a specific SharePoint list on a site. | `ONE_DRIVE_GET_SHAREPOINT_LIST_ITEMS` | | List all drive items | Recursively lists all files and folders in a OneDrive drive by traversing the entire folder hierarchy. | `ONE_DRIVE_LIST_ALL_DRIVE_ITEMS` | | List OneDrive shared items | | `ONE_DRIVE_LIST_ONEDRIVE_SHARED_ITEMS` | | OneDrive list items | Retrieves all files and folders as driveItem resources from the root of a specified user's OneDrive, automatically handling pagination. | `ONE_DRIVE_ONEDRIVE_LIST_ITEMS` | | Preview drive item | Generates or retrieves a short-lived, permission-bound embeddable URL for a preview of a specific item. | `ONE_DRIVE_PREVIEW_DRIVE_ITEM` | | Search drive items | | `ONE_DRIVE_SEARCH_DRIVE_ITEMS` | | Search items | Search OneDrive for files and folders by keyword. | `ONE_DRIVE_SEARCH_ITEMS` | | Action | What it does | Slug | | - | - | - | | Get special folder | Retrieve a special folder in OneDrive by name. | `ONE_DRIVE_GET_SPECIAL_FOLDER` | | List folder children | List the direct children (files/folders) of a OneDrive/SharePoint folder by DriveItem ID or path. | `ONE_DRIVE_LIST_FOLDER_CHILDREN` | | OneDrive find folder | Finds folders by name within an accessible parent folder in OneDrive, or lists all its direct child folders if no name is specified. | `ONE_DRIVE_ONEDRIVE_FIND_FOLDER` | | Action | What it does | Slug | | - | - | - | | List site lists | List all lists under a specific SharePoint site. | `ONE_DRIVE_LIST_SITE_LISTS` | | Action | What it does | Slug | | - | - | - | | Get item permissions | Retrieves the permissions of a DriveItem by its unique ID within a specific Drive. | `ONE_DRIVE_GET_ITEM_PERMISSIONS` | | List share permissions | Retrieve permission details for a shared OneDrive or SharePoint item using a share ID. | `ONE_DRIVE_LIST_SHARE_PERMISSIONS` | | List SharePoint item permissions | | `ONE_DRIVE_LIST_SHAREPOINT_ITEM_PERMISSIONS` | | Action | What it does | Slug | | - | - | - | | Get site | Retrieves metadata for a specific SharePoint site by its ID. | `ONE_DRIVE_GET_SITE` | | List site subsites | List all subsites of a SharePoint site. | `ONE_DRIVE_LIST_SITE_SUBSITES` | | Search SharePoint sites | | `ONE_DRIVE_SEARCH_SHAREPOINT_SITES` | | Action | What it does | Slug | | - | - | - | | List subscriptions | List the current subscriptions for the authenticated user or app. | `ONE_DRIVE_LIST_SUBSCRIPTIONS` | | Action | What it does | Slug | | - | - | - | | Inspect workbook table | | `ONE_DRIVE_INSPECT_WORKBOOK_TABLE` | | Action | What it does | Slug | | - | - | - | | Get item thumbnails | Retrieve the thumbnails associated with a DriveItem. | `ONE_DRIVE_GET_ITEM_THUMBNAILS` | | Action | What it does | Slug | | - | - | - | | Get user | Retrieves the properties and profile information for a specific Microsoft user by their user ID or user principal name. | `ONE_DRIVE_GET_USER` | | Action | What it does | Slug | | - | - | - | | Download item version | Download the contents of a specific previous version of a drive item (file). | `ONE_DRIVE_DOWNLOAD_ITEM_VERSION` | | Get item versions | Retrieve the version history of a DriveItem by its unique ID. | `ONE_DRIVE_GET_ITEM_VERSIONS` | | Action | What it does | Slug | | - | - | - | | Get workbook worksheet | Retrieves a specific worksheet from an Excel workbook stored in OneDrive or SharePoint using Microsoft Graph API. | `ONE_DRIVE_GET_WORKBOOK_WORKSHEET` | | List workbook worksheets | Retrieves a list of all worksheets in an Excel workbook stored in OneDrive or SharePoint. | `ONE_DRIVE_LIST_WORKBOOK_WORKSHEETS` | | Action | What it does | Slug | | - | - | - | | Get root | Retrieve metadata for the root folder of the signed-in user's OneDrive. | `ONE_DRIVE_GET_ROOT` | | Get share | Access a shared DriveItem or collection of shared items using a shareId or encoded sharing URL. | `ONE_DRIVE_GET_SHARE` | | List bundles | Retrieve a list of bundle resources from a specified drive. | `ONE_DRIVE_LIST_BUNDLES` | Teammates can use 75 of the 88 OneDrive actions at this level: everything in **Read-only**, plus: * Create, update, and delete files and folders * Update and delete cells and ranges * Create, update, and delete worksheets * Create files * Create and update sessions * Update content * Create folders * Update versions The 25 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Cells and ranges** | Clear workbook range | | `ONE_DRIVE_CLEAR_WORKBOOK_RANGE` | | | Delete workbook range | Deletes a range of cells from a worksheet in an Excel workbook stored in OneDrive. | `ONE_DRIVE_DELETE_WORKBOOK_RANGE` | | | Format workbook range | | `ONE_DRIVE_FORMAT_WORKBOOK_RANGE` | | | Update workbook range | Updates a range in a workbook worksheet using Microsoft Graph API. | `ONE_DRIVE_UPDATE_WORKBOOK_RANGE` | | | Write workbook cell | Updates the value, formula, or format of a specific cell in an Excel workbook stored in OneDrive. | `ONE_DRIVE_WRITE_WORKBOOK_CELL` | | **Content** | Update file content | Update an existing file's content in OneDrive. | `ONE_DRIVE_UPDATE_FILE_CONTENT` | | **Files** | OneDrive create text file | Creates a new plain-text file with specified content in the authenticated user's personal OneDrive, using either the folder's unique ID or its absolute path relative to the user's OneDrive root (paths are automatically resolved to IDs). | `ONE_DRIVE_ONEDRIVE_CREATE_TEXT_FILE` | | | OneDrive upload file | Uploads a file to a specified OneDrive folder, automatically creating the destination folder if it doesn't exist, renaming on conflict, and supporting large files via chunking. | `ONE_DRIVE_ONEDRIVE_UPLOAD_FILE` | | **Files and folders** | Checkin item | Check in a checked out driveItem resource, making the version of the document available to others. | `ONE_DRIVE_CHECKIN_ITEM` | | | Checkout item | Check out a driveItem to prevent others from editing it and make your changes invisible until checked in. | `ONE_DRIVE_CHECKOUT_ITEM` | | | Copy item | Copy a DriveItem (file or folder) to a new location asynchronously. | `ONE_DRIVE_COPY_ITEM` | | | Delete item | Delete a DriveItem (file or folder) by its unique ID from the authenticated user's OneDrive. | `ONE_DRIVE_DELETE_ITEM` | | | Follow item | Follow a driveItem (file or folder) in OneDrive or SharePoint. | `ONE_DRIVE_FOLLOW_ITEM` | | | Move item | Move a file or folder to a new parent folder in OneDrive. | `ONE_DRIVE_MOVE_ITEM` | | | Restore drive item | Restore a deleted OneDrive driveItem (file or folder) from the recycle bin. | `ONE_DRIVE_RESTORE_DRIVE_ITEM` | | | Unfollow item | Unfollow a driveItem by removing it from the user's followed items collection. | `ONE_DRIVE_UNFOLLOW_ITEM` | | | Update drive item metadata | Update the metadata of a specific item (file or folder) in OneDrive. | `ONE_DRIVE_UPDATE_DRIVE_ITEM_METADATA` | | **Folders** | OneDrive create folder | Creates a new folder in the user's OneDrive with configurable conflict behavior, optionally within a specified parent\_folder (by ID or full path from root) which, if not the root, must exist and be accessible. | `ONE_DRIVE_ONEDRIVE_CREATE_FOLDER` | | **Sessions** | Close workbook session | | `ONE_DRIVE_CLOSE_WORKBOOK_SESSION` | | | Create workbook session | | `ONE_DRIVE_CREATE_WORKBOOK_SESSION` | | **Versions** | Restore item version | | `ONE_DRIVE_RESTORE_ITEM_VERSION` | | **Worksheets** | Add workbook worksheet | Adds a new worksheet to an existing Excel workbook in OneDrive or SharePoint. | `ONE_DRIVE_ADD_WORKBOOK_WORKSHEET` | | | Delete workbook worksheet | Deletes a worksheet from a workbook in OneDrive by its ID or name. | `ONE_DRIVE_DELETE_WORKBOOK_WORKSHEET` | | | Update workbook worksheet | Updates properties of a worksheet in an Excel workbook stored in OneDrive. | `ONE_DRIVE_UPDATE_WORKBOOK_WORKSHEET` | | **Other actions** | Discard checkout | Discard the checkout of a driveItem, releasing it and discarding any changes made while checked out. | `ONE_DRIVE_DISCARD_CHECKOUT` | Teammates can use 88 of the 88 OneDrive actions at this level: everything in **Read + write**, plus: * Create, update, and delete roles and permissions * Update fields * Create links * Create users The 13 actions that this level adds to **Read + write**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Fields** | Update SharePoint list item fields | | `ONE_DRIVE_UPDATE_SHAREPOINT_LIST_ITEM_FIELDS` | | **Files and folders** | Create SharePoint list item | | `ONE_DRIVE_CREATE_SHAREPOINT_LIST_ITEM` | | | Delete item permanently | Permanently delete a driveItem by its ID without moving it to the recycle bin. | `ONE_DRIVE_DELETE_ITEM_PERMANENTLY` | | **Links** | Create link | Create a sharing link for a DriveItem (file or folder) by its unique ID. | `ONE_DRIVE_CREATE_LINK` | | **Roles and permissions** | Create item permission | Create a new permission on a OneDrive drive item. | `ONE_DRIVE_CREATE_ITEM_PERMISSION` | | | Delete item permission | Delete a permission from a drive item. | `ONE_DRIVE_DELETE_ITEM_PERMISSION` | | | Delete share permission | Delete the permission navigation property for a shared drive item. | `ONE_DRIVE_DELETE_SHARE_PERMISSION` | | | Delete SharePoint item permission | | `ONE_DRIVE_DELETE_SHAREPOINT_ITEM_PERMISSION` | | | Grant share permission | Grant users access to a link represented by a permission using an encoded sharing URL. | `ONE_DRIVE_GRANT_SHARE_PERMISSION` | | | Grant SharePoint item permission | | `ONE_DRIVE_GRANT_SHAREPOINT_ITEM_PERMISSION` | | | Update drive items permissions | Update the roles of an existing permission on a OneDrive drive item. | `ONE_DRIVE_UPDATE_DRIVE_ITEMS_PERMISSIONS` | | | Update SharePoint item permission | | `ONE_DRIVE_UPDATE_SHAREPOINT_ITEM_PERMISSION` | | **Users** | Invite user to item | Invite users or grant permissions to a specific item in a OneDrive drive. | `ONE_DRIVE_INVITE_USER_TO_ITEM` | ## Connect OneDrive Before you start: * You need an OneDrive account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **OneDrive** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect OneDrive**. The OneDrive sign-in page opens in a new tab. Sign in to OneDrive and approve the request. Check that it works: OneDrive shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the OneDrive account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the OneDrive account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one OneDrive account Click **+ Account** on the OneDrive card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the OneDrive side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on OneDrive**. 3. Sign in to OneDrive and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the OneDrive account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to OneDrive.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected OneDrive account becomes primary. ## Costs OneDrive actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to OneDrive, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the OneDrive connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each OneDrive account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the OneDrive card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the OneDrive account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to OneDrive.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Outlook Source: https://squad.so/docs/apps/outlook What teammates can do in Outlook at each access level, and how to connect, limit, and disconnect Outlook. Connect Outlook so your teammates can work in your Outlook account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Outlook account has an access level: **Read-only**, **Read + send**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as mail, calendars, contacts, Teams chats, and To Do lists. Cannot change anything." | 118 of 306 | | **Read + send** | "Write, reply to, and forward emails, and send drafts. Cannot change, move, or delete existing mail, or use the calendar or contacts." | 135 of 306 | | **Full access** (recommended) | "Everything, including organizing and deleting mail, rules, the calendar, contacts, and tasks." | 306 of 306 | **Full access** is the recommended level. The connect window selects it for you, and you can choose another level. The Outlook sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Outlook account?" The teammate can search the Outlook actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Outlook action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 118 of the 306 Outlook actions at this level: * View attachments * View and search emails * View calendars * View mail folders * View roles and permissions * View and search events * View contacts * View extensions * View change history * View views * View categories * View rules All 118 actions at this level: | Action | What it does | Slug | | - | - | - | | Who am I | | `OUTLOOK_WHO_AM_I` | | Action | What it does | Slug | | - | - | - | | Download Outlook attachment | Downloads a specific file attachment from an email message in a Microsoft Outlook mailbox. | `OUTLOOK_DOWNLOAD_OUTLOOK_ATTACHMENT` | | Get calendar event attachment | Retrieve a specific attachment from an event within a calendar. | `OUTLOOK_GET_CALENDAR_EVENT_ATTACHMENT` | | Get calendar group event attachment | Deprecated: Use OUTLOOK\_GET\_USER\_CALENDAR\_GROUP\_EVENT\_ATTACHMENT instead, which supports both /me and /users/\{user\_id} endpoints. | `OUTLOOK_GET_CALENDAR_GROUP_EVENT_ATTACHMENT` | | Get event attachment | Retrieve a specific attachment from an Outlook calendar event by attachment ID. | `OUTLOOK_GET_EVENT_ATTACHMENT` | | Get me event attachment | Retrieve a specific attachment from a user's calendar event. | `OUTLOOK_GET_ME_EVENT_ATTACHMENT` | | Get me mail folder message attachment | DEPRECATED: Use OUTLOOK\_GET\_USER\_MESSAGES\_ATTACHMENTS instead. | `OUTLOOK_GET_ME_MAIL_FOLDER_MESSAGE_ATTACHMENT` | | Get nested folder message attachment | Retrieve a specific attachment from a message located in a nested mail folder structure. | `OUTLOOK_GET_NESTED_FOLDER_MESSAGE_ATTACHMENT` | | Get user calendar group event attachment | Retrieve a specific attachment from an event within a calendar group for a user. | `OUTLOOK_GET_USER_CALENDAR_GROUP_EVENT_ATTACHMENT` | | Get user messages attachments | Retrieve a specific attachment from a message in a mail folder hierarchy. | `OUTLOOK_GET_USER_MESSAGES_ATTACHMENTS` | | List calendar event attachments | List attachments for a calendar event within a specific calendar for a user. | `OUTLOOK_LIST_CALENDAR_EVENT_ATTACHMENTS` | | List calendar group event attachments | List attachments for a calendar event within a specific calendar group for a user. | `OUTLOOK_LIST_CALENDAR_GROUP_EVENT_ATTACHMENTS` | | List event attachments | List attachments for a specific Outlook calendar event. | `OUTLOOK_LIST_EVENT_ATTACHMENTS` | | List mail folder message attachments | Get attachments from a message in a specific mail folder. | `OUTLOOK_LIST_MAIL_FOLDER_MESSAGE_ATTACHMENTS` | | List message attachments from child folder | List attachments from a message in a nested child mail folder. | `OUTLOOK_LIST_MESSAGE_ATTACHMENTS_FROM_CHILD_FOLDER` | | List Outlook attachments | Lists metadata (name, size, contentType, isInline. | `OUTLOOK_LIST_OUTLOOK_ATTACHMENTS` | | List user calendar events attachments | List attachments for a user's calendar event. | `OUTLOOK_LIST_USER_CALENDAR_EVENTS_ATTACHMENTS` | | Action | What it does | Slug | | - | - | - | | Get calendar | Deprecated: Use OUTLOOK\_GET\_USER\_CALENDAR instead, which supports both /me and /users/\{user\_id} endpoints and adds \$select field filtering. | `OUTLOOK_GET_CALENDAR` | | Get calendar from event | Retrieve the parent calendar that contains a specific event. | `OUTLOOK_GET_CALENDAR_FROM_EVENT` | | Get calendar from group | Retrieve a specific calendar from a calendar group in Microsoft Outlook. | `OUTLOOK_GET_CALENDAR_FROM_GROUP` | | Get event calendar from group | Retrieve the calendar that contains a specific event within a calendar group. | `OUTLOOK_GET_EVENT_CALENDAR_FROM_GROUP` | | Get me calendar | Get the properties and relationships of the signed-in user's default calendar. | `OUTLOOK_GET_ME_CALENDAR` | | Get me event calendar | Retrieve the calendar that contains a specific event. | `OUTLOOK_GET_ME_EVENT_CALENDAR` | | Get user calendar | Get the properties and relationships of a specific calendar for a user. | `OUTLOOK_GET_USER_CALENDAR` | | List calendar group calendars | Retrieve calendars belonging to a specific calendar group. | `OUTLOOK_LIST_CALENDAR_GROUP_CALENDARS` | | List calendars | List calendars in the signed-in user's mailbox. | `OUTLOOK_LIST_CALENDARS` | | Action | What it does | Slug | | - | - | - | | Get master categories | Retrieve the user's master category list. | `OUTLOOK_GET_MASTER_CATEGORIES` | | Get master category | Retrieve properties of a specific category from the user's master category list. | `OUTLOOK_GET_MASTER_CATEGORY` | | List master categories | Deprecated: Use OUTLOOK\_GET\_MASTER\_CATEGORIES instead, which adds pagination (top/skip), filtering, field selection, and sorting. | `OUTLOOK_LIST_MASTER_CATEGORIES` | | Action | What it does | Slug | | - | - | - | | Get mail delta | Retrieve incremental changes (delta) of messages in a mailbox. | `OUTLOOK_GET_MAIL_DELTA` | | List calendar view delta | Get calendar events that have been added, deleted, or updated in a calendar view. | `OUTLOOK_LIST_CALENDAR_VIEW_DELTA` | | List contact folders delta | Get contact folders that have been added, deleted, or updated. | `OUTLOOK_LIST_CONTACT_FOLDERS_DELTA` | | List contacts delta | Retrieve incremental changes (delta) of contacts in a specified folder. | `OUTLOOK_LIST_CONTACTS_DELTA` | | List mail folders delta | Get incremental changes to mail folders. | `OUTLOOK_LIST_MAIL_FOLDERS_DELTA` | | Action | What it does | Slug | | - | - | - | | List chats | List Teams chats. | `OUTLOOK_LIST_CHATS` | | Action | What it does | Slug | | - | - | - | | Get contact from folder | Retrieve a specific contact from a contact folder by its ID. | `OUTLOOK_GET_CONTACT_FROM_FOLDER` | | Get me contact from child folder | Retrieve a specific contact from a nested child folder within a contact folder. | `OUTLOOK_GET_ME_CONTACT_FROM_CHILD_FOLDER` | | Get me contacts | Retrieves a specific Outlook contact by its contact\_id from the contacts of a specified user\_id (defaults to 'me' for the authenticated user). | `OUTLOOK_GET_ME_CONTACTS` | | List child folder contacts | Retrieve contacts from a user's child contact folder. | `OUTLOOK_LIST_CHILD_FOLDER_CONTACTS` | | List contacts | DEPRECATED: Use OUTLOOK\_LIST\_USER\_CONTACTS instead. | `OUTLOOK_LIST_CONTACTS` | | List user contacts | Retrieve contacts from a specific user's mailbox. | `OUTLOOK_LIST_USER_CONTACTS` | | Action | What it does | Slug | | - | - | - | | Get child folder message content | Get the MIME content of a message from a child mail folder. | `OUTLOOK_GET_CHILD_FOLDER_MESSAGE_CONTENT` | | Get me message mime content | Get the MIME content of a message. | `OUTLOOK_GET_ME_MESSAGE_MIME_CONTENT` | | Action | What it does | Slug | | - | - | - | | Get child folder message | Retrieve a specific email message from a child mail folder. | `OUTLOOK_GET_CHILD_FOLDER_MESSAGE` | | Get mail folder message | Retrieve a specific message from a mail folder by its ID. | `OUTLOOK_GET_MAIL_FOLDER_MESSAGE` | | Get mail tips | Retrieve mail tips such as automatic replies and mailbox full status. | `OUTLOOK_GET_MAIL_TIPS` | | Get message | Retrieves a specific email message by its ID from the specified user's Outlook mailbox. | `OUTLOOK_GET_MESSAGE` | | Get user child folder message | Retrieve a specific message from a child folder within a user's mail folder hierarchy. | `OUTLOOK_GET_USER_CHILD_FOLDER_MESSAGE` | | List chat messages | List messages in a Teams chat. | `OUTLOOK_LIST_CHAT_MESSAGES` | | List child folder messages | List messages from a child folder within a parent mail folder. | `OUTLOOK_LIST_CHILD_FOLDER_MESSAGES` | | List mail folder messages | List messages from a specific mail folder including subfolders. | `OUTLOOK_LIST_MAIL_FOLDER_MESSAGES` | | List messages | Retrieves a list of email messages from a specified mail folder in an Outlook mailbox, with options for filtering (including by conversationId to get all messages in a thread), pagination, and sorting. | `OUTLOOK_LIST_MESSAGES` | | List sent items messages | List all messages in the SentItems mail folder of the signed-in user's mailbox. | `OUTLOOK_LIST_SENT_ITEMS_MESSAGES` | | Query emails | Query Outlook emails within a SINGLE folder using OData filters. | `OUTLOOK_QUERY_EMAILS` | | Search messages | Search Outlook messages using powerful KQL syntax. | `OUTLOOK_SEARCH_MESSAGES` | | Action | What it does | Slug | | - | - | - | | Get calendar event | Retrieve a specific event from a specified calendar. | `OUTLOOK_GET_CALENDAR_EVENT` | | Get event | Retrieves the full details of a specific calendar event by its ID from a user's Outlook calendar, provided the event exists. | `OUTLOOK_GET_EVENT` | | Get user calendar event | Retrieve a specific calendar event from a user's primary calendar. | `OUTLOOK_GET_USER_CALENDAR_EVENT` | | Get user calendar group event | Retrieve a specific event from a user's calendar within a calendar group. | `OUTLOOK_GET_USER_CALENDAR_GROUP_EVENT` | | List calendar group calendar events | List events from a specific calendar within a calendar group for a user. | `OUTLOOK_LIST_CALENDAR_GROUP_CALENDAR_EVENTS` | | List event instances | Retrieve individual occurrences of a recurring calendar event within a specified time range. | `OUTLOOK_LIST_EVENT_INSTANCES` | | List events | Retrieves events from a user's Outlook calendar via Microsoft Graph API. | `OUTLOOK_LIST_EVENTS` | | List me event instances | DEPRECATED: Use OUTLOOK\_LIST\_EVENT\_INSTANCES instead. | `OUTLOOK_LIST_ME_EVENT_INSTANCES` | | List user calendar event instances | Retrieve instances (occurrences) of a recurring event from a specific calendar within a date range. | `OUTLOOK_LIST_USER_CALENDAR_EVENT_INSTANCES` | | List user calendar group event instances | List instances (occurrences) of a recurring event within a specified date range from a user's calendar in a calendar group. | `OUTLOOK_LIST_USER_CALENDAR_GROUP_EVENT_INSTANCES` | | List user calendars events | Retrieve events from a specific calendar for a user. | `OUTLOOK_LIST_USER_CALENDARS_EVENTS` | | Search events | | `OUTLOOK_SEARCH_EVENTS` | | Action | What it does | Slug | | - | - | - | | Get calendar group calendar event extension | Retrieve an open extension from a calendar event within a specific calendar group and calendar. | `OUTLOOK_GET_CALENDAR_GROUP_CALENDAR_EVENT_EXTENSION` | | Get contact extension | Retrieve an open extension from a contact in Microsoft Graph. | `OUTLOOK_GET_CONTACT_EXTENSION` | | Get me contacts extensions | Retrieve a specific open extension from a user's contact. | `OUTLOOK_GET_ME_CONTACTS_EXTENSIONS` | | Get me mail folders messages extensions | Retrieve a specific extension from a message in a user's mailbox. | `OUTLOOK_GET_ME_MAIL_FOLDERS_MESSAGES_EXTENSIONS` | | Get message extension | Retrieve a specific extension from a user's message. | `OUTLOOK_GET_MESSAGE_EXTENSION` | | Get user event extension | Retrieve a specific open type extension from a user's calendar event by its extension ID or name. | `OUTLOOK_GET_USER_EVENT_EXTENSION` | | Action | What it does | Slug | | - | - | - | | Get calendar group | Retrieve the properties and relationships of a calendar group object. | `OUTLOOK_GET_CALENDAR_GROUP` | | List calendar groups | List calendar groups in the signed-in user's mailbox. | `OUTLOOK_LIST_CALENDAR_GROUPS` | | Action | What it does | Slug | | - | - | - | | Get supported languages | Retrieve supported languages in the user's mailbox. | `OUTLOOK_GET_SUPPORTED_LANGUAGES` | | Action | What it does | Slug | | - | - | - | | List to do lists | List Microsoft To Do task lists for the signed-in user. | `OUTLOOK_LIST_TO_DO_LISTS` | | Action | What it does | Slug | | - | - | - | | Get child mail folder | Retrieve a specific child mail folder from a parent mail folder. | `OUTLOOK_GET_CHILD_MAIL_FOLDER` | | Get contact folder | Retrieve a specific contact folder by ID. | `OUTLOOK_GET_CONTACT_FOLDER` | | Get contact folders | Retrieve contact folders from a specific user's mailbox. | `OUTLOOK_GET_CONTACT_FOLDERS` | | Get drafts mail folder | Get the drafts mail folder. | `OUTLOOK_GET_DRAFTS_MAIL_FOLDER` | | Get mail folder | Retrieve a mail folder by ID or well-known name. | `OUTLOOK_GET_MAIL_FOLDER` | | Get me contact folders child folder | Retrieve a specific child contact folder for a user by ID. | `OUTLOOK_GET_ME_CONTACT_FOLDERS_CHILD_FOLDER` | | List child mail folders | List subfolders (childFolders) under a specified Outlook mail folder. | `OUTLOOK_LIST_CHILD_MAIL_FOLDERS` | | List contact folder child folders | List child folders under a specified contact folder. | `OUTLOOK_LIST_CONTACT_FOLDER_CHILD_FOLDERS` | | List mail folders | List a user's top-level mail folders. | `OUTLOOK_LIST_MAIL_FOLDERS` | | Action | What it does | Slug | | - | - | - | | Find meeting times | Suggests meeting times based on organizer and attendee availability, time constraints, and duration requirements. | `OUTLOOK_FIND_MEETING_TIMES` | | Action | What it does | Slug | | - | - | - | | Get me contact photo | Get the binary media content of a contact's profile photo. | `OUTLOOK_GET_ME_CONTACT_PHOTO` | | Action | What it does | Slug | | - | - | - | | Get profile | Retrieves the Microsoft Outlook profile for a specified user. | `OUTLOOK_GET_PROFILE` | | Action | What it does | Slug | | - | - | - | | List reminders | Retrieve reminders for events occurring within a specified time range. | `OUTLOOK_LIST_REMINDERS` | | Action | What it does | Slug | | - | - | - | | Get calendar permission | Retrieve a specific calendar permission for a user's calendar. | `OUTLOOK_GET_CALENDAR_PERMISSION` | | Get calendar permission from calendar | Retrieve a specific calendar permission from a user's calendar. | `OUTLOOK_GET_CALENDAR_PERMISSION_FROM_CALENDAR` | | Get user calendar allowed sharing roles | Retrieve allowed calendar sharing roles for a specific user on a given calendar. | `OUTLOOK_GET_USER_CALENDAR_ALLOWED_SHARING_ROLES` | | Get user calendar group calendar permission | Retrieve a specific calendar permission for a user's calendar within a calendar group. | `OUTLOOK_GET_USER_CALENDAR_GROUP_CALENDAR_PERMISSION` | | List calendar permissions | List calendar permissions for a specific calendar within a calendar group. | `OUTLOOK_LIST_CALENDAR_PERMISSIONS` | | List event calendar permissions | List calendar permissions for the calendar containing a specific event. | `OUTLOOK_LIST_EVENT_CALENDAR_CALENDAR_PERMISSIONS` | | List me calendar permissions | List calendar permissions for a specific user's calendar. | `OUTLOOK_LIST_ME_CALENDAR_PERMISSIONS` | | List primary calendar permissions | List calendar permissions from a user's primary calendar. | `OUTLOOK_LIST_PRIMARY_CALENDAR_PERMISSIONS` | | List user calendar permissions | List calendar permissions for a specific user's specific calendar. | `OUTLOOK_LIST_USER_CALENDARS_CALENDAR_PERMISSIONS` | | Action | What it does | Slug | | - | - | - | | Get mail folder message rule | Retrieve a specific message rule from a user's mail folder. | `OUTLOOK_GET_MAIL_FOLDER_MESSAGE_RULE` | | List email rules | List all email rules from inbox. | `OUTLOOK_LIST_EMAIL_RULES` | | List mail folder message rules | List message rules for a specific mail folder. | `OUTLOOK_LIST_MAIL_FOLDER_MESSAGE_RULES` | | Action | What it does | Slug | | - | - | - | | Get calendar group schedule | Retrieve free/busy schedule information for a specific user's calendar within a calendar group. | `OUTLOOK_GET_CALENDAR_GROUP_SCHEDULE` | | Get calendar schedule | Get free/busy schedule information for users, distribution lists, or resources. | `OUTLOOK_GET_CALENDAR_SCHEDULE` | | Get schedule | Retrieves free/busy schedule information for specified email addresses within a defined time window. | `OUTLOOK_GET_SCHEDULE` | | Action | What it does | Slug | | - | - | - | | Get mailbox settings | Retrieve mailbox settings. | `OUTLOOK_GET_MAILBOX_SETTINGS` | | Action | What it does | Slug | | - | - | - | | List todo tasks | List tasks within a specified Microsoft To Do task list, including status and due dates. | `OUTLOOK_LIST_TODO_TASKS` | | Action | What it does | Slug | | - | - | - | | Get user by email | | `OUTLOOK_GET_USER_BY_EMAIL` | | List users | List users in Microsoft Entra ID. | `OUTLOOK_LIST_USERS` | | Action | What it does | Slug | | - | - | - | | Get calendar view | Get events ACTIVE during a time window (includes multi-day events). | `OUTLOOK_GET_CALENDAR_VIEW` | | List calendar view | DEPRECATED: Use OUTLOOK\_LIST\_ME\_CALENDARS\_CALENDAR\_VIEW instead. | `OUTLOOK_LIST_CALENDAR_CALENDAR_VIEW` | | List user calendar groups calendar view | Get calendar view from a specific calendar within a calendar group for a user. | `OUTLOOK_LIST_USER_CALENDAR_GROUPS_CALENDAR_VIEW` | | List user calendar view | Get calendar view from a specific user's calendar. | `OUTLOOK_LIST_USER_CALENDAR_VIEW` | | Action | What it does | Slug | | - | - | - | | Get inference classification | Get inference classification settings for the authenticated user. | `OUTLOOK_GET_INFERENCE_CLASSIFICATION` | | Get me Outlook | Retrieve the outlookUser object for a specified user. | `OUTLOOK_GET_ME_OUTLOOK` | | Get supported time zones | Get the list of time zones supported for a user as configured on their mailbox server. | `OUTLOOK_GET_SUPPORTED_TIME_ZONES` | | List inference classification overrides | List inference classification overrides that control Focused Inbox sender rules. | `OUTLOOK_LIST_INFERENCE_CLASSIFICATION_OVERRIDES` | | List places | Retrieves a collection of place objects defined in a tenant by type. | `OUTLOOK_LIST_PLACES` | Teammates can use 135 of the 306 Outlook actions at this level: everything in **Read-only**, plus: * Create and send drafts * Send emails * Send replies The 17 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Drafts** | Create draft | Creates a new Outlook email draft with subject, body, recipients, and an optional attachment. | `OUTLOOK_CREATE_DRAFT` | | | Create forward draft | Create a forward draft of an Outlook message for a specific user. | `OUTLOOK_CREATE_FORWARD_DRAFT` | | | Create me forward draft | Create a draft forward of an existing message. | `OUTLOOK_CREATE_ME_FORWARD_DRAFT` | | | Create me mail folder message reply all draft | Deprecated: Use OUTLOOK\_CREATE\_REPLY\_ALL\_DRAFT instead, which supports both /me and /users/\{user\_id} endpoints with timezone support. | `OUTLOOK_CREATE_ME_MAIL_FOLDER_MESSAGE_REPLY_ALL_DRAFT` | | | Create me message reply all draft | Create a draft reply-all to a user's message. | `OUTLOOK_CREATE_ME_MESSAGE_REPLY_ALL_DRAFT` | | | Create me reply all draft | Create a draft reply-all to a message in a child folder. | `OUTLOOK_CREATE_ME_REPLY_ALL_DRAFT` | | | Create me reply draft | Deprecated: Use OUTLOOK\_CREATE\_DRAFT\_REPLY instead, which adds comment, cc\_emails, and bcc\_emails support. | `OUTLOOK_CREATE_ME_REPLY_DRAFT` | | | Create reply all draft | Create a reply-all draft for a message in a mail folder. | `OUTLOOK_CREATE_REPLY_ALL_DRAFT` | | | Create user mail folder message reply draft | Create a reply draft for a message in a user's mail folder. | `OUTLOOK_CREATE_USER_MAIL_FOLDER_MESSAGE_REPLY_DRAFT` | | | Send draft | Send an existing draft message. | `OUTLOOK_SEND_DRAFT` | | **Emails** | Create mail folder message | Create a new message in a specific mail folder. | `OUTLOOK_CREATE_MAIL_FOLDER_MESSAGE` | | | Create me child folder message | Create a new draft message in a child folder within a user's mail folder. | `OUTLOOK_CREATE_ME_CHILD_FOLDER_MESSAGE` | | | Create user message | Create a new draft message in a user's mailbox. | `OUTLOOK_CREATE_USER_MESSAGE` | | | Forward message | Forward a message. | `OUTLOOK_FORWARD_MESSAGE` | | | Reply email | Sends a reply to an Outlook email message with optional HTML formatting, identified by message\_id, allowing optional CC and BCC recipients. | `OUTLOOK_REPLY_EMAIL` | | | Send email | Sends an email with subject, body, recipients, and optional attachments via Microsoft Graph API. | `OUTLOOK_SEND_EMAIL` | | **Replies** | Create draft reply | Creates a draft reply in the specified user's Outlook mailbox to an existing message (identified by a valid message\_id), optionally including a comment and CC/BCC recipients. | `OUTLOOK_CREATE_DRAFT_REPLY` | Teammates can use 306 of the 306 Outlook actions at this level: everything in **Read + send**, plus: * Create, update, and delete extensions * Create, update, delete, send, and cancel events * Create and delete attachments * Create, update, and delete emails * Create, update, and delete mail folders * Create, update, and delete contacts * Create, update, and delete roles and permissions * Update and manage reminders * Create, update, and delete calendars * Create sessions * Create, update, and delete rules * Create, update, and delete categories The 171 actions that this level adds to **Read + send**: | Action | What it does | Slug | | - | - | - | | Add event attachment | Adds an attachment to a specific Outlook calendar event. | `OUTLOOK_ADD_EVENT_ATTACHMENT` | | Add mail attachment | Add an attachment to an email message. | `OUTLOOK_ADD_MAIL_ATTACHMENT` | | Create calendar event attachment | Create a new attachment for an event in a specific calendar. | `OUTLOOK_CREATE_CALENDAR_EVENT_ATTACHMENT` | | Create calendar group calendar event attachment | Create a new attachment for an event in a calendar within a calendar group for a specific user. | `OUTLOOK_CREATE_CALENDAR_GROUP_CALENDAR_EVENT_ATTACHMENT` | | Create event attachment | Create a new attachment for a user's calendar event. | `OUTLOOK_CREATE_EVENT_ATTACHMENT` | | Create mail folder message attachment | Add an attachment to a message in a specific mail folder. | `OUTLOOK_CREATE_MAIL_FOLDER_MESSAGE_ATTACHMENT` | | Create message attachment | Create an attachment for a message. | `OUTLOOK_CREATE_MESSAGE_ATTACHMENT` | | Create user calendar event attachment | Create a new attachment for an event in a specific user's calendar. | `OUTLOOK_CREATE_USER_CALENDAR_EVENT_ATTACHMENT` | | Create user message attachment | Create an attachment on a message in a user's mail folder. | `OUTLOOK_CREATE_USER_MESSAGE_ATTACHMENT` | | Delete calendar event attachment | Delete user calendar event attachment. | `OUTLOOK_DELETE_CALENDAR_EVENT_ATTACHMENT` | | Delete calendar group event attachment | Delete an attachment from an event in a calendar within a calendar group. | `OUTLOOK_DELETE_CALENDAR_GROUP_EVENT_ATTACHMENT` | | Delete event attachment | Delete an attachment from an Outlook calendar event. | `OUTLOOK_DELETE_EVENT_ATTACHMENT` | | Delete me events attachments | Delete an attachment from a user's Outlook event. | `OUTLOOK_DELETE_ME_EVENTS_ATTACHMENTS` | | Delete me mail folders messages attachments | DEPRECATED: Use OUTLOOK\_DELETE\_MESSAGE\_ATTACHMENT instead. | `OUTLOOK_DELETE_ME_MAIL_FOLDERS_MESSAGES_ATTACHMENTS` | | Delete me messages attachments | Delete an attachment from a message. | `OUTLOOK_DELETE_ME_MESSAGES_ATTACHMENTS` | | Delete message attachment | Delete an attachment from a message in a nested mail folder structure. | `OUTLOOK_DELETE_MESSAGE_ATTACHMENT` | | Delete user message attachment | Deprecated: Use OUTLOOK\_DELETE\_ME\_MESSAGES\_ATTACHMENTS instead, which supports both /me and /users/\{user\_id} endpoints. | `OUTLOOK_DELETE_USER_MESSAGE_ATTACHMENT` | | Action | What it does | Slug | | - | - | - | | Create calendar | Create a new calendar in the signed-in user's mailbox. | `OUTLOOK_CREATE_CALENDAR` | | Create user calendar group calendar | Create a new calendar in a calendar group for a specific user. | `OUTLOOK_CREATE_USER_CALENDAR_GROUP_CALENDAR` | | Delete calendar | Delete a calendar other than the default calendar from a user's mailbox. | `OUTLOOK_DELETE_CALENDAR` | | Delete calendar from group | Delete a calendar from a specific user's calendar group in Microsoft Outlook. | `OUTLOOK_DELETE_CALENDAR_FROM_GROUP` | | Delete calendar permanently | Permanently deletes a calendar from a user's mailbox. | `OUTLOOK_DELETE_CALENDAR_PERMANENTLY` | | Update calendar groups calendars | Update a calendar within a calendar group in a user's mailbox. | `OUTLOOK_UPDATE_CALENDAR_GROUPS_CALENDARS` | | Update user calendar | Update the properties of a user's calendar. | `OUTLOOK_UPDATE_USER_CALENDAR` | | Update user calendars | Update properties of a specific calendar by ID for a specific user. | `OUTLOOK_UPDATE_USER_CALENDARS` | | Action | What it does | Slug | | - | - | - | | Create master category | DEPRECATED: Use OUTLOOK\_CREATE\_USER\_MASTER\_CATEGORY instead. | `OUTLOOK_CREATE_MASTER_CATEGORY` | | Create user master category | Create a new category in a user's master category list. | `OUTLOOK_CREATE_USER_MASTER_CATEGORY` | | Delete master category | Delete a category from the user's master category list. | `OUTLOOK_DELETE_MASTER_CATEGORY` | | Update master category | Update the color of a category in the user's master category list. | `OUTLOOK_UPDATE_MASTER_CATEGORY` | | Action | What it does | Slug | | - | - | - | | Create contact | Creates a new contact in a Microsoft Outlook user's contacts folder. | `OUTLOOK_CREATE_CONTACT` | | Create me contact folders contacts | Create a new contact in a specific user's contact folder. | `OUTLOOK_CREATE_ME_CONTACT_FOLDERS_CONTACTS` | | Create me contact in child folder | Create a new contact in a child folder within a contact folder. | `OUTLOOK_CREATE_ME_CONTACT_IN_CHILD_FOLDER` | | Delete contact | Permanently deletes an existing contact, using its contact\_id (obtainable via 'List User Contacts' or 'Get Contact'), from the Outlook contacts of the user specified by user\_id. | `OUTLOOK_DELETE_CONTACT` | | Delete contact folder contact | Permanently delete a contact from a specific contact folder. | `OUTLOOK_DELETE_CONTACT_FOLDER_CONTACT` | | Delete contact from child folder permanently | Permanently delete a contact from a child folder for a specific user. | `OUTLOOK_DELETE_CONTACT_FROM_CHILD_FOLDER_PERMANENTLY` | | Delete contact from folder permanently | Permanently deletes a contact from a specific contact folder. | `OUTLOOK_DELETE_CONTACT_FROM_FOLDER_PERMANENTLY` | | Delete contact permanently | Permanently deletes a contact. | `OUTLOOK_DELETE_CONTACT_PERMANENTLY` | | Delete user child folder contact | Delete a contact from a child folder in a user's contact folder. | `OUTLOOK_DELETE_USER_CHILD_FOLDER_CONTACT` | | Update child folder contact | Update a contact in a child contact folder within a parent contact folder. | `OUTLOOK_UPDATE_CHILD_FOLDER_CONTACT` | | Update contact | Updates an existing Outlook contact, identified by contact\_id for the specified user\_id, requiring at least one other field to be modified. | `OUTLOOK_UPDATE_CONTACT` | | Update contact folders contacts | Update a contact within a specific contact folder. | `OUTLOOK_UPDATE_CONTACT_FOLDERS_CONTACTS` | | Action | What it does | Slug | | - | - | - | | Batch move messages | Batch-move up to 20 Outlook messages to a destination folder in a single Microsoft Graph \$batch call. | `OUTLOOK_BATCH_MOVE_MESSAGES` | | Batch update messages | Batch-update up to 20 Outlook messages per call using Microsoft Graph JSON batching. | `OUTLOOK_BATCH_UPDATE_MESSAGES` | | Copy message | Copy an email message to another folder within the user's mailbox. | `OUTLOOK_COPY_MESSAGE` | | Copy message from child folder | Copy an email message from a child folder (nested folder) to another folder within the user's mailbox. | `OUTLOOK_COPY_MESSAGE_FROM_CHILD_FOLDER` | | Copy message from mail folder | Copy a message from a specific user's mail folder to another folder. | `OUTLOOK_COPY_MESSAGE_FROM_MAIL_FOLDER` | | Delete child folder message | Delete a message from a child mail folder in Outlook. | `OUTLOOK_DELETE_CHILD_FOLDER_MESSAGE` | | Delete mail folder message | Delete a message from a specific mail folder in Outlook. | `OUTLOOK_DELETE_MAIL_FOLDER_MESSAGE` | | Delete me mail folders child folders messages extens | Delete user message extension. | `OUTLOOK_DELETE_ME_MAIL_FOLDERS_CHILD_FOLDERS_MESSAGES_EXTENS` | | Delete message | Permanently delete an Outlook email message by its message\_id. | `OUTLOOK_DELETE_MESSAGE` | | Delete message permanently from folder | DEPRECATED: Use OUTLOOK\_PERMANENT\_DELETE\_MESSAGE instead. | `OUTLOOK_DELETE_MESSAGE_PERMANENTLY_FROM_FOLDER` | | Delete user child folder message permanently | Permanently delete a message from a user's child mail folder in Outlook. | `OUTLOOK_DELETE_USER_CHILD_FOLDER_MESSAGE_PERMANENTLY` | | Move message | Move a message to another folder within the specified user's mailbox. | `OUTLOOK_MOVE_MESSAGE` | | Move message from child folder | Move a message from a child folder to another destination folder. | `OUTLOOK_MOVE_MESSAGE_FROM_CHILD_FOLDER` | | Move message from folder | Move a message from a specific mail folder to another destination folder. | `OUTLOOK_MOVE_MESSAGE_FROM_FOLDER` | | Permanent delete message | Permanently deletes an Outlook message by moving it to the Purges folder in the dumpster. | `OUTLOOK_PERMANENT_DELETE_MESSAGE` | | Pin message | Pin a message in an Outlook chat. | `OUTLOOK_PIN_MESSAGE` | | Update email | Updates specified properties of an existing email message. | `OUTLOOK_UPDATE_EMAIL` | | Update user child folder message | Update a message in a child folder within a user's mailbox. | `OUTLOOK_UPDATE_USER_CHILD_FOLDER_MESSAGE` | | Update user mail folder message | Update properties of a message in a specific mail folder for a user. | `OUTLOOK_UPDATE_USER_MAIL_FOLDER_MESSAGE` | | Action | What it does | Slug | | - | - | - | | Accept event | Accepts or tentatively accepts a calendar meeting invite on behalf of a user. | `OUTLOOK_ACCEPT_EVENT` | | Calendar create event | Creates a new Outlook calendar event, ensuring start\_datetime is chronologically before end\_datetime. | `OUTLOOK_CALENDAR_CREATE_EVENT` | | Cancel calendar event | Cancel an event in a specific calendar for a specified user and send cancellation notifications to all attendees. | `OUTLOOK_CANCEL_CALENDAR_EVENT` | | Cancel calendar group calendar event | Cancel an event in a user's calendar within a calendar group and send cancellation notifications to all attendees. | `OUTLOOK_CANCEL_CALENDAR_GROUP_CALENDAR_EVENT` | | Cancel event | Cancel a calendar event for a specified user and send cancellation notifications to all attendees. | `OUTLOOK_CANCEL_EVENT` | | Create calendar event | DEPRECATED: Use OUTLOOK\_CREATE\_USER\_CALENDAR\_CALENDAR\_EVENT instead. | `OUTLOOK_CREATE_CALENDAR_EVENT` | | Create calendar event in calendar | Create a new event in a specific calendar for a user. | `OUTLOOK_CREATE_CALENDAR_EVENT_IN_CALENDAR` | | Create me event | Create a new calendar event for a specific user. | `OUTLOOK_CREATE_ME_EVENT` | | Create user calendar group event | Create a new calendar event in a specific user's calendar within a calendar group. | `OUTLOOK_CREATE_USER_CALENDAR_GROUP_EVENT` | | Decline event | Decline an invitation to a calendar event. | `OUTLOOK_DECLINE_EVENT` | | Delete calendar event | Delete a calendar event from a user's Outlook calendar. | `OUTLOOK_DELETE_CALENDAR_EVENT` | | Delete calendar event from specific calendar | Delete an event from a specific calendar in Outlook. | `OUTLOOK_DELETE_CALENDAR_EVENT_FROM_SPECIFIC_CALENDAR` | | Delete calendar group calendar event | Delete a calendar event from a specific user's calendar within a calendar group. | `OUTLOOK_DELETE_CALENDAR_GROUP_CALENDAR_EVENT` | | Delete calendar group event permanently | Permanently delete a calendar event from a calendar within a calendar group. | `OUTLOOK_DELETE_CALENDAR_GROUP_EVENT_PERMANENTLY` | | Delete event | DEPRECATED: Use OUTLOOK\_DELETE\_CALENDAR\_EVENT instead. | `OUTLOOK_DELETE_EVENT` | | Delete event permanently | Permanently deletes a calendar event. | `OUTLOOK_DELETE_EVENT_PERMANENTLY` | | Delete user calendar event permanently | Permanently delete a calendar event from a specific user's calendar. | `OUTLOOK_DELETE_USER_CALENDAR_EVENT_PERMANENTLY` | | Delete user event permanently | Permanently delete a calendar event for a specified user. | `OUTLOOK_DELETE_USER_EVENT_PERMANENTLY` | | Forward user calendar event | Forward a calendar event from a specific user's calendar to new recipients. | `OUTLOOK_FORWARD_USER_CALENDAR_EVENT` | | Update calendar event | Updates specified fields of an existing Outlook calendar event. | `OUTLOOK_UPDATE_CALENDAR_EVENT` | | Update calendar event in calendar | Update an event in a specific Outlook calendar. | `OUTLOOK_UPDATE_CALENDAR_EVENT_IN_CALENDAR` | | Update calendar groups calendars events | Update an event in a calendar within a calendar group for a specific user. | `OUTLOOK_UPDATE_CALENDAR_GROUPS_CALENDARS_EVENTS` | | Update user calendar event | Deprecated: Use OUTLOOK\_UPDATE\_CALENDAR\_EVENT\_IN\_CALENDAR instead, which supports both /me and /users/\{user\_id} endpoints and additional fields (is\_all\_day, importance, sensitivity, reminders). | `OUTLOOK_UPDATE_USER_CALENDAR_CALENDAR_EVENT` | | Update user calendar event | Update an event in a specific user's calendar. | `OUTLOOK_UPDATE_USER_CALENDAR_EVENT` | | Action | What it does | Slug | | - | - | - | | Create calendar group calendar event extension | Create a new open extension on a calendar event within a specific calendar group and calendar. | `OUTLOOK_CREATE_CALENDAR_GROUP_CALENDAR_EVENT_EXTENSION` | | Create me calendar event extension | Create a new open extension on a calendar event for a specific user. | `OUTLOOK_CREATE_ME_CALENDAR_EVENT_EXTENSION` | | Create me contact folders contacts extensions | Create a new open extension on a contact within a user's contact folder. | `OUTLOOK_CREATE_ME_CONTACT_FOLDERS_CONTACTS_EXTENSIONS` | | Create me contact folders extensions | Create a new open extension on a contact within a child folder. | `OUTLOOK_CREATE_ME_CONTACT_FOLDERS_EXTENSIONS` | | Create user contacts extensions | Create a new open extension on a specific user's contact. | `OUTLOOK_CREATE_USER_CONTACTS_EXTENSIONS` | | Create user mail folder message extension | Create a new open extension on a message in a user's mail folder. | `OUTLOOK_CREATE_USER_MAIL_FOLDER_MESSAGE_EXTENSION` | | Delete contacts extensions | Delete a navigation property extension from a contact within a child folder. | `OUTLOOK_DELETE_CONTACTS_EXTENSIONS` | | Delete event extension | Delete an open extension from a calendar event in a calendar group. | `OUTLOOK_DELETE_EVENT_EXTENSION` | | Delete me contact extension | Delete an open extension from a contact. | `OUTLOOK_DELETE_ME_CONTACT_EXTENSION` | | Delete me contact folder contact extension | Delete an extension from a contact in a user's contact folder. | `OUTLOOK_DELETE_ME_CONTACT_FOLDER_CONTACT_EXTENSION` | | Delete me event extension | Delete an open extension from a user's calendar event. | `OUTLOOK_DELETE_ME_EVENT_EXTENSION` | | Delete me mail folders messages extensions | Delete a navigation property extension from a message within a mail folder. | `OUTLOOK_DELETE_ME_MAIL_FOLDERS_MESSAGES_EXTENSIONS` | | Delete message extension | Delete an open extension from an Outlook message. | `OUTLOOK_DELETE_MESSAGE_EXTENSION` | | Delete user contact extension | Deprecated: Use OUTLOOK\_DELETE\_CONTACTS\_EXTENSIONS instead, which supports both /me and /users/\{user\_id} endpoints. | `OUTLOOK_DELETE_USER_CONTACT_EXTENSION` | | Update event extension | Update an open extension on a calendar event in Microsoft Graph. | `OUTLOOK_UPDATE_EVENT_EXTENSION` | | Update event extension in calendar group | Update an open extension on a calendar event within a calendar group. | `OUTLOOK_UPDATE_EVENT_EXTENSION_IN_CALENDAR_GROUP` | | Update me contacts extensions | Update an open extension on a contact in a contact folder. | `OUTLOOK_UPDATE_ME_CONTACTS_EXTENSIONS` | | Update user contact extension | Update an open extension on a contact in a user's contact folder. | `OUTLOOK_UPDATE_USER_CONTACT_EXTENSION` | | Update user contacts extensions | Update an open extension on a contact in a user's contact folder. | `OUTLOOK_UPDATE_USER_CONTACTS_EXTENSIONS` | | Update user contacts extensions direct | Update an open extension on a contact directly under a user's contacts collection. | `OUTLOOK_UPDATE_USER_CONTACTS_EXTENSIONS_DIRECT` | | Update user event extension | Deprecated: Use OUTLOOK\_UPDATE\_EVENT\_EXTENSION\_IN\_CALENDAR\_GROUP instead, which supports both /me and /users/\{user\_id} endpoints and uses the correct @odata.type prefix. | `OUTLOOK_UPDATE_USER_EVENT_EXTENSION` | | Update user events extensions | Update an open extension on a user's calendar event. | `OUTLOOK_UPDATE_USER_EVENTS_EXTENSIONS` | | Update user mail folder message extension | Update an open extension on a message within a specific user's mail folder. | `OUTLOOK_UPDATE_USER_MAIL_FOLDER_MESSAGE_EXTENSION` | | Update user message extension | Update an open extension on a user's message. | `OUTLOOK_UPDATE_USER_MESSAGE_EXTENSION` | | Action | What it does | Slug | | - | - | - | | Create cal group event attach upload | Create an upload session for large calendar group event attachments. | `OUTLOOK_CREATE_CAL_GROUP_EVENT_ATTACH_UPLOAD` | | Action | What it does | Slug | | - | - | - | | Create calendar group | Create a new calendar group for a user. | `OUTLOOK_CREATE_CALENDAR_GROUP` | | Delete calendar group | Delete a calendar group other than the default calendar group. | `OUTLOOK_DELETE_CALENDAR_GROUP` | | Update calendar group | Update the properties of a calendar group object. | `OUTLOOK_UPDATE_CALENDAR_GROUP` | | Action | What it does | Slug | | - | - | - | | Copy mail folder | Copy a user's mail folder and its contents to another folder. | `OUTLOOK_COPY_MAIL_FOLDER` | | Copy me mail folder | Copy a child mail folder to a destination folder. | `OUTLOOK_COPY_ME_MAIL_FOLDER` | | Create contact folder | Create a new contact folder in the user's mailbox. | `OUTLOOK_CREATE_CONTACT_FOLDER` | | Create contact folder child folder | Create a child contact folder within a parent contact folder for a specific user. | `OUTLOOK_CREATE_CONTACT_FOLDER_CHILD_FOLDER` | | Create mail folder | Create a new mail folder. | `OUTLOOK_CREATE_MAIL_FOLDER` | | Create user mail folders child folders | Create a new child folder under a specified mail folder for a user. | `OUTLOOK_CREATE_USER_MAIL_FOLDERS_CHILD_FOLDERS` | | Delete child contact folder permanently | Permanently deletes a child contact folder. | `OUTLOOK_DELETE_CHILD_CONTACT_FOLDER_PERMANENTLY` | | Delete contact folder | Delete a contact folder from the user's mailbox. | `OUTLOOK_DELETE_CONTACT_FOLDER` | | Delete contact folder child folder | Delete a child contact folder from a parent contact folder for a specific user. | `OUTLOOK_DELETE_CONTACT_FOLDER_CHILD_FOLDER` | | Delete contact folder permanently | Permanently deletes a contact folder. | `OUTLOOK_DELETE_CONTACT_FOLDER_PERMANENTLY` | | Delete mail folder | Delete a mail folder from the user's mailbox. | `OUTLOOK_DELETE_MAIL_FOLDER` | | Delete me mail folder child folder | Delete a child mail folder from a parent mail folder. | `OUTLOOK_DELETE_ME_MAIL_FOLDER_CHILD_FOLDER` | | Delete me mail folder child folder permanently | Permanently deletes a child mail folder from a parent mail folder. | `OUTLOOK_DELETE_ME_MAIL_FOLDER_CHILD_FOLDER_PERMANENTLY` | | Delete user mail folder permanently | Permanently deletes a mail folder for a specific user. | `OUTLOOK_DELETE_USER_MAIL_FOLDER_PERMANENTLY` | | Move mail folder | Move a mail folder and its contents to another mail folder. | `OUTLOOK_MOVE_MAIL_FOLDER` | | Move me mail folder | Move a child mail folder to a different parent folder. | `OUTLOOK_MOVE_ME_MAIL_FOLDER` | | Update contact folder | Update the properties of a contact folder for a specific user. | `OUTLOOK_UPDATE_CONTACT_FOLDER` | | Update contact folder child folder | Update a child folder within a contact folder for a specific user. | `OUTLOOK_UPDATE_CONTACT_FOLDER_CHILD_FOLDER` | | Update mail folder | Update the display name of a mail folder. | `OUTLOOK_UPDATE_MAIL_FOLDER` | | Update user mail folders child folders | Update a child folder within a mail folder for a specific user. | `OUTLOOK_UPDATE_USER_MAIL_FOLDERS_CHILD_FOLDERS` | | Action | What it does | Slug | | - | - | - | | Create user mail child folder msg ext | Create a new open extension on a message in a child mail folder for any user. | `OUTLOOK_CREATE_USER_MAIL_CHILD_FOLDER_MSG_EXT` | | Action | What it does | Slug | | - | - | - | | Dismiss calendar event reminder | Dismiss a reminder for a specific event in a user's calendar. | `OUTLOOK_DISMISS_CALENDAR_EVENT_REMINDER` | | Dismiss event reminder | Dismiss a reminder for a specific calendar event. | `OUTLOOK_DISMISS_EVENT_REMINDER` | | Dismiss event reminder from group | Dismiss a reminder for an event in a user's calendar within a calendar group. | `OUTLOOK_DISMISS_EVENT_REMINDER_FROM_GROUP` | | Dismiss user event reminder | Dismiss a reminder for a specific user's calendar event. | `OUTLOOK_DISMISS_USER_EVENT_REMINDER` | | Snooze calendar group event reminder | Snooze a reminder for a user's calendar event within a calendar group to a new time. | `OUTLOOK_SNOOZE_CALENDAR_GROUP_EVENT_REMINDER` | | Snooze event reminder | Postpone an event reminder until a new time. | `OUTLOOK_SNOOZE_EVENT_REMINDER` | | Snooze user calendar event reminder | Snooze a reminder for a calendar event in a specific user calendar to a new time. | `OUTLOOK_SNOOZE_USER_CALENDAR_EVENT_REMINDER` | | Snooze user event reminder | Snooze a reminder for a user's calendar event to a new time. | `OUTLOOK_SNOOZE_USER_EVENT_REMINDER` | | Action | What it does | Slug | | - | - | - | | Create calendar permission | Create a calendar permission for a specific calendar in a calendar group. | `OUTLOOK_CREATE_CALENDAR_PERMISSION` | | Create me calendar permission | Create a new calendar permission for a specific user's calendar. | `OUTLOOK_CREATE_ME_CALENDAR_PERMISSION` | | Create user event calendar permission | Create a calendar permission via an event's calendar. | `OUTLOOK_CREATE_USER_EVENT_CALENDAR_PERMISSION` | | Delete calendar permission | Delete a calendar permission from a user's calendar within a calendar group. | `OUTLOOK_DELETE_CALENDAR_PERMISSION` | | Delete me calendar permission | Delete a calendar permission from a specific user's calendar. | `OUTLOOK_DELETE_ME_CALENDAR_PERMISSION` | | Delete primary calendar permission | Delete a calendar permission from a specific user's calendar. | `OUTLOOK_DELETE_PRIMARY_CALENDAR_PERMISSION` | | Update calendar group calendar permission | Update a calendar permission within a calendar group. | `OUTLOOK_UPDATE_CALENDAR_GROUP_CALENDAR_PERMISSION` | | Update calendar permission | Update calendar permission levels for share recipients or delegates. | `OUTLOOK_UPDATE_CALENDAR_PERMISSION` | | Update user calendar permission | Update calendar permission levels for a specific user's calendar. | `OUTLOOK_UPDATE_USER_CALENDAR_PERMISSION` | | Action | What it does | Slug | | - | - | - | | Create email rule | Create email rule filter with conditions and actions. | `OUTLOOK_CREATE_EMAIL_RULE` | | Create mail folder message rule | Create a message rule in a user's mail folder. | `OUTLOOK_CREATE_MAIL_FOLDER_MESSAGE_RULE` | | Delete email rule | Delete an email rule permanently. | `OUTLOOK_DELETE_EMAIL_RULE` | | Delete me mail folder message rule | Delete a message rule from a specific mail folder. | `OUTLOOK_DELETE_ME_MAIL_FOLDER_MESSAGE_RULE` | | Update email rule | Update an existing email rule. | `OUTLOOK_UPDATE_EMAIL_RULE` | | Update user mail folder message rule | Update a message rule in a user's mail folder. | `OUTLOOK_UPDATE_USER_MAIL_FOLDER_MESSAGE_RULE` | | Action | What it does | Slug | | - | - | - | | Create attachment upload session | Create an upload session for large (>3 MB) message attachments. | `OUTLOOK_CREATE_ATTACHMENT_UPLOAD_SESSION` | | Create attachment upload session in child folder | Create an upload session for large (>3 MB) message attachments in child mail folders. | `OUTLOOK_CREATE_ATTACHMENT_UPLOAD_SESSION_IN_CHILD_FOLDER` | | Create calendar event attachment upload session | Create an upload session for large calendar event attachments in a specific calendar. | `OUTLOOK_CREATE_CALENDAR_EVENT_ATTACHMENT_UPLOAD_SESSION` | | Create event attachment upload session | Create an upload session for large calendar event attachments. | `OUTLOOK_CREATE_EVENT_ATTACHMENT_UPLOAD_SESSION` | | Create mail folder message attachment upload session | Create an upload session for large (>3 MB) message attachments in a specific mail folder. | `OUTLOOK_CREATE_MAIL_FOLDER_MESSAGE_ATTACHMENT_UPLOAD_SESSION` | | Create me event attachment upload session | Create an upload session for large event attachments. | `OUTLOOK_CREATE_ME_EVENT_ATTACHMENT_UPLOAD_SESSION` | | Create user event attachment upload session | Deprecated: Use OUTLOOK\_CREATE\_ME\_EVENT\_ATTACHMENT\_UPLOAD\_SESSION instead, which supports both /me and /users/\{user\_id} endpoints. | `OUTLOOK_CREATE_USER_EVENT_ATTACHMENT_UPLOAD_SESSION` | | Action | What it does | Slug | | - | - | - | | Update mailbox settings | Update mailbox settings for the signed-in user. | `OUTLOOK_UPDATE_MAILBOX_SETTINGS` | | Action | What it does | Slug | | - | - | - | | Create task | Create a new task in Microsoft To Do within a specified task list. | `OUTLOOK_CREATE_TASK` | | Delete todo task | | `OUTLOOK_DELETE_TODO_TASK` | | Update todo task | | `OUTLOOK_UPDATE_TODO_TASK` | | Action | What it does | Slug | | - | - | - | | Update user inference classification override | Update the classification of messages from a specific sender in a user's Focused Inbox. | `OUTLOOK_UPDATE_USER_INFERENCE_CLASSIFICATION_OVERRIDE` | | Action | What it does | Slug | | - | - | - | | Create me inference classification override | Create a Focused Inbox override for a sender identified by SMTP address for a specific user. | `OUTLOOK_CREATE_ME_INFERENCE_CLASSIFICATION_OVERRIDE` | | Delete me inference classification override | Delete an inference classification override for a specific sender. | `OUTLOOK_DELETE_ME_INFERENCE_CLASSIFICATION_OVERRIDE` | | Update inference classification | Update the inferenceClassification resource for a user. | `OUTLOOK_UPDATE_INFERENCE_CLASSIFICATION` | ## Connect Outlook Before you start: * You need an Outlook account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Outlook** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Outlook**. The Outlook sign-in page opens in a new tab. Sign in to Outlook and approve the request. Check that it works: Outlook shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Outlook account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Outlook account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Outlook account Click **+ Account** on the Outlook card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Outlook side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Outlook**. 3. Sign in to Outlook and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Outlook account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Outlook.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Outlook account becomes primary. ## Costs Outlook actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Outlook, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Outlook connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Outlook account has an access level: **Read-only**, **Read + send**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Outlook card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Outlook account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Outlook.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # PagerDuty Source: https://squad.so/docs/apps/pagerduty What teammates can do in PagerDuty at each access level, and how to connect, limit, and disconnect PagerDuty. Connect PagerDuty so your teammates can work in your PagerDuty account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each PagerDuty account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as incidents, services, schedules, users, and analytics. Cannot change anything." | 197 of 368 | | **Read + write** (recommended) | "Trigger, acknowledge, resolve, reassign, and merge incidents, add notes and status updates, and request responders. Cannot run automations or change services, schedules, or escalation policies." | 214 of 368 | | **Full access** | "Everything, including services, schedules, escalation policies, maintenance windows, automations, and users." | 368 of 368 | **Read + write** is the recommended level. The connect window selects it for you, and you can choose another level. The PagerDuty sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my PagerDuty account?" The teammate can search the PagerDuty actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the PagerDuty action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 197 of the 368 PagerDuty actions at this level: * View lists * View rules * View and create reports * View users * View and create incidents * View integrations * View records * View services * View settings * View subscriptions * View events * View custom fields All 197 actions at this level: | Action | What it does | Slug | | - | - | - | | Get Jira cloud account mappings | Lists all account mappings between PagerDuty and Jira Cloud instances. | `PAGERDUTY_GET_JIRA_CLOUD_ACCOUNT_MAPPINGS` | | Action | What it does | Slug | | - | - | - | | Get alerts by incident ID | Retrieves all alerts associated with a specific incident in PagerDuty. | `PAGERDUTY_GET_ALERTS_BY_INCIDENT_ID` | | Get incident alert details | Retrieves detailed information about a specific alert associated with a particular incident in PagerDuty. | `PAGERDUTY_GET_INCIDENT_ALERT_DETAILS` | | Get paused incident alerts | Retrieves the most recent paused incident alerts from PagerDuty for a specified reporting period. | `PAGERDUTY_GET_PAUSED_INCIDENT_ALERTS` | | Action | What it does | Slug | | - | - | - | | Get automation action by ID | Retrieves detailed information about a specific automation action in PagerDuty's incident management platform. | `PAGERDUTY_GET_AUTOMATION_ACTION_BY_ID` | | List automation action details | This endpoint retrieves a list of automation actions configured in the PagerDuty account. | `PAGERDUTY_LIST_AUTOMATION_ACTION_DETAILS` | | Retrieve automation action invocation by ID | Retrieves detailed information about a specific automation action invocation in PagerDuty. | `PAGERDUTY_RETRIEVE_AUTOMATION_ACTION_INVOCATION_BY_ID` | | Retrieve automation action invocations | Retrieves a list of automation action invocations from the PagerDuty incident management platform. | `PAGERDUTY_RETRIEVE_AUTOMATION_ACTION_INVOCATIONS` | | Action | What it does | Slug | | - | - | - | | Get workflow integration connection | Get details about a Workflow Integration Connection. | `PAGERDUTY_GET_WORKFLOW_INTEGRATION_CONNECTION` | | List all workflow integration connections | | `PAGERDUTY_LIST_ALL_WORKFLOW_INTEGRATION_CONNECTIONS` | | List workflow integration connections | List all workflow integration connections for a specific workflow integration. | `PAGERDUTY_LIST_WORKFLOW_INTEGRATION_CONNECTIONS` | | Action | What it does | Slug | | - | - | - | | Get an incident type custom field | Get a custom field for an incident type. | `PAGERDUTY_GET_AN_INCIDENT_TYPE_CUSTOM_FIELD` | | Get service custom field values | Retrieves the custom field values for a specific PagerDuty service. | `PAGERDUTY_GET_SERVICE_CUSTOM_FIELD_VALUES` | | List incident type custom fields | List the custom fields for an incident type. | `PAGERDUTY_LIST_INCIDENT_TYPE_CUSTOM_FIELDS` | | List service custom fields | Lists all custom fields available for services in PagerDuty. | `PAGERDUTY_LIST_SERVICE_CUSTOM_FIELDS` | | Retrieve incident custom field values | Retrieves the custom field values associated with a specific incident in PagerDuty. | `PAGERDUTY_RETRIEVE_INCIDENT_CUSTOM_FIELD_VALUES` | | Retrieve incident custom fields | Retrieves a list of custom fields associated with incidents in PagerDuty. | `PAGERDUTY_RETRIEVE_INCIDENT_CUSTOM_FIELDS` | | Action | What it does | Slug | | - | - | - | | Get status dashboard by ID | Retrieves detailed information about a specific status dashboard in PagerDuty. | `PAGERDUTY_GET_STATUS_DASHBOARD_BY_ID` | | Retrieve status dashboard by slug | Retrieves detailed information about a specific PagerDuty status dashboard using its URL slug. | `PAGERDUTY_RETRIEVE_STATUS_DASHBOARD_BY_SLUG` | | Retrieve status dashboards information | Retrieves a list of status dashboards and their associated information from the PagerDuty system. | `PAGERDUTY_RETRIEVE_STATUS_DASHBOARDS_INFORMATION` | | Action | What it does | Slug | | - | - | - | | Retrieve business service dependencies | Retrieves the service dependencies for a specific business service in PagerDuty. | `PAGERDUTY_RETRIEVE_BUSINESS_SERVICE_DEPENDENCIES` | | Action | What it does | Slug | | - | - | - | | Get incident log entries by ID | Retrieves all log entries associated with a specific incident in PagerDuty. | `PAGERDUTY_GET_INCIDENT_LOG_ENTRIES_BY_ID` | | Get log entries | Retrieves log entries from the PagerDuty system, providing a detailed history of events and actions related to incidents and system activities. | `PAGERDUTY_GET_LOG_ENTRIES` | | Retrieve log entry by ID | Retrieves detailed information about a specific log entry in the PagerDuty system. | `PAGERDUTY_RETRIEVE_LOG_ENTRY_BY_ID` | | Action | What it does | Slug | | - | - | - | | Get escalation policy by ID | Retrieves detailed information about a specific escalation policy in PagerDuty. | `PAGERDUTY_GET_ESCALATION_POLICY_BY_ID` | | Action | What it does | Slug | | - | - | - | | Fetch event orchestrations | Retrieves a list of event orchestrations configured in the PagerDuty account. | `PAGERDUTY_FETCH_EVENT_ORCHESTRATIONS` | | Fetch related change events for incident | Retrieves change events correlated with a specific incident, along with the reasons for correlation. | `PAGERDUTY_FETCH_RELATED_CHANGE_EVENTS_FOR_INCIDENT` | | Get event orchestration by ID | Retrieves detailed information about a specific event orchestration in PagerDuty using its unique identifier. | `PAGERDUTY_GET_EVENT_ORCHESTRATION_BY_ID` | | Get event orchestration global | Get the Global Orchestration configuration for an Event Orchestration. | `PAGERDUTY_GET_EVENT_ORCHESTRATION_GLOBAL` | | Retrieve active service event by ID | Check if event orchestration is active for a specific PagerDuty service. | `PAGERDUTY_RETRIEVE_ACTIVE_SERVICE_EVENT_BY_ID` | | Retrieve change event by ID | Retrieves detailed information about a specific change event by its unique ID. | `PAGERDUTY_RETRIEVE_CHANGE_EVENT_BY_ID` | | Retrieve change event information | Retrieves change events from PagerDuty. | `PAGERDUTY_RETRIEVE_CHANGE_EVENT_INFORMATION` | | Retrieve event orchestration router by ID | Retrieves the router configuration for a specific event orchestration in PagerDuty. | `PAGERDUTY_RETRIEVE_EVENT_ORCHESTRATION_ROUTER_BY_ID` | | Retrieve service change events by ID | Retrieves change events associated with a specific PagerDuty service. | `PAGERDUTY_RETRIEVE_SERVICE_CHANGE_EVENTS_BY_ID` | | Retrieve unrouted event orchestration by ID | Retrieves the unrouted orchestration configuration for a specific Event Orchestration in PagerDuty. | `PAGERDUTY_RETRIEVE_UNROUTED_EVENT_ORCHESTRATION_BY_ID` | | Action | What it does | Slug | | - | - | - | | Retrieve extension by ID | Retrieves detailed information about a specific extension in PagerDuty. | `PAGERDUTY_RETRIEVE_EXTENSION_BY_ID` | | Action | What it does | Slug | | - | - | - | | Fetch custom incident field by ID | Retrieves detailed information about a specific custom field associated with incidents in PagerDuty. | `PAGERDUTY_FETCH_CUSTOM_INCIDENT_FIELD_BY_ID` | | Retrieve template fields | Retrieves the available field definitions for PagerDuty status update templates. | `PAGERDUTY_RETRIEVE_TEMPLATE_FIELDS` | | Action | What it does | Slug | | - | - | - | | Post analytics metrics responder filters | The AnalyzeResponderMetrics endpoint aggregates and analyzes responder performance metrics for PagerDuty incidents. | `PAGERDUTY_POST_ANALYTICS_METRICS_RESPONDER_FILTERS` | | Action | What it does | Slug | | - | - | - | | Fetch outlier incident by ID | Retrieves detailed information about an outlier incident associated with a specific incident in PagerDuty. | `PAGERDUTY_FETCH_OUTLIER_INCIDENT_BY_ID` | | Fetch related incidents by ID | Retrieves a list of incidents that are potentially related to a specified incident in PagerDuty. | `PAGERDUTY_FETCH_RELATED_INCIDENTS_BY_ID` | | Get analytics metrics incidents all | Retrieves aggregated incident analytics data for all incidents in PagerDuty. | `PAGERDUTY_GET_ANALYTICS_METRICS_INCIDENTS_ALL` | | Post responder incidents with filters | Retrieves a list of incidents associated with a specific responder in the PagerDuty incident management system. | `PAGERDUTY_POST_RESPONDER_INCIDENTS_WITH_FILTERS` | | Retrieve incident by incident ID | Retrieves detailed information about a specific incident in PagerDuty using its unique identifier. | `PAGERDUTY_RETRIEVE_INCIDENT_BY_INCIDENT_ID` | | Retrieve past incidents | Retrieves a list of past similar incidents for a specific incident using machine learning. | `PAGERDUTY_RETRIEVE_PAST_INCIDENTS` | | Action | What it does | Slug | | - | - | - | | Fetch runner teams integration | Retrieves a list of teams associated with a specific Automation Action Runner in PagerDuty. | `PAGERDUTY_FETCH_RUNNER_TEAMS_INTEGRATION` | | Get event integrations by ID | Retrieves a list of integrations associated with a specific event orchestration in PagerDuty. | `PAGERDUTY_GET_EVENT_INTEGRATIONS_BY_ID` | | Get event orchestration integration | Retrieves detailed information about a specific integration associated with an event orchestration in PagerDuty. | `PAGERDUTY_GET_EVENT_ORCHESTRATION_INTEGRATION` | | Get workflow integration | Get details about a Workflow Integration. | `PAGERDUTY_GET_WORKFLOW_INTEGRATION` | | List workflow integrations | List available Workflow Integrations. | `PAGERDUTY_LIST_WORKFLOW_INTEGRATIONS` | | Retrieve integration by service ID | Retrieves detailed information about a specific integration associated with a particular service in PagerDuty. | `PAGERDUTY_RETRIEVE_INTEGRATION_BY_SERVICE_ID` | | Action | What it does | Slug | | - | - | - | | List licenses | Lists all licenses for the PagerDuty account, showing current usage and available allocations. | `PAGERDUTY_LIST_LICENSES` | | Retrieve license allocations | Retrieves the current license allocations for the PagerDuty account, showing which users have been allocated which licenses. | `PAGERDUTY_RETRIEVE_LICENSE_ALLOCATIONS` | | Retrieve user license information | Retrieves the license information for a specific user in the PagerDuty system. | `PAGERDUTY_RETRIEVE_USER_LICENSE_INFORMATION` | | Action | What it does | Slug | | - | - | - | | Fetch escalation polices list | Retrieves a list of escalation policies configured in the PagerDuty account. | `PAGERDUTY_FETCH_ESCALATION_POLICES_LIST` | | Fetch incident list | Retrieves a list of incidents from PagerDuty based on specified criteria. | `PAGERDUTY_FETCH_INCIDENT_LIST` | | Fetch priorities list | Retrieves a list of existing priorities in the PagerDuty system, ordered from most severe to least severe. | `PAGERDUTY_FETCH_PRIORITIES_LIST` | | Fetch vendor list | Retrieves a list of vendors or third-party integrations available in the PagerDuty platform. | `PAGERDUTY_FETCH_VENDOR_LIST` | | Get addons list | Retrieves a list of all addons associated with the PagerDuty account. | `PAGERDUTY_GET_ADDONS_LIST` | | Retrieve abilities list | Retrieves a list of abilities or capabilities available in the PagerDuty system. | `PAGERDUTY_RETRIEVE_ABILITIES_LIST` | | Retrieve extension list | Retrieves a paginated list of extensions associated with the authenticated PagerDuty account. | `PAGERDUTY_RETRIEVE_EXTENSION_LIST` | | Retrieve list of services | Retrieves a list of services configured in the PagerDuty account. | `PAGERDUTY_RETRIEVE_LIST_OF_SERVICES` | | Retrieve oncall list | Retrieves the current on-call information for your PagerDuty account. | `PAGERDUTY_RETRIEVE_ONCALL_LIST` | | Retrieve ruleset list | Retrieves a list of rulesets from the PagerDuty system. | `PAGERDUTY_RETRIEVE_RULESET_LIST` | | Retrieve standards list | Retrieves the current set of Service Standards defined in the PagerDuty account. | `PAGERDUTY_RETRIEVE_STANDARDS_LIST` | | Retrieve team list | The ListTeams endpoint retrieves a list of teams within a PagerDuty account. | `PAGERDUTY_RETRIEVE_TEAM_LIST` | | Retrieve users list | Retrieves a list of users from the PagerDuty system. | `PAGERDUTY_RETRIEVE_USERS_LIST` | | Action | What it does | Slug | | - | - | - | | Get maintenance window by ID | Retrieves detailed information about a specific maintenance window in PagerDuty. | `PAGERDUTY_GET_MAINTENANCE_WINDOW_BY_ID` | | Retrieve maintenance windows | Retrieves a list of maintenance windows from the PagerDuty incident management platform. | `PAGERDUTY_RETRIEVE_MAINTENANCE_WINDOWS` | | Action | What it does | Slug | | - | - | - | | Get team members by ID | Retrieves a list of all members associated with a specific team in PagerDuty. | `PAGERDUTY_GET_TEAM_MEMBERS_BY_ID` | | Action | What it does | Slug | | - | - | - | | Retrieve notes for incident | Retrieves all notes associated with a specific incident in PagerDuty. | `PAGERDUTY_RETRIEVE_NOTES_FOR_INCIDENT` | | Action | What it does | Slug | | - | - | - | | Retrieve notifications | Retrieves a list of notifications sent to users in PagerDuty within a specified date range. | `PAGERDUTY_RETRIEVE_NOTIFICATIONS` | | Action | What it does | Slug | | - | - | - | | Preview schedule object | The preview\_schedule endpoint allows you to simulate and visualize a PagerDuty schedule configuration before actually creating or updating it. | `PAGERDUTY_PREVIEW_SCHEDULE_OBJECT` | | Action | What it does | Slug | | - | - | - | | Fetch status pages | Retrieves a list of all status pages configured in the PagerDuty account. | `PAGERDUTY_FETCH_STATUS_PAGES` | | Get impact by status page ID | Retrieves detailed information about a specific impact level configuration on a PagerDuty status page. | `PAGERDUTY_GET_IMPACT_BY_STATUS_PAGE_ID` | | Get status for status page by ID | Retrieves the current status of a specific item on a PagerDuty status page. | `PAGERDUTY_GET_STATUS_FOR_STATUS_PAGE_BY_ID` | | Get status page impacts by ID | Retrieves the list of impact level configurations available for a specific status page in PagerDuty. | `PAGERDUTY_GET_STATUS_PAGE_IMPACTS_BY_ID` | | Retrieve service status page | Retrieves detailed information about a specific service associated with a particular status page in PagerDuty. | `PAGERDUTY_RETRIEVE_SERVICE_STATUS_PAGE` | | Retrieve status pages status | Retrieves the current statuses for a specified PagerDuty status page. | `PAGERDUTY_RETRIEVE_STATUS_PAGES_STATUS` | | Action | What it does | Slug | | - | - | - | | Fetch user contact method | Retrieves detailed information about a specific contact method for a particular user in PagerDuty. | `PAGERDUTY_FETCH_USER_CONTACT_METHOD` | | Retrieve user contact methods via ID | Retrieves all contact methods associated with a specific user in PagerDuty. | `PAGERDUTY_RETRIEVE_USER_CONTACT_METHODS_VIA_ID` | | Action | What it does | Slug | | - | - | - | | Retrieve postmortem by ID | Retrieves the postmortem analysis for a specific post on a PagerDuty status page. | `PAGERDUTY_RETRIEVE_POSTMORTEM_BY_ID` | | Action | What it does | Slug | | - | - | - | | Get post from status page by ID | Retrieves detailed information about a specific post on a PagerDuty status page. | `PAGERDUTY_GET_POST_FROM_STATUS_PAGE_BY_ID` | | Retrieve status page post | Retrieves all posts associated with a specific status page in PagerDuty. | `PAGERDUTY_RETRIEVE_STATUS_PAGE_POST` | | Action | What it does | Slug | | - | - | - | | Get business services priority thresholds | Retrieves the current priority threshold settings for all business services in PagerDuty. | `PAGERDUTY_GET_BUSINESS_SERVICES_PRIORITY_THRESHOLDS` | | Get severity for status page | Retrieves detailed information about a specific severity level on a particular status page in PagerDuty. | `PAGERDUTY_GET_SEVERITY_FOR_STATUS_PAGE` | | Retrieve status page severities by ID | Retrieves the list of severities associated with a specific status page in PagerDuty. | `PAGERDUTY_RETRIEVE_STATUS_PAGE_SEVERITIES_BY_ID` | | Action | What it does | Slug | | - | - | - | | Audit escalation policy records | Retrieves the audit records for a specific escalation policy in PagerDuty. | `PAGERDUTY_AUDIT_ESCALATION_POLICY_RECORDS` | | Get audit records | Retrieves a list of audit records from the PagerDuty system. | `PAGERDUTY_GET_AUDIT_RECORDS` | | Retrieve schedule audit records by ID | Retrieves the audit records for a specific PagerDuty schedule. | `PAGERDUTY_RETRIEVE_SCHEDULE_AUDIT_RECORDS_BY_ID` | | Retrieve service audit records by ID | Retrieves the audit records for a specific PagerDuty service. | `PAGERDUTY_RETRIEVE_SERVICE_AUDIT_RECORDS_BY_ID` | | Retrieve team audit records | Retrieves the audit records for a specific team in PagerDuty. | `PAGERDUTY_RETRIEVE_TEAM_AUDIT_RECORDS` | | Retrieve user audit records by ID | Retrieves the audit records for a specific user in the PagerDuty system. | `PAGERDUTY_RETRIEVE_USER_AUDIT_RECORDS_BY_ID` | | Action | What it does | Slug | | - | - | - | | Aggregate escalation policy incident metrics | This endpoint analyzes and aggregates incident metrics across all escalation policies in PagerDuty. | `PAGERDUTY_AGGREGATE_ESCALATION_POLICY_INCIDENT_METRICS` | | Aggregate incident metrics with filters | Retrieves and aggregates metrics for incidents across all services in PagerDuty. | `PAGERDUTY_AGGREGATE_INCIDENT_METRICS_WITH_FILTERS` | | Count paused incident reports | Retrieves the count of paused incident reports in the PagerDuty system. | `PAGERDUTY_COUNT_PAUSED_INCIDENT_REPORTS` | | Fetch incident analytics by ID | Retrieves raw analytics data for a specific incident in PagerDuty. | `PAGERDUTY_FETCH_INCIDENT_ANALYTICS_BY_ID` | | Filter and aggregate incident metrics | Analyzes and aggregates incident metrics across teams in PagerDuty, allowing for detailed filtering and customization of results. | `PAGERDUTY_FILTER_AND_AGGREGATE_INCIDENT_METRICS` | | Post analytic metrics on escalation policies | Retrieves and aggregates analytics metrics for incidents related to escalation policies in PagerDuty. | `PAGERDUTY_POST_ANALYTIC_METRICS_ON_ESCALATION_POLICIES` | | Post incident metrics | Retrieve analytics metrics for responders and teams including incident counts, response times, on-call hours, interruptions, escalations, and engagement statistics. | `PAGERDUTY_POST_INCIDENT_METRICS` | | Post incident metrics with filters | This endpoint retrieves and aggregates analytics metrics for incidents across all teams in PagerDuty. | `PAGERDUTY_POST_INCIDENT_METRICS_WITH_FILTERS` | | Post incidents analytics with filters | The AnalyzeRawIncidents endpoint retrieves and analyzes raw incident data from PagerDuty. | `PAGERDUTY_POST_INCIDENTS_ANALYTICS_WITH_FILTERS` | | Post incidents metrics filtered by service | The AnalyzeIncidentMetrics endpoint aggregates and analyzes incident data for PagerDuty services based on specified filters and parameters. | `PAGERDUTY_POST_INCIDENTS_METRICS_FILTERED_BY_SERVICE` | | Action | What it does | Slug | | - | - | - | | Get analytics raw incidents responses | Retrieves raw response data from a single incident in PagerDuty. | `PAGERDUTY_GET_ANALYTICS_RAW_INCIDENTS_RESPONSES` | | Get response plays | DEPRECATED: This endpoint was deprecated and removed in June 2024. | `PAGERDUTY_GET_RESPONSE_PLAYS` | | Retrieve response play by ID | DEPRECATED: This endpoint has been deprecated and removed. | `PAGERDUTY_RETRIEVE_RESPONSE_PLAY_BY_ID` | | Action | What it does | Slug | | - | - | - | | Get rule from ruleset by ID | Retrieves detailed information about a specific rule within a PagerDuty ruleset. | `PAGERDUTY_GET_RULE_FROM_RULESET_BY_ID` | | Get user status update notification rules | Retrieves all status update notification rules for a specific user in PagerDuty. | `PAGERDUTY_GET_USER_STATUS_UPDATE_NOTIFICATION_RULES` | | Retrieve oncall handoff notification rule | Retrieves detailed information about a specific on-call handoff notification rule for a given user in PagerDuty. | `PAGERDUTY_RETRIEVE_ONCALL_HANDOFF_NOTIFICATION_RULE` | | Retrieve oncall handoff notification rules | Retrieves the on-call handoff notification rules for a specific user in PagerDuty. | `PAGERDUTY_RETRIEVE_ONCALL_HANDOFF_NOTIFICATION_RULES` | | Retrieve rule by service ID | Retrieves a specific service event rule by ID from a PagerDuty service. | `PAGERDUTY_RETRIEVE_RULE_BY_SERVICE_ID` | | Retrieve rules for service ID | Retrieves all rules associated with a specific PagerDuty service. | `PAGERDUTY_RETRIEVE_RULES_FOR_SERVICE_ID` | | Retrieve rules from ruleset by ID | Retrieves a list of event rules associated with a specific ruleset in PagerDuty. | `PAGERDUTY_RETRIEVE_RULES_FROM_RULESET_BY_ID` | | Retrieve user notification rule | Retrieves a specific notification rule for a given user in PagerDuty. | `PAGERDUTY_RETRIEVE_USER_NOTIFICATION_RULE` | | Retrieve user notification rules | Retrieves the notification rules for a specific user in PagerDuty. | `PAGERDUTY_RETRIEVE_USER_NOTIFICATION_RULES` | | Retrieve user status update notification rule | Retrieves a specific status update notification rule for a given user in PagerDuty. | `PAGERDUTY_RETRIEVE_USER_STATUS_UPDATE_NOTIFICATION_RULE` | | Action | What it does | Slug | | - | - | - | | Retrieve ruleset by ID | Retrieves detailed information about a specific ruleset in PagerDuty using its unique identifier. | `PAGERDUTY_RETRIEVE_RULESET_BY_ID` | | Action | What it does | Slug | | - | - | - | | Get automation action runner by ID | Retrieves detailed information about a specific Automation Action Runner in PagerDuty. | `PAGERDUTY_GET_AUTOMATION_ACTION_RUNNER_BY_ID` | | Get automation actions runners | Lists all automation action runners in your PagerDuty account. | `PAGERDUTY_GET_AUTOMATION_ACTIONS_RUNNERS` | | Action | What it does | Slug | | - | - | - | | Get schedules | Retrieves a list of all schedules from your PagerDuty account. | `PAGERDUTY_GET_SCHEDULES` | | Retrieve schedule by ID | Retrieves detailed information about a specific schedule in PagerDuty using its unique identifier. | `PAGERDUTY_RETRIEVE_SCHEDULE_BY_ID` | | Retrieve schedule override by ID | Lists all schedule overrides for a specific schedule within a date range. | `PAGERDUTY_RETRIEVE_SCHEDULE_OVERRIDE_BY_ID` | | Action | What it does | Slug | | - | - | - | | Get extension schema by ID | Retrieves a specific extension schema from PagerDuty by its unique identifier. | `PAGERDUTY_GET_EXTENSION_SCHEMA_BY_ID` | | Get SCIM schema by ID | Retrieves an individual SCIM schema definition by its unique identifier (ID). | `PAGERDUTY_GET_SCIM_SCHEMA_BY_ID` | | List extension schemas | Retrieves all available extension schemas from the PagerDuty API. | `PAGERDUTY_LIST_EXTENSION_SCHEMAS` | | List SCIM schemas | Retrieves all SCIM schemas supported by the PagerDuty service provider. | `PAGERDUTY_LIST_SCIM_SCHEMAS` | | Action | What it does | Slug | | - | - | - | | Get business services impacts | List Business Services sorted by impacted status. | `PAGERDUTY_GET_BUSINESS_SERVICES_IMPACTS` | | Get service enablements | Retrieves feature enablement settings for a specific PagerDuty service. | `PAGERDUTY_GET_SERVICE_ENABLEMENTS` | | Get service impacts by URL slug | Retrieves service impacts for a specific status dashboard in PagerDuty. | `PAGERDUTY_GET_SERVICE_IMPACTS_BY_URL_SLUG` | | Get the service orchestration for a service | Get a Service Orchestration. | `PAGERDUTY_GET_THE_SERVICE_ORCHESTRATION_FOR_A_SERVICE` | | List supporting service impacts | Retrieves information about the impacts of supporting services on a specific business service in PagerDuty. | `PAGERDUTY_LIST_SUPPORTING_SERVICE_IMPACTS` | | Retrieve action services by ID | Retrieves a list of services associated with a specific automation action in PagerDuty. | `PAGERDUTY_RETRIEVE_ACTION_SERVICES_BY_ID` | | Retrieve automation service action | Retrieves detailed information about the association between a specific automation action and a service in PagerDuty. | `PAGERDUTY_RETRIEVE_AUTOMATION_SERVICE_ACTION` | | Retrieve business service by ID | Retrieves detailed information about a specific business service by its ID. | `PAGERDUTY_RETRIEVE_BUSINESS_SERVICE_BY_ID` | | Retrieve business service impactors | Retrieves impactors (typically incidents) currently affecting business services. | `PAGERDUTY_RETRIEVE_BUSINESS_SERVICE_IMPACTORS` | | Retrieve business service impacts | Retrieves a list of business services impacted by a specific PagerDuty incident. | `PAGERDUTY_RETRIEVE_BUSINESS_SERVICE_IMPACTS` | | Retrieve business services | Retrieve a list of business services from your PagerDuty account. | `PAGERDUTY_RETRIEVE_BUSINESS_SERVICES` | | Retrieve service by ID | Retrieves detailed information about a specific PagerDuty service using its unique identifier. | `PAGERDUTY_RETRIEVE_SERVICE_BY_ID` | | Retrieve service impacts from status dashboards | Retrieves the service impacts associated with a specific status dashboard in PagerDuty. | `PAGERDUTY_RETRIEVE_SERVICE_IMPACTS_FROM_STATUS_DASHBOARDS` | | Retrieve service status by ID | Retrieves a list of services associated with a specific status page in PagerDuty. | `PAGERDUTY_RETRIEVE_SERVICE_STATUS_BY_ID` | | Retrieve technical service details | Retrieves detailed information about a specific technical service and its dependencies within the PagerDuty incident management platform. | `PAGERDUTY_RETRIEVE_TECHNICAL_SERVICE_DETAILS` | | Action | What it does | Slug | | - | - | - | | Get user session by type | Retrieves detailed information about a specific user session in PagerDuty. | `PAGERDUTY_GET_USER_SESSION_BY_TYPE` | | Get user sessions by ID | Retrieves all active sessions for a specific user in PagerDuty. | `PAGERDUTY_GET_USER_SESSIONS_BY_ID` | | Action | What it does | Slug | | - | - | - | | Get a field option on a custom field | Retrieves a specific field option from a custom field on an incident type. | `PAGERDUTY_GET_A_FIELD_OPTION_ON_A_CUSTOM_FIELD` | | Get alert grouping settings | Lists all alert grouping settings configured in your PagerDuty account. | `PAGERDUTY_GET_ALERT_GROUPING_SETTINGS` | | Get SCIM service provider config | Retrieves the SCIM 2.0 Service Provider Configuration for PagerDuty. | `PAGERDUTY_GET_SCIM_SERVICE_PROVIDER_CONFIG` | | List field options on a custom field | Lists all field options for a custom field on an incident type. | `PAGERDUTY_LIST_FIELD_OPTIONS_ON_A_CUSTOM_FIELD` | | Retrieve alert grouping settings by ID | Retrieves the alert grouping settings for a specific configuration identified by its unique ID in PagerDuty. | `PAGERDUTY_RETRIEVE_ALERT_GROUPING_SETTINGS_BY_ID` | | Retrieve incident field options | Retrieves the available field options for a specific custom incident field in PagerDuty. | `PAGERDUTY_RETRIEVE_INCIDENT_FIELD_OPTIONS` | | Action | What it does | Slug | | - | - | - | | Get business service subscribers by ID | Retrieves a list of subscribers for a specific business service in PagerDuty. | `PAGERDUTY_GET_BUSINESS_SERVICE_SUBSCRIBERS_BY_ID` | | List incident status update subscribers | Retrieves a list of subscribers to status updates for a specific incident in PagerDuty. | `PAGERDUTY_LIST_INCIDENT_STATUS_UPDATE_SUBSCRIBERS` | | Action | What it does | Slug | | - | - | - | | Get status page subscription | Retrieves detailed information about a specific subscription associated with a particular status page in PagerDuty. | `PAGERDUTY_GET_STATUS_PAGE_SUBSCRIPTION` | | Get team notification subscriptions | Retrieves the notification subscriptions for a specific team in PagerDuty. | `PAGERDUTY_GET_TEAM_NOTIFICATION_SUBSCRIPTIONS` | | Get user notification subscriptions | Lists notification subscriptions for a specific PagerDuty user. | `PAGERDUTY_GET_USER_NOTIFICATION_SUBSCRIPTIONS` | | Get webhook subscription by ID | Retrieves detailed information about a specific webhook subscription in PagerDuty. | `PAGERDUTY_GET_WEBHOOK_SUBSCRIPTION_BY_ID` | | Retrieve status page subscription by ID | Retrieves a list of subscriptions associated with a specific PagerDuty status page. | `PAGERDUTY_RETRIEVE_STATUS_PAGE_SUBSCRIPTION_BY_ID` | | Retrieve webhook subscriptions | Retrieves a list of all webhook subscriptions associated with the authenticated PagerDuty account. | `PAGERDUTY_RETRIEVE_WEBHOOK_SUBSCRIPTIONS` | | Action | What it does | Slug | | - | - | - | | Get tags by entity type | Retrieves all entities of a specific type that are associated with a given tag. | `PAGERDUTY_GET_TAGS_BY_ENTITY_TYPE` | | Retrieve entity tags by ID | Retrieves the tags associated with a specific entity in the PagerDuty system. | `PAGERDUTY_RETRIEVE_ENTITY_TAGS_BY_ID` | | Retrieve tag by ID | Retrieves detailed information about a specific tag in the PagerDuty system using its unique identifier. | `PAGERDUTY_RETRIEVE_TAG_BY_ID` | | Retrieve tags | Retrieves a list of tags from your PagerDuty account with optional filtering and pagination. | `PAGERDUTY_RETRIEVE_TAGS` | | Action | What it does | Slug | | - | - | - | | Get automation action team by team ID | Retrieves detailed information about a specific team's association with an automation action in PagerDuty. | `PAGERDUTY_GET_AUTOMATION_ACTION_TEAM_BY_TEAM_ID` | | Get teams associated with action ID | Retrieves the list of teams associated with a specific automation action in PagerDuty. | `PAGERDUTY_GET_TEAMS_ASSOCIATED_WITH_ACTION_ID` | | Retrieve automation action runner teams | Retrieves detailed information about a specific team association with an Automation Actions runner in PagerDuty. | `PAGERDUTY_RETRIEVE_AUTOMATION_ACTION_RUNNER_TEAMS` | | Retrieve team details by ID | Retrieves detailed information about a specific team in PagerDuty based on the provided team ID. | `PAGERDUTY_RETRIEVE_TEAM_DETAILS_BY_ID` | | Action | What it does | Slug | | - | - | - | | Get template by ID | Retrieves detailed information about a specific template in PagerDuty by its unique identifier. | `PAGERDUTY_GET_TEMPLATE_BY_ID` | | List templates | Retrieves a list of templates available in the PagerDuty system. | `PAGERDUTY_LIST_TEMPLATES` | | Render template for incident | Renders a specific template for a given incident in PagerDuty. | `PAGERDUTY_RENDER_TEMPLATE_FOR_INCIDENT` | | Action | What it does | Slug | | - | - | - | | Get a trigger | Retrieves details of a specific incident workflow trigger by ID. | `PAGERDUTY_GET_A_TRIGGER` | | Retrieve incident workflow triggers | Retrieves a list of triggers associated with incident workflows in PagerDuty. | `PAGERDUTY_RETRIEVE_INCIDENT_WORKFLOW_TRIGGERS` | | Action | What it does | Slug | | - | - | - | | Get an incident type | Get detailed information about a single incident type. | `PAGERDUTY_GET_AN_INCIDENT_TYPE` | | Get SCIM resource types | Get SCIM resource types supported by PagerDuty's SCIM service provider. | `PAGERDUTY_GET_SCIM_RESOURCE_TYPES` | | List incident types | List the available incident types Incident Types are a feature which will allow customers to categorize incidents, such as a security incident, a major incident, or a fraud incident. | `PAGERDUTY_LIST_INCIDENT_TYPES` | | Retrieve standards scores by resource type | Retrieves the standards scores for a specified resource type in PagerDuty. | `PAGERDUTY_RETRIEVE_STANDARDS_SCORES_BY_RESOURCE_TYPE` | | Action | What it does | Slug | | - | - | - | | Fetch post update status | Retrieves detailed information about a specific post update on a PagerDuty status page. | `PAGERDUTY_FETCH_POST_UPDATE_STATUS` | | Get specific post update status | Retrieves the updates for a specific post on a PagerDuty status page. | `PAGERDUTY_GET_SPECIFIC_POST_UPDATE_STATUS` | | Action | What it does | Slug | | - | - | - | | Get aggregated pd advance usage data | Provides aggregated metrics for the usage of PD Advance. | `PAGERDUTY_GET_AGGREGATED_PD_ADVANCE_USAGE_DATA` | | Action | What it does | Slug | | - | - | - | | Get analytics metrics users all | Get aggregated metrics for all users across the account. | `PAGERDUTY_GET_ANALYTICS_METRICS_USERS_ALL` | | Get analytics raw users | Get raw user analytics data from PagerDuty. | `PAGERDUTY_GET_ANALYTICS_RAW_USERS` | | Get SCIM user | Retrieves detailed information about a specific user from PagerDuty's SCIM directory. | `PAGERDUTY_GET_SCIM_USER` | | List SCIM users | Lists users via the SCIM (System for Cross-domain Identity Management) API endpoint. | `PAGERDUTY_LIST_SCIM_USERS` | | Retrieve current user info | Retrieves the profile information of the currently authenticated user in the PagerDuty system. | `PAGERDUTY_RETRIEVE_CURRENT_USER_INFO` | | Retrieve user by ID | Retrieves detailed information about a specific PagerDuty user by their ID. | `PAGERDUTY_RETRIEVE_USER_BY_ID` | | Retrieve users by schedule ID | Retrieves a list of users associated with a specific PagerDuty schedule. | `PAGERDUTY_RETRIEVE_USERS_BY_SCHEDULE_ID` | | Action | What it does | Slug | | - | - | - | | Fetch cache variable for event orchestration | Retrieves detailed information about a specific cache variable in a PagerDuty event orchestration. | `PAGERDUTY_FETCH_CACHE_VARIABLE_FOR_EVENT_ORCHESTRATION` | | Get cache variable by ID | Retrieves detailed information about a specific cache variable associated with a particular service within an event orchestration in PagerDuty. | `PAGERDUTY_GET_CACHE_VARIABLE_BY_ID` | | Get cache variables for service | Lists all cache variables configured for a Service Event Orchestration. | `PAGERDUTY_GET_CACHE_VARIABLES_FOR_SERVICE` | | Get event orchestration cache variables | Lists all cache variables configured for a specific Global Event Orchestration. | `PAGERDUTY_GET_EVENT_ORCHESTRATION_CACHE_VARIABLES` | | Action | What it does | Slug | | - | - | - | | Retrieve vendor by ID | Get detailed information about a specific PagerDuty vendor integration by its ID. | `PAGERDUTY_RETRIEVE_VENDOR_BY_ID` | | Action | What it does | Slug | | - | - | - | | Get incident workflow action by ID | Retrieves detailed information about a specific incident workflow action by its ID. | `PAGERDUTY_GET_INCIDENT_WORKFLOW_ACTION_BY_ID` | | Get incident workflows | Lists all incident workflows configured in your PagerDuty account. | `PAGERDUTY_GET_INCIDENT_WORKFLOWS` | | Get incident workflows actions | Retrieves a list of all available actions that can be used in incident workflows within PagerDuty. | `PAGERDUTY_GET_INCIDENT_WORKFLOWS_ACTIONS` | | Retrieve incident workflow by ID | Retrieves detailed information about a specific incident workflow in PagerDuty. | `PAGERDUTY_RETRIEVE_INCIDENT_WORKFLOW_BY_ID` | | Action | What it does | Slug | | - | - | - | | Get OAuth delegations revocation requests status | DEPRECATED: This endpoint is deprecated. | `PAGERDUTY_GET_OAUTH_DELEGATIONS_REVOCATION_REQUESTS_STATUS` | | Retrieve ability by ID | Tests whether a specific ability (feature capability) is available to your PagerDuty account using its unique identifier. | `PAGERDUTY_RETRIEVE_ABILITY_BY_ID` | | Retrieve addon by ID | Retrieves detailed information about a specific addon installed on a PagerDuty account. | `PAGERDUTY_RETRIEVE_ADDON_BY_ID` | | Retrieve standards scores | Retrieves the standards scores for a specific technical service in PagerDuty. | `PAGERDUTY_RETRIEVE_STANDARDS_SCORES` | Teammates can use 214 of the 368 PagerDuty actions at this level: everything in **Read-only**, plus: * Update incidents * Update alerts * Create and update events * Create and update records * Update channels * Create notes * Create status updates The 17 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Alerts** | Update alert in incident | Updates the status of a specific alert within an incident in PagerDuty. | `PAGERDUTY_UPDATE_ALERT_IN_INCIDENT` | | | Update incident alerts | This endpoint allows you to update the status of multiple alerts associated with a specific incident in PagerDuty. | `PAGERDUTY_UPDATE_INCIDENT_ALERTS` | | **Channels** | Update log entry channel | Updates collaboration channel information for a specific log entry in PagerDuty. | `PAGERDUTY_UPDATE_LOG_ENTRY_CHANNEL` | | **Custom fields** | Update incident custom field values | Updates custom field values for a specific incident in PagerDuty. | `PAGERDUTY_UPDATE_INCIDENT_CUSTOM_FIELD_VALUES` | | **Events** | Post change events | Send a change event to PagerDuty to track deployments, configuration changes, or other significant system modifications. | `PAGERDUTY_POST_CHANGE_EVENTS` | | | Update change event by ID | Update an existing change event in PagerDuty by its unique ID. | `PAGERDUTY_UPDATE_CHANGE_EVENT_BY_ID` | | **Incidents** | Merge source incidents into target incident | Merges multiple source incidents into a target incident in PagerDuty's incident management system. | `PAGERDUTY_MERGE_SOURCE_INCIDENTS_INTO_TARGET_INCIDENT` | | | Send responder requests for incidents | Send responder requests to users or escalation policies for a PagerDuty incident. | `PAGERDUTY_SEND_RESPONDER_REQUESTS_FOR_INCIDENTS` | | | Snooze incident by duration | Snooze an acknowledged incident in PagerDuty for a specified duration. | `PAGERDUTY_SNOOZE_INCIDENT_BY_DURATION` | | | Update incident by ID | The UpdateIncident endpoint allows you to modify various attributes of an existing incident in PagerDuty's incident management system. | `PAGERDUTY_UPDATE_INCIDENT_BY_ID` | | | Update incident details | This endpoint allows for bulk updating of multiple PagerDuty incidents in a single API call. | `PAGERDUTY_UPDATE_INCIDENT_DETAILS` | | **Notes** | Post incident note using ID | Adds a new note to an existing incident in PagerDuty. | `PAGERDUTY_POST_INCIDENT_NOTE_USING_ID` | | **Records** | Create incident record | Creates a new incident in PagerDuty with specified details and assignments. | `PAGERDUTY_CREATE_INCIDENT_RECORD` | | | Subscribe entities to incident status updates | Subscribes specified users or teams to receive status updates for a particular incident in PagerDuty. | `PAGERDUTY_SUBSCRIBE_ENTITIES_TO_INCIDENT_STATUS_UPDATES` | | **Services** | Set business service impact status | This endpoint updates the impact status of a specific incident on a particular business service in PagerDuty. | `PAGERDUTY_SET_BUSINESS_SERVICE_IMPACT_STATUS` | | **Status updates** | Post incident status update | Posts a status update for a specific incident in PagerDuty. | `PAGERDUTY_POST_INCIDENT_STATUS_UPDATE` | | | Unsubscribe from incident status updates | Unsubscribes specified users or teams from receiving status updates for a particular incident in PagerDuty. | `PAGERDUTY_UNSUBSCRIBE_FROM_INCIDENT_STATUS_UPDATES` | Teammates can use 368 of the 368 PagerDuty actions at this level: everything in **Read + write**, plus: * Create, update, and delete rules * Create, update, delete, and test subscriptions * Create, update, and delete settings * Create, update, and delete services * Create, update, and delete teams * Create, update, and delete escalation policies * Create, update, and delete variables * Create, update, and delete custom fields * Create, update, and delete integrations * Create, update, and delete connections * Update and delete extensions * Create objects The 154 actions that this level adds to **Read + write**: | Action | What it does | Slug | | - | - | - | | Delete runner team association | This endpoint removes a team's association from a specific Automation Action runner in PagerDuty. | `PAGERDUTY_DELETE_RUNNER_TEAM_ASSOCIATION` | | Action | What it does | Slug | | - | - | - | | Delete automation action by ID | Deletes a specific Automation Action from the PagerDuty system. | `PAGERDUTY_DELETE_AUTOMATION_ACTION_BY_ID` | | Invoke automation action by ID | Invokes a specific automation action in PagerDuty, associating it with a particular incident. | `PAGERDUTY_INVOKE_AUTOMATION_ACTION_BY_ID` | | Post service automation action | This endpoint adds a service to an existing automation action in PagerDuty. | `PAGERDUTY_POST_SERVICE_AUTOMATION_ACTION` | | Action | What it does | Slug | | - | - | - | | Create workflow integration connection | Create a new Workflow Integration Connection. | `PAGERDUTY_CREATE_WORKFLOW_INTEGRATION_CONNECTION` | | Delete workflow integration connection | Deletes a specific workflow integration connection from PagerDuty. | `PAGERDUTY_DELETE_WORKFLOW_INTEGRATION_CONNECTION` | | Update workflow integration connection | Update an existing Workflow Integration Connection. | `PAGERDUTY_UPDATE_WORKFLOW_INTEGRATION_CONNECTION` | | Action | What it does | Slug | | - | - | - | | Create a custom field for an incident type | Custom Fields (CF) are a feature which will allow customers to extend Incidents with their own custom data, to provide additional context and support features such as customized filtering, search and analytics. | `PAGERDUTY_CREATE_A_CUSTOM_FIELD_FOR_AN_INCIDENT_TYPE` | | Delete a custom field for an incident type | Deletes a custom field from an incident type. | `PAGERDUTY_DELETE_A_CUSTOM_FIELD_FOR_AN_INCIDENT_TYPE` | | Delete custom field by field ID | Deletes a specific custom field from incidents in PagerDuty. | `PAGERDUTY_DELETE_CUSTOM_FIELD_BY_FIELD_ID` | | Update a custom field for an incident type | Custom Fields (CF) are a feature which will allow customers to extend Incidents with their own custom data, to provide additional context and support features such as customized filtering, search and analytics. | `PAGERDUTY_UPDATE_A_CUSTOM_FIELD_FOR_AN_INCIDENT_TYPE` | | Update custom field display name | Updates an existing custom field for incidents in PagerDuty. | `PAGERDUTY_UPDATE_CUSTOM_FIELD_DISPLAY_NAME` | | Action | What it does | Slug | | - | - | - | | Associate service dependencies | Associates multiple service dependencies in PagerDuty, allowing you to define relationships between supporting and dependent services. | `PAGERDUTY_ASSOCIATE_SERVICE_DEPENDENCIES` | | Disassociate service dependencies | Disassociates (removes) service dependencies in PagerDuty by deleting specified relationships between supporting and dependent services. | `PAGERDUTY_DISASSOCIATE_SERVICE_DEPENDENCIES` | | Action | What it does | Slug | | - | - | - | | Create escalation policy | Creates a new escalation policy in PagerDuty, defining how incidents are escalated to different responders or teams. | `PAGERDUTY_CREATE_ESCALATION_POLICY` | | Delete escalation policy by ID | Permanently removes a specific escalation policy from the PagerDuty system. | `PAGERDUTY_DELETE_ESCALATION_POLICY_BY_ID` | | Delete team escalation policy | This endpoint removes an escalation policy association from a specific team in PagerDuty. | `PAGERDUTY_DELETE_TEAM_ESCALATION_POLICY` | | Update escalation policy by ID | Updates an existing escalation policy in PagerDuty with new settings and rules. | `PAGERDUTY_UPDATE_ESCALATION_POLICY_BY_ID` | | Update escalation policy for team | Associates an escalation policy with a team in PagerDuty. | `PAGERDUTY_UPDATE_ESCALATION_POLICY_FOR_TEAM` | | Action | What it does | Slug | | - | - | - | | Create event orchestration | Creates a new Event Orchestration in PagerDuty, which defines how incoming events are processed and routed to appropriate services. | `PAGERDUTY_CREATE_EVENT_ORCHESTRATION` | | Delete event by ID | Deletes a specific Event Orchestration from the PagerDuty system. | `PAGERDUTY_DELETE_EVENT_BY_ID` | | Update event orchestration by ID | Updates an existing Event Orchestration in PagerDuty. | `PAGERDUTY_UPDATE_EVENT_ORCHESTRATION_BY_ID` | | Action | What it does | Slug | | - | - | - | | Delete extension by ID | Deletes a specific extension from the PagerDuty service. | `PAGERDUTY_DELETE_EXTENSION_BY_ID` | | Enable extension by ID | Enables a temporarily disabled extension in PagerDuty. | `PAGERDUTY_ENABLE_EXTENSION_BY_ID` | | Update extension by ID | Updates an existing extension in PagerDuty. | `PAGERDUTY_UPDATE_EXTENSION_BY_ID` | | Action | What it does | Slug | | - | - | - | | Create and manage custom incident fields | Creates a new custom field for incidents in PagerDuty. | `PAGERDUTY_CREATE_AND_MANAGE_CUSTOM_INCIDENT_FIELDS` | | Action | What it does | Slug | | - | - | - | | Create integration for orchestration | Creates a new integration for an existing event orchestration in PagerDuty. | `PAGERDUTY_CREATE_INTEGRATION_FOR_ORCHESTRATION` | | Create integration for service | Creates a new integration for a PagerDuty service to enable incident creation from external monitoring tools and systems. | `PAGERDUTY_CREATE_INTEGRATION_FOR_SERVICE` | | Delete integration from event orchestration | Removes a specific integration from an event orchestration in PagerDuty. | `PAGERDUTY_DELETE_INTEGRATION_FROM_EVENT_ORCHESTRATION` | | Migrate integration between orchestrations | This endpoint facilitates the migration of an integration from one event orchestration to another within PagerDuty. | `PAGERDUTY_MIGRATE_INTEGRATION_BETWEEN_ORCHESTRATIONS` | | Update integration by ID and integration ID | Updates an existing integration for a specific PagerDuty service. | `PAGERDUTY_UPDATE_INTEGRATION_BY_ID_AND_INTEGRATION_ID` | | Action | What it does | Slug | | - | - | - | | Update integration label | This endpoint updates the label (name) of an integration associated with a specific event orchestration in PagerDuty. | `PAGERDUTY_UPDATE_INTEGRATION_LABEL` | | Action | What it does | Slug | | - | - | - | | Delete maintenance window by ID | Deletes a specific maintenance window in PagerDuty's incident management system. | `PAGERDUTY_DELETE_MAINTENANCE_WINDOW_BY_ID` | | Update maintenance window by ID | Updates an existing maintenance window in PagerDuty's incident management system. | `PAGERDUTY_UPDATE_MAINTENANCE_WINDOW_BY_ID` | | Action | What it does | Slug | | - | - | - | | Subscribe to user notifications | Creates notification subscriptions for a specific user in PagerDuty. | `PAGERDUTY_SUBSCRIBE_TO_USER_NOTIFICATIONS` | | Action | What it does | Slug | | - | - | - | | Create extension object | Creates a new extension in PagerDuty, allowing for additional functionality or integrations to be added to your services. | `PAGERDUTY_CREATE_EXTENSION_OBJECT` | | Create maintenance window object | Creates a new maintenance window in PagerDuty, allowing you to schedule periods of planned maintenance for specific services. | `PAGERDUTY_CREATE_MAINTENANCE_WINDOW_OBJECT` | | Create user object | Creates a new user in the PagerDuty system with the specified attributes. | `PAGERDUTY_CREATE_USER_OBJECT` | | Action | What it does | Slug | | - | - | - | | Delete user contact method | Deletes a specific contact method associated with a user in PagerDuty. | `PAGERDUTY_DELETE_USER_CONTACT_METHOD` | | Action | What it does | Slug | | - | - | - | | Create or update status page postmortem | Creates or updates a postmortem for a specific status page post in PagerDuty. | `PAGERDUTY_CREATE_OR_UPDATE_STATUS_PAGE_POSTMORTEM` | | Delete status page postmortem | This endpoint allows you to delete a postmortem associated with a specific post on a PagerDuty status page. | `PAGERDUTY_DELETE_STATUS_PAGE_POSTMORTEM` | | Update status page post postmortem | Updates an existing postmortem for a specific status page post in PagerDuty. | `PAGERDUTY_UPDATE_STATUS_PAGE_POST_POSTMORTEM` | | Action | What it does | Slug | | - | - | - | | Create or update status page post | Creates a new post on a PagerDuty Status Page to communicate service status to users. | `PAGERDUTY_CREATE_OR_UPDATE_STATUS_PAGE_POST` | | Delete post from status page | This endpoint deletes a specific post from a PagerDuty status page. | `PAGERDUTY_DELETE_POST_FROM_STATUS_PAGE` | | Update status page post | Updates an existing status page post update with new information. | `PAGERDUTY_UPDATE_STATUS_PAGE_POST` | | Update status page post info | Creates or updates a post update on a specific PagerDuty status page. | `PAGERDUTY_UPDATE_STATUS_PAGE_POST_INFO` | | Action | What it does | Slug | | - | - | - | | Delete business service priority thresholds | Deletes the account-level global priority threshold for business services in PagerDuty. | `PAGERDUTY_DELETE_BUSINESS_SERVICE_PRIORITY_THRESHOLDS` | | Set global priority threshold | Sets the global Priority Threshold for Business Services in PagerDuty, determining which incidents can impact these services based on their priority level. | `PAGERDUTY_SET_GLOBAL_PRIORITY_THRESHOLD` | | Action | What it does | Slug | | - | - | - | | Subscribe entities to business services | This endpoint allows you to subscribe users or teams to a specific business service in PagerDuty. | `PAGERDUTY_SUBSCRIBE_ENTITIES_TO_BUSINESS_SERVICES` | | Unsubscribe business service entity | This endpoint unsubscribes specified users or teams from receiving notifications for a particular business service in PagerDuty. | `PAGERDUTY_UNSUBSCRIBE_BUSINESS_SERVICE_ENTITY` | | Action | What it does | Slug | | - | - | - | | Update status page post resource | Updates an existing status page post on a PagerDuty Status Page. | `PAGERDUTY_UPDATE_STATUS_PAGE_POST_RESOURCE` | | Action | What it does | Slug | | - | - | - | | Create response play for incidents | Creates a new Response Play in PagerDuty, which is a predefined set of actions to be executed in response to an incident. | `PAGERDUTY_CREATE_RESPONSE_PLAY_FOR_INCIDENTS` | | Delete response play | Deletes a specific Response Play from the PagerDuty system. | `PAGERDUTY_DELETE_RESPONSE_PLAY` | | Execute response play by ID | Executes a predefined Response Play for a specific incident in PagerDuty. | `PAGERDUTY_EXECUTE_RESPONSE_PLAY_BY_ID` | | Update response play by ID | Updates an existing Response Play in PagerDuty's incident management system. | `PAGERDUTY_UPDATE_RESPONSE_PLAY_BY_ID` | | Action | What it does | Slug | | - | - | - | | Update user role on team | Adds a user to a team or updates their role on a team. | `PAGERDUTY_UPDATE_USER_ROLE_ON_TEAM` | | Action | What it does | Slug | | - | - | - | | Convert service rule by ID | Converts a service's Event Rules to Event Orchestration rules. | `PAGERDUTY_CONVERT_SERVICE_RULE_BY_ID` | | Create event rule in ruleset | Creates a new Event Rule within a specified Ruleset in PagerDuty's incident management system. | `PAGERDUTY_CREATE_EVENT_RULE_IN_RULESET` | | Create handoff notification rule | Creates a new on-call handoff notification rule for a specific user in PagerDuty. | `PAGERDUTY_CREATE_HANDOFF_NOTIFICATION_RULE` | | Create service event rule | Creates a new event rule for a specific service in PagerDuty. | `PAGERDUTY_CREATE_SERVICE_EVENT_RULE` | | Create user notification rule | Creates a new notification rule for a specific user in PagerDuty. | `PAGERDUTY_CREATE_USER_NOTIFICATION_RULE` | | Create user status update notification rule | Creates a new status update notification rule for a specific user in PagerDuty. | `PAGERDUTY_CREATE_USER_STATUS_UPDATE_NOTIFICATION_RULE` | | Delete oncall handoff notification rule | This endpoint deletes a specific on-call handoff notification rule for a given user in PagerDuty. | `PAGERDUTY_DELETE_ONCALL_HANDOFF_NOTIFICATION_RULE` | | Delete rule from ruleset by ID | Deletes a specific event rule from a ruleset in PagerDuty. | `PAGERDUTY_DELETE_RULE_FROM_RULESET_BY_ID` | | Delete service rule by ID | Deletes a specific rule from a PagerDuty service. | `PAGERDUTY_DELETE_SERVICE_RULE_BY_ID` | | Delete status update notification rule | Deletes a specific status update notification rule associated with a user in the PagerDuty system. | `PAGERDUTY_DELETE_STATUS_UPDATE_NOTIFICATION_RULE` | | Delete user notification rule | Deletes a specific notification rule for a user in PagerDuty. | `PAGERDUTY_DELETE_USER_NOTIFICATION_RULE` | | Update event rule by ID | This endpoint allows you to update an existing Event Rule within a specified Ruleset in PagerDuty. | `PAGERDUTY_UPDATE_EVENT_RULE_BY_ID` | | Update event rule for service | This endpoint allows you to update an existing Event Rule for a specific service in PagerDuty. | `PAGERDUTY_UPDATE_EVENT_RULE_FOR_SERVICE` | | Update oncall handoff notification rule | This endpoint updates an existing on-call handoff notification rule for a specific user in PagerDuty. | `PAGERDUTY_UPDATE_ONCALL_HANDOFF_NOTIFICATION_RULE` | | Update unrouted orchestration rules | Updates the unrouted orchestration rules for a specific Event Orchestration in PagerDuty. | `PAGERDUTY_UPDATE_UNROUTED_ORCHESTRATION_RULES` | | Update user notification rule by ID | Updates a specific status update notification rule for a PagerDuty user. | `PAGERDUTY_UPDATE_USER_NOTIFICATION_RULE_BY_ID` | | Action | What it does | Slug | | - | - | - | | Create a ruleset | Creates a new Ruleset in PagerDuty for managing incident routing and notification rules. | `PAGERDUTY_CREATE_A_RULESET` | | Delete ruleset by ID | Deletes a specific ruleset from the PagerDuty system based on the provided ID. | `PAGERDUTY_DELETE_RULESET_BY_ID` | | Update ruleset by ID | Updates an existing ruleset in the PagerDuty incident management system. | `PAGERDUTY_UPDATE_RULESET_BY_ID` | | Action | What it does | Slug | | - | - | - | | Create automation runner endpoint | Creates a new Runbook Automation runner in PagerDuty's Automation Actions. | `PAGERDUTY_CREATE_AUTOMATION_RUNNER_ENDPOINT` | | Delete automation actions runner by ID | Permanently deletes an automation actions runner from PagerDuty. | `PAGERDUTY_DELETE_AUTOMATION_ACTIONS_RUNNER_BY_ID` | | Update automation runner info | This endpoint allows you to update an existing Automation Action Runner in PagerDuty. | `PAGERDUTY_UPDATE_AUTOMATION_RUNNER_INFO` | | Action | What it does | Slug | | - | - | - | | Create new schedule layer | Creates a new on-call schedule in PagerDuty with one or more rotation layers. | `PAGERDUTY_CREATE_NEW_SCHEDULE_LAYER` | | Delete schedule by ID | The DeleteSchedule endpoint removes a specific schedule from the PagerDuty system. | `PAGERDUTY_DELETE_SCHEDULE_BY_ID` | | Delete schedule override by ID | This endpoint deletes a specific override from a PagerDuty schedule. | `PAGERDUTY_DELETE_SCHEDULE_OVERRIDE_BY_ID` | | Update schedule by ID | The UpdateSchedule endpoint modifies an existing on-call schedule in PagerDuty. | `PAGERDUTY_UPDATE_SCHEDULE_BY_ID` | | Action | What it does | Slug | | - | - | - | | Add service to incident workflow trigger | Adds a service to an existing incident workflow trigger in PagerDuty, enabling the trigger to fire for incidents on that service. | `PAGERDUTY_ADD_SERVICE_TO_INCIDENT_WORKFLOW_TRIGGER` | | Create business service | This endpoint creates a new Business Service in PagerDuty, which represents a specific service or application that can be monitored and managed within the incident management platform. | `PAGERDUTY_CREATE_BUSINESS_SERVICE` | | Create new service | Creates a new service in PagerDuty, which is a key component for managing incidents and alerts. | `PAGERDUTY_CREATE_NEW_SERVICE` | | Delete automation action service by ID | This endpoint removes a specific automation action from a particular service in PagerDuty. | `PAGERDUTY_DELETE_AUTOMATION_ACTION_SERVICE_BY_ID` | | Delete business service by ID | Deletes a specific business service from the PagerDuty system. | `PAGERDUTY_DELETE_BUSINESS_SERVICE_BY_ID` | | Delete incident workflow trigger service | Removes a service from an incident workflow trigger in PagerDuty. | `PAGERDUTY_DELETE_INCIDENT_WORKFLOW_TRIGGER_SERVICE` | | Delete service by ID | Deletes a specific service from the PagerDuty account. | `PAGERDUTY_DELETE_SERVICE_BY_ID` | | Update business service by ID | This endpoint allows you to update an existing Business Service in PagerDuty. | `PAGERDUTY_UPDATE_BUSINESS_SERVICE_BY_ID` | | Update service by ID | Updates an existing service in PagerDuty with the provided configuration. | `PAGERDUTY_UPDATE_SERVICE_BY_ID` | | Update service orchestration active status | Update the active status of a service orchestration in PagerDuty. | `PAGERDUTY_UPDATE_SERVICE_ORCHESTRATION_ACTIVE_STATUS` | | Update the service orchestration for a service | Update a Service Orchestration for a service. | `PAGERDUTY_UPDATE_THE_SERVICE_ORCHESTRATION_FOR_A_SERVICE` | | Action | What it does | Slug | | - | - | - | | Delete user session by ID | Deletes all active sessions for a specified user in the PagerDuty system. | `PAGERDUTY_DELETE_USER_SESSION_BY_ID` | | Delete user session by type | This endpoint deletes a specific user session in PagerDuty. | `PAGERDUTY_DELETE_USER_SESSION_BY_TYPE` | | Action | What it does | Slug | | - | - | - | | Create a field option for a custom field | Creates a new field option for a custom field on an incident type. | `PAGERDUTY_CREATE_A_FIELD_OPTION_FOR_A_CUSTOM_FIELD` | | Create incident field option | Creates a new field option for a specific custom field in PagerDuty's incident management system. | `PAGERDUTY_CREATE_INCIDENT_FIELD_OPTION` | | Create schedule overrides configuration | Creates one or more overrides for a specific schedule in PagerDuty. | `PAGERDUTY_CREATE_SCHEDULE_OVERRIDES_CONFIGURATION` | | Delete a field option for a custom field | Deletes a specific field option from a custom field on an incident type. | `PAGERDUTY_DELETE_A_FIELD_OPTION_FOR_A_CUSTOM_FIELD` | | Delete alert grouping setting | This endpoint allows you to delete specific alert grouping settings in PagerDuty. | `PAGERDUTY_DELETE_ALERT_GROUPING_SETTING` | | Delete field option | Permanently deletes a field option from a custom incident field. | `PAGERDUTY_DELETE_FIELD_OPTION` | | Post alert grouping settings | Creates a new Alert Grouping Setting in PagerDuty, defining how alerts will be automatically grouped into incidents based on specified configurations. | `PAGERDUTY_POST_ALERT_GROUPING_SETTINGS` | | Update alert grouping settings by ID | Update an existing Alert Grouping Setting in PagerDuty by its ID. | `PAGERDUTY_UPDATE_ALERT_GROUPING_SETTINGS_BY_ID` | | Update custom field option | Updates a field option for a custom field on an incident type in PagerDuty. | `PAGERDUTY_UPDATE_CUSTOM_FIELD_OPTION` | | Action | What it does | Slug | | - | - | - | | Create new webhook subscription | Creates a new webhook subscription in PagerDuty to receive specific event notifications. | `PAGERDUTY_CREATE_NEW_WEBHOOK_SUBSCRIPTION` | | Create status page subscription | Creates a new subscription for a PagerDuty status page. | `PAGERDUTY_CREATE_STATUS_PAGE_SUBSCRIPTION` | | Delete account subscription by ID | Deletes the account subscription associated with a specific business service in PagerDuty. | `PAGERDUTY_DELETE_ACCOUNT_SUBSCRIPTION_BY_ID` | | Delete subscription from status page | Deletes a specific subscription associated with a PagerDuty status page. | `PAGERDUTY_DELETE_SUBSCRIPTION_FROM_STATUS_PAGE` | | Delete webhook subscription by ID | Deletes a specific webhook subscription from your PagerDuty account. | `PAGERDUTY_DELETE_WEBHOOK_SUBSCRIPTION_BY_ID` | | Edit webhook subscription by ID | Edit an existing webhook subscription in PagerDuty to modify its configuration. | `PAGERDUTY_EDIT_WEBHOOK_SUBSCRIPTION_BY_ID` | | Enable webhook subscription by ID | Activates a specific webhook subscription in PagerDuty, enabling the system to send notifications for the events configured in that subscription. | `PAGERDUTY_ENABLE_WEBHOOK_SUBSCRIPTION_BY_ID` | | Ping webhook subscription | The PingWebhookSubscription endpoint sends a test POST request to a specified webhook subscription in your PagerDuty account. | `PAGERDUTY_PING_WEBHOOK_SUBSCRIPTION` | | Post account subscription for business service | This endpoint creates or updates an account subscription for a specific business service in PagerDuty. | `PAGERDUTY_POST_ACCOUNT_SUBSCRIPTION_FOR_BUSINESS_SERVICE` | | Post team notification subscription | Creates notification subscriptions for a specific team in PagerDuty. | `PAGERDUTY_POST_TEAM_NOTIFICATION_SUBSCRIPTION` | | Unsubscribe team notification subscriptions | Unsubscribes a team from notifications for specific incidents or business services in PagerDuty. | `PAGERDUTY_UNSUBSCRIBE_TEAM_NOTIFICATION_SUBSCRIPTIONS` | | Unsubscribe user notification subscriptions | This endpoint allows unsubscribing a user from notifications for specific incidents or business services in PagerDuty. | `PAGERDUTY_UNSUBSCRIBE_USER_NOTIFICATION_SUBSCRIPTIONS` | | Action | What it does | Slug | | - | - | - | | Create new tag in system | Creates a new tag in PagerDuty for labeling and categorizing entities. | `PAGERDUTY_CREATE_NEW_TAG_IN_SYSTEM` | | Delete tag by ID | Deletes a specific tag from the PagerDuty system based on its unique identifier. | `PAGERDUTY_DELETE_TAG_BY_ID` | | Modify entity tags | Add and/or remove tags from a PagerDuty entity (user, team, or escalation policy) in a single operation. | `PAGERDUTY_MODIFY_ENTITY_TAGS` | | Action | What it does | Slug | | - | - | - | | Associate team with automation action | This endpoint associates a specific team with an automation action in PagerDuty. | `PAGERDUTY_ASSOCIATE_TEAM_WITH_AUTOMATION_ACTION` | | Create new team with details | Creates a new team in PagerDuty for organizing users, incident management, and on-call schedules. | `PAGERDUTY_CREATE_NEW_TEAM_WITH_DETAILS` | | Delete team by ID | Deletes a team from PagerDuty by its ID. | `PAGERDUTY_DELETE_TEAM_BY_ID` | | Delete team from automation action | This endpoint removes a specific team's access to an Automation Action in PagerDuty. | `PAGERDUTY_DELETE_TEAM_FROM_AUTOMATION_ACTION` | | Post team to runner | This endpoint adds a team to an Automation Action Runner in PagerDuty. | `PAGERDUTY_POST_TEAM_TO_RUNNER` | | Update team by ID | Updates an existing team in PagerDuty by modifying its name, description, visibility, or parent team. | `PAGERDUTY_UPDATE_TEAM_BY_ID` | | Action | What it does | Slug | | - | - | - | | Create status update template | Creates a new status update template in PagerDuty for standardized incident notifications. | `PAGERDUTY_CREATE_STATUS_UPDATE_TEMPLATE` | | Delete template by ID | Deletes a specific template from the PagerDuty account. | `PAGERDUTY_DELETE_TEMPLATE_BY_ID` | | Update template by ID | The UpdateTemplate endpoint allows you to modify an existing status update template in PagerDuty. | `PAGERDUTY_UPDATE_TEMPLATE_BY_ID` | | Action | What it does | Slug | | - | - | - | | Create a trigger | Creates a new incident workflow trigger in PagerDuty. | `PAGERDUTY_CREATE_A_TRIGGER` | | Delete incident workflow trigger by ID | Deletes a specific trigger associated with an incident workflow in PagerDuty. | `PAGERDUTY_DELETE_INCIDENT_WORKFLOW_TRIGGER_BY_ID` | | Update a trigger | Updates an existing incident workflow trigger in PagerDuty. | `PAGERDUTY_UPDATE_A_TRIGGER` | | Action | What it does | Slug | | - | - | - | | Create an incident type | Create a new incident type. | `PAGERDUTY_CREATE_AN_INCIDENT_TYPE` | | Update an incident type | Incident Types are a feature which will allow customers to categorize incidents, such as a security incident, a major incident, or a fraud incident. | `PAGERDUTY_UPDATE_AN_INCIDENT_TYPE` | | Action | What it does | Slug | | - | - | - | | Delete post update by ID | This endpoint deletes a specific post update from a status page post in PagerDuty. | `PAGERDUTY_DELETE_POST_UPDATE_BY_ID` | | Action | What it does | Slug | | - | - | - | | Delete user by ID | Deletes a specific user from the PagerDuty system using their unique identifier. | `PAGERDUTY_DELETE_USER_BY_ID` | | Delete user from team by ID | This endpoint removes a specific user from a designated team within the PagerDuty incident management platform. | `PAGERDUTY_DELETE_USER_FROM_TEAM_BY_ID` | | Update user information | Updates an existing user's information in PagerDuty. | `PAGERDUTY_UPDATE_USER_INFORMATION` | | Action | What it does | Slug | | - | - | - | | Delete cache variable for event | Deletes a specific cache variable associated with an event orchestration in PagerDuty. | `PAGERDUTY_DELETE_CACHE_VARIABLE_FOR_EVENT` | | Delete cache variable from service | Deletes a cache variable from a service's event orchestration. | `PAGERDUTY_DELETE_CACHE_VARIABLE_FROM_SERVICE` | | Manage cache variables for event service | Creates a cache variable for a service event orchestration. | `PAGERDUTY_MANAGE_CACHE_VARIABLES_FOR_EVENT_SERVICE` | | Post event orchestration cache variables | Creates a new cache variable within a PagerDuty event orchestration. | `PAGERDUTY_POST_EVENT_ORCHESTRATION_CACHE_VARIABLES` | | Update event orchestration cache variable | This endpoint updates a cache variable associated with a specific service in PagerDuty's event orchestrations. | `PAGERDUTY_UPDATE_EVENT_ORCHESTRATION_CACHE_VARIABLE` | | Action | What it does | Slug | | - | - | - | | Create incident workflow | This endpoint creates a new Incident Workflow in PagerDuty, allowing users to define a series of automated steps to be executed during incident response. | `PAGERDUTY_CREATE_INCIDENT_WORKFLOW` | | Create incident workflow instance | Creates a new instance of an incident workflow for a specific incident in PagerDuty. | `PAGERDUTY_CREATE_INCIDENT_WORKFLOW_INSTANCE` | | Delete incident workflow by ID | Deletes a specific incident workflow from the PagerDuty system. | `PAGERDUTY_DELETE_INCIDENT_WORKFLOW_BY_ID` | | Update incident workflow | This endpoint updates an existing Incident Workflow in PagerDuty by its unique identifier. | `PAGERDUTY_UPDATE_INCIDENT_WORKFLOW` | | Action | What it does | Slug | | - | - | - | | Delete addon by ID | Deletes a specific add-on from the PagerDuty account using its unique identifier. | `PAGERDUTY_DELETE_ADDON_BY_ID` | | Delete all OAuth delegations | Delete all OAuth delegations for a user based on the specified type. | `PAGERDUTY_DELETE_ALL_OAUTH_DELEGATIONS` | | Install add on endpoint | This endpoint allows you to install a new add-on to your PagerDuty account, enhancing its functionality with custom integrations. | `PAGERDUTY_INSTALL_ADD_ON_ENDPOINT` | | Send mcp request | Send JSON-RPC requests to PagerDuty's Model Context Protocol (MCP) endpoint. | `PAGERDUTY_SEND_MCP_REQUEST` | | Update add on by ID | Updates an existing Add-on in PagerDuty with new properties. | `PAGERDUTY_UPDATE_ADD_ON_BY_ID` | | Update global orchestration | Update the Global Orchestration configuration for an Event Orchestration. | `PAGERDUTY_UPDATE_GLOBAL_ORCHESTRATION` | | Update orchestration router details | Updates the configuration of an existing Event Orchestration Router in PagerDuty. | `PAGERDUTY_UPDATE_ORCHESTRATION_ROUTER_DETAILS` | | Update standard by ID | Updates an existing standard in the PagerDuty incident management platform. | `PAGERDUTY_UPDATE_STANDARD_BY_ID` | ## Connect PagerDuty Before you start: * You need a PagerDuty account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **PagerDuty** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect PagerDuty**. The PagerDuty sign-in page opens in a new tab. Sign in to PagerDuty and approve the request. Check that it works: PagerDuty shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the PagerDuty account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the PagerDuty account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one PagerDuty account Click **+ Account** on the PagerDuty card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the PagerDuty side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on PagerDuty**. 3. Sign in to PagerDuty and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the PagerDuty account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to PagerDuty.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected PagerDuty account becomes primary. ## Costs PagerDuty actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to PagerDuty, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the PagerDuty connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each PagerDuty account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the PagerDuty card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the PagerDuty account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to PagerDuty.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # PostSyncer Source: https://squad.so/docs/apps/postsyncer Connect PostSyncer so your teammates can plan, schedule, and publish social posts, and learn which PostSyncer tool Squad blocks. [PostSyncer](https://postsyncer.com/?via=mchq) schedules and publishes social posts across every platform. Connect it, and your teammates can draft, schedule, and publish posts, and report on how they do. PostSyncer is in the **Recommended** section of the catalog. It connects with a PostSyncer API token that you paste. It has no sign-in button. ## What teammates can do in PostSyncer Teammates get PostSyncer tools with names that start with `postsyncer_`. With them, teammates can: * Draft and schedule posts (`postsyncer_create-post`, `postsyncer_update-post`). * See the calendar (`postsyncer_list-posts`, `postsyncer_list-campaigns`). * Plan a series of posts (`postsyncer_create-campaign`). * Attach media from a web address (`postsyncer_upload-media-from-url`). * Report on performance (`postsyncer_get-analytics-summary`, `postsyncer_sync-post-analytics`). * Read and reply to comments (`postsyncer_list-comments`, `postsyncer_create-comment`). * Delete posts and media. Squad blocks one PostSyncer tool: `delete-account`, which removes one of your connected social accounts. Your squad's computer never gives this tool to any teammate. Deleting posts and media stays available to teammates, so they can clean up your calendar. Posts go out on your real social accounts. Teammates are told to schedule drafts for your review, unless you approved immediate publishing for that kind of post. This is an instruction to the teammates. Squad does not enforce it. PostSyncer has no access levels in Squad, and there is no **Per-teammate access** setting for it. The tools appear within a couple of minutes after you connect. Until then, teammates cannot see them. ## Connect PostSyncer Before you start: * You need a PostSyncer account with your social accounts connected in PostSyncer. Sign in at [postsyncer.com](https://postsyncer.com/?via=mchq). * Your Squad subscription must be active. * You must be the owner, or an Administrator who is not limited to some teammates. In PostSyncer, open **Settings** > **API Integrations** and click **Create**. Copy the token. In Squad, click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Under **Recommended**, click **PostSyncer**. The **Connect PostSyncer** window opens. Paste the token in the **API token** field. Click **Connect PostSyncer**. Check that it works: PostSyncer shows **Connected** in the catalog and appears in the list under **Custom integrations**. When you open it again from the catalog, the window shows "Connected. Your teammates can use PostSyncer." If PostSyncer is not in the catalog, or connecting fails with a message that your workspace is still updating, your squad's computer does not yet run a version that enforces the blocked tool. Squad shows and connects PostSyncer only when it does. ## Replace the token Open **Settings** > **Apps**, click **Add integration**, and click **PostSyncer** in the catalog. Click **Replace the stored key**, paste the new token, and click **Save new key**. Squad stores one PostSyncer token for your workspace. A new token replaces the old one. You cannot connect a second PostSyncer account. ## Disconnect PostSyncer Open **PostSyncer** from the catalog, click **Disconnect**, then click **Really disconnect?** to confirm. Squad deletes the stored token from your squad's computer. ## Add PostSyncer as your own MCP server You cannot. If you add an MCP server with PostSyncer's server address, Squad rejects it and tells you to connect PostSyncer from its card. This keeps the blocked tool blocked. ## Costs PostSyncer tools do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Common questions No. Squad never gives teammates the PostSyncer tool that removes a connected social account (`delete-account`). You connect and remove social accounts yourself in PostSyncer. Yes. Deleting posts and media stays available to teammates, so they can clean up your calendar. Open **PostSyncer** from the catalog, click **Disconnect**, then click **Really disconnect?** to confirm. Squad deletes the stored token from your squad's computer. ## Related pages # Productboard Source: https://squad.so/docs/apps/productboard What teammates can do in Productboard with standard access, and how to connect, limit, and disconnect Productboard. Connect Productboard so your teammates can work in your Productboard account. ## Access levels Productboard has one level. The connect window shows it as **Default** and describes it as "Standard access." Teammates can use all 99 Productboard actions. You cannot choose a narrower level for Productboard. You can block single teammates with **No access** under **Per-teammate access**. The Productboard sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in, and standard access does not limit which Productboard actions teammates can use. ## What teammates can do The summary below groups the Productboard actions into plain tasks. The full list after it names every action, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open the list and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Productboard account?" The teammate can search the Productboard actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Productboard action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. * View, create, update, and delete features * View, create, update, and delete users * View, create, update, and delete companies * View, create, update, and delete goals * View, create, update, and delete releases * View, create, and delete fields * View and delete initiatives * View, create, and delete links * View, create, and delete webhooks * View, create, and update components * View and update custom fields * View and update products | Action | What it does | Slug | | - | - | - | | List analytics member activities v2 | Retrieve member activity analytics data from Productboard. | `PRODUCTBOARD_LIST_ANALYTICS_MEMBER_ACTIVITIES_V2` | | Action | What it does | Slug | | - | - | - | | Create company | Create a new company in Productboard. | `PRODUCTBOARD_CREATE_COMPANY` | | Delete company | Delete a specific company. | `PRODUCTBOARD_DELETE_COMPANY` | | List companies | | `PRODUCTBOARD_LIST_COMPANIES` | | Retrieve company | Retrieve details of a specific company. | `PRODUCTBOARD_RETRIEVE_COMPANY` | | Update company | Update an existing company in Productboard. | `PRODUCTBOARD_UPDATE_COMPANY` | | Action | What it does | Slug | | - | - | - | | Create component | Create a new (sub)component under a product or component. | `PRODUCTBOARD_CREATE_COMPONENT` | | Get component | Retrieve details of a specific component. | `PRODUCTBOARD_GET_COMPONENT` | | Update component | Update an existing component. | `PRODUCTBOARD_UPDATE_COMPONENT` | | Action | What it does | Slug | | - | - | - | | Delete custom field value | Delete a custom field value from a hierarchy entity in Productboard. | `PRODUCTBOARD_DELETE_CUSTOM_FIELD_VALUE` | | Get custom field value | Retrieve a custom field's value for a specific hierarchy entity. | `PRODUCTBOARD_GET_CUSTOM_FIELD_VALUE` | | Get hierarchy entities custom fields | Retrieve a specific custom field definition for hierarchy entities. | `PRODUCTBOARD_GET_HIERARCHY_ENTITIES_CUSTOM_FIELDS` | | List custom field values | Lists custom field values for hierarchy entities (products, components, features) in Productboard. | `PRODUCTBOARD_LIST_CUSTOM_FIELD_VALUES` | | List custom fields | Lists custom field definitions for hierarchy entities (Products, Components, Features). | `PRODUCTBOARD_LIST_CUSTOM_FIELDS` | | Set custom field value | Set a custom field value on a hierarchy entity. | `PRODUCTBOARD_SET_CUSTOM_FIELD_VALUE` | | Update companies custom fields | Update a company custom field name. | `PRODUCTBOARD_UPDATE_COMPANIES_CUSTOM_FIELDS` | | Action | What it does | Slug | | - | - | - | | Set notes relationships customer v2 | Set a customer relationship on a note in Productboard. | `PRODUCTBOARD_SET_NOTES_RELATIONSHIPS_CUSTOMER_V2` | | Action | What it does | Slug | | - | - | - | | Create feature | Create a new feature or subfeature in Productboard. | `PRODUCTBOARD_CREATE_FEATURE` | | Create objectives links features | Create a new link between an objective and a feature. | `PRODUCTBOARD_CREATE_OBJECTIVES_LINKS_FEATURES` | | Delete feature | Delete a specific feature. | `PRODUCTBOARD_DELETE_FEATURE` | | Delete objectives links features | Delete a link between an objective and a feature. | `PRODUCTBOARD_DELETE_OBJECTIVES_LINKS_FEATURES` | | List feature statuses | Follow 'links.next' for additional pages. | `PRODUCTBOARD_LIST_FEATURE_STATUSES` | | List objectives links features | Lists all features linked to a specific objective. | `PRODUCTBOARD_LIST_OBJECTIVES_LINKS_FEATURES` | | Retrieve feature | Retrieve details of a specific feature. | `PRODUCTBOARD_RETRIEVE_FEATURE` | | Set features | Update a feature by ID. | `PRODUCTBOARD_SET_FEATURES` | | Update features | Update a feature in Productboard. | `PRODUCTBOARD_UPDATE_FEATURES` | | Action | What it does | Slug | | - | - | - | | Create company field | Create a new custom field for companies. | `PRODUCTBOARD_CREATE_COMPANY_FIELD` | | Delete company field | Delete a specific company custom field. | `PRODUCTBOARD_DELETE_COMPANY_FIELD` | | List company fields | Lists all custom field definitions for companies in your Productboard workspace. | `PRODUCTBOARD_LIST_COMPANY_FIELDS` | | Retrieve company field | Retrieve details of a specific company custom field. | `PRODUCTBOARD_RETRIEVE_COMPANY_FIELD` | | Retrieve company field value | Retrieve a specific company custom field value. | `PRODUCTBOARD_RETRIEVE_COMPANY_FIELD_VALUE` | | Set company field value | Set or replace a specific company custom field's value. | `PRODUCTBOARD_SET_COMPANY_FIELD_VALUE` | | Action | What it does | Slug | | - | - | - | | Add note followers | Add multiple followers to a Productboard note. | `PRODUCTBOARD_ADD_NOTE_FOLLOWERS` | | Remove note follower | Remove a follower from a Productboard note. | `PRODUCTBOARD_REMOVE_NOTE_FOLLOWER` | | Action | What it does | Slug | | - | - | - | | Create objectives | Create a new objective in Productboard. | `PRODUCTBOARD_CREATE_OBJECTIVES` | | Delete objectives | Delete a specific objective from Productboard. | `PRODUCTBOARD_DELETE_OBJECTIVES` | | Get objective | Retrieve details of a specific objective. | `PRODUCTBOARD_GET_OBJECTIVE` | | List feature objectives | Lists all objectives (OKRs) linked to a top-level feature. | `PRODUCTBOARD_LIST_FEATURE_OBJECTIVES` | | Update objectives | Update an existing objective in Productboard. | `PRODUCTBOARD_UPDATE_OBJECTIVES` | | Action | What it does | Slug | | - | - | - | | Get release group | Retrieve details of a specific release group. | `PRODUCTBOARD_GET_RELEASE_GROUP` | | List release groups | Lists all release groups in the Productboard workspace. | `PRODUCTBOARD_LIST_RELEASE_GROUPS` | | Action | What it does | Slug | | - | - | - | | Delete initiatives | Delete a specific initiative. | `PRODUCTBOARD_DELETE_INITIATIVES` | | List feature initiatives | List initiatives linked to a given feature. | `PRODUCTBOARD_LIST_FEATURE_INITIATIVES` | | List initiatives | List initiatives from Productboard. | `PRODUCTBOARD_LIST_INITIATIVES` | | List objectives links initiatives | List initiatives linked to a specific objective. | `PRODUCTBOARD_LIST_OBJECTIVES_LINKS_INITIATIVES` | | Action | What it does | Slug | | - | - | - | | List Jira integrations | | `PRODUCTBOARD_LIST_JIRA_INTEGRATIONS` | | List plugin integrations | List all plugin integrations in the Productboard workspace. | `PRODUCTBOARD_LIST_PLUGIN_INTEGRATIONS` | | Action | What it does | Slug | | - | - | - | | Delete key results | Delete a specific key result from Productboard. | `PRODUCTBOARD_DELETE_KEY_RESULTS` | | List key results | List key results from Productboard. | `PRODUCTBOARD_LIST_KEY_RESULTS` | | Action | What it does | Slug | | - | - | - | | Create feature objective link | Create a link between a feature and an objective (OKR). | `PRODUCTBOARD_CREATE_FEATURE_OBJECTIVE_LINK` | | Create note link | Create a link between a note and an entity. | `PRODUCTBOARD_CREATE_NOTE_LINK` | | Delete feature objective link | Delete a link between a feature and an objective. | `PRODUCTBOARD_DELETE_FEATURE_OBJECTIVE_LINK` | | List notes links | List links associated with a note. | `PRODUCTBOARD_LIST_NOTES_LINKS` | | Action | What it does | Slug | | - | - | - | | Create notes v2 | Create a new note in Productboard using the v2 API. | `PRODUCTBOARD_CREATE_NOTES_V2` | | Delete notes relationships v2 | Delete a note relationship. | `PRODUCTBOARD_DELETE_NOTES_RELATIONSHIPS_V2` | | Delete notes v2 | Delete a note using the v2 API. | `PRODUCTBOARD_DELETE_NOTES_V2` | | Get notes v2 | Retrieve a note using the v2 API. | `PRODUCTBOARD_GET_NOTES_V2` | | List notes relationships v2 | Retrieve relationships associated with a note. | `PRODUCTBOARD_LIST_NOTES_RELATIONSHIPS_V2` | | List notes v2 | Retrieve a paginated list of notes from Productboard using the v2 API. | `PRODUCTBOARD_LIST_NOTES_V2` | | Update notes v2 | Update a note using the v2 API. | `PRODUCTBOARD_UPDATE_NOTES_V2` | | Action | What it does | Slug | | - | - | - | | Retrieve product | Retrieve details of a specific product. | `PRODUCTBOARD_RETRIEVE_PRODUCT` | | Set product | Update a product using PUT method in Productboard. | `PRODUCTBOARD_SET_PRODUCT` | | Update product | Update a product in Productboard. | `PRODUCTBOARD_UPDATE_PRODUCT` | | Action | What it does | Slug | | - | - | - | | Create entities relationships v2 | Create a relationship between two entities in Productboard. | `PRODUCTBOARD_CREATE_ENTITIES_RELATIONSHIPS_V2` | | Create entities v2 | Create a new entity in Productboard using the v2 API. | `PRODUCTBOARD_CREATE_ENTITIES_V2` | | Delete entities relationships v2 | Delete a relationship between two entities. | `PRODUCTBOARD_DELETE_ENTITIES_RELATIONSHIPS_V2` | | Delete entities v2 | Delete a PM entity using the v2 API. | `PRODUCTBOARD_DELETE_ENTITIES_V2` | | Get entities v2 | Retrieve a PM entity using the v2 API. | `PRODUCTBOARD_GET_ENTITIES_V2` | | List entities relationships v2 | Retrieve relationships for an entity in Productboard. | `PRODUCTBOARD_LIST_ENTITIES_RELATIONSHIPS_V2` | | List entities v2 | List entities from Productboard using the v2 API. | `PRODUCTBOARD_LIST_ENTITIES_V2` | | Search entities v2 | Search for entities across Productboard using the v2 API. | `PRODUCTBOARD_SEARCH_ENTITIES_V2` | | Set entities relationships parent v2 | Set parent relationship on an entity. | `PRODUCTBOARD_SET_ENTITIES_RELATIONSHIPS_PARENT_V2` | | Update entities v2 | Update a PM entity using the v2 API. | `PRODUCTBOARD_UPDATE_ENTITIES_V2` | | Action | What it does | Slug | | - | - | - | | Create release | Create a new release in Productboard. | `PRODUCTBOARD_CREATE_RELEASE` | | Delete release | Delete a specific release. | `PRODUCTBOARD_DELETE_RELEASE` | | Get feature release assignment | Retrieve a specific feature release assignment. | `PRODUCTBOARD_GET_FEATURE_RELEASE_ASSIGNMENT` | | Get release | Retrieve details of a specific release by ID. | `PRODUCTBOARD_GET_RELEASE` | | List feature release assignments | List feature. | `PRODUCTBOARD_LIST_FEATURE_RELEASE_ASSIGNMENTS` | | List releases | List all releases in Productboard. | `PRODUCTBOARD_LIST_RELEASES` | | Set feature release assignment | Update a feature release assignment. | `PRODUCTBOARD_SET_FEATURE_RELEASE_ASSIGNMENT` | | Update release | Update an existing release in Productboard. | `PRODUCTBOARD_UPDATE_RELEASE` | | Action | What it does | Slug | | - | - | - | | Get entities configurations v2 | Retrieve entity configuration for a specific type. | `PRODUCTBOARD_GET_ENTITIES_CONFIGURATIONS_V2` | | Get notes configurations v2 | Retrieve note configuration by type (simple, conversation, or opportunity). | `PRODUCTBOARD_GET_NOTES_CONFIGURATIONS_V2` | | List entities configurations v2 | Retrieve configurations for all entity types in Productboard. | `PRODUCTBOARD_LIST_ENTITIES_CONFIGURATIONS_V2` | | List feedback form configurations | | `PRODUCTBOARD_LIST_FEEDBACK_FORM_CONFIGURATIONS` | | List notes configurations v2 | List note configurations from Productboard v2 API. | `PRODUCTBOARD_LIST_NOTES_CONFIGURATIONS_V2` | | Action | What it does | Slug | | - | - | - | | Add note tag | Adds a tag to a Productboard note for categorization and organization. | `PRODUCTBOARD_ADD_NOTE_TAG` | | Delete note tag | Remove a tag from a Productboard note. | `PRODUCTBOARD_DELETE_NOTE_TAG` | | List note tags | Retrieve all tags associated with a specific Productboard note. | `PRODUCTBOARD_LIST_NOTE_TAGS` | | Action | What it does | Slug | | - | - | - | | Create users | Create a new user in Productboard. | `PRODUCTBOARD_CREATE_USERS` | | Delete user | Delete a specific user. | `PRODUCTBOARD_DELETE_USER` | | List users | Retrieves a paginated list of all users in the Productboard workspace. | `PRODUCTBOARD_LIST_USERS` | | Retrieve user | Retrieve details of a specific user. | `PRODUCTBOARD_RETRIEVE_USER` | | SCIM list users | List users via SCIM. | `PRODUCTBOARD_SCIM_LIST_USERS` | | Update user | Update a user's information. | `PRODUCTBOARD_UPDATE_USER` | | Action | What it does | Slug | | - | - | - | | Create webhook | Create a new webhook subscription. | `PRODUCTBOARD_CREATE_WEBHOOK` | | Delete webhook | Delete a webhook subscription. | `PRODUCTBOARD_DELETE_WEBHOOK` | | Get webhooks | Retrieve details of a specific webhook subscription. | `PRODUCTBOARD_GET_WEBHOOKS` | | List webhooks | List all webhook subscriptions. | `PRODUCTBOARD_LIST_WEBHOOKS` | ## Connect Productboard Before you start: * You need a Productboard account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Productboard** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, keep **Default**. It is the only option. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Productboard**. The Productboard sign-in page opens in a new tab. Sign in to Productboard and approve the request. Check that it works: Productboard shows under **Your connections**, with a row for the account and its access level. ## Set access for one teammate Every teammate can use the account unless you block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Productboard account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose **No access** to block the teammate. Choose **Default (Default)** to allow it again. 5. Click **Save access**. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Productboard account Click **+ Account** on the Productboard card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Productboard side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Productboard**. 3. Sign in to Productboard and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Productboard account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Productboard.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Productboard account becomes primary. ## Costs Productboard actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate says it has no access to Productboard, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Productboard connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions You cannot choose a narrower level for Productboard. You can block single teammates with **No access** under **Per-teammate access**. Click **+ Account** on the Productboard card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Productboard account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Productboard.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Reddit Source: https://squad.so/docs/apps/reddit What teammates can do in Reddit at each access level, and how to connect, limit, and disconnect Reddit. Connect Reddit so your teammates can work in your Reddit account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Reddit account has an access level: **Read-only**, **Read + submit**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as your profile, subreddits, posts, and comments. Cannot change anything." | 17 of 23 | | **Read + submit** (recommended) | "Post and comment, and edit and delete your own posts and comments." | 23 of 23 | | **Full access** | "Everything the connection can do on Reddit." | 23 of 23 | **Read + submit** is the recommended level. The connect window selects it for you, and you can choose another level. The Reddit sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Reddit account?" The teammate can search the Reddit actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Reddit action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 17 of the 23 Reddit actions at this level: * View comments * View posts * View rules * View settings * View users All 17 actions at this level: | Works on | Action | What it does | Slug | | - | - | - | - | | **Comments** | Retrieve post comments | Retrieves all comments for a Reddit post given its base-36 article ID. | `REDDIT_RETRIEVE_POST_COMMENTS` | | | Retrieve specific comment | Retrieves detailed information for a single Reddit comment or post using its fullname. | `REDDIT_RETRIEVE_SPECIFIC_COMMENT` | | **Posts** | Get controversial posts | Retrieve controversial posts from all subreddits with time filters. | `REDDIT_GET_CONTROVERSIAL_POSTS` | | | List subreddit post flairs | List available link/post flairs for a subreddit (including flair\_template\_id) so posts can satisfy flair-required validation. | `REDDIT_LIST_SUBREDDIT_POST_FLAIRS` | | | Retrieve Reddit post | Retrieves posts from a specified, publicly accessible subreddit. | `REDDIT_RETRIEVE_REDDIT_POST` | | **Rules** | Get subreddit rules | Fetch the explicit posting rules for a subreddit to ensure compliance before posting or commenting. | `REDDIT_GET_SUBREDDIT_RULES` | | **Settings** | Get me prefs | Retrieve preference settings of the logged in user. | `REDDIT_GET_ME_PREFS` | | **Subreddits** | Get subreddits search | Search subreddits by title and description. | `REDDIT_GET_SUBREDDITS_SEARCH` | | | Search across subreddits | Searches Reddit for posts/comments using a query. | `REDDIT_SEARCH_ACROSS_SUBREDDITS` | | **Users** | Get Reddit user about | Retrieves information about a specified Reddit user account, including karma scores and gold status. | `REDDIT_GET_REDDIT_USER_ABOUT` | | | Get user flair | Fetches the list of user flair assignments for a given subreddit. | `REDDIT_GET_USER_FLAIR` | | | Get username available | Check whether a username is available for registration on Reddit. | `REDDIT_GET_USERNAME_AVAILABLE` | | **Other actions** | Get | Retrieve a listing of Reddit posts sorted by the specified criteria (hot, new, top, etc.). | `REDDIT_GET` | | | Get new | DEPRECATED: Use RetrieveRedditPost instead. | `REDDIT_GET_NEW` | | | Get r top | Retrieve top-rated posts from a subreddit with time filters. | `REDDIT_GET_R_TOP` | | | Get random | Retrieve a random public Reddit post from any subreddit. | `REDDIT_GET_RANDOM` | | | Get scopes | Retrieve all available OAuth scopes supported by the Reddit API. | `REDDIT_GET_SCOPES` | Teammates can use 23 of the 23 Reddit actions at this level: everything in **Read-only**, plus: * Create, update, and delete comments * Create and delete posts * Update replies The 6 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Comments** | Delete Reddit comment | Deletes a Reddit comment, identified by its fullname ID, if it was authored by the authenticated user. | `REDDIT_DELETE_REDDIT_COMMENT` | | | Edit Reddit comment or post | Edits the body text of the authenticated user's own existing comment or self-post on Reddit. | `REDDIT_EDIT_REDDIT_COMMENT_OR_POST` | | | Post Reddit comment | Posts a comment on Reddit, replying to an existing submission (post) or another comment. | `REDDIT_POST_REDDIT_COMMENT` | | **Posts** | Create Reddit post | Creates a new text or link post on a specified, existing Reddit subreddit, optionally applying a flair. | `REDDIT_CREATE_REDDIT_POST` | | | Delete Reddit post | Permanently and irreversibly deletes a Reddit post by its ID. | `REDDIT_DELETE_REDDIT_POST` | | **Replies** | Toggle inbox replies | Enable or disable inbox replies for a submission or comment. | `REDDIT_TOGGLE_INBOX_REPLIES` | Teammates can use the same 23 actions as at **Read + submit**. ## Connect Reddit Before you start: * You need a Reddit account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Reddit** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Reddit**. The Reddit sign-in page opens in a new tab. Sign in to Reddit and approve the request. Check that it works: Reddit shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Reddit account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Reddit account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Reddit account Click **+ Account** on the Reddit card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Reddit side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Reddit**. 3. Sign in to Reddit and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Reddit account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Reddit.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Reddit account becomes primary. ## Costs Reddit actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Reddit, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Reddit connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Reddit account has an access level: **Read-only**, **Read + submit**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Reddit card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Reddit account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Reddit.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Revid Source: https://squad.so/docs/apps/revid Connect Revid so your teammates can create, render, and publish short-form videos, and learn which Revid tool Squad blocks. [Revid](https://www.revid.ai/?via=mchq) is AI short-form video creation and publishing. Connect it, and your teammates can make videos, track them, and publish them. Revid is in the **Recommended** section of the catalog. It connects with a Revid API key that you paste. It has no sign-in button. ## What teammates can do in Revid Teammates get 13 Revid tools: | Tool | What it does | | - | - | | `revid_generate_media`, `revid_render_video` | Create videos. | | `revid_get_project_status`, `revid_list_projects` | Track videos. | | `revid_rename_project` | Rename a project. | | `revid_export_video`, `revid_schedule_publish`, `revid_publish_now` | Deliver videos: export, schedule, or publish now. | | `revid_clone_voice` | Clone a voice. | | `revid_list_characters`, `revid_create_character`, `revid_delete_character` | Manage characters. | | `revid_calculate_credits` | Estimate the Revid credits a render needs. | Squad blocks one Revid tool: `buy_credit_pack`, which charges your Revid account. Your squad's computer never gives this tool to any teammate. Rendering spends the Revid credits in your connected Revid account. Teammates are told to check the cost with `revid_calculate_credits` before large renders, and to tell you when credits run low. You buy credit packs yourself, in the [Revid account page](https://www.revid.ai/account?via=mchq). Revid has no access levels in Squad, and there is no **Per-teammate access** setting for it. The tools appear within a couple of minutes after you connect. Until then, teammates cannot see them. ## Connect Revid Before you start: * You need a Revid account. Sign in at [revid.ai](https://www.revid.ai/?via=mchq). * Your Squad subscription must be active. * You must be the owner, or an Administrator who is not limited to some teammates. In Revid, open the [account page](https://www.revid.ai/account?via=mchq#api-key) and copy your API key from the API key section. In Squad, click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Under **Recommended**, click **Revid**. The **Connect Revid** window opens. Paste the key in the **API key** field. Click **Connect Revid**. Check that it works: Revid shows **Connected** in the catalog and appears in the list under **Custom integrations**. When you open it again from the catalog, the window shows "Connected. Your teammates can use Revid." If Revid is not in the catalog, or connecting fails with a message that your workspace is still updating, your squad's computer does not yet run a version that enforces the blocked tool. Squad shows and connects Revid only when it does. ## Replace the key Open **Settings** > **Apps**, click **Add integration**, and click **Revid** in the catalog. Click **Replace the stored key**, paste the new key, and click **Save new key**. Squad stores one Revid key for your workspace. A new key replaces the old one. You cannot connect a second Revid account. ## Disconnect Revid Open **Revid** from the catalog, click **Disconnect**, then click **Really disconnect?** to confirm. Squad deletes the stored key from your squad's computer. ## Add Revid as your own MCP server You cannot. If you add an MCP server with Revid's server address, Squad rejects it and tells you to connect Revid from its card. This keeps the blocked tool blocked. ## Costs Revid tools do not use Squad credits. Rendering spends the Revid credits in your connected Revid account. For what uses Squad credits, see [What Squad costs](/docs/costs). ## Common questions No. Squad never gives teammates the Revid tool that buys credit packs (`buy_credit_pack`). You buy credits yourself in the Revid dashboard. Rendering spends the Revid credits in your connected Revid account. It does not use Squad credits. Open **Revid** from the catalog, click **Disconnect**, then click **Really disconnect?** to confirm. Squad deletes the stored key from your squad's computer. ## Related pages # Salesforce Source: https://squad.so/docs/apps/salesforce What teammates can do in Salesforce at each access level, and how to connect, limit, and disconnect Salesforce. Connect Salesforce so your teammates can work in your Salesforce account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Salesforce account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as records, reports, dashboards, and Chatter. Cannot change anything." | 141 of 224 | | **Read + write** (recommended) | "Create, edit, and delete accounts, contacts, leads, opportunities, campaigns, notes, and tasks (deletes go to the Recycle Bin), and run reports. Cannot send email, move record ownership in bulk, or change setup records such as users." | 195 of 224 | | **Full access** | "Everything, including email, custom objects and fields, bulk data jobs, and calls that reach any record." | 224 of 224 | **Read + write** is the recommended level. The connect window selects it for you, and you can choose another level. The Salesforce sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Salesforce account?" The teammate can search the Salesforce actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Salesforce action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 141 of the 224 Salesforce actions at this level: * View and search account details * View and search contacts * View objects * View records * View views * View and search leads * View and search opportunities * View and search campaigns * View and search notes * View apps * View and search reports * View and search articles All 141 actions at this level: | Action | What it does | Slug | | - | - | - | | Fetch account by ID with query | DEPRECATED: Use this action to retrieve a Salesforce Account by its unique ID, which must be a valid and existing Salesforce Account ID. | `SALESFORCE_FETCH_ACCOUNT_BY_ID_WITH_QUERY` | | Get account | Retrieves a specific account by ID from Salesforce, returning all available fields. | `SALESFORCE_GET_ACCOUNT` | | Get ui API actions lookup account | Get lookup field actions for a Salesforce object. | `SALESFORCE_GET_UI_API_ACTIONS_LOOKUP_ACCOUNT` | | Get ui API mru list records account | Get Most Recently Used (MRU) list view records for Account object. | `SALESFORCE_GET_UI_API_MRU_LIST_RECORDS_ACCOUNT` | | Get uiapi actions mru list account | Retrieve header actions available on the MRU (Most Recently Used) list view for a specified Salesforce object. | `SALESFORCE_GET_UIAPI_ACTIONS_MRU_LIST_ACCOUNT` | | Get uiapi list info account all accounts | Retrieves list view metadata for the Account AllAccounts view using Salesforce UI API. | `SALESFORCE_GET_UIAPI_LIST_INFO_ACCOUNT_ALL_ACCOUNTS` | | Get uiapi list info account recent | Get list view metadata from Salesforce UI API. | `SALESFORCE_GET_UIAPI_LIST_INFO_ACCOUNT_RECENT` | | Get uiapi list info account search result | Retrieves list view metadata for the Account \_\_SearchResult view using Salesforce UI API. | `SALESFORCE_GET_UIAPI_LIST_INFO_ACCOUNT_SEARCH_RESULT` | | Get uiapimru list info account | Get Most Recently Used (MRU) list view metadata for Account object. | `SALESFORCE_GET_UIAPIMRU_LIST_INFO_ACCOUNT` | | List accounts | Lists accounts from Salesforce using SOQL query, allowing flexible filtering, sorting, and field selection. | `SALESFORCE_LIST_ACCOUNTS` | | Retrieve account data and error responses | DEPRECATED: Retrieves comprehensive metadata for the Salesforce Account sObject, detailing its properties, recent records, and related resource URLs. | `SALESFORCE_RETRIEVE_ACCOUNT_DATA_AND_ERROR_RESPONSES` | | Search accounts | Search for Salesforce accounts using criteria like name, industry, type, location, or contact information. | `SALESFORCE_SEARCH_ACCOUNTS` | | Who am I | | `SALESFORCE_WHO_AM_I` | | Action | What it does | Slug | | - | - | - | | Get app | Get metadata about a specific Salesforce app by ID. | `SALESFORCE_GET_APP` | | Get apps | Get metadata for all apps a user has access to. | `SALESFORCE_GET_APPS` | | Get last selected app | Retrieves the app the current user last selected or the app the user sees by default. | `SALESFORCE_GET_LAST_SELECTED_APP` | | Action | What it does | Slug | | - | - | - | | Get support knowledge articles | Retrieves user's visible knowledge articles and data categories from Salesforce Knowledge. | `SALESFORCE_GET_SUPPORT_KNOWLEDGE_ARTICLES` | | Search knowledge articles | Search for Salesforce Knowledge articles with titles matching the search query. | `SALESFORCE_SEARCH_KNOWLEDGE_ARTICLES` | | Action | What it does | Slug | | - | - | - | | Get campaign | Retrieves a specific campaign by ID from Salesforce, returning all available fields. | `SALESFORCE_GET_CAMPAIGN` | | List campaigns | Lists campaigns from Salesforce using SOQL query, allowing flexible filtering, sorting, and field selection. | `SALESFORCE_LIST_CAMPAIGNS` | | Retrieve campaign data with error handling | DEPRECATED: Retrieves comprehensive information and metadata for the Salesforce Campaign sObject, provided it is enabled and accessible in the organization, and features robust error handling. | `SALESFORCE_RETRIEVE_CAMPAIGN_DATA_WITH_ERROR_HANDLING` | | Search campaigns | Search for Salesforce campaigns using multiple criteria like name, type, status, date range, or active status. | `SALESFORCE_SEARCH_CAMPAIGNS` | | Action | What it does | Slug | | - | - | - | | Get sobject collections | Retrieve multiple records of the same sObject type in a single API call. | `SALESFORCE_GET_SOBJECT_COLLECTIONS` | | Action | What it does | Slug | | - | - | - | | Get contact | Retrieves a specific contact by ID from Salesforce, returning all available fields. | `SALESFORCE_GET_CONTACT` | | Get contact by ID | Retrieves a Salesforce Contact by its unique ID. | `SALESFORCE_GET_CONTACT_BY_ID` | | Get lookup suggestions case contact | Get lookup field suggestions with POST request. | `SALESFORCE_GET_LOOKUP_SUGGESTIONS_CASE_CONTACT` | | Get related list records contacts | Retrieve related list records with request body parameters for filtering and pagination. | `SALESFORCE_GET_RELATED_LIST_RECORDS_CONTACTS` | | List contacts | Lists contacts from Salesforce using SOQL query, allowing flexible filtering, sorting, and field selection. | `SALESFORCE_LIST_CONTACTS` | | Query contacts by name | DEPRECATED: Finds Salesforce Contact records by name using a case-insensitive search. | `SALESFORCE_QUERY_CONTACTS_BY_NAME` | | Retrieve contact info with standard responses | DEPRECATED: Retrieves comprehensive metadata (e.g., fields, data types, picklist values) for the Salesforce Contact SObject. | `SALESFORCE_RETRIEVE_CONTACT_INFO_WITH_STANDARD_RESPONSES` | | Retrieve specific contact by ID | (DEPRECATED: use SALESFORCE\_GET\_CONTACT\_BY\_ID) Retrieves a Salesforce Contact by its unique ID. | `SALESFORCE_RETRIEVE_SPECIFIC_CONTACT_BY_ID` | | Search contacts | Search Salesforce Contact records (not Leads. | `SALESFORCE_SEARCH_CONTACTS` | | Action | What it does | Slug | | - | - | - | | Get file content | Returns the binary content of a Salesforce file, including references to external files. | `SALESFORCE_GET_FILE_CONTENT` | | Action | What it does | Slug | | - | - | - | | Get dashboard | Gets detailed metadata for a specific dashboard including its components, layout, and filters. | `SALESFORCE_GET_DASHBOARD` | | List dashboards | Lists all dashboards available in Salesforce with basic metadata including name, ID, and URLs. | `SALESFORCE_LIST_DASHBOARDS` | | Action | What it does | Slug | | - | - | - | | List pricebook entries | Lists pricebook entries from Salesforce using SOQL query, allowing flexible filtering, sorting, and field selection. | `SALESFORCE_LIST_PRICEBOOK_ENTRIES` | | Action | What it does | Slug | | - | - | - | | Get all fields for object | Retrieves all fields (standard and custom) for a Salesforce object with complete metadata including field types, constraints, picklist values, and relationships. | `SALESFORCE_GET_ALL_FIELDS_FOR_OBJECT` | | Get lookup field suggestions | Retrieve lookup field suggestions for editing lookup fields with search filtering. | `SALESFORCE_GET_LOOKUP_FIELD_SUGGESTIONS` | | Action | What it does | Slug | | - | - | - | | Get file information | Retrieve comprehensive metadata and information about a specified file in Salesforce. | `SALESFORCE_GET_FILE_INFORMATION` | | Get file shares | Returns information about the objects with which the specified file has been shared. | `SALESFORCE_GET_FILE_SHARES` | | Action | What it does | Slug | | - | - | - | | Get all navigation items | Gets all navigation items (tabs) that the user has access to. | `SALESFORCE_GET_ALL_NAVIGATION_ITEMS` | | Get ui API apps user nav items | Get personalized navigation items for a specific Salesforce app. | `SALESFORCE_GET_UI_API_APPS_USER_NAV_ITEMS` | | Action | What it does | Slug | | - | - | - | | Get query job info | Retrieve information about a Salesforce Bulk API v2 query job. | `SALESFORCE_GET_QUERY_JOB_INFO` | | Get query job results | Retrieves results for a completed Bulk API v2 query job in CSV format. | `SALESFORCE_GET_QUERY_JOB_RESULTS` | | Action | What it does | Slug | | - | - | - | | Get lead | Retrieves a specific lead by ID from Salesforce, returning all available fields. | `SALESFORCE_GET_LEAD` | | List leads | Lists leads from Salesforce using SOQL query, allowing flexible filtering, sorting, and field selection. | `SALESFORCE_LIST_LEADS` | | Retrieve lead by ID | Retrieves details for a Salesforce Lead by its ID. | `SALESFORCE_RETRIEVE_LEAD_BY_ID` | | Retrieve lead data with various responses | DEPRECATED: Retrieves Lead sObject data from Salesforce, such as recently viewed leads or general Lead object information. | `SALESFORCE_RETRIEVE_LEAD_DATA_WITH_VARIOUS_RESPONSES` | | Search leads | Search for Salesforce leads using criteria like name, email, phone, company, title, status, or lead source. | `SALESFORCE_SEARCH_LEADS` | | Action | What it does | Slug | | - | - | - | | Get related list actions | Get actions on related lists for record detail pages. | `SALESFORCE_GET_RELATED_LIST_ACTIONS` | | Get ui API actions record related list | Get available actions on related lists for a record detail page. | `SALESFORCE_GET_UI_API_ACTIONS_RECORD_RELATED_LIST` | | Get ui API list info recent | Get list views for a Salesforce object. | `SALESFORCE_GET_UI_API_LIST_INFO_RECENT` | | Action | What it does | Slug | | - | - | - | | Get note | Retrieves a specific note by ID from Salesforce, returning all available fields. | `SALESFORCE_GET_NOTE` | | Get note by ID with fields | DEPRECATED: Retrieves a Salesforce Note object by its ID, optionally specifying which fields to return. | `SALESFORCE_GET_NOTE_BY_ID_WITH_FIELDS` | | List notes | Lists notes from Salesforce using SOQL query, allowing flexible filtering, sorting, and field selection. | `SALESFORCE_LIST_NOTES` | | Search notes | Search for Salesforce notes using multiple criteria like title, body content, parent record, owner, or creation date. | `SALESFORCE_SEARCH_NOTES` | | Action | What it does | Slug | | - | - | - | | Get all custom objects | Retrieves all Salesforce objects (standard and custom) with detailed metadata. | `SALESFORCE_GET_ALL_CUSTOM_OBJECTS` | | Get composite sobjects | Retrieves multiple records of the same object type by IDs with a request body. | `SALESFORCE_GET_COMPOSITE_SOBJECTS` | | Get s object quick action default values | Retrieves default field values for a quick action in a specific record context. | `SALESFORCE_GET_S_OBJECT_QUICK_ACTION_DEFAULT_VALUES` | | Get s objects updated | Retrieve a list of sObject records that have been updated within a given timeframe. | `SALESFORCE_GET_S_OBJECTS_UPDATED` | | Get sobject by external ID | Retrieve a Salesforce record by matching an external ID field value. | `SALESFORCE_GET_SOBJECT_BY_EXTERNAL_ID` | | Get sobject describe approvallayouts | Retrieves approval layouts for a specified Salesforce object. | `SALESFORCE_GET_SOBJECTS_SOBJECT_DESCRIBE_APPROVALLAYOUTS` | | Get sobject platformaction | Retrieves metadata description of PlatformAction SObject. | `SALESFORCE_GET_SOBJECT_PLATFORMACTION` | | Get sobject quick action default values | Retrieves default field values for a specific quick action on an sObject. | `SALESFORCE_GET_SOBJECT_QUICK_ACTION_DEFAULT_VALUES` | | Get sobject relationship | Retrieves records by traversing sObject relationships using friendly URLs. | `SALESFORCE_GET_SOBJECT_RELATIONSHIP` | | Get supported objects directory | Get a Salesforce org's active theme and directory of supported objects. | `SALESFORCE_GET_SUPPORTED_OBJECTS_DIRECTORY` | | Head process rules s object | Return HTTP headers for process rules of an sObject without retrieving the response body. | `SALESFORCE_HEAD_PROCESS_RULES_S_OBJECT` | | Head sobject quick action default values | Return HTTP headers for sObject quick action default values by context ID without response body. | `SALESFORCE_HEAD_SOBJECT_QUICK_ACTION_DEFAULT_VALUES` | | Head sobjects global describe layouts | Return HTTP headers for all global publisher layouts without response body. | `SALESFORCE_HEAD_SOBJECTS_GLOBAL_DESCRIBE_LAYOUTS` | | Head sobjects quick action | Return HTTP headers for a specific sObject quick action without response body. | `SALESFORCE_HEAD_SOBJECTS_QUICK_ACTION` | | Retrieve note object information | DEPRECATED: Retrieves comprehensive metadata for the Salesforce 'Note' SObject, if it is enabled and accessible, to understand its structure and capabilities. | `SALESFORCE_RETRIEVE_NOTE_OBJECT_INFORMATION` | | Retrieve specific campaign object details | DEPRECATED: Retrieves details for a specific Salesforce Campaign object by its ID, optionally limiting to specified fields. | `SALESFORCE_RETRIEVE_SPECIFIC_CAMPAIGN_OBJECT_DETAILS` | | Action | What it does | Slug | | - | - | - | | Get opportunity | Retrieves a specific opportunity by ID from Salesforce, returning all available fields. | `SALESFORCE_GET_OPPORTUNITY` | | List opportunities | Lists opportunities from Salesforce using SOQL query, allowing flexible filtering, sorting, and field selection. | `SALESFORCE_LIST_OPPORTUNITIES` | | Retrieve opportunities data | Retrieves all available Opportunity records, representing potential revenue-generating deals, from Salesforce. | `SALESFORCE_RETRIEVE_OPPORTUNITIES_DATA` | | Retrieve opportunity by ID with optional fields | DEPRECATED: Retrieves a Salesforce Opportunity by its ID. | `SALESFORCE_RETRIEVE_OPPORTUNITY_BY_ID_WITH_OPTIONAL_FIELDS` | | Search opportunities | Search for Salesforce opportunities using multiple criteria like name, account, stage, amount, close date, or status. | `SALESFORCE_SEARCH_OPPORTUNITIES` | | Action | What it does | Slug | | - | - | - | | Get record edit page actions | Get available actions on record edit pages. | `SALESFORCE_GET_RECORD_EDIT_PAGE_ACTIONS` | | Action | What it does | Slug | | - | - | - | | Get photo actions | Retrieve available photo actions for Salesforce pages. | `SALESFORCE_GET_PHOTO_ACTIONS` | | Action | What it does | Slug | | - | - | - | | List pricebooks | Lists pricebooks from Salesforce using SOQL query, allowing flexible filtering, sorting, and field selection. | `SALESFORCE_LIST_PRICEBOOKS` | | Action | What it does | Slug | | - | - | - | | Execute soql query | DEPRECATED: Use SALESFORCE\_RUN\_SOQL\_QUERY instead. | `SALESFORCE_EXECUTE_SOQL_QUERY` | | Run soql query | Executes a SOQL query against Salesforce data. | `SALESFORCE_RUN_SOQL_QUERY` | | Action | What it does | Slug | | - | - | - | | Get a batch of records | Retrieve multiple Salesforce records in a single request with customizable field selection. | `SALESFORCE_GET_A_BATCH_OF_RECORDS` | | Get child records | Get child records for a specified parent record and child relationship name. | `SALESFORCE_GET_CHILD_RECORDS` | | Get job failed record results | Retrieve failed records from a Salesforce Bulk API 2.0 ingest job. | `SALESFORCE_GET_JOB_FAILED_RECORD_RESULTS` | | Get job successful record results | Retrieve successfully processed records from a Salesforce Bulk API 2.0 ingest job. | `SALESFORCE_GET_JOB_SUCCESSFUL_RECORD_RESULTS` | | Get job unprocessed record results | Retrieve unprocessed records from a Salesforce Bulk API 2.0 ingest job. | `SALESFORCE_GET_JOB_UNPROCESSED_RECORD_RESULTS` | | Get list view records by ID | Returns record data for a list view by its ID. | `SALESFORCE_GET_LIST_VIEW_RECORDS_BY_ID` | | Get list view records by name | Retrieves paginated record data for a specified list view using the object and list view API names. | `SALESFORCE_GET_LIST_VIEW_RECORDS_BY_NAME` | | Get mru list view records | Retrieve record data for an object's most recently used (MRU) list view. | `SALESFORCE_GET_MRU_LIST_VIEW_RECORDS` | | Get record counts | Retrieve total record counts for specified Salesforce objects. | `SALESFORCE_GET_RECORD_COUNTS` | | Get s object record | Retrieve a single Salesforce record by ID from any sObject type. | `SALESFORCE_GET_S_OBJECT_RECORD` | | Get ui API record ui | Retrieve layout, field metadata, and record data in a single response. | `SALESFORCE_GET_UI_API_RECORD_UI` | | Action | What it does | Slug | | - | - | - | | Get report | Gets detailed metadata for a specific report including its structure, columns, filters, and groupings. | `SALESFORCE_GET_REPORT` | | Get report instance | Gets the results of a report instance created by running a report. | `SALESFORCE_GET_REPORT_INSTANCE` | | List reports | Lists all reports available in Salesforce with basic metadata including name, ID, and URLs. | `SALESFORCE_LIST_REPORTS` | | Query report | DEPRECATED: Executes a Salesforce report synchronously by its id and reportType, optionally with dynamic ad-hoc adjustments like filters or groupings, and returns its data without modifying the saved report. | `SALESFORCE_QUERY_REPORT` | | Action | What it does | Slug | | - | - | - | | Get chatter resources | Access Chatter resources directory. | `SALESFORCE_GET_CHATTER_RESOURCES` | | Get composite resources | Retrieve a list of available composite resources in Salesforce. | `SALESFORCE_GET_COMPOSITE_RESOURCES` | | Action | What it does | Slug | | - | - | - | | Get related list preferences batch | Get a batch of related list user preferences from Salesforce. | `SALESFORCE_GET_RELATED_LIST_PREFERENCES_BATCH` | | Get uiapi related list preferences | Retrieve user preferences for a specific related list on an object. | `SALESFORCE_GET_UIAPI_RELATED_LIST_PREFERENCES` | | Action | What it does | Slug | | - | - | - | | Search tasks | Search for Salesforce tasks using multiple criteria like subject, status, priority, assigned user, related records, or dates. | `SALESFORCE_SEARCH_TASKS` | | Action | What it does | Slug | | - | - | - | | List analytics templates | List CRM Analytics templates available in the org. | `SALESFORCE_LIST_ANALYTICS_TEMPLATES` | | List email templates | Lists available email templates in Salesforce with filtering and search capabilities. | `SALESFORCE_LIST_EMAIL_TEMPLATES` | | Action | What it does | Slug | | - | - | - | | Get picklist values by record type | Get values for all picklist fields of a record type, including dependent picklists. | `SALESFORCE_GET_PICKLIST_VALUES_BY_RECORD_TYPE` | | Get s objects describe layouts record type ID | Retrieve layout metadata for a specific record type on an object. | `SALESFORCE_GET_S_OBJECTS_DESCRIBE_LAYOUTS_RECORD_TYPE_ID` | | Action | What it does | Slug | | - | - | - | | Get org limits | Retrieve organization limits with max and remaining allocations. | `SALESFORCE_GET_ORG_LIMITS` | | Action | What it does | Slug | | - | - | - | | Get user info | Retrieves information about the current user or a specific user in Salesforce. | `SALESFORCE_GET_USER_INFO` | | Head sobjects user password | Return HTTP headers for User password resource without response body. | `SALESFORCE_HEAD_SOBJECTS_USER_PASSWORD` | | Sobject user password | Check whether a Salesforce user's password has expired. | `SALESFORCE_SOBJECT_USER_PASSWORD` | | Action | What it does | Slug | | - | - | - | | Get list view actions | Retrieve header actions on list views. | `SALESFORCE_GET_LIST_VIEW_ACTIONS` | | Get list view metadata batch | Retrieve metadata for multiple list views in a single batch request. | `SALESFORCE_GET_LIST_VIEW_METADATA_BATCH` | | Get list view metadata by name | Returns list view metadata by object and list view API name. | `SALESFORCE_GET_LIST_VIEW_METADATA_BY_NAME` | | Get list view results | Retrieves the results of a list view for a specified sObject. | `SALESFORCE_GET_LIST_VIEW_RESULTS` | | Get mru list view metadata | Retrieve MRU list view metadata for a Salesforce object. | `SALESFORCE_GET_MRU_LIST_VIEW_METADATA` | | Get object list views | Returns a collection of list views associated with a Salesforce object. | `SALESFORCE_GET_OBJECT_LIST_VIEWS` | | Get sobject list view | Retrieve basic information about a specific list view for an sObject. | `SALESFORCE_GET_SOBJECT_LIST_VIEW` | | Get sobject list views | Retrieve list views for a specified sObject. | `SALESFORCE_GET_SOBJECT_LIST_VIEWS` | | Action | What it does | Slug | | - | - | - | | Execute sosl search | Execute a SOSL search to search across multiple Salesforce objects. | `SALESFORCE_EXECUTE_SOSL_SEARCH` | | Get API | Discover available REST API resources for a specified Salesforce API version. | `SALESFORCE_GET_API` | | Get compact layouts | Retrieve compact layout information for multiple Salesforce objects. | `SALESFORCE_GET_COMPACT_LAYOUTS` | | Get consent action | Retrieve aggregated consent preferences across multiple records for a specific action. | `SALESFORCE_GET_CONSENT_ACTION` | | Get global actions | Retrieve actions displayed in the Salesforce Global Actions menu with metadata. | `SALESFORCE_GET_GLOBAL_ACTIONS` | | Get quick actions | Retrieve global and object-specific quick actions from Salesforce. | `SALESFORCE_GET_QUICK_ACTIONS` | | Get search layout | Retrieves search result layout information for specified sObjects. | `SALESFORCE_GET_SEARCH_LAYOUT` | | Get search suggestions | Returns a list of suggested searches based on the user's query string. | `SALESFORCE_GET_SEARCH_SUGGESTIONS` | | Get support | Retrieves the root of the Support Knowledge REST API. | `SALESFORCE_GET_SUPPORT` | | Get theme | Get icons and colors for Salesforce UI themes. | `SALESFORCE_GET_THEME` | | Head actions custom | Return HTTP headers for custom invocable actions without response body. | `SALESFORCE_HEAD_ACTIONS_CUSTOM` | | Head actions standard | Return HTTP headers for standard invocable actions metadata without response body. | `SALESFORCE_HEAD_ACTIONS_STANDARD` | | Head appmenu salesforce1 | Return HTTP headers for AppMenu Salesforce1 mobile navigation items without response body. | `SALESFORCE_HEAD_APPMENU_SALESFORCE1` | | Head quick actions | Return HTTP headers for Quick Actions resource without response body. | `SALESFORCE_HEAD_QUICK_ACTIONS` | | List custom invocable actions | Retrieves the list of custom actions including Flow actions, Apex actions, and invocable processes. | `SALESFORCE_LIST_CUSTOM_INVOCABLE_ACTIONS` | | List standard invocable actions | Retrieves the list of standard actions that can be statically invoked. | `SALESFORCE_LIST_STANDARD_INVOCABLE_ACTIONS` | | Parameterized search | Execute RESTful search using parameters instead of SOSL clause. | `SALESFORCE_PARAMETERIZED_SEARCH` | | Post parameterized search | Execute parameterized search across Salesforce objects with advanced filtering. | `SALESFORCE_POST_PARAMETERIZED_SEARCH` | | Query | DEPRECATED: Use SALESFORCE\_RUN\_SOQL\_QUERY instead. | `SALESFORCE_QUERY` | | Query all | Execute SOQL queries including soft-deleted and archived records. | `SALESFORCE_QUERY_ALL` | | Query more | | `SALESFORCE_QUERY_MORE` | | Search | DEPRECATED: Use SALESFORCE\_EXECUTE\_SOSL\_SEARCH instead. | `SALESFORCE_SEARCH` | | Tooling query | Execute SOQL queries against Salesforce Tooling API metadata objects. | `SALESFORCE_TOOLING_QUERY` | Teammates can use 195 of the 224 Salesforce actions at this level: everything in **Read-only**, plus: * Create, update, and delete contacts * Create, update, and delete opportunities * Create, update, and delete leads * Create, update, and delete account details * Create, update, and delete campaigns * Create, update, and delete notes * Update and delete objects * Create records * Create and update tasks * Create and delete files * Run reports * Manage activities The 54 actions that this level adds to **Read-only**: | Action | What it does | Slug | | - | - | - | | Account creation with content type option | DEPRECATED: Creates a new Salesforce Account using a JSON POST request, requiring 'Name'. | `SALESFORCE_ACCOUNT_CREATION_WITH_CONTENT_TYPE_OPTION` | | Create account | Creates a new account in Salesforce with the specified information. | `SALESFORCE_CREATE_ACCOUNT` | | Delete account | Permanently deletes an account from Salesforce. | `SALESFORCE_DELETE_ACCOUNT` | | Remove account by unique identifier | DEPRECATED: Deletes an existing Salesforce Account using its unique ID, returning an empty response on success (HTTP 204). | `SALESFORCE_REMOVE_ACCOUNT_BY_UNIQUE_IDENTIFIER` | | Update account | Updates an existing account in Salesforce with the specified changes. | `SALESFORCE_UPDATE_ACCOUNT` | | Action | What it does | Slug | | - | - | - | | Log email activity | Creates an EmailMessage record to log email activity in Salesforce, associating it with related records. | `SALESFORCE_LOG_EMAIL_ACTIVITY` | | Action | What it does | Slug | | - | - | - | | Log call | Logs a completed phone call as a task in Salesforce with call-specific details like duration, type, and disposition. | `SALESFORCE_LOG_CALL` | | Action | What it does | Slug | | - | - | - | | Create campaign | Creates a new campaign in Salesforce. | `SALESFORCE_CREATE_CAMPAIGN` | | Delete campaign | Permanently deletes a campaign from Salesforce. | `SALESFORCE_DELETE_CAMPAIGN` | | Remove from campaign | Removes a lead or contact from a campaign by deleting the CampaignMember record. | `SALESFORCE_REMOVE_FROM_CAMPAIGN` | | Update campaign | Updates an existing campaign in Salesforce with the specified changes. | `SALESFORCE_UPDATE_CAMPAIGN` | | Update campaign by ID with JSON | DEPRECATED: Updates specific fields of an existing Campaign in Salesforce, identified by its unique id, which must already exist. | `SALESFORCE_UPDATE_CAMPAIGN_BY_ID_WITH_JSON` | | Action | What it does | Slug | | - | - | - | | Add contact to campaign | Adds a contact to a campaign by creating a CampaignMember record to track campaign engagement. | `SALESFORCE_ADD_CONTACT_TO_CAMPAIGN` | | Associate contact to account | Associates a contact with an account by updating the contact's AccountId field. | `SALESFORCE_ASSOCIATE_CONTACT_TO_ACCOUNT` | | Create contact | Creates a new contact in Salesforce with the specified information. | `SALESFORCE_CREATE_CONTACT` | | Create new contact with JSON header | DEPRECATED: Creates a new Contact in Salesforce. | `SALESFORCE_CREATE_NEW_CONTACT_WITH_JSON_HEADER` | | Delete contact | Permanently deletes a contact from Salesforce. | `SALESFORCE_DELETE_CONTACT` | | Remove a specific contact by ID | DEPRECATED: Permanently deletes a specific Contact from Salesforce using its unique ID, which must correspond to an existing record. | `SALESFORCE_REMOVE_A_SPECIFIC_CONTACT_BY_ID` | | Update contact | Updates an existing contact in Salesforce with the specified changes. | `SALESFORCE_UPDATE_CONTACT` | | Update contact by ID | DEPRECATED: Updates specified fields of an existing Salesforce Contact by its ID. | `SALESFORCE_UPDATE_CONTACT_BY_ID` | | Action | What it does | Slug | | - | - | - | | Delete file | Permanently delete a file from Salesforce. | `SALESFORCE_DELETE_FILE` | | Upload file | Upload a file to Salesforce Files home via the Connect REST API. | `SALESFORCE_UPLOAD_FILE` | | Action | What it does | Slug | | - | - | - | | Create bulk query job | | `SALESFORCE_CREATE_BULK_QUERY_JOB` | | Action | What it does | Slug | | - | - | - | | Add lead to campaign | Adds a lead to a campaign by creating a CampaignMember record, allowing you to track campaign engagement. | `SALESFORCE_ADD_LEAD_TO_CAMPAIGN` | | Create lead | Creates a new lead in Salesforce. | `SALESFORCE_CREATE_LEAD` | | Create lead with specified content type | DEPRECATED: Creates a new Lead in Salesforce, requiring LastName and Company unless person accounts are enabled and Company is null. | `SALESFORCE_CREATE_LEAD_WITH_SPECIFIED_CONTENT_TYPE` | | Delete lead | Permanently deletes a lead from Salesforce. | `SALESFORCE_DELETE_LEAD` | | Update lead | Updates an existing lead in Salesforce with the specified changes. | `SALESFORCE_UPDATE_LEAD` | | Update lead by ID with JSON payload | DEPRECATED: Updates specified fields of an existing Lead in Salesforce via its unique ID (path parameter), returning HTTP 204 on success or error details on failure. | `SALESFORCE_UPDATE_LEAD_BY_ID_WITH_JSON_PAYLOAD` | | Action | What it does | Slug | | - | - | - | | Add opportunity line item | Adds a product (line item) to an opportunity. | `SALESFORCE_ADD_OPPORTUNITY_LINE_ITEM` | | Action | What it does | Slug | | - | - | - | | Create note | Creates a new note attached to a Salesforce record with the specified title and content. | `SALESFORCE_CREATE_NOTE` | | Delete note | Permanently deletes a note from Salesforce. | `SALESFORCE_DELETE_NOTE` | | Update note | Updates an existing note in Salesforce with the specified changes. | `SALESFORCE_UPDATE_NOTE` | | Update specific note by ID | DEPRECATED: Use update\_specific\_note\_by\_id instead. | `SALESFORCE_UPDATE_SPECIFIC_NOTE_BY_ID` | | Action | What it does | Slug | | - | - | - | | Delete a lead object by its ID | DEPRECATED: Permanently deletes an existing Lead object from Salesforce using its unique ID. | `SALESFORCE_DELETE_A_LEAD_OBJECT_BY_ITS_ID` | | Remove campaign object by ID | DEPRECATED: Permanently deletes a specific Campaign SObject in Salesforce using its unique ID. | `SALESFORCE_REMOVE_CAMPAIGN_OBJECT_BY_ID` | | Remove note object by ID | DEPRECATED: Permanently deletes an existing Salesforce Note object identified by its unique ID. | `SALESFORCE_REMOVE_NOTE_OBJECT_BY_ID` | | Update account object by ID | DEPRECATED: Updates specified fields of an existing Salesforce Account object identified by its unique ID. | `SALESFORCE_UPDATE_ACCOUNT_OBJECT_BY_ID` | | Action | What it does | Slug | | - | - | - | | Clone opportunity with products | Clones an opportunity and optionally its products (line items). | `SALESFORCE_CLONE_OPPORTUNITY_WITH_PRODUCTS` | | Create opportunity | Creates a new opportunity in Salesforce with the specified information. | `SALESFORCE_CREATE_OPPORTUNITY` | | Delete opportunity | Permanently deletes an opportunity from Salesforce. | `SALESFORCE_DELETE_OPPORTUNITY` | | Remove opportunity by ID | DEPRECATED: Permanently deletes an existing Salesforce Opportunity by its ID. | `SALESFORCE_REMOVE_OPPORTUNITY_BY_ID` | | Update opportunity | Updates an existing opportunity in Salesforce with the specified changes. | `SALESFORCE_UPDATE_OPPORTUNITY` | | Update opportunity by ID | DEPRECATED: Updates specified fields of an existing Salesforce Opportunity by its ID. | `SALESFORCE_UPDATE_OPPORTUNITY_BY_ID` | | Action | What it does | Slug | | - | - | - | | Delete job query | Delete a Salesforce Bulk API v2 query job. | `SALESFORCE_DELETE_JOB_QUERY` | | Action | What it does | Slug | | - | - | - | | Create campaign record via post | DEPRECATED: Creates a new campaign record in Salesforce. | `SALESFORCE_CREATE_CAMPAIGN_RECORD_VIA_POST` | | Create note record with content type header | DEPRECATED: Creates a new Note record in Salesforce, associated with an existing Salesforce object via ParentId, automatically including a Content-Type: application/json header. | `SALESFORCE_CREATE_NOTE_RECORD_WITH_CONTENT_TYPE_HEADER` | | Create opportunity record | DEPRECATED: Creates a new Opportunity record in Salesforce. | `SALESFORCE_CREATE_OPPORTUNITY_RECORD` | | Action | What it does | Slug | | - | - | - | | Run report | Runs a report and returns the results. | `SALESFORCE_RUN_REPORT` | | Run report async | | `SALESFORCE_RUN_REPORT_ASYNC` | | Action | What it does | Slug | | - | - | - | | Apply lead assignment rules | Applies configured lead assignment rules to a specific lead, automatically routing it to the appropriate owner based on your organization's rules. | `SALESFORCE_APPLY_LEAD_ASSIGNMENT_RULES` | | Action | What it does | Slug | | - | - | - | | Complete task | Marks a task as completed with optional completion notes. | `SALESFORCE_COMPLETE_TASK` | | Create task | Creates a new task in Salesforce to track activities, to-dos, and follow-ups related to contacts, leads, or other records. | `SALESFORCE_CREATE_TASK` | | Update task | Updates an existing task in Salesforce with new information. | `SALESFORCE_UPDATE_TASK` | Teammates can use 224 of the 224 Salesforce actions at this level: everything in **Read + write**, plus: * Send emails * Create objects * Update settings * Create code * Delete collections * Create custom fields * Update favorites * Update records * Update rows The 29 actions that this level adds to **Read + write**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Code** | Create sobject tree | Create one or more sObject trees with root records of the specified type. | `SALESFORCE_CREATE_SOBJECT_TREE` | | **Collections** | Delete sobject collections | Delete up to 200 records in one request with optional rollback. | `SALESFORCE_DELETE_SOBJECT_COLLECTIONS` | | **Custom fields** | Create custom field | Create a custom field on a Salesforce object using the Tooling API. | `SALESFORCE_CREATE_CUSTOM_FIELD` | | **Emails** | Send email | Sends an email through Salesforce with options for recipients, attachments, and activity logging. | `SALESFORCE_SEND_EMAIL` | | | Send email from template | Sends an email using a predefined Salesforce email template with merge field support. | `SALESFORCE_SEND_EMAIL_FROM_TEMPLATE` | | | Send mass email | Sends bulk emails to multiple recipients immediately and irreversibly using a template or custom content. | `SALESFORCE_SEND_MASS_EMAIL` | | **Favorites** | Update favorite | Update a favorite's properties in Salesforce UI API. | `SALESFORCE_UPDATE_FAVORITE` | | **Jobs** | Close or abort job | Close or abort a Salesforce Bulk API v2 ingest job. | `SALESFORCE_CLOSE_OR_ABORT_JOB` | | | Create bulk ingest job | | `SALESFORCE_CREATE_BULK_INGEST_JOB` | | | Upload job data | Upload CSV data to a Salesforce Bulk API v2 ingest job. | `SALESFORCE_UPLOAD_JOB_DATA` | | **Objects** | Create custom object | Create a custom object in Salesforce using the Metadata API. | `SALESFORCE_CREATE_CUSTOM_OBJECT` | | | Delete sobject | Delete a single Salesforce record by its ID. | `SALESFORCE_DELETE_SOBJECT` | | | Execute sobject quick action | Execute a specific quick action on an sObject to create records with pre-configured defaults. | `SALESFORCE_EXECUTE_SOBJECT_QUICK_ACTION` | | | Patch composite sobjects | Upsert up to 200 records using external ID field matching. | `SALESFORCE_PATCH_COMPOSITE_SOBJECTS` | | | Post composite sobjects | Create up to 200 records in one request using sObject Collections. | `SALESFORCE_POST_COMPOSITE_SOBJECTS` | | | Upsert sobject by external ID | Upsert records using sObject Rows by External ID. | `SALESFORCE_UPSERT_SOBJECT_BY_EXTERNAL_ID` | | **Records** | Clone record | Creates a copy of an existing Salesforce record by reading its data, removing system fields, and creating a new record. | `SALESFORCE_CLONE_RECORD` | | | Create a record | Create a Salesforce record using the UI API. | `SALESFORCE_CREATE_A_RECORD` | | | Create s object record | Create a new Salesforce SObject record. | `SALESFORCE_CREATE_S_OBJECT_RECORD` | | | Update record | Update a record's data in Salesforce via UI API. | `SALESFORCE_UPDATE_RECORD` | | **Rows** | Sobject rows update | Update specific fields in an existing Salesforce sObject record. | `SALESFORCE_SOBJECT_ROWS_UPDATE` | | **Settings** | Update list view preferences | Update user preferences for a Salesforce list view including column widths, text wrapping, and display order. | `SALESFORCE_UPDATE_LIST_VIEW_PREFERENCES` | | | Update related list preferences | Update user preferences for a specific related list on an object in Salesforce. | `SALESFORCE_UPDATE_RELATED_LIST_PREFERENCES` | | **Users** | Set user password | Set or reset a user's password in Salesforce. | `SALESFORCE_SET_USER_PASSWORD` | | **Other actions** | Composite graph action | DEPRECATED: Use SALESFORCE\_POST\_COMPOSITE\_GRAPH instead. | `SALESFORCE_COMPOSITE_GRAPH_ACTION` | | | Execute global quick action | | `SALESFORCE_EXECUTE_GLOBAL_QUICK_ACTION` | | | Execute invocable action | | `SALESFORCE_EXECUTE_INVOCABLE_ACTION` | | | Mass transfer ownership | Transfers ownership of multiple records to a new owner in a single operation using Salesforce's composite API for better performance. | `SALESFORCE_MASS_TRANSFER_OWNERSHIP` | | | Post composite graph | Execute multiple related REST API requests in a single transactional call with up to 500 subrequests per graph. | `SALESFORCE_POST_COMPOSITE_GRAPH` | ## Connect Salesforce Before you start: * You need a Salesforce account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Salesforce** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Salesforce**. The Salesforce sign-in page opens in a new tab. Sign in to Salesforce and approve the request. Check that it works: Salesforce shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Salesforce account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Salesforce account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Salesforce account Click **+ Account** on the Salesforce card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Salesforce side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Salesforce**. 3. Sign in to Salesforce and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Salesforce account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Salesforce.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Salesforce account becomes primary. ## Costs Salesforce actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Salesforce, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Salesforce connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Salesforce account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Salesforce card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Salesforce account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Salesforce.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Sentry Source: https://squad.so/docs/apps/sentry What teammates can do in Sentry at each access level, and how to connect, limit, and disconnect Sentry. Connect Sentry so your teammates can work in your Sentry account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Sentry account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as issues, events, projects, releases, and members. Cannot change anything." | 109 of 211 | | **Read + write** (recommended) | "Resolve, assign, and merge issues, and create releases, deploys, dashboards, and saved queries. Cannot change projects, teams, alerts, or integrations." | 128 of 211 | | **Full access** | "Everything, including projects, keys, teams, members, alert rules, integrations, and permanent deletes." | 211 of 211 | **Read + write** is the recommended level. The connect window selects it for you, and you can choose another level. The Sentry sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Sentry account?" The teammate can search the Sentry actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Sentry action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 109 of the 211 Sentry actions at this level: * View and search events * View files * View monitors * View lists * View replays * View rules * View teams * View alerts * View commits * View environments * View issues * View members All 109 actions at this level: | Action | What it does | Slug | | - | - | - | | Fetch alerts | Retrieves a list of alerts (workflows) for a Sentry organization. | `SENTRY_FETCH_ALERTS` | | Fetch an alert | Retrieves detailed information for a specific alert workflow. | `SENTRY_FETCH_AN_ALERT` | | Get alerts | Retrieve all combined alert rules and monitors for a Sentry organization. | `SENTRY_GET_ALERTS` | | Action | What it does | Slug | | - | - | - | | Retrieve commits for organization repo | Retrieves a list of commits for a given repository within a Sentry organization. | `SENTRY_RETRIEVE_COMMITS_FOR_ORGANIZATION_REPO` | | Retrieve organization release commits | Retrieves a list of commits for a given release version in an existing Sentry organization, if the release exists. | `SENTRY_RETRIEVE_ORGANIZATION_RELEASE_COMMITS` | | Retrieve release commits | Retrieves a list of commits associated with a specific release version within a Sentry project. | `SENTRY_RETRIEVE_RELEASE_COMMITS` | | Action | What it does | Slug | | - | - | - | | List organization dashboards | Retrieves a list of custom dashboards for a Sentry organization, with pagination support. | `SENTRY_LIST_ORGANIZATION_DASHBOARDS` | | Retrieve organization dashboard | Fetches detailed information about a specific custom dashboard within a Sentry organization. | `SENTRY_RETRIEVE_ORGANIZATION_DASHBOARD` | | Action | What it does | Slug | | - | - | - | | Retrieve release deployments | Retrieves a list of all deployment records for a specific release version in an organization, detailing each deployment's environment and timestamps. | `SENTRY_RETRIEVE_RELEASE_DEPLOYMENTS` | | Action | What it does | Slug | | - | - | - | | Retrieve user email information | Retrieves a list of email addresses for an existing Sentry user, identified by their user\_id. | `SENTRY_RETRIEVE_USER_EMAIL_INFORMATION` | | Action | What it does | Slug | | - | - | - | | Fetch project environment details | Retrieves detailed information for a specific environment within a Sentry project. | `SENTRY_FETCH_PROJECT_ENVIRONMENT_DETAILS` | | Get organization environments | Lists deployment environments for a Sentry organization, optionally filtered by visibility status. | `SENTRY_GET_ORGANIZATION_ENVIRONMENTS` | | Retrieve project environments | Retrieves a list of environments for an existing project within a Sentry organization. | `SENTRY_RETRIEVE_PROJECT_ENVIRONMENTS` | | Action | What it does | Slug | | - | - | - | | Fetch issue event by ID | Retrieves the 'latest', 'oldest', or 'recommended' event for a Sentry issue within an organization, optionally filtered by environment(s). | `SENTRY_FETCH_ISSUE_EVENT_BY_ID` | | Get oldest event | | `SENTRY_GET_OLDEST_EVENT` | | Get project events | Retrieves a list of error events for a specified project within a Sentry organization, with options for pagination and detail level. | `SENTRY_GET_PROJECT_EVENTS` | | Query explore events in timeseries format | Retrieves explore data for a given organization as a timeseries. | `SENTRY_QUERY_EXPLORE_EVENTS_IN_TIMESERIES_FORMAT` | | Retrieve event ID for organization | Resolves a Sentry event ID to its project and issue details within an accessible Sentry organization. | `SENTRY_RETRIEVE_EVENT_ID_FOR_ORGANIZATION` | | Retrieve issue events by ID | Retrieves events for a specified Sentry issue\_id, which must be an existing issue. | `SENTRY_RETRIEVE_ISSUE_EVENTS_BY_ID` | | Retrieve organization events | Retrieves Discover event data for a Sentry organization. | `SENTRY_RETRIEVE_ORGANIZATION_EVENTS` | | Retrieve project event by ID | Retrieves detailed information for a specific Sentry event using its ID, organization identifier, and project identifier. | `SENTRY_RETRIEVE_PROJECT_EVENT_BY_ID` | | Retrieve source map debug event | Retrieves detailed debug information for diagnosing source map processing issues for a specific Sentry event, stack trace frame, and exception index. | `SENTRY_RETRIEVE_SOURCE_MAP_DEBUG_EVENT` | | Action | What it does | Slug | | - | - | - | | Fetch project release files | Retrieves artifact files (e.g., source maps, debug information files) for a specific release version in a Sentry project. | `SENTRY_FETCH_PROJECT_RELEASE_FILES` | | Retrieve commit files for release | Retrieves files changed in commits for a specified Sentry release. | `SENTRY_RETRIEVE_COMMIT_FILES_FOR_RELEASE` | | Retrieve dsym files for project | Retrieve a list of debug information files (dSYM files) for a specified Sentry project, used for symbolication to display human-readable stack traces. | `SENTRY_RETRIEVE_DSYM_FILES_FOR_PROJECT` | | Retrieve files for release | Retrieves artifact files for a specific release version in a Sentry organization. | `SENTRY_RETRIEVE_FILES_FOR_RELEASE` | | Retrieve project release file details | Retrieves metadata (default) or raw content (if download is true) for a specific file within a Sentry project's release version. | `SENTRY_RETRIEVE_PROJECT_RELEASE_FILE_DETAILS` | | Retrieve release file by ID | Retrieves a specific file's content or its metadata from a Sentry release, using the download parameter to choose between raw content or JSON metadata. | `SENTRY_RETRIEVE_RELEASE_FILE_BY_ID` | | Action | What it does | Slug | | - | - | - | | Retrieve project filter data | Retrieves a Sentry project's current data filtering settings, used to ignore events from sources like localhost, web crawlers, or legacy browsers. | `SENTRY_RETRIEVE_PROJECT_FILTER_DATA` | | Action | What it does | Slug | | - | - | - | | Get SCIM group by team ID | Retrieves SCIM group information for a specific Sentry team. | `SENTRY_GET_SCIM_GROUP_BY_TEAM_ID` | | Retrieve organization SCIM groups | Retrieves a paginated list of SCIM groups (teams) for a Sentry organization. | `SENTRY_RETRIEVE_ORGANIZATION_SCIM_GROUPS` | | Action | What it does | Slug | | - | - | - | | Get Sentry app installations for organization | Retrieves a list of Sentry App installations for a given organization, which must exist. | `SENTRY_GET_SENTRY_APP_INSTALLATIONS_FOR_ORGANIZATION` | | Action | What it does | Slug | | - | - | - | | Get integration details by org | Retrieves details for a specific integration, identified by integration\_id, installed within an existing Sentry organization, identified by organization\_id\_or\_slug. | `SENTRY_GET_INTEGRATION_DETAILS_BY_ORG` | | Retrieve a custom integration by ID or slug | Retrieves detailed information about a custom integration (Sentry App) by its slug. | `SENTRY_RETRIEVE_A_CUSTOM_INTEGRATION_BY_ID_OR_SLUG` | | Action | What it does | Slug | | - | - | - | | Get organization issue details | Retrieves detailed information for a specific issue within a Sentry organization. | `SENTRY_GET_ORGANIZATION_ISSUE_DETAILS` | | List an organizations issues | Returns a list of issues (error groups) for an organization. | `SENTRY_LIST_AN_ORGANIZATIONS_ISSUES` | | Retrieve custom integ issue links given Sentry issue | Retrieves all external issue links for a Sentry issue. | `SENTRY_RETRIEVE_CUSTOM_INTEG_ISSUE_LINKS_GIVEN_SENTRY_ISSUE` | | Retrieve issue hashes for organization | Retrieves a list of grouping checksums (hashes) generated by Sentry for a specific issue within an organization, used for understanding event aggregation. | `SENTRY_RETRIEVE_ISSUE_HASHES_FOR_ORGANIZATION` | | Retrieve seer issue fix state | Retrieves the current detailed state of an AI-assisted autofix process for a Sentry issue. | `SENTRY_RETRIEVE_SEER_ISSUE_FIX_STATE` | | Action | What it does | Slug | | - | - | - | | Get project list | Lists all Sentry projects the authenticated token has membership access to across all organizations. | `SENTRY_GET_PROJECT_LIST` | | Retrieve organization integrations list | Retrieves a list of available integrations for an existing Sentry organization. | `SENTRY_RETRIEVE_ORGANIZATION_INTEGRATIONS_LIST` | | Retrieve project issues list | Retrieves a list of issues for a Sentry project, defaulting to unresolved issues unless an empty query string is provided or specific hashes are used. | `SENTRY_RETRIEVE_PROJECT_ISSUES_LIST` | | Retrieve project members list | Retrieves active organization members belonging to any team assigned to the specified Sentry project. | `SENTRY_RETRIEVE_PROJECT_MEMBERS_LIST` | | Action | What it does | Slug | | - | - | - | | Get team members by ID or slug | Retrieves all active members of a Sentry team with detailed user information, roles, and permissions. | `SENTRY_GET_TEAM_MEMBERS_BY_ID_OR_SLUG` | | List organization members | Lists all members, including those with pending invitations, for a Sentry organization. | `SENTRY_LIST_ORGANIZATION_MEMBERS` | | Retrieve organization member | Retrieves details for a Sentry organization member or pending invitee, including role, teams, and status, using their member ID and the organization's ID or slug. | `SENTRY_RETRIEVE_ORGANIZATION_MEMBER` | | Action | What it does | Slug | | - | - | - | | Fetch a monitor | Fetches detailed information for a specific monitor (detector) within an organization. | `SENTRY_FETCH_A_MONITOR` | | Fetch an organizations monitors | Retrieves monitors (detectors) for a Sentry organization. | `SENTRY_FETCH_AN_ORGANIZATIONS_MONITORS` | | Get project monitor by ID | Retrieves detailed information for a specific Sentry cron monitor, provided the organization, project, and monitor exist. | `SENTRY_GET_PROJECT_MONITOR_BY_ID` | | Retrieve a monitor | Retrieves detailed information for a specific monitor within an organization. | `SENTRY_RETRIEVE_A_MONITOR` | | Retrieve monitor checkins | Retrieves the history of check-ins for a Sentry monitor, providing insights into the health and performance of associated scheduled tasks. | `SENTRY_RETRIEVE_MONITOR_CHECKINS` | | Retrieve monitor checkins by org | Retrieves check-ins (pings/heartbeats of a monitored cron job or task) for a specific monitor within a Sentry organization. | `SENTRY_RETRIEVE_MONITOR_CHECKINS_BY_ORG` | | Retrieve organization monitors | Retrieves cron monitors for a Sentry organization, including details of nested monitor environments. | `SENTRY_RETRIEVE_ORGANIZATION_MONITORS` | | Action | What it does | Slug | | - | - | - | | Retrieve notification action by org ID | Retrieves details for a specific Spike Protection Notification Action, which defines alerts for triggered spike protection rules, within a Sentry organization. | `SENTRY_RETRIEVE_NOTIFICATION_ACTION_BY_ORG_ID` | | View organization notification actions | Retrieves Spike Protection notification actions for a Sentry organization, filterable by project IDs or slugs (slugs take precedence). | `SENTRY_VIEW_ORGANIZATION_NOTIFICATION_ACTIONS` | | Action | What it does | Slug | | - | - | - | | Get activation of alert rule for organization | DEPRECATED: Retrieves all activations for a specific metric alert rule. | `SENTRY_GET_ACTIVATION_OF_ALERT_RULE_FOR_ORGANIZATION` | | Get organization by ID or slug | Retrieves a Sentry organization by its ID or slug. | `SENTRY_GET_ORGANIZATION_BY_ID_OR_SLUG` | | Get organization details | Retrieves Sentry organizations accessible via the current authentication, with scope varying between user (all in region) and API key (linked org only) credentials. | `SENTRY_GET_ORGANIZATION_DETAILS` | | List organizations | | `SENTRY_LIST_ORGANIZATIONS` | | Retrieve data forwarders for an organization | Returns a list of data forwarders for an organization. | `SENTRY_RETRIEVE_DATA_FORWARDERS_FOR_AN_ORGANIZATION` | | Retrieve short ID for organization | Resolves a Sentry short ID (e.g., 'PROJECT-1A') to its complete issue details including organization slug, project slug, group ID, and full issue metadata. | `SENTRY_RETRIEVE_SHORT_ID_FOR_ORGANIZATION` | | Retrieve the custom integs created by an org | Retrieves custom integrations (Sentry Apps) created by an organization. | `SENTRY_RETRIEVE_THE_CUSTOM_INTEGS_CREATED_BY_AN_ORG` | | Action | What it does | Slug | | - | - | - | | Access project information | Retrieves detailed information for a Sentry project, given its existing organization and project ID or slug. | `SENTRY_ACCESS_PROJECT_INFORMATION` | | Fetch project ownership details | Retrieves the ownership configuration, like CODEOWNERS rules or Issue Owner settings, for a specified Sentry project. | `SENTRY_FETCH_PROJECT_OWNERSHIP_DETAILS` | | Retrieve organization projects | Retrieves a list of Sentry projects for a specified organization (which must be accessible), supporting pagination via cursor. | `SENTRY_RETRIEVE_ORGANIZATION_PROJECTS` | | Retrieve project symbol sources | Retrieves custom symbol sources for a Sentry project, either listing all or fetching a specific one if its ID is provided. | `SENTRY_RETRIEVE_PROJECT_SYMBOL_SOURCES` | | Retrieve team projects | Retrieves a list of Sentry projects for a specific team within an organization, supporting pagination via a cursor. | `SENTRY_RETRIEVE_TEAM_PROJECTS` | | Action | What it does | Slug | | - | - | - | | Retrieve saved discover queries | Retrieves a paginated list of saved Discover queries for a Sentry organization. | `SENTRY_RETRIEVE_SAVED_DISCOVER_QUERIES` | | Retrieve saved discover query for organization | Retrieves a specific saved Discover query (a predefined set of filters and conditions for exploring event data) for a Sentry organization. | `SENTRY_RETRIEVE_SAVED_DISCOVER_QUERY_FOR_ORGANIZATION` | | Action | What it does | Slug | | - | - | - | | Fetch organization release threshold statuses | Retrieves derived health statuses for release thresholds in a Sentry organization for a given time range, optionally filtered by environment, project, or release. | `SENTRY_FETCH_ORGANIZATION_RELEASE_THRESHOLD_STATUSES` | | List organization releases | Retrieves a list of releases for an existing Sentry organization, optionally filtering by a query string that matches the start of the release version. | `SENTRY_LIST_ORGANIZATION_RELEASES` | | Action | What it does | Slug | | - | - | - | | Fetch organization replay count | Retrieves the total count of session replays for a specified Sentry organization, filterable by time range, environment, project, and query. | `SENTRY_FETCH_ORGANIZATION_REPLAY_COUNT` | | Fetch organization replay details | Retrieves detailed information for a specific replay session by ID within a Sentry organization, optionally filtering time-series data using statsPeriod or start/end, and further refining by projects, environments, or specific fields. | `SENTRY_FETCH_ORGANIZATION_REPLAY_DETAILS` | | Fetch organization replay selectors | Retrieves replay selectors (CSS/DOM selectors from session replays) for a Sentry organization. | `SENTRY_FETCH_ORGANIZATION_REPLAY_SELECTORS` | | Fetch project replay clicks | Fetches a list of user click interactions for a specific Sentry session replay, including the clicked DOM element ID and timestamp. | `SENTRY_FETCH_PROJECT_REPLAY_CLICKS` | | Get who viewed replay by project | Retrieves users who viewed a specific, existing session replay within a Sentry project and organization. | `SENTRY_GET_WHO_VIEWED_REPLAY_BY_PROJECT` | | Retrieve organization replays | Fetches session replays for a Sentry organization. | `SENTRY_RETRIEVE_ORGANIZATION_REPLAYS` | | Action | What it does | Slug | | - | - | - | | Get organization stats summary | Retrieves summarized event statistics for a Sentry organization, aggregated by project, allowing queries for event counts or unique occurrences over a specified time period and resolution, with filtering by project, category, and outcome. | `SENTRY_GET_ORGANIZATION_STATS_SUMMARY` | | Get project event stats | Retrieves time-series event statistics for a Sentry project. | `SENTRY_GET_PROJECT_EVENT_STATS` | | Retrieve aggregated test result metrics | Retrieves aggregated test result metrics for a repository, owner, and organization. | `SENTRY_RETRIEVE_AGGREGATED_TEST_RESULT_METRICS` | | Retrieve organization stats v2 | Retrieves Sentry organization event statistics. | `SENTRY_RETRIEVE_ORGANIZATION_STATS_V2` | | Action | What it does | Slug | | - | - | - | | List organization repositories | Retrieves a list of version control repositories for a specific Sentry organization, which must exist and is identified by its ID or slug. | `SENTRY_LIST_ORGANIZATION_REPOSITORIES` | | Action | What it does | Slug | | - | - | - | | Fetch organization alert rules | Retrieves a list of active metric alert rules for an existing Sentry organization, identified by its ID or slug. | `SENTRY_FETCH_ORGANIZATION_ALERT_RULES` | | Get project rule details | Retrieves detailed information for a specific issue alert rule within a Sentry project. | `SENTRY_GET_PROJECT_RULE_DETAILS` | | Retrieve alert rule details | Retrieves detailed information for a specific metric alert rule within a Sentry organization. | `SENTRY_RETRIEVE_ALERT_RULE_DETAILS` | | Retrieve project rules by org and project ID | Retrieves a list of active issue alert rules associated with a specific project within an organization. | `SENTRY_RETRIEVE_PROJECT_RULES_BY_ORG_AND_PROJECT_ID` | | Action | What it does | Slug | | - | - | - | | Fetch replay recording segment | Retrieves a specific recording segment for a Sentry replay, requiring valid organization, project, replay, and segment identifiers. | `SENTRY_FETCH_REPLAY_RECORDING_SEGMENT` | | Retrieve replay recording segments | Retrieves a paginated list of recording segments for a specific Sentry replay, used for reconstructing or analyzing the replay. | `SENTRY_RETRIEVE_REPLAY_RECORDING_SEGMENTS` | | Action | What it does | Slug | | - | - | - | | Get organization sessions | Retrieves time series data for an organization's Sentry project release health sessions. | `SENTRY_GET_ORGANIZATION_SESSIONS` | | Action | What it does | Slug | | - | - | - | | Retrieve org integration config | Retrieves configuration for all integrations, or a specific integration if providerKey is given, for an existing Sentry organization. | `SENTRY_RETRIEVE_ORG_INTEGRATION_CONFIG` | | Action | What it does | Slug | | - | - | - | | Fetch tag values for issue | Retrieves a list of distinct values for a specified tag key associated with an existing Sentry issue, useful for understanding tag manifestations like browser versions or affected users. | `SENTRY_FETCH_TAG_VALUES_FOR_ISSUE` | | List a tags values for an issue | Returns a list of values associated with this key for an issue. | `SENTRY_LIST_A_TAGS_VALUES_FOR_AN_ISSUE` | | List project tags | | `SENTRY_LIST_PROJECT_TAGS` | | Retrieve issue tag details | Retrieves detailed information (e.g., top values, counts) for a specific tag key on an existing Sentry issue. | `SENTRY_RETRIEVE_ISSUE_TAG_DETAILS` | | Retrieve project tag values | Retrieves up to 1000 unique values for a specified tag key that has been recorded for events within a Sentry project. | `SENTRY_RETRIEVE_PROJECT_TAG_VALUES` | | Action | What it does | Slug | | - | - | - | | List organization user teams | Retrieves a list of all teams that the authenticated user has access to within the specified Sentry organization. | `SENTRY_LIST_ORGANIZATION_USER_TEAMS` | | List teams in organization | Lists teams for an existing Sentry organization, optionally including project details and supporting pagination via a cursor. | `SENTRY_LIST_TEAMS_IN_ORGANIZATION` | | Retrieve project teams | Retrieves a list of teams with explicit access to a specific project within a Sentry organization. | `SENTRY_RETRIEVE_PROJECT_TEAMS` | | Retrieve team info via organization ID or slug | Retrieves detailed information for an existing Sentry team within its organization, optionally expanding related data (e.g., projects) or collapsing sections (e.g., organization details). | `SENTRY_RETRIEVE_TEAM_INFO_VIA_ORGANIZATION_ID_OR_SLUG` | | Action | What it does | Slug | | - | - | - | | Retrieve organization relay usage | Retrieves a list of trusted Sentry Relays configured for an organization. | `SENTRY_RETRIEVE_ORGANIZATION_RELAY_USAGE` | | Action | What it does | Slug | | - | - | - | | List a projects user feedback | Retrieves a list of legacy user feedback items within a Sentry project. | `SENTRY_LIST_A_PROJECTS_USER_FEEDBACK` | | List project users | Retrieves users who have interacted with or are recognized within a specific Sentry project, optionally filtered by a query. | `SENTRY_LIST_PROJECT_USERS` | | List SCIM v2 organization users | Retrieves a paginated list of SCIM (System for Cross-domain Identity Management) users for a Sentry organization, allowing for filtering, pagination, and attribute exclusion. | `SENTRY_LIST_SCIM_V2_ORGANIZATION_USERS` | | Retrieve user via SCIM API | Retrieves an individual Sentry organization member's details using the SCIM v2 API. | `SENTRY_RETRIEVE_USER_VIA_SCIM_API` | | Action | What it does | Slug | | - | - | - | | Get organization release version | Retrieves detailed information, including optional health data and statistics, for a specific release version within a Sentry organization. | `SENTRY_GET_ORGANIZATION_RELEASE_VERSION` | | Action | What it does | Slug | | - | - | - | | Get project hook | Retrieves detailed information for an existing service hook within a Sentry project. | `SENTRY_GET_PROJECT_HOOK` | | Retrieve project hooks | Return a list of service hooks (webhooks) bound to a Sentry project, used to send notifications to external services upon event occurrences. | `SENTRY_RETRIEVE_PROJECT_HOOKS` | | Action | What it does | Slug | | - | - | - | | List seer AI models | Retrieves the list of AI models currently used in production in Seer. | `SENTRY_LIST_SEER_AI_MODELS` | | Validate credential | | `SENTRY_VALIDATE_CREDENTIAL` | Teammates can use 128 of the 211 Sentry actions at this level: everything in **Read-only**, plus: * Create and update files * Update and delete issues * Update attributes * Create and update dashboards * Update queries * Create and update releases * Manage events * Create links The 19 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Attributes** | Modify release file attributes | Updates attributes (e.g., name, distribution) of a specific file within an existing release, identified by organization, version, and file ID. | `SENTRY_MODIFY_RELEASE_FILE_ATTRIBUTES` | | | Update issue attributes in organization | Updates specified attributes of an existing Sentry issue within a Sentry organization, leaving other attributes unchanged. | `SENTRY_UPDATE_ISSUE_ATTRIBUTES_IN_ORGANIZATION` | | **Dashboards** | Create dashboard with widgets | Creates a Sentry dashboard with widgets for an organization. | `SENTRY_CREATE_DASHBOARD_WITH_WIDGETS` | | | Update organization dashboard | Updates an existing custom dashboard, allowing modifications to its title, widgets, and data filters. | `SENTRY_UPDATE_ORGANIZATION_DASHBOARD` | | **Events** | Ingest event via dsn | Ingests a single custom event into a Sentry project using its DSN via the Envelope ingestion endpoint. | `SENTRY_INGEST_EVENT_VIA_DSN` | | **Files** | Update project release file details | Updates the name (path) or distribution identifier of a specific file within an existing project release in Sentry. | `SENTRY_UPDATE_PROJECT_RELEASE_FILE_DETAILS` | | | Upload dsyms file to project | Uploads a dSYM (debug symbols) zip archive, containing an Apple .dSYM folder, to the specified Sentry project for symbolicating crash reports from Apple platforms. | `SENTRY_UPLOAD_DSYMS_FILE_TO_PROJECT` | | | Upload file to project release | Uploads a file to a Sentry project release, for an existing organization, project, and version. | `SENTRY_UPLOAD_FILE_TO_PROJECT_RELEASE` | | | Upload release file to organization | Uploads a new file, such as a source map or debug information, to an existing release version in a Sentry organization. | `SENTRY_UPLOAD_RELEASE_FILE_TO_ORGANIZATION` | | **Issues** | Bulk mutate an organizations issues | Bulk mutate various attributes on issues within an organization. | `SENTRY_BULK_MUTATE_AN_ORGANIZATIONS_ISSUES` | | | Delete external issue by UUID | Unlinks an external issue (e.g., from Jira/GitHub), identified by external\_issue\_id, from the Sentry app installation specified by uuid. | `SENTRY_DELETE_EXTERNAL_ISSUE_BY_UUID` | | | Update project issue status and details | Bulk update attributes of issues in a Sentry project, targeting issues by a list of IDs or by a query status (which implies updating all matching issues if IDs are omitted). | `SENTRY_UPDATE_PROJECT_ISSUE_STATUS_AND_DETAILS` | | **Links** | Create Sentry external issue link | Links an existing Sentry issue to an issue in an external service, or updates an existing link, requiring a configured Sentry App installation uuid. | `SENTRY_CREATE_SENTRY_EXTERNAL_ISSUE_LINK` | | **Queries** | Save organization discover query | Saves a new Discover query with a unique name for a Sentry organization, allowing reuse of search criteria for analyzing event data (errors, transactions) across specified projects and environments. | `SENTRY_SAVE_ORGANIZATION_DISCOVER_QUERY` | | | Update saved query for organization | Updates an existing Discover saved query for a Sentry organization. | `SENTRY_UPDATE_SAVED_QUERY_FOR_ORGANIZATION` | | **Releases** | Create release deploy for org | Creates a new deploy record in Sentry to track the introduction of a release version into a specific environment. | `SENTRY_CREATE_RELEASE_DEPLOY_FOR_ORG` | | | Create release for organization | Creates a new Sentry release for an existing organization, associating it with specified projects that must belong to that organization. | `SENTRY_CREATE_RELEASE_FOR_ORGANIZATION` | | | Update release details for organization | Updates an existing Sentry release's details for an organization, including its reference, URL, release date, associated commits, or repository references. | `SENTRY_UPDATE_RELEASE_DETAILS_FOR_ORGANIZATION` | | **Users** | Submit user feedback | Submits user feedback tied to a specific Sentry event. | `SENTRY_SUBMIT_USER_FEEDBACK` | Teammates can use 211 of the 211 Sentry actions at this level: everything in **Read + write**, plus: * Create, update, and delete monitors * Create, update, and delete rules * Create, update, and delete alerts * Update and delete integrations * View, create, and delete keys * Create, update, and delete teams * Create, update, and delete users * Create and delete members * Create, update, and delete email addresses * Create, update, and delete projects * Update settings * Create and update branch protection The 83 actions that this level adds to **Read + write**: | Action | What it does | Slug | | - | - | - | | Create an alert for an organization | Creates a workflow alert for a Sentry organization using the New Monitors and Alerts system. | `SENTRY_CREATE_AN_ALERT_FOR_AN_ORGANIZATION` | | Delete an alert | ⚠️ This endpoint is currently in beta and may be subject to change. | `SENTRY_DELETE_AN_ALERT` | | Delete bulk alerts | Bulk delete alerts for a given organization. | `SENTRY_DELETE_BULK_ALERTS` | | Mutate an organization s alerts | Bulk enable or disable alerts for an organization. | `SENTRY_MUTATE_AN_ORGANIZATION_S_ALERTS` | | Update an alert by ID | Update an existing Sentry alert (workflow) by ID. | `SENTRY_UPDATE_AN_ALERT_BY_ID` | | Action | What it does | Slug | | - | - | - | | Delete project team association | Revokes a team's access to a Sentry project. | `SENTRY_DELETE_PROJECT_TEAM_ASSOCIATION` | | Action | What it does | Slug | | - | - | - | | Disable spike protection | Disables Spike Protection feature for specified projects within a Sentry organization. | `SENTRY_DISABLE_SPIKE_PROTECTION` | | Post spike protection for organization | Enables or updates Spike Protection for specified projects (or all projects using \['\$all']) within an existing Sentry organization, to which the projects must belong. | `SENTRY_POST_SPIKE_PROTECTION_FOR_ORGANIZATION` | | Action | What it does | Slug | | - | - | - | | Delete organization dashboard | Deletes a custom dashboard or tombstones (marks as deleted) a pre-built dashboard within a Sentry organization. | `SENTRY_DELETE_ORGANIZATION_DASHBOARD` | | Action | What it does | Slug | | - | - | - | | Delete dsyms for project | Permanently removes a specific Debug Information File (DIF), used for symbolicating crash reports, from the specified Sentry project and organization. | `SENTRY_DELETE_DSYMS_FOR_PROJECT` | | Action | What it does | Slug | | - | - | - | | Add remove user email by ID | Adds or removes a secondary email for an existing Sentry user, determined by whether the email already exists for that user. | `SENTRY_ADD_REMOVE_USER_EMAIL_BY_ID` | | Delete user emails by ID | Permanently removes a Sentry user's email address. | `SENTRY_DELETE_USER_EMAILS_BY_ID` | | Update user email | Updates the primary email address for a Sentry user. | `SENTRY_UPDATE_USER_EMAIL` | | Action | What it does | Slug | | - | - | - | | Update environment visibility | Updates the visibility of a specific environment within a Sentry project. | `SENTRY_UPDATE_ENVIRONMENT_VISIBILITY` | | Action | What it does | Slug | | - | - | - | | Delete organization release file | Delete a file from an organization release. | `SENTRY_DELETE_ORGANIZATION_RELEASE_FILE` | | Delete release file by ID | Permanently deletes a specific build artifact (e.g., source map, application bundle) associated with a project release. | `SENTRY_DELETE_RELEASE_FILE_BY_ID` | | Action | What it does | Slug | | - | - | - | | Toggle project filter status | Updates the status or configuration of a specific inbound data filter for a Sentry project. | `SENTRY_TOGGLE_PROJECT_FILTER_STATUS` | | Action | What it does | Slug | | - | - | - | | Create SCIM group for organization | Creates a new Sentry team (SCIM group) within an organization via the SCIM API. | `SENTRY_CREATE_SCIM_GROUP_FOR_ORGANIZATION` | | Patch SCIM group operations | Performs SCIM PATCH operations (RFC 7644) to update attributes of a SCIM-enabled Sentry team, provided SCIM integration is active for the organization. | `SENTRY_PATCH_SCIM_GROUP_OPERATIONS` | | Action | What it does | Slug | | - | - | - | | Delete a custom integration | Deletes a custom integration (Sentry App) by its ID or slug. | `SENTRY_DELETE_A_CUSTOM_INTEGRATION` | | Delete organization integration | Permanently removes an integration installation from a Sentry organization. | `SENTRY_DELETE_ORGANIZATION_INTEGRATION` | | Manage team external integrations | Links an external team or channel (e.g., Slack, GitHub) to an existing Sentry team, using a pre-configured integration for the specified provider and its valid Sentry integration ID. | `SENTRY_MANAGE_TEAM_EXTERNAL_INTEGRATIONS` | | Update an existing custom integration | Updates an existing custom integration (Sentry App) with new configuration. | `SENTRY_UPDATE_AN_EXISTING_CUSTOM_INTEGRATION` | | Update external team integration | Updates an existing external team integration's display name, provider, Sentry integration ID, or external ID. | `SENTRY_UPDATE_EXTERNAL_TEAM_INTEGRATION` | | Action | What it does | Slug | | - | - | - | | Bulk remove an organizations issues | Permanently removes issues from an organization. | `SENTRY_BULK_REMOVE_AN_ORGANIZATIONS_ISSUES` | | Delete organization issue | Permanently deletes a specific Sentry issue, identified by its ID, from an organization. | `SENTRY_DELETE_ORGANIZATION_ISSUE` | | Delete project issues | Permanently removes specified issues from a Sentry project. | `SENTRY_DELETE_PROJECT_ISSUES` | | Start seer issue fix | Trigger a Seer Issue Fix run for a specific issue. | `SENTRY_START_SEER_ISSUE_FIX` | | Action | What it does | Slug | | - | - | - | | Create project key with optional rate limiting | Creates a new client key (DSN) for an existing Sentry project, with optional custom rate limit configuration. | `SENTRY_CREATE_PROJECT_KEY_WITH_OPTIONAL_RATE_LIMITING` | | Delete project key | Permanently deletes a specific client key (DSN) for a project, preventing it from being used to send events to Sentry. | `SENTRY_DELETE_PROJECT_KEY` | | List an organization s client keys | Lists all client keys (DSNs) across all projects in an organization. | `SENTRY_LIST_AN_ORGANIZATION_S_CLIENT_KEYS` | | Retrieve project key details | Retrieves details of a specific client key (DSN) for a Sentry project, which is used by Sentry SDKs to send event data. | `SENTRY_RETRIEVE_PROJECT_KEY_DETAILS` | | Retrieve project keys by org and project | Retrieves a list of client keys (DSNs), used by Sentry SDKs to send events, for a specified project within an organization. | `SENTRY_RETRIEVE_PROJECT_KEYS_BY_ORG_AND_PROJECT` | | Action | What it does | Slug | | - | - | - | | Add organization member via email | Invites a new member (or re-invites an existing non-accepted member) to a Sentry organization via email, allowing specification of organization and team roles. | `SENTRY_ADD_ORGANIZATION_MEMBER_VIA_EMAIL` | | Add team member in organization | Adds an existing member of an organization to one of its teams. | `SENTRY_ADD_TEAM_MEMBER_IN_ORGANIZATION` | | Delete member from team | Removes an organization member from a Sentry team, revoking their team-specific permissions, provided the member is currently part of that team. | `SENTRY_DELETE_MEMBER_FROM_TEAM` | | Delete organization member | Permanently removes a member from a Sentry organization, revoking their access to that organization and all its associated projects. | `SENTRY_DELETE_ORGANIZATION_MEMBER` | | Action | What it does | Slug | | - | - | - | | Create organization monitor | Creates a new monitor (type 'cron\_job') within a Sentry organization to track scheduled tasks, allowing configuration of its name, slug (which must be unique if provided), status, owner, and muting preferences for incidents. | `SENTRY_CREATE_ORGANIZATION_MONITOR` | | Delete organization monitor | Deletes a Sentry cron monitor or, if environment is specified, only specific environments within that monitor. | `SENTRY_DELETE_ORGANIZATION_MONITOR` | | Delete project monitor | Deletes a Sentry monitor, or optionally only its specified environments, for a given project. | `SENTRY_DELETE_PROJECT_MONITOR` | | Mutate an organizations monitors | Bulk enable or disable monitors for an organization. | `SENTRY_MUTATE_AN_ORGANIZATIONS_MONITORS` | | Update a monitor | Updates a monitor's configuration and settings. | `SENTRY_UPDATE_A_MONITOR` | | Update a monitor by ID | Updates an existing Sentry monitor (detector) for metric-based issue detection. | `SENTRY_UPDATE_A_MONITOR_BY_ID` | | Update monitor for project | Updates a monitor for a project. | `SENTRY_UPDATE_MONITOR_FOR_PROJECT` | | Action | What it does | Slug | | - | - | - | | Delete org notification action | Deletes a specific Spike Protection Notification Action for a Sentry organization, where action\_id must be a valid action associated with the organization\_id\_or\_slug. | `SENTRY_DELETE_ORG_NOTIFICATION_ACTION` | | Modify organization notification action | Modifies an organization's notification action, specifically for spike-protection triggers. | `SENTRY_MODIFY_ORGANIZATION_NOTIFICATION_ACTION` | | Submit notification action API data | Creates a Sentry notification action for 'spike-protection' triggers, requiring integration\_id if service\_type is 'slack', 'pagerduty', or 'opsgenie', and target\_identifier/target\_display if service\_type is 'slack' or 'opsgenie'. | `SENTRY_SUBMIT_NOTIFICATION_ACTION_API_DATA` | | Action | What it does | Slug | | - | - | - | | Add a symbol source to a project | Add a custom symbol source to a Sentry project. | `SENTRY_ADD_A_SYMBOL_SOURCE_TO_A_PROJECT` | | Create team project for organization | Creates a new Sentry project for an existing organization and team, allowing configuration of its name, slug, platform, and default alert rules. | `SENTRY_CREATE_TEAM_PROJECT_FOR_ORGANIZATION` | | Delete project by ID | Schedules a Sentry project for asynchronous deletion within a specified organization, hiding it from most public views once the process begins. | `SENTRY_DELETE_PROJECT_BY_ID` | | Delete symbol source from project | Deletes a custom symbol source from a Sentry project. | `SENTRY_DELETE_SYMBOL_SOURCE_FROM_PROJECT` | | Update a projects symbol source | Updates an existing custom symbol source (HTTP, GCS, or S3) in a project for fetching debug symbols. | `SENTRY_UPDATE_A_PROJECTS_SYMBOL_SOURCE` | | Update project details | Updates a Sentry project's settings (e.g., name, slug, platform, bookmark status). | `SENTRY_UPDATE_PROJECT_DETAILS` | | Action | What it does | Slug | | - | - | - | | Delete organization discover query | Permanently removes a specific saved Discover query (a configuration for exploring event data) from a Sentry organization. | `SENTRY_DELETE_ORGANIZATION_DISCOVER_QUERY` | | Action | What it does | Slug | | - | - | - | | Delete organization release | Permanently and irreversibly removes a Sentry release, including all its associated files, identified by its version from the specified organization. | `SENTRY_DELETE_ORGANIZATION_RELEASE` | | Action | What it does | Slug | | - | - | - | | Delete project replay | Permanently deletes a specific Sentry session replay (a video-like reproduction of user interactions, including console logs and network activity) from the specified project and organization. | `SENTRY_DELETE_PROJECT_REPLAY` | | Action | What it does | Slug | | - | - | - | | Switch team role for member | Changes a member's role within a Sentry team, ensuring the member is already part of the team and that any organization-level role restrictions are respected. | `SENTRY_SWITCH_TEAM_ROLE_FOR_MEMBER` | | Update organization member role | Updates a Sentry organization member's organization-level role (orgRole) and/or their team roles (teamRoles), ensuring the initiator has permissions equivalent to both the member's current and intended new orgRole if orgRole is being modified. | `SENTRY_UPDATE_ORGANIZATION_MEMBER_ROLE` | | Action | What it does | Slug | | - | - | - | | Create organization alert rule | Creates a Sentry metric alert rule for an organization, mandating a 'critical' trigger, typically for a single project, where actions may require Sentry integrations. | `SENTRY_CREATE_ORGANIZATION_ALERT_RULE` | | Create project rule for alerts | Creates a Sentry project alert rule by defining conditions, actions, and optional filters using specific JSON structures (detailed in parameter descriptions) to automate responses to event patterns for an existing organization and project. | `SENTRY_CREATE_PROJECT_RULE_FOR_ALERTS` | | Delete organization alert rule | Permanently deletes a metric alert rule from a Sentry organization. | `SENTRY_DELETE_ORGANIZATION_ALERT_RULE` | | Delete project rule | Permanently deletes a specific issue alert rule from an existing project within an existing Sentry organization. | `SENTRY_DELETE_PROJECT_RULE` | | Update organization alert rules | Replaces an existing Sentry metric alert rule's configuration. | `SENTRY_UPDATE_ORGANIZATION_ALERT_RULES` | | Update project rule by ID | Updates an existing Sentry project issue alert rule by rule\_id, completely overwriting it. | `SENTRY_UPDATE_PROJECT_RULE_BY_ID` | | Action | What it does | Slug | | - | - | - | | Modify organization settings | Updates settings for a Sentry organization, such as name, slug, member roles, privacy, and integrations. | `SENTRY_MODIFY_ORGANIZATION_SETTINGS` | | Update project key configuration | Updates configuration settings (e.g., name, status, rate limits, SDK options) for an existing Sentry client key (DSN), identified by key\_id, within a specified project\_id\_or\_slug and organization\_id\_or\_slug. | `SENTRY_UPDATE_PROJECT_KEY_CONFIGURATION` | | Update project ownership settings | Updates the ownership configuration settings (raw rules, fallthrough, auto-assignment, CODEOWNERS sync) for a Sentry project. | `SENTRY_UPDATE_PROJECT_OWNERSHIP_SETTINGS` | | Update webhook configuration xp | Updates an existing Sentry service hook's target URL and subscribed event types for a given project and organization. | `SENTRY_UPDATE_WEBHOOK_CONFIGURATION_XP` | | Action | What it does | Slug | | - | - | - | | Create project webhook subscription | Registers a new webhook subscription for a Sentry project to send HTTP POST notifications to a specified URL for given events, provided the project has the 'servicehooks' feature enabled. | `SENTRY_CREATE_PROJECT_WEBHOOK_SUBSCRIPTION` | | Action | What it does | Slug | | - | - | - | | Add team to project | Grants a Sentry team access to a Sentry project within the specified Sentry organization. | `SENTRY_ADD_TEAM_TO_PROJECT` | | Create organization team | Creates a new team in a Sentry organization, requiring either a 'slug' or 'name' to define the team. | `SENTRY_CREATE_ORGANIZATION_TEAM` | | Delete external team by ID | Unlinks a previously established external team from a Sentry team. | `SENTRY_DELETE_EXTERNAL_TEAM_BY_ID` | | Delete team by organization or team slug | Schedules a Sentry team for asynchronous deletion, which releases the team's slug for reuse upon successful scheduling. | `SENTRY_DELETE_TEAM_BY_ORGANIZATION_OR_TEAM_SLUG` | | Delete team from org SCIM v2 | Permanently and irreversibly deletes a specific team from a Sentry organization via a SCIM v2 request, provided SCIM integration is enabled for the organization. | `SENTRY_DELETE_TEAM_FROM_ORG_SCIM_V2` | | Update team information by organization ID | Updates the slug for an existing team within a Sentry organization. | `SENTRY_UPDATE_TEAM_INFORMATION_BY_ORGANIZATION_ID` | | Action | What it does | Slug | | - | - | - | | Retrieve paginated repository tokens | Retrieves a paginated list of repository tokens for a given owner. | `SENTRY_RETRIEVE_PAGINATED_REPOSITORY_TOKENS` | | Action | What it does | Slug | | - | - | - | | Create external user for organization | Links a Sentry user to an external identity provider's user within a Sentry organization. | `SENTRY_CREATE_EXTERNAL_USER_FOR_ORGANIZATION` | | Create user for SAML integration | Creates a new Sentry organization member via a SCIM request for SAML integration. | `SENTRY_CREATE_USER_FOR_SAML_INTEGRATION` | | Delete external user from organization | Deletes the link between an external user (from an integration provider like GitHub, Slack, GitLab, or MS Teams) and a Sentry user within the specified organization. | `SENTRY_DELETE_EXTERNAL_USER_FROM_ORGANIZATION` | | Delete user from org | Removes a SCIM-managed member from a Sentry organization that has SCIM enabled, permanently revoking their access. | `SENTRY_DELETE_USER_FROM_ORG` | | Patch user active status in organization | Deactivates and permanently deletes a Sentry organization member by using a SCIM PATCH operation to set their 'active' attribute to 'false'. | `SENTRY_PATCH_USER_ACTIVE_STATUS_IN_ORGANIZATION` | | Update external user for organization | Updates attributes of an existing external user linkage (identified by external\_user\_id) within a Sentry organization (specified by organization\_id\_or\_slug). | `SENTRY_UPDATE_EXTERNAL_USER_FOR_ORGANIZATION` | | Action | What it does | Slug | | - | - | - | | Delete project hook | Deletes a specific service hook from a Sentry project using its organization, project, and hook identifiers. | `SENTRY_DELETE_PROJECT_HOOK` | ## Connect Sentry Before you start: * You need a Sentry account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Sentry** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Sentry**. The Sentry sign-in page opens in a new tab. Sign in to Sentry and approve the request. Check that it works: Sentry shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Sentry account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Sentry account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Sentry account Click **+ Account** on the Sentry card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Sentry side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Sentry**. 3. Sign in to Sentry and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Sentry account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Sentry.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Sentry account becomes primary. ## Costs Sentry actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Sentry, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Sentry connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Sentry account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Sentry card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Sentry account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Sentry.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # SharePoint Source: https://squad.so/docs/apps/share_point What teammates can do in SharePoint at each access level, and how to connect, limit, and disconnect SharePoint. Connect SharePoint so your teammates can work in your SharePoint account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each SharePoint account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as sites, files, lists, and pages. Cannot change anything." | 58 of 105 | | **Read + write** (recommended) | "Upload, copy, rename, edit, and recycle files and folders, and create and edit list items. Cannot share, delete permanently, or change lists or sites." | 78 of 105 | | **Full access** | "Everything, including permissions, sharing links, lists, sites, and permanent deletes." | 105 of 105 | **Read + write** is the recommended level. The connect window selects it for you, and you can choose another level. The SharePoint sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my SharePoint account?" The teammate can search the SharePoint actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the SharePoint action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 58 of the 105 SharePoint actions at this level: * View list items * View and search users * View and search files * View and run lists * View types * View sites * View change history * View content * View drives * View folders * View roles and permissions * View subscriptions All 58 actions at this level: | Action | What it does | Slug | | - | - | - | | List item attachments | List all attachments for a SharePoint list item. | `SHARE_POINT_LIST_ITEM_ATTACHMENTS` | | Action | What it does | Slug | | - | - | - | | Get changes | Retrieve changes from SharePoint list change log. | `SHARE_POINT_GET_CHANGES` | | Get drive item changes | | `SHARE_POINT_GET_DRIVE_ITEM_CHANGES` | | Action | What it does | Slug | | - | - | - | | Get site collection info | Fetch site collection metadata (URL, ID, root web URI) only. | `SHARE_POINT_GET_SITE_COLLECTION_INFO` | | Action | What it does | Slug | | - | - | - | | List list columns | List all column definitions in a SharePoint list. | `SHARE_POINT_LIST_LIST_COLUMNS` | | Action | What it does | Slug | | - | - | - | | Get item attachment content | Download an attachment from a SharePoint list item. | `SHARE_POINT_GET_ITEM_ATTACHMENT_CONTENT` | | Get site page content | Retrieve modern SharePoint Site Pages content by reading list item fields. | `SHARE_POINT_GET_SITE_PAGE_CONTENT` | | Action | What it does | Slug | | - | - | - | | Get drive by ID | | `SHARE_POINT_GET_DRIVE_BY_ID` | | List drive children | List children (files and folders) in a SharePoint drive using REST API v2.0. | `SHARE_POINT_LIST_DRIVE_CHILDREN` | | List drives rest API | Retrieve drives using SharePoint REST API v2.0. | `SHARE_POINT_LIST_DRIVES_REST_API` | | List site drives | | `SHARE_POINT_LIST_SITE_DRIVES` | | Action | What it does | Slug | | - | - | - | | Download file by server relative URL | Download a file by server-relative URL. | `SHARE_POINT_DOWNLOAD_FILE_BY_SERVER_RELATIVE_URL` | | Get file by server relative URL | DEPRECATED: Use GetSiteDriveItemByPath instead. | `SHARE_POINT_GET_FILE_BY_SERVER_RELATIVE_URL` | | List files in folder | List files within a SharePoint folder (non-recursive. | `SHARE_POINT_LIST_FILES_IN_FOLDER` | | Search files | | `SHARE_POINT_SEARCH_FILES` | | Action | What it does | Slug | | - | - | - | | Get all folders | Retrieve all folders in the SharePoint web. | `SHARE_POINT_GET_ALL_FOLDERS` | | Get folder by server relative URL | DEPRECATED: Use SHARE\_POINT\_GET\_SITE\_DRIVE\_ITEM\_BY\_PATH instead. | `SHARE_POINT_GET_FOLDER_BY_SERVER_RELATIVE_URL` | | List subfolders in folder | List immediate child folders within a SharePoint folder. | `SHARE_POINT_LIST_SUBFOLDERS_IN_FOLDER` | | Action | What it does | Slug | | - | - | - | | Get my followers | Retrieves the list of users who are following the authenticated user in SharePoint. | `SHARE_POINT_GET_MY_FOLLOWERS` | | Action | What it does | Slug | | - | - | - | | List site groups | List SharePoint site groups for a site collection. | `SHARE_POINT_LIST_SITE_GROUPS` | | Action | What it does | Slug | | - | - | - | | Get drive item by ID | | `SHARE_POINT_GET_DRIVE_ITEM_BY_ID` | | Get list item by ID | Retrieve a SharePoint list item by ID. | `SHARE_POINT_GET_LIST_ITEM_BY_ID` | | Get list items | Retrieve items from a SharePoint list. | `SHARE_POINT_GET_LIST_ITEMS` | | Get list items by guid | Retrieve items from a SharePoint list using its GUID. | `SHARE_POINT_GET_LIST_ITEMS_BY_GUID` | | Get site drive item by path | Retrieve a file or folder by its server-relative path in a SharePoint site. | `SHARE_POINT_GET_SITE_DRIVE_ITEM_BY_PATH` | | List drive recent items | List recently modified items in a SharePoint drive using Microsoft Graph API. | `SHARE_POINT_LIST_DRIVE_RECENT_ITEMS` | | List recycle bin items | List items in the SharePoint Recycle Bin. | `SHARE_POINT_LIST_RECYCLE_BIN_ITEMS` | | Action | What it does | Slug | | - | - | - | | Get list by guid | Retrieve a SharePoint list by its GUID. | `SHARE_POINT_GET_LIST_BY_GUID` | | Get list by title | Retrieve a SharePoint list by its title. | `SHARE_POINT_GET_LIST_BY_TITLE` | | List all lists | Retrieves all lists in the current SharePoint web/site. | `SHARE_POINT_LIST_ALL_LISTS` | | Render list data as stream | Retrieve list items from SharePoint with rich metadata and formatting. | `SHARE_POINT_RENDER_LIST_DATA_AS_STREAM` | | Action | What it does | Slug | | - | - | - | | Search query | Search SharePoint content using Keyword Query Language (KQL). | `SHARE_POINT_SEARCH_QUERY` | | Action | What it does | Slug | | - | - | - | | Get drive item analytics | Get analytics for a SharePoint drive item. | `SHARE_POINT_GET_DRIVE_ITEM_ANALYTICS` | | Action | What it does | Slug | | - | - | - | | Get role definitions | List role definitions at the web level. | `SHARE_POINT_GET_ROLE_DEFINITIONS` | | Get user effective permissions on web | Get a user's effective permissions on the current SharePoint site (Web). | `SHARE_POINT_GET_USER_EFFECTIVE_PERMISSIONS_ON_WEB` | | List drive item permissions | | `SHARE_POINT_LIST_DRIVE_ITEM_PERMISSIONS` | | List web role assignments | | `SHARE_POINT_LIST_WEB_ROLE_ASSIGNMENTS` | | Action | What it does | Slug | | - | - | - | | Get site by hostname | | `SHARE_POINT_GET_SITE_BY_HOSTNAME` | | Get site by ID | | `SHARE_POINT_GET_SITE_BY_ID` | | Get site root | | `SHARE_POINT_GET_SITE_ROOT` | | List sites | Retrieve all SharePoint sites accessible to the user. | `SHARE_POINT_LIST_SITES` | | Action | What it does | Slug | | - | - | - | | Get webhook subscription | Retrieve a specific webhook subscription by ID from a SharePoint list. | `SHARE_POINT_GET_WEBHOOK_SUBSCRIPTION` | | Get webhook subscriptions | Retrieve all webhook subscriptions on a SharePoint list. | `SHARE_POINT_GET_WEBHOOK_SUBSCRIPTIONS` | | Action | What it does | Slug | | - | - | - | | Get content type | Retrieve a single SharePoint content type by its ID. | `SHARE_POINT_GET_CONTENT_TYPE` | | Get content types | Retrieves all content types from the current SharePoint site. | `SHARE_POINT_GET_CONTENT_TYPES` | | Get content types for list | Retrieve all content types for a specific SharePoint list by GUID. | `SHARE_POINT_GET_CONTENT_TYPES_FOR_LIST` | | Get list content type by ID | Retrieve a specific content type from a SharePoint list by its ID. | `SHARE_POINT_GET_LIST_CONTENT_TYPE_BY_ID` | | Action | What it does | Slug | | - | - | - | | Get current user | Retrieve the current user for the site. | `SHARE_POINT_GET_CURRENT_USER` | | Get group users | Retrieves all users who are members of a specified SharePoint group. | `SHARE_POINT_GET_GROUP_USERS` | | Get group users by ID | Retrieve all users in a specific SharePoint site group by group ID. | `SHARE_POINT_GET_GROUP_USERS_BY_ID` | | List site users | List users in the site collection. | `SHARE_POINT_LIST_SITE_USERS` | | SharePoint find user | Searches for a user in the SharePoint site by email address and returns their profile information if found. | `SHARE_POINT_SHAREPOINT_FIND_USER` | | Action | What it does | Slug | | - | - | - | | Get list item version | Retrieve a specific version of a SharePoint list item. | `SHARE_POINT_GET_LIST_ITEM_VERSION` | | Action | What it does | Slug | | - | - | - | | Get my followed | Get entities the current user is following. | `SHARE_POINT_GET_MY_FOLLOWED` | | Get web info | Retrieve information about the current SharePoint web (site) using REST API. | `SHARE_POINT_GET_WEB_INFO` | | Is followed | Check if the current user is following a specified actor. | `SHARE_POINT_IS_FOLLOWED` | | Search suggest | Get search query suggestions. | `SHARE_POINT_SEARCH_SUGGEST` | | Validate credential | | `SHARE_POINT_VALIDATE_CREDENTIAL` | Teammates can use 78 of the 105 SharePoint actions at this level: everything in **Read-only**, plus: * Create and update list items * Create, update, and manage files * Create and update folders * Update versions The 20 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Attachments** | Add attachment to list item | Add an attachment to a SharePoint list item. | `SHARE_POINT_ADD_ATTACHMENT_TO_LIST_ITEM` | | **Files** | Check in file | Check in a file. | `SHARE_POINT_CHECK_IN_FILE` | | | Recycle file | Move a file to the Recycle Bin. | `SHARE_POINT_RECYCLE_FILE` | | | SharePoint check out file | Check out a file in a document library. | `SHARE_POINT_SHAREPOINT_CHECK_OUT_FILE` | | | Undo checkout file | Undo a file checkout, discarding any changes made while checked out. | `SHARE_POINT_UNDO_CHECKOUT_FILE` | | | Upload file | Upload a file to a SharePoint document library or folder. | `SHARE_POINT_UPLOAD_FILE` | | **Folders** | Rename folder | Renames a SharePoint folder by updating its list item metadata. | `SHARE_POINT_RENAME_FOLDER` | | | SharePoint create folder | Creates a new folder in SharePoint using the REST API. | `SHARE_POINT_SHAREPOINT_CREATE_FOLDER` | | **List items** | Copy drive item | | `SHARE_POINT_COPY_DRIVE_ITEM` | | | Create list item by ID | Create a new item in a SharePoint list using the list's GUID. | `SHARE_POINT_CREATE_LIST_ITEM_BY_ID` | | | Create list item in folder | Create a list item in a specific folder within a SharePoint list. | `SHARE_POINT_CREATE_LIST_ITEM_IN_FOLDER` | | | Recycle list item | Move a list item to the Recycle Bin. | `SHARE_POINT_RECYCLE_LIST_ITEM` | | | Restore recycle bin item | Restore a SharePoint Recycle Bin item. | `SHARE_POINT_RESTORE_RECYCLE_BIN_ITEM` | | | SharePoint create list item | Creates a new item in a SharePoint list. | `SHARE_POINT_SHAREPOINT_CREATE_LIST_ITEM` | | | Update drive item | Update the properties of a drive item (file or folder) in SharePoint using SharePoint REST API. | `SHARE_POINT_UPDATE_DRIVE_ITEM` | | | Update file item | | `SHARE_POINT_UPDATE_FILE_ITEM` | | | Update list item | Update fields on an existing SharePoint list item. | `SHARE_POINT_UPDATE_LIST_ITEM` | | **Versions** | Restore drive item version | Restore a previous version of a SharePoint drive item. | `SHARE_POINT_RESTORE_DRIVE_ITEM_VERSION` | | **Other actions** | Follow | Follow a SharePoint user, document, site, or tag. | `SHARE_POINT_FOLLOW` | | | Upload from URL | Fetch a file from a URL and upload it to SharePoint. | `SHARE_POINT_UPLOAD_FROM_URL` | Teammates can use 105 of the 105 SharePoint actions at this level: everything in **Read + write**, plus: * Create, update, and delete lists * Delete list items * Create, delete, and manage users * Create and update fields * Create and update types * Delete content * Manage events * Delete folders * Create links * Update sites The 27 actions that this level adds to **Read + write**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Content** | Delete drive item version content | Delete content for a specific version of a drive item in SharePoint. | `SHARE_POINT_DELETE_DRIVE_ITEM_VERSION_CONTENT` | | **Events** | Log event | Log custom usage analytics events in SharePoint for tracking user activities. | `SHARE_POINT_LOG_EVENT` | | **Fields** | Create list field | Create a new field (column) in a SharePoint list. | `SHARE_POINT_CREATE_LIST_FIELD` | | | Update list field | | `SHARE_POINT_UPDATE_LIST_FIELD` | | **Folders** | Delete folder | Deletes a folder from a SharePoint document library. | `SHARE_POINT_DELETE_FOLDER` | | **Links** | Add field link to content type | Add a field link to a list content type. | `SHARE_POINT_ADD_FIELD_LINK_TO_CONTENT_TYPE` | | | Create drive item sharing link | Create a sharing link for a drive item in SharePoint or OneDrive. | `SHARE_POINT_CREATE_DRIVE_ITEM_SHARING_LINK` | | **List items** | Delete file item | | `SHARE_POINT_DELETE_FILE_ITEM` | | | Delete list item | Delete a SharePoint list item. | `SHARE_POINT_DELETE_LIST_ITEM` | | | Delete list items | | `SHARE_POINT_DELETE_LIST_ITEMS` | | | Delete recycle bin item permanent | Permanently delete a SharePoint Recycle Bin item. | `SHARE_POINT_DELETE_RECYCLE_BIN_ITEM_PERMANENT` | | **Lists** | Delete list | Delete a SharePoint list. | `SHARE_POINT_DELETE_LIST` | | | Delete list by title | Delete a SharePoint list by its title. | `SHARE_POINT_DELETE_LIST_BY_TITLE` | | | SharePoint create list | Creates a new list in SharePoint using the REST API. | `SHARE_POINT_SHAREPOINT_CREATE_LIST` | | | Update list | Update properties of an existing SharePoint list. | `SHARE_POINT_UPDATE_LIST` | | **Roles and permissions** | Add role assignment to item | Add a role assignment to a list item. | `SHARE_POINT_ADD_ROLE_ASSIGNMENT_TO_ITEM` | | | Add role assignment to list | Add a role assignment to a SharePoint list. | `SHARE_POINT_ADD_ROLE_ASSIGNMENT_TO_LIST` | | | Break role inheritance on item | Break permission inheritance on a list item. | `SHARE_POINT_BREAK_ROLE_INHERITANCE_ON_ITEM` | | | Break role inheritance on list | Breaks permission inheritance on a SharePoint list, allowing you to set unique permissions. | `SHARE_POINT_BREAK_ROLE_INHERITANCE_ON_LIST` | | **Sites** | Update site | Update properties of the current SharePoint site (web). | `SHARE_POINT_UPDATE_SITE` | | **Types** | Create content type | Create a new content type in SharePoint. | `SHARE_POINT_CREATE_CONTENT_TYPE` | | | Update content type | Update a SharePoint content type's properties such as name, description, group, or hidden status. | `SHARE_POINT_UPDATE_CONTENT_TYPE` | | **Users** | Ensure user | Ensures a user exists in a SharePoint site by their login name. | `SHARE_POINT_ENSURE_USER` | | | SharePoint create user | DEPRECATED: Use SHARE\_POINT\_ENSURE\_USER instead (supports email param directly). | `SHARE_POINT_SHAREPOINT_CREATE_USER` | | | SharePoint remove user | Removes a user from SharePoint. | `SHARE_POINT_SHAREPOINT_REMOVE_USER` | | **Other actions** | Create web | Create a new SharePoint subsite under the current site. | `SHARE_POINT_CREATE_WEB` | | | Get context info | Retrieve SharePoint context information including the form digest value. | `SHARE_POINT_GET_CONTEXT_INFO` | ## Connect SharePoint Before you start: * You need a SharePoint account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **SharePoint** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect SharePoint**. The SharePoint sign-in page opens in a new tab. Sign in to SharePoint and approve the request. Check that it works: SharePoint shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the SharePoint account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the SharePoint account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one SharePoint account Click **+ Account** on the SharePoint card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the SharePoint side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on SharePoint**. 3. Sign in to SharePoint and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the SharePoint account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to SharePoint.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected SharePoint account becomes primary. ## Costs SharePoint actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to SharePoint, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the SharePoint connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each SharePoint account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the SharePoint card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the SharePoint account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to SharePoint.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # SiteGPT Source: https://squad.so/docs/apps/sitegpt Connect SiteGPT so your teammates can work on your AI support chatbot, and learn how the sign-in, the tools, and disconnecting work. [SiteGPT](https://sitegpt.ai/?via=mchq) is an AI support chatbot trained on your website content. Connect it, and your teammates can work on your chatbots, visitor conversations, and training content. SiteGPT is in the **Recommended** section of the catalog. It does not use the app sign-in that other apps use. You approve Squad inside your SiteGPT account, or you paste a SiteGPT API key. ## What teammates can do in SiteGPT Teammates get 3 SiteGPT tools. One finds SiteGPT API endpoints, one makes read-only calls, and one creates or updates resources. | Tool | What it does | | - | - | | `sitegpt_search` | Finds SiteGPT API v2 endpoints. | | `sitegpt_execute_read` | Makes read-only calls, for example to chatbots, visitor conversations, and training content. | | `sitegpt_execute_write` | Creates or updates resources. | Squad does not block any SiteGPT tool. SiteGPT has no access levels in Squad, and there is no **Per-teammate access** setting for it. The tools appear within a couple of minutes after you connect. Until then, teammates cannot see them. ## Connect SiteGPT Before you start: * You need a SiteGPT account. You can create one at [sitegpt.ai](https://sitegpt.ai/?via=mchq). * Your Squad subscription must be active. * You must be the owner, or an Administrator who is not limited to some teammates. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Under **Recommended**, click **SiteGPT**. The **Connect SiteGPT** window opens. Click **Sign in with SiteGPT**. The SiteGPT approval page opens in a new tab. If the approval page asks for a code, enter the code that the Squad window shows. Approve the request in SiteGPT. Go back to the Squad tab. Keep the **Connect SiteGPT** window open until it closes by itself. If the new tab does not open, click **Open the approval page** in the Squad window. The sign-in gives Squad a SiteGPT token with every self-service permission that your SiteGPT role can grant. Squad requests a token that lasts 365 days. ### Connect with an API key instead In the **Connect SiteGPT** window, click **Paste an API key instead**. In SiteGPT, create a chatbot if you have none. Then copy your API key from your account settings. Paste the key in the **API key** field. Click **Connect SiteGPT**. Check that it works: the window shows "Connected. Your teammates can use SiteGPT." when you open it again from the catalog, and SiteGPT appears in the list under **Custom integrations**. ## Replace the credential Open **Settings** > **Apps**, click **Add integration**, and click **SiteGPT** in the catalog. Then: * To sign in again, click **Sign in again to replace the credential** and approve in SiteGPT. * To use a new API key, click **Paste an API key instead** (or **Replace the stored key** if you connected with a key), paste the key, and click **Save new key**. Squad stores one SiteGPT credential for your workspace. A new sign-in or a new key replaces the old one. You cannot connect a second SiteGPT account. ## Disconnect SiteGPT Open **SiteGPT** from the catalog, click **Disconnect**, then click **Really disconnect?** to confirm. Squad deletes the stored credential from your squad's computer. ## Costs SiteGPT tools do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Common questions Yes. You approve the connection while you are signed in to SiteGPT, so you need a SiteGPT account first. Teammates get 3 SiteGPT tools. One finds SiteGPT API endpoints, one makes read-only calls, and one creates or updates resources. Open **SiteGPT** from the catalog, click **Disconnect**, then click **Really disconnect?** to confirm. Squad deletes the stored credential from your squad's computer. ## Related pages # Slack Source: https://squad.so/docs/apps/slack What teammates can do in Slack at each access level, and how to connect, limit, and disconnect Slack. Connect Slack so your teammates can work in your Slack account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Slack account has an access level: **Read-only**, **Read + send**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as messages in channels and DMs, files, canvases, and users. Cannot change anything." | 73 of 168 | | **Read + send** | "Post, schedule, edit, and delete your messages, send files, open DMs, and react. Cannot join or leave channels, mark messages read, pin, or manage channels." | 92 of 168 | | **Full access** (recommended) | "Everything, including channels and their members, read state, pins, canvases, lists, your profile, and workspace settings." | 168 of 168 | **Full access** is the recommended level. The connect window selects it for you, and you can choose another level. The Slack sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Slack account?" The teammate can search the Slack actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Slack action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 73 of the 168 Slack actions at this level: * View and search users * View files * View items * View and search messages * View and search conversations * View settings * View teams * View and search channels * View profiles * View reactions * View reminders * View account details All 73 actions at this level: | Action | What it does | Slug | | - | - | - | | Who am I | | `SLACK_WHO_AM_I` | | Action | What it does | Slug | | - | - | - | | List workspace admins | List all admins on a given Slack workspace. | `SLACK_LIST_WORKSPACE_ADMINS` | | Action | What it does | Slug | | - | - | - | | List admin apps approved | List approved apps for an Enterprise Grid organization or workspace. | `SLACK_LIST_ADMIN_APPS_APPROVED` | | List admin apps requests | List pending app installation requests for a team/workspace. | `SLACK_LIST_ADMIN_APPS_REQUESTS` | | List restricted apps | List restricted apps for an org or workspace. | `SLACK_LIST_RESTRICTED_APPS` | | Action | What it does | Slug | | - | - | - | | Read audit logs | Read Slack Enterprise Grid Audit Logs (logins, admin changes, app installs, channel/privacy changes, etc.) with server-side filters and pagination. | `SLACK_READ_AUDIT_LOGS` | | Action | What it does | Slug | | - | - | - | | Get call info | Retrieves a point-in-time snapshot of a specific Slack call's information. | `SLACK_GET_CALL_INFO` | | Action | What it does | Slug | | - | - | - | | Find channels | Find channels in a Slack workspace by any criteria. | `SLACK_FIND_CHANNELS` | | List all channels | Lists conversations available to the user with various filters and search options. | `SLACK_LIST_ALL_CHANNELS` | | Action | What it does | Slug | | - | - | - | | Get workspace connections for channel | Get all workspaces a channel is connected to within an Enterprise org. | `SLACK_GET_WORKSPACE_CONNECTIONS_FOR_CHANNEL` | | Action | What it does | Slug | | - | - | - | | Admin conversations search | Search for public or private channels in an Enterprise organization. | `SLACK_ADMIN_CONVERSATIONS_SEARCH` | | List conversations | List conversations (channels/DMs) accessible to a specified user (or the authenticated user if no user ID is provided), respecting shared membership for non-public channels. | `SLACK_LIST_CONVERSATIONS` | | Retrieve conversation information | Retrieves metadata for a Slack conversation by ID (e.g., name, purpose, creation date, with options for member count/locale), excluding message content. | `SLACK_RETRIEVE_CONVERSATION_INFORMATION` | | Action | What it does | Slug | | - | - | - | | List admin emoji | List custom emoji across an Enterprise Grid organization. | `SLACK_LIST_ADMIN_EMOJI` | | Action | What it does | Slug | | - | - | - | | Download Slack file | Download Slack file content and convert it to a publicly accessible URL. | `SLACK_DOWNLOAD_SLACK_FILE` | | Get remote file | Retrieve information about a remote file added to Slack via the files.remote API. | `SLACK_GET_REMOTE_FILE` | | List files with filters in Slack | Lists files and their metadata within a Slack workspace, filterable by user, channel, timestamp, or type. | `SLACK_LIST_FILES_WITH_FILTERS_IN_SLACK` | | List remote files | Retrieve information about a team's remote files. | `SLACK_LIST_REMOTE_FILES` | | Retrieve detailed information about a file | Retrieves detailed metadata and paginated comments for a specific Slack file ID. | `SLACK_RETRIEVE_DETAILED_INFORMATION_ABOUT_A_FILE` | | Action | What it does | Slug | | - | - | - | | List idp groups linked to channel | Lists IDP groups that have restricted access to a private Slack channel. | `SLACK_LIST_IDP_GROUPS_LINKED_TO_CHANNEL` | | List user groups | Lists user groups in a Slack workspace, including user-created and default groups. | `SLACK_LIST_USER_GROUPS` | | Action | What it does | Slug | | - | - | - | | Fetch conversation history | Fetches a chronological list of messages and events from a specified Slack conversation, accessible by the authenticated user/bot, with options for pagination and time range filtering. | `SLACK_FETCH_CONVERSATION_HISTORY` | | Action | What it does | Slug | | - | - | - | | Retrieve a user s identity details | Retrieves the authenticated user's and their team's identity, with details varying based on OAuth scopes (e.g., identity.basic, identity.email, identity.avatar). | `SLACK_RETRIEVE_A_USER_S_IDENTITY_DETAILS` | | Action | What it does | Slug | | - | - | - | | List approved workspace invite requests | List all approved workspace invite requests with pagination support. | `SLACK_LIST_APPROVED_WORKSPACE_INVITE_REQUESTS` | | List denied workspace invite requests | List all denied workspace invite requests with details about who denied them and when. | `SLACK_LIST_DENIED_WORKSPACE_INVITE_REQUESTS` | | List pending workspace invite requests | List all pending workspace invite requests. | `SLACK_LIST_PENDING_WORKSPACE_INVITE_REQUESTS` | | Action | What it does | Slug | | - | - | - | | Get Slack list item | | `SLACK_GET_SLACK_LIST_ITEM` | | List pinned items | Retrieves all messages and files pinned to a specified channel. | `SLACK_LIST_PINNED_ITEMS` | | List Slack list items | | `SLACK_LIST_SLACK_LIST_ITEMS` | | List starred items | Lists items starred by a user. | `SLACK_LIST_STARRED_ITEMS` | | Action | What it does | Slug | | - | - | - | | Retrieve conversation members list | Retrieves a paginated list of active member IDs (not names, emails, or presence) for a specified Slack public channel, private channel, DM, or MPIM. | `SLACK_RETRIEVE_CONVERSATION_MEMBERS_LIST` | | Action | What it does | Slug | | - | - | - | | List user group members | Retrieves a list of all user IDs within a specified Slack user group, with an option to include users from disabled groups. | `SLACK_LIST_USER_GROUP_MEMBERS` | | Action | What it does | Slug | | - | - | - | | Get unread messages from user | | `SLACK_GET_UNREAD_MESSAGES_FROM_USER` | | List scheduled messages | Retrieves a list of pending (not yet delivered) messages scheduled in a specific Slack channel, or across all accessible channels if no channel ID is provided, optionally filtered by time and paginated. | `SLACK_LIST_SCHEDULED_MESSAGES` | | List unread channel messages | | `SLACK_LIST_UNREAD_CHANNEL_MESSAGES` | | Retrieve message permalink URL | Retrieves a permalink URL for a specific message in a Slack channel or conversation. | `SLACK_RETRIEVE_MESSAGE_PERMALINK_URL` | | Search messages | Workspace‑wide Slack message search with date ranges and filters. | `SLACK_SEARCH_MESSAGES` | | Action | What it does | Slug | | - | - | - | | List workspace owners | List all owners on a given Slack workspace. | `SLACK_LIST_WORKSPACE_OWNERS` | | Action | What it does | Slug | | - | - | - | | Get user presence | Retrieves a Slack user's current real-time presence (e.g., 'active', 'away') to determine their availability, noting this action does not provide historical data or status reasons. | `SLACK_GET_USER_PRESENCE` | | Action | What it does | Slug | | - | - | - | | Get team profile | Retrieves all profile field definitions for a Slack team, optionally filtered by visibility, to understand the team's profile structure. | `SLACK_GET_TEAM_PROFILE` | | Retrieve user profile information | Retrieves profile information for a specified Slack user (defaults to the authenticated user if user ID is omitted). | `SLACK_RETRIEVE_USER_PROFILE_INFORMATION` | | Action | What it does | Slug | | - | - | - | | Fetch item reactions | Fetches reactions for a Slack message, file, or file comment. | `SLACK_FETCH_ITEM_REACTIONS` | | List user reactions | Lists all reactions added by a specific user to messages, files, or file comments in Slack, useful for engagement analysis when the item content itself is not required. | `SLACK_LIST_USER_REACTIONS` | | Action | What it does | Slug | | - | - | - | | Get reminder | Retrieves detailed information for an existing Slack reminder specified by its ID. | `SLACK_GET_REMINDER` | | List reminders | Lists all reminders with their details for the authenticated Slack user. | `SLACK_LIST_REMINDERS` | | Action | What it does | Slug | | - | - | - | | Get app permission scopes | DEPRECATED: Use SLACK\_TEST\_AUTH instead. | `SLACK_GET_APP_PERMISSION_SCOPES` | | Action | What it does | Slug | | - | - | - | | Get audit schemas | Retrieve object schema information from the Slack Audit Logs API. | `SLACK_GET_AUDIT_SCHEMAS` | | Action | What it does | Slug | | - | - | - | | Lookup canvas sections | Looks up section IDs in a Slack Canvas for use with targeted edit operations. | `SLACK_LOOKUP_CANVAS_SECTIONS` | | Action | What it does | Slug | | - | - | - | | Get channel conversation preferences | Retrieves conversation preferences (e.g., who can post, who can thread) for a specified channel, primarily for use within Slack Enterprise Grid environments. | `SLACK_GET_CHANNEL_CONVERSATION_PREFERENCES` | | Get workspace settings | Retrieves detailed settings for a specific Slack workspace, primarily for administrators in an Enterprise Grid organization to view or audit workspace configurations. | `SLACK_GET_WORKSPACE_SETTINGS` | | SCIM get config | Retrieve SCIM service provider configuration from Slack. | `SLACK_SCIM_GET_CONFIG` | | Action | What it does | Slug | | - | - | - | | Fetch team info | Fetches comprehensive metadata about the current Slack team, or a specified team if the provided ID is accessible. | `SLACK_FETCH_TEAM_INFO` | | List auth teams | Obtains a paginated list of workspaces your org-wide app has been approved for. | `SLACK_LIST_AUTH_TEAMS` | | List enterprise teams | List all teams (workspaces) in a Slack Enterprise Grid organization with pagination support. | `SLACK_LIST_ENTERPRISE_TEAMS` | | Action | What it does | Slug | | - | - | - | | Fetch message thread from a conversation | Retrieves replies to a specific parent message in a Slack conversation, using the channel ID and the parent message's timestamp (ts). | `SLACK_FETCH_MESSAGE_THREAD_FROM_A_CONVERSATION` | | Action | What it does | Slug | | - | - | - | | Get audit action types | Retrieve information about action types available in the Slack Audit Logs API. | `SLACK_GET_AUDIT_ACTION_TYPES` | | Action | What it does | Slug | | - | - | - | | Find user by email address | Retrieves the Slack user object for an active user by their registered email address. | `SLACK_FIND_USER_BY_EMAIL_ADDRESS` | | Find users | Find users in a Slack workspace by any criteria. | `SLACK_FIND_USERS` | | Get bot user | Fetches information for a specified, existing Slack bot user. | `SLACK_GET_BOT_USER` | | Get user dnd status | Retrieves a user's current Do Not Disturb status. | `SLACK_GET_USER_DND_STATUS` | | List all users | Retrieves a paginated list of all users with profile details, status, and team memberships in a Slack workspace. | `SLACK_LIST_ALL_USERS` | | List workspace users | Retrieves a paginated list of admin users for a specified Slack workspace. | `SLACK_LIST_WORKSPACE_USERS` | | Retrieve current user dnd status | Retrieves a Slack user's current Do Not Disturb (DND) status to determine their availability before interaction. | `SLACK_RETRIEVE_CURRENT_USER_DND_STATUS` | | Retrieve detailed user information | Retrieves comprehensive information for a valid Slack user ID, excluding message history and channel memberships. | `SLACK_RETRIEVE_DETAILED_USER_INFORMATION` | | Action | What it does | Slug | | - | - | - | | List available workspaces | | `SLACK_LIST_AVAILABLE_WORKSPACES` | | Action | What it does | Slug | | - | - | - | | API test | Check API calling code by testing connectivity and authentication to the Slack API. | `SLACK_API_TEST` | | Assistant search context | Search Slack messages, files, channels, and users via Real-time Search API. | `SLACK_ASSISTANT_SEARCH_CONTEXT` | | Assistant search info | Check if semantic (AI-powered) search is available on the Slack workspace. | `SLACK_ASSISTANT_SEARCH_INFO` | | Get canvas | DEPRECATED: Use SLACK\_RETRIEVE\_DETAILED\_INFORMATION\_ABOUT\_A\_FILE instead. | `SLACK_GET_CANVAS` | | List canvases | DEPRECATED: Use SLACK\_LIST\_FILES\_WITH\_FILTERS\_IN\_SLACK instead (pass types="canvas" for equivalent behavior). | `SLACK_LIST_CANVASES` | | List custom emojis | Retrieves all custom emojis for the Slack workspace (image URLs or aliases), not standard Unicode emojis. | `SLACK_LIST_CUSTOM_EMOJIS` | | Search all | Search all messages and files. | `SLACK_SEARCH_ALL` | | Test auth | Checks authentication and tells you who you are. | `SLACK_TEST_AUTH` | Teammates can use 92 of the 168 Slack actions at this level: everything in **Read-only**, plus: * Update, delete, send, and manage messages * Create, update, delete, and share files * Delete comments * Manage direct messages The 19 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Comments** | Delete file comment | Deletes a specific comment from a file in Slack. | `SLACK_DELETE_FILE_COMMENT` | | **Direct messages** | Open dm | Opens or resumes a Slack direct message (DM) or multi-person direct message (MPIM) by providing either user IDs or an existing channel ID. | `SLACK_OPEN_DM` | | **Files** | Add remote file | Adds a reference to an external file (e.g., Google Drive, Dropbox) to Slack for discovery and sharing, requiring a unique external\_id and an external\_url accessible by Slack. | `SLACK_ADD_REMOTE_FILE` | | | Delete file | Permanently deletes an existing file from a Slack workspace using its unique file ID. | `SLACK_DELETE_FILE` | | | Remove remote file | Removes the Slack reference to an external file (which must have been previously added via the remote files API), specified by either its external\_id or file ID (one of which is required), without deleting the actual external file. | `SLACK_REMOVE_REMOTE_FILE` | | | Share remote file | Shares a remote file, which must already be registered with Slack, into specified Slack channels or direct message conversations. | `SLACK_SHARE_REMOTE_FILE` | | | Update remote file | Updates metadata or content details for an existing remote file in Slack. | `SLACK_UPDATE_REMOTE_FILE` | | | Upload or create a file in Slack | Upload files, images, screenshots, documents, or any media to Slack channels or threads. | `SLACK_UPLOAD_OR_CREATE_A_FILE_IN_SLACK` | | **Messages** | Chat post message | (DEPRECATED: use SLACK\_SEND\_MESSAGE) Posts a message to a Slack channel, DM, or private group. | `SLACK_CHAT_POST_MESSAGE` | | | Delete scheduled message | Deletes a pending, unsent scheduled message from the specified Slack channel, identified by its scheduled\_message\_id. | `SLACK_DELETE_SCHEDULED_MESSAGE` | | | Deletes a message from a chat | Deletes a message, identified by its channel ID and timestamp, from a Slack channel, private group, or direct message conversation. | `SLACK_DELETES_A_MESSAGE_FROM_A_CHAT` | | | Schedule message | Schedules a message to a Slack channel, DM, or private group for a future time (post\_at), requiring text, blocks, or attachments for content. | `SLACK_SCHEDULE_MESSAGE` | | | Send ephemeral message | Sends an ephemeral message visible only to the specified user in a channel. | `SLACK_SEND_EPHEMERAL_MESSAGE` | | | Send me message | Sends a 'me message' (e.g., '/me is typing') to a Slack channel, where it's displayed as a third-person user action. | `SLACK_SEND_ME_MESSAGE` | | | Send message | Posts a message to a Slack channel, DM, or private group. | `SLACK_SEND_MESSAGE` | | | Updates a Slack message | Updates a Slack message by timestamp. | `SLACK_UPDATES_A_SLACK_MESSAGE` | | **Reactions** | Add reaction to an item | Adds a specified emoji reaction to an existing message in a Slack channel, identified by its timestamp. | `SLACK_ADD_REACTION_TO_AN_ITEM` | | | Remove reaction from item | Removes an emoji reaction from a message, file, or file comment in Slack. | `SLACK_REMOVE_REACTION_FROM_ITEM` | | **Other actions** | Customize URL unfurl | Customizes URL previews (unfurling) in a specific Slack message using a URL-encoded JSON in unfurls to define custom content or remove existing previews. | `SLACK_CUSTOMIZE_URL_UNFURL` | Teammates can use 168 of the 168 Slack actions at this level: everything in **Read + send**, plus: * Create, update, archive, and manage conversations * Create, update, and delete items * Create, update, archive, and delete channels * Create and update groups * Create and update users * Update, start, and stop calls * Create, update, and delete emoji * Create and update lists * Create and delete participants * Update and delete photos * Update presence status * Create and delete reminders The 76 actions that this level adds to **Read + send**: | Action | What it does | Slug | | - | - | - | | End call | Ends an ongoing Slack call, identified by its ID (obtained from calls.add), optionally specifying the call's duration. | `SLACK_END_CALL` | | Start call | Registers a new call in Slack using calls.add for third-party call integration. | `SLACK_START_CALL` | | Update call info | Updates the title, join URL, or desktop app join URL for an existing Slack call identified by its ID. | `SLACK_UPDATE_CALL_INFO` | | Action | What it does | Slug | | - | - | - | | Convert channel to private | Convert a public Slack channel to private using the Admin API. | `SLACK_CONVERT_CHANNEL_TO_PRIVATE` | | Create channel | Initiates a public or private channel-based conversation in a Slack workspace. | `SLACK_CREATE_CHANNEL` | | Delete channel | Permanently and irreversibly deletes a specified public or private channel, including all its messages and files, within a Slack Enterprise Grid organization. | `SLACK_DELETE_CHANNEL` | | Set default channels | Set the default channels of a workspace. | `SLACK_SET_DEFAULT_CHANNELS` | | Unarchive channel | Reverses conversation archival. | `SLACK_UNARCHIVE_CHANNEL` | | Action | What it does | Slug | | - | - | - | | Archive conversation | Archives a Slack conversation by its ID, rendering it read-only and hidden while retaining history, ideal for cleaning up inactive channels. | `SLACK_ARCHIVE_CONVERSATION` | | Create channel based conversation | Creates a new public or private Slack channel with a unique name. | `SLACK_CREATE_CHANNEL_BASED_CONVERSATION` | | Join an existing conversation | Joins an existing Slack conversation (public channel, private channel, or multi-person direct message) by its ID, if the authenticated user has permission. | `SLACK_JOIN_AN_EXISTING_CONVERSATION` | | Leave a conversation | (DEPRECATED: use SLACK\_LEAVE\_CONVERSATION) Leaves a Slack conversation given its channel ID. | `SLACK_LEAVE_A_CONVERSATION` | | Leave conversation | Leaves a Slack conversation given its channel ID. | `SLACK_LEAVE_CONVERSATION` | | Rename conversation | Renames a Slack channel, automatically adjusting the new name to meet naming conventions (e.g., converting to lowercase), which may affect integrations using the old name. | `SLACK_RENAME_CONVERSATION` | | Set conversation purpose | Sets the purpose (a short description of its topic/goal, displayed in the header) for a Slack conversation. | `SLACK_SET_CONVERSATION_PURPOSE` | | Set read cursor in a conversation | Marks a message, specified by its timestamp (ts), as the most recently read for the authenticated user in the given channel, provided the user is a member of the channel and the message exists within it. | `SLACK_SET_READ_CURSOR_IN_A_CONVERSATION` | | Set the topic of a conversation | Sets or updates the topic for a specified Slack conversation. | `SLACK_SET_THE_TOPIC_OF_A_CONVERSATION` | | Action | What it does | Slug | | - | - | - | | Close dm | Closes a Slack direct message (DM) or multi-person direct message (MPDM) channel, removing it from the user's sidebar without deleting history. | `SLACK_CLOSE_DM` | | Action | What it does | Slug | | - | - | - | | Add emoji | Adds a custom emoji to a Slack workspace given a unique name and an image URL. | `SLACK_ADD_EMOJI` | | Add emoji alias | Adds an alias for an existing custom emoji in a Slack Enterprise Grid organization. | `SLACK_ADD_EMOJI_ALIAS` | | Remove emoji | Remove a custom emoji across an Enterprise Grid organization. | `SLACK_REMOVE_EMOJI` | | Rename emoji | Renames an existing custom emoji in a Slack workspace, updating all its instances. | `SLACK_RENAME_EMOJI` | | Action | What it does | Slug | | - | - | - | | Enable public sharing of a file | Enables public sharing for an existing Slack file by generating a publicly accessible URL. | `SLACK_ENABLE_PUBLIC_SHARING_OF_A_FILE` | | Revoke file public sharing | Revokes a Slack file's public URL, making it private. | `SLACK_REVOKE_FILE_PUBLIC_SHARING` | | Action | What it does | Slug | | - | - | - | | Create user group | Creates a new User Group (often referred to as a subteam) in a Slack workspace. | `SLACK_CREATE_USER_GROUP` | | Disable user group | Disables a specified, currently enabled Slack User Group by its unique ID, effectively archiving it by setting its 'date\_delete' timestamp. | `SLACK_DISABLE_USER_GROUP` | | Enable user group | Enables a disabled User Group in Slack using its ID, reactivating it for mentions and permissions. | `SLACK_ENABLE_USER_GROUP` | | Update user group | Updates an existing Slack User Group, which must be specified by an existing usergroup ID, with new optional details such as its name, description, handle, or default channels. | `SLACK_UPDATE_USER_GROUP` | | Action | What it does | Slug | | - | - | - | | Restrict app installation | Restrict an app for installation on a workspace. | `SLACK_RESTRICT_APP_INSTALLATION` | | Action | What it does | Slug | | - | - | - | | Create Slack list item | | `SLACK_CREATE_SLACK_LIST_ITEM` | | Delete multiple Slack list items | | `SLACK_DELETE_MULTIPLE_SLACK_LIST_ITEMS` | | Delete Slack list item | | `SLACK_DELETE_SLACK_LIST_ITEM` | | Pin item | Pins a message to a specified Slack channel. | `SLACK_PIN_ITEM` | | Unpin item | Unpins a message, identified by its timestamp, from a specified channel if the message is currently pinned there. | `SLACK_UNPIN_ITEM` | | Update Slack list item | | `SLACK_UPDATE_SLACK_LIST_ITEM` | | Action | What it does | Slug | | - | - | - | | Create Slack list | | `SLACK_CREATE_SLACK_LIST` | | Delete Slack list access | | `SLACK_DELETE_SLACK_LIST_ACCESS` | | Set Slack list access | | `SLACK_SET_SLACK_LIST_ACCESS` | | Update Slack list | | `SLACK_UPDATE_SLACK_LIST` | | Action | What it does | Slug | | - | - | - | | Update user group members | Replaces all members of an existing Slack User Group with a new list of valid user IDs. | `SLACK_UPDATE_USER_GROUP_MEMBERS` | | Action | What it does | Slug | | - | - | - | | Set workspace owner | Set an existing guest, regular user, or admin user to be a workspace owner. | `SLACK_SET_WORKSPACE_OWNER` | | Action | What it does | Slug | | - | - | - | | Add call participants | Registers new participants added to a Slack call. | `SLACK_ADD_CALL_PARTICIPANTS` | | Remove call participants | Registers participants removed from a Slack call. | `SLACK_REMOVE_CALL_PARTICIPANTS` | | Action | What it does | Slug | | - | - | - | | Delete user profile photo | Deletes the Slack profile photo for the user identified by the token, reverting them to the default avatar. | `SLACK_DELETE_USER_PROFILE_PHOTO` | | Set profile photo | This method allows the user to set their profile image. | `SLACK_SET_PROFILE_PHOTO` | | Action | What it does | Slug | | - | - | - | | Manually set user presence | (DEPRECATED: use SLACK\_SET\_USER\_PRESENCE) Manually sets a user's Slack presence, overriding automatic detection. | `SLACK_MANUALLY_SET_USER_PRESENCE` | | Set user presence | Manually sets a user's Slack presence, overriding automatic detection. | `SLACK_SET_USER_PRESENCE` | | Action | What it does | Slug | | - | - | - | | Set user profile | Updates a Slack user's profile, setting either individual fields or multiple fields via a JSON object. | `SLACK_SET_USER_PROFILE` | | Action | What it does | Slug | | - | - | - | | Create a reminder | Creates a Slack reminder with specified text and time. | `SLACK_CREATE_A_REMINDER` | | Delete reminder | Deletes an existing Slack reminder, typically when it is no longer relevant or a task is completed. | `SLACK_DELETE_REMINDER` | | Action | What it does | Slug | | - | - | - | | Reset user sessions | Wipe all valid sessions on all devices for a given user. | `SLACK_RESET_USER_SESSIONS` | | Action | What it does | Slug | | - | - | - | | Set conversation prefs | Sets the posting permissions for a public or private channel in Slack. | `SLACK_SET_CONVERSATION_PREFS` | | Action | What it does | Slug | | - | - | - | | Add star | Stars a channel, file, file comment, or a specific message in Slack. | `SLACK_ADD_STAR` | | Remove star | Removes a star from a previously starred Slack item (message, file, file comment, channel, group, or DM), requiring identification via file, file\_comment, channel (for channel/group/DM), or both channel and timestamp (for a message). | `SLACK_REMOVE_STAR` | | Action | What it does | Slug | | - | - | - | | Create enterprise team | Create an Enterprise team in Slack. | `SLACK_CREATE_ENTERPRISE_TEAM` | | Action | What it does | Slug | | - | - | - | | Add enterprise user to workspace | Adds an Enterprise user to a workspace. | `SLACK_ADD_ENTERPRISE_USER_TO_WORKSPACE` | | Invite user to channel | Invites users to a specified Slack channel. | `SLACK_INVITE_USER_TO_CHANNEL` | | Invite user to workspace | Invites a user to a Slack workspace and specified channels by email. | `SLACK_INVITE_USER_TO_WORKSPACE` | | Invite users to a Slack channel | Invites users to an existing Slack channel using their valid Slack User IDs. | `SLACK_INVITE_USERS_TO_A_SLACK_CHANNEL` | | Remove user from conversation | Removes a specified user from a Slack conversation (channel). | `SLACK_REMOVE_USER_FROM_CONVERSATION` | | Remove user from workspace | Remove a user from a Slack workspace. | `SLACK_REMOVE_USER_FROM_WORKSPACE` | | Set admin user | Promotes an existing workspace member (guest, regular user, or owner) to admin status. | `SLACK_SET_ADMIN_USER` | | Set user active | Mark a user as active in Slack. | `SLACK_SET_USER_ACTIVE` | | Action | What it does | Slug | | - | - | - | | Set workspace description | Set the description of a given workspace. | `SLACK_SET_WORKSPACE_DESCRIPTION` | | Set workspace icon | Sets the icon of a workspace. | `SLACK_SET_WORKSPACE_ICON` | | Set workspace name | Set the name of a given Slack workspace. | `SLACK_SET_WORKSPACE_NAME` | | Set workspaces for channel | Set the workspaces in an Enterprise grid org that connect to a channel. | `SLACK_SET_WORKSPACES_FOR_CHANNEL` | | Action | What it does | Slug | | - | - | - | | Create canvas | Creates a new Slack Canvas with the specified title and optional content. | `SLACK_CREATE_CANVAS` | | Delete canvas | Deletes a Slack Canvas permanently and irreversibly. | `SLACK_DELETE_CANVAS` | | Edit canvas | Edits a Slack Canvas with granular control over content placement. | `SLACK_EDIT_CANVAS` | | End dnd | Ends the authenticated user's current Do Not Disturb (DND) session in Slack, affecting only DND status and making them available. | `SLACK_END_DND` | | End snooze | Ends the current user's snooze mode immediately. | `SLACK_END_SNOOZE` | | Rtm connect | Starts a Real Time Messaging session and returns a WebSocket URL. | `SLACK_RTM_CONNECT` | | Rtm start | Starts a Real Time Messaging API session for Slack. | `SLACK_RTM_START` | | Set dnd duration | Turns on Do Not Disturb mode for the current user, or changes its duration. | `SLACK_SET_DND_DURATION` | | Set status | (DEPRECATED: use SLACK\_SET\_USER\_PROFILE) Updates a Slack user's profile, setting either individual fields or multiple fields via a JSON object. | `SLACK_SET_STATUS` | ## Connect Slack Before you start: * You need a Slack account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Slack** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Slack**. The Slack sign-in page opens in a new tab. Sign in to Slack and approve the request. Check that it works: Slack shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Slack account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Slack account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Slack account Click **+ Account** on the Slack card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Slack side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Slack**. 3. Sign in to Slack and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Slack account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Slack.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Slack account becomes primary. ## Costs Slack actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Slack, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Slack connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Slack account has an access level: **Read-only**, **Read + send**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Slack card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Slack account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Slack.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Square Source: https://squad.so/docs/apps/square What teammates can do in Square at each access level, and how to connect, limit, and disconnect Square. Connect Square so your teammates can work in your Square account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Square account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as payments, orders, customers, invoices, and the catalog. Cannot change anything." | 58 of 122 | | **Read + write** (recommended) | "Take payments and refunds, and work with orders, invoices, disputes, bookings, and customers. Cannot change locations, the item catalog, or inventory." | 86 of 122 | | **Full access** | "Everything, including locations, the item catalog, inventory, team members, and deleting customers." | 122 of 122 | **Read + write** is the recommended level. The connect window selects it for you, and you can choose another level. The Square sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Square account?" The teammate can search the Square actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Square action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 58 of the 122 Square actions at this level: * View attributes * View and search customers * View merchant details * View channels * View and search orders * View subscriptions * View groups * View invoices * View locations * View segments * View account details * Search availability All 58 actions at this level: | Action | What it does | Slug | | - | - | - | | Get loyalty account | | `SQUARE_GET_LOYALTY_ACCOUNT` | | Action | What it does | Slug | | - | - | - | | Get customer custom attribute | Retrieves a custom attribute from a customer profile in Square. | `SQUARE_GET_CUSTOMER_CUSTOM_ATTRIBUTE` | | Get customers custom attribute definitions | Retrieve a customer-related custom attribute definition from Square. | `SQUARE_GET_CUSTOMERS_CUSTOM_ATTRIBUTE_DEFINITIONS` | | List customer custom attribute definitions | List customer-related custom attribute definitions from Square. | `SQUARE_LIST_CUSTOMER_CUSTOM_ATTRIBUTE_DEFINITIONS` | | List customer custom attribute definitions graph ql | Retrieve customer custom attribute definitions via Square's GraphQL API. | `SQUARE_LIST_CUSTOMER_CUSTOM_ATTRIBUTE_DEFINITIONS_GRAPH_QL` | | List customer custom attributes | List custom attributes for a customer profile. | `SQUARE_LIST_CUSTOMER_CUSTOM_ATTRIBUTES` | | List location custom attribute definitions | List location-related custom attribute definitions from Square. | `SQUARE_LIST_LOCATION_CUSTOM_ATTRIBUTE_DEFINITIONS` | | List locations custom attributes | List custom attributes for a specific location in Square. | `SQUARE_LIST_LOCATIONS_CUSTOM_ATTRIBUTES` | | List merchant custom attribute definitions | List merchant-related custom attribute definitions from Square. | `SQUARE_LIST_MERCHANT_CUSTOM_ATTRIBUTE_DEFINITIONS` | | List merchants custom attributes | List custom attributes for a specific merchant in Square. | `SQUARE_LIST_MERCHANTS_CUSTOM_ATTRIBUTES` | | Retrieve location custom attribute | Retrieves a custom attribute associated with a location in Square. | `SQUARE_RETRIEVE_LOCATION_CUSTOM_ATTRIBUTE` | | Retrieve location custom attribute definition | Retrieve a location-related custom attribute definition. | `SQUARE_RETRIEVE_LOCATION_CUSTOM_ATTRIBUTE_DEFINITION` | | Retrieve merchant custom attribute | Retrieves a custom attribute associated with a merchant in Square. | `SQUARE_RETRIEVE_MERCHANT_CUSTOM_ATTRIBUTE` | | Retrieve merchant custom attribute definition | Retrieve a merchant-related custom attribute definition from Square. | `SQUARE_RETRIEVE_MERCHANT_CUSTOM_ATTRIBUTE_DEFINITION` | | Action | What it does | Slug | | - | - | - | | Search booking availability | | `SQUARE_SEARCH_BOOKING_AVAILABILITY` | | Action | What it does | Slug | | - | - | - | | Get booking | | `SQUARE_GET_BOOKING` | | Action | What it does | Slug | | - | - | - | | List cards | | `SQUARE_LIST_CARDS` | | Action | What it does | Slug | | - | - | - | | Retrieve inventory changes | | `SQUARE_RETRIEVE_INVENTORY_CHANGES` | | Action | What it does | Slug | | - | - | - | | List channels | List requested channels from Square. | `SQUARE_LIST_CHANNELS` | | Retrieve channel | Retrieve a Square channel by its ID. | `SQUARE_RETRIEVE_CHANNEL` | | Retrieve channels bulk | Bulk retrieve multiple Square channels by their IDs in a single request. | `SQUARE_RETRIEVE_CHANNELS_BULK` | | Action | What it does | Slug | | - | - | - | | Get customers GraphQL | Retrieve customer profiles from Square Customer Directory using GraphQL API. | `SQUARE_GET_CUSTOMERS_GRAPHQL` | | List customers | Retrieve customer profiles associated with a Square account. | `SQUARE_LIST_CUSTOMERS` | | Retrieve bulk customers | Retrieve multiple customer profiles in a single request. | `SQUARE_RETRIEVE_BULK_CUSTOMERS` | | Retrieve customer | Retrieve detailed information about a specific Square customer by ID. | `SQUARE_RETRIEVE_CUSTOMER` | | Search customers | Search customer profiles in Square Customer Directory. | `SQUARE_SEARCH_CUSTOMERS` | | Action | What it does | Slug | | - | - | - | | Get dispute evidence | Retrieves detailed information about a specific piece of evidence that was uploaded for a dispute. | `SQUARE_GET_DISPUTE_EVIDENCE` | | List dispute evidence | List evidence items associated with a given dispute. | `SQUARE_LIST_DISPUTE_EVIDENCE` | | Retrieve dispute | Retrieve a Square dispute by ID. | `SQUARE_RETRIEVE_DISPUTE` | | Action | What it does | Slug | | - | - | - | | Get gift card from gan | | `SQUARE_GET_GIFT_CARD_FROM_GAN` | | Action | What it does | Slug | | - | - | - | | List customer groups | Retrieve the list of customer groups of a business. | `SQUARE_LIST_CUSTOMER_GROUPS` | | Retrieve customer group | Retrieve a specific Square customer group by ID. | `SQUARE_RETRIEVE_CUSTOMER_GROUP` | | Action | What it does | Slug | | - | - | - | | Retrieve inventory counts batch | | `SQUARE_RETRIEVE_INVENTORY_COUNTS_BATCH` | | Action | What it does | Slug | | - | - | - | | Get invoice | Retrieves detailed information about a specific Square invoice by its ID. | `SQUARE_GET_INVOICE` | | List invoices | List invoices for a Square location. | `SQUARE_LIST_INVOICES` | | Action | What it does | Slug | | - | - | - | | List locations | Retrieve all business locations from a Square account. | `SQUARE_LIST_LOCATIONS` | | Retrieve location | Retrieve detailed information about a specific Square location by ID. | `SQUARE_RETRIEVE_LOCATION` | | Action | What it does | Slug | | - | - | - | | Get team member | | `SQUARE_GET_TEAM_MEMBER` | | Action | What it does | Slug | | - | - | - | | Get current merchant | Retrieve merchant information associated with the access token using Square's GraphQL API. | `SQUARE_GET_CURRENT_MERCHANT` | | Get merchant | Retrieve detailed information about a specific Square merchant by ID. | `SQUARE_GET_MERCHANT` | | List merchants | Retrieve merchant account information associated with the access token. | `SQUARE_LIST_MERCHANTS` | | Retrieve merchants | Retrieve merchant information including status, main location details, and capabilities using Square's GraphQL API. | `SQUARE_RETRIEVE_MERCHANTS` | | Action | What it does | Slug | | - | - | - | | Search catalog objects | | `SQUARE_SEARCH_CATALOG_OBJECTS` | | Action | What it does | Slug | | - | - | - | | Calculate order | Preview order pricing without creating an order. | `SQUARE_CALCULATE_ORDER` | | Retrieve order | Retrieves detailed information about a specific Square order by its ID. | `SQUARE_RETRIEVE_ORDER` | | Search orders | Search orders across one or more Square locations with filters. | `SQUARE_SEARCH_ORDERS` | | Action | What it does | Slug | | - | - | - | | Retrieve payment link | Retrieves a Square-hosted payment link by ID. | `SQUARE_RETRIEVE_PAYMENT_LINK` | | Action | What it does | Slug | | - | - | - | | List payments | List payments by location and time range to enable reconciliation and net sales reporting from Square POS. | `SQUARE_LIST_PAYMENTS` | | Action | What it does | Slug | | - | - | - | | Get business booking profile | Retrieve the business booking profile for a Square merchant via GraphQL. | `SQUARE_GET_BUSINESS_BOOKING_PROFILE` | | Action | What it does | Slug | | - | - | - | | Get refund | | `SQUARE_GET_REFUND` | | Action | What it does | Slug | | - | - | - | | List customer segments | Retrieve the list of customer segments of a business. | `SQUARE_LIST_CUSTOMER_SEGMENTS` | | Retrieve customer segment | Retrieve a specific customer segment by its ID. | `SQUARE_RETRIEVE_CUSTOMER_SEGMENT` | | Action | What it does | Slug | | - | - | - | | Get online checkout location settings | Retrieve location-level settings for Square online checkout. | `SQUARE_GET_ONLINE_CHECKOUT_LOCATION_SETTINGS` | | Action | What it does | Slug | | - | - | - | | Get subscription | | `SQUARE_GET_SUBSCRIPTION` | | List subscriptions | | `SQUARE_LIST_SUBSCRIPTIONS` | | List webhook subscriptions | List all webhook subscriptions owned by your application. | `SQUARE_LIST_WEBHOOK_SUBSCRIPTIONS` | | Action | What it does | Slug | | - | - | - | | Retrieve token status | Retrieve information about an OAuth access token or personal access token. | `SQUARE_RETRIEVE_TOKEN_STATUS` | | Action | What it does | Slug | | - | - | - | | List webhook event types | List available webhook event types. | `SQUARE_LIST_WEBHOOK_EVENT_TYPES` | Teammates can use 86 of the 122 Square actions at this level: everything in **Read-only**, plus: * Create and update customers * Create and delete attributes * Create and update orders * Create and delete attachments * Update and cancel bookings * Delete and cancel invoices * Create activities * Create cards * Update disputes * Create files * Cancel payments * Create refunds The 28 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Activities** | Create gift card activity | | `SQUARE_CREATE_GIFT_CARD_ACTIVITY` | | **Attachments** | Create invoice attachment | Upload and attach a file to a Square invoice. | `SQUARE_CREATE_INVOICE_ATTACHMENT` | | | Delete invoice attachment | Delete an attachment from a Square invoice. | `SQUARE_DELETE_INVOICE_ATTACHMENT` | | **Attributes** | Delete customer custom attribute | Delete a custom attribute from a customer profile. | `SQUARE_DELETE_CUSTOMER_CUSTOM_ATTRIBUTE` | | | Upsert customer custom attribute | Create or update a custom attribute for a customer profile. | `SQUARE_UPSERT_CUSTOMER_CUSTOM_ATTRIBUTE` | | | Upsert customer custom attributes batch | Create or update custom attributes for multiple customers in a single batch request. | `SQUARE_UPSERT_CUSTOMER_CUSTOM_ATTRIBUTES_BATCH` | | **Bookings** | Cancel booking | | `SQUARE_CANCEL_BOOKING` | | | Update booking | | `SQUARE_UPDATE_BOOKING` | | **Cards** | Create card | Create a card on file. | `SQUARE_CREATE_CARD` | | **Customers** | Create bulk customers | Create multiple customer profiles in a single request. | `SQUARE_CREATE_BULK_CUSTOMERS` | | | Create customer | Create a new customer profile in Square. | `SQUARE_CREATE_CUSTOMER` | | | Link customer to gift card | | `SQUARE_LINK_CUSTOMER_TO_GIFT_CARD` | | | Update customer | Update an existing Square customer profile. | `SQUARE_UPDATE_CUSTOMER` | | | Update customers bulk | Update multiple customer profiles in a single batch operation. | `SQUARE_UPDATE_CUSTOMERS_BULK` | | **Disputes** | Accept dispute | Accept a dispute and acknowledge liability, returning funds to the cardholder. | `SQUARE_ACCEPT_DISPUTE` | | | Create dispute evidence text | Upload text evidence for a dispute challenge. | `SQUARE_CREATE_DISPUTE_EVIDENCE_TEXT` | | | Delete dispute evidence | Removes a specific piece of evidence from a dispute. | `SQUARE_DELETE_DISPUTE_EVIDENCE` | | | Submit dispute evidence | Submits evidence for a dispute to the cardholder's bank. | `SQUARE_SUBMIT_DISPUTE_EVIDENCE` | | **Files** | Create dispute evidence file | Upload a file as dispute evidence. | `SQUARE_CREATE_DISPUTE_EVIDENCE_FILE` | | **Groups** | Add group to customer | Add a customer to a customer group. | `SQUARE_ADD_GROUP_TO_CUSTOMER` | | | Remove group from customer | Removes a customer from a customer group. | `SQUARE_REMOVE_GROUP_FROM_CUSTOMER` | | **Invoices** | Cancel invoice | Cancels a Square invoice, preventing further payments from being collected. | `SQUARE_CANCEL_INVOICE` | | | Delete invoice | Delete a Square invoice (only DRAFT invoices can be deleted). | `SQUARE_DELETE_INVOICE` | | **Orders** | Create order | | `SQUARE_CREATE_ORDER` | | | Pay order | | `SQUARE_PAY_ORDER` | | | Update order | Updates an existing Square order by adding, modifying, or removing fields. | `SQUARE_UPDATE_ORDER` | | **Payments** | Cancel payment | Cancels (voids) a payment that is in APPROVED status. | `SQUARE_CANCEL_PAYMENT` | | **Refunds** | Create refund | | `SQUARE_CREATE_REFUND` | Teammates can use 122 of the 122 Square actions at this level: everything in **Read + write**, plus: * Create and delete objects * Create, update, and delete groups * Update, delete, and test subscriptions * Delete customers * Create and update locations * Create and update members * Create change history * Update keys * Update settings The 36 actions that this level adds to **Read + write**: | Action | What it does | Slug | | - | - | - | | Create customer custom attribute definition | Create a customer-related custom attribute definition. | `SQUARE_CREATE_CUSTOMER_CUSTOM_ATTRIBUTE_DEFINITION` | | Create location custom attribute definition | Create a location-related custom attribute definition. | `SQUARE_CREATE_LOCATION_CUSTOM_ATTRIBUTE_DEFINITION` | | Delete customer custom attribute definition | Delete a customer-related custom attribute definition. | `SQUARE_DELETE_CUSTOMER_CUSTOM_ATTRIBUTE_DEFINITION` | | Delete location custom attribute | Delete a custom attribute from a location. | `SQUARE_DELETE_LOCATION_CUSTOM_ATTRIBUTE` | | Delete location custom attribute definition | Delete a location-related custom attribute definition. | `SQUARE_DELETE_LOCATION_CUSTOM_ATTRIBUTE_DEFINITION` | | Delete locations custom attributes batch | Delete custom attributes from multiple locations in a single batch request. | `SQUARE_DELETE_LOCATIONS_CUSTOM_ATTRIBUTES_BATCH` | | Delete merchant custom attribute | Delete a custom attribute from a merchant profile. | `SQUARE_DELETE_MERCHANT_CUSTOM_ATTRIBUTE` | | Delete merchant custom attribute definition | Delete a merchant-related custom attribute definition. | `SQUARE_DELETE_MERCHANT_CUSTOM_ATTRIBUTE_DEFINITION` | | Delete merchants custom attributes batch | Delete custom attributes from multiple merchants in a single batch request. | `SQUARE_DELETE_MERCHANTS_CUSTOM_ATTRIBUTES_BATCH` | | Update customer custom attribute definition | Update a customer-related custom attribute definition in Square. | `SQUARE_UPDATE_CUSTOMER_CUSTOM_ATTRIBUTE_DEFINITION` | | Update location custom attribute definition | Update a location-related custom attribute definition in Square. | `SQUARE_UPDATE_LOCATION_CUSTOM_ATTRIBUTE_DEFINITION` | | Update merchant custom attribute definition | Update a merchant-related custom attribute definition in Square. | `SQUARE_UPDATE_MERCHANT_CUSTOM_ATTRIBUTE_DEFINITION` | | Upsert location custom attribute | Create or update a custom attribute for a location. | `SQUARE_UPSERT_LOCATION_CUSTOM_ATTRIBUTE` | | Upsert locations custom attributes batch | Create or update custom attributes for multiple locations in a single batch request. | `SQUARE_UPSERT_LOCATIONS_CUSTOM_ATTRIBUTES_BATCH` | | Upsert merchant custom attribute | Create or update a custom attribute for a merchant profile. | `SQUARE_UPSERT_MERCHANT_CUSTOM_ATTRIBUTE` | | Upsert merchants custom attributes batch | Create or update custom attributes for multiple merchants in a single batch request. | `SQUARE_UPSERT_MERCHANTS_CUSTOM_ATTRIBUTES_BATCH` | | Action | What it does | Slug | | - | - | - | | Create batch inventory changes | | `SQUARE_CREATE_BATCH_INVENTORY_CHANGES` | | Action | What it does | Slug | | - | - | - | | Delete customer | Delete a Square customer profile. | `SQUARE_DELETE_CUSTOMER` | | Delete customers bulk | Bulk delete customer profiles from Square. | `SQUARE_DELETE_CUSTOMERS_BULK` | | Action | What it does | Slug | | - | - | - | | Create customer group | Create a new customer group for a business. | `SQUARE_CREATE_CUSTOMER_GROUP` | | Delete customer group | Delete a customer group by its ID. | `SQUARE_DELETE_CUSTOMER_GROUP` | | Update customer group | Update a customer group's information by its ID. | `SQUARE_UPDATE_CUSTOMER_GROUP` | | Action | What it does | Slug | | - | - | - | | Update webhook subscription signature key | Rotate the signature key for a webhook subscription. | `SQUARE_UPDATE_WEBHOOK_SUBSCRIPTION_SIGNATURE_KEY` | | Action | What it does | Slug | | - | - | - | | Create location | Create a new business location in a Square account. | `SQUARE_CREATE_LOCATION` | | Update location | Update an existing business location in a Square account. | `SQUARE_UPDATE_LOCATION` | | Action | What it does | Slug | | - | - | - | | Create team member | | `SQUARE_CREATE_TEAM_MEMBER` | | Update team member | | `SQUARE_UPDATE_TEAM_MEMBER` | | Action | What it does | Slug | | - | - | - | | Delete catalog object | | `SQUARE_DELETE_CATALOG_OBJECT` | | Delete catalog objects batch | | `SQUARE_DELETE_CATALOG_OBJECTS_BATCH` | | Upsert catalog object | | `SQUARE_UPSERT_CATALOG_OBJECT` | | Upsert catalog objects batch | | `SQUARE_UPSERT_CATALOG_OBJECTS_BATCH` | | Action | What it does | Slug | | - | - | - | | Update online checkout location settings | Update location-level settings for Square online checkout. | `SQUARE_UPDATE_ONLINE_CHECKOUT_LOCATION_SETTINGS` | | Action | What it does | Slug | | - | - | - | | Delete webhook subscription | Permanently deletes a webhook subscription by its ID. | `SQUARE_DELETE_WEBHOOK_SUBSCRIPTION` | | Retrieve webhook subscription | Retrieve a Square webhook subscription by its ID. | `SQUARE_RETRIEVE_WEBHOOK_SUBSCRIPTION` | | Test webhook subscription | Tests a webhook subscription by sending a test event to the configured notification URL. | `SQUARE_TEST_WEBHOOK_SUBSCRIPTION` | | Update webhook subscription | Update a Square webhook subscription. | `SQUARE_UPDATE_WEBHOOK_SUBSCRIPTION` | ## Connect Square Before you start: * You need a Square account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Square** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Square**. The Square sign-in page opens in a new tab. Sign in to Square and approve the request. Check that it works: Square shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Square account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Square account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Square account Click **+ Account** on the Square card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Square side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Square**. 3. Sign in to Square and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Square account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Square.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Square account becomes primary. ## Costs Square actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Square, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Square connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Square account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Square card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Square account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Square.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Stripe Source: https://squad.so/docs/apps/stripe What teammates can do in Stripe at each access level, and how to connect, limit, and disconnect Stripe. Connect Stripe so your teammates can work in your Stripe account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Stripe account has an access level: **Read-only** and **Read + write**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as customers, payments, invoices, subscriptions, and balances. Cannot change anything." | 204 of 433 | | **Read + write** (recommended) | "Work with customers, payments, refunds, disputes, invoices, subscriptions, products, and prices. Cannot change where payouts go, account settings, or secrets." | 384 of 433 | The other 49 Stripe actions run at no level, so no teammate can run them. **Read + write** is the recommended level. The connect window selects it for you, and you can choose another level. The Stripe sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Stripe account?" The teammate can search the Stripe actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Stripe action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 204 of the 433 Stripe actions at this level: * View line items * View transactions * View coupons and discounts * View and search invoices * View settings * View account details * View and search customers * View events * View payment methods * View and search products * View and search subscriptions * View domains All 204 actions at this level: | Action | What it does | Slug | | - | - | - | | Get account | Retrieves detailed information for the authenticated Stripe account. | `STRIPE_GET_ACCOUNT` | | Get account | Retrieves the details of a Stripe account. | `STRIPE_GET_ACCOUNTS_ACCOUNT` | | Get account capabilities | Retrieves a list of all capabilities for a connected Stripe account. | `STRIPE_GET_ACCOUNT_CAPABILITIES` | | Get account capability | Retrieves information about a specific capability for a Stripe account. | `STRIPE_GET_ACCOUNT_CAPABILITY` | | Get linked account | | `STRIPE_GET_LINKED_ACCOUNT` | | List financial connections accounts | List Financial Connections Account objects representing external financial accounts. | `STRIPE_LIST_FINANCIAL_CONNECTIONS_ACCOUNTS` | | Who am I | | `STRIPE_WHO_AM_I` | | Action | What it does | Slug | | - | - | - | | Get billing alert | Retrieves a billing alert by its unique identifier. | `STRIPE_GET_BILLING_ALERT` | | List billing alerts | Retrieve a paginated list of billing alerts. | `STRIPE_LIST_BILLING_ALERTS` | | Action | What it does | Slug | | - | - | - | | Find tax association | Find a tax association by PaymentIntent ID. | `STRIPE_FIND_TAX_ASSOCIATION` | | Action | What it does | Slug | | - | - | - | | Get billing credit balance summary | Retrieves the credit balance summary for a customer in Stripe Billing. | `STRIPE_GET_BILLING_CREDIT_BALANCE_SUMMARY` | | Get customer balance txn | Retrieves a specific customer balance transaction that updated the customer's balances. | `STRIPE_GET_CUSTOMERS_CUSTOMER_BALANCE_TXNS_TXN` | | Get customer cash balance | Retrieve a customer's cash balance. | `STRIPE_GET_CUSTOMERS_CUSTOMER_CASH_BALANCE` | | Retrieve balance | Retrieves the complete current balance details for the connected Stripe account. | `STRIPE_RETRIEVE_BALANCE` | | Action | What it does | Slug | | - | - | - | | Get customer bank accounts | Fetch all bank accounts linked to a customer. | `STRIPE_GET_CUSTOMERS_CUSTOMER_BANK_ACCOUNTS` | | Get customer bank accounts ID | Retrieves details about a specific bank account stored on a Stripe customer. | `STRIPE_GET_CUSTOMERS_CUSTOMER_BANK_ACCOUNTS_ID` | | Action | What it does | Slug | | - | - | - | | Get terminal reader | Retrieve a Terminal Reader object by ID. | `STRIPE_GET_TERMINAL_READER` | | List terminal readers | List all Stripe Terminal Readers with optional filtering. | `STRIPE_LIST_TERMINAL_READERS` | | Action | What it does | Slug | | - | - | - | | Get customer cards | List all cards for a customer. | `STRIPE_GET_CUSTOMERS_CUSTOMER_CARDS` | | Get customer cards ID | Retrieves details about a specific card for a customer. | `STRIPE_GET_CUSTOMERS_CUSTOMER_CARDS_ID` | | Action | What it does | Slug | | - | - | - | | List charges | Retrieves a list of Stripe charges with filtering and pagination. | `STRIPE_LIST_CHARGES` | | Retrieve charge | Retrieves full details for an existing Stripe charge using its unique ID. | `STRIPE_RETRIEVE_CHARGE` | | Search charges | Search charges using Stripe's Search Query Language. | `STRIPE_SEARCH_CHARGES` | | Action | What it does | Slug | | - | - | - | | List checkout sessions | Retrieve a list of Stripe Checkout Sessions with pagination support. | `STRIPE_LIST_CHECKOUT_SESSIONS` | | Retrieve checkout session | Retrieve a Checkout Session object from Stripe. | `STRIPE_RETRIEVE_CHECKOUT_SESSION` | | Action | What it does | Slug | | - | - | - | | Get tax code | Retrieves the details of an existing tax code. | `STRIPE_GET_TAX_CODE` | | Get tax code2 | Retrieve all tax codes available to add to Products for specific tax calculations. | `STRIPE_GET_V1_TAX_CODES_TAX_CODE2` | | List tax codes | Retrieves a paginated list of globally available, predefined Stripe tax codes used for classifying products and services in Stripe Tax. | `STRIPE_LIST_TAX_CODES` | | Action | What it does | Slug | | - | - | - | | Get coupon | Retrieves full details for an existing Stripe coupon using its unique ID. | `STRIPE_GET_COUPON` | | Get customer discount | Retrieve the discount currently active on a customer. | `STRIPE_GET_CUSTOMERS_CUSTOMER_DISCOUNT` | | Get customer sub exposed ID discount | Retrieve the discount currently applied to a customer's subscription. | `STRIPE_GET_CUSTOMERS_CUSTOMER_SUBS_SUB_EXPOSED_ID_DISCOUNT` | | Get promotion codes | Retrieves a list of promotion codes from a Stripe account with optional filters for active status, code value, coupon association, and customer restrictions. | `STRIPE_GET_PROMOTION_CODES` | | List coupons | Retrieves a list of discount coupons from a Stripe account, supporting pagination via limit, starting\_after, and ending\_before. | `STRIPE_LIST_COUPONS` | | List promotion codes | Retrieve a list of promotion codes from Stripe. | `STRIPE_LIST_PROMOTION_CODES` | | Retrieve promotion code | Retrieve a Stripe promotion code by its ID. | `STRIPE_RETRIEVE_PROMOTION_CODE` | | Action | What it does | Slug | | - | - | - | | Get credit note lines | Retrieves the paginated list of line items for a specific credit note. | `STRIPE_GET_CREDIT_NOTES_CREDIT_NOTE_LINES` | | Get credit notes ID | Retrieves a credit note by its unique identifier. | `STRIPE_GET_CREDIT_NOTES_ID` | | Get credit notes preview | Preview a credit note without creating it in Stripe. | `STRIPE_GET_CREDIT_NOTES_PREVIEW` | | Get credit notes preview lines | Retrieve a credit note preview's line items from Stripe. | `STRIPE_GET_CREDIT_NOTES_PREVIEW_LINES` | | List credit notes | Lists Stripe credit notes with optional filtering by customer, invoice, or customer account, and pagination support. | `STRIPE_LIST_CREDIT_NOTES` | | Action | What it does | Slug | | - | - | - | | Get billing credit grants | Retrieve a paginated list of billing credit grants. | `STRIPE_GET_BILLING_CREDIT_GRANTS` | | Get billing credit grants ID | Retrieves a billing credit grant by its unique identifier. | `STRIPE_GET_BILLING_CREDIT_GRANTS_ID` | | Action | What it does | Slug | | - | - | - | | Get customer sources | List sources for a specified customer. | `STRIPE_GET_CUSTOMERS_CUSTOMER_SOURCES` | | Get customer sources ID | Retrieve a specified payment source for a given customer. | `STRIPE_GET_CUSTOMERS_CUSTOMER_SOURCES_ID` | | Get customer sub exposed ID | Retrieve a specific subscription for a customer. | `STRIPE_GET_CUSTOMERS_CUSTOMER_SUBS_SUB_EXPOSED_ID` | | Get customers search customers | Search for Stripe customers using Stripe's Search Query Language. | `STRIPE_GET_V1_CUSTOMERS_SEARCH_CUSTOMERS` | | List customers | Retrieves a list of Stripe customers, with options to filter by email, creation date, or test clock, and support for pagination. | `STRIPE_LIST_CUSTOMERS` | | Post customers search customers | Search for Stripe customers using a search query. | `STRIPE_POST_V1_CUSTOMERS_SEARCH_CUSTOMERS` | | Retrieve customer | Retrieves detailed information for an existing Stripe customer using their unique customer ID. | `STRIPE_RETRIEVE_CUSTOMER` | | Search customers | Retrieves a list of Stripe customers matching a search query that adheres to Stripe's Search Query Language. | `STRIPE_SEARCH_CUSTOMERS` | | Action | What it does | Slug | | - | - | - | | Get charge dispute | Retrieve a dispute for a specified charge. | `STRIPE_GET_CHARGES_CHARGE_DISPUTE` | | Get disputes | Retrieves detailed information for an existing Stripe dispute by ID. | `STRIPE_GET_V1_DISPUTES_DISPUTES` | | List disputes | List all disputes from a Stripe account. | `STRIPE_LIST_DISPUTES` | | Action | What it does | Slug | | - | - | - | | Download quote PDF | Download the PDF for a finalized quote from Stripe. | `STRIPE_DOWNLOAD_QUOTE_PDF` | | Action | What it does | Slug | | - | - | - | | Get apple pay domain | Retrieves details about a previously registered Apple Pay domain. | `STRIPE_GET_APPLE_PAY_DOMAIN` | | Get payment method domain | Retrieves details of an existing payment method domain. | `STRIPE_GET_PAYMENT_METHOD_DOMAIN` | | Get payment method domains | Retrieve list of payment method domains registered with Stripe account. | `STRIPE_GET_V1_PAYMENT_METHOD_DOMAINS` | | List apple pay domains | Retrieves a list of Apple Pay domains registered with Stripe. | `STRIPE_LIST_APPLE_PAY_DOMAINS` | | Action | What it does | Slug | | - | - | - | | Get core events retrieve an event | Retrieves detailed information about a specific event from Stripe V2 Core Events API. | `STRIPE_GET_V2_CORE_EVENTS_RETRIEVE_AN_EVENT` | | Get events | Retrieves a list of Stripe events from the past 30 days with filtering and pagination. | `STRIPE_GET_EVENTS` | | Get events ID | Retrieves event details for events created within the last 30 days. | `STRIPE_GET_EVENTS_ID` | | List meter event summaries | Retrieve billing meter event summaries for a customer within a time range. | `STRIPE_LIST_METER_EVENT_SUMMARIES` | | List v2 core event destinations | Retrieves a list of event destinations from Stripe V2 Core Events API. | `STRIPE_LIST_V2_CORE_EVENT_DESTINATIONS` | | List v2 core events | List v2 core events from Stripe. | `STRIPE_LIST_V2_CORE_EVENTS` | | Action | What it does | Slug | | - | - | - | | Get entitlements features ID | Retrieve a feature by ID from Stripe. | `STRIPE_GET_ENTITLEMENTS_FEATURES_ID` | | Get product features ID | Retrieves a specific product feature by its ID. | `STRIPE_GET_PRODUCTS_PRODUCT_FEATURES_ID` | | List entitlements features | Retrieves a paginated list of entitlements features from Stripe. | `STRIPE_LIST_ENTITLEMENTS_FEATURES` | | List product features | Retrieves a list of features attached to a product. | `STRIPE_LIST_PRODUCTS_PRODUCT_FEATURES` | | Action | What it does | Slug | | - | - | - | | Get file | Retrieve details of an existing file object by its unique identifier. | `STRIPE_GET_FILES_FILE` | | List files | Retrieve a list of files that your account has access to. | `STRIPE_LIST_FILES` | | Action | What it does | Slug | | - | - | - | | Get balance history | DEPRECATED: Use STRIPE\_LIST\_BALANCE\_TRANSACTIONS instead. | `STRIPE_GET_BALANCE_HISTORY` | | Action | What it does | Slug | | - | - | - | | Create preview invoice | Preview an upcoming invoice without creating it. | `STRIPE_CREATE_PREVIEW_INVOICE` | | Get invoice | Retrieve a specific invoice by ID. | `STRIPE_GET_INVOICES_INVOICE` | | Get invoice lines | Retrieve a paginated list of line items for a specific invoice. | `STRIPE_GET_INVOICES_INVOICE_LINES` | | Get invoiceitem | Retrieve the details of an invoice item using its unique identifier. | `STRIPE_GET_INVOICEITEMS_INVOICEITEM` | | List invoiceitems | Retrieves a paginated list of Stripe invoice items. | `STRIPE_LIST_INVOICEITEMS` | | List invoices | Retrieves a list of Stripe invoices, filterable by various criteria and paginatable using invoice ID cursors obtained from previous responses. | `STRIPE_LIST_INVOICES` | | Retrieve upcoming invoice | Preview the upcoming invoice for a customer, showing all pending charges including subscription renewals and invoice items. | `STRIPE_RETRIEVE_UPCOMING_INVOICE` | | Search invoices | Searches for invoices using Stripe's Search Query Language. | `STRIPE_SEARCH_INVOICES` | | Action | What it does | Slug | | - | - | - | | Get checkout session line items | Retrieve line items for a Checkout Session. | `STRIPE_GET_CHECKOUT_SESSIONS_SESSION_LINE_ITEMS` | | Get payment intent amount details line items | Retrieve paginated line items for a PaymentIntent. | `STRIPE_GET_PAYMENT_INTENT_AMOUNT_DETAILS_LINE_ITEMS` | | Get payment link line items | Retrieve paginated line items for a payment link. | `STRIPE_GET_PAYMENT_LINKS_PAYMENT_LINK_LINE_ITEMS` | | Get quote computed upfront line items | Retrieve computed upfront line items for a quote. | `STRIPE_GET_QUOTES_QUOTE_COMPUTED_UPFRONT_LINE_ITEMS` | | Get quote line items | Retrieve a paginated list of line items for a quote. | `STRIPE_GET_QUOTES_QUOTE_LINE_ITEMS` | | Get radar value list items | List all value list items from a Stripe Radar value list. | `STRIPE_GET_RADAR_VALUE_LIST_ITEMS` | | Get subscription item | Retrieves detailed information for a specific subscription item using its unique ID. | `STRIPE_GET_SUBSCRIPTION_ITEM` | | Get tax calculation line items | Retrieves line items of a tax calculation as a paginated collection. | `STRIPE_GET_TAX_CALCULATIONS_CALCULATION_LINE_ITEMS` | | Get tax transaction line items | Retrieves the line items of a committed standalone tax transaction. | `STRIPE_GET_TAX_TRANSACTIONS_TRANSACTION_LINE_ITEMS` | | Get upcoming invoice line items | Retrieve a paginated list of line items for an upcoming invoice preview. | `STRIPE_GET_UPCOMING_INVOICE_LINE_ITEMS` | | List all subscription item period summaries | Returns summaries sorted in reverse-chronological order (newest first), with the first item representing the most current usage period. | `STRIPE_LIST_ALL_SUBSCRIPTION_ITEM_PERIOD_SUMMARIES` | | List subscription items | List all subscription items for a given subscription. | `STRIPE_LIST_SUBSCRIPTION_ITEMS` | | Action | What it does | Slug | | - | - | - | | Get file link | Retrieves the details of an existing file link. | `STRIPE_GET_FILE_LINKS_LINK` | | List file links | Retrieve a list of Stripe file links. | `STRIPE_LIST_FILE_LINKS` | | Action | What it does | Slug | | - | - | - | | Get radar value list | Retrieves a specific Stripe Radar value list by its identifier. | `STRIPE_GET_RADAR_VALUE_LIST` | | Get radar value lists overview radar value lists | Retrieve an overview of Radar value lists. | `STRIPE_GET_V1_RADAR_VALUE_LISTS_OVERVIEW_RADAR_VALUE_LISTS` | | Action | What it does | Slug | | - | - | - | | Get terminal location | Retrieve a Terminal Location object by ID. | `STRIPE_GET_TERMINAL_LOCATION` | | List terminal locations | Retrieves a list of Stripe terminal locations with pagination support. | `STRIPE_LIST_TERMINAL_LOCATIONS` | | Action | What it does | Slug | | - | - | - | | Get billing meters | Retrieve a list of billing meters from Stripe. | `STRIPE_GET_BILLING_METERS` | | Get billing meters ID | Retrieves a billing meter by its unique identifier. | `STRIPE_GET_BILLING_METERS_ID` | | Action | What it does | Slug | | - | - | - | | List climate orders | List all Climate order objects. | `STRIPE_LIST_CLIMATE_ORDERS` | | Action | What it does | Slug | | - | - | - | | List payment intents | List PaymentIntents from Stripe. | `STRIPE_LIST_PAYMENT_INTENTS` | | Retrieve payment intent | Retrieves a PaymentIntent by its ID. | `STRIPE_RETRIEVE_PAYMENT_INTENT` | | Search payment intents | Searches for PaymentIntents using Stripe's Search Query Language. | `STRIPE_SEARCH_PAYMENT_INTENTS` | | Action | What it does | Slug | | - | - | - | | Get payment link | Retrieve details of an existing Stripe payment link by ID. | `STRIPE_GET_PAYMENT_LINK` | | List payment links | Retrieves a list of payment links from Stripe, sorted by creation date in descending order by default. | `STRIPE_LIST_PAYMENT_LINKS` | | Action | What it does | Slug | | - | - | - | | Get customer payment method | Retrieve a specific PaymentMethod object for a given Customer. | `STRIPE_GET_CUSTOMERS_CUSTOMER_PAYMENT_METHODS_PAYMENT_METHOD` | | Get customer payment methods | Retrieves a list of payment methods for a given customer, supporting type filtering and pagination. | `STRIPE_GET_CUSTOMERS_CUSTOMER_PAYMENT_METHODS` | | Get payment method | Retrieves the details of a PaymentMethod object by its unique identifier. | `STRIPE_GET_PAYMENT_METHOD` | | Get payment method configs list payment method2 | List all payment method configurations in a Stripe account. | `STRIPE_GET_V1_PAYMENT_METHOD_CONFIGS_LIST_PAYMENT_METHOD2` | | Get payment methods2 | Retrieve a list of PaymentMethods with filtering and pagination support. | `STRIPE_GET_V1_PAYMENT_METHODS_PAYMENT_METHODS2` | | Action | What it does | Slug | | - | - | - | | Get invoice payments ID | Retrieve details of a specific Stripe invoice payment by ID. | `STRIPE_GET_INVOICE_PAYMENTS_ID` | | Get invoice payments overview2 | List invoice payments in Stripe with pagination and filtering options. | `STRIPE_GET_V1_INVOICE_PAYMENTS_OVERVIEW2` | | List invoice payments | List all payments for invoices in Stripe. | `STRIPE_LIST_INVOICE_PAYMENTS` | | Action | What it does | Slug | | - | - | - | | Get payout | Retrieve details of an existing Stripe payout. | `STRIPE_GET_PAYOUT` | | List payouts | Lists Stripe payouts sent to external accounts or received from Stripe, sorted by creation date descending (newest first), with optional filtering by arrival date, creation date, destination, and status. | `STRIPE_LIST_PAYOUTS` | | Action | What it does | Slug | | - | - | - | | Get account person | Retrieves an existing person associated with a Stripe account. | `STRIPE_GET_ACCOUNT_PERSON` | | Get account persons | Retrieves a list of people associated with the account's legal entity. | `STRIPE_GET_ACCOUNT_PERSONS` | | Action | What it does | Slug | | - | - | - | | Get plan | Retrieve a specific Stripe plan by its unique identifier. | `STRIPE_GET_PLAN` | | List plans | List all billing plans from Stripe account. | `STRIPE_LIST_PLANS` | | Action | What it does | Slug | | - | - | - | | Get price | Retrieves detailed information for a specific Stripe price using its unique ID. | `STRIPE_GET_PRICES_PRICE` | | List prices | List Stripe prices. | `STRIPE_LIST_PRICES` | | Search prices | Search for prices using Stripe's Search Query Language. | `STRIPE_SEARCH_PRICES` | | Action | What it does | Slug | | - | - | - | | Get climate product | Retrieve details of a specific Stripe Climate product. | `STRIPE_GET_CLIMATE_PRODUCTS_PRODUCT` | | Get products ID | Retrieves detailed information for an existing Stripe product using its unique product ID. | `STRIPE_GET_PRODUCTS_ID` | | List climate products | Retrieve a list of available Stripe Climate products. | `STRIPE_LIST_CLIMATE_PRODUCTS` | | List products | Retrieves a list of Stripe products, with optional filtering and pagination. | `STRIPE_LIST_PRODUCTS` | | Search products | Search for products using Stripe's Search Query Language. | `STRIPE_SEARCH_PRODUCTS` | | Action | What it does | Slug | | - | - | - | | Get fx quote | Retrieve a specific FX (foreign exchange) Quote by its ID. | `STRIPE_GET_FX_QUOTE` | | Get quote | Retrieve a quote by ID. | `STRIPE_GET_QUOTES_QUOTE` | | List fx quotes | Retrieves a list of FX quotes that have been issued, with the most recent appearing first. | `STRIPE_LIST_FX_QUOTES` | | List quotes | Retrieves a list of Stripe quotes with pagination support. | `STRIPE_LIST_QUOTES` | | Action | What it does | Slug | | - | - | - | | Get payment attempt records ID | Retrieve a specific Payment Attempt Record by ID. | `STRIPE_GET_PAYMENT_ATTEMPT_RECORDS_ID` | | Get payment record | Retrieve a Payment Record from Stripe. | `STRIPE_GET_PAYMENT_RECORD` | | List payment attempt records | List payment attempt records for a specified payment record. | `STRIPE_LIST_PAYMENT_ATTEMPT_RECORDS` | | Action | What it does | Slug | | - | - | - | | Get charge refund | Retrieve the details of an existing refund within a specific charge. | `STRIPE_GET_CHARGES_CHARGE_REFUNDS_REFUND` | | Get refund | Retrieve details of a specific Stripe refund by ID. | `STRIPE_GET_REFUNDS_REFUND` | | List charge refunds | | `STRIPE_LIST_CHARGE_REFUNDS` | | List refunds | Lists Stripe refunds, sorted by creation date descending (newest first), with optional filtering by charge or payment\_intent and pagination support. | `STRIPE_LIST_REFUNDS` | | Action | What it does | Slug | | - | - | - | | List radar reviews | Returns a list of Radar Review objects that have open set to true, sorted in descending order by creation date. | `STRIPE_LIST_RADAR_REVIEWS` | | List reviews | Retrieves a list of open Stripe reviews with pagination support. | `STRIPE_LIST_REVIEWS` | | Action | What it does | Slug | | - | - | - | | Get reporting report run | Retrieves details of an existing Report Run object. | `STRIPE_GET_REPORTING_REPORT_RUNS_REPORT_RUN` | | List reporting report runs | Lists Stripe Report Runs, sorted by creation date descending (newest first). | `STRIPE_LIST_REPORTING_REPORT_RUNS` | | List sigma scheduled query runs | List all Sigma scheduled query runs. | `STRIPE_LIST_SIGMA_SCHEDULED_QUERY_RUNS` | | Action | What it does | Slug | | - | - | - | | Get subscription schedule | Retrieve a subscription schedule using its unique identifier. | `STRIPE_GET_SUBSCRIPTION_SCHEDULES_SCHEDULE` | | Get subscription schedules overview2 | Retrieves a list of subscription schedules with optional filtering and pagination capabilities. | `STRIPE_GET_V1_SUBSCRIPTION_SCHEDULES_OVERVIEW2` | | Action | What it does | Slug | | - | - | - | | Get financial connections session | Retrieves the details of a Financial Connections Session. | `STRIPE_GET_FINANCIAL_CONNECTIONS_SESSIONS_SESSION` | | Action | What it does | Slug | | - | - | - | | Get balance settings | Retrieve balance settings for a Stripe account. | `STRIPE_GET_BALANCE_SETTINGS` | | Get billing portal configuration | Retrieve a billing portal configuration from Stripe. | `STRIPE_GET_BILLING_PORTAL_CONFIGURATIONS_CONFIGURATION` | | Get billing portal configurations | List billing portal configurations. | `STRIPE_GET_BILLING_PORTAL_CONFIGURATIONS` | | Get payment method configuration | Retrieve a specific payment method configuration by its unique identifier. | `STRIPE_GET_PAYMENT_METHOD_CONFIGURATION` | | Get tax settings | Retrieves Tax Settings for a merchant. | `STRIPE_GET_TAX_SETTINGS` | | Get terminal configuration | Retrieve a specific Terminal Configuration object from Stripe. | `STRIPE_GET_TERMINAL_CONFIGURATION` | | List forwarding requests | Lists ForwardingRequest objects from Stripe's Vault and Forward API. | `STRIPE_LIST_FORWARDING_REQUESTS` | | List terminal configurations | Retrieve a list of Terminal Configuration objects from Stripe. | `STRIPE_LIST_TERMINAL_CONFIGURATIONS` | | Action | What it does | Slug | | - | - | - | | Get setup intent | Retrieves details of a SetupIntent by its ID. | `STRIPE_GET_SETUP_INTENT` | | List setup intents | List SetupIntents from Stripe. | `STRIPE_LIST_SETUP_INTENTS` | | Action | What it does | Slug | | - | - | - | | Get customer subscriptions | DEPRECATED: Use STRIPE\_LIST\_SUBSCRIPTIONS instead. | `STRIPE_GET_CUSTOMERS_CUSTOMER_SUBSCRIPTIONS` | | Get subscription | Retrieves detailed information for an existing Stripe subscription using its unique ID. | `STRIPE_GET_SUBSCRIPTION` | | List customer subscriptions | List all active subscriptions for a customer in Stripe. | `STRIPE_LIST_CUSTOMER_SUBSCRIPTIONS` | | List subscriptions | Retrieves a list of Stripe subscriptions, optionally filtered by various criteria such as customer, price, status, collection method, and date ranges, with support for pagination. | `STRIPE_LIST_SUBSCRIPTIONS` | | Search subscriptions | Searches for subscriptions using Stripe's Search Query Language. | `STRIPE_SEARCH_SUBSCRIPTIONS` | | Action | What it does | Slug | | - | - | - | | Get tax rate | Retrieve the details of an existing tax rate. | `STRIPE_GET_TAX_RATE` | | Get tax rate2 | Retrieve all tax rates with pagination support. | `STRIPE_GET_V1_TAX_RATES_TAX_RATE2` | | List tax rates | Retrieves a list of tax rates, which are returned sorted by creation date in descending order. | `STRIPE_LIST_TAX_RATES` | | Action | What it does | Slug | | - | - | - | | Get customer tax IDs | Retrieve all tax IDs for a specific Stripe customer. | `STRIPE_GET_CUSTOMERS_CUSTOMER_TAX_IDS` | | Get customer tax IDs ID | Retrieve a specific tax ID for a customer. | `STRIPE_GET_CUSTOMERS_CUSTOMER_TAX_IDS_ID` | | Get tax calculation | Retrieves a Tax Calculation object by its unique ID. | `STRIPE_GET_TAX_CALCULATION` | | Get tax ID | Retrieves an account or customer tax ID object. | `STRIPE_GET_TAX_ID` | | Get tax IDs overview2 | Retrieve a list of tax IDs with pagination support. | `STRIPE_GET_V1_TAX_IDS_OVERVIEW2` | | Get tax registration | Retrieve a specific tax registration configured for your Stripe account. | `STRIPE_GET_TAX_REGISTRATION` | | List tax registrations | Retrieves a paginated list of tax registrations. | `STRIPE_LIST_TAX_REGISTRATIONS` | | Action | What it does | Slug | | - | - | - | | List invoice rendering templates | List all invoice rendering templates ordered by creation date. | `STRIPE_LIST_INVOICE_RENDERING_TEMPLATES` | | Action | What it does | Slug | | - | - | - | | Get confirmation token | Retrieve an existing ConfirmationToken object by its ID. | `STRIPE_GET_CONFIRMATION_TOKENS_CONFIRMATION_TOKEN` | | Get token | Retrieves the token with the given ID. | `STRIPE_GET_TOKEN` | | Action | What it does | Slug | | - | - | - | | List topups | Retrieve a list of existing top-ups from Stripe. | `STRIPE_LIST_TOPUPS` | | Action | What it does | Slug | | - | - | - | | Get balance transaction | Retrieves the balance transaction with the given ID. | `STRIPE_GET_BALANCE_TRANSACTION` | | Get billing credit balance transactions ID | Retrieves a credit balance transaction by its unique identifier. | `STRIPE_GET_BILLING_CREDIT_BALANCE_TRANSACTIONS_ID` | | Get customer balance transactions | List customer balance transactions that updated a customer's balance. | `STRIPE_GET_CUSTOMERS_CUSTOMER_BALANCE_TRANSACTIONS` | | Get customer cash balance transactions | Retrieve a list of cash balance transactions for a customer. | `STRIPE_GET_CUSTOMERS_CUSTOMER_CASH_BALANCE_TRANSACTIONS` | | Get customers cash balance transactions | Retrieve a specific cash balance transaction that updated a customer's cash balance. | `STRIPE_GET_CUSTOMERS_CASH_BALANCE_TRANSACTIONS` | | Get tax transaction | Retrieves a Tax Transaction object by ID. | `STRIPE_GET_TAX_TRANSACTION` | | List balance transactions | Lists Stripe balance transactions sorted by creation date descending (newest first), with optional filtering by currency, type, source, or payout and pagination support. | `STRIPE_LIST_BALANCE_TRANSACTIONS` | | List billing credit balance transactions | Retrieve a paginated list of credit balance transactions with optional filtering. | `STRIPE_LIST_BILLING_CREDIT_BALANCE_TRANSACTIONS` | | Action | What it does | Slug | | - | - | - | | Get transfer reversal | | `STRIPE_GET_TRANSFER_REVERSAL` | | List transfers | List all transfers sent to connected accounts. | `STRIPE_LIST_TRANSFERS` | | Action | What it does | Slug | | - | - | - | | Get reporting report type | Retrieve details of a specific Stripe report type by ID. | `STRIPE_GET_REPORTING_REPORT_TYPE` | | Get reporting report types overview reporting | List all available Stripe report types. | `STRIPE_GET_V1_REPORTING_REPORT_TYPES_OVERVIEW_REPORTING` | | Action | What it does | Slug | | - | - | - | | Get climate supplier | Retrieves detailed information about a specific Stripe Climate carbon removal supplier. | `STRIPE_GET_CLIMATE_SUPPLIERS_SUPPLIER` | | List climate suppliers | Retrieve a list of available Stripe Climate supplier objects for carbon removal. | `STRIPE_LIST_CLIMATE_SUPPLIERS` | | Action | What it does | Slug | | - | - | - | | Get active entitlement | Retrieve an active entitlement describing customer access to a feature. | `STRIPE_GET_ACTIVE_ENTITLEMENT` | | Get country specs country | Retrieves configuration details for a specific country, including supported payment methods, required verification fields, and supported currencies. | `STRIPE_GET_COUNTRY_SPECS_COUNTRY` | | Get entitlements active entitlements | Retrieve active entitlements for a customer. | `STRIPE_GET_ENTITLEMENTS_ACTIVE_ENTITLEMENTS` | | Get mandate | Retrieve a Stripe mandate by ID. | `STRIPE_GET_MANDATE` | | Get radar early fraud warnings overview | Returns a list of early fraud warnings. | `STRIPE_GET_V1_RADAR_EARLY_FRAUD_WARNINGS_OVERVIEW` | | Get setup attempts | List SetupAttempts associated with a SetupIntent. | `STRIPE_GET_SETUP_ATTEMPTS` | | Get shipping rate | Retrieve details of a specific Stripe shipping rate by its unique ID. | `STRIPE_GET_SHIPPING_RATE` | | Get shipping rates overview2 | Retrieve an overview of shipping rates from Stripe. | `STRIPE_GET_V1_SHIPPING_RATES_OVERVIEW2` | | Get source | Retrieves an existing source object. | `STRIPE_GET_SOURCES_SOURCE` | | Get test clock | Retrieve a test clock by ID. | `STRIPE_GET_TEST_CLOCK` | | List application fees | Returns a list of application fees you've previously collected, sorted by creation date descending (newest first). | `STRIPE_LIST_APPLICATION_FEES` | | List country specs | Retrieves a list of country specifications available in the Stripe API. | `STRIPE_LIST_COUNTRY_SPECS` | | List radar early fraud warnings | List all early fraud warnings from Stripe Radar. | `STRIPE_LIST_RADAR_EARLY_FRAUD_WARNINGS` | | List setup attempts | List SetupAttempts associated with a SetupIntent. | `STRIPE_LIST_SETUP_ATTEMPTS` | | List test clocks | Retrieves a paginated list of test clocks. | `STRIPE_LIST_TEST_CLOCKS` | Teammates can use 384 of the 433 Stripe actions at this level: everything in **Read-only**, plus: * Create, update, delete, send, and manage invoices * Create, update, delete, and manage coupons and discounts * Create, update, cancel, and test payment intents * Create, update, delete, start, cancel, and manage subscriptions * Create, update, and manage payment methods * Create, update, and cancel quotes * Create tokens * Create, update, and archive alerts * Create, update, and delete bank accounts * Create and update charges * Create, update, and delete features * Create and update meters The 180 actions that this level adds to **Read-only**: | Action | What it does | Slug | | - | - | - | | Activate billing alert | Reactivates a billing alert, allowing it to trigger again. | `STRIPE_ACTIVATE_BILLING_ALERT` | | Archive billing alert | Archive a billing alert in Stripe, removing it from list views and APIs. | `STRIPE_ARCHIVE_BILLING_ALERT` | | Create billing alert | Create a billing alert that monitors usage on a billing meter and triggers notifications when a specified threshold is crossed. | `STRIPE_CREATE_BILLING_ALERT` | | Deactivate billing alert | Deactivate a billing alert, preventing it from triggering. | `STRIPE_DEACTIVATE_BILLING_ALERT` | | Action | What it does | Slug | | - | - | - | | Apply customer balance | Manually reconciles remaining amount for a customer\_balance PaymentIntent by applying funds from customer's cash balance. | `STRIPE_APPLY_CUSTOMER_BALANCE` | | Fund test cash balance | Fund a test mode cash balance for a customer. | `STRIPE_FUND_TEST_CASH_BALANCE` | | Update cash balance | Update a customer's cash balance settings in Stripe. | `STRIPE_UPDATE_CASH_BALANCE` | | Update customer balance txn | Updates an existing customer balance transaction's description and metadata. | `STRIPE_UPDATE_CUSTOMER_BALANCE_TXN` | | Action | What it does | Slug | | - | - | - | | Create customer bank account | Create a new bank account attached to a customer object. | `STRIPE_CREATE_CUSTOMER_BANK_ACCOUNT` | | Delete customer bank account | Deletes a bank account payment source from a customer. | `STRIPE_DELETE_CUSTOMER_BANK_ACCOUNT` | | Post customers sources verify the bank account | Verifies a bank account for a customer using microdeposit amounts. | `STRIPE_POST_CUSTOMERS_SOURCES_VERIFY_THE_BANK_ACCOUNT` | | Update customer bank account | Updates a specified bank account for a given customer. | `STRIPE_UPDATE_CUSTOMER_BANK_ACCOUNT` | | Update customer bank account source | Updates a bank account source attached to a customer. | `STRIPE_UPDATE_CUSTOMER_BANK_ACCOUNT_SOURCE` | | Action | What it does | Slug | | - | - | - | | Cancel terminal reader action | Cancel the current reader action. | `STRIPE_CANCEL_TERMINAL_READER_ACTION` | | Collect terminal reader inputs | Initiates input collection on a Terminal Reader to display forms and collect customer information. | `STRIPE_COLLECT_TERMINAL_READER_INPUTS` | | Post terminal reader set reader display | Configures a Stripe terminal reader to display cart information on screen. | `STRIPE_POST_TERMINAL_READERS_READER_SET_READER_DISPLAY` | | Post terminal readers set reader display | Configure a terminal reader's display to show cart details. | `STRIPE_POST_TERMINAL_READERS_SET_READER_DISPLAY` | | Set reader display | Configures a Stripe Terminal reader to display cart information on its screen. | `STRIPE_SET_READER_DISPLAY` | | Set terminal reader display | Set the display on a Stripe Terminal reader to show cart details. | `STRIPE_SET_TERMINAL_READER_DISPLAY` | | Action | What it does | Slug | | - | - | - | | Create customer card | Create a new card payment source for an existing Stripe customer. | `STRIPE_CREATE_CUSTOMER_CARD` | | Update customer card | Update a card for a specified customer. | `STRIPE_UPDATE_CUSTOMER_CARD` | | Action | What it does | Slug | | - | - | - | | Capture charge | Capture payment on an uncaptured charge. | `STRIPE_CAPTURE_CHARGE` | | Create charge | Create a charge to request payment from a credit or debit card. | `STRIPE_CREATE_CHARGE` | | Post charge | Updates a Stripe charge with the specified parameters. | `STRIPE_POST_CHARGES_CHARGE` | | Update charge | Update a Stripe charge object with provided parameters. | `STRIPE_UPDATE_CHARGE` | | Action | What it does | Slug | | - | - | - | | Create checkout session | Create a Stripe Checkout Session. | `STRIPE_CREATE_CHECKOUT_SESSION` | | Expire checkout session | Expire an active Stripe Checkout Session. | `STRIPE_EXPIRE_CHECKOUT_SESSION` | | Post checkout sessions retrieve a checkout | Update and retrieve a Checkout Session object from Stripe. | `STRIPE_POST_V1_CHECKOUT_SESSIONS_RETRIEVE_A_CHECKOUT` | | Update checkout session | Update a Stripe Checkout Session dynamically. | `STRIPE_UPDATE_CHECKOUT_SESSION` | | Action | What it does | Slug | | - | - | - | | Succeed test terminal reader input collection | Simulates successful completion of an ongoing input collection on a Terminal reader. | `STRIPE_SUCCEED_TEST_TERMINAL_READER_INPUT_COLLECTION` | | Timeout test terminal reader input collection | Simulate an input collection timeout on a Stripe Terminal reader. | `STRIPE_TIMEOUT_TEST_TERMINAL_READER_INPUT_COLLECTION` | | Action | What it does | Slug | | - | - | - | | Create coupon | Creates a new discount coupon in Stripe with percentage or fixed amount discount. | `STRIPE_CREATE_COUPON` | | Create promotion code | Create a promotion code linked to an underlying coupon. | `STRIPE_CREATE_PROMOTION_CODE` | | Delete coupon | Delete a coupon from Stripe. | `STRIPE_DELETE_COUPON` | | Delete customer discount | Removes the currently applied discount on a customer. | `STRIPE_DELETE_CUSTOMER_DISCOUNT` | | Delete customer subscription discount | Removes currently applied discount from a customer's subscription. | `STRIPE_DELETE_CUSTOMER_SUBSCRIPTION_DISCOUNT` | | Delete subscription discount | Removes the currently applied discount on a subscription. | `STRIPE_DELETE_SUBSCRIPTION_DISCOUNT` | | Post promotion code | Updates an existing promotion code. | `STRIPE_POST_V1_PROMOTION_CODES_PROMOTION_CODE` | | Update coupon | Updates a Stripe coupon's metadata, name, or currency options. | `STRIPE_UPDATE_COUPON` | | Update promotion code | Updates an existing Stripe promotion code by setting the values of the parameters passed. | `STRIPE_UPDATE_PROMOTION_CODE` | | Action | What it does | Slug | | - | - | - | | Create credit note | Issues a credit note to adjust a finalized invoice's amount. | `STRIPE_CREATE_CREDIT_NOTE` | | Post credit note2 | Update an existing credit note in Stripe by modifying its memo or metadata. | `STRIPE_POST_V1_CREDIT_NOTES_CREDIT_NOTE2` | | Void credit note | Marks a credit note as void. | `STRIPE_VOID_CREDIT_NOTE` | | Action | What it does | Slug | | - | - | - | | Create billing credit grant | Create a credit grant that allocates billing credits to a customer for use against metered pricing. | `STRIPE_CREATE_BILLING_CREDIT_GRANT` | | Expire billing credit grant | Expires a billing credit grant immediately. | `STRIPE_EXPIRE_BILLING_CREDIT_GRANT` | | Post billing credit grants void credit grant | Voids a billing credit grant, preventing it from being applied to future invoices. | `STRIPE_POST_BILLING_CREDIT_GRANTS_VOID_CREDIT_GRANT` | | Update billing credit grant | Updates an existing billing credit grant. | `STRIPE_UPDATE_BILLING_CREDIT_GRANT` | | Action | What it does | Slug | | - | - | - | | Attach customer source | Attach a payment source (card token or source object) to a customer for future charges. | `STRIPE_ATTACH_CUSTOMER_SOURCE` | | Create customer | Creates a new customer in Stripe, required for creating charges or subscriptions. | `STRIPE_CREATE_CUSTOMER` | | Create customer source | Attaches a payment source to a customer for later reuse. | `STRIPE_CREATE_CUSTOMER_SOURCE` | | Post customer sub exposed ID | Update a customer's subscription. | `STRIPE_POST_CUSTOMERS_CUSTOMER_SUBS_SUB_EXPOSED_ID` | | Post customers funding instructions fund a test | Creates or retrieves funding instructions for a customer cash balance via bank transfer. | `STRIPE_POST_V1_CUSTOMERS_FUNDING_INSTRUCTIONS_FUND_A_TEST` | | Update customer | Updates an existing Stripe customer, identified by customer\_id, with only the provided details. | `STRIPE_UPDATE_CUSTOMER` | | Update customer source | Update a specified source for a given customer. | `STRIPE_UPDATE_CUSTOMER_SOURCE` | | Action | What it does | Slug | | - | - | - | | Close dispute | Close a dispute. | `STRIPE_CLOSE_DISPUTE` | | Update charge dispute | Update metadata on a charge's dispute. | `STRIPE_UPDATE_CHARGE_DISPUTE` | | Update dispute | Update a Stripe dispute by submitting evidence or updating metadata. | `STRIPE_UPDATE_DISPUTE` | | Action | What it does | Slug | | - | - | - | | Create billing meter event | Creates a billing meter event using Stripe API v2 for usage-based billing. | `STRIPE_CREATE_BILLING_METER_EVENT` | | Create billing meter event adjustment | Creates an adjustment to cancel a billing meter event. | `STRIPE_CREATE_BILLING_METER_EVENT_ADJUSTMENT` | | Post billing meter event adjustments meter event | Creates a billing meter event adjustment to cancel a previously sent meter event. | `STRIPE_POST_V2_BILLING_METER_EVENT_ADJUSTMENTS_METER_EVENT` | | Action | What it does | Slug | | - | - | - | | Attach product feature | Attach a feature to a product. | `STRIPE_ATTACH_PRODUCT_FEATURE` | | Create entitlement feature | Creates a new feature entitlement in Stripe representing a monetizable ability or functionality. | `STRIPE_CREATE_ENTITLEMENT_FEATURE` | | Delete product feature | Removes a feature from a product. | `STRIPE_DELETE_PRODUCT_FEATURE` | | Update entitlement feature | Update a feature's properties or deactivate it. | `STRIPE_UPDATE_ENTITLEMENT_FEATURE` | | Action | What it does | Slug | | - | - | - | | Create file | Upload a file to Stripe for business purposes such as dispute evidence, identity verification, or business logos. | `STRIPE_CREATE_FILE` | | Action | What it does | Slug | | - | - | - | | Add invoice lines | Add multiple line items to a draft Stripe invoice. | `STRIPE_ADD_INVOICE_LINES` | | Create invoice | Creates a new draft Stripe invoice for a customer. | `STRIPE_CREATE_INVOICE` | | Create invoice item | Create an invoice item for draft invoices. | `STRIPE_CREATE_INVOICE_ITEM` | | Delete invoice | Permanently deletes a draft invoice. | `STRIPE_DELETE_INVOICE` | | Delete invoiceitem | Delete an invoice item from Stripe. | `STRIPE_DELETE_INVOICEITEM` | | Delete invoices void an invoice | Void a finalized Stripe invoice. | `STRIPE_DELETE_V1_INVOICES_VOID_AN_INVOICE` | | Finalize invoice | Finalize a draft invoice so it becomes open/collectable (and immutable where required). | `STRIPE_FINALIZE_INVOICE` | | Mark invoice uncollectible | Mark a Stripe invoice as uncollectible for bad debt accounting purposes. | `STRIPE_MARK_INVOICE_UNCOLLECTIBLE` | | Pay invoice | Pay an invoice manually outside the normal collection schedule. | `STRIPE_PAY_INVOICE` | | Post invoice void | Voids a finalized invoice and maintains a papertrail. | `STRIPE_POST_INVOICES_INVOICE_VOID` | | Post invoices finalize void an invoice | Voids a finalized invoice and maintains a papertrail. | `STRIPE_POST_V1_INVOICES_FINALIZE_VOID_AN_INVOICE` | | Post invoices lines overview | Updates an invoice's line item before finalization. | `STRIPE_POST_V1_INVOICES_LINES_OVERVIEW` | | Post invoices remove lines overview | Remove multiple line items from a draft Stripe invoice. | `STRIPE_POST_V1_INVOICES_REMOVE_LINES_OVERVIEW` | | Post invoices send void an invoice | Void a finalized Stripe invoice. | `STRIPE_POST_V1_INVOICES_SEND_VOID_AN_INVOICE` | | Post invoices void an invoice | Permanently void a finalized Stripe invoice. | `STRIPE_POST_V1_INVOICES_VOID_AN_INVOICE` | | Send invoice | Manually send a finalized Stripe invoice to the customer outside the automatic billing schedule. | `STRIPE_SEND_INVOICE` | | Update invoice | Updates a draft Stripe invoice. | `STRIPE_UPDATE_INVOICE` | | Update invoice lines | Bulk update multiple line items on a draft invoice. | `STRIPE_UPDATE_INVOICE_LINES` | | Update invoiceitem | Updates an invoice item on a draft invoice. | `STRIPE_UPDATE_INVOICEITEM` | | Void invoice | Void a finalized Stripe invoice. | `STRIPE_VOID_INVOICE` | | Action | What it does | Slug | | - | - | - | | Create subscription item | Add a new item to an existing subscription without changing existing items. | `STRIPE_CREATE_SUBSCRIPTION_ITEM` | | Delete subscription item | Deletes a subscription item without canceling the subscription. | `STRIPE_DELETE_SUBSCRIPTION_ITEM` | | Post subscription item | Update a subscription item's plan, quantity, billing thresholds, discounts, or metadata. | `STRIPE_POST_SUBSCRIPTION_ITEMS_ITEM` | | Action | What it does | Slug | | - | - | - | | Create billing meter | Create a billing meter in Stripe for tracking usage events. | `STRIPE_CREATE_BILLING_METER` | | Deactivate billing meter | Deactivates a billing meter. | `STRIPE_DEACTIVATE_BILLING_METER` | | Reactivate billing meter | Reactivates a deactivated billing meter. | `STRIPE_REACTIVATE_BILLING_METER` | | Update billing meter | Update a billing meter's display name. | `STRIPE_UPDATE_BILLING_METER` | | Action | What it does | Slug | | - | - | - | | Cancel payment intent | Cancels a PaymentIntent when in cancelable state. | `STRIPE_CANCEL_PAYMENT_INTENT` | | Capture payment intent | Captures the funds of an existing uncaptured PaymentIntent. | `STRIPE_CAPTURE_PAYMENT_INTENT` | | Confirm payment intent | Confirm customer intent to pay with current or provided payment method. | `STRIPE_CONFIRM_PAYMENT_INTENT` | | Confirm terminal reader payment intent | Confirm a PaymentIntent on a Terminal reader device. | `STRIPE_CONFIRM_TERMINAL_READER_PAYMENT_INTENT` | | Create payment intent | Creates a Stripe PaymentIntent to initiate and process a customer's payment. | `STRIPE_CREATE_PAYMENT_INTENT` | | Post setup intent | Updates a SetupIntent object to modify configuration parameters and metadata. | `STRIPE_POST_SETUP_INTENTS_INTENT` | | Post terminal reader process payment intent | Initiates a payment flow on a Stripe Terminal Reader to process a PaymentIntent. | `STRIPE_POST_TERMINAL_READERS_READER_PROCESS_PAYMENT_INTENT` | | Update payment intent | Updates a Stripe PaymentIntent with new values for specified parameters. | `STRIPE_UPDATE_PAYMENT_INTENT` | | Verify microdeposits payment intent | Verifies microdeposits on a PaymentIntent object by matching deposit amounts or descriptor code. | `STRIPE_VERIFY_MICRODEPOSITS_PAYMENT_INTENT` | | Action | What it does | Slug | | - | - | - | | Create payment link | Create a Stripe Payment Link. | `STRIPE_CREATE_PAYMENT_LINK` | | Update payment link | Updates an existing payment link with new configuration details. | `STRIPE_UPDATE_PAYMENT_LINK` | | Action | What it does | Slug | | - | - | - | | Attach payment method | Attaches a PaymentMethod to a Customer. | `STRIPE_ATTACH_PAYMENT_METHOD` | | Collect terminal reader payment method | Initiate payment method collection on a Stripe Terminal Reader. | `STRIPE_COLLECT_TERMINAL_READER_PAYMENT_METHOD` | | Create payment method | Creates a PaymentMethod object representing a customer's payment instrument (card, bank account, etc.). | `STRIPE_CREATE_PAYMENT_METHOD` | | Detach payment method | Detaches a PaymentMethod object from a Customer account. | `STRIPE_DETACH_PAYMENT_METHOD` | | Present payment method | Present a payment method on a simulated terminal reader for testing purposes. | `STRIPE_PRESENT_PAYMENT_METHOD` | | Update payment method | Updates an existing PaymentMethod object in Stripe. | `STRIPE_UPDATE_PAYMENT_METHOD` | | Action | What it does | Slug | | - | - | - | | Attach invoice payment | Attaches a PaymentIntent or Out of Band Payment to an invoice's payments list. | `STRIPE_ATTACH_INVOICE_PAYMENT` | | Detach payment from invoice | Detach a payment from an invoice. | `STRIPE_DETACH_PAYMENT_FROM_INVOICE` | | Post payment records report payment | Report a payment record in terminal state or for initialization. | `STRIPE_POST_PAYMENT_RECORDS_REPORT_PAYMENT` | | Report payment attempt failed | Reports that a recent payment attempt on a Payment Record has failed. | `STRIPE_REPORT_PAYMENT_ATTEMPT_FAILED` | | Action | What it does | Slug | | - | - | - | | Post payouts retrieve a payout | Updates a payout's metadata and returns the updated payout object. | `STRIPE_POST_V1_PAYOUTS_RETRIEVE_A_PAYOUT` | | Action | What it does | Slug | | - | - | - | | Create plan | Create a recurring billing plan with flexible pricing configuration. | `STRIPE_CREATE_PLAN` | | Delete plan | Delete a plan from Stripe. | `STRIPE_DELETE_PLAN` | | Post plans overview | Update a Stripe plan by setting passed parameter values. | `STRIPE_POST_V1_PLANS_OVERVIEW` | | Action | What it does | Slug | | - | - | - | | Create price | Creates a new Stripe Price for a product, defining its charges (one-time or recurring) and billing scheme. | `STRIPE_CREATE_PRICE` | | Update price | Updates a Stripe price by setting passed parameter values. | `STRIPE_UPDATE_PRICE` | | Action | What it does | Slug | | - | - | - | | Create product | Creates a new product in Stripe, encoding the request as application/x-www-form-urlencoded by flattening nested structures. | `STRIPE_CREATE_PRODUCT` | | Delete product | Delete a product. | `STRIPE_DELETE_PRODUCT` | | Update product | Update an existing product in Stripe. | `STRIPE_UPDATE_PRODUCT` | | Action | What it does | Slug | | - | - | - | | Accept quote | Accept a quote in Stripe. | `STRIPE_ACCEPT_QUOTE` | | Cancel quote | Cancel a Stripe quote. | `STRIPE_CANCEL_QUOTE` | | Create fx quote | Create an FX quote for currency conversion with optional rate locking. | `STRIPE_CREATE_FX_QUOTE` | | Create quote | Create a Stripe quote modeling prices and services for a customer. | `STRIPE_CREATE_QUOTE` | | Finalize quote | Finalize a quote in Stripe. | `STRIPE_FINALIZE_QUOTE` | | Update quote | Update an existing Stripe quote with new values. | `STRIPE_UPDATE_QUOTE` | | Action | What it does | Slug | | - | - | - | | Create usage record | Creates a usage record for a specified subscription item and timestamp. | `STRIPE_CREATE_USAGE_RECORD` | | Action | What it does | Slug | | - | - | - | | Create charge refund | Create a refund for a charge in Stripe. | `STRIPE_CREATE_CHARGE_REFUND` | | Create refund | Creates a full or partial refund in Stripe, targeting either a specific charge ID or a payment intent ID. | `STRIPE_CREATE_REFUND` | | Post payment records report refund overview | Reports that the most recent payment attempt on a Payment Record was refunded. | `STRIPE_POST_V1_PAYMENT_RECORDS_REPORT_REFUND_OVERVIEW` | | Update application fee refund | | `STRIPE_UPDATE_APPLICATION_FEE_REFUND` | | Update charge refund | Update a specified refund within a charge. | `STRIPE_UPDATE_CHARGE_REFUND` | | Action | What it does | Slug | | - | - | - | | Post subscription schedules release overview | Release a subscription schedule. | `STRIPE_POST_V1_SUBSCRIPTION_SCHEDULES_RELEASE_OVERVIEW` | | Action | What it does | Slug | | - | - | - | | Post payment records report attempt | Report a payment attempt on a Stripe Payment Record. | `STRIPE_POST_V1_PAYMENT_RECORDS_REPORT_ATTEMPT` | | Post payment records report canceled | Report that the most recent payment attempt was canceled. | `STRIPE_POST_V1_PAYMENT_RECORDS_REPORT_CANCELED` | | Post payment records report guaranteed | Reports that a payment attempt was guaranteed for a specific Payment Record. | `STRIPE_POST_V1_PAYMENT_RECORDS_REPORT_GUARANTEED` | | Post payment records report info | Report additional payment attempt information for a payment record. | `STRIPE_POST_V1_PAYMENT_RECORDS_REPORT_INFO` | | Action | What it does | Slug | | - | - | - | | Create report run | Creates a new report run object and begins executing the report asynchronously. | `STRIPE_CREATE_REPORT_RUN` | | Action | What it does | Slug | | - | - | - | | Cancel subscription schedule | Cancels a subscription schedule and its associated subscription immediately (if active). | `STRIPE_CANCEL_SUBSCRIPTION_SCHEDULE` | | Create subscription schedule | Create a new subscription schedule for managing subscription changes over time. | `STRIPE_CREATE_SUBSCRIPTION_SCHEDULE` | | Post subscription schedules overview2 | Update an existing subscription schedule with new phases, settings, metadata, and end behavior. | `STRIPE_POST_V1_SUBSCRIPTION_SCHEDULES_OVERVIEW2` | | Update subscription schedule | Update an existing subscription schedule in Stripe. | `STRIPE_UPDATE_SUBSCRIPTION_SCHEDULE` | | Action | What it does | Slug | | - | - | - | | Cancel setup intent | Cancels a SetupIntent that is no longer needed. | `STRIPE_CANCEL_SETUP_INTENT` | | Confirm setup intent | Confirms a SetupIntent to complete customer payment method setup. | `STRIPE_CONFIRM_SETUP_INTENT` | | Create setup intent | Creates a SetupIntent object to collect payment method permissions for future payments. | `STRIPE_CREATE_SETUP_INTENT` | | Process setup intent | Initiates a SetupIntent flow on a Stripe Terminal Reader to save payment details. | `STRIPE_PROCESS_SETUP_INTENT` | | Action | What it does | Slug | | - | - | - | | Cancel subscription | Cancels a customer's active Stripe subscription at the end of the current billing period, with options to invoice immediately for metered usage and prorate charges for unused time. | `STRIPE_CANCEL_SUBSCRIPTION` | | Create customer subscription | Create a subscription for an existing customer. | `STRIPE_CREATE_CUSTOMER_SUBSCRIPTION` | | Create subscription | Creates a new, highly configurable subscription for an existing Stripe customer, supporting multiple items, trials, discounts, and various billing/payment options. | `STRIPE_CREATE_SUBSCRIPTION` | | Delete customer subscription | Cancels a customer's subscription immediately. | `STRIPE_DELETE_CUSTOMER_SUBSCRIPTION` | | Deletev1 subscriptions list subscriptions | Cancel a Stripe subscription immediately. | `STRIPE_DELETEV1_SUBSCRIPTIONS_LIST_SUBSCRIPTIONS` | | Migrate subscription | Migrate a subscription from classic to flexible billing mode. | `STRIPE_MIGRATE_SUBSCRIPTION` | | Post subscription exposed ID | Update an existing Stripe subscription with specified parameters. | `STRIPE_POST_SUBSCRIPTIONS_SUBSCRIPTION_EXPOSED_ID` | | Post subscriptions list subscriptions | Updates an existing Stripe subscription's properties including metadata, description, payment method, billing settings, trial periods, and cancellation behavior. | `STRIPE_POST_V1_SUBSCRIPTIONS_LIST_SUBSCRIPTIONS` | | Resume subscription | Resumes a paused Stripe subscription with billing cycle and proration options. | `STRIPE_RESUME_SUBSCRIPTION` | | Update customer subscription | Update a subscription on a customer in Stripe. | `STRIPE_UPDATE_CUSTOMER_SUBSCRIPTION` | | Update subscription | Updates an existing, non-canceled Stripe subscription by its ID, ensuring all referenced entity IDs (e.g., prices, coupons) are valid and automatic tax liability is correctly specified if enabled. | `STRIPE_UPDATE_SUBSCRIPTION` | | Action | What it does | Slug | | - | - | - | | Create tax rate | Create a new tax rate in Stripe. | `STRIPE_CREATE_TAX_RATE` | | Post tax rate2 | Update an existing Stripe tax rate. | `STRIPE_POST_V1_TAX_RATES_TAX_RATE2` | | Action | What it does | Slug | | - | - | - | | Create customer tax ID | Creates a new tax ID for a customer, used for tax compliance and invoicing across 100+ supported country-specific tax ID formats. | `STRIPE_CREATE_CUSTOMER_TAX_ID` | | Create tax calculation | Creates a Tax Calculation to compute taxes for customer purchases. | `STRIPE_CREATE_TAX_CALCULATION` | | Delete customer tax ID | Deletes a customer's tax ID object. | `STRIPE_DELETE_CUSTOMER_TAX_ID` | | Action | What it does | Slug | | - | - | - | | Create bank account token | Create a single-use token representing bank account details. | `STRIPE_CREATE_BANK_ACCOUNT_TOKEN` | | Create cvc update token | Creates a single-use token representing an updated CVC value for card payments. | `STRIPE_CREATE_CVC_UPDATE_TOKEN` | | Create pii token | Create a single-use token representing PII (personally identifiable information). | `STRIPE_CREATE_PII_TOKEN` | | Create test confirmation token | Creates a test mode Confirmation Token for server-side payment integration testing. | `STRIPE_CREATE_TEST_CONFIRMATION_TOKEN` | | Create token | Create a single-use CVC update token for card re-collection. | `STRIPE_CREATE_TOKEN` | | Action | What it does | Slug | | - | - | - | | Create customer balance transaction | Create an immutable transaction that updates the customer's credit balance. | `STRIPE_CREATE_CUSTOMER_BALANCE_TRANSACTION` | | Create reversal tax transaction | Creates a reversal of an existing tax transaction. | `STRIPE_CREATE_REVERSAL_TAX_TRANSACTION` | | Create tax transaction from calculation | Create a Tax Transaction from a calculation before 90-day expiration. | `STRIPE_CREATE_TAX_TRANSACTION_FROM_CALCULATION` | | Action | What it does | Slug | | - | - | - | | Advance test clock | Advance a test clock to a future timestamp. | `STRIPE_ADVANCE_TEST_CLOCK` | | Create shipping rate | Creates a new shipping rate object that appears on Checkout Sessions for customer display. | `STRIPE_CREATE_SHIPPING_RATE` | | Create source | Create a Stripe source object for accepting payment methods. | `STRIPE_CREATE_SOURCE` | | Create test clock | Create a test clock for testing time-based scenarios in Stripe. | `STRIPE_CREATE_TEST_CLOCK` | | Delete test clock | Permanently deletes a test clock from Stripe's test environment. | `STRIPE_DELETE_TEST_CLOCK` | | Post shipping rates overview2 | Update an existing Stripe shipping rate. | `STRIPE_POST_V1_SHIPPING_RATES_OVERVIEW2` | | Update source | Updates a Stripe source with specified parameters. | `STRIPE_UPDATE_SOURCE` | | Verify microdeposits | Verifies microdeposits on a SetupIntent object to confirm bank account ownership. | `STRIPE_VERIFY_MICRODEPOSITS` | ## Connect Stripe Before you start: * You need a Stripe account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Stripe** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Stripe**. The Stripe sign-in page opens in a new tab. Sign in to Stripe and approve the request. Check that it works: Stripe shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Stripe account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Stripe account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Stripe account Click **+ Account** on the Stripe card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Stripe side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Stripe**. 3. Sign in to Stripe and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Stripe account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Stripe.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Stripe account becomes primary. ## Costs Stripe actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Stripe, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Stripe connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Stripe account has an access level: **Read-only** and **Read + write**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Stripe card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Stripe account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Stripe.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Supabase Source: https://squad.so/docs/apps/supabase What teammates can do in Supabase at each access level, and how to connect, limit, and disconnect Supabase. Connect Supabase so your teammates can work in your Supabase account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Supabase account has an access level: **Read-only** and **Read + write**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as projects, tables, functions, settings, and read-only SQL results. Cannot change anything." | 60 of 129 | | **Read + write** (recommended) | "Run SQL and migrations, deploy Edge Functions, and manage database branches. Cannot change project settings, keys, secrets, or auth." | 77 of 129 | The other 52 Supabase actions run at no level, so no teammate can run them. **Read + write** is the recommended level. The connect window selects it for you, and you can choose another level. The Supabase sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Supabase account?" The teammate can search the Supabase actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Supabase action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 60 of the 129 Supabase actions at this level: * View and create settings * View branches * View keys * View functions * View integrations * View logs * View organizations * View projects * View runs * View snippets * View availability * View backups All 60 actions at this level: | Action | What it does | Slug | | - | - | - | | Beta check vanity subdomain availability | Checks if a specific vanity subdomain is available for a Supabase project. | `SUPABASE_BETA_CHECK_VANITY_SUBDOMAIN_AVAILABILITY` | | Action | What it does | Slug | | - | - | - | | List backups | Lists all database backups for a Supabase project, providing details on existing backups but not creating new ones or performing restores. | `SUPABASE_LIST_BACKUPS` | | Action | What it does | Slug | | - | - | - | | Get branch | Retrieves detailed information about a specific database branch by its name and project reference. | `SUPABASE_GET_BRANCH` | | List branches | | `SUPABASE_LIST_BRANCHES` | | List database branches | Lists all database branches for a specified Supabase project, used for isolated development and testing of schema changes. | `SUPABASE_LIST_DATABASE_BRANCHES` | | Action | What it does | Slug | | - | - | - | | Get database metadata | Gets database metadata for the given project. | `SUPABASE_GET_DATABASE_METADATA` | | Action | What it does | Slug | | - | - | - | | Get function | Retrieves detailed information, metadata, configuration, and status for a specific Edge Function using its project reference ID and function slug. | `SUPABASE_GET_FUNCTION` | | Get function body | Retrieves the source code (body) for a specified serverless Edge Function using its project reference and function slug. | `SUPABASE_GET_FUNCTION_BODY` | | List functions | Lists metadata for all Edge Functions in a Supabase project (specified by 'ref'), excluding function code or logs. | `SUPABASE_LIST_FUNCTIONS` | | Action | What it does | Slug | | - | - | - | | List migration history | Retrieves the list of applied database migration versions for a Supabase project. | `SUPABASE_LIST_MIGRATION_HISTORY` | | Action | What it does | Slug | | - | - | - | | Alpha get third party integration | Retrieves the detailed configuration for a specific third-party authentication (TPA) provider, identified by tpa\_id, within an existing Supabase project specified by ref. | `SUPABASE_ALPHA_GET_THIRD_PARTY_INTEGRATION` | | Alpha list third party auth integrations | Lists all configured third-party authentication provider integrations for an existing Supabase project (using its ref), suitable for read-only auditing or verifying current authentication settings. | `SUPABASE_ALPHA_LIST_THIRD_PARTY_AUTH_INTEGRATIONS` | | Action | What it does | Slug | | - | - | - | | Get legacy signing key | Retrieves the signing key information for the JWT secret imported as signing key for this project. | `SUPABASE_GET_LEGACY_SIGNING_KEY` | | Get project legacy API keys | Checks whether JWT-based legacy API keys (anon, service\_role) are enabled for a Supabase project. | `SUPABASE_GET_PROJECT_LEGACY_API_KEYS` | | Get project signing keys | List all signing keys for a Supabase project. | `SUPABASE_GET_PROJECT_SIGNING_KEYS` | | Action | What it does | Slug | | - | - | - | | Get action run logs | Retrieves the execution logs for a specific action run by its ID. | `SUPABASE_GET_ACTION_RUN_LOGS` | | Get project logs | Retrieves analytics logs for a Supabase project. | `SUPABASE_GET_PROJECT_LOGS` | | Action | What it does | Slug | | - | - | - | | List organization members | Retrieves all members of a Supabase organization, identified by its unique slug, including their user ID, username, email, role, and MFA status. | `SUPABASE_LIST_ORGANIZATION_MEMBERS` | | Action | What it does | Slug | | - | - | - | | Get migration | Retrieves a specific database migration entry from the migration history using its version identifier. | `SUPABASE_GET_MIGRATION` | | Action | What it does | Slug | | - | - | - | | Get organization | Fetches comprehensive details for a specific Supabase organization using its unique slug. | `SUPABASE_GET_ORGANIZATION` | | List all organizations | Lists all organizations (ID and name only) associated with the Supabase account, excluding project details within these organizations. | `SUPABASE_LIST_ALL_ORGANIZATIONS` | | Action | What it does | Slug | | - | - | - | | Beta get project network bans | Retrieves the list of banned IPv4 addresses for a Supabase project using its unique project reference string. | `SUPABASE_BETA_GET_PROJECT_NETWORK_BANS` | | Beta get project network restrictions | Retrieves the network restriction settings (IP allowlists) for a Supabase project. | `SUPABASE_BETA_GET_PROJECT_NETWORK_RESTRICTIONS` | | Get project | Retrieves detailed information about a specific Supabase project by its unique reference ID. | `SUPABASE_GET_PROJECT` | | Get project readonly mode status | Retrieves the read-only mode status for a specified Supabase project to check its operational state. | `SUPABASE_GET_PROJECT_READONLY_MODE_STATUS` | | Get project upgrade eligibility | Checks a Supabase project's eligibility for an upgrade, verifying compatibility and identifying potential issues. | `SUPABASE_GET_PROJECT_UPGRADE_ELIGIBILITY` | | Get project upgrade status | Retrieves the latest status of a Supabase project's database upgrade for monitoring purposes. | `SUPABASE_GET_PROJECT_UPGRADE_STATUS` | | List all projects | Retrieves a list of all Supabase projects, including their ID, name, region, and status, for the authenticated user. | `SUPABASE_LIST_ALL_PROJECTS` | | Action | What it does | Slug | | - | - | - | | Run read only query | \[Beta] Run a SQL query as supabase\_read\_only\_user. | `SUPABASE_RUN_READ_ONLY_QUERY` | | Action | What it does | Slug | | - | - | - | | Get available regions | Get the list of available regions for creating a new Supabase project. | `SUPABASE_GET_AVAILABLE_REGIONS` | | Action | What it does | Slug | | - | - | - | | Count action runs | Counts the number of action runs for a Supabase project using a HEAD request. | `SUPABASE_COUNT_ACTION_RUNS` | | Get action run | Retrieves the status and details of a specific action run, including its steps, timestamps, and configuration. | `SUPABASE_GET_ACTION_RUN` | | Action | What it does | Slug | | - | - | - | | Get table schemas | Retrieves column details, types, and constraints for multiple database tables to help debug schema issues and write accurate SQL queries. | `SUPABASE_GET_TABLE_SCHEMAS` | | Action | What it does | Slug | | - | - | - | | Gets project s service health status | Retrieves the current health status for a Supabase project, for specified services or all services if the 'services' list is omitted. | `SUPABASE_GETS_PROJECT_S_SERVICE_HEALTH_STATUS` | | Action | What it does | Slug | | - | - | - | | Beta get project custom hostname config | Retrieves a Supabase project's custom hostname configuration, including its status, SSL certificate, and ownership verification, noting that availability may depend on the project's plan. | `SUPABASE_BETA_GET_PROJECT_CUSTOM_HOSTNAME_CONFIG` | | Beta get project SSL enforcement config | Retrieves the SSL enforcement configuration for a specified Supabase project, indicating if SSL connections are mandated for its database. | `SUPABASE_BETA_GET_PROJECT_SSL_ENFORCEMENT_CONFIG` | | Beta get vanity subdomain config | Fetches the current vanity subdomain configuration, including its status and custom domain name, for a Supabase project identified by its reference ID. | `SUPABASE_BETA_GET_VANITY_SUBDOMAIN_CONFIG` | | Get auth config | | `SUPABASE_GET_AUTH_CONFIG` | | Get database branch config | Retrieves the read-only configuration and status for a Supabase database branch, typically for monitoring or verifying its settings. | `SUPABASE_GET_DATABASE_BRANCH_CONFIG` | | Get jit access config | \[Beta] Retrieves the project's just-in-time (JIT) access configuration, including user roles and their expiration settings. | `SUPABASE_GET_JIT_ACCESS_CONFIG` | | Get project pgbouncer config | Retrieves the active PgBouncer configuration (PostgreSQL connection pooler) for a Supabase project, used for performance tuning, auditing, or getting the connection string. | `SUPABASE_GET_PROJECT_PGBOUNCER_CONFIG` | | Get project postgres config | Retrieves the current read-only PostgreSQL database configuration for a specified Supabase project's ref, noting that some advanced or security-sensitive details might be omitted from the response. | `SUPABASE_GET_PROJECT_POSTGRES_CONFIG` | | Get project postgrest config | Retrieves the PostgREST configuration for a specific Supabase project. | `SUPABASE_GET_PROJECT_POSTGREST_CONFIG` | | Get project supavisor config | Retrieves the Supavisor (connection pooler) configuration for a specified Supabase project, identified by its reference ID. | `SUPABASE_GET_PROJECT_SUPAVISOR_CONFIG` | | Get resumable upload base options | Handles OPTIONS request for TUS Resumable uploads to discover server capabilities. | `SUPABASE_GET_RESUMABLE_UPLOAD_BASE_OPTIONS` | | Get resumable upload options | Handles OPTIONS request for TUS Resumable uploads to discover server capabilities. | `SUPABASE_GET_RESUMABLE_UPLOAD_OPTIONS` | | Gets project s auth config | Retrieves the project's complete read-only authentication configuration, detailing all settings (e.g., providers, MFA, email/SMS, JWT, security policies) but excluding sensitive secrets. | `SUPABASE_GETS_PROJECT_S_AUTH_CONFIG` | | Handle resumable upload sign options | Handles CORS preflight OPTIONS request for TUS resumable upload signing. | `SUPABASE_HANDLE_RESUMABLE_UPLOAD_SIGN_OPTIONS` | | Handle resumable upload sign options with ID | Handles CORS preflight OPTIONS request for TUS resumable upload signing endpoints. | `SUPABASE_HANDLE_RESUMABLE_UPLOAD_SIGN_OPTIONS_WITH_ID` | | Action | What it does | Slug | | - | - | - | | Get SQL snippet | Retrieves a specific SQL snippet by its unique identifier. | `SUPABASE_GET_SQL_SNIPPET` | | List SQL snippets | Retrieves a list of SQL snippets for the logged-in user, optionally filtered by a specific Supabase project if project\_ref is provided. | `SUPABASE_LIST_SQL_SNIPPETS` | | Action | What it does | Slug | | - | - | - | | List buckets | Retrieves a list of all storage buckets for a Supabase project, without returning bucket contents or access policies. | `SUPABASE_LIST_BUCKETS` | | Action | What it does | Slug | | - | - | - | | List tables | Lists all tables and views in specified database schemas, providing a quick overview of database structure to help identify available tables before fetching detailed schemas. | `SUPABASE_LIST_TABLES` | | Select from table | Select rows from a Supabase/PostgREST table. | `SUPABASE_SELECT_FROM_TABLE` | | Action | What it does | Slug | | - | - | - | | Generate typescript types | Generates and retrieves TypeScript types from a Supabase project's database. | `SUPABASE_GENERATE_TYPESCRIPT_TYPES` | | Action | What it does | Slug | | - | - | - | | Get health | Check the health status of the Supabase API. | `SUPABASE_GET_HEALTH` | | Get performance advisors | Retrieves project performance advisors for a Supabase project. | `SUPABASE_GET_PERFORMANCE_ADVISORS` | | Get security advisors | Retrieves security advisor findings and recommendations for a Supabase project. | `SUPABASE_GET_SECURITY_ADVISORS` | | Get SSO provider | Retrieves the configuration details for a specific Single Sign-On (SSO) provider (e.g., SAML, Google, GitHub, Azure AD), identified by its UUID, within a Supabase project. | `SUPABASE_GET_SSO_PROVIDER` | | List SSO providers | Lists all configured Single Sign-On (SSO) providers for a Supabase project, requiring the project reference ID (ref) of an existing project. | `SUPABASE_LIST_SSO_PROVIDERS` | Teammates can use 77 of the 129 Supabase actions at this level: everything in **Read-only**, plus: * Create, update, delete, and run functions * Create, update, and manage branches * Create and update migrations * Update settings The 17 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Branches** | Create database branch | Creates a new, isolated database branch from an existing Supabase project (identified by ref), useful for setting up separate environments like development or testing, which can optionally be linked to a Git branch. | `SUPABASE_CREATE_DATABASE_BRANCH` | | | Merge branch | | `SUPABASE_MERGE_BRANCH` | | | Push branch | Pushes a database branch, applying migrations and changes to the specified branch. | `SUPABASE_PUSH_BRANCH` | | | Reset database branch | Resets an existing Supabase database branch, identified by branch\_id, to its initial clean state, irreversibly deleting all its current data and schema changes. | `SUPABASE_RESET_DATABASE_BRANCH` | | | Update branch | | `SUPABASE_UPDATE_BRANCH` | | **Functions** | Create function | Creates a new serverless Edge Function for a Supabase project (identified by ref), requiring valid JavaScript/TypeScript in body and a project-unique slug identifier. | `SUPABASE_CREATE_FUNCTION` | | | Delete edge function | | `SUPABASE_DELETE_EDGE_FUNCTION` | | | Delete function | Permanently deletes a specific Edge Function (by function\_slug) from a Supabase project (by ref). | `SUPABASE_DELETE_FUNCTION` | | | Deploy function | Deploys Edge Functions to a Supabase project using multipart upload. | `SUPABASE_DEPLOY_FUNCTION` | | | Invoke edge function | Invoke a deployed Supabase Edge Function over HTTPS. | `SUPABASE_INVOKE_EDGE_FUNCTION` | | | Update a function | Updates an existing Supabase Edge Function's properties (like name, slug, source code, JWT settings, import map) identified by project ref and function\_slug, supporting plain text code or ESZIP for the body. | `SUPABASE_UPDATE_A_FUNCTION` | | | Update functions | Bulk update Edge Functions in a Supabase project. | `SUPABASE_UPDATE_FUNCTIONS` | | **Migrations** | Apply a migration | Apply database migrations to a Supabase project. | `SUPABASE_APPLY_A_MIGRATION` | | | Patch migration | \[Beta] Patches an existing entry in the project's migration history, updating the name or rollback script. | `SUPABASE_PATCH_MIGRATION` | | | Upsert migration | Upsert a database migration without applying it. | `SUPABASE_UPSERT_MIGRATION` | | **Queries** | Beta run SQL query | Executes a given SQL query against the project's database. | `SUPABASE_BETA_RUN_SQL_QUERY` | | **Settings** | Update database branch config | Updates the configuration of a Supabase database branch, allowing modification of its name, associated Git branch, reset-on-push behavior, persistence, and status. | `SUPABASE_UPDATE_DATABASE_BRANCH_CONFIG` | ## Connect Supabase Before you start: * You need a Supabase account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Supabase** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Supabase**. The Supabase sign-in page opens in a new tab. Sign in to Supabase and approve the request. Check that it works: Supabase shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Supabase account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Supabase account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Supabase account Click **+ Account** on the Supabase card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Supabase side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Supabase**. 3. Sign in to Supabase and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Supabase account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Supabase.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Supabase account becomes primary. ## Costs Supabase actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Supabase, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Supabase connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Supabase account has an access level: **Read-only** and **Read + write**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Supabase card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Supabase account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Supabase.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Todoist Source: https://squad.so/docs/apps/todoist What teammates can do in Todoist at each access level, and how to connect, limit, and disconnect Todoist. Connect Todoist so your teammates can work in your Todoist account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Todoist account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as tasks, projects, comments, and labels. Cannot change anything." | 41 of 84 | | **Read + write** (recommended) | "Add new tasks, comments, and files. Cannot edit, complete, or delete existing tasks." | 48 of 84 | | **Full access** | "Everything, including editing, completing, and deleting tasks, projects, sections, and labels." | 84 of 84 | **Read + write** is the recommended level. The connect window selects it for you, and you can choose another level. The Todoist sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Todoist account?" The teammate can search the Todoist actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Todoist action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 41 of the 84 Todoist actions at this level: * View and search projects * View and search tasks * View and search labels * View and search sections * View backups * View invitations * View users * View workspaces * View activities * View collaborators * View comments * View filters All 41 actions at this level: | Action | What it does | Slug | | - | - | - | | List activities | Get activity logs from Todoist. | `TODOIST_LIST_ACTIVITIES` | | Action | What it does | Slug | | - | - | - | | Get backups | List all available backup archives for the user. | `TODOIST_GET_BACKUPS` | | Get special backups | List special backup archives for the authenticated user's projects. | `TODOIST_GET_SPECIAL_BACKUPS` | | Action | What it does | Slug | | - | - | - | | List project collaborators | Get all collaborators for a given project with cursor-based pagination. | `TODOIST_LIST_PROJECT_COLLABORATORS` | | Action | What it does | Slug | | - | - | - | | Get all comments | This tool retrieves all comments associated with a specific task or project in Todoist. | `TODOIST_GET_ALL_COMMENTS` | | Get comment v1 | Retrieve a single comment by ID using the v1 API. | `TODOIST_GET_COMMENT_V1` | | Action | What it does | Slug | | - | - | - | | List filters | List all filters for the authenticated user. | `TODOIST_LIST_FILTERS` | | Action | What it does | Slug | | - | - | - | | List pending workspace invitations | List pending invitation emails in a workspace. | `TODOIST_LIST_PENDING_WORKSPACE_INVITATIONS` | | List workspace invitations | List user emails with pending invitations to a workspace. | `TODOIST_LIST_WORKSPACE_INVITATIONS` | | Action | What it does | Slug | | - | - | - | | Get personal label | Retrieve a personal label by its ID. | `TODOIST_GET_PERSONAL_LABEL` | | List labels | Get all user labels with pagination support. | `TODOIST_LIST_LABELS` | | List shared labels | Retrieve shared label names from active tasks with pagination support. | `TODOIST_LIST_SHARED_LABELS` | | Search labels | Search user labels by name with case-insensitive matching. | `TODOIST_SEARCH_LABELS` | | Action | What it does | Slug | | - | - | - | | Get workspace plan details | Retrieve details about a workspace's current plan and usage. | `TODOIST_GET_WORKSPACE_PLAN_DETAILS` | | Action | What it does | Slug | | - | - | - | | Get all projects | Get all projects from a user's Todoist account. | `TODOIST_GET_ALL_PROJECTS` | | Get project | Retrieve a specific project by its ID using Todoist API v1. | `TODOIST_GET_PROJECT` | | Get project full | Retrieve full project data including all sections, tasks, and collaborators. | `TODOIST_GET_PROJECT_FULL` | | List archived projects | Get all archived projects from Todoist. | `TODOIST_LIST_ARCHIVED_PROJECTS` | | List archived workspace projects | List all archived projects in a workspace. | `TODOIST_LIST_ARCHIVED_WORKSPACE_PROJECTS` | | List workspace active projects | List all active workspace projects. | `TODOIST_LIST_WORKSPACE_ACTIVE_PROJECTS` | | List workspace archived projects | Get archived projects in a workspace. | `TODOIST_LIST_WORKSPACE_ARCHIVED_PROJECTS` | | Search projects | Search active user projects by name with support for wildcards and pagination. | `TODOIST_SEARCH_PROJECTS` | | Action | What it does | Slug | | - | - | - | | Get productivity stats | Retrieve comprehensive productivity statistics for the authenticated user. | `TODOIST_GET_PRODUCTIVITY_STATS` | | Action | What it does | Slug | | - | - | - | | Get project permissions | Retrieve all available roles and their associated actions in Todoist projects. | `TODOIST_GET_PROJECT_PERMISSIONS` | | Action | What it does | Slug | | - | - | - | | Get section v1 | Retrieve a specific section by its ID using Todoist v1 API. | `TODOIST_GET_SECTION_V1` | | List archived sections | Retrieve all archived sections for a specific project in Todoist. | `TODOIST_LIST_ARCHIVED_SECTIONS` | | List sections | Get all active sections for the user, with optional filtering by project. | `TODOIST_LIST_SECTIONS` | | Search sections | Search active sections by name, optionally filtered by project. | `TODOIST_SEARCH_SECTIONS` | | Action | What it does | Slug | | - | - | - | | Filter tasks | Get all tasks matching the filter. | `TODOIST_FILTER_TASKS` | | Get all tasks | Fetches all INCOMPLETE tasks from Todoist and returns their details. | `TODOIST_GET_ALL_TASKS` | | Get completed tasks by completion date | Retrieve completed tasks within a specified completion date window. | `TODOIST_GET_COMPLETED_TASKS_BY_COMPLETION_DATE` | | Get task | DEPRECATED: Use TODOIST\_GET\_TASK2 instead. | `TODOIST_GET_TASK` | | Get task2 | Retrieve a single active (non-completed) task by ID using API v1. | `TODOIST_GET_TASK2` | | List completed tasks | Retrieve all completed tasks with optional project filtering. | `TODOIST_LIST_COMPLETED_TASKS` | | List completed tasks by due date | Retrieve completed tasks within a specified due date range (up to 6 weeks). | `TODOIST_LIST_COMPLETED_TASKS_BY_DUE_DATE` | | Action | What it does | Slug | | - | - | - | | Export template as file | Export a Todoist project as a CSV template file. | `TODOIST_EXPORT_TEMPLATE_AS_FILE` | | Action | What it does | Slug | | - | - | - | | Get user | Retrieve information about the currently authenticated user. | `TODOIST_GET_USER` | | List workspace users | List users in workspace(s). | `TODOIST_LIST_WORKSPACE_USERS` | | Action | What it does | Slug | | - | - | - | | List all invitations workspaces | Return a list containing details of all pending invitations to a workspace. | `TODOIST_LIST_ALL_INVITATIONS_WORKSPACES` | | List joinable workspaces | Get workspaces the user can join. | `TODOIST_LIST_JOINABLE_WORKSPACES` | | Action | What it does | Slug | | - | - | - | | Get ID mappings | Translate IDs between Todoist API v1 and v2. | `TODOIST_GET_ID_MAPPINGS` | Teammates can use 48 of the 84 Todoist actions at this level: everything in **Read-only**, plus: * Create tasks * Create templates * Create files The 7 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Comments** | Create comment v1 | Create a new comment on a project or task using Todoist API v1. | `TODOIST_CREATE_COMMENT_V1` | | **Files** | Upload file | Upload a file to Todoist. | `TODOIST_UPLOAD_FILE` | | **Tasks** | Bulk create tasks | Create many tasks in one request using Todoist's Sync batching. | `TODOIST_BULK_CREATE_TASKS` | | | Create task | Create a new task in Todoist using the unified API v1. | `TODOIST_CREATE_TASK` | | | Quick add task | Add tasks using natural language parsing similar to the official Todoist clients. | `TODOIST_QUICK_ADD_TASK` | | **Templates** | Import template into project by ID | Import a template from Todoist's template gallery into an existing project. | `TODOIST_IMPORT_TEMPLATE_INTO_PROJECT_BY_ID` | | | Import template into project from file | Import a CSV template into an existing Todoist project from a file. | `TODOIST_IMPORT_TEMPLATE_INTO_PROJECT_FROM_FILE` | Teammates can use 84 of the 84 Todoist actions at this level: everything in **Read + write**, plus: * Create, update, archive, and delete projects * Update and delete tasks * Create, update, and delete sections * Update and delete comments * Create collaborators * Delete files * Create labels * Update settings * Create workspaces The 36 actions that this level adds to **Read + write**: | Action | What it does | Slug | | - | - | - | | Invite project collaborator | Invite a collaborator to a Todoist project by email. | `TODOIST_INVITE_PROJECT_COLLABORATOR` | | Action | What it does | Slug | | - | - | - | | Delete comment | Delete a specific comment from Todoist by its ID. | `TODOIST_DELETE_COMMENT` | | Update comment2 | Update a comment by ID and return its content via v1 API. | `TODOIST_UPDATE_COMMENT2` | | Action | What it does | Slug | | - | - | - | | Delete upload | Delete an uploaded file from Todoist. | `TODOIST_DELETE_UPLOAD` | | Action | What it does | Slug | | - | - | - | | Create label | DEPRECATED: Use TODOIST\_CREATE\_LABEL\_V1 instead. | `TODOIST_CREATE_LABEL` | | Create label v1 | Create a new personal label using API v1. | `TODOIST_CREATE_LABEL_V1` | | Delete label v1 | Delete a personal label using API v1. | `TODOIST_DELETE_LABEL_V1` | | Remove shared label v1 | Remove a shared label from all active tasks using API v1. | `TODOIST_REMOVE_SHARED_LABEL_V1` | | Rename shared labels v1 | Rename a shared label across all active tasks using API v1. | `TODOIST_RENAME_SHARED_LABELS_V1` | | Update label v1 second | Update an existing label using API v1. | `TODOIST_UPDATE_LABEL_V1_SECOND` | | Action | What it does | Slug | | - | - | - | | Archive project2 | Archive a project using Todoist API v1. | `TODOIST_ARCHIVE_PROJECT2` | | Create project | DEPRECATED: Use TODOIST\_TODOIST\_CREATE\_PROJECT2 instead. | `TODOIST_CREATE_PROJECT` | | Create project2 | Create a new project in Todoist using the unified API v1. | `TODOIST_CREATE_PROJECT2` | | Delete project2 | Delete a project and all of its sections and tasks using Todoist API v1. | `TODOIST_DELETE_PROJECT2` | | Unarchive project2 | Unarchive a previously archived Todoist project using API v1. | `TODOIST_UNARCHIVE_PROJECT2` | | Update project | DEPRECATED: Use TODOIST\_TODOIST\_UPDATE\_PROJECT2 instead. | `TODOIST_UPDATE_PROJECT` | | Update project2 | Update a project's properties using Todoist API v1. | `TODOIST_UPDATE_PROJECT2` | | Action | What it does | Slug | | - | - | - | | Create section | DEPRECATED: Use TODOIST\_CREATE\_SECTION\_V1 instead. | `TODOIST_CREATE_SECTION` | | Create section v1 | Create a new section within a project using API v1. | `TODOIST_CREATE_SECTION_V1` | | Delete section2 | Delete a section and all tasks within it. | `TODOIST_DELETE_SECTION2` | | Update section | DEPRECATED: Use TODOIST\_TODOIST\_UPDATE\_SECTION2 instead. | `TODOIST_UPDATE_SECTION` | | Update section2 | Update an existing section by its ID using Todoist v1 API. | `TODOIST_UPDATE_SECTION2` | | Action | What it does | Slug | | - | - | - | | Update notification setting | Update notification settings for the current user. | `TODOIST_UPDATE_NOTIFICATION_SETTING` | | Action | What it does | Slug | | - | - | - | | Close task | DEPRECATED: Use TODOIST\_CLOSE\_TASK\_V1 instead. | `TODOIST_CLOSE_TASK` | | Close task v1 | Close (complete) a task in Todoist using API v1. | `TODOIST_CLOSE_TASK_V1` | | Delete task | Delete a specific task from Todoist. | `TODOIST_DELETE_TASK` | | Delete task v1 | DEPRECATED: Use TODOIST\_DELETE\_TASK instead. | `TODOIST_DELETE_TASK_V1` | | Move task | Move a task to another project, section, or parent task while preserving task identity and metadata. | `TODOIST_MOVE_TASK` | | Move task rest API | Move a task to another project, section, or parent task using the REST API. | `TODOIST_MOVE_TASK_REST_API` | | Reopen task2 | Reopen a completed task in Todoist using API v1. | `TODOIST_REOPEN_TASK2` | | Reorder tasks | Reorder tasks deterministically by updating child\_order in bulk via the Sync API item\_reorder command. | `TODOIST_REORDER_TASKS` | | Update task | Update an existing task's properties. | `TODOIST_UPDATE_TASK` | | Action | What it does | Slug | | - | - | - | | Export template as URL | Export a Todoist project as a shareable template URL. | `TODOIST_EXPORT_TEMPLATE_AS_URL` | | Action | What it does | Slug | | - | - | - | | Add workspace | Create a new workspace in Todoist. | `TODOIST_ADD_WORKSPACE` | | Update workspace logo | Upload an image as the workspace logo or delete the existing logo. | `TODOIST_UPDATE_WORKSPACE_LOGO` | | Action | What it does | Slug | | - | - | - | | Sync | Sync data with Todoist server, supporting both read and write operations. | `TODOIST_SYNC` | ## Connect Todoist Before you start: * You need a Todoist account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Todoist** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Todoist**. The Todoist sign-in page opens in a new tab. Sign in to Todoist and approve the request. Check that it works: Todoist shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Todoist account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Todoist account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Todoist account Click **+ Account** on the Todoist card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Todoist side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Todoist**. 3. Sign in to Todoist and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Todoist account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Todoist.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Todoist account becomes primary. ## Costs Todoist actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Todoist, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Todoist connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Todoist account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Todoist card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Todoist account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Todoist.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Trello Source: https://squad.so/docs/apps/trello What teammates can do in Trello at each access level, and how to connect, limit, and disconnect Trello. Connect Trello so your teammates can work in your Trello account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Trello account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as boards, lists, cards, and members. Cannot change anything." | 149 of 330 | | **Read + write** (recommended) | "Create, edit, and archive boards, lists, cards, checklists, comments, and labels. Cannot change who can see a board or delete boards." | 231 of 330 | | **Full access** | "Everything, including board members and visibility, Power-Ups, workspaces, and permanent deletes." | 330 of 330 | **Read + write** is the recommended level. The connect window selects it for you, and you can choose another level. The Trello sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Trello account?" The teammate can search the Trello actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Trello action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 149 of the 330 Trello actions at this level: * View boards * View members * View cards * View lists * View organizations * View checklist items * View checklists * View plugins * View stickers * View webhooks * View change history * View emoji All 149 actions at this level: | Action | What it does | Slug | | - | - | - | | Who am I | | `TRELLO_WHO_AM_I` | | Action | What it does | Slug | | - | - | - | | Get cards attachments by ID card | Retrieves attachments for a Trello card. | `TRELLO_GET_CARDS_ATTACHMENTS_BY_ID_CARD` | | Get cards attachments by ID card by ID attachment | Retrieves a specific attachment from a Trello card by card ID and attachment ID. | `TRELLO_GET_CARDS_ATTACHMENTS_BY_ID_CARD_BY_ID_ATTACHMENT` | | Action | What it does | Slug | | - | - | - | | Get actions board by ID action | Retrieves details for the Trello board associated with a specific action ID, returning board information only. | `TRELLO_GET_ACTIONS_BOARD_BY_ID_ACTION` | | Get actions board by ID action by field | Retrieves a specified field from the Trello board associated with the provided Trello idAction. | `TRELLO_GET_ACTIONS_BOARD_BY_ID_ACTION_BY_FIELD` | | Get boards actions by ID board | Retrieves actions (e.g., card creations, comments) for a Trello board by its ID, useful for activity tracking. | `TRELLO_GET_BOARDS_ACTIONS_BY_ID_BOARD` | | Get boards by ID board | Fetches comprehensive details for a specific Trello board by its ID. | `TRELLO_GET_BOARDS_BY_ID_BOARD` | | Get boards by ID board by field | Retrieves the value of a single, specified field from a Trello board. | `TRELLO_GET_BOARDS_BY_ID_BOARD_BY_FIELD` | | Get cards board by ID card | Fetches detailed information about the Trello board to which a specific, existing, and accessible card belongs, using the card's ID or short link. | `TRELLO_GET_CARDS_BOARD_BY_ID_CARD` | | Get cards board by ID card by field | Retrieves a specific field from the board associated with a given Trello card. | `TRELLO_GET_CARDS_BOARD_BY_ID_CARD_BY_FIELD` | | Get checklists board by ID checklist | Retrieves the Trello board a specific checklist belongs to, using the checklist ID. | `TRELLO_GET_CHECKLISTS_BOARD_BY_ID_CHECKLIST` | | Get checklists board by ID checklist by field | Retrieves a specified field (e.g., 'name', 'desc') from the Trello board associated with the given idChecklist. | `TRELLO_GET_CHECKLISTS_BOARD_BY_ID_CHECKLIST_BY_FIELD` | | Get labels board by ID label | Retrieves the Trello board to which a given, valid Trello label ID (idLabel) belongs. | `TRELLO_GET_LABELS_BOARD_BY_ID_LABEL` | | Get labels board by ID label by field | Retrieves a specified field (e.g., 'name', 'url') from the Trello board associated with a given idLabel. | `TRELLO_GET_LABELS_BOARD_BY_ID_LABEL_BY_FIELD` | | Get lists board by ID list | Retrieves the board to which a specific Trello list belongs. | `TRELLO_GET_LISTS_BOARD_BY_ID_LIST` | | Get lists board by ID list by field | Retrieves a specific field (e.g., 'name', 'desc', 'url') from the Trello board associated with a given list ID. | `TRELLO_GET_LISTS_BOARD_BY_ID_LIST_BY_FIELD` | | Get member board background | Retrieves a specific custom board background for a Trello member by its ID. | `TRELLO_GET_MEMBER_BOARD_BACKGROUND` | | Get members board backgrounds by ID member | Fetches the board backgrounds for a specified Trello member. | `TRELLO_GET_MEMBERS_BOARD_BACKGROUNDS_BY_ID_MEMBER` | | Get members boards by ID member | Retrieves board-level details (not lists/cards) for Trello boards associated with a member ID or username, allowing extensive customization of the returned data. | `TRELLO_GET_MEMBERS_BOARDS_BY_ID_MEMBER` | | Get members boards by ID member by filter | Retrieves a list of boards for a specific Trello member, applying a filter such as 'open', 'starred', or 'all'. | `TRELLO_GET_MEMBERS_BOARDS_BY_ID_MEMBER_BY_FILTER` | | Get members boards invited by ID member | Retrieves Trello boards to which a specific member has been invited but has not yet joined. | `TRELLO_GET_MEMBERS_BOARDS_INVITED_BY_ID_MEMBER` | | Get members boards invited by ID member by field | Retrieves a specific field from Trello boards to which a member has been invited but not yet joined. | `TRELLO_GET_MEMBERS_BOARDS_INVITED_BY_ID_MEMBER_BY_FIELD` | | Get members custom board backgrounds by ID member | Retrieves custom board backgrounds for a Trello member, who must exist, using their ID or username. | `TRELLO_GET_MEMBERS_CUSTOM_BOARD_BACKGROUNDS_BY_ID_MEMBER` | | Get members me boards | DEPRECATED: Use TRELLO\_MEMBER\_GET\_BOARDS\_BY\_ID\_MEMBER instead. | `TRELLO_GET_MEMBERS_ME_BOARDS` | | Get notifications board by ID notification | Gets the Trello board associated with a given notification ID, returning only board data and allowing selection of specific board fields. | `TRELLO_GET_NOTIFICATIONS_BOARD_BY_ID_NOTIFICATION` | | Get notifications board by ID notification by field | Retrieves a specific field from the board associated with a Trello notification. | `TRELLO_GET_NOTIFICATIONS_BOARD_BY_ID_NOTIFICATION_BY_FIELD` | | Get organizations boards by ID org | Fetches boards for a Trello organization, specified by its ID or name, with options to filter and customize returned data. | `TRELLO_GET_ORGANIZATIONS_BOARDS_BY_ID_ORG` | | Action | What it does | Slug | | - | - | - | | Get actions card by ID action | Retrieves Trello card details for a given idAction, which must be an action specifically linked to a card. | `TRELLO_GET_ACTIONS_CARD_BY_ID_ACTION` | | Get actions card by ID action by field | Retrieves a specific field from the Trello card associated with the given action ID. | `TRELLO_GET_ACTIONS_CARD_BY_ID_ACTION_BY_FIELD` | | Get boards cards by ID board | Retrieves cards from an existing Trello board, allowing filtering and customization of fields for cards, attachments, and members. | `TRELLO_GET_BOARDS_CARDS_BY_ID_BOARD` | | Get boards cards by ID board by filter | Retrieves cards from a specified Trello board, filtered by 'all' (all cards), 'closed' (archived only), 'open' (non-archived), or 'visible' (cards on non-archived lists). | `TRELLO_GET_BOARDS_CARDS_BY_ID_BOARD_BY_FILTER` | | Get boards cards by ID board by ID card | Retrieves details for a specific Trello card by its ID and its parent board's ID, with options to customize returned fields for the card and associated data like attachments, actions, members, and checklists. | `TRELLO_GET_BOARDS_CARDS_BY_ID_BOARD_BY_ID_CARD` | | Get boards members cards by ID board by ID member | Retrieves cards for a member on a board, with options to customize returned fields and related data. | `TRELLO_GET_BOARDS_MEMBERS_CARDS_BY_ID_BOARD_BY_ID_MEMBER` | | Get cards actions by ID card | Retrieves the history of actions (e.g., comments, updates, moves) for a Trello card specified by idCard. | `TRELLO_GET_CARDS_ACTIONS_BY_ID_CARD` | | Get cards by ID card | Retrieves a Trello card by its ID or shortlink, with options to include related data like actions, attachments, members, and checklists. | `TRELLO_GET_CARDS_BY_ID_CARD` | | Get cards by ID card by field | Retrieves the value of a single, specified field from a Trello card. | `TRELLO_GET_CARDS_BY_ID_CARD_BY_FIELD` | | Get checklists cards by ID checklist | Retrieves cards associated with a specific, valid Trello checklist ID, allowing for filtering and customization of card and related entity data fields. | `TRELLO_GET_CHECKLISTS_CARDS_BY_ID_CHECKLIST` | | Get lists cards by ID list | Fetches cards from a Trello list by its ID, with options to filter and customize the returned card data. | `TRELLO_GET_LISTS_CARDS_BY_ID_LIST` | | Get member org cards | Fetches all cards assigned to a specific member of a given Trello organization. | `TRELLO_GET_MEMBER_ORG_CARDS` | | Get members cards by ID member | Retrieves cards for a Trello member, specified by ID or username, with options to filter cards and include related data like actions, attachments, and checklists. | `TRELLO_GET_MEMBERS_CARDS_BY_ID_MEMBER` | | Get notifications card by ID notification | Retrieves the card associated with a Trello notification. | `TRELLO_GET_NOTIFICATIONS_CARD_BY_ID_NOTIFICATION` | | Get notifications card by ID notification by field | Retrieves a specific field of a Trello card, using the ID of a notification that is directly associated with that card. | `TRELLO_GET_NOTIFICATIONS_CARD_BY_ID_NOTIFICATION_BY_FIELD` | | Action | What it does | Slug | | - | - | - | | Get boards deltas by ID board | Retrieves recent changes (deltas) for a Trello board by its ID, allowing tracking of modifications since a specified update sequence number (ixLastUpdate). | `TRELLO_GET_BOARDS_DELTAS_BY_ID_BOARD` | | Get members deltas by ID member | Retrieves a chronological list of all changes (deltas) made by a specific Trello member, including modifications to boards, lists, and cards, to audit activity or sync data. | `TRELLO_GET_MEMBERS_DELTAS_BY_ID_MEMBER` | | Get organizations deltas by ID org | Retrieves a log of recent modifications (deltas) for a Trello organization, filterable by tags and supporting incremental fetching via an update index. | `TRELLO_GET_ORGANIZATIONS_DELTAS_BY_ID_ORG` | | Action | What it does | Slug | | - | - | - | | Get cards check item | Retrieve a specific checkItem on a card. | `TRELLO_GET_CARDS_CHECK_ITEM` | | Get cards check item states by ID card | Gets the completed checklist items on a Trello card. | `TRELLO_GET_CARDS_CHECK_ITEM_STATES_BY_ID_CARD` | | Get cards custom field items by ID card | Retrieve a card's customFieldItems array. | `TRELLO_GET_CARDS_CUSTOM_FIELD_ITEMS_BY_ID_CARD` | | Get check item by ID | Retrieves a specific check item from a checklist using the checklist ID and check item ID. | `TRELLO_GET_CHECK_ITEM_BY_ID` | | Get checklists check items by ID checklist | Retrieves all check items from a Trello checklist. | `TRELLO_GET_CHECKLISTS_CHECK_ITEMS_BY_ID_CHECKLIST` | | Action | What it does | Slug | | - | - | - | | Get boards checklists by ID board | Retrieves checklists (primarily structure/metadata, not detailed item history) from a Trello board, with options to include associated card and check item details and to control which fields are returned for each entity. | `TRELLO_GET_BOARDS_CHECKLISTS_BY_ID_BOARD` | | Get cards checklists by ID card | Retrieves all checklists, including their check items, for a Trello card specified by its ID or shortlink, if the card exists and is accessible. | `TRELLO_GET_CARDS_CHECKLISTS_BY_ID_CARD` | | Get checklists by ID checklist | Fetches a Trello checklist by its idChecklist, requiring the ID to refer to an existing checklist, and allows specifying which details of the checklist, its cards, and check items are returned. | `TRELLO_GET_CHECKLISTS_BY_ID_CHECKLIST` | | Get checklists by ID checklist by field | Retrieves a specific field's value from a Trello checklist by its ID and the field name, without loading the entire checklist object or its items. | `TRELLO_GET_CHECKLISTS_BY_ID_CHECKLIST_BY_FIELD` | | Action | What it does | Slug | | - | - | - | | Get boards custom fields | Retrieve custom field definitions for a board. | `TRELLO_GET_BOARDS_CUSTOM_FIELDS` | | Action | What it does | Slug | | - | - | - | | Get member custom emoji | Retrieves a specific custom emoji by its ID for a Trello member, requiring that both the member and emoji exist and are associated. | `TRELLO_GET_MEMBER_CUSTOM_EMOJI` | | Get members custom emoji by ID member | Retrieves all custom (user-specific, non-standard) emojis that a specified Trello member has created or can access. | `TRELLO_GET_MEMBERS_CUSTOM_EMOJI_BY_ID_MEMBER` | | List emoji | List all available emoji in Trello. | `TRELLO_LIST_EMOJI` | | Action | What it does | Slug | | - | - | - | | Get actions by ID action by field | Retrieves the value of a specific field (e.g., 'data', 'date', 'type') from a Trello action using its unique ID. | `TRELLO_GET_ACTIONS_BY_ID_ACTION_BY_FIELD` | | Action | What it does | Slug | | - | - | - | | Get org new billable guests by board | Check for new billable guests on a board within an organization. | `TRELLO_GET_ORG_NEW_BILLABLE_GUESTS_BY_BOARD` | | Action | What it does | Slug | | - | - | - | | Get boards labels by ID board | Fetches labels for a specified Trello board, aiding in its organization or label management. | `TRELLO_GET_BOARDS_LABELS_BY_ID_BOARD` | | Get boards labels by ID board by ID label | Fetches specified fields for a specific label on a Trello board. | `TRELLO_GET_BOARDS_LABELS_BY_ID_BOARD_BY_ID_LABEL` | | Get labels by ID label | Retrieves detailed information for a specific Trello label by its ID, allowing selection of specific fields to return. | `TRELLO_GET_LABELS_BY_ID_LABEL` | | Action | What it does | Slug | | - | - | - | | Get actions list by ID action | Retrieves the Trello list associated with a specific Trello action ID, for actions linked to a list. | `TRELLO_GET_ACTIONS_LIST_BY_ID_ACTION` | | Get actions list by ID action by field | Retrieves a specific field of the list associated with a Trello action, returning only that single field's value. | `TRELLO_GET_ACTIONS_LIST_BY_ID_ACTION_BY_FIELD` | | Get boards lists by ID board | Retrieves lists from a specified Trello board, with options to filter lists and include card details. | `TRELLO_GET_BOARDS_LISTS_BY_ID_BOARD` | | Get boards lists by ID board by filter | DEPRECATED: Use TRELLO\_BOARD\_GET\_LISTS\_BY\_ID\_BOARD instead. | `TRELLO_GET_BOARDS_LISTS_BY_ID_BOARD_BY_FILTER` | | Get cards list by ID card | Gets the Trello list to which a specified card (which must exist) belongs. | `TRELLO_GET_CARDS_LIST_BY_ID_CARD` | | Get cards list by ID card by field | Fetches a specific field from the Trello list that a given card belongs to. | `TRELLO_GET_CARDS_LIST_BY_ID_CARD_BY_FIELD` | | Get lists actions by ID list | Retrieves actions (like card movements or comments, newest first) for a Trello list by its ID, to track history or create activity logs. | `TRELLO_GET_LISTS_ACTIONS_BY_ID_LIST` | | Get lists by ID list | Retrieves a Trello list by its unique ID, optionally including details for its cards and parent board. | `TRELLO_GET_LISTS_BY_ID_LIST` | | Get lists by ID list by field | Fetches the value of a single, specified field from a Trello list. | `TRELLO_GET_LISTS_BY_ID_LIST_BY_FIELD` | | Get notifications list by ID notification | Retrieves the Trello list associated with a specific notification ID, for notifications linked to a list (e.g., card creation or movement notifications). | `TRELLO_GET_NOTIFICATIONS_LIST_BY_ID_NOTIFICATION` | | Get notifications list by ID notification by field | Efficiently retrieves a single specified field from a Trello list linked to a notification, avoiding fetching the entire list. | `TRELLO_GET_NOTIFICATIONS_LIST_BY_ID_NOTIFICATION_BY_FIELD` | | Action | What it does | Slug | | - | - | - | | Get actions member by ID action | Retrieves the Trello member who was the subject of an action (not the creator). | `TRELLO_GET_ACTIONS_MEMBER_BY_ID_ACTION` | | Get actions member by ID action by field | Retrieves a specific field of the member who was the subject of a Trello action. | `TRELLO_GET_ACTIONS_MEMBER_BY_ID_ACTION_BY_FIELD` | | Get actions member creator by ID action | Retrieves details about the Trello member who created the action with the given idAction. | `TRELLO_GET_ACTIONS_MEMBER_CREATOR_BY_ID_ACTION` | | Get actions member creator by ID action by field | Retrieves a specific field from the profile of the Trello member who created a given action. | `TRELLO_GET_ACTIONS_MEMBER_CREATOR_BY_ID_ACTION_BY_FIELD` | | Get boards members by ID board | Retrieves members of a Trello board, with options to filter the list and select specific member fields to return. | `TRELLO_GET_BOARDS_MEMBERS_BY_ID_BOARD` | | Get boards members invited by ID board | Retrieves a list of members invited to a specific Trello board who have not yet joined. | `TRELLO_GET_BOARDS_MEMBERS_INVITED_BY_ID_BOARD` | | Get boards members invited by ID board by field | Retrieves a specific field (e.g., email, username) for members who have been invited to a Trello board but have not yet joined. | `TRELLO_GET_BOARDS_MEMBERS_INVITED_BY_ID_BOARD_BY_FIELD` | | Get boards memberships by ID board | Retrieves Trello board memberships (user roles and permissions) for auditing access or managing collaboration, returning only membership data and not other board content. | `TRELLO_GET_BOARDS_MEMBERSHIPS_BY_ID_BOARD` | | Get boards memberships by ID board by ID membership | Retrieves a specific membership on a Trello board by its ID, optionally including member details. | `TRELLO_GET_BOARDS_MEMBERSHIPS_BY_ID_BOARD_BY_ID_MEMBERSHIP` | | Get cards members by ID card | Retrieves members of a Trello card, identified by its ID or shortLink, allowing customization of which member fields are returned. | `TRELLO_GET_CARDS_MEMBERS_BY_ID_CARD` | | Get cards members voted by ID card | Fetches members who voted on a Trello card. | `TRELLO_GET_CARDS_MEMBERS_VOTED_BY_ID_CARD` | | Get member custom bg | Retrieves metadata (e.g., brightness, URLs, tiling status) for a specific custom board background of a Trello member, not the image file itself. | `TRELLO_GET_MEMBER_CUSTOM_BG` | | Get members actions by ID member | Retrieves a list of actions for a specified Trello member, allowing filtering by type, date, models, and control over output format and fields. | `TRELLO_GET_MEMBERS_ACTIONS_BY_ID_MEMBER` | | Get members by ID member | Fetches comprehensive information about a Trello member, specified by ID or username, including profile, activities, boards, cards, notifications, and organization affiliations, with customizable detail levels via filters and field parameters. | `TRELLO_GET_MEMBERS_BY_ID_MEMBER` | | Get members by ID member by field | Efficiently retrieves a specific field (e.g., fullName, username, bio) of a Trello member using their ID or username, without fetching the entire member profile. | `TRELLO_GET_MEMBERS_BY_ID_MEMBER_BY_FIELD` | | Get members me | Retrieve information about the currently authenticated Trello member. | `TRELLO_GET_MEMBERS_ME` | | Get members saved searches by ID member | Retrieves all saved search queries for a Trello member. | `TRELLO_GET_MEMBERS_SAVED_SEARCHES_BY_ID_MEMBER` | | Get members saved searches by ID member by ID saved s | Get Member Saved Search. | `TRELLO_GET_MEMBERS_SAVED_SEARCHES_BY_ID_MEMBER_BY_ID_SAVED_S` | | Get notifications member by ID notification | Fetches details of the member (not the notification content itself) associated with a specific Trello notification ID. | `TRELLO_GET_NOTIFICATIONS_MEMBER_BY_ID_NOTIFICATION` | | Get notifications member by ID notification by field | Retrieves a specific field value of the Trello member associated with a notification. | `TRELLO_GET_NOTIFICATIONS_MEMBER_BY_ID_NOTIFICATION_BY_FIELD` | | Get notifications member creator by ID notification | Fetches the creator (member) of a Trello notification, identified by idNotification, returning only creator details and respecting Trello privacy settings and user permissions. | `TRELLO_GET_NOTIFICATIONS_MEMBER_CREATOR_BY_ID_NOTIFICATION` | | Get notifications member creator by ID notification b | Get notification creator field. | `TRELLO_GET_NOTIFICATIONS_MEMBER_CREATOR_BY_ID_NOTIFICATION_B` | | Get org membership | Retrieves a specific membership within a Trello organization, using their respective IDs, to ascertain the member's role, status, or permissions. | `TRELLO_GET_ORG_MEMBERSHIP` | | Get organizations members by ID org | Retrieves members of a Trello organization (specified by ID or name), with an option to include member activity if the organization is Premium. | `TRELLO_GET_ORGANIZATIONS_MEMBERS_BY_ID_ORG` | | Get organizations members invited by ID org | Retrieves members invited to a Trello organization who have not yet accepted their invitation, returning only data for pending invitations (not active or former members) and cannot send or modify invitations. | `TRELLO_GET_ORGANIZATIONS_MEMBERS_INVITED_BY_ID_ORG` | | Get organizations members invited by ID org by field | Retrieves a specific field (e.g., fullName, username, email, status) for members with pending invitations to the Trello organization specified by idOrg. | `TRELLO_GET_ORGANIZATIONS_MEMBERS_INVITED_BY_ID_ORG_BY_FIELD` | | Get organizations memberships by ID org | Fetches organization-level memberships for a Trello organization, with options to filter members and include their details. | `TRELLO_GET_ORGANIZATIONS_MEMBERSHIPS_BY_ID_ORG` | | Get search members | Searches Trello members by name, username, or email, optionally scoped to a board or organization. | `TRELLO_GET_SEARCH_MEMBERS` | | Get tokens member by token | Retrieves information about the Trello member associated with the current API token, allowing customization of the returned fields. | `TRELLO_GET_TOKENS_MEMBER_BY_TOKEN` | | Get tokens member by token by field | Retrieves a specific field for the Trello member associated with the current API token. | `TRELLO_GET_TOKENS_MEMBER_BY_TOKEN_BY_FIELD` | | Action | What it does | Slug | | - | - | - | | Get members notifications by ID member | Retrieves notifications for a Trello member, specified by their ID or username, with options for filtering and pagination. | `TRELLO_GET_MEMBERS_NOTIFICATIONS_BY_ID_MEMBER` | | Get notifications by ID notification | Retrieves a specific Trello notification by its ID, optionally including related entities and specific fields for the notification and its related entities. | `TRELLO_GET_NOTIFICATIONS_BY_ID_NOTIFICATION` | | Get notifications by ID notification by field | Retrieves a specific field from a Trello notification. | `TRELLO_GET_NOTIFICATIONS_BY_ID_NOTIFICATION_BY_FIELD` | | Get notifications display by ID notification | Retrieves the information needed to display an existing Trello notification, identified by its ID, without altering the notification or fetching its complete metadata. | `TRELLO_GET_NOTIFICATIONS_DISPLAY_BY_ID_NOTIFICATION` | | Action | What it does | Slug | | - | - | - | | Get actions organization by ID action | Fetches the organization details for a given Trello action, if the action has an associated organization. | `TRELLO_GET_ACTIONS_ORGANIZATION_BY_ID_ACTION` | | Get actions organization by ID action by field | Retrieves the value of a specific field for the organization associated with a Trello idAction. | `TRELLO_GET_ACTIONS_ORGANIZATION_BY_ID_ACTION_BY_FIELD` | | Get boards organization by ID board | Fetches information about the Trello Workspace (organization) to which a specific board belongs, returning details for the Workspace only, not the board itself or its content. | `TRELLO_GET_BOARDS_ORGANIZATION_BY_ID_BOARD` | | Get boards organization by ID board by field | Retrieves a specific field from the organization associated with a Trello board, useful for obtaining targeted details without fetching the entire organization object. | `TRELLO_GET_BOARDS_ORGANIZATION_BY_ID_BOARD_BY_FIELD` | | Get member invited org | Get a specific field of an organization to which the member has a pending invitation. | `TRELLO_GET_MEMBER_INVITED_ORG` | | Get members organizations by ID member | Fetches organizations a specific Trello member belongs to. | `TRELLO_GET_MEMBERS_ORGANIZATIONS_BY_ID_MEMBER` | | Get members organizations invited by ID member | Retrieves organizations a Trello member has been invited to but has not yet accepted or declined. | `TRELLO_GET_MEMBERS_ORGANIZATIONS_INVITED_BY_ID_MEMBER` | | Get notifications organization by ID notification | Retrieves the Trello organization linked to a specific notification ID. | `TRELLO_GET_NOTIFICATIONS_ORGANIZATION_BY_ID_NOTIFICATION` | | Get notifications organization by ID notification by | Get notification organization field. | `TRELLO_GET_NOTIFICATIONS_ORGANIZATION_BY_ID_NOTIFICATION_BY_` | | Get organizations actions by ID org | Retrieves a log of actions (e.g., card creations, list movements, comments) for a specified Trello organization, filterable by type, date range, and models. | `TRELLO_GET_ORGANIZATIONS_ACTIONS_BY_ID_ORG` | | Get organizations by ID org | Retrieves detailed information about a specific Trello organization, including optional related resources like members, boards, and actions, using its ID or unique name. | `TRELLO_GET_ORGANIZATIONS_BY_ID_ORG` | | Get organizations by ID org by field | Retrieves the value of a single specified field for a Trello organization idOrg, ideal for efficiently fetching a specific piece of information without loading the full organization details. | `TRELLO_GET_ORGANIZATIONS_BY_ID_ORG_BY_FIELD` | | Action | What it does | Slug | | - | - | - | | Get board plugins by ID | Get the list of enabled Power-Ups on a Trello board. | `TRELLO_GET_BOARDS_BOARD_PLUGINS_BY_ID` | | Get boards plugins by ID board | Retrieves Power-Ups (plugins) enabled on a Trello board. | `TRELLO_GET_BOARDS_PLUGINS_BY_ID_BOARD` | | Get cards plugin data by ID | Retrieve any shared pluginData on a card. | `TRELLO_GET_CARDS_PLUGIN_DATA_BY_ID` | | Get organizations plugin data | Get organization-scoped pluginData on a Trello Workspace. | `TRELLO_GET_ORGANIZATIONS_PLUGIN_DATA` | | Action | What it does | Slug | | - | - | - | | Get actions reactions by ID | Retrieves detailed information about a specific reaction on a Trello action. | `TRELLO_GET_ACTIONS_REACTIONS_BY_ID` | | Get actions reactions by ID action | List reactions for a specific action. | `TRELLO_GET_ACTIONS_REACTIONS_BY_ID_ACTION` | | Action | What it does | Slug | | - | - | - | | Get actions entities by ID action | Retrieves all entities (e.g., boards, lists, cards, members) associated with a specific, existing Trello action ID. | `TRELLO_GET_ACTIONS_ENTITIES_BY_ID_ACTION` | | Get notifications entities by ID notification | Retrieves the entities (members, cards, boards, lists, etc.) associated with a specific Trello notification. | `TRELLO_GET_NOTIFICATIONS_ENTITIES_BY_ID_NOTIFICATION` | | Action | What it does | Slug | | - | - | - | | Get boards my prefs by ID board | Retrieves the authenticated user's preferences for a specific Trello board. | `TRELLO_GET_BOARDS_MY_PREFS_BY_ID_BOARD` | | Action | What it does | Slug | | - | - | - | | Get board stars by ID board | Retrieves board stars (user-marked favorites) for a specified Trello board, where idBoard must be an existing board. | `TRELLO_GET_BOARDS_BOARD_STARS_BY_ID_BOARD` | | Get members board stars by ID member | Fetches only the boards a specific Trello member has starred, identified by their ID or username. | `TRELLO_GET_MEMBERS_BOARD_STARS_BY_ID_MEMBER` | | Get members board stars by ID member by ID board star | Retrieves detailed information about a specific board star (a Trello board marked as a favorite) for a given Trello member. | `TRELLO_GET_MEMBERS_BOARD_STARS_BY_ID_MEMBER_BY_ID_BOARD_STAR` | | Action | What it does | Slug | | - | - | - | | Get cards stickers by ID card | Retrieves all visual stickers (used for categorization, emphasis, or decoration) from an existing and accessible Trello card. | `TRELLO_GET_CARDS_STICKERS_BY_ID_CARD` | | Get cards stickers by ID card by ID sticker | Retrieve detailed properties (like image, position, rotation) of a specific sticker on a Trello card. | `TRELLO_GET_CARDS_STICKERS_BY_ID_CARD_BY_ID_STICKER` | | Get members custom stickers by ID member | Retrieves a member's custom stickers, which are unique personalized stickers created by them, distinct from standard Trello stickers. | `TRELLO_GET_MEMBERS_CUSTOM_STICKERS_BY_ID_MEMBER` | | Get members custom stickers by ID member by ID sticke | Get member custom sticker. | `TRELLO_GET_MEMBERS_CUSTOM_STICKERS_BY_ID_MEMBER_BY_ID_STICKE` | | Action | What it does | Slug | | - | - | - | | Get organizations tags by ID | Lists all collections (tags) associated with a Trello organization. | `TRELLO_GET_ORGANIZATIONS_TAGS_BY_ID` | | Action | What it does | Slug | | - | - | - | | Get members tokens by ID member | Retrieves API token metadata for a Trello member. | `TRELLO_GET_MEMBERS_TOKENS_BY_ID_MEMBER` | | Get tokens by token | Retrieves information about a specific Trello API token, allowing selection of specific fields and inclusion of webhook details. | `TRELLO_GET_TOKENS_BY_TOKEN` | | Get tokens by token by field | Retrieves a specific field from a Trello token, provided the token is valid, has necessary permissions, and the field is a valid token field. | `TRELLO_GET_TOKENS_BY_TOKEN_BY_FIELD` | | Action | What it does | Slug | | - | - | - | | Get types by ID | Identifies the type of a Trello resource (member or organization) given its ID. | `TRELLO_GET_TYPES_BY_ID` | | Action | What it does | Slug | | - | - | - | | Get tokens webhooks by token | Retrieves all webhooks associated with a specific Trello API token. | `TRELLO_GET_TOKENS_WEBHOOKS_BY_TOKEN` | | Get tokens webhooks by token by ID webhook | Retrieves detailed information for a specific Trello webhook, identified by idWebhook, that is associated with the given token. | `TRELLO_GET_TOKENS_WEBHOOKS_BY_TOKEN_BY_ID_WEBHOOK` | | Get webhooks by ID webhook | Retrieves the full configuration and status for a specific Trello webhook by its unique ID. | `TRELLO_GET_WEBHOOKS_BY_ID_WEBHOOK` | | Get webhooks by ID webhook by field | Gets a specific field's value from a Trello webhook, avoiding retrieval of the full webhook object. | `TRELLO_GET_WEBHOOKS_BY_ID_WEBHOOK_BY_FIELD` | | Action | What it does | Slug | | - | - | - | | Get actions by ID action | Retrieves detailed information about a specific Trello action by its ID. | `TRELLO_GET_ACTIONS_BY_ID_ACTION` | | Get actions display by ID action | Retrieves a display-friendly representation of an existing and accessible Trello action for UI/report purposes, providing presentation-focused data instead of full raw details and without altering the action. | `TRELLO_GET_ACTIONS_DISPLAY_BY_ID_ACTION` | | Get batch | Executes multiple Trello API GET requests in a single batch operation for efficient bulk data retrieval. | `TRELLO_GET_BATCH` | | Get search | Searches Trello content (e.g., boards, cards, members) within specified organizations using a query and customizable result fields. | `TRELLO_GET_SEARCH` | Teammates can use 231 of the 330 Trello actions at this level: everything in **Read-only**, plus: * Create, update, and delete labels * Create, update, and archive cards * Create, update, and delete checklist items * Create, update, and delete checklists * Create and update lists * Create and update boards * Create, update, and delete comments * Create, update, and delete stickers * Create and delete reactions * Create attachments * Update members The 82 actions that this level adds to **Read-only**: | Action | What it does | Slug | | - | - | - | | Add cards attachments by ID card | Adds an attachment to a Trello card by idCard. | `TRELLO_ADD_CARDS_ATTACHMENTS_BY_ID_CARD` | | Update cards ID attachment cover by ID card | Sets or removes the attachment cover for a Trello card. | `TRELLO_UPDATE_CARDS_ID_ATTACHMENT_COVER_BY_ID_CARD` | | Action | What it does | Slug | | - | - | - | | Add boards | Creates a new Trello board. | `TRELLO_ADD_BOARDS` | | Update boards closed by ID board | Archives (closes) an active Trello board or reopens a previously archived board. | `TRELLO_UPDATE_BOARDS_CLOSED_BY_ID_BOARD` | | Update boards desc by ID board | Updates the description of a specified Trello board. | `TRELLO_UPDATE_BOARDS_DESC_BY_ID_BOARD` | | Update boards name by ID board | Updates the name of an existing Trello board, identified by idBoard. | `TRELLO_UPDATE_BOARDS_NAME_BY_ID_BOARD` | | Update boards subscribed by ID board | Updates the authenticated user's subscription status (subscribe/unsubscribe for notifications) for a specified Trello board, to which the user must have access. | `TRELLO_UPDATE_BOARDS_SUBSCRIBED_BY_ID_BOARD` | | Update cards ID board by ID card | Moves a Trello card to a different board and, optionally, to a specific list on that new board, useful for reorganizing across projects or workflows. | `TRELLO_UPDATE_CARDS_ID_BOARD_BY_ID_CARD` | | Update lists ID board by ID list | Moves an existing Trello list (identified by idList) to an existing destination board (board ID in value), optionally setting its new position (pos). | `TRELLO_UPDATE_LISTS_ID_BOARD_BY_ID_LIST` | | Action | What it does | Slug | | - | - | - | | Add card vote | Casts a 'yes' vote for a specified member on a Trello card. | `TRELLO_ADD_CARD_VOTE` | | Add cards | Creates a new card in a Trello list. | `TRELLO_ADD_CARDS` | | Add lists cards by ID list | DEPRECATED: Use TRELLO\_CARD\_CREATE\_AND\_UPDATE instead. | `TRELLO_ADD_LISTS_CARDS_BY_ID_LIST` | | Archive all list cards | Archives all cards in a Trello list. | `TRELLO_ARCHIVE_ALL_LIST_CARDS` | | Move all list cards | Moves all cards from a source Trello list to a destination list on a specified board. | `TRELLO_MOVE_ALL_LIST_CARDS` | | Update boards prefs card aging by ID board | Updates the card aging visual preference to 'pirate' or 'regular' mode for a specified Trello board. | `TRELLO_UPDATE_BOARDS_PREFS_CARD_AGING_BY_ID_BOARD` | | Update boards prefs card covers by ID board | Updates the preference on a specific Trello board for whether existing card covers are displayed. | `TRELLO_UPDATE_BOARDS_PREFS_CARD_COVERS_BY_ID_BOARD` | | Update cards by ID card | Updates an existing Trello card's attributes like name, description, due date, members, labels, position, or archives/unarchives it, attaches files, or changes its cover. | `TRELLO_UPDATE_CARDS_BY_ID_CARD` | | Update cards closed by ID card | Updates the 'closed' status of an existing Trello card. | `TRELLO_UPDATE_CARDS_CLOSED_BY_ID_CARD` | | Update cards desc by ID card | Updates or clears the entire description of an existing Trello card. | `TRELLO_UPDATE_CARDS_DESC_BY_ID_CARD` | | Update cards due by ID card | Updates the due date of a specific Trello card. | `TRELLO_UPDATE_CARDS_DUE_BY_ID_CARD` | | Update cards name by ID card | Updates the name of an existing Trello card, identified by its ID or shortLink. | `TRELLO_UPDATE_CARDS_NAME_BY_ID_CARD` | | Update cards pos by ID card | Updates a Trello card's position within its list to 'top', 'bottom', or a specified 1-indexed positive integer. | `TRELLO_UPDATE_CARDS_POS_BY_ID_CARD` | | Update cards subscribed by ID card | Updates the user's subscription status for a Trello card, if the card exists and is accessible. | `TRELLO_UPDATE_CARDS_SUBSCRIBED_BY_ID_CARD` | | Update checklists ID card by ID checklist | Moves a Trello checklist to a new parent card. | `TRELLO_UPDATE_CHECKLISTS_ID_CARD_BY_ID_CHECKLIST` | | Action | What it does | Slug | | - | - | - | | Add checklist item | DEPRECATED: Use TRELLO\_ADD\_CHECKLISTS\_CHECK\_ITEMS\_BY\_ID\_CHECKLIST instead. | `TRELLO_ADD_CHECKLIST_ITEM` | | Add checklists check items by ID checklist | Adds a new check item to a specified Trello checklist. | `TRELLO_ADD_CHECKLISTS_CHECK_ITEMS_BY_ID_CHECKLIST` | | Convert checklist item to card | Converts a checklist item into a new card (useful for promoting a subtask), which inherits some properties from the item. | `TRELLO_CONVERT_CHECKLIST_ITEM_TO_CARD` | | Delete checklist item | Permanently deletes a specific check item from a checklist on a Trello card. | `TRELLO_DELETE_CHECKLIST_ITEM` | | Update cards checklist items by ID card by ID checkli | Update check item on card. | `TRELLO_UPDATE_CARDS_CHECKLIST_ITEMS_BY_ID_CARD_BY_ID_CHECKLI` | | Update cards checklist items position by ID card by i | Update checklist item position. | `TRELLO_UPDATE_CARDS_CHECKLIST_ITEMS_POSITION_BY_ID_CARD_BY_I` | | Update cards checklist items state by ID card by ID c | Update card checklist item state. | `TRELLO_UPDATE_CARDS_CHECKLIST_ITEMS_STATE_BY_ID_CARD_BY_ID_C` | | Update cards checklists check items name by ID card b | Update checklist item name in card. | `TRELLO_UPDATE_CARDS_CHECKLISTS_CHECK_ITEMS_NAME_BY_ID_CARD_B` | | Update checklist item by IDs | Updates a check item's attributes (name, position, state) or moves it to a different checklist on the same card, requiring the card ID, current checklist ID, and check item ID. | `TRELLO_UPDATE_CHECKLIST_ITEM_BY_IDS` | | Action | What it does | Slug | | - | - | - | | Add cards checklists by ID card | Adds a checklist to a Trello card: use value to add a specific existing checklist, idChecklistSource to create a new checklist by copying an existing one (optionally using name for the new checklist's name), or name to create a new empty checklist from scratch. | `TRELLO_ADD_CARDS_CHECKLISTS_BY_ID_CARD` | | Add checklists | Creates a new checklist on a Trello card, either by name or by copying from idChecklistSource, targeting an idCard or idBoard. | `TRELLO_ADD_CHECKLISTS` | | Delete card checklist | Permanently deletes a specific checklist from a Trello card. | `TRELLO_DELETE_CARD_CHECKLIST` | | Delete checklists by ID checklist | Permanently and irreversibly deletes a Trello checklist and all its items using the idChecklist. | `TRELLO_DELETE_CHECKLISTS_BY_ID_CHECKLIST` | | Update checklists by ID checklist | Updates an existing Trello checklist, allowing modification of its name, position, associated card/board, or copying items from a source checklist. | `TRELLO_UPDATE_CHECKLISTS_BY_ID_CHECKLIST` | | Update checklists by ID checklist by field | Update a specific field on a Trello checklist. | `TRELLO_UPDATE_CHECKLISTS_BY_ID_CHECKLIST_BY_FIELD` | | Update checklists name by ID checklist | Updates the name of an existing Trello checklist. | `TRELLO_UPDATE_CHECKLISTS_NAME_BY_ID_CHECKLIST` | | Update checklists pos by ID checklist | Updates the position of an existing checklist on a Trello card. | `TRELLO_UPDATE_CHECKLISTS_POS_BY_ID_CHECKLIST` | | Action | What it does | Slug | | - | - | - | | Add cards actions comments by ID card | Adds a new text comment, which can include @mentions, to a Trello card specified by its ID. | `TRELLO_ADD_CARDS_ACTIONS_COMMENTS_BY_ID_CARD` | | Delete card comment | Deletes a specific comment action (identified by idAction) from a Trello card (identified by idCard). | `TRELLO_DELETE_CARD_COMMENT` | | Update cards actions comments by ID card by ID action | Updates the text for a given comment action (idAction) on a specified card (idCard), affecting only the text content. | `TRELLO_UPDATE_CARDS_ACTIONS_COMMENTS_BY_ID_CARD_BY_ID_ACTION` | | Action | What it does | Slug | | - | - | - | | Add cards ID labels by ID card | Adds an existing label to a Trello card. | `TRELLO_ADD_CARDS_ID_LABELS_BY_ID_CARD` | | Add labels | Creates a new label with a specified name (required) and color on a Trello board (idBoard required). | `TRELLO_ADD_LABELS` | | Create board label | Creates a new label on an existing Trello board. | `TRELLO_CREATE_BOARD_LABEL` | | Create card label | Adds a label to an existing Trello card (specified by idCard), defining the label by name and either color or the overriding value (which specifies color by name). | `TRELLO_CREATE_CARD_LABEL` | | Remove card label by color | Permanently removes a specific color label from an existing Trello card identified by idCard, if the card has that label. | `TRELLO_REMOVE_CARD_LABEL_BY_COLOR` | | Remove label from card | Removes a specific label from a Trello card. | `TRELLO_REMOVE_LABEL_FROM_CARD` | | Update boards label names blue by ID board | Sets the name of the blue label for a Trello board. | `TRELLO_UPDATE_BOARDS_LABEL_NAMES_BLUE_BY_ID_BOARD` | | Update boards label names green by ID board | Updates the name of the green label for a specified Trello board. | `TRELLO_UPDATE_BOARDS_LABEL_NAMES_GREEN_BY_ID_BOARD` | | Update boards label names orange by ID board | Updates the name of the orange label for a specified Trello board. | `TRELLO_UPDATE_BOARDS_LABEL_NAMES_ORANGE_BY_ID_BOARD` | | Update boards label names purple by ID board | Updates the name of the purple label on a Trello board. | `TRELLO_UPDATE_BOARDS_LABEL_NAMES_PURPLE_BY_ID_BOARD` | | Update boards label names red by ID board | Updates the name of the red label on a Trello board. | `TRELLO_UPDATE_BOARDS_LABEL_NAMES_RED_BY_ID_BOARD` | | Update boards label names yellow by ID board | Updates the name of a board's yellow label. | `TRELLO_UPDATE_BOARDS_LABEL_NAMES_YELLOW_BY_ID_BOARD` | | Update cards labels by ID card | Replaces all labels on a Trello card with labels matching the specified colors. | `TRELLO_UPDATE_CARDS_LABELS_BY_ID_CARD` | | Update labels by ID label | Updates an existing Trello label's attributes (color, name, or associated board) by its ID. | `TRELLO_UPDATE_LABELS_BY_ID_LABEL` | | Update labels by ID label by field | Updates a specific field (color or name) on a Trello label by its ID. | `TRELLO_UPDATE_LABELS_BY_ID_LABEL_BY_FIELD` | | Update labels color by ID label | Updates the color of an existing Trello label, or removes its color if 'null' is specified for the value. | `TRELLO_UPDATE_LABELS_COLOR_BY_ID_LABEL` | | Update labels name by ID label | Updates the name of an existing Trello label, identified by idLabel. | `TRELLO_UPDATE_LABELS_NAME_BY_ID_LABEL` | | Action | What it does | Slug | | - | - | - | | Add boards lists by ID board | DEPRECATED: Use TRELLO\_LIST\_CREATE\_LIST instead. | `TRELLO_ADD_BOARDS_LISTS_BY_ID_BOARD` | | Add lists | Creates a new list on a specified Trello board, with options to copy an existing list, set its position, initial state (archived/subscribed), and does not modify existing lists or move cards. | `TRELLO_ADD_LISTS` | | Update cards ID list by ID card | Moves a Trello card to a different list on the same Trello board. | `TRELLO_UPDATE_CARDS_ID_LIST_BY_ID_CARD` | | Update lists by ID list | Updates attributes of an existing Trello list, such as name, position, archive status, board, or copies cards from another list, provided the list idList exists. | `TRELLO_UPDATE_LISTS_BY_ID_LIST` | | Update lists closed by ID list | Updates whether an existing Trello list is closed (archived). | `TRELLO_UPDATE_LISTS_CLOSED_BY_ID_LIST` | | Update lists name by ID list | Updates the name of an existing Trello list, identified by its ID. | `TRELLO_UPDATE_LISTS_NAME_BY_ID_LIST` | | Update lists pos by ID list | Changes a Trello list's order on a board to 'top', 'bottom', or a specified numeric position, affecting only its position. | `TRELLO_UPDATE_LISTS_POS_BY_ID_LIST` | | Update lists subscribed by ID list | Updates the subscription status for a Trello list, allowing the user to subscribe or unsubscribe to control notifications. | `TRELLO_UPDATE_LISTS_SUBSCRIBED_BY_ID_LIST` | | Action | What it does | Slug | | - | - | - | | Add member to card | Assigns a Trello member to a specific Trello card by card ID (or short link) and member ID. | `TRELLO_ADD_MEMBER_TO_CARD` | | Delete cards members voted by ID card by ID member | Removes a member's vote from a Trello card. | `TRELLO_DELETE_CARDS_MEMBERS_VOTED_BY_ID_CARD_BY_ID_MEMBER` | | Remove member from card | Removes a currently assigned member from a Trello card, affecting only the card's member list and not the member's board membership or overall permissions. | `TRELLO_REMOVE_MEMBER_FROM_CARD` | | Update cards ID members by ID card | Updates (sets/replaces) the list of members assigned to a Trello card. | `TRELLO_UPDATE_CARDS_ID_MEMBERS_BY_ID_CARD` | | Action | What it does | Slug | | - | - | - | | Create action reaction | Add a new emoji reaction to a Trello action. | `TRELLO_CREATE_ACTION_REACTION` | | Delete action reaction | Permanently deletes a specified reaction from a Trello action. | `TRELLO_DELETE_ACTION_REACTION` | | Action | What it does | Slug | | - | - | - | | Update boards prefs background by ID board | Updates the cosmetic background preference for a specific Trello board. | `TRELLO_UPDATE_BOARDS_PREFS_BACKGROUND_BY_ID_BOARD` | | Action | What it does | Slug | | - | - | - | | Create card sticker | Adds a sticker to a Trello card, using a default sticker name (e.g., 'taco-cool') or a custom sticker ID for the image, and allows specifying its position, rotation, and z-index. | `TRELLO_CREATE_CARD_STICKER` | | Delete cards stickers by ID card by ID sticker | Permanently removes a specific sticker (identified by idSticker) from a Trello card (identified by idCard). | `TRELLO_DELETE_CARDS_STICKERS_BY_ID_CARD_BY_ID_STICKER` | | Update cards stickers by ID card by ID sticker | Updates an existing sticker's image, position (top, left coordinates), or stacking order (zIndex) on a specific Trello card. | `TRELLO_UPDATE_CARDS_STICKERS_BY_ID_CARD_BY_ID_STICKER` | | Action | What it does | Slug | | - | - | - | | Delete action | Deletes a specific Trello action, such as a commentCard, by its ID. | `TRELLO_DELETE_ACTION` | | Update actions by ID action | Updates the text field of a specific Trello comment action, identified by idAction. | `TRELLO_UPDATE_ACTIONS_BY_ID_ACTION` | | Update actions text by ID action | Updates the text of an existing Trello action (e.g., a comment or card update) identified by idAction. | `TRELLO_UPDATE_ACTIONS_TEXT_BY_ID_ACTION` | Teammates can use 330 of the 330 Trello actions at this level: everything in **Read + write**, plus: * Create, update, and delete organizations * Create, update, and delete webhooks * Create and update sessions * Update settings * Create, update, and delete stars * Update and delete domains * Create keys * Delete members * Delete attachments * Delete boards * Delete cards * Create emoji The 99 actions that this level adds to **Read + write**: | Action | What it does | Slug | | - | - | - | | Delete card attachment | Permanently removes a specified attachment from a Trello card. | `TRELLO_DELETE_CARD_ATTACHMENT` | | Action | What it does | Slug | | - | - | - | | Create member board background | Adds a new custom board background, from an image file, to a specified Trello member's collection, making it available for their use but not applying it to any board. | `TRELLO_CREATE_MEMBER_BOARD_BACKGROUND` | | Create member custom board background | Adds a new custom board background for a specified Trello member. | `TRELLO_CREATE_MEMBER_CUSTOM_BOARD_BACKGROUND` | | Delete board | Permanently deletes a Trello board by its ID. | `TRELLO_DELETE_BOARD` | | Delete member board background | Permanently deletes a specific custom board background belonging to the specified Trello member. | `TRELLO_DELETE_MEMBER_BOARD_BACKGROUND` | | Disable board power up | Disables a Power-Up on a Trello board using the board's ID and the plugin ID of a Power-Up currently enabled on that board. | `TRELLO_DISABLE_BOARD_POWER_UP` | | Enable board power up | Enables the Power-Up specified by the 'value' parameter on the board. | `TRELLO_ENABLE_BOARD_POWER_UP` | | Mark board as viewed | Marks the Trello board specified by idBoard as viewed for the current user, exclusively updating its viewed status and potentially influencing its position in user-specific lists and notification settings. | `TRELLO_MARK_BOARD_AS_VIEWED` | | Update boards by ID board | Updates attributes (e.g., name, description, status, preferences) of an existing Trello board identified by idBoard. | `TRELLO_UPDATE_BOARDS_BY_ID_BOARD` | | Update members board backgrounds by ID member by ID b | Update Member Board Background. | `TRELLO_UPDATE_MEMBERS_BOARD_BACKGROUNDS_BY_ID_MEMBER_BY_ID_B` | | Update members custom board backgrounds by ID member | Update member's custom board background. | `TRELLO_UPDATE_MEMBERS_CUSTOM_BOARD_BACKGROUNDS_BY_ID_MEMBER_` | | Update organizations prefs board visibility by ID org | Updates the preference controlling who can set board visibility to 'organization-visible' within an existing Trello organization. | `TRELLO_UPDATE_ORGANIZATIONS_PREFS_BOARD_VISIBILITY_BY_ID_ORG` | | Update organizations prefs private board visibility b | Update organization private board visibility restriction. | `TRELLO_UPDATE_ORGANIZATIONS_PREFS_PRIVATE_BOARD_VISIBILITY_B` | | Update organizations prefs public board visibility by | Update organization public board visibility. | `TRELLO_UPDATE_ORGANIZATIONS_PREFS_PUBLIC_BOARD_VISIBILITY_BY` | | Action | What it does | Slug | | - | - | - | | Update boards prefs calendar feed enabled by ID board | Updates the 'calendarFeedEnabled' preference for a Trello board, which, when enabled, makes board cards with due dates accessible via an iCalendar feed for external calendar integration. | `TRELLO_UPDATE_BOARDS_PREFS_CALENDAR_FEED_ENABLED_BY_ID_BOARD` | | Action | What it does | Slug | | - | - | - | | Delete cards by ID card | Permanently deletes an archived Trello card specified by its idCard. | `TRELLO_DELETE_CARDS_BY_ID_CARD` | | Action | What it does | Slug | | - | - | - | | Update boards prefs comments by ID board | Changes the permission settings for who can add comments to cards on a specific Trello board, without affecting other board settings. | `TRELLO_UPDATE_BOARDS_PREFS_COMMENTS_BY_ID_BOARD` | | Action | What it does | Slug | | - | - | - | | Delete org associated domain | Irreversibly deletes an associated email domain from a Trello organization's preferences to update email domain restrictions for workspace membership. | `TRELLO_DELETE_ORG_ASSOCIATED_DOMAIN` | | Update organizations prefs associated domain by ID or | Update an organization's associated domain preferences. | `TRELLO_UPDATE_ORGANIZATIONS_PREFS_ASSOCIATED_DOMAIN_BY_ID_OR` | | Action | What it does | Slug | | - | - | - | | Update boards my prefs email position by ID board | Updates a Trello board's email position preference for new cards. | `TRELLO_UPDATE_BOARDS_MY_PREFS_EMAIL_POSITION_BY_ID_BOARD` | | Action | What it does | Slug | | - | - | - | | Create member custom emoji | Adds a new custom emoji using an image file and a unique name to a Trello member's account. | `TRELLO_CREATE_MEMBER_CUSTOM_EMOJI` | | Action | What it does | Slug | | - | - | - | | Delete org invite restrict | Removes a previously set email address invitation restriction from a Trello organization. | `TRELLO_DELETE_ORG_INVITE_RESTRICT` | | Update boards prefs invitations by ID board | Updates who can invite new members ('admins' or 'members') to a specific Trello board. | `TRELLO_UPDATE_BOARDS_PREFS_INVITATIONS_BY_ID_BOARD` | | Update org invite restrictions | Adds an email domain restriction to a Trello organization's invitation policy. | `TRELLO_UPDATE_ORG_INVITE_RESTRICTIONS` | | Action | What it does | Slug | | - | - | - | | Generate board calendar key | Generates a new calendar key for the Trello board specified by idBoard, invalidating any previous key for that board. | `TRELLO_GENERATE_BOARD_CALENDAR_KEY` | | Generate board email key | Generates a new email key for the Trello board specified by idBoard to enable or reset adding cards via email. | `TRELLO_GENERATE_BOARD_EMAIL_KEY` | | Action | What it does | Slug | | - | - | - | | Delete labels by ID label | Permanently deletes an existing label from a Trello board by its ID. | `TRELLO_DELETE_LABELS_BY_ID_LABEL` | | Action | What it does | Slug | | - | - | - | | Update members prefs locale by ID member | Updates a Trello member's locale preference to change how dates, times, and numbers are displayed in the Trello UI. | `TRELLO_UPDATE_MEMBERS_PREFS_LOCALE_BY_ID_MEMBER` | | Action | What it does | Slug | | - | - | - | | Update boards my prefs ID email list by ID board | Sets the default Trello list where cards created via email will be added for a specific board. | `TRELLO_UPDATE_BOARDS_MY_PREFS_ID_EMAIL_LIST_BY_ID_BOARD` | | Update boards my prefs show list guide by ID board | DEPRECATED: Updates the 'Show List Guide' preference for a specified Trello board. | `TRELLO_UPDATE_BOARDS_MY_PREFS_SHOW_LIST_GUIDE_BY_ID_BOARD` | | Action | What it does | Slug | | - | - | - | | Create member saved search | Creates a new saved search with a specified name, position, and query for a Trello member. | `TRELLO_CREATE_MEMBER_SAVED_SEARCH` | | Delete member saved search | Permanently deletes a specific saved search for a Trello member, used when the search is outdated or no longer needed. | `TRELLO_DELETE_MEMBER_SAVED_SEARCH` | | Delete organizations members by ID org by ID member | Permanently removes a member from a Trello organization by ID, revoking all access to its content. | `TRELLO_DELETE_ORGANIZATIONS_MEMBERS_BY_ID_ORG_BY_ID_MEMBER` | | Remove board member | Permanently removes a current member from a Trello board, revoking their access. | `TRELLO_REMOVE_BOARD_MEMBER` | | Remove member from org | Removes a member entirely from a specific Trello organization, including from all its boards and cards. | `TRELLO_REMOVE_MEMBER_FROM_ORG` | | Update board membership | Updates a user's role (e.g., admin, normal, observer) on a specific Trello board or retrieves updated member details, requiring existing board and membership IDs. | `TRELLO_UPDATE_BOARD_MEMBERSHIP` | | Update boards members by ID board | Adds or updates a member's role on a specific Trello board, typically requiring the member's email and a membership type. | `TRELLO_UPDATE_BOARDS_MEMBERS_BY_ID_BOARD` | | Update boards members by ID board by ID member | Updates a current member's email, full name, or role (admin, normal, or observer) on a specific Trello board. | `TRELLO_UPDATE_BOARDS_MEMBERS_BY_ID_BOARD_BY_ID_MEMBER` | | Update members bio by ID member | Updates the bio/description of a specified Trello member. | `TRELLO_UPDATE_MEMBERS_BIO_BY_ID_MEMBER` | | Update members by ID member | Updates an existing Trello member's profile information, preferences, or username. | `TRELLO_UPDATE_MEMBERS_BY_ID_MEMBER` | | Update members full name by ID member | Updates the full name for a Trello member, identified by their valid ID or username. | `TRELLO_UPDATE_MEMBERS_FULL_NAME_BY_ID_MEMBER` | | Update members initials by ID member | Updates the initials for a specified Trello member, identified by their ID or username. | `TRELLO_UPDATE_MEMBERS_INITIALS_BY_ID_MEMBER` | | Update members saved searches by ID member by ID save | Update member saved search. | `TRELLO_UPDATE_MEMBERS_SAVED_SEARCHES_BY_ID_MEMBER_BY_ID_SAVE` | | Update members saved searches name by ID member by ID | Update member saved search name. | `TRELLO_UPDATE_MEMBERS_SAVED_SEARCHES_NAME_BY_ID_MEMBER_BY_ID` | | Update members saved searches pos by ID member by ID | Update member saved search position. | `TRELLO_UPDATE_MEMBERS_SAVED_SEARCHES_POS_BY_ID_MEMBER_BY_ID_` | | Update organizations members by ID org | Adds/updates a member in a specified Trello organization (idOrg). | `TRELLO_UPDATE_ORGANIZATIONS_MEMBERS_BY_ID_ORG` | | Update organizations members by ID org by ID member | Updates a member's role/type (admin, normal, or observer) in a Trello organization. | `TRELLO_UPDATE_ORGANIZATIONS_MEMBERS_BY_ID_ORG_BY_ID_MEMBER` | | Update organizations members deactivation by ID org b | Update org member deactivation status. | `TRELLO_UPDATE_ORGANIZATIONS_MEMBERS_DEACTIVATION_BY_ID_ORG_B` | | Update organizations memberships by ID org by ID memb | Update org membership. | `TRELLO_UPDATE_ORGANIZATIONS_MEMBERSHIPS_BY_ID_ORG_BY_ID_MEMB` | | Update organizations prefs external members access by | Update an organization's external members access. | `TRELLO_UPDATE_ORGANIZATIONS_PREFS_EXTERNAL_MEMBERS_ACCESS_BY` | | Action | What it does | Slug | | - | - | - | | Dismiss member message | Dismisses a one-time message for a Trello member, adding it to their dismissed messages list. | `TRELLO_DISMISS_MEMBER_MESSAGE` | | Action | What it does | Slug | | - | - | - | | Mark all notifications read | Marks all Trello notifications for the authenticated user as read across all boards. | `TRELLO_MARK_ALL_NOTIFICATIONS_READ` | | Mark card notifications read | Marks all notifications associated with a specific Trello card as read. | `TRELLO_MARK_CARD_NOTIFICATIONS_READ` | | Update notifications by ID notification | Updates only the 'unread' status of a specific Trello notification. | `TRELLO_UPDATE_NOTIFICATIONS_BY_ID_NOTIFICATION` | | Update notifications unread by ID notification | Updates the unread status of a specific Trello notification. | `TRELLO_UPDATE_NOTIFICATIONS_UNREAD_BY_ID_NOTIFICATION` | | Action | What it does | Slug | | - | - | - | | Create organization | Creates a new Trello organization (Workspace) with a displayName (required), and optionally a description, website, and various preferences (e.g., board visibility, member invitation restrictions). | `TRELLO_CREATE_ORGANIZATION` | | Delete organizations by ID org | Permanently deletes a Trello organization and all its associated data. | `TRELLO_DELETE_ORGANIZATIONS_BY_ID_ORG` | | Delete organizations logo by ID org | Deletes an existing Trello organization's custom logo, restoring its default and leaving other settings unchanged. | `TRELLO_DELETE_ORGANIZATIONS_LOGO_BY_ID_ORG` | | Update boards ID organization by ID board | Moves an existing Trello board to a specified, existing Trello organization, which can affect the board's visibility and member access. | `TRELLO_UPDATE_BOARDS_ID_ORGANIZATION_BY_ID_BOARD` | | Update organization logo | Sets or updates the logo for a Trello organization. | `TRELLO_UPDATE_ORGANIZATION_LOGO` | | Update organizations by ID org | Updates various attributes of an existing Trello organization, identified by idOrg. | `TRELLO_UPDATE_ORGANIZATIONS_BY_ID_ORG` | | Update organizations desc by ID org | Updates or clears the description for an existing Trello organization, identified by its ID or name, to a new string up to 16384 characters. | `TRELLO_UPDATE_ORGANIZATIONS_DESC_BY_ID_ORG` | | Update organizations display name by ID org | Updates the display name of a Trello organization, identifiable by its current ID or name (idOrg), to the new value. | `TRELLO_UPDATE_ORGANIZATIONS_DISPLAY_NAME_BY_ID_ORG` | | Update organizations name by ID org | Updates the unique programmatic identifier (used in URLs and API interactions) for an existing Trello organization. | `TRELLO_UPDATE_ORGANIZATIONS_NAME_BY_ID_ORG` | | Update organizations website by ID org | Updates the website URL for a specified Trello organization. | `TRELLO_UPDATE_ORGANIZATIONS_WEBSITE_BY_ID_ORG` | | Action | What it does | Slug | | - | - | - | | Update member avatar | Updates a Trello member's avatar using a base64-encoded image. | `TRELLO_UPDATE_MEMBER_AVATAR` | | Update members avatar source by ID member | Updates the avatar source for a specified Trello member. | `TRELLO_UPDATE_MEMBERS_AVATAR_SOURCE_BY_ID_MEMBER` | | Action | What it does | Slug | | - | - | - | | Update members saved searches query by ID member by i | Update member saved search query. | `TRELLO_UPDATE_MEMBERS_SAVED_SEARCHES_QUERY_BY_ID_MEMBER_BY_I` | | Action | What it does | Slug | | - | - | - | | Update boards prefs permission level by ID board | Updates the permission level preference (e.g., 'private' or 'public') for a Trello board, identified by idBoard, if the board exists and the authenticated user possesses administrative permissions for it. | `TRELLO_UPDATE_BOARDS_PREFS_PERMISSION_LEVEL_BY_ID_BOARD` | | Update organizations prefs permission level by ID org | Updates a Trello organization's permissionLevel preference, determining if it's members-only or link-accessible, and affecting new board default visibility. | `TRELLO_UPDATE_ORGANIZATIONS_PREFS_PERMISSION_LEVEL_BY_ID_ORG` | | Action | What it does | Slug | | - | - | - | | Create session | Creates or updates a Trello user session, optionally linking it to a specific board for status updates and setting the user's activity status. | `TRELLO_CREATE_SESSION` | | Get sessions socket | Retrieves WebSocket session connection information from Trello for real-time updates. | `TRELLO_GET_SESSIONS_SOCKET` | | Update sessions by ID session | Updates a Trello user session's viewed board ID or status. | `TRELLO_UPDATE_SESSIONS_BY_ID_SESSION` | | Update sessions status by ID session | Updates the status of an existing Trello session. | `TRELLO_UPDATE_SESSIONS_STATUS_BY_ID_SESSION` | | Action | What it does | Slug | | - | - | - | | Update board sidebar actions prefs | Updates the current user's preference for the visibility of sidebar board actions on a specific Trello board. | `TRELLO_UPDATE_BOARD_SIDEBAR_ACTIONS_PREFS` | | Update board sidebar activity prefs | Sets the current user's preference for displaying or concealing the sidebar activity feed on an accessible Trello board. | `TRELLO_UPDATE_BOARD_SIDEBAR_ACTIVITY_PREFS` | | Update board sidebar members pref | Updates the authenticated user's preference for showing or hiding members in a specific Trello board's sidebar, affecting only the current user's view. | `TRELLO_UPDATE_BOARD_SIDEBAR_MEMBERS_PREF` | | Update boards my prefs show sidebar by ID board | Updates the authenticated user's personal preference for showing or hiding the sidebar on a specific Trello board. | `TRELLO_UPDATE_BOARDS_MY_PREFS_SHOW_SIDEBAR_BY_ID_BOARD` | | Update boards prefs self join by ID board | Updates a board's 'selfJoin' preference, determining if members can join freely or must be invited. | `TRELLO_UPDATE_BOARDS_PREFS_SELF_JOIN_BY_ID_BOARD` | | Update boards prefs voting by ID board | Sets who can vote on cards for an existing Trello board, changing only the voting preferences for all cards on the board. | `TRELLO_UPDATE_BOARDS_PREFS_VOTING_BY_ID_BOARD` | | Update members prefs color blind by ID member | Updates a Trello member's color blind friendly mode preference. | `TRELLO_UPDATE_MEMBERS_PREFS_COLOR_BLIND_BY_ID_MEMBER` | | Update members prefs summary interval by ID member | Updates a Trello member's preference for the frequency of email summary notifications. | `TRELLO_UPDATE_MEMBERS_PREFS_SUMMARY_INTERVAL_BY_ID_MEMBER` | | Action | What it does | Slug | | - | - | - | | Create member board star | Stars a Trello board for a member (does not remove or list stars), optionally at a specified position. | `TRELLO_CREATE_MEMBER_BOARD_STAR` | | Remove board star | Removes a specific starred board (identified by idBoardStar) from a Trello member's (identified by idMember) list of favorites. | `TRELLO_REMOVE_BOARD_STAR` | | Update board stars position by ID member by ID board | Update board star position. | `TRELLO_UPDATE_BOARD_STARS_POSITION_BY_ID_MEMBER_BY_ID_BOARD_` | | Update members board stars by ID member by ID board s | Update Member Board Star. | `TRELLO_UPDATE_MEMBERS_BOARD_STARS_BY_ID_MEMBER_BY_ID_BOARD_S` | | Action | What it does | Slug | | - | - | - | | Create member custom sticker | Uploads a custom sticker to a Trello member's collection, if the member's plan allows custom stickers and respects associated limits. | `TRELLO_CREATE_MEMBER_CUSTOM_STICKER` | | Delete member custom sticker | Deletes a custom sticker from a Trello member's collection. | `TRELLO_DELETE_MEMBER_CUSTOM_STICKER` | | Action | What it does | Slug | | - | - | - | | Delete tokens by token | Deletes a specific Trello API token, identified by its value in the path, permanently revoking its access. | `TRELLO_DELETE_TOKENS_BY_TOKEN` | | Action | What it does | Slug | | - | - | - | | Update members username by ID member | Updates the username for an existing Trello member, identified by their ID or current username. | `TRELLO_UPDATE_MEMBERS_USERNAME_BY_ID_MEMBER` | | Action | What it does | Slug | | - | - | - | | Update org Google apps version | Updates the Google Apps integration version preference for a specified Trello organization, to manage compatibility or features related to Google Workspace services. | `TRELLO_UPDATE_ORG_GOOGLE_APPS_VERSION` | | Action | What it does | Slug | | - | - | - | | Create webhook | Create a new Trello webhook for monitoring changes to a board, card, list, or member. | `TRELLO_CREATE_WEBHOOK` | | Delete tokens webhooks by token by ID webhook | Deletes an existing webhook, specified by its idWebhook, thereby stopping its notifications. | `TRELLO_DELETE_TOKENS_WEBHOOKS_BY_TOKEN_BY_ID_WEBHOOK` | | Delete webhooks by ID webhook | Permanently deletes an existing Trello webhook by its idWebhook, an irreversible action that stops future notifications. | `TRELLO_DELETE_WEBHOOKS_BY_ID_WEBHOOK` | | Update webhooks active by ID webhook | Updates the active status of an existing Trello webhook. | `TRELLO_UPDATE_WEBHOOKS_ACTIVE_BY_ID_WEBHOOK` | | Update webhooks by ID webhook | Updates an existing Trello webhook's description, active status, callback URL, or monitored model ID. | `TRELLO_UPDATE_WEBHOOKS_BY_ID_WEBHOOK` | | Update webhooks callback URL by ID webhook | Updates the callback URL for a specific Trello webhook. | `TRELLO_UPDATE_WEBHOOKS_CALLBACK_URL_BY_ID_WEBHOOK` | | Update webhooks description by ID webhook | Updates the description of an existing Trello webhook. | `TRELLO_UPDATE_WEBHOOKS_DESCRIPTION_BY_ID_WEBHOOK` | | Update webhooks ID model by ID webhook | Updates the idModel (the monitored Trello entity like a board, list, or card) for an active webhook idWebhook to the new model ID value. | `TRELLO_UPDATE_WEBHOOKS_ID_MODEL_BY_ID_WEBHOOK` | ## Connect Trello Before you start: * You need a Trello account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Trello** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Trello**. The Trello sign-in page opens in a new tab. Sign in to Trello and approve the request. Check that it works: Trello shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Trello account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Trello account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Trello account Click **+ Account** on the Trello card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Trello side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Trello**. 3. Sign in to Trello and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Trello account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Trello.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Trello account becomes primary. ## Costs Trello actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Trello, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Trello connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Trello account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Trello card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Trello account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Trello.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Webex Source: https://squad.so/docs/apps/webex What teammates can do in Webex at each access level, and how to connect, limit, and disconnect Webex. Connect Webex so your teammates can work in your Webex account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Webex account has an access level: **Read-only**, **Read + send**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as messages, rooms, teams, and people. Cannot change anything." | 14 of 26 | | **Read + send** (recommended) | "Send and delete messages, and create and rename rooms. Cannot manage teams, memberships, or webhooks." | 18 of 26 | | **Full access** | "Everything, including teams, memberships, deleting rooms, and webhooks." | 26 of 26 | **Read + send** is the recommended level. The connect window selects it for you, and you can choose another level. The Webex sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Webex account?" The teammate can search the Webex actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Webex action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 14 of the 26 Webex actions at this level: * View members * View messages * View people * View rooms * View teams * View webhooks All 14 actions at this level: | Works on | Action | What it does | Slug | | - | - | - | - | | **Members** | Messaging get membership details | Retrieve details for a specific membership. | `WEBEX_MESSAGING_GET_MEMBERSHIP_DETAILS` | | | Messaging get team membership details | Retrieve details for a specific team membership. | `WEBEX_MESSAGING_GET_TEAM_MEMBERSHIP_DETAILS` | | | Messaging list memberships | List memberships in Webex rooms. | `WEBEX_MESSAGING_LIST_MEMBERSHIPS` | | | Messaging list team memberships | List all memberships for a specific team. | `WEBEX_MESSAGING_LIST_TEAM_MEMBERSHIPS` | | **Messages** | Messaging get message details | Retrieve details for a specific message. | `WEBEX_MESSAGING_GET_MESSAGE_DETAILS` | | | Messaging list messages | List messages in a room. | `WEBEX_MESSAGING_LIST_MESSAGES` | | **People** | People get person | Retrieves detailed profile information for a specific person by their ID. | `WEBEX_PEOPLE_GET_PERSON` | | | People list people | List people in your organization. | `WEBEX_PEOPLE_LIST_PEOPLE` | | **Rooms** | Messaging list rooms | List rooms the authenticated user belongs to. | `WEBEX_MESSAGING_LIST_ROOMS` | | | Rooms get room details | Retrieve details for a specific room. | `WEBEX_ROOMS_GET_ROOM_DETAILS` | | **Teams** | Get team details | Retrieve details for a specific team by teamId. | `WEBEX_GET_TEAM_DETAILS` | | | List teams | Lists all teams the authenticated user belongs to. | `WEBEX_LIST_TEAMS` | | **Webhooks** | List webhooks | Lists all webhooks registered for the authenticated user or organization. | `WEBEX_LIST_WEBHOOKS` | | | Webhooks get webhook | Retrieves detailed information about a specific Webex webhook by its ID. | `WEBEX_WEBHOOKS_GET_WEBHOOK` | Teammates can use 18 of the 26 Webex actions at this level: everything in **Read-only**, plus: * Delete and send messages * Create and update rooms The 4 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Messages** | Messaging create message | Post a message to a Webex room or person. | `WEBEX_MESSAGING_CREATE_MESSAGE` | | | Messaging delete message | Delete a Webex message by its unique identifier. | `WEBEX_MESSAGING_DELETE_MESSAGE` | | **Rooms** | Messaging create room | Creates a new Webex room for team collaboration. | `WEBEX_MESSAGING_CREATE_ROOM` | | | Update room | Update a room's title, lock status, or team association. | `WEBEX_UPDATE_ROOM` | Teammates can use 26 of the 26 Webex actions at this level: everything in **Read + send**, plus: * Create, update, and delete members * Create and update teams * Create and delete webhooks * Delete rooms The 8 actions that this level adds to **Read + send**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Members** | Messaging create team membership | Add a person to a Webex team by personId or personEmail. | `WEBEX_MESSAGING_CREATE_TEAM_MEMBERSHIP` | | | Messaging delete membership | Delete a Webex membership by its unique identifier. | `WEBEX_MESSAGING_DELETE_MEMBERSHIP` | | | Update membership | Updates a Webex room membership by ID to change moderator or monitor status. | `WEBEX_UPDATE_MEMBERSHIP` | | **Rooms** | Messaging delete room | Deletes a Webex room by its ID. | `WEBEX_MESSAGING_DELETE_ROOM` | | **Teams** | Create team | Creates a new Webex team and automatically adds the authenticated user as a member. | `WEBEX_CREATE_TEAM` | | | Update team | Update a team's name by teamId. | `WEBEX_UPDATE_TEAM` | | **Webhooks** | Webhooks create webhook | Creates a Webex webhook to receive real-time event notifications via HTTP POST requests to your specified URL. | `WEBEX_WEBHOOKS_CREATE_WEBHOOK` | | | Webhooks delete webhook | Delete a specific webhook. | `WEBEX_WEBHOOKS_DELETE_WEBHOOK` | ## Connect Webex Before you start: * You need a Webex account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Webex** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Webex**. The Webex sign-in page opens in a new tab. Sign in to Webex and approve the request. Check that it works: Webex shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Webex account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Webex account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Webex account Click **+ Account** on the Webex card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Webex side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Webex**. 3. Sign in to Webex and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Webex account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Webex.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Webex account becomes primary. ## Costs Webex actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Webex, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Webex connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Webex account has an access level: **Read-only**, **Read + send**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Webex card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Webex account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Webex.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # WhatsApp Source: https://squad.so/docs/apps/whatsapp What teammates can do in WhatsApp with standard access, and how to connect, limit, and disconnect WhatsApp. Connect WhatsApp so your teammates can work in your WhatsApp Business account. WhatsApp here means a WhatsApp Business account. The actions use the business account's message templates, business profile, and business phone numbers. ## Access levels WhatsApp has one level. The connect window shows it as **Default** and describes it as "Standard access." Teammates can use all 17 WhatsApp actions. You cannot choose a narrower level for WhatsApp. You can block single teammates with **No access** under **Per-teammate access**. The WhatsApp sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in, and standard access does not limit which WhatsApp actions teammates can use. ## What teammates can do The summary below groups the WhatsApp actions into plain tasks. The full list after it names every action, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open the list and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my WhatsApp account?" The teammate can search the WhatsApp actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the WhatsApp action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. * View, create, and send media * View, create, and delete templates * Send messages * Send contacts * Send lists * Send locations * View profiles | Works on | Action | What it does | Slug | | - | - | - | - | | **Contacts** | Send contacts | | `WHATSAPP_SEND_CONTACTS` | | **Lists** | Send interactive list | Send an interactive list message to a WhatsApp number. | `WHATSAPP_SEND_INTERACTIVE_LIST` | | **Locations** | Send location | Send a location message with coordinates, name, and address to a WhatsApp user. | `WHATSAPP_SEND_LOCATION` | | **Media** | Get media info | Get metadata and download URL for uploaded WhatsApp media. | `WHATSAPP_GET_MEDIA_INFO` | | | Send media | Send a media message to a WhatsApp number. | `WHATSAPP_SEND_MEDIA` | | | Send media by ID | Send media using a media ID from previously uploaded media. | `WHATSAPP_SEND_MEDIA_BY_ID` | | | Upload media | Upload media files (images, videos, audio, documents, stickers) to WhatsApp servers. | `WHATSAPP_UPLOAD_MEDIA` | | **Messages** | Send message | Send a text message to a WhatsApp user. | `WHATSAPP_SEND_MESSAGE` | | | Send template message | Send a template message to a WhatsApp number. | `WHATSAPP_SEND_TEMPLATE_MESSAGE` | | **Profiles** | Get business profile | Get the business profile information for a WhatsApp Business phone number. | `WHATSAPP_GET_BUSINESS_PROFILE` | | **Templates** | Create message template | Create a new message template for the WhatsApp Business Account. | `WHATSAPP_CREATE_MESSAGE_TEMPLATE` | | | Delete message template | Delete a message template from the WhatsApp Business Account by name. | `WHATSAPP_DELETE_MESSAGE_TEMPLATE` | | | Get message templates | Get all message templates for the WhatsApp Business Account. | `WHATSAPP_GET_MESSAGE_TEMPLATES` | | | Get template status | Get the status and details of a specific message template. | `WHATSAPP_GET_TEMPLATE_STATUS` | | **Other actions** | Get phone number | Retrieve detailed information about a specific WhatsApp Business phone number. | `WHATSAPP_GET_PHONE_NUMBER` | | | Get phone numbers | Retrieve all phone numbers registered to your WhatsApp Business Account. | `WHATSAPP_GET_PHONE_NUMBERS` | | | Send interactive buttons | Send an interactive button message with up to 3 reply buttons to a WhatsApp user. | `WHATSAPP_SEND_INTERACTIVE_BUTTONS` | Agents cannot read incoming WhatsApp messages. No WhatsApp action lists or reads messages. Agents can send messages, and they can manage templates and media. ## Connect WhatsApp Before you start: * You need a WhatsApp Business account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **WhatsApp** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, keep **Default**. It is the only option. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect WhatsApp**. The WhatsApp sign-in page opens in a new tab. Sign in to WhatsApp and approve the request. Check that it works: WhatsApp shows under **Your connections**, with a row for the account and its access level. ## Set access for one teammate Every teammate can use the account unless you block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the WhatsApp account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose **No access** to block the teammate. Choose **Default (Default)** to allow it again. 5. Click **Save access**. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one WhatsApp account Click **+ Account** on the WhatsApp card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the WhatsApp side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on WhatsApp**. 3. Sign in to WhatsApp and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the WhatsApp account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to WhatsApp.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected WhatsApp account becomes primary. ## Costs WhatsApp actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate says it has no access to WhatsApp, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the WhatsApp connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions You cannot choose a narrower level for WhatsApp. You can block single teammates with **No access** under **Per-teammate access**. Click **+ Account** on the WhatsApp card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the WhatsApp account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to WhatsApp.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Wrike Source: https://squad.so/docs/apps/wrike What teammates can do in Wrike at each access level, and how to connect, limit, and disconnect Wrike. Connect Wrike so your teammates can work in your Wrike account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Wrike account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as tasks, folders, projects, comments, and timelogs. Cannot change anything." | 78 of 144 | | **Read + write** (recommended) | "Create and edit tasks, folders, and projects, and add comments, attachments, time logs, and approvals. Cannot share folders or manage users, timesheets, or custom fields." | 103 of 144 | | **Full access** | "Everything, including sharing, users, timesheets, custom fields, workflows, and permanent deletes." | 144 of 144 | **Read + write** is the recommended level. The connect window selects it for you, and you can choose another level. The Wrike sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Wrike account?" The teammate can search the Wrike actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Wrike action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 78 of the 144 Wrike actions at this level: * View time entries * View attachments * View comments * View tasks * View and search custom fields * View folders * View history * View bookings * View dependencies * View and search roles and permissions * View spaces * View types All 78 actions at this level: | Action | What it does | Slug | | - | - | - | | Get account information | Retrieves detailed Wrike account information, where the response content is influenced by selected fields, account subscription, and user permissions. | `WRIKE_GET_ACCOUNT_INFORMATION` | | Action | What it does | Slug | | - | - | - | | Get attachments | Retrieve multiple Wrike attachments by their IDs (up to 100). | `WRIKE_GET_ATTACHMENTS` | | Get attachments download | Download a Wrike attachment file. | `WRIKE_GET_ATTACHMENTS_DOWNLOAD` | | Get attachments preview | Download a preview version of a Wrike attachment. | `WRIKE_GET_ATTACHMENTS_PREVIEW` | | Get attachments URL | Get a public access URL for a Wrike attachment. | `WRIKE_GET_ATTACHMENTS_URL` | | Get folders attachments | Retrieve all attachments from a specific Wrike folder. | `WRIKE_GET_FOLDERS_ATTACHMENTS` | | Get tasks attachments | Retrieve all attachments from a specific Wrike task. | `WRIKE_GET_TASKS_ATTACHMENTS` | | List attachments | Retrieve all attachments from the Wrike account. | `WRIKE_LIST_ATTACHMENTS` | | Action | What it does | Slug | | - | - | - | | Get bookings | Retrieves one or more Wrike bookings by their IDs. | `WRIKE_GET_BOOKINGS` | | Get folder bookings | Query bookings for a specific folder in Wrike. | `WRIKE_GET_FOLDER_BOOKINGS` | | Action | What it does | Slug | | - | - | - | | Get timelog categories | Query the list of timelog categories in Wrike. | `WRIKE_GET_TIMELOG_CATEGORIES` | | Action | What it does | Slug | | - | - | - | | Get comments | Retrieve all comments accessible to the authorized user. | `WRIKE_GET_COMMENTS` | | Get comments by IDs | Retrieve multiple Wrike comments by their IDs. | `WRIKE_GET_COMMENTS_BY_IDS` | | Get folders comments | Retrieve comments from a specific Wrike folder. | `WRIKE_GET_FOLDERS_COMMENTS` | | Get tasks comments | Retrieve all comments from a specific Wrike task. | `WRIKE_GET_TASKS_COMMENTS` | | Action | What it does | Slug | | - | - | - | | Get contact hourly rates | Retrieve hourly budget rates for up to 100 Wrike contacts. | `WRIKE_GET_CONTACT_HOURLY_RATES` | | Get contacts | Retrieves a list of Wrike contacts (e.g., team members, clients, collaborators). | `WRIKE_GET_CONTACTS` | | Get information about specific contact | Retrieves detailed information for a specific Wrike contact using their unique contactId, optionally including metadata and customFields if specified in the fields parameter. | `WRIKE_GET_INFORMATION_ABOUT_SPECIFIC_CONTACT` | | Action | What it does | Slug | | - | - | - | | Get all custom fields | Retrieves all custom field definitions (including ID, name, type, and settings) from the Wrike account. | `WRIKE_GET_ALL_CUSTOM_FIELDS` | | Get spaces customfields | Retrieve all custom fields defined for a specific Wrike space. | `WRIKE_GET_SPACES_CUSTOMFIELDS` | | Query customfields | Retrieves a Wrike custom field's detailed information (e.g., type, possible values for dropdowns), properties, and metadata. | `WRIKE_QUERY_CUSTOMFIELDS` | | Action | What it does | Slug | | - | - | - | | Get dependencies | Retrieve one or more Wrike dependencies by their IDs (up to 100). | `WRIKE_GET_DEPENDENCIES` | | Get task dependencies | Retrieves all dependency relationships for a specific task. | `WRIKE_GET_TASK_DEPENDENCIES` | | Action | What it does | Slug | | - | - | - | | Get folders | Retrieves folders and/or projects from Wrike, with filters. | `WRIKE_GET_FOLDERS` | | Get folders approvals | Retrieve all approvals from a specific Wrike folder. | `WRIKE_GET_FOLDERS_APPROVALS` | | Get folders by IDs | Retrieve multiple Wrike folders by their IDs. | `WRIKE_GET_FOLDERS_BY_IDS` | | Get folders hourly | Retrieve hourly budget rates for a specific Wrike folder. | `WRIKE_GET_FOLDERS_HOURLY` | | Get folders rollups | Query rollup settings for items in a folder. | `WRIKE_GET_FOLDERS_ROLLUPS` | | Get space folders | Retrieve the folder tree for a specific Wrike space. | `WRIKE_GET_SPACE_FOLDERS` | | List folder blueprints | Retrieves all account-level Folder Blueprints, which are templates for standardizing folder/project creation with predefined structures, custom fields, and workflows. | `WRIKE_LIST_FOLDER_BLUEPRINTS` | | List space folder blueprints | Lists all folder blueprints (templates for new folders/projects) within a specified Wrike space, requiring a valid and accessible space ID. | `WRIKE_LIST_SPACE_FOLDER_BLUEPRINTS` | | List subfolders by folder ID | Lists subfolders (metadata only, not their contents) for an existing Wrike folder specified by folderId, supporting recursive descent, filtering, and pagination. | `WRIKE_LIST_SUBFOLDERS_BY_FOLDER_ID` | | Action | What it does | Slug | | - | - | - | | Query specific group | Retrieves detailed information for a specific Wrike group using its groupId, optionally including 'metadata'. | `WRIKE_QUERY_SPECIFIC_GROUP` | | Action | What it does | Slug | | - | - | - | | Get contacts history | Access field modification history for Wrike contacts. | `WRIKE_GET_CONTACTS_HISTORY` | | Get folders history | Access field modification history for Wrike folders. | `WRIKE_GET_FOLDERS_HISTORY` | | Get tasks history | Query task field modification history for up to 100 tasks. | `WRIKE_GET_TASKS_HISTORY` | | Action | What it does | Slug | | - | - | - | | Query invitations | Retrieves all active invitations in Wrike, useful for viewing and auditing pending invitations or managing user onboarding. | `WRIKE_QUERY_INVITATIONS` | | Action | What it does | Slug | | - | - | - | | Get async job | Retrieve status and details for an asynchronous job in Wrike. | `WRIKE_GET_ASYNC_JOB` | | Action | What it does | Slug | | - | - | - | | Retrieve list of groups | Retrieves a list of user groups from the Wrike account, supporting metadata filtering, pagination, and inclusion of specific fields. | `WRIKE_RETRIEVE_LIST_OF_GROUPS` | | Action | What it does | Slug | | - | - | - | | Get job roles | Retrieve details for one or more Wrike job roles by job role IDs. | `WRIKE_GET_JOB_ROLES` | | Query job roles | Retrieve all available job roles in the Wrike account. | `WRIKE_QUERY_JOB_ROLES` | | Action | What it does | Slug | | - | - | - | | Get timesheet submission rules | Retrieve global timesheet submission rules across all work schedules. | `WRIKE_GET_TIMESHEET_SUBMISSION_RULES` | | Action | What it does | Slug | | - | - | - | | Get space | Retrieve details for a single Wrike space by spaceId. | `WRIKE_GET_SPACE` | | List spaces | List spaces the authorized user can access. | `WRIKE_LIST_SPACES` | | Action | What it does | Slug | | - | - | - | | Fetch all tasks | Fetches tasks from a Wrike account, allowing filtering by status, due date, and subfolder inclusion, with customizable response fields and pagination. | `WRIKE_FETCH_ALL_TASKS` | | Get folders tasks | Query tasks within a specific folder. | `WRIKE_GET_FOLDERS_TASKS` | | Get spaces tasks | Query tasks within a specific Wrike space. | `WRIKE_GET_SPACES_TASKS` | | Get task by ID | Retrieves read-only detailed information for a specific Wrike task by its unique ID, optionally allowing specification of fields to include in the response. | `WRIKE_GET_TASK_BY_ID` | | Get tasks approvals | Retrieves all approval records for a specific task. | `WRIKE_GET_TASKS_APPROVALS` | | Get tasks rollups | Query rollup settings for a specific task. | `WRIKE_GET_TASKS_ROLLUPS` | | List space task blueprints | Lists task blueprints (templates for creating tasks with consistent structures) available in a specific, accessible Wrike space. | `WRIKE_LIST_SPACE_TASK_BLUEPRINTS` | | List task blueprints | Retrieves a list of defined Task Blueprints (predefined task templates) from the Wrike account, supporting pagination. | `WRIKE_LIST_TASK_BLUEPRINTS` | | Action | What it does | Slug | | - | - | - | | Get contact timelogs | Retrieve all timelog records created by a specific contact in Wrike. | `WRIKE_GET_CONTACT_TIMELOGS` | | Get folders timelog lock periods | Query timelog lock periods for a specific folder. | `WRIKE_GET_FOLDERS_TIMELOG_LOCK_PERIODS` | | Get folders timelogs | Retrieve all timelog records for a specific folder. | `WRIKE_GET_FOLDERS_TIMELOGS` | | Get space timelog lock periods | Query timelog lock periods for a specific space. | `WRIKE_GET_SPACE_TIMELOG_LOCK_PERIODS` | | Get task timelogs | Retrieves all timelog records for a specific task. | `WRIKE_GET_TASK_TIMELOGS` | | Get tasks timelog lock periods | Query timelog lock periods for a specific task. | `WRIKE_GET_TASKS_TIMELOG_LOCK_PERIODS` | | Get timelogs | Retrieves timelog records from Wrike with optional filters for dates, users, and task scope. | `WRIKE_GET_TIMELOGS` | | Get timelogs by IDs | Retrieves detailed information for one or more Wrike timelogs by their unique IDs (up to 100), optionally including export and lock status. | `WRIKE_GET_TIMELOGS_BY_IDS` | | Get timesheets | Query timesheets from Wrike. | `WRIKE_GET_TIMESHEETS` | | Get workschedules timesheet | Retrieve timesheet submission rules for a specific work schedule. | `WRIKE_GET_WORKSCHEDULES_TIMESHEET` | | Action | What it does | Slug | | - | - | - | | Get custom item types | Retrieve all custom item types from Wrike. | `WRIKE_GET_CUSTOM_ITEM_TYPES` | | Get space custom item types | Retrieve all custom item types scoped to a specific Wrike space. | `WRIKE_GET_SPACE_CUSTOM_ITEM_TYPES` | | Action | What it does | Slug | | - | - | - | | Get specific user | Retrieves detailed information about a specific user in Wrike using their unique user ID. | `WRIKE_GET_SPECIFIC_USER` | | Action | What it does | Slug | | - | - | - | | Get version | Retrieve current Wrike API version information. | `WRIKE_GET_VERSION` | | Action | What it does | Slug | | - | - | - | | Get all webhooks | Retrieve a list of all webhooks created using the same API token. | `WRIKE_GET_ALL_WEBHOOKS` | | Get webhook by ID | Retrieve details for a specific webhook by webhook\_id. | `WRIKE_GET_WEBHOOK_BY_ID` | | Action | What it does | Slug | | - | - | - | | Get spaces workflows | Query workflows for a specific Wrike space. | `WRIKE_GET_SPACES_WORKFLOWS` | | Query workflows | Fetches a list of all workflows with their detailed information from the Wrike account. | `WRIKE_QUERY_WORKFLOWS` | | Action | What it does | Slug | | - | - | - | | Get approvals | Retrieve all approvals accessible to the authenticated user. | `WRIKE_GET_APPROVALS` | | Get approvals by IDs | Retrieve specific Wrike approvals by their IDs (up to 100). | `WRIKE_GET_APPROVALS_BY_IDS` | | Get colors | Query the list of available colors in Wrike. | `WRIKE_GET_COLORS` | | Get IDs | Convert legacy Wrike API v2 IDs to current v4 format. | `WRIKE_GET_IDS` | | Get placeholder hourly rates | Retrieve hourly budget rates for one or more Wrike placeholders. | `WRIKE_GET_PLACEHOLDER_HOURLY_RATES` | | Get placeholders | Retrieve details for one or more Wrike placeholders by their IDs. | `WRIKE_GET_PLACEHOLDERS` | | List placeholders | Retrieves all placeholders accessible to the authenticated user. | `WRIKE_LIST_PLACEHOLDERS` | | Search ediscovery | Perform eDiscovery search across Wrike items (folders, projects, tasks). | `WRIKE_SEARCH_EDISCOVERY` | Teammates can use 103 of the 144 Wrike actions at this level: everything in **Read-only**, plus: * Create, update, and delete comments * Create, update, and delete dependencies * Create folders * Create, update, and delete time entries * Create and update attachments * Create and update tasks The 25 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Attachments** | Create task attachment | Upload a file attachment to a Wrike task. | `WRIKE_CREATE_TASK_ATTACHMENT` | | | Update attachment | Update a Wrike attachment by uploading new file content. | `WRIKE_UPDATE_ATTACHMENT` | | **Comments** | Create folders comments | Creates a new comment on a specified Wrike folder. | `WRIKE_CREATE_FOLDERS_COMMENTS` | | | Create task comment | Create a new comment on a Wrike task. | `WRIKE_CREATE_TASK_COMMENT` | | | Delete comment | Permanently deletes a Wrike comment by its ID. | `WRIKE_DELETE_COMMENT` | | | Update comment | Update an existing Wrike comment. | `WRIKE_UPDATE_COMMENT` | | **Dependencies** | Create tasks dependencies | Create a new dependency relationship between Wrike tasks. | `WRIKE_CREATE_TASKS_DEPENDENCIES` | | | Delete dependencies | Permanently removes a task dependency relationship by its ID. | `WRIKE_DELETE_DEPENDENCIES` | | | Update dependency | Modify an existing Wrike dependency relationship between tasks. | `WRIKE_UPDATE_DEPENDENCY` | | **Folders** | Copy folder | Copies a Wrike folder synchronously to a specified parent location with customizable options. | `WRIKE_COPY_FOLDER` | | | Copy folder async | Duplicate a folder asynchronously in Wrike, creating a copy in a specified parent location. | `WRIKE_COPY_FOLDER_ASYNC` | | | Create folder | Creates a new Wrike subfolder within the specified folderId, optionally as a project if customItemTypeId is given. | `WRIKE_CREATE_FOLDER` | | | Create folders approvals | Create a new approval in a Wrike folder. | `WRIKE_CREATE_FOLDERS_APPROVALS` | | | Launch folder blueprint async | Asynchronously launches a new project or folder structure in Wrike from a specified Folder Blueprint. | `WRIKE_LAUNCH_FOLDER_BLUEPRINT_ASYNC` | | | Update folders rollups | Update rollup settings for a folder. | `WRIKE_UPDATE_FOLDERS_ROLLUPS` | | **Tasks** | Create task | Creates a new task in a specified Wrike folder. | `WRIKE_CREATE_TASK` | | | Create tasks approvals | Create an approval on a specific task in Wrike. | `WRIKE_CREATE_TASKS_APPROVALS` | | | Launch task blueprint async | Asynchronously launches a Wrike Task Blueprint to create tasks/projects, requiring either super\_task\_id (parent task) or parent\_id (parent folder/project) for placement. | `WRIKE_LAUNCH_TASK_BLUEPRINT_ASYNC` | | | Modify task | Modifies an existing Wrike task by its ID, allowing updates to attributes such as title, status, dates, assignees, and custom fields. | `WRIKE_MODIFY_TASK` | | | Update tasks rollups | Updates rollup settings for a task. | `WRIKE_UPDATE_TASKS_ROLLUPS` | | **Time entries** | Create tasks timelogs | Create a timelog entry for a specific task in Wrike. | `WRIKE_CREATE_TASKS_TIMELOGS` | | | Delete timelog | Permanently deletes a Wrike timelog entry by its ID. | `WRIKE_DELETE_TIMELOG` | | | Update timelogs | Modify an existing timelog entry in Wrike. | `WRIKE_UPDATE_TIMELOGS` | | **Other actions** | Delete approvals | Cancels/deletes an approval by its identifier. | `WRIKE_DELETE_APPROVALS` | | | Update approvals | Updates an existing Wrike approval by its ID, allowing modifications to the title, description, and due date. | `WRIKE_UPDATE_APPROVALS` | Teammates can use 144 of the 144 Wrike actions at this level: everything in **Read + write**, plus: * Create, update, and delete groups * Create and delete webhooks * Create, update, and delete assets * Create, update, and delete bookings * Create, update, and delete custom fields * Update and delete folders * Create and update invitations * Update and delete roles and permissions * Create and update workflows * Update account details * Delete attachments * Update rows The 41 actions that this level adds to **Read + write**: | Action | What it does | Slug | | - | - | - | | Modify account | Updates or adds custom key-value metadata to the Wrike account, useful for integrations, storing app-specific data, or mapping external system identifiers. | `WRIKE_MODIFY_ACCOUNT` | | Action | What it does | Slug | | - | - | - | | Create assets | Create equipment/asset in Wrike. | `WRIKE_CREATE_ASSETS` | | Delete asset | Permanently deletes a Wrike asset/equipment by assetId. | `WRIKE_DELETE_ASSET` | | Update asset | Update a Wrike asset/equipment by ID. | `WRIKE_UPDATE_ASSET` | | Action | What it does | Slug | | - | - | - | | Delete attachments | Permanently delete a Wrike attachment by its ID. | `WRIKE_DELETE_ATTACHMENTS` | | Action | What it does | Slug | | - | - | - | | Create folder booking | Create a booking in a Wrike folder. | `WRIKE_CREATE_FOLDER_BOOKING` | | Delete booking | Permanently removes a resource booking allocation by its ID. | `WRIKE_DELETE_BOOKING` | | Update bookings | Updates a Wrike booking's date range by ID. | `WRIKE_UPDATE_BOOKINGS` | | Action | What it does | Slug | | - | - | - | | Update metadata on specific contact | Updates metadata, job role, or custom fields for an existing Wrike contact specified by contactId. | `WRIKE_UPDATE_METADATA_ON_SPECIFIC_CONTACT` | | Action | What it does | Slug | | - | - | - | | Create customfield | Create a new custom field in Wrike. | `WRIKE_CREATE_CUSTOMFIELD` | | Delete custom field | Permanently deletes a custom field by its ID. | `WRIKE_DELETE_CUSTOM_FIELD` | | Update custom field by ID | Updates properties of an existing Wrike custom field by its ID, such as its title, type, scope, or sharing settings. | `WRIKE_UPDATE_CUSTOM_FIELD_BY_ID` | | Action | What it does | Slug | | - | - | - | | Delete folder | Permanently deletes the folder specified by folderId and all its contents (e.g., tasks, documents, subfolders) from the Wrike workspace. | `WRIKE_DELETE_FOLDER` | | Modify folder | Modifies an existing Wrike folder: updates title, description, parents (not root/recycle bin), sharing, metadata, custom fields/columns. | `WRIKE_MODIFY_FOLDER` | | Action | What it does | Slug | | - | - | - | | Bulk modify groups | Adds or removes members for multiple Wrike groups in a single request. | `WRIKE_BULK_MODIFY_GROUPS` | | Create group | Creates a new user group in Wrike with a specified title, optionally setting members, parent group, avatar, and custom metadata. | `WRIKE_CREATE_GROUP` | | Delete group | Permanently deletes a group by its groupId. | `WRIKE_DELETE_GROUP` | | Modify group | Updates an existing Wrike user group's attributes like title, members, parent, avatar, or metadata, using its groupId and specifying only the fields to change. | `WRIKE_MODIFY_GROUP` | | Action | What it does | Slug | | - | - | - | | Create invitation | Invites a user to a Wrike workspace by email, optionally with name, specifying EITHER userTypeId OR a combination of role/external. | `WRIKE_CREATE_INVITATION` | | Update invitation | Updates a pending Wrike invitation (invitationId) to resend it or change user's role/type (use EITHER userTypeId OR role/external). | `WRIKE_UPDATE_INVITATION` | | Action | What it does | Slug | | - | - | - | | Delete job role | Permanently deletes a job role by its identifier. | `WRIKE_DELETE_JOB_ROLE` | | Update job role | Updates an existing Wrike job role by its ID, allowing modifications to the title and short title. | `WRIKE_UPDATE_JOB_ROLE` | | Action | What it does | Slug | | - | - | - | | Update timesheet row | Updates a Wrike timesheet row by its ID, allowing modification of the timelog category. | `WRIKE_UPDATE_TIMESHEET_ROW` | | Action | What it does | Slug | | - | - | - | | Update workschedule timesheet rules | Update timesheet submission rules for a work schedule. | `WRIKE_UPDATE_WORKSCHEDULE_TIMESHEET_RULES` | | Action | What it does | Slug | | - | - | - | | Delete space | Permanently deletes a Wrike space and all its contents by spaceId. | `WRIKE_DELETE_SPACE` | | Action | What it does | Slug | | - | - | - | | Delete task | Permanently deletes a Wrike task and all its associated data by its ID. | `WRIKE_DELETE_TASK` | | Action | What it does | Slug | | - | - | - | | Create folders timelog lock period | Creates a timelog lock period for a specific folder. | `WRIKE_CREATE_FOLDERS_TIMELOG_LOCK_PERIOD` | | Create spaces timelog lock period | Create a timelog lock period for a space to prevent time entries from being edited. | `WRIKE_CREATE_SPACES_TIMELOG_LOCK_PERIOD` | | Create timesheets | Create a timesheet for a user for a specified time period. | `WRIKE_CREATE_TIMESHEETS` | | Delete folders timelog lock period | Deletes a timelog lock period for a specific folder. | `WRIKE_DELETE_FOLDERS_TIMELOG_LOCK_PERIOD` | | Delete spaces timelog | Unlock (delete) a timelog lock period for a specific space in Wrike. | `WRIKE_DELETE_SPACES_TIMELOG` | | Update timesheets | Update a timesheet's approval status in Wrike. | `WRIKE_UPDATE_TIMESHEETS` | | Action | What it does | Slug | | - | - | - | | Update specific user | Updates specified profile attributes (e.g., account ID, role, external status) for an existing Wrike user. | `WRIKE_UPDATE_SPECIFIC_USER` | | Action | What it does | Slug | | - | - | - | | Create account webhooks | Creates a webhook for the current account to receive notifications about changes. | `WRIKE_CREATE_ACCOUNT_WEBHOOKS` | | Create folder webhook | Create a webhook for a Wrike folder or project. | `WRIKE_CREATE_FOLDER_WEBHOOK` | | Create space webhook | Create a webhook on a Wrike space for receiving notifications about changes to tasks, folders, and projects. | `WRIKE_CREATE_SPACE_WEBHOOK` | | Delete webhook | Permanently delete a webhook by webhook\_id. | `WRIKE_DELETE_WEBHOOK` | | Update webhook state | Update the state of a Wrike webhook. | `WRIKE_UPDATE_WEBHOOK_STATE` | | Action | What it does | Slug | | - | - | - | | Create workflows | Create a new custom workflow in Wrike. | `WRIKE_CREATE_WORKFLOWS` | | Update workflow | Modify an existing Wrike workflow. | `WRIKE_UPDATE_WORKFLOW` | | Action | What it does | Slug | | - | - | - | | Delete inivtation | Permanently deletes an existing invitation, specified by its unique invitationId. | `WRIKE_DELETE_INIVTATION` | ## Connect Wrike Before you start: * You need a Wrike account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Wrike** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Wrike**. The Wrike sign-in page opens in a new tab. Sign in to Wrike and approve the request. Check that it works: Wrike shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Wrike account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Wrike account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Wrike account Click **+ Account** on the Wrike card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Wrike side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Wrike**. 3. Sign in to Wrike and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Wrike account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Wrike.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Wrike account becomes primary. ## Costs Wrike actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Wrike, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Wrike connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Wrike account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Wrike card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Wrike account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Wrike.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # YouTube Source: https://squad.so/docs/apps/youtube What teammates can do in YouTube at each access level, and how to connect, limit, and disconnect YouTube. Connect YouTube so your teammates can work in your YouTube account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each YouTube account has an access level: **Read-only**, **Read + upload**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as your channel, videos, playlists, comments, and captions. Cannot change anything." | 25 of 51 | | **Read + upload** (recommended) | "Upload new videos. Cannot change or delete anything already on the channel." | 27 of 51 | | **Full access** | "Everything, including editing and deleting videos, playlists, comments, and subscriptions." | 51 of 51 | **Read + upload** is the recommended level. The connect window selects it for you, and you can choose another level. The YouTube sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my YouTube account?" The teammate can search the YouTube actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the YouTube action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 25 of the 51 YouTube actions at this level: * View videos * View channels * View threads * View activities * Manage captions * View categories * View comments * View events * View images * View items * View languages * View messages All 25 actions at this level: | Works on | Action | What it does | Slug | | - | - | - | - | | **Activities** | Get channel activities | Gets recent activities from a YouTube channel including video uploads, playlist additions, likes, and other channel events. | `YOUTUBE_GET_CHANNEL_ACTIVITIES` | | **Captions** | List caption track | Retrieves a list of caption tracks for a YouTube video. | `YOUTUBE_LIST_CAPTION_TRACK` | | | Load captions | Downloads a specific YouTube caption track, which must be owned by the authenticated user, and returns its content as text. | `YOUTUBE_LOAD_CAPTIONS` | | **Categories** | List video categories | List YouTube video categories that can be associated with videos. | `YOUTUBE_LIST_VIDEO_CATEGORIES` | | **Channels** | Get channel ID by handle | Retrieves the YouTube Channel ID for a specific YouTube channel handle. | `YOUTUBE_GET_CHANNEL_ID_BY_HANDLE` | | | List channels | | `YOUTUBE_LIST_CHANNELS` | | **Comments** | List comments | List individual comments from YouTube videos. | `YOUTUBE_LIST_COMMENTS` | | **Events** | List super chat events | Lists Super Chat events for a channel, showing supporter purchases during live streams. | `YOUTUBE_LIST_SUPER_CHAT_EVENTS` | | **Images** | List playlist images | Retrieve playlist images associated with a specific playlist. | `YOUTUBE_LIST_PLAYLIST_IMAGES` | | **Items** | List playlist items | List videos in a playlist, with pagination support. | `YOUTUBE_LIST_PLAYLIST_ITEMS` | | **Languages** | List i18n languages | Returns a list of application languages that the YouTube website supports. | `YOUTUBE_LIST_I18N_LANGUAGES` | | **Messages** | List live chat messages | List live chat messages for a specific chat. | `YOUTUBE_LIST_LIVE_CHAT_MESSAGES` | | **Playlists** | List user playlists | Retrieves playlists owned by the authenticated user, implicitly using mine=True. | `YOUTUBE_LIST_USER_PLAYLISTS` | | **Ratings** | Get video rating | Retrieves the ratings that the authorized user gave to a list of specified videos. | `YOUTUBE_GET_VIDEO_RATING` | | **Regions** | List i18n regions | Retrieve a list of content regions that the YouTube website supports. | `YOUTUBE_LIST_I18N_REGIONS` | | **Reports** | Get channel statistics | Gets detailed statistics for YouTube channels including subscriber counts, view counts, and video counts. | `YOUTUBE_GET_CHANNEL_STATISTICS` | | | List video abuse report reasons | Retrieve a list of abuse report reasons that can be used to report abusive videos on YouTube. | `YOUTUBE_LIST_VIDEO_ABUSE_REPORT_REASONS` | | **Sections** | List channel sections | Retrieve channel sections from YouTube. | `YOUTUBE_LIST_CHANNEL_SECTIONS` | | **Subscriptions** | List user subscriptions | Retrieves the authenticated user's YouTube channel subscriptions, allowing specification of response parts and pagination. | `YOUTUBE_LIST_USER_SUBSCRIPTIONS` | | **Threads** | List comment threads | DEPRECATED: Use YOUTUBE\_LIST\_COMMENT\_THREADS2 instead. | `YOUTUBE_LIST_COMMENT_THREADS` | | | List comment threads2 | Retrieve comment threads from YouTube videos or channels matching API request parameters. | `YOUTUBE_LIST_COMMENT_THREADS2` | | **Videos** | Get video details batch | Retrieves multiple YouTube video resource parts in a single batch call. | `YOUTUBE_GET_VIDEO_DETAILS_BATCH` | | | List channel videos | Lists videos from a specified YouTube channel. | `YOUTUBE_LIST_CHANNEL_VIDEOS` | | | List most popular videos | DEPRECATED: Use YOUTUBE\_UPDATE\_VIDEO instead. | `YOUTUBE_LIST_MOST_POPULAR_VIDEOS` | | **Other actions** | Search you tube | Searches YouTube for videos, channels, or playlists using a query term, returning the raw API response. | `YOUTUBE_SEARCH_YOU_TUBE` | Teammates can use 27 of the 51 YouTube actions at this level: everything in **Read-only**, plus: * Create videos The 2 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Videos** | Multipart upload video | Uploads a video to YouTube using multipart upload in a single request. | `YOUTUBE_MULTIPART_UPLOAD_VIDEO` | | | Upload video | Uploads a video from a local file path to a YouTube channel. | `YOUTUBE_UPLOAD_VIDEO` | Teammates can use 51 of the 51 YouTube actions at this level: everything in **Read + upload**, plus: * Create, update, and delete comments * Update channels * Create, update, and delete playlists * Create, update, and delete sections * Update, delete, and manage videos * Update and delete items * Update captions * Send replies * Update thumbnails The 24 actions that this level adds to **Read + upload**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Captions** | Update caption | Updates a YouTube caption track's metadata such as name, language, or draft status. | `YOUTUBE_UPDATE_CAPTION` | | **Channels** | Subscribe channel | Subscribes the authenticated user to a specified YouTube channel, identified by its unique channelId which must be valid and existing. | `YOUTUBE_SUBSCRIBE_CHANNEL` | | | Unsubscribe channel | Unsubscribe the authenticated user from a YouTube channel by deleting a subscription. | `YOUTUBE_UNSUBSCRIBE_CHANNEL` | | | Update channel | Updates a channel's metadata including branding settings and localizations. | `YOUTUBE_UPDATE_CHANNEL` | | **Comments** | Delete comment | Delete a YouTube comment owned by the authenticated user or channel. | `YOUTUBE_DELETE_COMMENT` | | | Mark comment as spam | Mark one or more YouTube comments as spam. | `YOUTUBE_MARK_COMMENT_AS_SPAM` | | | Post comment | Post a new top-level comment on a YouTube video. | `YOUTUBE_POST_COMMENT` | | | Set comment moderation status | Set the moderation status of one or more YouTube comments. | `YOUTUBE_SET_COMMENT_MODERATION_STATUS` | | | Update comment | Modify the text of an existing YouTube comment. | `YOUTUBE_UPDATE_COMMENT` | | **Items** | Delete playlist item | Delete a playlist item (remove a video from a playlist). | `YOUTUBE_DELETE_PLAYLIST_ITEM` | | | Update playlist item | Modify a playlist item's properties such as position or note. | `YOUTUBE_UPDATE_PLAYLIST_ITEM` | | **Playlists** | Create playlist | Create a new YouTube playlist on the authenticated user's channel. | `YOUTUBE_CREATE_PLAYLIST` | | | Delete playlist | Delete a YouTube playlist owned by the authenticated user/channel. | `YOUTUBE_DELETE_PLAYLIST` | | | Update playlist | Modify an existing YouTube playlist's metadata (title, description, privacy status). | `YOUTUBE_UPDATE_PLAYLIST` | | **Replies** | Create comment reply | Create a reply to an existing YouTube comment. | `YOUTUBE_CREATE_COMMENT_REPLY` | | **Sections** | Create channel section | Create a new channel section for the authenticated user's YouTube channel. | `YOUTUBE_CREATE_CHANNEL_SECTION` | | | Delete channel section | Delete a YouTube channel section. | `YOUTUBE_DELETE_CHANNEL_SECTION` | | | Update channel section | Update an existing YouTube channel section by ID. | `YOUTUBE_UPDATE_CHANNEL_SECTION` | | **Thumbnails** | Update thumbnail | Sets the custom thumbnail for a YouTube video using an image from a URL. | `YOUTUBE_UPDATE_THUMBNAIL` | | **Videos** | Add video to playlist | Add a video to a playlist by inserting a playlist item. | `YOUTUBE_ADD_VIDEO_TO_PLAYLIST` | | | Delete video | Delete a YouTube video owned by the authenticated user/channel. | `YOUTUBE_DELETE_VIDEO` | | | Rate video | Add a like or dislike rating to a YouTube video, or remove an existing rating. | `YOUTUBE_RATE_VIDEO` | | | Report video abuse | Report a YouTube video for containing abusive content. | `YOUTUBE_REPORT_VIDEO_ABUSE` | | | Update video | Updates metadata for a YouTube video identified by videoId, which must exist. | `YOUTUBE_UPDATE_VIDEO` | ## Connect YouTube Before you start: * You need a YouTube account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **YouTube** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect YouTube**. The YouTube sign-in page opens in a new tab. Sign in to YouTube and approve the request. Check that it works: YouTube shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the YouTube account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the YouTube account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one YouTube account Click **+ Account** on the YouTube card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the YouTube side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on YouTube**. 3. Sign in to YouTube and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the YouTube account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to YouTube.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected YouTube account becomes primary. ## Costs YouTube actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to YouTube, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the YouTube connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each YouTube account has an access level: **Read-only**, **Read + upload**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the YouTube card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the YouTube account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to YouTube.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Zendesk Source: https://squad.so/docs/apps/zendesk What teammates can do in Zendesk at each access level, and how to connect, limit, and disconnect Zendesk. Connect Zendesk so your teammates can work in your Zendesk account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Zendesk account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as tickets, users, organizations, macros, and settings. Cannot change anything." | 266 of 457 | | **Read + write** (recommended) | "Create, update, reply to, merge, and delete tickets, and create and edit users and organizations. Cannot change triggers, macros, views, fields, or groups." | 332 of 457 | | **Full access** | "Everything, including triggers, automations, macros, views, fields, groups, and permanent deletes." | 457 of 457 | **Read + write** is the recommended level. The connect window selects it for you, and you can choose another level. The Zendesk sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Zendesk account?" The teammate can search the Zendesk actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Zendesk action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 266 of the 457 Zendesk actions at this level: * View tickets * View and search users * View members * View fields * View and search organizations * View and create tags * View events * View settings * View and search triggers * View attachments * View languages * View and search records All 266 actions at this level: | Action | What it does | Slug | | - | - | - | | Get activities count | Count ticket activities in Zendesk. | `ZENDESK_GET_ACTIVITIES_COUNT` | | Get Zendesk activities | List ticket activities in the last 30 days affecting your Zendesk. | `ZENDESK_GET_ZENDESK_ACTIVITIES` | | Action | What it does | Slug | | - | - | - | | Get support address | Get a support address by its unique ID. | `ZENDESK_GET_SUPPORT_ADDRESS` | | List support addresses | List all support addresses (recipient addresses) configured in your Zendesk account. | `ZENDESK_LIST_SUPPORT_ADDRESSES` | | Action | What it does | Slug | | - | - | - | | Get brands agents | List agents assigned to a specific brand in Zendesk. | `ZENDESK_GET_BRANDS_AGENTS` | | Get locales agent | List the translation locales that have been localized for agent use. | `ZENDESK_GET_LOCALES_AGENT` | | Get routing agents instance values | Retrieve attribute values for multiple agents/users using the Skill-Based Routing API. | `ZENDESK_GET_ROUTING_AGENTS_INSTANCE_VALUES` | | Get users brand agents | List brand agent memberships for a specific user in Zendesk. | `ZENDESK_GET_USERS_BRAND_AGENTS` | | List brand agents | List brand agent memberships to retrieve which agents are associated with which brands in Zendesk. | `ZENDESK_LIST_BRAND_AGENTS` | | Action | What it does | Slug | | - | - | - | | Get app | Get a single Zendesk app by its numeric ID. | `ZENDESK_GET_APP` | | Get owned apps | List apps owned by the current Zendesk account. | `ZENDESK_GET_OWNED_APPS` | | Action | What it does | Slug | | - | - | - | | Search help center articles | | `ZENDESK_SEARCH_HELP_CENTER_ARTICLES` | | Action | What it does | Slug | | - | - | - | | Download attachment | | `ZENDESK_DOWNLOAD_ATTACHMENT` | | Download custom object record attachment | Download attachment file from a Zendesk custom object record. | `ZENDESK_DOWNLOAD_CUSTOM_OBJECT_RECORD_ATTACHMENT` | | Get attachment | Retrieve details of a single Zendesk attachment by its ID. | `ZENDESK_GET_ATTACHMENT` | | Get macro attachments | List all attachments associated with a specific Zendesk macro. | `ZENDESK_GET_MACRO_ATTACHMENTS` | | List custom object record attachments | List all file attachments for a specific custom object record in Zendesk. | `ZENDESK_LIST_CUSTOM_OBJECT_RECORD_ATTACHMENTS` | | Action | What it does | Slug | | - | - | - | | Get incremental routing attribute values | Retrieve routing attribute values that have been modified since a specified start time using the Incremental Skill-Based Routing API. | `ZENDESK_GET_INCREMENTAL_ROUTING_ATTRIBUTE_VALUES` | | Get incremental routing attributes | Export routing attributes incrementally with optional start\_time filtering and cursor-based pagination. | `ZENDESK_GET_INCREMENTAL_ROUTING_ATTRIBUTES` | | Action | What it does | Slug | | - | - | - | | Get ticket audit by ID | Show a specific audit for a ticket from Zendesk. | `ZENDESK_GET_TICKET_AUDIT_BY_ID` | | Get tickets audits | List all audits (change history) for a specific Zendesk ticket. | `ZENDESK_GET_TICKETS_AUDITS` | | Get tickets audits count | Count audits for a specific ticket in Zendesk. | `ZENDESK_GET_TICKETS_AUDITS_COUNT` | | List ticket audits | List all ticket audits from Zendesk. | `ZENDESK_LIST_TICKET_AUDITS` | | Action | What it does | Slug | | - | - | - | | Get automation | Show a specific automation by its ID. | `ZENDESK_GET_AUTOMATION` | | Get automations | List all automations for the current Zendesk account. | `ZENDESK_GET_AUTOMATIONS` | | Get automations search | Search for Zendesk automations by their title. | `ZENDESK_GET_AUTOMATIONS_SEARCH` | | List active automations | List all active automations in Zendesk. | `ZENDESK_LIST_ACTIVE_AUTOMATIONS` | | Action | What it does | Slug | | - | - | - | | Verify subdomain availability | Verify if a subdomain name is available for use in Zendesk. | `ZENDESK_VERIFY_SUBDOMAIN_AVAILABILITY` | | Action | What it does | Slug | | - | - | - | | List bookmarks | List Bookmarks returns all bookmarks created by the user. | `ZENDESK_LIST_BOOKMARKS` | | Action | What it does | Slug | | - | - | - | | Check host mapping validity for existing brand | Check the host mapping validity for an existing brand in Zendesk. | `ZENDESK_CHECK_HOST_MAPPING_VALIDITY_FOR_EXISTING_BRAND` | | Get brands | List all brands configured in your Zendesk account. | `ZENDESK_GET_BRANDS` | | Get brands2 | Show a Brand. | `ZENDESK_GET_BRANDS2` | | Action | What it does | Slug | | - | - | - | | Get macro categories | List all macro categories available to the current Zendesk account. | `ZENDESK_GET_MACRO_CATEGORIES` | | Get trigger categories | List all ticket trigger categories in your Zendesk account. | `ZENDESK_GET_TRIGGER_CATEGORIES` | | Get trigger categories2 | Show a specific ticket trigger category by its ID. | `ZENDESK_GET_TRIGGER_CATEGORIES2` | | Action | What it does | Slug | | - | - | - | | Get ticket collaborators | List all collaborators (CC'd users) on a Zendesk ticket. | `ZENDESK_GET_TICKET_COLLABORATORS` | | Action | What it does | Slug | | - | - | - | | List resource collections | List Resource Collections for the Zendesk account. | `ZENDESK_LIST_RESOURCE_COLLECTIONS` | | Action | What it does | Slug | | - | - | - | | Get request comments | List comments on a Zendesk request. | `ZENDESK_GET_REQUEST_COMMENTS` | | Get requests comment | Get a specific comment from a Zendesk request. | `ZENDESK_GET_REQUESTS_COMMENT` | | Get ticket comments | List comments on a Zendesk ticket. | `ZENDESK_GET_TICKET_COMMENTS` | | Get tickets comments count | Count comments on a Zendesk ticket. | `ZENDESK_GET_TICKETS_COMMENTS_COUNT` | | Action | What it does | Slug | | - | - | - | | List help center content | | `ZENDESK_LIST_HELP_CENTER_CONTENT` | | List ticket content pins | List Ticket Content Pins returns all content pins for a specified ticket. | `ZENDESK_LIST_TICKET_CONTENT_PINS` | | Action | What it does | Slug | | - | - | - | | Get Zendesk tickets side conversation ID | Get a specific side conversation by its ID for a Zendesk ticket. | `ZENDESK_GET_ZENDESK_TICKETS_SIDE_CONVERSATION_ID` | | Action | What it does | Slug | | - | - | - | | Get ticket email c cs | List Email CCs for a Ticket. | `ZENDESK_GET_TICKET_EMAIL_C_CS` | | Action | What it does | Slug | | - | - | - | | Get incremental ticket events | Export incremental ticket events from Zendesk. | `ZENDESK_GET_INCREMENTAL_TICKET_EVENTS` | | Get incremental ticket metric events | List ticket metric events in Zendesk that occurred on or after a specified time. | `ZENDESK_GET_INCREMENTAL_TICKET_METRIC_EVENTS` | | Get side conversations events | Retrieve side conversation events for incremental export. | `ZENDESK_GET_SIDE_CONVERSATIONS_EVENTS` | | Get tickets side conversations events | List all events for a specific side conversation on a Zendesk ticket. | `ZENDESK_GET_TICKETS_SIDE_CONVERSATIONS_EVENTS` | | Get user events | Retrieve event history for a specific Zendesk user. | `ZENDESK_GET_USER_EVENTS` | | Get user profiles events2 | Get events for a Sunshine profile by its profile ID. | `ZENDESK_GET_USER_PROFILES_EVENTS2` | | Action | What it does | Slug | | - | - | - | | Get search export | Export search results from Zendesk using cursor-based pagination. | `ZENDESK_GET_SEARCH_EXPORT` | | Action | What it does | Slug | | - | - | - | | Get organization field2 | Get details for a specific organization field in Zendesk by its ID or key. | `ZENDESK_GET_ORGANIZATION_FIELD2` | | Get organization fields | List all custom organization fields for the Zendesk account. | `ZENDESK_GET_ORGANIZATION_FIELDS` | | Get ticket field2 | Show a specific ticket field by its ID. | `ZENDESK_GET_TICKET_FIELD2` | | Get ticket fields | List all system and custom ticket fields in Zendesk. | `ZENDESK_GET_TICKET_FIELDS` | | Get ticket fields count | Count ticket fields in Zendesk. | `ZENDESK_GET_TICKET_FIELDS_COUNT` | | Get ticket fields show many | Retrieve multiple ticket fields by their IDs or keys in a single request. | `ZENDESK_GET_TICKET_FIELDS_SHOW_MANY` | | Get user field by ID | Retrieve a single Zendesk user field by its numeric ID. | `ZENDESK_GET_USER_FIELD_BY_ID` | | Get user fields | List all custom user fields configured in your Zendesk account. | `ZENDESK_GET_USER_FIELDS` | | Get user fields show many | Retrieve multiple Zendesk user fields by their keys. | `ZENDESK_GET_USER_FIELDS_SHOW_MANY` | | List Zendesk custom object fields | List all fields for a custom object in Zendesk. | `ZENDESK_LIST_ZENDESK_CUSTOM_OBJECT_FIELDS` | | Action | What it does | Slug | | - | - | - | | Get ticket followers | List all followers on a Zendesk ticket. | `ZENDESK_GET_TICKET_FOLLOWERS` | | Action | What it does | Slug | | - | - | - | | Get ticket forms | List all ticket forms configured in your Zendesk account. | `ZENDESK_GET_TICKET_FORMS` | | Get ticket forms show many | Show multiple ticket forms by their IDs. | `ZENDESK_GET_TICKET_FORMS_SHOW_MANY` | | Get Zendesk ticket form | Get details for a specific ticket form in Zendesk by its ID. | `ZENDESK_GET_ZENDESK_TICKET_FORM` | | Action | What it does | Slug | | - | - | - | | Get groups assignable | List all groups that can be assigned to tickets or users in your Zendesk account. | `ZENDESK_GET_GROUPS_ASSIGNABLE` | | Get groups count | Count groups in Zendesk. | `ZENDESK_GET_GROUPS_COUNT` | | Get users groups | List all groups that a specific Zendesk user belongs to. | `ZENDESK_GET_USERS_GROUPS` | | Get users groups count | Count user groups in Zendesk. | `ZENDESK_GET_USERS_GROUPS_COUNT` | | Action | What it does | Slug | | - | - | - | | Get end user identities | List all identities associated with a specific end user. | `ZENDESK_GET_END_USER_IDENTITIES` | | Get end user identity | Fetch a specific end user identity by user ID and identity ID. | `ZENDESK_GET_END_USER_IDENTITY` | | Get users identities2 | Show a specific user identity by user ID and identity ID. | `ZENDESK_GET_USERS_IDENTITIES2` | | List user identities | List all identities for a specific Zendesk user. | `ZENDESK_LIST_USER_IDENTITIES` | | Action | What it does | Slug | | - | - | - | | Get ticket incidents | List incidents linked to a problem ticket in Zendesk. | `ZENDESK_GET_TICKET_INCIDENTS` | | Action | What it does | Slug | | - | - | - | | Get apps installations requirements | List all requirements for a Zendesk app installation. | `ZENDESK_GET_APPS_INSTALLATIONS_REQUIREMENTS` | | Get apps location installations | List all apps location installations from Zendesk. | `ZENDESK_GET_APPS_LOCATION_INSTALLATIONS` | | List app installations | List all app installations in the Zendesk account. | `ZENDESK_LIST_APP_INSTALLATIONS` | | Action | What it does | Slug | | - | - | - | | Get dynamic content item show | Show a specific dynamic content item by its ID. | `ZENDESK_GET_DYNAMIC_CONTENT_ITEM_SHOW` | | Get dynamic content item variant | Show a specific variant of a dynamic content item in Zendesk. | `ZENDESK_GET_DYNAMIC_CONTENT_ITEM_VARIANT` | | Get dynamic content items | List all dynamic content items configured in your Zendesk account. | `ZENDESK_GET_DYNAMIC_CONTENT_ITEMS` | | Get dynamic content items show many | Retrieve multiple dynamic content items by their identifiers. | `ZENDESK_GET_DYNAMIC_CONTENT_ITEMS_SHOW_MANY` | | Get dynamic content items variants | List all variants of a specific Zendesk dynamic content item. | `ZENDESK_GET_DYNAMIC_CONTENT_ITEMS_VARIANTS` | | Action | What it does | Slug | | - | - | - | | Get job statuses | List job statuses from Zendesk. | `ZENDESK_GET_JOB_STATUSES` | | Get job statuses2 | Get a single job status by ID from Zendesk. | `ZENDESK_GET_JOB_STATUSES2` | | Show many job statuses | Show many job statuses by their IDs in Zendesk. | `ZENDESK_SHOW_MANY_JOB_STATUSES` | | Action | What it does | Slug | | - | - | - | | Get apps public key | Retrieves the public key for a specific Zendesk app. | `ZENDESK_GET_APPS_PUBLIC_KEY` | | Get apps public key pem | Retrieves the public key for a specific Zendesk app in PEM format. | `ZENDESK_GET_APPS_PUBLIC_KEY_PEM` | | Action | What it does | Slug | | - | - | - | | Detect best locale | Detect the best language/locale for the current user based on their browser settings and account preferences. | `ZENDESK_DETECT_BEST_LOCALE` | | Get locale | Get a locale by its ID or BCP-47 code. | `ZENDESK_GET_LOCALE` | | Get locales | List all translation locales available for your Zendesk account. | `ZENDESK_GET_LOCALES` | | Get locales current | Show the current locale for a Zendesk account. | `ZENDESK_GET_LOCALES_CURRENT` | | Get public locales | List all available public locales that can be used for translations in Zendesk. | `ZENDESK_GET_PUBLIC_LOCALES` | | Action | What it does | Slug | | - | - | - | | Get apps location | Get details for a specific Zendesk app location by its numeric ID. | `ZENDESK_GET_APPS_LOCATION` | | List app locations | List all available locations where Zendesk apps can be installed. | `ZENDESK_LIST_APP_LOCATIONS` | | Action | What it does | Slug | | - | - | - | | Get tickets conversation log | List conversation log events for a specific Zendesk ticket. | `ZENDESK_GET_TICKETS_CONVERSATION_LOG` | | Action | What it does | Slug | | - | - | - | | Apply Zendesk macro | Preview how a Zendesk macro would affect a ticket without actually applying it. | `ZENDESK_APPLY_ZENDESK_MACRO` | | Get macro definitions | Retrieve the definitions of all actions that a macro can perform in Zendesk. | `ZENDESK_GET_MACRO_DEFINITIONS` | | Get macro replica | Show a macro replica (unpersisted macro representation) based on a macro ID and ticket ID. | `ZENDESK_GET_MACRO_REPLICA` | | Get macro2 | Show a specific macro by its ID. | `ZENDESK_GET_MACRO2` | | Get macros | List all shared and personal macros available in your Zendesk account. | `ZENDESK_GET_MACROS` | | Get macros actions | List supported actions for macros in Zendesk. | `ZENDESK_GET_MACROS_ACTIONS` | | Get macros active | List all active shared and personal macros in Zendesk. | `ZENDESK_GET_MACROS_ACTIVE` | | Get macros apply | Show changes to a ticket that would result from applying a macro. | `ZENDESK_GET_MACROS_APPLY` | | Get macros search | Search for Zendesk macros by their title. | `ZENDESK_GET_MACROS_SEARCH` | | Action | What it does | Slug | | - | - | - | | Get group membership | Get a group membership by its unique ID. | `ZENDESK_GET_GROUP_MEMBERSHIP` | | Get group memberships | List all group memberships in your Zendesk account. | `ZENDESK_GET_GROUP_MEMBERSHIPS` | | Get group memberships by group | List group memberships for a specific Zendesk group. | `ZENDESK_GET_GROUP_MEMBERSHIPS_BY_GROUP` | | Get organization membership2 | Get details for a specific organization membership by its ID. | `ZENDESK_GET_ORGANIZATION_MEMBERSHIP2` | | Get users group memberships | List group memberships for a specific Zendesk user. | `ZENDESK_GET_USERS_GROUP_MEMBERSHIPS` | | Get users group memberships by ID | Get a specific group membership for a user by their IDs. | `ZENDESK_GET_USERS_GROUP_MEMBERSHIPS_BY_ID` | | Get users organization memberships | List organization memberships for a specific Zendesk user. | `ZENDESK_GET_USERS_ORGANIZATION_MEMBERSHIPS` | | Get users organization memberships2 | Get details for a specific organization membership by user ID and membership ID. | `ZENDESK_GET_USERS_ORGANIZATION_MEMBERSHIPS2` | | List assignable group memberships | List assignable group memberships in Zendesk. | `ZENDESK_LIST_ASSIGNABLE_GROUP_MEMBERSHIPS` | | List assignable group memberships by group | List assignable group memberships for a specific group in Zendesk. | `ZENDESK_LIST_ASSIGNABLE_GROUP_MEMBERSHIPS_BY_GROUP` | | List organization memberships | List organization memberships in Zendesk. | `ZENDESK_LIST_ORGANIZATION_MEMBERSHIPS` | | List organization memberships by organization | List organization memberships for a specific organization in Zendesk. | `ZENDESK_LIST_ORGANIZATION_MEMBERSHIPS_BY_ORGANIZATION` | | Action | What it does | Slug | | - | - | - | | Get email notification | Retrieve details of a single email notification in Zendesk by its notification ID. | `ZENDESK_GET_EMAIL_NOTIFICATION` | | Get email notifications | List email notifications from Zendesk. | `ZENDESK_GET_EMAIL_NOTIFICATIONS` | | Get email notifications show many | Show details of many email notifications in Zendesk. | `ZENDESK_GET_EMAIL_NOTIFICATIONS_SHOW_MANY` | | Action | What it does | Slug | | - | - | - | | List Zendesk custom objects | List all custom object definitions in Zendesk. | `ZENDESK_LIST_ZENDESK_CUSTOM_OBJECTS` | | Show custom object | Get details of a specific Zendesk custom object by its key. | `ZENDESK_SHOW_CUSTOM_OBJECT` | | Action | What it does | Slug | | - | - | - | | Count Zendesk organizations | Count the number of organizations in Zendesk. | `ZENDESK_COUNT_ZENDESK_ORGANIZATIONS` | | Get all Zendesk organizations | Get all organizations in Zendesk. | `ZENDESK_GET_ALL_ZENDESK_ORGANIZATIONS` | | Get incremental organizations | Retrieve organizations that have been modified since a specified start time using the Incremental Organization Export API. | `ZENDESK_GET_INCREMENTAL_ORGANIZATIONS` | | Get organization related | Get related counts and information for a specific Zendesk organization by ID. | `ZENDESK_GET_ORGANIZATION_RELATED` | | Get organization requests | List requests for a specific Zendesk organization. | `ZENDESK_GET_ORGANIZATION_REQUESTS` | | Get organizations autocomplete | Search for Zendesk organizations using autocomplete. | `ZENDESK_GET_ORGANIZATIONS_AUTOCOMPLETE` | | Get organizations merges | List all organization merge operations for a specific organization in Zendesk. | `ZENDESK_GET_ORGANIZATIONS_MERGES` | | Get organizations show many | Show many Zendesk organizations by their IDs or external IDs. | `ZENDESK_GET_ORGANIZATIONS_SHOW_MANY` | | Get users organizations | List organizations associated with a specific Zendesk user. | `ZENDESK_GET_USERS_ORGANIZATIONS` | | Get users organizations count | Returns an approximate count of organizations that a user belongs to. | `ZENDESK_GET_USERS_ORGANIZATIONS_COUNT` | | Get Zendesk organization | Get metadata for a specific Zendesk organization by ID. | `ZENDESK_GET_ZENDESK_ORGANIZATION` | | Get Zendesk organization merge | Retrieve the details of a specific organization merge operation in Zendesk. | `ZENDESK_GET_ZENDESK_ORGANIZATION_MERGE` | | Search Zendesk organizations | Search organizations in Zendesk by external ID or name. | `ZENDESK_SEARCH_ZENDESK_ORGANIZATIONS` | | Action | What it does | Slug | | - | - | - | | List Zendesk permission policies | List all permission policies for a custom object in Zendesk. | `ZENDESK_LIST_ZENDESK_PERMISSION_POLICIES` | | Show permission policy | Get details of a specific permission policy for a Zendesk custom object by its ID. | `ZENDESK_SHOW_PERMISSION_POLICY` | | Action | What it does | Slug | | - | - | - | | Get user profiles2 | Retrieve a single Zendesk user profile by its Sunshine profile ID. | `ZENDESK_GET_USER_PROFILES2` | | Get users profiles | Retrieve profiles associated with a specific Zendesk user by user ID. | `ZENDESK_GET_USERS_PROFILES` | | Action | What it does | Slug | | - | - | - | | Count Zendesk custom object records | Count the number of records in a specific Zendesk custom object. | `ZENDESK_COUNT_ZENDESK_CUSTOM_OBJECT_RECORDS` | | List custom object records | List all records for a specific custom object type in Zendesk. | `ZENDESK_LIST_CUSTOM_OBJECT_RECORDS` | | List incremental custom object records | Export custom object records incrementally using cursor-based pagination. | `ZENDESK_LIST_INCREMENTAL_CUSTOM_OBJECT_RECORDS` | | Search custom object records | Search and filter custom object records in Zendesk using text queries and field filters. | `ZENDESK_SEARCH_CUSTOM_OBJECT_RECORDS` | | Show custom object record | Get details of a specific Zendesk custom object record by its key and record ID. | `ZENDESK_SHOW_CUSTOM_OBJECT_RECORD` | | Action | What it does | Slug | | - | - | - | | Get ticket metric | Retrieve a specific ticket metric from Zendesk by its ID. | `ZENDESK_GET_TICKET_METRIC` | | Get ticket metrics | List Ticket Metrics from Zendesk. | `ZENDESK_GET_TICKET_METRICS` | | Get ticket SLA policy metrics | | `ZENDESK_GET_TICKET_SLA_POLICY_METRICS` | | Get tickets metrics | Get ticket metrics from Zendesk for a specific ticket. | `ZENDESK_GET_TICKETS_METRICS` | | Action | What it does | Slug | | - | - | - | | Get guide survey responses | List survey responses from Zendesk Guide. | `ZENDESK_GET_GUIDE_SURVEY_RESPONSES` | | Action | What it does | Slug | | - | - | - | | Get Zendesk custom roles | List all custom roles configured in your Zendesk account. | `ZENDESK_GET_ZENDESK_CUSTOM_ROLES` | | Action | What it does | Slug | | - | - | - | | List Zendesk access rules | List all access rules for a Zendesk custom object. | `ZENDESK_LIST_ZENDESK_ACCESS_RULES` | | Show access rule | Show a custom object access rule by its ID. | `ZENDESK_SHOW_ACCESS_RULE` | | Action | What it does | Slug | | - | - | - | | Get satisfaction ratings | List satisfaction ratings for tickets in Zendesk. | `ZENDESK_GET_SATISFACTION_RATINGS` | | Get satisfaction ratings count | Count satisfaction ratings in Zendesk. | `ZENDESK_GET_SATISFACTION_RATINGS_COUNT` | | Action | What it does | Slug | | - | - | - | | Get deletion schedule | Retrieve a specific deletion schedule from Zendesk by its ID. | `ZENDESK_GET_DELETION_SCHEDULE` | | Get deletion schedules | List all deletion schedules for the current Zendesk account. | `ZENDESK_GET_DELETION_SCHEDULES` | | Action | What it does | Slug | | - | - | - | | Get user sessions | List all sessions for a specific Zendesk user. | `ZENDESK_GET_USER_SESSIONS` | | Get users me session | Show the currently authenticated session in Zendesk. | `ZENDESK_GET_USERS_ME_SESSION` | | Get Zendesk sessions | List all active sessions in your Zendesk account. | `ZENDESK_GET_ZENDESK_SESSIONS` | | Action | What it does | Slug | | - | - | - | | Get account settings | Retrieve Zendesk account settings. | `ZENDESK_GET_ACCOUNT_SETTINGS` | | Get security settings | Show Security Settings for a Zendesk account. | `ZENDESK_GET_SECURITY_SETTINGS` | | Get user field options | List custom user field options for a given user field. | `ZENDESK_GET_USER_FIELD_OPTIONS` | | Get users me settings | Get the settings for the currently authenticated user in Zendesk. | `ZENDESK_GET_USERS_ME_SETTINGS` | | Get Zendesk ticket fields options | List Ticket Field Options. | `ZENDESK_GET_ZENDESK_TICKET_FIELDS_OPTIONS` | | Get Zendesk ticket fields options2 | Show Ticket Field Option. | `ZENDESK_GET_ZENDESK_TICKET_FIELDS_OPTIONS2` | | Action | What it does | Slug | | - | - | - | | Get organization subscription | Show Organization Subscription. | `ZENDESK_GET_ORGANIZATION_SUBSCRIPTION` | | Get organization subscriptions | List Organization Subscriptions in Zendesk. | `ZENDESK_GET_ORGANIZATION_SUBSCRIPTIONS` | | Get users organization subscriptions | List User's Organization Subscriptions. | `ZENDESK_GET_USERS_ORGANIZATION_SUBSCRIPTIONS` | | Get Zendesk organizations subscriptions | List all organization subscriptions for a specific Zendesk organization. | `ZENDESK_GET_ZENDESK_ORGANIZATIONS_SUBSCRIPTIONS` | | Action | What it does | Slug | | - | - | - | | Get guide surveys | List available CSAT (Customer Satisfaction) surveys in Zendesk Guide. | `ZENDESK_GET_GUIDE_SURVEYS` | | Action | What it does | Slug | | - | - | - | | Create autocomplete tags | Search for Zendesk tags using autocomplete via POST request body. | `ZENDESK_CREATE_AUTOCOMPLETE_TAGS` | | Get autocomplete tags | Search for Zendesk tags using autocomplete. | `ZENDESK_GET_AUTOCOMPLETE_TAGS` | | Get organization tags | List all tags associated with a specific Zendesk organization. | `ZENDESK_GET_ORGANIZATION_TAGS` | | Get tags | List Zendesk tags in order of popularity. | `ZENDESK_GET_TAGS` | | Get tags count | Count Tags in Zendesk. | `ZENDESK_GET_TAGS_COUNT` | | Get users tags | List all tags assigned to a specific Zendesk user. | `ZENDESK_GET_USERS_TAGS` | | Get Zendesk tickets tags | List all tags associated with a specific Zendesk ticket. | `ZENDESK_GET_ZENDESK_TICKETS_TAGS` | | Action | What it does | Slug | | - | - | - | | Count user ccd tickets | Count tickets where the specified user is CCD (carbon copy distribution). | `ZENDESK_COUNT_USER_CCD_TICKETS` | | Get deleted tickets | Lists tickets that have been deleted from Zendesk, showing up to 100 deleted tickets per page with pagination. | `ZENDESK_GET_DELETED_TICKETS` | | Get incremental tickets | Retrieve tickets that have been modified since a specified start time using the Incremental Ticket Export API. | `ZENDESK_GET_INCREMENTAL_TICKETS` | | Get incremental tickets cursor | Export tickets incrementally using cursor-based pagination. | `ZENDESK_GET_INCREMENTAL_TICKETS_CURSOR` | | Get organization tickets | Get tickets for a specific organization in Zendesk. | `ZENDESK_GET_ORGANIZATION_TICKETS` | | Get organizations tickets count | Count organization tickets in Zendesk. | `ZENDESK_GET_ORGANIZATIONS_TICKETS_COUNT` | | Get recent tickets | List recently viewed tickets in Zendesk. | `ZENDESK_GET_RECENT_TICKETS` | | Get ticket skips | List ticket skips for a specific ticket from Zendesk. | `ZENDESK_GET_TICKET_SKIPS` | | Get tickets count | Count the number of tickets in Zendesk. | `ZENDESK_GET_TICKETS_COUNT` | | Get user tickets assigned count | Count tickets assigned to a specific user in Zendesk. | `ZENDESK_GET_USER_TICKETS_ASSIGNED_COUNT` | | Get users assigned tickets | List tickets assigned to a specific Zendesk user. | `ZENDESK_GET_USERS_ASSIGNED_TICKETS` | | Get users ccd tickets | List tickets where a specific Zendesk user is CC'd (carbon copied). | `ZENDESK_GET_USERS_CCD_TICKETS` | | Get users followed tickets | List tickets the specified Zendesk user is following. | `ZENDESK_GET_USERS_FOLLOWED_TICKETS` | | Get users requested tickets | List tickets requested by a specific Zendesk user. | `ZENDESK_GET_USERS_REQUESTED_TICKETS` | | Get view ticket count | Count tickets in a specific view in Zendesk. | `ZENDESK_GET_VIEW_TICKET_COUNT` | | Get views tickets | List tickets from a specific Zendesk view. | `ZENDESK_GET_VIEWS_TICKETS` | | Get Zendesk suspended tickets | List suspended tickets in Zendesk. | `ZENDESK_GET_ZENDESK_SUSPENDED_TICKETS` | | Get Zendesk ticket by ID | Get ticket details from Zendesk. | `ZENDESK_GET_ZENDESK_TICKET_BY_ID` | | Get Zendesk ticket related | Get related information for a specific Zendesk ticket. | `ZENDESK_GET_ZENDESK_TICKET_RELATED` | | List Zendesk tickets | List Zendesk tickets with pagination and filtering. | `ZENDESK_LIST_ZENDESK_TICKETS` | | Show many tickets | Show multiple tickets by their IDs. | `ZENDESK_SHOW_MANY_TICKETS` | | Action | What it does | Slug | | - | - | - | | Get active triggers | List all active ticket triggers in Zendesk. | `ZENDESK_GET_ACTIVE_TRIGGERS` | | Get object trigger | Show a specific trigger for a custom object in Zendesk. | `ZENDESK_GET_OBJECT_TRIGGER` | | Get trigger | Show a specific trigger by its ID. | `ZENDESK_GET_TRIGGER` | | Get triggers | List all ticket triggers for the current Zendesk account. | `ZENDESK_GET_TRIGGERS` | | Get triggers definitions | Get Ticket Trigger Action and Condition Definitions. | `ZENDESK_GET_TRIGGERS_DEFINITIONS` | | Get triggers search | Search for Zendesk ticket triggers by their title. | `ZENDESK_GET_TRIGGERS_SEARCH` | | List object triggers | List all triggers for a specific custom object in Zendesk. | `ZENDESK_LIST_OBJECT_TRIGGERS` | | List object triggers definitions | List Object Trigger Action and Condition Definitions for a custom object in Zendesk. | `ZENDESK_LIST_OBJECT_TRIGGERS_DEFINITIONS` | | Search object triggers | Search for triggers associated with a custom object in Zendesk. | `ZENDESK_SEARCH_OBJECT_TRIGGERS` | | Action | What it does | Slug | | - | - | - | | Get custom object fields limit | Get the current count and maximum limit for custom object fields in Zendesk. | `ZENDESK_GET_CUSTOM_OBJECT_FIELDS_LIMIT` | | Get custom object records limit | Get the current record limit and usage count for custom objects in Zendesk. | `ZENDESK_GET_CUSTOM_OBJECT_RECORDS_LIMIT` | | Get custom objects limit | Get the current count and maximum limit for custom objects in Zendesk. | `ZENDESK_GET_CUSTOM_OBJECTS_LIMIT` | | Action | What it does | Slug | | - | - | - | | Autocomplete users | Search for Zendesk users by name prefix using the POST /api/v2/users/autocomplete endpoint. | `ZENDESK_AUTOCOMPLETE_USERS` | | Count deleted users | Count deleted users in Zendesk. | `ZENDESK_COUNT_DELETED_USERS` | | Get deleted user | Retrieves a single deleted Zendesk user by their ID. | `ZENDESK_GET_DELETED_USER` | | Get group users | List all users belonging to a specific Zendesk group. | `ZENDESK_GET_GROUP_USERS` | | Get groups users count | Count users in a specific Zendesk group. | `ZENDESK_GET_GROUPS_USERS_COUNT` | | Get incremental users | Retrieve users that have been modified since a specified start time using the Incremental User Export API. | `ZENDESK_GET_INCREMENTAL_USERS` | | Get incremental users cursor | Export users incrementally using cursor-based pagination. | `ZENDESK_GET_INCREMENTAL_USERS_CURSOR` | | Get organization users | List all users associated with a specific Zendesk organization. | `ZENDESK_GET_ORGANIZATION_USERS` | | Get organization users count | Count users in a specific Zendesk organization by ID. | `ZENDESK_GET_ORGANIZATION_USERS_COUNT` | | Get user | Fetch a single Zendesk user by numeric user\_id. | `ZENDESK_GET_USER` | | Get user entitlements full | Retrieve full entitlements for a Zendesk user across all products (Chat, Explore, Talk, Guide). | `ZENDESK_GET_USER_ENTITLEMENTS_FULL` | | Get users autocomplete | Autocomplete users by name or phone number. | `ZENDESK_GET_USERS_AUTOCOMPLETE` | | Get users compliance deletion statuses | Fetch GDPR compliance deletion statuses for a specific Zendesk user. | `ZENDESK_GET_USERS_COMPLIANCE_DELETION_STATUSES` | | Get users count | Count users in Zendesk. | `ZENDESK_GET_USERS_COUNT` | | Get users password requirements | Get password requirements for a specific Zendesk user. | `ZENDESK_GET_USERS_PASSWORD_REQUIREMENTS` | | Get users related | Get related counts and information for a specific Zendesk user by ID. | `ZENDESK_GET_USERS_RELATED` | | Get users requests | List ticket requests for a specific Zendesk user. | `ZENDESK_GET_USERS_REQUESTS` | | Get users skips | List ticket skips for a specific user from Zendesk. | `ZENDESK_GET_USERS_SKIPS` | | List deleted users | List deleted users in Zendesk via the Users API. | `ZENDESK_LIST_DELETED_USERS` | | List Zendesk users | List/enumerate Zendesk users via the Users API. | `ZENDESK_LIST_ZENDESK_USERS` | | Search Zendesk users | Search for Zendesk users by query or external ID. | `ZENDESK_SEARCH_ZENDESK_USERS` | | Show many users | Retrieve multiple Zendesk users by their numeric IDs or external IDs. | `ZENDESK_SHOW_MANY_USERS` | | Action | What it does | Slug | | - | - | - | | Create views preview | Preview a Zendesk view by constructing conditions and execution settings to see which tickets match. | `ZENDESK_CREATE_VIEWS_PREVIEW` | | Create views preview count | Preview ticket count for a view in Zendesk. | `ZENDESK_CREATE_VIEWS_PREVIEW_COUNT` | | Get view definitions | List the definitions of the conditions and actions available for constructing views in Zendesk. | `ZENDESK_GET_VIEW_DEFINITIONS` | | Get views | List shared and personal views available to the current user in Zendesk. | `ZENDESK_GET_VIEWS` | | Get views active | List all active shared and personal views available in Zendesk. | `ZENDESK_GET_VIEWS_ACTIVE` | | Get views compact | Retrieves a compacted list of shared and personal views available to the current user in Zendesk. | `ZENDESK_GET_VIEWS_COMPACT` | | Get views count | Count shared and personal views in Zendesk. | `ZENDESK_GET_VIEWS_COUNT` | | Get views count many | Count tickets in multiple Zendesk views. | `ZENDESK_GET_VIEWS_COUNT_MANY` | | Get views execute | Execute a Zendesk view to retrieve its column titles and matching ticket rows. | `ZENDESK_GET_VIEWS_EXECUTE` | | Get views search | Search for Zendesk views by their title. | `ZENDESK_GET_VIEWS_SEARCH` | | Get views show many | Get multiple Zendesk views by their IDs. | `ZENDESK_GET_VIEWS_SHOW_MANY` | | Action | What it does | Slug | | - | - | - | | Autocomplete problems | Autocomplete problems in Zendesk. | `ZENDESK_AUTOCOMPLETE_PROBLEMS` | | Get about me | Get information about the currently authenticated user in Zendesk. | `ZENDESK_GET_ABOUT_ME` | | Get custom status | Get a specific custom ticket status from Zendesk by its ID. | `ZENDESK_GET_CUSTOM_STATUS` | | Get custom statuses | List custom ticket statuses available in a Zendesk account. | `ZENDESK_GET_CUSTOM_STATUSES` | | Get incremental routing instance values | Export incremental routing instance values from Zendesk skill-based routing. | `ZENDESK_GET_INCREMENTAL_ROUTING_INSTANCE_VALUES` | | Get incremental sample | Test the incremental export by retrieving a sample of records that have changed since a specified start time. | `ZENDESK_GET_INCREMENTAL_SAMPLE` | | Get open requests | List open requests from Zendesk. | `ZENDESK_GET_OPEN_REQUESTS` | | Get problems | List Zendesk ticket problems. | `ZENDESK_GET_PROBLEMS` | | Get remote authentications | List all remote authentication configurations in your Zendesk account. | `ZENDESK_GET_REMOTE_AUTHENTICATIONS` | | Get requests ccdb | List CCD Requests. | `ZENDESK_GET_REQUESTS_CCDB` | | Get requests search | Search for requests in Zendesk using query syntax. | `ZENDESK_GET_REQUESTS_SEARCH` | | Get requests solved | List Zendesk requests with the 'solved' status. | `ZENDESK_GET_REQUESTS_SOLVED` | | Get search count | Count the number of items matching a search query in Zendesk. | `ZENDESK_GET_SEARCH_COUNT` | | Get target | Show a specific target by its ID. | `ZENDESK_GET_TARGET` | | Get target failure | Show a target failure in Zendesk. | `ZENDESK_GET_TARGET_FAILURE` | | Get target failures | List the 25 most recent target failures in Zendesk. | `ZENDESK_GET_TARGET_FAILURES` | | Get targets | List all targets for the current Zendesk account. | `ZENDESK_GET_TARGETS` | | Get Zendesk requests | List ticket requests in Zendesk. | `ZENDESK_GET_ZENDESK_REQUESTS` | | Get Zendesk sharing agreements | List all sharing agreements for your Zendesk account. | `ZENDESK_GET_ZENDESK_SHARING_AGREEMENTS` | | List monitored twitter handles | List all monitored X (Twitter) handles configured in your Zendesk account. | `ZENDESK_LIST_MONITORED_TWITTER_HANDLES` | | List skips | Lists all ticket skips in Zendesk. | `ZENDESK_LIST_SKIPS` | | Search Zendesk | Search for tickets, users, organizations, and groups in Zendesk using query syntax. | `ZENDESK_SEARCH_ZENDESK` | | Show request | Show a single request in Zendesk. | `ZENDESK_SHOW_REQUEST` | Teammates can use 332 of the 457 Zendesk actions at this level: everything in **Read-only**, plus: * Create, update, delete, and send tickets * Create and delete members * Update and delete tags * Create and update organizations * Create, update, and delete identities * Create and update users * Update profiles * Create and update records * Create attachments * Create and update conversations * Create and delete subscriptions * Create events The 66 actions that this level adds to **Read-only**: | Action | What it does | Slug | | - | - | - | | Create custom object record attachment | Create an attachment for a custom object record in Zendesk. | `ZENDESK_CREATE_CUSTOM_OBJECT_RECORD_ATTACHMENT` | | Create Zendesk attachments | Upload a file attachment to Zendesk. | `ZENDESK_CREATE_ZENDESK_ATTACHMENTS` | | Action | What it does | Slug | | - | - | - | | Make comment private | Make a public ticket comment private in Zendesk. | `ZENDESK_MAKE_COMMENT_PRIVATE` | | Make ticket comment private | Change a public comment to private on a Zendesk ticket audit. | `ZENDESK_MAKE_TICKET_COMMENT_PRIVATE` | | Action | What it does | Slug | | - | - | - | | Create ticket content pin | Create a ticket content pin in Zendesk. | `ZENDESK_CREATE_TICKET_CONTENT_PIN` | | Action | What it does | Slug | | - | - | - | | Create side conversation | Create a private side conversation on a Zendesk ticket. | `ZENDESK_CREATE_SIDE_CONVERSATION` | | Update side conversation | Update a side conversation on a ticket in Zendesk. | `ZENDESK_UPDATE_SIDE_CONVERSATION` | | Action | What it does | Slug | | - | - | - | | Create user profiles events | Store an event against a Sunshine user profile. | `ZENDESK_CREATE_USER_PROFILES_EVENTS` | | Action | What it does | Slug | | - | - | - | | Create suspended tickets export | Export Suspended Tickets from Zendesk Support. | `ZENDESK_CREATE_SUSPENDED_TICKETS_EXPORT` | | Get views export | Export a Zendesk view as a CSV file. | `ZENDESK_GET_VIEWS_EXPORT` | | Action | What it does | Slug | | - | - | - | | Create end user identity | Add an identity (email or phone) to an end user's profile in Zendesk. | `ZENDESK_CREATE_END_USER_IDENTITY` | | Create user identity | Add an identity to a user's profile in Zendesk. | `ZENDESK_CREATE_USER_IDENTITY` | | Delete users identity | Deletes an identity for a given user in Zendesk. | `ZENDESK_DELETE_USERS_IDENTITY` | | Make end user identity primary | Set a specified identity as the primary identity for an end user in Zendesk. | `ZENDESK_MAKE_END_USER_IDENTITY_PRIMARY` | | Make user identity primary | Set a user identity as the primary identity for a Zendesk user. | `ZENDESK_MAKE_USER_IDENTITY_PRIMARY` | | Update users identity | Update a user identity in Zendesk. | `ZENDESK_UPDATE_USERS_IDENTITY` | | Action | What it does | Slug | | - | - | - | | Create organization memberships | Create a new organization membership in Zendesk by assigning a user to an organization. | `ZENDESK_CREATE_ORGANIZATION_MEMBERSHIPS` | | Create organization memberships create many | Create multiple organization memberships in Zendesk by posting up to 100 membership objects at a time. | `ZENDESK_CREATE_ORGANIZATION_MEMBERSHIPS_CREATE_MANY` | | Create users organization memberships | Create a new organization membership for a specific user in Zendesk by assigning a user to an organization. | `ZENDESK_CREATE_USERS_ORGANIZATION_MEMBERSHIPS` | | Delete many organization memberships | Bulk delete organization memberships in Zendesk. | `ZENDESK_DELETE_MANY_ORGANIZATION_MEMBERSHIPS` | | Delete organization membership | Permanently removes a user from an organization in Zendesk by deleting the organization membership. | `ZENDESK_DELETE_ORGANIZATION_MEMBERSHIP` | | Delete users organization memberships | Permanently removes a user from an organization in Zendesk by deleting the organization membership for a specific user. | `ZENDESK_DELETE_USERS_ORGANIZATION_MEMBERSHIPS` | | Make default organization membership | Set a specific organization membership as the default for a user in Zendesk. | `ZENDESK_MAKE_DEFAULT_ORGANIZATION_MEMBERSHIP` | | Action | What it does | Slug | | - | - | - | | Create or update organization | Create or update a Zendesk organization in a single operation. | `ZENDESK_CREATE_OR_UPDATE_ORGANIZATION` | | Create Zendesk organization | Create a new organization in Zendesk. | `ZENDESK_CREATE_ZENDESK_ORGANIZATION` | | Set users organization as default | Set an organization as the default for a user in Zendesk. | `ZENDESK_SET_USERS_ORGANIZATION_AS_DEFAULT` | | Unassign user organization | Immediately removes a user from an organization in Zendesk. | `ZENDESK_UNASSIGN_USER_ORGANIZATION` | | Update many organizations | Bulk update multiple Zendesk organizations in a single request. | `ZENDESK_UPDATE_MANY_ORGANIZATIONS` | | Update Zendesk organization | Update an organization in Zendesk. | `ZENDESK_UPDATE_ZENDESK_ORGANIZATION` | | Action | What it does | Slug | | - | - | - | | Update user profile | Partially updates a user profile in Zendesk by identifier. | `ZENDESK_UPDATE_USER_PROFILE` | | Update user profile by ID | Partially updates a user profile in Zendesk by profile ID. | `ZENDESK_UPDATE_USER_PROFILE_BY_ID` | | Update users profiles | Create or update a user profile for a specific Zendesk user by user ID and identifier. | `ZENDESK_UPDATE_USERS_PROFILES` | | Action | What it does | Slug | | - | - | - | | Create custom object record | Create a new record for a custom object in Zendesk. | `ZENDESK_CREATE_CUSTOM_OBJECT_RECORD` | | Update custom object record | Update an existing record for a custom object in Zendesk. | `ZENDESK_UPDATE_CUSTOM_OBJECT_RECORD` | | Upsert custom object record by external ID or name | Create or update a custom object record in Zendesk by external\_id or name. | `ZENDESK_UPSERT_CUSTOM_OBJECT_RECORD_BY_EXTERNAL_ID_OR_NAME` | | Action | What it does | Slug | | - | - | - | | Create organization subscription | Create an organization subscription in Zendesk. | `ZENDESK_CREATE_ORGANIZATION_SUBSCRIPTION` | | Delete organization subscription | Permanently deletes an organization subscription in Zendesk. | `ZENDESK_DELETE_ORGANIZATION_SUBSCRIPTION` | | Action | What it does | Slug | | - | - | - | | Create organizations tags | Set organization tags in Zendesk by making a POST request to replace the tags on an organization. | `ZENDESK_CREATE_ORGANIZATIONS_TAGS` | | Create users tags | Set tags on a Zendesk user via POST request to /api/v2/users/\{user\_id}/tags. | `ZENDESK_CREATE_USERS_TAGS` | | Delete organizations tags | Remove all tags from a Zendesk organization. | `ZENDESK_DELETE_ORGANIZATIONS_TAGS` | | Delete tickets tags | Remove tags from a Zendesk ticket. | `ZENDESK_DELETE_TICKETS_TAGS` | | Delete users tags | Remove tags from a Zendesk user. | `ZENDESK_DELETE_USERS_TAGS` | | Update organizations tags | Add organization tags in Zendesk. | `ZENDESK_UPDATE_ORGANIZATIONS_TAGS` | | Update tickets tags | Update tags on a Zendesk ticket via PUT request to /api/v2/tickets/\{ticket\_id}/tags. | `ZENDESK_UPDATE_TICKETS_TAGS` | | Update users tags | Update (replace) tags for a specific Zendesk user. | `ZENDESK_UPDATE_USERS_TAGS` | | Action | What it does | Slug | | - | - | - | | Create many tickets | Create many tickets in Zendesk in a single request. | `ZENDESK_CREATE_MANY_TICKETS` | | Create Zendesk ticket | Create a ticket in Zendesk with full support for all ticket fields. | `ZENDESK_CREATE_ZENDESK_TICKET` | | Create Zendesk ticket or voicemail ticket | Create a ticket in Zendesk via the voice/channel API endpoint. | `ZENDESK_CREATE_ZENDESK_TICKET_OR_VOICEMAIL_TICKET` | | Delete Zendesk ticket | Permanently deletes a ticket in Zendesk, including its entire conversation history. | `ZENDESK_DELETE_ZENDESK_TICKET` | | Merge Zendesk tickets | Merges multiple tickets into a target ticket in Zendesk. | `ZENDESK_MERGE_ZENDESK_TICKETS` | | Recover many suspended tickets | Recover multiple suspended tickets in Zendesk. | `ZENDESK_RECOVER_MANY_SUSPENDED_TICKETS` | | Reply Zendesk ticket | Reply to a Zendesk ticket by adding a comment. | `ZENDESK_REPLY_ZENDESK_TICKET` | | Restore many tickets | Restores multiple previously deleted tickets in Zendesk. | `ZENDESK_RESTORE_MANY_TICKETS` | | Restore Zendesk ticket | Restores a previously deleted ticket in Zendesk. | `ZENDESK_RESTORE_ZENDESK_TICKET` | | Update many tickets | Update multiple tickets in Zendesk in a single request. | `ZENDESK_UPDATE_MANY_TICKETS` | | Update Zendesk ticket | Update a ticket in Zendesk. | `ZENDESK_UPDATE_ZENDESK_TICKET` | | Action | What it does | Slug | | - | - | - | | Create many users | Create many users in Zendesk in a single request. | `ZENDESK_CREATE_MANY_USERS` | | Create or update many users | Create or update multiple users in Zendesk in a single request. | `ZENDESK_CREATE_OR_UPDATE_MANY_USERS` | | Create or update user | Create or update a Zendesk user. | `ZENDESK_CREATE_OR_UPDATE_USER` | | Create Zendesk user | Create a new user in Zendesk. | `ZENDESK_CREATE_ZENDESK_USER` | | Request end user verification | Send a verification email to an end user to verify ownership of their email address identity. | `ZENDESK_REQUEST_END_USER_VERIFICATION` | | Request user verification | Send a verification email to a user to verify ownership of their email address identity. | `ZENDESK_REQUEST_USER_VERIFICATION` | | Update many users | Bulk update multiple Zendesk users in a single request. | `ZENDESK_UPDATE_MANY_USERS` | | Update user | | `ZENDESK_UPDATE_USER` | | Action | What it does | Slug | | - | - | - | | Create Zendesk request | Create a new request in Zendesk. | `ZENDESK_CREATE_ZENDESK_REQUEST` | | Update Zendesk requests | Update a ticket request in Zendesk with a comment or collaborators. | `ZENDESK_UPDATE_ZENDESK_REQUESTS` | Teammates can use 457 of the 457 Zendesk actions at this level: everything in **Read + write**, plus: * Create, update, and delete fields * Create, update, and delete triggers * Create, update, and delete settings * Create, update, and delete automations * Create, update, and delete views * Create, update, delete, and test addresses * Create, update, and delete installed apps * Create, update, and delete schedules * Create, update, and delete categories * Create, update, and delete collections * Create, update, and delete items * Create, update, and delete objects The 125 actions that this level adds to **Read + write**: | Action | What it does | Slug | | - | - | - | | Create support address | Create a new support address (recipient address) in Zendesk. | `ZENDESK_CREATE_SUPPORT_ADDRESS` | | Delete Zendesk support address | Permanently deletes a support address from Zendesk. | `ZENDESK_DELETE_ZENDESK_SUPPORT_ADDRESS` | | Update support address | Update an existing support address in Zendesk. | `ZENDESK_UPDATE_SUPPORT_ADDRESS` | | Verify support address | Verify a support address forwarding in Zendesk. | `ZENDESK_VERIFY_SUPPORT_ADDRESS` | | Action | What it does | Slug | | - | - | - | | Create apps notify | Send a notification to currently open instances of a Zendesk app. | `ZENDESK_CREATE_APPS_NOTIFY` | | Action | What it does | Slug | | - | - | - | | Delete custom object record attachment | Permanently deletes an attachment from a custom object record in Zendesk. | `ZENDESK_DELETE_CUSTOM_OBJECT_RECORD_ATTACHMENT` | | Update Zendesk attachment | Updates an attachment's malware access override setting. | `ZENDESK_UPDATE_ZENDESK_ATTACHMENT` | | Action | What it does | Slug | | - | - | - | | Create automation | Create a new automation in Zendesk. | `ZENDESK_CREATE_AUTOMATION` | | Delete automation | Permanently deletes an automation in Zendesk. | `ZENDESK_DELETE_AUTOMATION` | | Delete many automations | Bulk delete automations in Zendesk. | `ZENDESK_DELETE_MANY_AUTOMATIONS` | | Update automation | Update an existing automation in Zendesk. | `ZENDESK_UPDATE_AUTOMATION` | | Update many automations | Update multiple automations in Zendesk in a single request. | `ZENDESK_UPDATE_MANY_AUTOMATIONS` | | Action | What it does | Slug | | - | - | - | | Create bookmark | Create a bookmark for a ticket in Zendesk. | `ZENDESK_CREATE_BOOKMARK` | | Delete Zendesk bookmark | Permanently deletes a bookmark in Zendesk. | `ZENDESK_DELETE_ZENDESK_BOOKMARK` | | Action | What it does | Slug | | - | - | - | | Create trigger category | Create a new trigger category in Zendesk. | `ZENDESK_CREATE_TRIGGER_CATEGORY` | | Delete trigger category | Permanently deletes a trigger category in Zendesk. | `ZENDESK_DELETE_TRIGGER_CATEGORY` | | Update trigger category | Update an existing trigger category in Zendesk. | `ZENDESK_UPDATE_TRIGGER_CATEGORY` | | Action | What it does | Slug | | - | - | - | | Create resource collections | Create a resource collection in Zendesk. | `ZENDESK_CREATE_RESOURCE_COLLECTIONS` | | Delete resource collections | Delete a resource collection in Zendesk. | `ZENDESK_DELETE_RESOURCE_COLLECTIONS` | | Update resource collection | Update an existing resource collection in Zendesk. | `ZENDESK_UPDATE_RESOURCE_COLLECTION` | | Action | What it does | Slug | | - | - | - | | Create comment redaction | Redact sensitive content from a ticket comment in Zendesk using the Agent Workspace method. | `ZENDESK_CREATE_COMMENT_REDACTION` | | Action | What it does | Slug | | - | - | - | | Create organization field | Create a custom organization field in Zendesk. | `ZENDESK_CREATE_ORGANIZATION_FIELD` | | Create ticket field | Create a custom ticket field in Zendesk with various field types. | `ZENDESK_CREATE_TICKET_FIELD` | | Create Zendesk custom object field | Create a new field for a custom object in Zendesk. | `ZENDESK_CREATE_ZENDESK_CUSTOM_OBJECT_FIELD` | | Create Zendesk user field | Create a custom user field in Zendesk. | `ZENDESK_CREATE_ZENDESK_USER_FIELD` | | Delete organization field | Permanently deletes an organization field in Zendesk. | `ZENDESK_DELETE_ORGANIZATION_FIELD` | | Delete ticket field | Permanently deletes a ticket field in Zendesk. | `ZENDESK_DELETE_TICKET_FIELD` | | Delete user field | Permanently deletes a user field in Zendesk, removing it from all user profiles. | `ZENDESK_DELETE_USER_FIELD` | | Delete Zendesk custom object field | Permanently deletes a custom object field in Zendesk. | `ZENDESK_DELETE_ZENDESK_CUSTOM_OBJECT_FIELD` | | Reorder custom object fields | Reorder Custom Fields of an Object. | `ZENDESK_REORDER_CUSTOM_OBJECT_FIELDS` | | Reorder organization fields | Updates the display order of organization fields based on the provided field IDs. | `ZENDESK_REORDER_ORGANIZATION_FIELDS` | | Reorder ticket fields | Updates the display order of ticket fields based on the provided field IDs. | `ZENDESK_REORDER_TICKET_FIELDS` | | Reorder user fields | Updates the display order of custom user fields based on the provided field IDs. | `ZENDESK_REORDER_USER_FIELDS` | | Update organization field | Update a custom organization field in Zendesk. | `ZENDESK_UPDATE_ORGANIZATION_FIELD` | | Update ticket field | Update an existing ticket field in Zendesk. | `ZENDESK_UPDATE_TICKET_FIELD` | | Update user field | Update an existing user field in Zendesk. | `ZENDESK_UPDATE_USER_FIELD` | | Update Zendesk custom object field | Update an existing custom object field in Zendesk. | `ZENDESK_UPDATE_ZENDESK_CUSTOM_OBJECT_FIELD` | | Action | What it does | Slug | | - | - | - | | Create Zendesk group | Create a new group in Zendesk. | `ZENDESK_CREATE_ZENDESK_GROUP` | | Action | What it does | Slug | | - | - | - | | Verify user identity | Set a user identity as verified in Zendesk. | `ZENDESK_VERIFY_USER_IDENTITY` | | Action | What it does | Slug | | - | - | - | | Create apps installation | Install a Zendesk app in the account. | `ZENDESK_CREATE_APPS_INSTALLATION` | | Delete Zendesk app installation | Permanently removes an installed app from Zendesk. | `ZENDESK_DELETE_ZENDESK_APP_INSTALLATION` | | Reorder location installations | Reorder App Installations For Location. | `ZENDESK_REORDER_LOCATION_INSTALLATIONS` | | Update apps installation | Update an app installation in Zendesk. | `ZENDESK_UPDATE_APPS_INSTALLATION` | | Action | What it does | Slug | | - | - | - | | Create dynamic content items | Create a new dynamic content item with locale variants in Zendesk. | `ZENDESK_CREATE_DYNAMIC_CONTENT_ITEMS` | | Create dynamic content items variants | Create a new locale variant for an existing dynamic content item in Zendesk. | `ZENDESK_CREATE_DYNAMIC_CONTENT_ITEMS_VARIANTS` | | Create many dynamic content items variants | Create many locale variants for an existing dynamic content item in Zendesk. | `ZENDESK_CREATE_MANY_DYNAMIC_CONTENT_ITEMS_VARIANTS` | | Delete Zendesk dynamic content item | Permanently deletes a dynamic content item in Zendesk. | `ZENDESK_DELETE_ZENDESK_DYNAMIC_CONTENT_ITEM` | | Delete Zendesk dynamic content item variant | Permanently deletes a dynamic content item variant in Zendesk. | `ZENDESK_DELETE_ZENDESK_DYNAMIC_CONTENT_ITEM_VARIANT` | | Update dynamic content items variant | Update a single variant of a dynamic content item in Zendesk. | `ZENDESK_UPDATE_DYNAMIC_CONTENT_ITEMS_VARIANT` | | Update dynamic content items variants | Update one or more variants of a dynamic content item in Zendesk. | `ZENDESK_UPDATE_DYNAMIC_CONTENT_ITEMS_VARIANTS` | | Update Zendesk dynamic content item | Update a dynamic content item in Zendesk. | `ZENDESK_UPDATE_ZENDESK_DYNAMIC_CONTENT_ITEM` | | Action | What it does | Slug | | - | - | - | | Create custom object bulk job | Create a bulk job to perform batch operations (create, update, delete, upsert) on custom object records in Zendesk. | `ZENDESK_CREATE_CUSTOM_OBJECT_BULK_JOB` | | Create trigger categories job | Create a batch job for ticket trigger categories in Zendesk. | `ZENDESK_CREATE_TRIGGER_CATEGORIES_JOB` | | Action | What it does | Slug | | - | - | - | | Delete macro | Permanently deletes a macro in Zendesk. | `ZENDESK_DELETE_MACRO` | | Delete macros destroy many | Bulk delete macros in Zendesk. | `ZENDESK_DELETE_MACROS_DESTROY_MANY` | | Update macro | Update an existing macro in Zendesk. | `ZENDESK_UPDATE_MACRO` | | Update many macros | Update multiple macros in Zendesk in a single request. | `ZENDESK_UPDATE_MANY_MACROS` | | Action | What it does | Slug | | - | - | - | | Create group memberships | Create a group membership in Zendesk, assigning an agent to a group. | `ZENDESK_CREATE_GROUP_MEMBERSHIPS` | | Delete group membership | Permanently deletes a group membership in Zendesk, immediately removing a user from a group. | `ZENDESK_DELETE_GROUP_MEMBERSHIP` | | Delete group memberships destroy many | Bulk delete group memberships in Zendesk. | `ZENDESK_DELETE_GROUP_MEMBERSHIPS_DESTROY_MANY` | | Delete users group memberships | Permanently deletes a user's group membership in Zendesk, immediately removing a user from a group. | `ZENDESK_DELETE_USERS_GROUP_MEMBERSHIPS` | | Set group membership as default | Set a group membership as the default for a specific user in Zendesk. | `ZENDESK_SET_GROUP_MEMBERSHIP_AS_DEFAULT` | | Action | What it does | Slug | | - | - | - | | Create push notification devices destroy many | Bulk unregister push notification devices in Zendesk. | `ZENDESK_CREATE_PUSH_NOTIFICATION_DEVICES_DESTROY_MANY` | | Action | What it does | Slug | | - | - | - | | Create Zendesk custom object | Create a new custom object in Zendesk. | `ZENDESK_CREATE_ZENDESK_CUSTOM_OBJECT` | | Delete Zendesk custom object | Permanently deletes a custom object definition in Zendesk. | `ZENDESK_DELETE_ZENDESK_CUSTOM_OBJECT` | | Update custom object | Update an existing custom object in Zendesk. | `ZENDESK_UPDATE_CUSTOM_OBJECT` | | Action | What it does | Slug | | - | - | - | | Create organization merge | Merge two Zendesk organizations by combining all users, tickets, and data from the losing organization into the winning organization. | `ZENDESK_CREATE_ORGANIZATION_MERGE` | | Delete Zendesk organization | Delete an organization in Zendesk. | `ZENDESK_DELETE_ZENDESK_ORGANIZATION` | | Destroy many organizations | Bulk delete Zendesk organizations. | `ZENDESK_DESTROY_MANY_ORGANIZATIONS` | | Action | What it does | Slug | | - | - | - | | Update permission policy | Update an existing permission policy for a custom object in Zendesk. | `ZENDESK_UPDATE_PERMISSION_POLICY` | | Action | What it does | Slug | | - | - | - | | Delete user profile | Permanently deletes a user profile in Zendesk by its profile ID. | `ZENDESK_DELETE_USER_PROFILE` | | Open users profile in agent browser | Open a Zendesk user's profile in a specified agent's browser. | `ZENDESK_OPEN_USERS_PROFILE_IN_AGENT_BROWSER` | | Action | What it does | Slug | | - | - | - | | Delete custom object record by external ID or name | Permanently deletes a custom object record in Zendesk by its external ID or name. | `ZENDESK_DELETE_CUSTOM_OBJECT_RECORD_BY_EXTERNAL_ID_OR_NAME` | | Delete Zendesk custom object record | Permanently deletes a custom object record in Zendesk. | `ZENDESK_DELETE_ZENDESK_CUSTOM_OBJECT_RECORD` | | Action | What it does | Slug | | - | - | - | | Create access rule | Create an access rule for a custom object in Zendesk. | `ZENDESK_CREATE_ACCESS_RULE` | | Delete access rule | Delete an access rule for a custom object in Zendesk. | `ZENDESK_DELETE_ACCESS_RULE` | | Update access rule | Update an existing access rule for a custom object in Zendesk. | `ZENDESK_UPDATE_ACCESS_RULE` | | Action | What it does | Slug | | - | - | - | | Create deletion schedule | Create a new deletion schedule in Zendesk that automatically deletes records matching specified conditions on a schedule. | `ZENDESK_CREATE_DELETION_SCHEDULE` | | Delete business hours schedule | Permanently deletes a business hours schedule in Zendesk. | `ZENDESK_DELETE_BUSINESS_HOURS_SCHEDULE` | | Delete deletion schedule | Permanently deletes a deletion schedule in Zendesk. | `ZENDESK_DELETE_DELETION_SCHEDULE` | | Update deletion schedule | Update an existing deletion schedule in Zendesk. | `ZENDESK_UPDATE_DELETION_SCHEDULE` | | Action | What it does | Slug | | - | - | - | | Delete user session | Delete a specific user session in Zendesk. | `ZENDESK_DELETE_USER_SESSION` | | Delete users sessions | Bulk delete all sessions for a specific user in Zendesk. | `ZENDESK_DELETE_USERS_SESSIONS` | | Renew session | Renew the current Zendesk session and obtain a new authenticity token. | `ZENDESK_RENEW_SESSION` | | Action | What it does | Slug | | - | - | - | | Create ticket field option | Create or update an option for a dropdown or multiselect ticket field. | `ZENDESK_CREATE_TICKET_FIELD_OPTION` | | Create user field option | Create or update an option for a dropdown or multiselect user field. | `ZENDESK_CREATE_USER_FIELD_OPTION` | | Delete ticket field option | Permanently deletes an option from a ticket field in Zendesk. | `ZENDESK_DELETE_TICKET_FIELD_OPTION` | | Delete user field option | Permanently deletes an option from a user field in Zendesk. | `ZENDESK_DELETE_USER_FIELD_OPTION` | | Update users me settings | Update the settings for the currently authenticated Zendesk user. | `ZENDESK_UPDATE_USERS_ME_SETTINGS` | | Update Zendesk account settings | Update Zendesk account-level settings including tickets, branding, localization, routing, and more. | `ZENDESK_UPDATE_ZENDESK_ACCOUNT_SETTINGS` | | Action | What it does | Slug | | - | - | - | | Create imports tickets create many | Bulk import tickets into Zendesk by posting up to 100 ticket objects at a time. | `ZENDESK_CREATE_IMPORTS_TICKETS_CREATE_MANY` | | Create Zendesk import ticket | Import a ticket into Zendesk with historical timestamps. | `ZENDESK_CREATE_ZENDESK_IMPORT_TICKET` | | Delete deleted ticket | Permanently deletes a soft-deleted ticket from Zendesk. | `ZENDESK_DELETE_DELETED_TICKET` | | Delete suspended tickets destroy many | Permanently deletes multiple suspended tickets in Zendesk. | `ZENDESK_DELETE_SUSPENDED_TICKETS_DESTROY_MANY` | | Destroy many deleted tickets | Permanently deletes multiple soft-deleted tickets in Zendesk. | `ZENDESK_DESTROY_MANY_DELETED_TICKETS` | | Mark many tickets as spam | Marks multiple tickets as spam in Zendesk. | `ZENDESK_MARK_MANY_TICKETS_AS_SPAM` | | Action | What it does | Slug | | - | - | - | | Create object trigger | Create a new trigger for a custom object in Zendesk. | `ZENDESK_CREATE_OBJECT_TRIGGER` | | Create trigger | Create a new trigger in Zendesk. | `ZENDESK_CREATE_TRIGGER` | | Delete many object triggers | Bulk delete triggers for a Zendesk custom object. | `ZENDESK_DELETE_MANY_OBJECT_TRIGGERS` | | Delete trigger | Permanently deletes a trigger in Zendesk. | `ZENDESK_DELETE_TRIGGER` | | Delete Zendesk object trigger | Permanently deletes a custom object trigger in Zendesk. | `ZENDESK_DELETE_ZENDESK_OBJECT_TRIGGER` | | Reorder triggers | Reorder Ticket Triggers. | `ZENDESK_REORDER_TRIGGERS` | | Update many object triggers | Update multiple custom object triggers in Zendesk in a single request. | `ZENDESK_UPDATE_MANY_OBJECT_TRIGGERS` | | Update many triggers | Update multiple ticket triggers in Zendesk in a single request. | `ZENDESK_UPDATE_MANY_TRIGGERS` | | Update object trigger | Update an existing custom object trigger in Zendesk. | `ZENDESK_UPDATE_OBJECT_TRIGGER` | | Update ticket trigger | Update an existing ticket trigger in Zendesk. | `ZENDESK_UPDATE_TICKET_TRIGGER` | | Action | What it does | Slug | | - | - | - | | Create users logout many | Log out multiple users in Zendesk by ending their active sessions. | `ZENDESK_CREATE_USERS_LOGOUT_MANY` | | Delete user permanently | Permanently deletes a soft-deleted user from Zendesk. | `ZENDESK_DELETE_USER_PERMANENTLY` | | Delete users destroy many | Bulk delete users from Zendesk by their IDs or external IDs. | `ZENDESK_DELETE_USERS_DESTROY_MANY` | | Delete users me logout | Delete the current authenticated session in Zendesk. | `ZENDESK_DELETE_USERS_ME_LOGOUT` | | Delete Zendesk user | Permanently delete a user from Zendesk. | `ZENDESK_DELETE_ZENDESK_USER` | | Merge users | Merges two Zendesk end users together. | `ZENDESK_MERGE_USERS` | | Request user create | Send a request to create a user in Zendesk. | `ZENDESK_REQUEST_USER_CREATE` | | Action | What it does | Slug | | - | - | - | | Create view | Create a new view in Zendesk. | `ZENDESK_CREATE_VIEW` | | Delete many views | Bulk delete views in Zendesk. | `ZENDESK_DELETE_MANY_VIEWS` | | Delete view | Delete a single view in Zendesk. | `ZENDESK_DELETE_VIEW` | | Update many views | Update multiple views in Zendesk in a single request. | `ZENDESK_UPDATE_MANY_VIEWS` | | Update view | Update an existing view in Zendesk. | `ZENDESK_UPDATE_VIEW` | | Action | What it does | Slug | | - | - | - | | Create custom statuses | Create a new custom ticket status in Zendesk. | `ZENDESK_CREATE_CUSTOM_STATUSES` | | Create Zendesk target | Create a target in Zendesk for triggering outbound integrations. | `ZENDESK_CREATE_ZENDESK_TARGET` | | Delete target | Permanently deletes a target in Zendesk. | `ZENDESK_DELETE_TARGET` | | Delete Zendesk custom status | Permanently deletes a custom ticket status in Zendesk. | `ZENDESK_DELETE_ZENDESK_CUSTOM_STATUS` | | Set default custom status | Sets one or more custom ticket statuses as the default for their respective categories. | `ZENDESK_SET_DEFAULT_CUSTOM_STATUS` | | Update custom status | Update an existing custom ticket status in Zendesk. | `ZENDESK_UPDATE_CUSTOM_STATUS` | | Update target | Update an existing target in Zendesk. | `ZENDESK_UPDATE_TARGET` | ## Connect Zendesk Before you start: * You need a Zendesk account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Zendesk** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Zendesk**. The Zendesk sign-in page opens in a new tab. Sign in to Zendesk and approve the request. Check that it works: Zendesk shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Zendesk account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Zendesk account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Zendesk account Click **+ Account** on the Zendesk card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Zendesk side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Zendesk**. 3. Sign in to Zendesk and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Zendesk account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Zendesk.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Zendesk account becomes primary. ## Costs Zendesk actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Zendesk, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Zendesk connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Zendesk account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Zendesk card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Zendesk account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Zendesk.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Zoho Books Source: https://squad.so/docs/apps/zoho_books What teammates can do in Zoho Books at each access level, and how to connect, limit, and disconnect Zoho Books. Connect Zoho Books so your teammates can work in your Zoho Books account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Zoho Books account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as invoices, bills, contacts, expenses, and reports. Cannot change anything." | 98 of 265 | | **Read + write** (recommended) | "Create and edit invoices, bills, expenses, payments, journals, contacts, and projects, and send invoices. Cannot delete records or change accounts or settings." | 191 of 265 | | **Full access** | "Everything, including deleting records, bank accounts, the chart of accounts, items, users, and settings." | 265 of 265 | **Read + write** is the recommended level. The connect window selects it for you, and you can choose another level. The Zoho Books sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Zoho Books account?" The teammate can search the Zoho Books actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Zoho Books action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 98 of the 265 Zoho Books actions at this level: * View refunds * View comments * View invoices * View payments * View users * View attachments * View charts * View documents * View emails * View estimates * View items * View orders All 98 actions at this level: | Action | What it does | Slug | | - | - | - | | Get contact address | Retrieve all addresses associated with a contact. | `ZOHO_BOOKS_GET_CONTACT_ADDRESS` | | Action | What it does | Slug | | - | - | - | | List fixed assets | Retrieve a paginated list of fixed assets from Zoho Books. | `ZOHO_BOOKS_LIST_FIXED_ASSETS` | | Action | What it does | Slug | | - | - | - | | Get bill attachment | Fetch an attachment from a specific bill. | `ZOHO_BOOKS_GET_BILL_ATTACHMENT` | | Get invoice attachment | Fetch the last attached attachment from a specific invoice. | `ZOHO_BOOKS_GET_INVOICE_ATTACHMENT` | | Get sales order attachment | Fetch an attachment from a specific sales order. | `ZOHO_BOOKS_GET_SALES_ORDER_ATTACHMENT` | | Action | What it does | Slug | | - | - | - | | Get opening balance | Retrieve opening balance for an organization. | `ZOHO_BOOKS_GET_OPENING_BALANCE` | | Action | What it does | Slug | | - | - | - | | Get bank account | Fetch details of a specific bank account. | `ZOHO_BOOKS_GET_BANK_ACCOUNT` | | List bank accounts | List bank and credit card accounts. | `ZOHO_BOOKS_LIST_BANK_ACCOUNTS` | | Action | What it does | Slug | | - | - | - | | Get bill | Fetch details of a specific bill. | `ZOHO_BOOKS_GET_BILL` | | List bills | Retrieve a paginated list of bills. | `ZOHO_BOOKS_LIST_BILLS` | | Action | What it does | Slug | | - | - | - | | Get chart of account | Fetch details of a specific chart of account. | `ZOHO_BOOKS_GET_CHART_OF_ACCOUNT` | | List chart of account transactions | List transactions for a specific chart of account. | `ZOHO_BOOKS_LIST_CHART_OF_ACCOUNT_TRANSACTIONS` | | List chart of accounts | | `ZOHO_BOOKS_LIST_CHART_OF_ACCOUNTS` | | Action | What it does | Slug | | - | - | - | | List bill comments and history | List comments and history entries for a bill. | `ZOHO_BOOKS_LIST_BILL_COMMENTS_AND_HISTORY` | | List contact comments | Retrieve recent activities and comments for a specific contact. | `ZOHO_BOOKS_LIST_CONTACT_COMMENTS` | | List estimate comments and history | Retrieve comments and history for a specific estimate. | `ZOHO_BOOKS_LIST_ESTIMATE_COMMENTS_AND_HISTORY` | | List expense comments | Retrieve history and comments for a specific expense. | `ZOHO_BOOKS_LIST_EXPENSE_COMMENTS` | | List invoice comments and history | List comments and history entries for an invoice. | `ZOHO_BOOKS_LIST_INVOICE_COMMENTS_AND_HISTORY` | | List sales order comments and history | List comments and history entries for a sales order. | `ZOHO_BOOKS_LIST_SALES_ORDER_COMMENTS_AND_HISTORY` | | Action | What it does | Slug | | - | - | - | | Get contact | Fetch details of a specific contact. | `ZOHO_BOOKS_GET_CONTACT` | | List contacts | Retrieve a paginated list of contacts with optional filters. | `ZOHO_BOOKS_LIST_CONTACTS` | | Action | What it does | Slug | | - | - | - | | Get payment reminder mail content for invoice | Retrieve the pre-populated payment reminder email content for an invoice. | `ZOHO_BOOKS_GET_PAYMENT_REMINDER_MAIL_CONTENT_FOR_INVOICE` | | Get sales order email content | Retrieve the pre-populated email content for a sales order. | `ZOHO_BOOKS_GET_SALES_ORDER_EMAIL_CONTENT` | | Action | What it does | Slug | | - | - | - | | Get credit note | Fetch details of a specific credit note by ID. | `ZOHO_BOOKS_GET_CREDIT_NOTE` | | List credit notes | Retrieve a paginated list of credit notes with optional filters. | `ZOHO_BOOKS_LIST_CREDIT_NOTES` | | Action | What it does | Slug | | - | - | - | | List invoice credits applied | List credit notes applied to an invoice. | `ZOHO_BOOKS_LIST_INVOICE_CREDITS_APPLIED` | | List vendor credits | Retrieve a paginated list of vendor credits with filters and search. | `ZOHO_BOOKS_LIST_VENDOR_CREDITS` | | Action | What it does | Slug | | - | - | - | | Get base currency adjustment | Fetch details of a specific base currency adjustment. | `ZOHO_BOOKS_GET_BASE_CURRENCY_ADJUSTMENT` | | Get currency | Retrieve details of a specific currency. | `ZOHO_BOOKS_GET_CURRENCY` | | List base currency adjustments | List base currency adjustments for an organization. | `ZOHO_BOOKS_LIST_BASE_CURRENCY_ADJUSTMENTS` | | List currencies | List currencies configured for the organization. | `ZOHO_BOOKS_LIST_CURRENCIES` | | Action | What it does | Slug | | - | - | - | | Bulk export invoices PDF | Export multiple invoices to a single PDF. | `ZOHO_BOOKS_BULK_EXPORT_INVOICES_PDF` | | Export bulk estimates PDF | Export multiple estimates to a single PDF. | `ZOHO_BOOKS_EXPORT_BULK_ESTIMATES_PDF` | | Export sales orders PDF | Export multiple sales orders to a single PDF. | `ZOHO_BOOKS_EXPORT_SALES_ORDERS_PDF` | | Action | What it does | Slug | | - | - | - | | Get contact statement mail | Retrieve the pre-populated email content for a contact statement. | `ZOHO_BOOKS_GET_CONTACT_STATEMENT_MAIL` | | Get estimate email | Retrieve the pre-populated email content for an estimate. | `ZOHO_BOOKS_GET_ESTIMATE_EMAIL` | | Get invoice email | Retrieve the pre-populated email content for an invoice. | `ZOHO_BOOKS_GET_INVOICE_EMAIL` | | Action | What it does | Slug | | - | - | - | | List employees | Retrieve a paginated list of employees. | `ZOHO_BOOKS_LIST_EMPLOYEES` | | Action | What it does | Slug | | - | - | - | | Get estimate | Fetch details of a specific estimate. | `ZOHO_BOOKS_GET_ESTIMATE` | | List estimates | Retrieve a paginated list of estimates with optional filters. | `ZOHO_BOOKS_LIST_ESTIMATES` | | Print bulk estimates | Bulk print up to 25 estimates as a single PDF. | `ZOHO_BOOKS_PRINT_BULK_ESTIMATES` | | Action | What it does | Slug | | - | - | - | | Get expense | Fetch details of a specific expense. | `ZOHO_BOOKS_GET_EXPENSE` | | List expenses | Retrieve a paginated list of expenses with filters and search. | `ZOHO_BOOKS_LIST_EXPENSES` | | Action | What it does | Slug | | - | - | - | | List recurring bill history | List comments and history entries for a recurring bill. | `ZOHO_BOOKS_LIST_RECURRING_BILL_HISTORY` | | List recurring invoice history | Retrieve comments and history for a specific recurring invoice. | `ZOHO_BOOKS_LIST_RECURRING_INVOICE_HISTORY` | | Action | What it does | Slug | | - | - | - | | Bulk print invoices | Bulk print up to 25 invoices as a single PDF. | `ZOHO_BOOKS_BULK_PRINT_INVOICES` | | Get invoice | Fetch details of a specific invoice. | `ZOHO_BOOKS_GET_INVOICE` | | List invoices | Retrieve a paginated list of invoices with filters and search. | `ZOHO_BOOKS_LIST_INVOICES` | | List retainer invoices | Retrieve a paginated list of retainer invoices with filters and sorting. | `ZOHO_BOOKS_LIST_RETAINER_INVOICES` | | Action | What it does | Slug | | - | - | - | | Get item | Fetch details of a specific item. | `ZOHO_BOOKS_GET_ITEM` | | List item details | Bulk fetch details for multiple items from Zoho Books using their IDs. | `ZOHO_BOOKS_LIST_ITEM_DETAILS` | | List items | Retrieve a paginated list of items from Zoho Books. | `ZOHO_BOOKS_LIST_ITEMS` | | Action | What it does | Slug | | - | - | - | | Get journal details v4 | Fetch details of a specific journal entry from Zoho Books API v4 (Beta). | `ZOHO_BOOKS_GET_JOURNAL_DETAILS_V4` | | Action | What it does | Slug | | - | - | - | | Get journal credits list v4 | Retrieve the list of available journal credits for a specific journal using v4 Beta API. | `ZOHO_BOOKS_GET_JOURNAL_CREDITS_LIST_V4` | | Get journals list v4 | Retrieve a paginated list of journals using Zoho Books v4 Beta API. | `ZOHO_BOOKS_GET_JOURNALS_LIST_V4` | | Action | What it does | Slug | | - | - | - | | List locations | List all locations in the organization. | `ZOHO_BOOKS_LIST_LOCATIONS` | | Action | What it does | Slug | | - | - | - | | Get sales order | Fetch details of a specific sales order. | `ZOHO_BOOKS_GET_SALES_ORDER` | | List sales orders | Retrieve a paginated list of sales orders. | `ZOHO_BOOKS_LIST_SALES_ORDERS` | | Print bulk sales orders | Bulk print up to 25 sales orders as a single PDF. | `ZOHO_BOOKS_PRINT_BULK_SALES_ORDERS` | | Action | What it does | Slug | | - | - | - | | Get organization | Fetch details of a specific organization. | `ZOHO_BOOKS_GET_ORGANIZATION` | | List organizations | List all organizations for the authenticated user. | `ZOHO_BOOKS_LIST_ORGANIZATIONS` | | Action | What it does | Slug | | - | - | - | | List bill payments | List payments recorded against a bill. | `ZOHO_BOOKS_LIST_BILL_PAYMENTS` | | List customer payments | List customer payments in Zoho Books. | `ZOHO_BOOKS_LIST_CUSTOMER_PAYMENTS` | | List invoice payments | List payments recorded against an invoice. | `ZOHO_BOOKS_LIST_INVOICE_PAYMENTS` | | List vendor payments | Retrieve a paginated list of vendor payments with filters and search. | `ZOHO_BOOKS_LIST_VENDOR_PAYMENTS` | | Action | What it does | Slug | | - | - | - | | Get contact person | Retrieve details of a specific contact person. | `ZOHO_BOOKS_GET_CONTACT_PERSON` | | List contact persons | Retrieve a paginated list of contact persons from Zoho Books. | `ZOHO_BOOKS_LIST_CONTACT_PERSONS` | | Action | What it does | Slug | | - | - | - | | Get project | Fetch details of a specific project. | `ZOHO_BOOKS_GET_PROJECT` | | List projects | Retrieve a paginated list of projects with optional filters. | `ZOHO_BOOKS_LIST_PROJECTS` | | Action | What it does | Slug | | - | - | - | | Convert purchase order to bill | Retrieve bill data from purchase orders for conversion. | `ZOHO_BOOKS_CONVERT_PURCHASE_ORDER_TO_BILL` | | Get purchase order | Fetch details of a specific purchase order. | `ZOHO_BOOKS_GET_PURCHASE_ORDER` | | List purchase orders | Retrieve a paginated list of purchase orders. | `ZOHO_BOOKS_LIST_PURCHASE_ORDERS` | | Action | What it does | Slug | | - | - | - | | List sales receipts | Retrieve a paginated list of sales receipts with filters. | `ZOHO_BOOKS_LIST_SALES_RECEIPTS` | | Action | What it does | Slug | | - | - | - | | Get recurring invoice | Retrieve a single recurring invoice profile's full configuration by ID. | `ZOHO_BOOKS_GET_RECURRING_INVOICE` | | Action | What it does | Slug | | - | - | - | | Get vendor credit refund | Fetch details of a specific vendor credit refund. | `ZOHO_BOOKS_GET_VENDOR_CREDIT_REFUND` | | List contact refunds | List refunds for a contact. | `ZOHO_BOOKS_LIST_CONTACT_REFUNDS` | | List credit note refunds | Retrieve a paginated list of credit note refunds with filters. | `ZOHO_BOOKS_LIST_CREDIT_NOTE_REFUNDS` | | List customer payment refunds | List refunds of a customer payment. | `ZOHO_BOOKS_LIST_CUSTOMER_PAYMENT_REFUNDS` | | List vendor credit refunds | Retrieve a paginated list of vendor credit refunds with filters. | `ZOHO_BOOKS_LIST_VENDOR_CREDIT_REFUNDS` | | List vendor credit refunds2 | List refunds of a specific vendor credit. | `ZOHO_BOOKS_LIST_VENDOR_CREDIT_REFUNDS2` | | List vendor payment refunds | List refunds of a vendor payment. | `ZOHO_BOOKS_LIST_VENDOR_PAYMENT_REFUNDS` | | Action | What it does | Slug | | - | - | - | | List bank rules | List all rules created for a bank or credit card account. | `ZOHO_BOOKS_LIST_BANK_RULES` | | Action | What it does | Slug | | - | - | - | | Get all tag options | Retrieve all options for a reporting tag. | `ZOHO_BOOKS_GET_ALL_TAG_OPTIONS` | | Action | What it does | Slug | | - | - | - | | List reporting tags | Retrieve all reporting tags from Zoho Books. | `ZOHO_BOOKS_LIST_REPORTING_TAGS` | | Action | What it does | Slug | | - | - | - | | List tasks | Retrieve a paginated list of tasks for a specific project. | `ZOHO_BOOKS_LIST_TASKS` | | Action | What it does | Slug | | - | - | - | | List tax exemptions | Retrieve a list of tax exemptions from Zoho Books. | `ZOHO_BOOKS_LIST_TAX_EXEMPTIONS` | | List taxes | Retrieve a paginated list of taxes. | `ZOHO_BOOKS_LIST_TAXES` | | Action | What it does | Slug | | - | - | - | | List estimate templates | Retrieve a list of estimate templates. | `ZOHO_BOOKS_LIST_ESTIMATE_TEMPLATES` | | List invoice templates | Retrieve a list of invoice templates. | `ZOHO_BOOKS_LIST_INVOICE_TEMPLATES` | | List journal templates | List journal templates with pagination. | `ZOHO_BOOKS_LIST_JOURNAL_TEMPLATES` | | Action | What it does | Slug | | - | - | - | | Get matching bank transactions | Retrieve potential matching transactions for an uncategorized bank transaction. | `ZOHO_BOOKS_GET_MATCHING_BANK_TRANSACTIONS` | | List bank transactions | List bank transactions with optional filters. | `ZOHO_BOOKS_LIST_BANK_TRANSACTIONS` | | Action | What it does | Slug | | - | - | - | | List fixed asset types | Retrieve a paginated list of fixed asset types from Zoho Books. | `ZOHO_BOOKS_LIST_FIXED_ASSET_TYPES` | | Action | What it does | Slug | | - | - | - | | Get project user | Fetch details of a specific user associated with a project. | `ZOHO_BOOKS_GET_PROJECT_USER` | | Get user | Fetch details of a specific user. | `ZOHO_BOOKS_GET_USER` | | List project users | Retrieve all users assigned to a project. | `ZOHO_BOOKS_LIST_PROJECT_USERS` | | List users | Retrieve a paginated list of users. | `ZOHO_BOOKS_LIST_USERS` | | Action | What it does | Slug | | - | - | - | | Get last imported statement | Get details of previously imported statement for a bank account. | `ZOHO_BOOKS_GET_LAST_IMPORTED_STATEMENT` | Teammates can use 191 of the 265 Zoho Books actions at this level: everything in **Read-only**, plus: * Create, update, and delete comments * Create, update, and delete addresses * Create, update, send, and manage invoices * Create, update, and manage contacts * Update and send reminders * Update templates * Create and update transactions * Create and update bills * Create and update credits * Update estimates * Create and update projects * Create, start, and stop recurring invoices The 93 actions that this level adds to **Read-only**: | Action | What it does | Slug | | - | - | - | | Add contact address | Add an additional address to a contact in Zoho Books. | `ZOHO_BOOKS_ADD_CONTACT_ADDRESS` | | Delete contact address | Delete an additional address from a contact. | `ZOHO_BOOKS_DELETE_CONTACT_ADDRESS` | | Update estimate billing address | Update the billing address of an estimate. | `ZOHO_BOOKS_UPDATE_ESTIMATE_BILLING_ADDRESS` | | Update estimate shipping address | Update the shipping address for an estimate. | `ZOHO_BOOKS_UPDATE_ESTIMATE_SHIPPING_ADDRESS` | | Update invoice billing address | Update the billing address of an invoice. | `ZOHO_BOOKS_UPDATE_INVOICE_BILLING_ADDRESS` | | Update invoice shipping address | Update the shipping address of a specific invoice. | `ZOHO_BOOKS_UPDATE_INVOICE_SHIPPING_ADDRESS` | | Update purchase order billing address | Update the billing address of a purchase order. | `ZOHO_BOOKS_UPDATE_PURCHASE_ORDER_BILLING_ADDRESS` | | Update sales order billing address | Update the billing address of a sales order. | `ZOHO_BOOKS_UPDATE_SALES_ORDER_BILLING_ADDRESS` | | Update sales order shipping address | Update the shipping address of a specific sales order. | `ZOHO_BOOKS_UPDATE_SALES_ORDER_SHIPPING_ADDRESS` | | Action | What it does | Slug | | - | - | - | | Add bill attachment | Add an attachment to an existing bill in Zoho Books. | `ZOHO_BOOKS_ADD_BILL_ATTACHMENT` | | Action | What it does | Slug | | - | - | - | | Create recurring bill | Create a recurring bill in Zoho Books. | `ZOHO_BOOKS_CREATE_RECURRING_BILL` | | Mark bill open | Mark a bill as open. | `ZOHO_BOOKS_MARK_BILL_OPEN` | | Mark bill void | Mark a bill as Void. | `ZOHO_BOOKS_MARK_BILL_VOID` | | Update bill | Update a vendor bill. | `ZOHO_BOOKS_UPDATE_BILL` | | Update recurring bill | Update a recurring bill in Zoho Books. | `ZOHO_BOOKS_UPDATE_RECURRING_BILL` | | Action | What it does | Slug | | - | - | - | | Add bill comment | Add a comment to a bill in Zoho Books. | `ZOHO_BOOKS_ADD_BILL_COMMENT` | | Add invoice comment | Add a comment to an invoice. | `ZOHO_BOOKS_ADD_INVOICE_COMMENT` | | Add project comment | Add a comment to a project. | `ZOHO_BOOKS_ADD_PROJECT_COMMENT` | | Add purchase order comment | Add a comment to a purchase order in Zoho Books. | `ZOHO_BOOKS_ADD_PURCHASE_ORDER_COMMENT` | | Add sales order comment | Add a comment to a sales order in Zoho Books. | `ZOHO_BOOKS_ADD_SALES_ORDER_COMMENT` | | Add vendor credit comment | Add a comment to a vendor credit. | `ZOHO_BOOKS_ADD_VENDOR_CREDIT_COMMENT` | | Delete bill comment | Delete a comment from a bill. | `ZOHO_BOOKS_DELETE_BILL_COMMENT` | | Delete credit note comment | Delete a comment from a credit note. | `ZOHO_BOOKS_DELETE_CREDIT_NOTE_COMMENT` | | Delete invoice comment | Delete a comment from an invoice. | `ZOHO_BOOKS_DELETE_INVOICE_COMMENT` | | Delete journal comment v4 | Delete a journal comment using Zoho Books API v4 (Beta). | `ZOHO_BOOKS_DELETE_JOURNAL_COMMENT_V4` | | Delete project comment v4 | Delete a project comment using v4 Beta API. | `ZOHO_BOOKS_DELETE_PROJECT_COMMENT_V4` | | Delete purchase order comment | Delete a comment from a purchase order. | `ZOHO_BOOKS_DELETE_PURCHASE_ORDER_COMMENT` | | Delete sales order comment | Delete a comment from a sales order. | `ZOHO_BOOKS_DELETE_SALES_ORDER_COMMENT` | | Update purchase order comment | Update a comment on a purchase order. | `ZOHO_BOOKS_UPDATE_PURCHASE_ORDER_COMMENT` | | Action | What it does | Slug | | - | - | - | | Create contact | Create a new contact in Zoho Books. | `ZOHO_BOOKS_CREATE_CONTACT` | | Email contact statement | Email a statement to a contact. | `ZOHO_BOOKS_EMAIL_CONTACT_STATEMENT` | | Mark contact as active | Mark a contact as active. | `ZOHO_BOOKS_MARK_CONTACT_AS_ACTIVE` | | Mark contact as inactive | Mark a contact as inactive. | `ZOHO_BOOKS_MARK_CONTACT_AS_INACTIVE` | | Untrack contact1099 | Untrack a contact for 1099 reporting. | `ZOHO_BOOKS_UNTRACK_CONTACT1099` | | Update contact | Update details of a contact. | `ZOHO_BOOKS_UPDATE_CONTACT` | | Action | What it does | Slug | | - | - | - | | Apply credit note to invoice | Apply a credit note to one or more invoices in Zoho Books. | `ZOHO_BOOKS_APPLY_CREDIT_NOTE_TO_INVOICE` | | Action | What it does | Slug | | - | - | - | | Apply credits to bill | Apply vendor credits to a bill in Zoho Books. | `ZOHO_BOOKS_APPLY_CREDITS_TO_BILL` | | Apply credits to invoice | Apply credit notes to an invoice in Zoho Books. | `ZOHO_BOOKS_APPLY_CREDITS_TO_INVOICE` | | Create vendor credit | Create a vendor credit in Zoho Books. | `ZOHO_BOOKS_CREATE_VENDOR_CREDIT` | | Mark vendor credit void | Void a vendor credit. | `ZOHO_BOOKS_MARK_VENDOR_CREDIT_VOID` | | Action | What it does | Slug | | - | - | - | | Email estimate | Send an estimate email. | `ZOHO_BOOKS_EMAIL_ESTIMATE` | | Send contact email | Send an email to a contact in Zoho Books. | `ZOHO_BOOKS_SEND_CONTACT_EMAIL` | | Action | What it does | Slug | | - | - | - | | Accept estimate | Mark an estimate as accepted. | `ZOHO_BOOKS_ACCEPT_ESTIMATE` | | Mark estimate as sent | Mark an estimate as Sent. | `ZOHO_BOOKS_MARK_ESTIMATE_AS_SENT` | | Update estimate | Update an existing estimate (quote). | `ZOHO_BOOKS_UPDATE_ESTIMATE` | | Action | What it does | Slug | | - | - | - | | Create expense | Create a new expense in Zoho Books. | `ZOHO_BOOKS_CREATE_EXPENSE` | | Create recurring expense | Create a new recurring expense in Zoho Books. | `ZOHO_BOOKS_CREATE_RECURRING_EXPENSE` | | Action | What it does | Slug | | - | - | - | | Create invoice from salesorder | Create an instant invoice from an existing sales order. | `ZOHO_BOOKS_CREATE_INVOICE_FROM_SALESORDER` | | Email invoice | Send an invoice email. | `ZOHO_BOOKS_EMAIL_INVOICE` | | Mark invoice as sent | Mark an invoice as Sent. | `ZOHO_BOOKS_MARK_INVOICE_AS_SENT` | | Mark retainer invoice sent | Mark a retainer invoice as Sent. | `ZOHO_BOOKS_MARK_RETAINER_INVOICE_SENT` | | Remind customer invoice | Send a payment reminder for an invoice. | `ZOHO_BOOKS_REMIND_CUSTOMER_INVOICE` | | Update invoice | Update details of a specific invoice. | `ZOHO_BOOKS_UPDATE_INVOICE` | | Void invoice | Mark an invoice as Void. | `ZOHO_BOOKS_VOID_INVOICE` | | Write off invoice | Write off an invoice. | `ZOHO_BOOKS_WRITE_OFF_INVOICE` | | Action | What it does | Slug | | - | - | - | | Create journal | Create a journal entry in Zoho Books. | `ZOHO_BOOKS_CREATE_JOURNAL` | | Update journal | Update a journal entry in Zoho Books. | `ZOHO_BOOKS_UPDATE_JOURNAL` | | Action | What it does | Slug | | - | - | - | | Mark sales order void | Mark a sales order as Void. | `ZOHO_BOOKS_MARK_SALES_ORDER_VOID` | | Open sales order | Mark a sales order as Open. | `ZOHO_BOOKS_OPEN_SALES_ORDER` | | Update sales order | Update a specific sales order. | `ZOHO_BOOKS_UPDATE_SALES_ORDER` | | Action | What it does | Slug | | - | - | - | | Create vendor payment | Create a vendor payment in Zoho Books. | `ZOHO_BOOKS_CREATE_VENDOR_PAYMENT` | | Action | What it does | Slug | | - | - | - | | Create contact person | Create a new contact person for an existing contact in Zoho Books. | `ZOHO_BOOKS_CREATE_CONTACT_PERSON` | | Update contact person | Update an existing contact person in Zoho Books. | `ZOHO_BOOKS_UPDATE_CONTACT_PERSON` | | Action | What it does | Slug | | - | - | - | | Clone project | Clone an existing project. | `ZOHO_BOOKS_CLONE_PROJECT` | | Create project | Create a project in Zoho Books. | `ZOHO_BOOKS_CREATE_PROJECT` | | Mark project active | Mark a project as active. | `ZOHO_BOOKS_MARK_PROJECT_ACTIVE` | | Update project | Update a project in Zoho Books. | `ZOHO_BOOKS_UPDATE_PROJECT` | | Action | What it does | Slug | | - | - | - | | Create sales receipt | Create a sales receipt in Zoho Books. | `ZOHO_BOOKS_CREATE_SALES_RECEIPT` | | Action | What it does | Slug | | - | - | - | | Create recurring invoice | Create a recurring invoice. | `ZOHO_BOOKS_CREATE_RECURRING_INVOICE` | | Resume recurring invoice | Resume a recurring invoice. | `ZOHO_BOOKS_RESUME_RECURRING_INVOICE` | | Stop recurring invoice | Stop a recurring invoice. | `ZOHO_BOOKS_STOP_RECURRING_INVOICE` | | Action | What it does | Slug | | - | - | - | | Categorize as customer payment refund | Categorize an uncategorized bank transaction as a customer payment refund. | `ZOHO_BOOKS_CATEGORIZE_AS_CUSTOMER_PAYMENT_REFUND` | | Create customer payment refund | Refund an excess customer payment. | `ZOHO_BOOKS_CREATE_CUSTOMER_PAYMENT_REFUND` | | Update credit note refund | Update details of a specific credit note refund. | `ZOHO_BOOKS_UPDATE_CREDIT_NOTE_REFUND` | | Update vendor payment refund | Update a vendor payment refund in Zoho Books. | `ZOHO_BOOKS_UPDATE_VENDOR_PAYMENT_REFUND` | | Action | What it does | Slug | | - | - | - | | Disable contact payment reminder | Disable payment reminders for a contact. | `ZOHO_BOOKS_DISABLE_CONTACT_PAYMENT_REMINDER` | | Disable invoice payment reminder | Disable payment reminders for an invoice. | `ZOHO_BOOKS_DISABLE_INVOICE_PAYMENT_REMINDER` | | Enable contact payment reminder | Enable payment reminders for a contact. | `ZOHO_BOOKS_ENABLE_CONTACT_PAYMENT_REMINDER` | | Enable invoice payment reminder | Enable payment reminders for an invoice. | `ZOHO_BOOKS_ENABLE_INVOICE_PAYMENT_REMINDER` | | Send bulk invoice reminder | Send payment reminders for multiple invoices at once. | `ZOHO_BOOKS_SEND_BULK_INVOICE_REMINDER` | | Action | What it does | Slug | | - | - | - | | Update invoice attachment preference | Update attachment preference for an invoice. | `ZOHO_BOOKS_UPDATE_INVOICE_ATTACHMENT_PREFERENCE` | | Update sales order attachment preference | Update attachment preference for a sales order. | `ZOHO_BOOKS_UPDATE_SALES_ORDER_ATTACHMENT_PREFERENCE` | | Action | What it does | Slug | | - | - | - | | Update estimate template | Update the template associated with an estimate. | `ZOHO_BOOKS_UPDATE_ESTIMATE_TEMPLATE` | | Update invoice template | Update the template associated with an invoice. | `ZOHO_BOOKS_UPDATE_INVOICE_TEMPLATE` | | Update recurring invoice template | Update the template associated with a recurring invoice. | `ZOHO_BOOKS_UPDATE_RECURRING_INVOICE_TEMPLATE` | | Update sales order template | Update the template associated with a sales order. | `ZOHO_BOOKS_UPDATE_SALES_ORDER_TEMPLATE` | | Action | What it does | Slug | | - | - | - | | Create time entry | Create a new time entry for a project task. | `ZOHO_BOOKS_CREATE_TIME_ENTRY` | | Delete time entry | Delete a specific time entry from a project. | `ZOHO_BOOKS_DELETE_TIME_ENTRY` | | Action | What it does | Slug | | - | - | - | | Categorize uncategorized transaction | Categorize an uncategorized bank transaction. | `ZOHO_BOOKS_CATEGORIZE_UNCATEGORIZED_TRANSACTION` | | Create bank transaction | Create a manual bank transaction. | `ZOHO_BOOKS_CREATE_BANK_TRANSACTION` | | Exclude bank transaction | Exclude an uncategorized bank transaction. | `ZOHO_BOOKS_EXCLUDE_BANK_TRANSACTION` | | Update bank transaction | Update an existing bank transaction in Zoho Books. | `ZOHO_BOOKS_UPDATE_BANK_TRANSACTION` | | Action | What it does | Slug | | - | - | - | | Import bank statements | Import bank or credit card statement transactions in bulk. | `ZOHO_BOOKS_IMPORT_BANK_STATEMENTS` | Teammates can use 265 of the 265 Zoho Books actions at this level: everything in **Read + write**, plus: * Delete payments * Create, update, and delete bank accounts * Create, update, and delete items * Create and update tags * Delete attachments * Create and delete charts * Create, update, and delete currencies * Create, update, and delete locations * Delete refunds * Create and update users * Delete bills * Delete documents The 74 actions that this level adds to **Read + write**: | Action | What it does | Slug | | - | - | - | | Delete bill attachment | Delete an attachment from a specific bill. | `ZOHO_BOOKS_DELETE_BILL_ATTACHMENT` | | Delete invoice attachment | Delete the last attached attachment from an invoice. | `ZOHO_BOOKS_DELETE_INVOICE_ATTACHMENT` | | Delete purchase order attachment | Delete an attachment from a purchase order. | `ZOHO_BOOKS_DELETE_PURCHASE_ORDER_ATTACHMENT` | | Action | What it does | Slug | | - | - | - | | Activate bank account | Activate a bank account. | `ZOHO_BOOKS_ACTIVATE_BANK_ACCOUNT` | | Create bank account | Create a bank or credit card account. | `ZOHO_BOOKS_CREATE_BANK_ACCOUNT` | | Deactivate bank account | Deactivate a bank account. | `ZOHO_BOOKS_DEACTIVATE_BANK_ACCOUNT` | | Delete bank account | Delete a bank account from your organization. | `ZOHO_BOOKS_DELETE_BANK_ACCOUNT` | | Action | What it does | Slug | | - | - | - | | Delete bill | Delete a specific bill. | `ZOHO_BOOKS_DELETE_BILL` | | Delete recurring bill | Delete a recurring bill. | `ZOHO_BOOKS_DELETE_RECURRING_BILL` | | Action | What it does | Slug | | - | - | - | | Create chart of account | Create a new chart of account in Zoho Books. | `ZOHO_BOOKS_CREATE_CHART_OF_ACCOUNT` | | Delete chart of account | Delete a specific chart of account. | `ZOHO_BOOKS_DELETE_CHART_OF_ACCOUNT` | | Delete chart of account transaction | Delete a chart of account transaction. | `ZOHO_BOOKS_DELETE_CHART_OF_ACCOUNT_TRANSACTION` | | Action | What it does | Slug | | - | - | - | | Delete contact | Delete a specific contact. | `ZOHO_BOOKS_DELETE_CONTACT` | | Enable contact portal | Enable portal access for a contact. | `ZOHO_BOOKS_ENABLE_CONTACT_PORTAL` | | Action | What it does | Slug | | - | - | - | | Delete credit note | Delete a specific credit note. | `ZOHO_BOOKS_DELETE_CREDIT_NOTE` | | Action | What it does | Slug | | - | - | - | | Delete vendor credit | Delete a specific vendor credit. | `ZOHO_BOOKS_DELETE_VENDOR_CREDIT` | | Action | What it does | Slug | | - | - | - | | Create currency | Create a new currency for an organization. | `ZOHO_BOOKS_CREATE_CURRENCY` | | Delete currency | Delete a specific currency from organization settings. | `ZOHO_BOOKS_DELETE_CURRENCY` | | Update currency | Update an existing currency in Zoho Books. | `ZOHO_BOOKS_UPDATE_CURRENCY` | | Action | What it does | Slug | | - | - | - | | Update custom fields in item | Update custom field values in an existing item. | `ZOHO_BOOKS_UPDATE_CUSTOM_FIELDS_IN_ITEM` | | Action | What it does | Slug | | - | - | - | | Delete invoice document | Delete a document/attachment from a specific invoice. | `ZOHO_BOOKS_DELETE_INVOICE_DOCUMENT` | | Delete journal document | Delete a document/attachment from a journal entry. | `ZOHO_BOOKS_DELETE_JOURNAL_DOCUMENT` | | Action | What it does | Slug | | - | - | - | | Create employee | Create a new employee in Zoho Books. | `ZOHO_BOOKS_CREATE_EMPLOYEE` | | Delete employee | Delete a specific employee. | `ZOHO_BOOKS_DELETE_EMPLOYEE` | | Action | What it does | Slug | | - | - | - | | Delete estimate | Delete a specific estimate. | `ZOHO_BOOKS_DELETE_ESTIMATE` | | Action | What it does | Slug | | - | - | - | | Delete expense | Delete a specific expense. | `ZOHO_BOOKS_DELETE_EXPENSE` | | Action | What it does | Slug | | - | - | - | | Delete invoice | Delete a specific invoice. | `ZOHO_BOOKS_DELETE_INVOICE` | | Action | What it does | Slug | | - | - | - | | Create item | Create a new item (product or service). | `ZOHO_BOOKS_CREATE_ITEM` | | Delete item | Delete a specific item. | `ZOHO_BOOKS_DELETE_ITEM` | | Mark item as active | Mark an item as active. | `ZOHO_BOOKS_MARK_ITEM_AS_ACTIVE` | | Mark item inactive | Mark an item as inactive. | `ZOHO_BOOKS_MARK_ITEM_INACTIVE` | | Update item | Update details of a specific item. | `ZOHO_BOOKS_UPDATE_ITEM` | | Action | What it does | Slug | | - | - | - | | Delete journal v4 | Delete a journal using the v4 Beta API. | `ZOHO_BOOKS_DELETE_JOURNAL_V4` | | Delete journals | Delete multiple journal entries in one request. | `ZOHO_BOOKS_DELETE_JOURNALS` | | Action | What it does | Slug | | - | - | - | | Create location | Create a new location in Zoho Books. | `ZOHO_BOOKS_CREATE_LOCATION` | | Delete location | Delete a specific location. | `ZOHO_BOOKS_DELETE_LOCATION` | | Mark location active | Mark a location as active. | `ZOHO_BOOKS_MARK_LOCATION_ACTIVE` | | Mark location inactive | Mark a location as inactive. | `ZOHO_BOOKS_MARK_LOCATION_INACTIVE` | | Mark location primary | Mark a location as primary. | `ZOHO_BOOKS_MARK_LOCATION_PRIMARY` | | Update location | Update an existing location in Zoho Books. | `ZOHO_BOOKS_UPDATE_LOCATION` | | Action | What it does | Slug | | - | - | - | | Update organization | Update an organization's settings and details. | `ZOHO_BOOKS_UPDATE_ORGANIZATION` | | Action | What it does | Slug | | - | - | - | | Delete bill payment | Delete a specific bill payment. | `ZOHO_BOOKS_DELETE_BILL_PAYMENT` | | Delete bulk customer payments | Bulk delete multiple customer payments. | `ZOHO_BOOKS_DELETE_BULK_CUSTOMER_PAYMENTS` | | Delete bulk vendor payments | Bulk delete multiple vendor payments. | `ZOHO_BOOKS_DELETE_BULK_VENDOR_PAYMENTS` | | Delete customer payment | Delete a customer payment. | `ZOHO_BOOKS_DELETE_CUSTOMER_PAYMENT` | | Delete invoice payment | Delete a payment applied to an invoice. | `ZOHO_BOOKS_DELETE_INVOICE_PAYMENT` | | Delete vendor payment | Delete a vendor payment. | `ZOHO_BOOKS_DELETE_VENDOR_PAYMENT` | | Action | What it does | Slug | | - | - | - | | Delete contact person | Delete a specific contact person. | `ZOHO_BOOKS_DELETE_CONTACT_PERSON` | | Action | What it does | Slug | | - | - | - | | Delete project v4 | Delete a specific project using v4 Beta API. | `ZOHO_BOOKS_DELETE_PROJECT_V4` | | Action | What it does | Slug | | - | - | - | | Delete purchase order | Delete a specific purchase order. | `ZOHO_BOOKS_DELETE_PURCHASE_ORDER` | | Action | What it does | Slug | | - | - | - | | Delete expense receipt | Delete a receipt from an expense. | `ZOHO_BOOKS_DELETE_EXPENSE_RECEIPT` | | Delete sales receipt | Delete a specific sales receipt. | `ZOHO_BOOKS_DELETE_SALES_RECEIPT` | | Action | What it does | Slug | | - | - | - | | Delete recurring invoice | Delete a recurring invoice. | `ZOHO_BOOKS_DELETE_RECURRING_INVOICE` | | Action | What it does | Slug | | - | - | - | | Delete credit note refund | Delete a specific credit note refund. | `ZOHO_BOOKS_DELETE_CREDIT_NOTE_REFUND` | | Delete customer payment refund | Delete a specific customer payment refund. | `ZOHO_BOOKS_DELETE_CUSTOMER_PAYMENT_REFUND` | | Delete vendor credit refund | Delete a vendor credit refund. | `ZOHO_BOOKS_DELETE_VENDOR_CREDIT_REFUND` | | Action | What it does | Slug | | - | - | - | | Create rule | Create a rule for automatic transaction categorization. | `ZOHO_BOOKS_CREATE_RULE` | | Delete rule | Delete a bank account rule from your account. | `ZOHO_BOOKS_DELETE_RULE` | | Action | What it does | Slug | | - | - | - | | Mark reporting tag default option | Mark an option as default for a reporting tag. | `ZOHO_BOOKS_MARK_REPORTING_TAG_DEFAULT_OPTION` | | Mark tag option active | Mark a reporting tag option as active. | `ZOHO_BOOKS_MARK_TAG_OPTION_ACTIVE` | | Mark tag option as inactive | Mark a reporting tag option as inactive. | `ZOHO_BOOKS_MARK_TAG_OPTION_AS_INACTIVE` | | Update reporting tag options | Update reporting tag options in Zoho Books. | `ZOHO_BOOKS_UPDATE_REPORTING_TAG_OPTIONS` | | Action | What it does | Slug | | - | - | - | | Create reporting tag | Create a new reporting tag in Zoho Books. | `ZOHO_BOOKS_CREATE_REPORTING_TAG` | | Mark reporting tag as active | Mark a reporting tag as active. | `ZOHO_BOOKS_MARK_REPORTING_TAG_AS_ACTIVE` | | Mark reporting tag as inactive | Mark a reporting tag as inactive. | `ZOHO_BOOKS_MARK_REPORTING_TAG_AS_INACTIVE` | | Update reporting tag | Update an existing reporting tag in Zoho Books. | `ZOHO_BOOKS_UPDATE_REPORTING_TAG` | | Action | What it does | Slug | | - | - | - | | Delete project task | Delete a project task. | `ZOHO_BOOKS_DELETE_PROJECT_TASK` | | Action | What it does | Slug | | - | - | - | | Delete bank transaction | Delete a specific bank transaction. | `ZOHO_BOOKS_DELETE_BANK_TRANSACTION` | | Action | What it does | Slug | | - | - | - | | Create user | Create a new user in Zoho Books. | `ZOHO_BOOKS_CREATE_USER` | | Mark user inactive | Mark a user as inactive in Zoho Books. | `ZOHO_BOOKS_MARK_USER_INACTIVE` | | Update project user | Update a user's details in a project. | `ZOHO_BOOKS_UPDATE_PROJECT_USER` | | Update user | Update an existing user in Zoho Books. | `ZOHO_BOOKS_UPDATE_USER` | | Action | What it does | Slug | | - | - | - | | Create exchange rate | Create a new exchange rate for a currency. | `ZOHO_BOOKS_CREATE_EXCHANGE_RATE` | | Delete exchange rate | Delete an exchange rate for a currency. | `ZOHO_BOOKS_DELETE_EXCHANGE_RATE` | ## Connect Zoho Books Before you start: * You need a Zoho Books account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Zoho Books** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Zoho Books**. The Zoho Books sign-in page opens in a new tab. Sign in to Zoho Books and approve the request. Check that it works: Zoho Books shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Zoho Books account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Zoho Books account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Zoho Books account Click **+ Account** on the Zoho Books card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Zoho Books side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Zoho Books**. 3. Sign in to Zoho Books and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Zoho Books account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Zoho Books.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Zoho Books account becomes primary. ## Costs Zoho Books actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Zoho Books, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Zoho Books connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Zoho Books account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Zoho Books card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Zoho Books account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Zoho Books.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Zoho Desk Source: https://squad.so/docs/apps/zoho_desk What teammates can do in Zoho Desk at each access level, and how to connect, limit, and disconnect Zoho Desk. Connect Zoho Desk so your teammates can work in your Zoho Desk account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Zoho Desk account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as tickets, contacts, agents, and departments. Cannot change anything." | 26 of 33 | | **Read + write** (recommended) | "Create and update tickets, contacts, accounts, and tasks, and attach files. Cannot change departments or settings." | 32 of 33 | | **Full access** | "Everything, including departments and settings." | 33 of 33 | **Read + write** is the recommended level. The connect window selects it for you, and you can choose another level. The Zoho Desk sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Zoho Desk account?" The teammate can search the Zoho Desk actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Zoho Desk action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 26 of the 33 Zoho Desk actions at this level: * View agents * View contacts * View departments * View threads * View roles and permissions * View tickets * View account details * View attachments * View conversations * View history * View organizations * View teams All 26 actions at this level: | Works on | Action | What it does | Slug | | - | - | - | - | | **Account details** | List contact accounts | List accounts associated with a Zoho Desk contact. | `ZOHO_DESK_LIST_CONTACT_ACCOUNTS` | | **Agents** | Get agent | Fetch details of a Zoho Desk agent. | `ZOHO_DESK_GET_AGENT` | | | Get agents count | Get the total count of agents in Zoho Desk. | `ZOHO_DESK_GET_AGENTS_COUNT` | | | List agents | | `ZOHO_DESK_LIST_AGENTS` | | **Attachments** | Download ticket attachment | | `ZOHO_DESK_DOWNLOAD_TICKET_ATTACHMENT` | | **Contacts** | Get contact | Fetch details of a Zoho Desk contact. | `ZOHO_DESK_GET_CONTACT` | | | Get contacts by IDs | Fetch multiple contacts by their IDs using Zoho Desk's contactsByIds endpoint. | `ZOHO_DESK_GET_CONTACTS_BY_IDS` | | | List contacts | List contacts with filters and pagination. | `ZOHO_DESK_LIST_CONTACTS` | | **Conversations** | List ticket conversations | | `ZOHO_DESK_LIST_TICKET_CONVERSATIONS` | | **Departments** | Get department | Fetch details of a Zoho Desk department by ID. | `ZOHO_DESK_GET_DEPARTMENT` | | | Get department logo | Get/download a department's logo from Zoho Desk. | `ZOHO_DESK_GET_DEPARTMENT_LOGO` | | | Get departments count | Get the total count of departments in Zoho Desk. | `ZOHO_DESK_GET_DEPARTMENTS_COUNT` | | | List departments | List all departments in the current Zoho Desk organization. | `ZOHO_DESK_LIST_DEPARTMENTS` | | **History** | List ticket history | | `ZOHO_DESK_LIST_TICKET_HISTORY` | | **Organizations** | List organizations | List all organizations the current user belongs to. | `ZOHO_DESK_LIST_ORGANIZATIONS` | | **Roles and permissions** | List roles | | `ZOHO_DESK_LIST_ROLES` | | | List roles by IDs | | `ZOHO_DESK_LIST_ROLES_BY_IDS` | | **Teams** | List teams in department | List teams in the specified Zoho Desk department. | `ZOHO_DESK_LIST_TEAMS_IN_DEPARTMENT` | | **Threads** | Get ticket latest thread | Fetch the most recent thread of a ticket. | `ZOHO_DESK_GET_TICKET_LATEST_THREAD` | | | Get ticket thread | Fetch a specific thread within a Zoho Desk ticket. | `ZOHO_DESK_GET_TICKET_THREAD` | | | List ticket threads | | `ZOHO_DESK_LIST_TICKET_THREADS` | | **Tickets** | Get ticket | | `ZOHO_DESK_GET_TICKET` | | | Get ticket resolution | | `ZOHO_DESK_GET_TICKET_RESOLUTION` | | | List tickets | | `ZOHO_DESK_LIST_TICKETS` | | **Views** | List views | | `ZOHO_DESK_LIST_VIEWS` | | **Other actions** | Search | | `ZOHO_DESK_SEARCH` | Teammates can use 32 of the 33 Zoho Desk actions at this level: everything in **Read-only**, plus: * Create and update tickets * Update account details * Create attachments * Create contacts * Update tasks The 6 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Account details** | Update account | | `ZOHO_DESK_UPDATE_ACCOUNT` | | **Attachments** | Upload ticket attachment | | `ZOHO_DESK_UPLOAD_TICKET_ATTACHMENT` | | **Contacts** | Create contact | | `ZOHO_DESK_CREATE_CONTACT` | | **Tasks** | Update many tasks | Update multiple tasks in a single call using Zoho Desk API. | `ZOHO_DESK_UPDATE_MANY_TASKS` | | **Tickets** | Create ticket | Create a new Zoho Desk ticket with subject, description, department, and requester details. | `ZOHO_DESK_CREATE_TICKET` | | | Update ticket | | `ZOHO_DESK_UPDATE_TICKET` | Teammates can use 33 of the 33 Zoho Desk actions at this level: everything in **Read + write**, plus the actions below. The action that this level adds to **Read + write**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Departments** | Upload department logo | Upload/update a department logo in Zoho Desk. | `ZOHO_DESK_UPLOAD_DEPARTMENT_LOGO` | ## Connect Zoho Desk Before you start: * You need a Zoho Desk account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Zoho Desk** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Zoho Desk**. The Zoho Desk sign-in page opens in a new tab. Sign in to Zoho Desk and approve the request. Check that it works: Zoho Desk shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Zoho Desk account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Zoho Desk account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Zoho Desk account Click **+ Account** on the Zoho Desk card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Zoho Desk side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Zoho Desk**. 3. Sign in to Zoho Desk and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Zoho Desk account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Zoho Desk.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Zoho Desk account becomes primary. ## Costs Zoho Desk actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Zoho Desk, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Zoho Desk connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Zoho Desk account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Zoho Desk card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Zoho Desk account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Zoho Desk.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Zoho Invoice Source: https://squad.so/docs/apps/zoho_invoice What teammates can do in Zoho Invoice at each access level, and how to connect, limit, and disconnect Zoho Invoice. Connect Zoho Invoice so your teammates can work in your Zoho Invoice account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Zoho Invoice account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as invoices, estimates, contacts, and payments. Cannot change anything." | 55 of 137 | | **Read + write** (recommended) | "Create and edit invoices, estimates, credit notes, payments, contacts, and projects, and send invoices. Cannot delete records or change taxes, currencies, or items." | 110 of 137 | | **Full access** | "Everything, including deleting records, taxes, currencies, items, and users." | 137 of 137 | **Read + write** is the recommended level. The connect window selects it for you, and you can choose another level. The Zoho Invoice sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Zoho Invoice account?" The teammate can search the Zoho Invoice actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Zoho Invoice action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 55 of the 137 Zoho Invoice actions at this level: * View invoices * View comments * View content * View refunds * View users * View contacts * View credit notes * View estimates * View expenses * View items * View lists * View payments All 55 actions at this level: | Action | What it does | Slug | | - | - | - | | Get contact addresses | Retrieve all addresses for a contact. | `ZOHO_INVOICE_GET_CONTACT_ADDRESSES` | | Action | What it does | Slug | | - | - | - | | Get invoice attachment | Get invoice attachment details. | `ZOHO_INVOICE_GET_INVOICE_ATTACHMENT` | | Action | What it does | Slug | | - | - | - | | List contact comments | List all comments on a contact. | `ZOHO_INVOICE_LIST_CONTACT_COMMENTS` | | List expense comments | List expense history and comments. | `ZOHO_INVOICE_LIST_EXPENSE_COMMENTS` | | List invoice comments | List all comments and history for an invoice. | `ZOHO_INVOICE_LIST_INVOICE_COMMENTS` | | List project comments | List all comments for a project. | `ZOHO_INVOICE_LIST_PROJECT_COMMENTS` | | Action | What it does | Slug | | - | - | - | | Get contact | Retrieve a specific contact by ID. | `ZOHO_INVOICE_GET_CONTACT` | | List contacts | | `ZOHO_INVOICE_LIST_CONTACTS` | | Action | What it does | Slug | | - | - | - | | Get invoice email content | Retrieve the email content for a specific invoice. | `ZOHO_INVOICE_GET_INVOICE_EMAIL_CONTENT` | | Get payment reminder mail content | Retrieve payment reminder mail content for a specific invoice. | `ZOHO_INVOICE_GET_PAYMENT_REMINDER_MAIL_CONTENT` | | Get statement mail content | Retrieve statement mail content for a specific contact. | `ZOHO_INVOICE_GET_STATEMENT_MAIL_CONTENT` | | Action | What it does | Slug | | - | - | - | | Get credit note | Retrieve the details of a specific credit note by creditnote\_id. | `ZOHO_INVOICE_GET_CREDIT_NOTE` | | List credit notes | | `ZOHO_INVOICE_LIST_CREDIT_NOTES` | | Action | What it does | Slug | | - | - | - | | List currencies | List all currencies configured for the organization. | `ZOHO_INVOICE_LIST_CURRENCIES` | | Action | What it does | Slug | | - | - | - | | List employees | List all employees in the organization. | `ZOHO_INVOICE_LIST_EMPLOYEES` | | Action | What it does | Slug | | - | - | - | | List estimates | List all estimates. | `ZOHO_INVOICE_LIST_ESTIMATES` | | Print estimates | Bulk print multiple estimates as PDF. | `ZOHO_INVOICE_PRINT_ESTIMATES` | | Action | What it does | Slug | | - | - | - | | List expense categories | List all expense categories with optional filtering, sorting, and pagination. | `ZOHO_INVOICE_LIST_EXPENSE_CATEGORIES` | | Action | What it does | Slug | | - | - | - | | Get expense | Retrieve a specific expense by ID. | `ZOHO_INVOICE_GET_EXPENSE` | | List child expenses created | List child expenses created from a recurring expense. | `ZOHO_INVOICE_LIST_CHILD_EXPENSES_CREATED` | | List expenses | List all expenses with optional filtering, sorting, and pagination. | `ZOHO_INVOICE_LIST_EXPENSES` | | Action | What it does | Slug | | - | - | - | | Get tax group | Retrieve a specific tax group by ID. | `ZOHO_INVOICE_GET_TAX_GROUP` | | Action | What it does | Slug | | - | - | - | | Get credit note email history | Retrieve email history for a credit note. | `ZOHO_INVOICE_GET_CREDIT_NOTE_EMAIL_HISTORY` | | Action | What it does | Slug | | - | - | - | | Export invoices bulk | Bulk export multiple invoices as a single PDF file. | `ZOHO_INVOICE_EXPORT_INVOICES_BULK` | | Get invoice | Retrieve the details of a specific invoice by invoice\_id. | `ZOHO_INVOICE_GET_INVOICE` | | List invoices | | `ZOHO_INVOICE_LIST_INVOICES` | | List invoices credited | List invoices to which a specific credit note has been applied. | `ZOHO_INVOICE_LIST_INVOICES_CREDITED` | | List project invoices | List all invoices for a specific project. | `ZOHO_INVOICE_LIST_PROJECT_INVOICES` | | List retainer invoices | | `ZOHO_INVOICE_LIST_RETAINER_INVOICES` | | Print invoices | Bulk print invoices as PDF. | `ZOHO_INVOICE_PRINT_INVOICES` | | Action | What it does | Slug | | - | - | - | | Get item | Retrieve the details of a specific item by item\_id. | `ZOHO_INVOICE_GET_ITEM` | | List items | List all items. | `ZOHO_INVOICE_LIST_ITEMS` | | Action | What it does | Slug | | - | - | - | | Get price list | Retrieve the details of a specific price list by pricebook\_id. | `ZOHO_INVOICE_GET_PRICE_LIST` | | List price lists | List all price lists. | `ZOHO_INVOICE_LIST_PRICE_LISTS` | | Action | What it does | Slug | | - | - | - | | List organizations | List all organizations. | `ZOHO_INVOICE_LIST_ORGANIZATIONS` | | Action | What it does | Slug | | - | - | - | | List invoice payments | List payments for a specific invoice. | `ZOHO_INVOICE_LIST_INVOICE_PAYMENTS` | | List payments | | `ZOHO_INVOICE_LIST_PAYMENTS` | | Action | What it does | Slug | | - | - | - | | Get contact person | Retrieve details of a specific contact person. | `ZOHO_INVOICE_GET_CONTACT_PERSON` | | Action | What it does | Slug | | - | - | - | | Get project | Retrieve details of a specific project by project ID. | `ZOHO_INVOICE_GET_PROJECT` | | List projects | List all projects. | `ZOHO_INVOICE_LIST_PROJECTS` | | Action | What it does | Slug | | - | - | - | | Get recurring invoice | Retrieve the details of a specific recurring invoice by recurring\_invoice\_id. | `ZOHO_INVOICE_GET_RECURRING_INVOICE` | | List recurring invoices | | `ZOHO_INVOICE_LIST_RECURRING_INVOICES` | | Action | What it does | Slug | | - | - | - | | Get credit note refund | Retrieve details of a specific credit note refund. | `ZOHO_INVOICE_GET_CREDIT_NOTE_REFUND` | | List contact refunds | List refunds associated with a contact. | `ZOHO_INVOICE_LIST_CONTACT_REFUNDS` | | List customer payment refunds | List refunds of a customer payment. | `ZOHO_INVOICE_LIST_CUSTOMER_PAYMENT_REFUNDS` | | Action | What it does | Slug | | - | - | - | | Get client review | Retrieve details of a particular client review by comment ID. | `ZOHO_INVOICE_GET_CLIENT_REVIEW` | | List client reviews | Retrieve all client reviews for contacts. | `ZOHO_INVOICE_LIST_CLIENT_REVIEWS` | | Action | What it does | Slug | | - | - | - | | Get all tasks | List all tasks in a Zoho Invoice project. | `ZOHO_INVOICE_GET_ALL_TASKS` | | Get task | Retrieve a specific task from a Zoho Invoice project. | `ZOHO_INVOICE_GET_TASK` | | Action | What it does | Slug | | - | - | - | | Get tax | Retrieve details of a specific tax by tax\_id. | `ZOHO_INVOICE_GET_TAX` | | Action | What it does | Slug | | - | - | - | | List retainer invoice templates | | `ZOHO_INVOICE_LIST_RETAINER_INVOICE_TEMPLATES` | | Action | What it does | Slug | | - | - | - | | Get time entry | Retrieve a specific time entry from Zoho Invoice. | `ZOHO_INVOICE_GET_TIME_ENTRY` | | Action | What it does | Slug | | - | - | - | | Get project user | Retrieve a specific user from a project. | `ZOHO_INVOICE_GET_PROJECT_USER` | | List project users | List all users assigned to a specific project. | `ZOHO_INVOICE_LIST_PROJECT_USERS` | | List users | List users in a Zoho Invoice organization. | `ZOHO_INVOICE_LIST_USERS` | Teammates can use 110 of the 137 Zoho Invoice actions at this level: everything in **Read-only**, plus: * Create and delete comments * Create, update, cancel, and manage invoices * Update and send reminders * Create, update, and delete addresses * View and send emails * Create and update people * Create, start, and stop recurring invoices * Create, delete, and start time entries * Create and update contacts * Create and update credit notes * Create and update estimates * Create and update payments The 55 actions that this level adds to **Read-only**: | Action | What it does | Slug | | - | - | - | | Create additional address | Add an additional address to a contact. | `ZOHO_INVOICE_CREATE_ADDITIONAL_ADDRESS` | | Delete additional address | Delete an additional address from a contact. | `ZOHO_INVOICE_DELETE_ADDITIONAL_ADDRESS` | | Update additional address | Update an additional address for a contact. | `ZOHO_INVOICE_UPDATE_ADDITIONAL_ADDRESS` | | Update estimate shipping address | Update the shipping address for an estimate. | `ZOHO_INVOICE_UPDATE_ESTIMATE_SHIPPING_ADDRESS` | | Action | What it does | Slug | | - | - | - | | Add invoice comment | Add a comment to an invoice. | `ZOHO_INVOICE_ADD_INVOICE_COMMENT` | | Create credit note comment | Add a comment to a credit note. | `ZOHO_INVOICE_CREATE_CREDIT_NOTE_COMMENT` | | Create estimate comment | Add a comment to an estimate. | `ZOHO_INVOICE_CREATE_ESTIMATE_COMMENT` | | Create project comment | Post a comment to a project. | `ZOHO_INVOICE_CREATE_PROJECT_COMMENT` | | Delete estimate comment | Delete a comment from an estimate. | `ZOHO_INVOICE_DELETE_ESTIMATE_COMMENT` | | Delete invoice comment | Delete a comment from an invoice. | `ZOHO_INVOICE_DELETE_INVOICE_COMMENT` | | Delete project comment | Delete a comment from a project. | `ZOHO_INVOICE_DELETE_PROJECT_COMMENT` | | Action | What it does | Slug | | - | - | - | | Create contact | Create a contact in Zoho Invoice. | `ZOHO_INVOICE_CREATE_CONTACT` | | Email contact statement | Email a statement to a contact in Zoho Invoice. | `ZOHO_INVOICE_EMAIL_CONTACT_STATEMENT` | | Mark contact active | Mark an inactive contact as active. | `ZOHO_INVOICE_MARK_CONTACT_ACTIVE` | | Mark contact inactive | Mark a contact as inactive in Zoho Invoice. | `ZOHO_INVOICE_MARK_CONTACT_INACTIVE` | | Update contact | Update an existing contact in Zoho Invoice. | `ZOHO_INVOICE_UPDATE_CONTACT` | | Action | What it does | Slug | | - | - | - | | Add creditnote to invoices | Apply a credit note to one or more invoices. | `ZOHO_INVOICE_ADD_CREDITNOTE_TO_INVOICES` | | Create credit note | Create a credit note to refund or give credit to a customer. | `ZOHO_INVOICE_CREATE_CREDIT_NOTE` | | Delete credit notes applied to invoice | Delete invoices credited from a credit note. | `ZOHO_INVOICE_DELETE_CREDIT_NOTES_APPLIED_TO_INVOICE` | | Update credit note | Update an existing credit note in Zoho Invoice. | `ZOHO_INVOICE_UPDATE_CREDIT_NOTE` | | Action | What it does | Slug | | - | - | - | | Apply credits to invoice | Apply credit notes to an invoice in Zoho Invoice. | `ZOHO_INVOICE_APPLY_CREDITS_TO_INVOICE` | | Action | What it does | Slug | | - | - | - | | Email estimate | Email an estimate to a customer. | `ZOHO_INVOICE_EMAIL_ESTIMATE` | | Email multiple estimates | Send estimates via email to customers in bulk. | `ZOHO_INVOICE_EMAIL_MULTIPLE_ESTIMATES` | | Send contact email | Send an email to a contact in Zoho Invoice. | `ZOHO_INVOICE_SEND_CONTACT_EMAIL` | | Action | What it does | Slug | | - | - | - | | Create estimate | Create a new estimate (quote) for a customer. | `ZOHO_INVOICE_CREATE_ESTIMATE` | | Mark estimate as declined | Mark an estimate as declined. | `ZOHO_INVOICE_MARK_ESTIMATE_AS_DECLINED` | | Action | What it does | Slug | | - | - | - | | Cancel write off invoice | Cancel a write-off on an invoice. | `ZOHO_INVOICE_CANCEL_WRITE_OFF_INVOICE` | | Create invoice | Create a new invoice for a customer in Zoho Invoice. | `ZOHO_INVOICE_CREATE_INVOICE` | | Email invoice | Email an invoice to customers. | `ZOHO_INVOICE_EMAIL_INVOICE` | | Mark invoice as sent | Mark an invoice as sent. | `ZOHO_INVOICE_MARK_INVOICE_AS_SENT` | | Mark invoice as void | Mark an invoice as void. | `ZOHO_INVOICE_MARK_INVOICE_AS_VOID` | | Mark retainer invoice as sent | Mark a retainer invoice as sent. | `ZOHO_INVOICE_MARK_RETAINER_INVOICE_AS_SENT` | | Write off invoice | Write off an invoice. | `ZOHO_INVOICE_WRITE_OFF_INVOICE` | | Action | What it does | Slug | | - | - | - | | Create customer payment | Create a customer payment in Zoho Invoice. | `ZOHO_INVOICE_CREATE_CUSTOMER_PAYMENT` | | Refund customer payment | Refund an excess customer payment. | `ZOHO_INVOICE_REFUND_CUSTOMER_PAYMENT` | | Action | What it does | Slug | | - | - | - | | Create contact person | Create a contact person for an existing contact. | `ZOHO_INVOICE_CREATE_CONTACT_PERSON` | | Mark contact person as primary | Mark a contact person as primary in Zoho Invoice. | `ZOHO_INVOICE_MARK_CONTACT_PERSON_AS_PRIMARY` | | Update contact person | Update a contact person in Zoho Invoice. | `ZOHO_INVOICE_UPDATE_CONTACT_PERSON` | | Action | What it does | Slug | | - | - | - | | Clone project | Clone an existing project. | `ZOHO_INVOICE_CLONE_PROJECT` | | Inactivate project | Deactivate a project in Zoho Invoice. | `ZOHO_INVOICE_INACTIVATE_PROJECT` | | Action | What it does | Slug | | - | - | - | | Create recurring invoice | Create a recurring invoice profile that automatically generates invoices at specified intervals. | `ZOHO_INVOICE_CREATE_RECURRING_INVOICE` | | Resume recurring invoice | Resume a recurring invoice in Zoho Invoice. | `ZOHO_INVOICE_RESUME_RECURRING_INVOICE` | | Stop recurring invoice | Stop a recurring invoice in Zoho Invoice. | `ZOHO_INVOICE_STOP_RECURRING_INVOICE` | | Action | What it does | Slug | | - | - | - | | Create refund credit note refunds | Create a refund for a credit note. | `ZOHO_INVOICE_CREATE_REFUND_CREDIT_NOTE_REFUNDS` | | Update customer payment refund | Update an existing customer payment refund. | `ZOHO_INVOICE_UPDATE_CUSTOMER_PAYMENT_REFUND` | | Action | What it does | Slug | | - | - | - | | Disable contact payment reminders | Disable payment reminders for a contact. | `ZOHO_INVOICE_DISABLE_CONTACT_PAYMENT_REMINDERS` | | Disable invoice payment reminder | Disable payment reminders for an invoice. | `ZOHO_INVOICE_DISABLE_INVOICE_PAYMENT_REMINDER` | | Enable invoice payment reminder | Enable payment reminders for an invoice. | `ZOHO_INVOICE_ENABLE_INVOICE_PAYMENT_REMINDER` | | Enable payment reminders | Enable payment reminders for a contact. | `ZOHO_INVOICE_ENABLE_PAYMENT_REMINDERS` | | Send bulk invoice reminder | Send payment reminders for multiple invoices in bulk. | `ZOHO_INVOICE_SEND_BULK_INVOICE_REMINDER` | | Action | What it does | Slug | | - | - | - | | Create task | Create a new task in a Zoho Invoice project. | `ZOHO_INVOICE_CREATE_TASK` | | Action | What it does | Slug | | - | - | - | | Update credit note template | Update the template associated with a credit note. | `ZOHO_INVOICE_UPDATE_CREDIT_NOTE_TEMPLATE` | | Action | What it does | Slug | | - | - | - | | Create time entry | Log time entries for projects in Zoho Invoice. | `ZOHO_INVOICE_CREATE_TIME_ENTRY` | | Delete time entry | Delete a time entry from Zoho Invoice. | `ZOHO_INVOICE_DELETE_TIME_ENTRY` | | Start timer | Start a timer on an existing time entry in Zoho Invoice. | `ZOHO_INVOICE_START_TIMER` | Teammates can use 137 of the 137 Zoho Invoice actions at this level: everything in **Read + write**, plus: * Create, update, and delete items * Create and delete currencies * Create and delete employees * Create and delete expense categories * Create and delete taxes * Create and delete users * Delete attachments * Delete contacts * Delete estimates * Delete expenses * Create groups * Delete invoices The 27 actions that this level adds to **Read + write**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Attachments** | Delete invoice attachment | Delete an attachment from an invoice. | `ZOHO_INVOICE_DELETE_INVOICE_ATTACHMENT` | | **Contacts** | Delete contact | Delete a contact from Zoho Invoice. | `ZOHO_INVOICE_DELETE_CONTACT` | | **Currencies** | Create currency | Create a new currency in Zoho Invoice. | `ZOHO_INVOICE_CREATE_CURRENCY` | | | Delete currency | Delete a currency from Zoho Invoice settings. | `ZOHO_INVOICE_DELETE_CURRENCY` | | **Employees** | Create employee | Create an employee in Zoho Invoice. | `ZOHO_INVOICE_CREATE_EMPLOYEE` | | | Delete employee | Delete an employee from Zoho Invoice. | `ZOHO_INVOICE_DELETE_EMPLOYEE` | | **Estimates** | Delete estimates | Delete one or more estimates (quotes). | `ZOHO_INVOICE_DELETE_ESTIMATES` | | **Expense categories** | Create expense category | Create a new expense category in Zoho Invoice. | `ZOHO_INVOICE_CREATE_EXPENSE_CATEGORY` | | | Delete expense category | Delete an expense category from Zoho Invoice. | `ZOHO_INVOICE_DELETE_EXPENSE_CATEGORY` | | | Mark expense category active | Mark an inactive expense category as active. | `ZOHO_INVOICE_MARK_EXPENSE_CATEGORY_ACTIVE` | | **Expenses** | Delete expense | Delete an expense from Zoho Invoice. | `ZOHO_INVOICE_DELETE_EXPENSE` | | **Groups** | Create tax group | Create a new tax group in Zoho Invoice. | `ZOHO_INVOICE_CREATE_TAX_GROUP` | | **Invoices** | Delete invoice | Delete an existing invoice from Zoho Invoice. | `ZOHO_INVOICE_DELETE_INVOICE` | | **Items** | Create item | Create a new item in Zoho Invoice. | `ZOHO_INVOICE_CREATE_ITEM` | | | Delete item | Delete an existing item from Zoho Invoice. | `ZOHO_INVOICE_DELETE_ITEM` | | | Mark item as inactive | Mark an active item as inactive. | `ZOHO_INVOICE_MARK_ITEM_AS_INACTIVE` | | **Payments** | Delete customer payment | Delete an existing payment from Zoho Invoice. | `ZOHO_INVOICE_DELETE_CUSTOMER_PAYMENT` | | **People** | Delete contact person | Delete a contact person from Zoho Invoice. | `ZOHO_INVOICE_DELETE_CONTACT_PERSON` | | **Projects** | Delete project | Delete a project from Zoho Invoice. | `ZOHO_INVOICE_DELETE_PROJECT` | | **Receipts** | Delete invoice expense receipt | Delete the receipt attached to an expense in Zoho Invoice. | `ZOHO_INVOICE_DELETE_INVOICE_EXPENSE_RECEIPT` | | **Tasks** | Delete task | Delete a task from a Zoho Invoice project. | `ZOHO_INVOICE_DELETE_TASK` | | **Taxes** | Create tax | Create a new tax in Zoho Invoice. | `ZOHO_INVOICE_CREATE_TAX` | | | Delete setting taxes | Delete a simple or compound tax from Zoho Invoice settings. | `ZOHO_INVOICE_DELETE_SETTING_TAXES` | | **Users** | Create user | Create a new user in Zoho Invoice. | `ZOHO_INVOICE_CREATE_USER` | | | Delete user | Delete a user from Zoho Invoice. | `ZOHO_INVOICE_DELETE_USER` | | **Other actions** | Create exchange rate | Create an exchange rate for a specified currency. | `ZOHO_INVOICE_CREATE_EXCHANGE_RATE` | | | Enable portal access | Enable portal access for contact persons in Zoho Invoice. | `ZOHO_INVOICE_ENABLE_PORTAL_ACCESS` | ## Connect Zoho Invoice Before you start: * You need a Zoho Invoice account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Zoho Invoice** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Zoho Invoice**. The Zoho Invoice sign-in page opens in a new tab. Sign in to Zoho Invoice and approve the request. Check that it works: Zoho Invoice shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Zoho Invoice account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Zoho Invoice account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Zoho Invoice account Click **+ Account** on the Zoho Invoice card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Zoho Invoice side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Zoho Invoice**. 3. Sign in to Zoho Invoice and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Zoho Invoice account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Zoho Invoice.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Zoho Invoice account becomes primary. ## Costs Zoho Invoice actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Zoho Invoice, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Zoho Invoice connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Zoho Invoice account has an access level: **Read-only**, **Read + write**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Zoho Invoice card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Zoho Invoice account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Zoho Invoice.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Zoom Source: https://squad.so/docs/apps/zoom What teammates can do in Zoom at each access level, and how to connect, limit, and disconnect Zoom. Connect Zoom so your teammates can work in your Zoom account. You choose an access level for each account, and Squad refuses any teammate action outside that level. ## Access levels Each Zoom account has an access level: **Read-only**, **Schedule meetings**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. | Level | The connect window describes this level as | Actions teammates can use | | - | - | - | | **Read-only** | "Read everything this account can see, such as meetings, webinars, recordings, and whiteboards. Cannot change anything." | 56 of 105 | | **Schedule meetings** (recommended) | "Create, reschedule, and cancel meetings, and register people for meetings and webinars. Cannot manage recordings, whiteboards, or settings." | 61 of 105 | | **Full access** | "Everything, including recordings, webinars, whiteboards, and settings." | 105 of 105 | **Schedule meetings** is the recommended level. The connect window selects it for you, and you can choose another level. The Zoom sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in. It checks every teammate action against the level you chose, and it refuses actions outside that level. ## What teammates can do at each level Each level opens with a short summary in plain tasks, then lists every action it adds, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the teammate searches for the matching action. **Find an action.** Open a level and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask a teammate in plain words, for example "What can you do in my Zoom account?" The teammate can search the Zoom actions for you, and it can see which levels run each action. Each action shows its name, a one-line description where the Zoom action catalog has one, and its slug. The slug is the ID that teammates use when they call the action. Teammates can use 56 of the 105 Zoom actions at this level: * View deals * View activities * View meetings * View comments * View and search contacts * View conversations * View exports * View files * View interactions * View participants * View playlists * View projects All 56 actions at this level: | Action | What it does | Slug | | - | - | - | | List zra CRM accounts | Lists CRM accounts from Zoom Revenue Accelerator by account IDs. | `ZOOM_LIST_ZRA_CRM_ACCOUNTS` | | Action | What it does | Slug | | - | - | - | | Download whiteboard session activity | Downloads the activity archive file for a whiteboard archiving session. | `ZOOM_DOWNLOAD_WHITEBOARD_SESSION_ACTIVITY` | | Get iq deal activities | DEPRECATED: Use ZOOM\_GET\_ZRA\_DEAL\_ACTIVITIES instead (Zoom rebranded IQ to ZRA). | `ZOOM_GET_IQ_DEAL_ACTIVITIES` | | Get zra deal activities | Retrieve activities associated with a Zoom Revenue Accelerator (ZRA) deal. | `ZOOM_GET_ZRA_DEAL_ACTIVITIES` | | Action | What it does | Slug | | - | - | - | | Get marketplace user apps | Retrieves a paginated list of Zoom Marketplace apps installed for a specific user. | `ZOOM_GET_MARKETPLACE_USER_APPS` | | Validate marketplace app manifest | Validate a Zoom Marketplace app manifest before submission or update. | `ZOOM_VALIDATE_MARKETPLACE_APP_MANIFEST` | | Action | What it does | Slug | | - | - | - | | List webinar registrants | Retrieves the list of registrants for a webinar with registration enabled. | `ZOOM_LIST_WEBINAR_REGISTRANTS` | | Action | What it does | Slug | | - | - | - | | List project collaborators | Lists all collaborators for a whiteboard project, including their roles and permissions. | `ZOOM_LIST_PROJECT_COLLABORATORS` | | List users collaboration devices | List collaboration devices associated with a user. | `ZOOM_LIST_USERS_COLLABORATION_DEVICES` | | Action | What it does | Slug | | - | - | - | | Get iq conversation comments | DEPRECATED: Use ZOOM\_GET\_ZRA\_CONVERSATION\_COMMENTS instead (Zoom rebranded IQ to ZRA). | `ZOOM_GET_IQ_CONVERSATION_COMMENTS` | | Get zra conversation comments | Retrieve comments for a specific Zoom Revenue Accelerator (ZRA) conversation. | `ZOOM_GET_ZRA_CONVERSATION_COMMENTS` | | Action | What it does | Slug | | - | - | - | | List zra CRM contacts | Retrieve CRM contact information from Zoom IQ Revenue Accelerator (ZRA). | `ZOOM_LIST_ZRA_CRM_CONTACTS` | | Search company contacts | Search company contacts in Zoom by first name, last name, or email. | `ZOOM_SEARCH_COMPANY_CONTACTS` | | Action | What it does | Slug | | - | - | - | | Get iq conversation content analysis | Retrieve content analysis for a Zoom IQ conversation by its ID. | `ZOOM_GET_IQ_CONVERSATION_CONTENT_ANALYSIS` | | Action | What it does | Slug | | - | - | - | | List iq conversations | DEPRECATED: Use ZOOM\_LIST\_ZRA\_CONVERSATIONS instead (Zoom rebranded IQ to ZRA). | `ZOOM_LIST_IQ_CONVERSATIONS` | | List zra conversations | List all conversations in Zoom Revenue Accelerator. | `ZOOM_LIST_ZRA_CONVERSATIONS` | | Action | What it does | Slug | | - | - | - | | List marketplace app custom fields | Retrieve custom fields configured for a Zoom Marketplace app. | `ZOOM_LIST_MARKETPLACE_APP_CUSTOM_FIELDS` | | Action | What it does | Slug | | - | - | - | | Get iq deal | Get details of a specific deal in Zoom Revenue Accelerator (formerly Zoom IQ). | `ZOOM_GET_IQ_DEAL` | | List iq deals | DEPRECATED: Use ZOOM\_LIST\_ZRA\_DEALS instead (Zoom rebranded IQ to ZRA). | `ZOOM_LIST_IQ_DEALS` | | List zra CRM deals | Retrieve CRM deal information from Zoom Revenue Accelerator (ZRA). | `ZOOM_LIST_ZRA_CRM_DEALS` | | List zra deals | List deals from Zoom Revenue Accelerator (ZRA). | `ZOOM_LIST_ZRA_DEALS` | | Action | What it does | Slug | | - | - | - | | Download whiteboard export | Downloads the exported whiteboard content for a completed whiteboard export task. | `ZOOM_DOWNLOAD_WHITEBOARD_EXPORT` | | Get whiteboard export status | Retrieves the status of a whiteboard export task by its task ID. | `ZOOM_GET_WHITEBOARD_EXPORT_STATUS` | | Action | What it does | Slug | | - | - | - | | Download imported whiteboard file | Downloads a specific file that was imported into a whiteboard, including images, PDFs, DOCX, and other supported file formats. | `ZOOM_DOWNLOAD_IMPORTED_WHITEBOARD_FILE` | | List archived files | Lists archived meeting and webinar files within a specified date range (max 7 days). | `ZOOM_LIST_ARCHIVED_FILES` | | Action | What it does | Slug | | - | - | - | | Get iq conversation interactions | DEPRECATED: Use ZOOM\_GET\_ZRA\_CONVERSATION\_INTERACTIONS instead (Zoom rebranded IQ to ZRA). | `ZOOM_GET_IQ_CONVERSATION_INTERACTIONS` | | Get zra conversation interactions | Retrieves interaction details for a specific Zoom Revenue Accelerator (ZRA) conversation. | `ZOOM_GET_ZRA_CONVERSATION_INTERACTIONS` | | Action | What it does | Slug | | - | - | - | | List zra CRM leads | Retrieve CRM lead information from Zoom IQ Revenue Accelerator (ZRA). | `ZOOM_LIST_ZRA_CRM_LEADS` | | Action | What it does | Slug | | - | - | - | | Get a meeting | Retrieves detailed information about a Zoom meeting by its ID. | `ZOOM_GET_A_MEETING` | | Get a meeting summary | IMPORTANT: This action requires a PAID Zoom account (Pro, Business, or Enterprise plan). | `ZOOM_GET_A_MEETING_SUMMARY` | | List meetings | This Zoom API lists a user's scheduled meetings using the me value for user-level apps, excluding instant meetings and only showing unexpired ones. | `ZOOM_LIST_MEETINGS` | | List past meeting instances | Retrieve all UUIDs for past instances of a given meeting. | `ZOOM_LIST_PAST_MEETING_INSTANCES` | | Action | What it does | Slug | | - | - | - | | Get past meeting participants | Retrieves the list of participants who attended a past (ended) Zoom meeting. | `ZOOM_GET_PAST_MEETING_PARTICIPANTS` | | List webinar participants | Get a list of past webinar participants with a Pro plan or above plus an add-on. | `ZOOM_LIST_WEBINAR_PARTICIPANTS` | | Action | What it does | Slug | | - | - | - | | Get iq user conversations playlists | DEPRECATED: Use ZOOM\_LIST\_ZRA\_USER\_CONVERSATION\_PLAYLISTS instead (Zoom rebranded IQ to ZRA). | `ZOOM_GET_IQ_USER_CONVERSATIONS_PLAYLISTS` | | List zra user conversation playlists | List conversation playlists for a specific user in Zoom Revenue Accelerator. | `ZOOM_LIST_ZRA_USER_CONVERSATION_PLAYLISTS` | | Action | What it does | Slug | | - | - | - | | Get project | Retrieves detailed information about a specific whiteboard project by its ID. | `ZOOM_GET_PROJECT` | | List projects | Lists all whiteboard projects accessible to the user. | `ZOOM_LIST_PROJECTS` | | Action | What it does | Slug | | - | - | - | | Get meeting recordings | To download meeting recordings, use download\_url. | `ZOOM_GET_MEETING_RECORDINGS` | | List all recordings | This text details how to list Zoom cloud recordings for a user, notably by using "me" for user-level apps and requiring an OAuth token for access. | `ZOOM_LIST_ALL_RECORDINGS` | | Action | What it does | Slug | | - | - | - | | Get daily usage report | The daily report provides Zoom service usage details, like new users, meetings, participants, and minutes per day for a month, requiring a Pro plan or higher. | `ZOOM_GET_DAILY_USAGE_REPORT` | | Action | What it does | Slug | | - | - | - | | Get iq conversation scorecards | DEPRECATED: Use ZOOM\_GET\_ZRA\_CONVERSATION\_SCORECARDS instead (Zoom rebranded IQ to ZRA). | `ZOOM_GET_IQ_CONVERSATION_SCORECARDS` | | Get zra conversation scorecards | Retrieve scorecards for a specific conversation in Zoom Revenue Accelerator. | `ZOOM_GET_ZRA_CONVERSATION_SCORECARDS` | | Action | What it does | Slug | | - | - | - | | Get whiteboard session | Retrieves detailed information about a specific whiteboard session by its session ID. | `ZOOM_GET_WHITEBOARD_SESSION` | | Action | What it does | Slug | | - | - | - | | List users settings | Retrieve a user's settings including meeting scheduling, in-meeting features, email notifications, recording, telephony, and security preferences. | `ZOOM_LIST_USERS_SETTINGS` | | List zra CRM settings | Retrieve the current CRM API registration information for Zoom Revenue Accelerator (ZRA). | `ZOOM_LIST_ZRA_CRM_SETTINGS` | | List zra settings indicators | Retrieve account indicator settings for Zoom Revenue Accelerator (ZRA). | `ZOOM_LIST_ZRA_SETTINGS_INDICATORS` | | Action | What it does | Slug | | - | - | - | | List meeting summary templates | Retrieve a list of meeting summary templates for a specified user. | `ZOOM_LIST_MEETING_SUMMARY_TEMPLATES` | | Action | What it does | Slug | | - | - | - | | Get marketplace user entitlements | Retrieves marketplace entitlements for a specific Zoom user by ID or 'me'. | `ZOOM_GET_MARKETPLACE_USER_ENTITLEMENTS` | | Get user | Retrieves detailed information about a specific Zoom user by ID, email, or 'me'. | `ZOOM_GET_USER` | | Action | What it does | Slug | | - | - | - | | Get a webinar | Access Zoom Webinar details requires Pro or higher plan and Webinar add-on. | `ZOOM_GET_A_WEBINAR` | | List webinars | The API lists all scheduled webinars for Zoom users with a webinar plan, using me for user-level apps. | `ZOOM_LIST_WEBINARS` | | Action | What it does | Slug | | - | - | - | | Get whiteboard | Retrieves details about a specific whiteboard document. | `ZOOM_GET_WHITEBOARD` | | List whiteboards | Lists all whiteboards accessible to the user. | `ZOOM_LIST_WHITEBOARDS` | | Action | What it does | Slug | | - | - | - | | List devices | Lists devices in your Zoom account managed through Zoom Device Management (ZDM). | `ZOOM_LIST_DEVICES` | | List zra scheduled | List scheduled Zoom Revenue Accelerator (ZRA) items. | `ZOOM_LIST_ZRA_SCHEDULED` | Teammates can use 61 of the 105 Zoom actions at this level: everything in **Read-only**, plus: * Create, update, and delete meetings * Create attendees The 5 actions that this level adds to **Read-only**: | Works on | Action | What it does | Slug | | - | - | - | - | | **Attendees** | Add a meeting registrant | Registers a participant for a Zoom meeting that has registration enabled. | `ZOOM_ADD_A_MEETING_REGISTRANT` | | | Add a webinar registrant | Registers a participant for a Zoom webinar that has registration enabled. | `ZOOM_ADD_A_WEBINAR_REGISTRANT` | | **Meetings** | Create a meeting | Enable Zoom meeting creation via user-level apps with "me". | `ZOOM_CREATE_A_MEETING` | | | Delete a meeting | Delete or cancel a scheduled Zoom meeting. | `ZOOM_DELETE_A_MEETING` | | | Update a meeting | To update a meeting via API, ensure start\_time is future-dated. | `ZOOM_UPDATE_A_MEETING` | Teammates can use 105 of the 105 Zoom actions at this level: everything in **Schedule meetings**, plus: * Create, update, and delete collaborators * Create, update, and delete comments * Create and delete conversations * Create, update, and delete whiteboards * Create, update, and delete projects * Create, update, and delete settings * Delete activities * Create and delete files * Create account details * Create contacts * Create deals * Create exports The 44 actions that this level adds to **Schedule meetings**: | Action | What it does | Slug | | - | - | - | | Create zra CRM accounts | Create or update CRM accounts in Zoom Revenue Accelerator (ZRA). | `ZOOM_CREATE_ZRA_CRM_ACCOUNTS` | | Action | What it does | Slug | | - | - | - | | Delete iq deal activities | DEPRECATED: Use ZOOM\_DELETE\_ZRA\_DEAL\_ACTIVITIES instead (Zoom rebranded IQ to ZRA). | `ZOOM_DELETE_IQ_DEAL_ACTIVITIES` | | Delete zra deal activities | Delete activities from a Zoom Revenue Accelerator (ZRA) deal. | `ZOOM_DELETE_ZRA_DEAL_ACTIVITIES` | | Action | What it does | Slug | | - | - | - | | Add project collaborators | Adds one or more collaborators to a whiteboard project. | `ZOOM_ADD_PROJECT_COLLABORATORS` | | Add whiteboard collaborator | Adds one or more collaborators to a whiteboard. | `ZOOM_ADD_WHITEBOARD_COLLABORATOR` | | Delete project collaborator | Removes a collaborator from a whiteboard project. | `ZOOM_DELETE_PROJECT_COLLABORATOR` | | Delete whiteboard collaborator | Removes a collaborator from a whiteboard. | `ZOOM_DELETE_WHITEBOARD_COLLABORATOR` | | Update project collaborators | Updates collaborator permissions for a whiteboard project. | `ZOOM_UPDATE_PROJECT_COLLABORATORS` | | Update whiteboard collaborator | Updates collaborator settings for a whiteboard. | `ZOOM_UPDATE_WHITEBOARD_COLLABORATOR` | | Action | What it does | Slug | | - | - | - | | Create iq conversation comment | DEPRECATED: Use ZOOM\_CREATE\_ZRA\_CONVERSATION\_COMMENT instead (Zoom rebranded IQ to ZRA). | `ZOOM_CREATE_IQ_CONVERSATION_COMMENT` | | Create zra conversation comment | Create a comment on a Zoom Revenue Accelerator conversation. | `ZOOM_CREATE_ZRA_CONVERSATION_COMMENT` | | Delete iq conversation comment | DEPRECATED: Use ZOOM\_DELETE\_ZRA\_CONVERSATION\_COMMENT instead (Zoom rebranded IQ to ZRA). | `ZOOM_DELETE_IQ_CONVERSATION_COMMENT` | | Delete zra conversation comment | Delete a comment from a Zoom Revenue Accelerator conversation. | `ZOOM_DELETE_ZRA_CONVERSATION_COMMENT` | | Update iq conversation comment | DEPRECATED: Use ZOOM\_UPDATE\_ZRA\_CONVERSATION\_COMMENT instead (Zoom rebranded IQ to ZRA). | `ZOOM_UPDATE_IQ_CONVERSATION_COMMENT` | | Update zra conversation comment | Update a comment in a Zoom Revenue Accelerator conversation. | `ZOOM_UPDATE_ZRA_CONVERSATION_COMMENT` | | Action | What it does | Slug | | - | - | - | | Create zra CRM contacts | Bulk import or delete CRM contacts in Zoom Revenue Accelerator. | `ZOOM_CREATE_ZRA_CRM_CONTACTS` | | Action | What it does | Slug | | - | - | - | | Create iq conversation | DEPRECATED: Use ZOOM\_CREATE\_ZRA\_CONVERSATION instead (Zoom rebranded IQ to ZRA). | `ZOOM_CREATE_IQ_CONVERSATION` | | Create iq user conversation | DEPRECATED: Use ZOOM\_CREATE\_ZRA\_USER\_CONVERSATION instead (Zoom rebranded IQ to ZRA). | `ZOOM_CREATE_IQ_USER_CONVERSATION` | | Create zra conversation | Create a new conversation in Zoom Revenue Accelerator (ZRA). | `ZOOM_CREATE_ZRA_CONVERSATION` | | Create zra user conversation | Create a new conversation in Zoom Revenue Accelerator for a specific user. | `ZOOM_CREATE_ZRA_USER_CONVERSATION` | | Delete iq conversation | DEPRECATED: Use ZOOM\_DELETE\_ZRA\_CONVERSATION instead (Zoom rebranded IQ to ZRA). | `ZOOM_DELETE_IQ_CONVERSATION` | | Delete zra conversation | Deletes a ZRA (Zoom Revenue Accelerator) conversation by ID. | `ZOOM_DELETE_ZRA_CONVERSATION` | | Update iq conversation host | DEPRECATED: Use ZOOM\_UPDATE\_ZRA\_CONVERSATION\_HOST instead (Zoom rebranded IQ to ZRA). | `ZOOM_UPDATE_IQ_CONVERSATION_HOST` | | Update zra conversation host | Update the host of a Zoom Revenue Accelerator (ZRA) conversation. | `ZOOM_UPDATE_ZRA_CONVERSATION_HOST` | | Action | What it does | Slug | | - | - | - | | Create zra CRM deals | Bulk import or delete CRM deals in Zoom Revenue Accelerator (ZRA). | `ZOOM_CREATE_ZRA_CRM_DEALS` | | Action | What it does | Slug | | - | - | - | | Create whiteboard export | Creates an export task to generate PDF exports and audit logs for specified whiteboards. | `ZOOM_CREATE_WHITEBOARD_EXPORT` | | Action | What it does | Slug | | - | - | - | | Delete recording file | | `ZOOM_DELETE_RECORDING_FILE` | | Upload whiteboard file | Uploads a file to be used in Zoom Whiteboard. | `ZOOM_UPLOAD_WHITEBOARD_FILE` | | Action | What it does | Slug | | - | - | - | | Update classification label | Updates an existing classification label in Zoom Whiteboard. | `ZOOM_UPDATE_CLASSIFICATION_LABEL` | | Action | What it does | Slug | | - | - | - | | Create zra CRM leads | Bulk import CRM leads into Zoom Revenue Accelerator (ZRA). | `ZOOM_CREATE_ZRA_CRM_LEADS` | | Action | What it does | Slug | | - | - | - | | Create project | Creates a new whiteboard project in Zoom. | `ZOOM_CREATE_PROJECT` | | Delete project | Deletes a whiteboard project by its ID. | `ZOOM_DELETE_PROJECT` | | Update project | Updates the name of an existing whiteboard project in Zoom. | `ZOOM_UPDATE_PROJECT` | | Action | What it does | Slug | | - | - | - | | Delete meeting recordings | Deletes all cloud recordings for a meeting or webinar. | `ZOOM_DELETE_MEETING_RECORDINGS` | | Action | What it does | Slug | | - | - | - | | Create zra CRM settings | Register a new CRM API integration for Zoom Revenue Accelerator (ZRA). | `ZOOM_CREATE_ZRA_CRM_SETTINGS` | | Delete zra CRM settings | Deletes CRM settings for Zoom Revenue Accelerator (ZRA). | `ZOOM_DELETE_ZRA_CRM_SETTINGS` | | Update whiteboard share settings | Updates the sharing settings for a whiteboard, controlling who can access and edit the whiteboard. | `ZOOM_UPDATE_WHITEBOARD_SHARE_SETTINGS` | | Action | What it does | Slug | | - | - | - | | Apply classification to whiteboard | Applies or updates a classification label on a whiteboard. | `ZOOM_APPLY_CLASSIFICATION_TO_WHITEBOARD` | | Create whiteboard | Creates a new whiteboard for the authenticated user. | `ZOOM_CREATE_WHITEBOARD` | | Delete whiteboard | Deletes a whiteboard by its unique identifier. | `ZOOM_DELETE_WHITEBOARD` | | Import whiteboard | Initiates an import of a whiteboard from an external source (Miro, Mural, or Visio files). | `ZOOM_IMPORT_WHITEBOARD` | | Move whiteboards to project | Moves one or more whiteboards to a specified Zoom Whiteboard project. | `ZOOM_MOVE_WHITEBOARDS_TO_PROJECT` | | Remove whiteboard classification | Removes the classification label from a whiteboard. | `ZOOM_REMOVE_WHITEBOARD_CLASSIFICATION` | | Remove whiteboards from project | Removes one or more whiteboards from a specified Zoom Whiteboard project. | `ZOOM_REMOVE_WHITEBOARDS_FROM_PROJECT` | ## Connect Zoom Before you start: * You need a Zoom account that you can sign in to. * Your Squad subscription must be active. Squad does not connect apps while the subscription is not active. Click **Settings** at the bottom of the sidebar, then **Apps**. Under **Connected apps**, click the **Add integration** card. Find **Zoom** in the catalog and click it. You can type the name in **Search the catalog…**. Under **Default scope**, choose an access level. This level applies to every teammate. If other people are in your squad, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. Click **Connect Zoom**. The Zoom sign-in page opens in a new tab. Sign in to Zoom and approve the request. Check that it works: Zoom shows under **Your connections**, with a row for the account and its access level. ## Change the access level 1. Under **Your connections**, find the Zoom account. 2. Open the account menu (⋯) and click **Manage scope**. 3. Under **Default scope**, choose the new level. 4. Click **Save access**. The change does not need a new sign-in. Teammates get the new level from their next call. ## Set access for one teammate Every teammate uses the account's level unless you set something else for it. You can narrow one teammate to a lower level, or block it. Only you and your Administrators see **Per-teammate access**. 1. Under **Your connections**, open the account menu (⋯) on the Zoom account. 2. Click **Manage scope**. 3. Under **Per-teammate access**, find the teammate. 4. Choose the **Default** option to follow the account's level, choose any level of the app, or choose **No access**. 5. Click **Save access**. A teammate never gets more than the account's level, even if you choose a higher level for it. Changes apply from the teammate's next call. A teammate with **No access** does not see the account. ## Use more than one Zoom account Click **+ Account** on the Zoom card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. * After you click **+ Account**, follow the connect steps above. * Each account has its own access level. * The first account you connect becomes the primary account. It shows **Primary**. * To change the primary account, open the account menu (⋯) and click **Make primary**. Only you and the Administrators who can see every teammate can do this. * To tell accounts apart, open the account menu (⋯) and click **Rename**. * Each account is private to the person who connected it unless that person shares it. When other people are in your squad, connecting an account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). ## Reconnect or disconnect Reconnect when the connection has expired, or when you need to change what the account can reach on the Zoom side: 1. Open the account menu (⋯) and click **Reconnect**. 2. Click **Reauthorize on Zoom**. 3. Sign in to Zoom and approve the request. Reconnect signs in to the same account again. It does not add a second connection. Only the person who connected the account can reconnect it. Open the account menu (⋯) on the Zoom account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Zoom.** Click it again to disconnect. Teammates then lose access to that account at once. If it was the primary account, another connected Zoom account becomes primary. ## Costs Zoom actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs). ## Troubleshooting A teammate reports that an action is not allowed on this account. * Cause: the action is outside the account's access level, or outside the level you set for that teammate. * Fix: choose a higher level in **Manage scope**. You or an Administrator can also change the teammate's row under **Per-teammate access**. A teammate says it has no access to Zoom, or it does not see the account. * Cause: the teammate is set to **No access** under **Per-teammate access**, or the account is not connected. * Fix: you or an Administrator opens **Manage scope** and changes the teammate's row. If the account is missing, connect it again. Connecting or saving fails with "Your subscription isn't active." * Cause: your Squad subscription is not active. * Fix: resubscribe. See [Manage your subscription](/docs/billing). A teammate says the Zoom connection has expired. * Cause: the sign-in for that account is no longer valid. * Fix: use **Reconnect** on the account. ## Common questions Each Zoom account has an access level: **Read-only**, **Schedule meetings**, and **Full access**. Squad refuses any teammate action outside that level. You can also narrow or block single teammates under **Per-teammate access**. Click **+ Account** on the Zoom card to connect another account. Teammates try the primary account first unless they are asked to use a specific one. When other people are in your squad, a person's own accounts come before shared accounts. Open the account menu (⋯) on the Zoom account and click **Disconnect**. The menu item changes to **Really disconnect? Your teammates lose access to Zoom.** Click it again to disconnect. Teammates then lose access to that account at once. ## Related pages Use this when an action you need is not in this app. # Manage your subscription, credits, and workspace data Source: https://squad.so/docs/billing Change or cancel your subscription, buy seats and credits, export your data, and reset or delete your squad. This page is for the owner of a squad. It covers the **Billing** page: your subscription, seats for people, credit purchases, auto-recharge, the lock screen, more than one squad, and how to export, reset, or delete your squad. For what each charge pays for, see [What Squad costs and what uses credits](/docs/costs). Only the owner can open **Billing**. An Administrator, a Collaborator, or a Viewer does not see **Billing and usage** in Settings. The cards that teammates may pay with are in the **Wallet**, not on **Billing**. See [Let your teammates pay with your card](/docs/payment-cards). ## Open Billing Click **Settings** at the bottom of the sidebar, then **Billing and usage**. The **Billing** page opens. You can also press ⌘K (Ctrl+K on Windows) and select **Billing**. On a narrow window, the account menu also has **Billing**. From top to bottom, the page shows: 1. The plan: **Standard**, with **Active** or **Ending**, and when it renews 2. **Seats for people** 3. **Earn credit** 4. **Payment method** 5. **Monthly allowance** 6. **Research tools** 7. **Credits left** and **Used this cycle** 8. **Buy credits** and **Auto-recharge** 9. Your credit usage: **Usage by tool**, **Usage by teammate**, **Usage by task**, and **Recent credit usage** 10. **Credit cost per use** For the allowance, the research tools, and the usage cards, see [What Squad costs and what uses credits](/docs/costs). Under the plan, the page also says that bigger computers, with more storage and memory, are available. To ask for one, email [support@squad.so](mailto:support@squad.so). ## How you pay You pay for Squad at checkout, before your squad is built. Squad has no free trial. The plan renews each month. For the price, see [What Squad costs](/docs/costs). ## Change your payment method 1. Open **Settings** > **Billing and usage** > **Billing**. 2. On the **Payment method** card, select **Open portal**. 3. Change the card in the billing portal. The dashboard does not show your card details. The **Payment method** card says "Managed in your billing portal" and "Cards, invoices and plan changes live there." ## Manage your subscription Under the plan, select **Manage subscription**. The billing portal opens. You can see your subscription there and change your payment details. ## Cancel your subscription Open **Settings** > **Billing and usage** > **Billing**. Under the plan, select **Cancel subscription…**. In the dialog "Before you go, tell us why", type your reason. The reason must have at least 20 characters. Select **Cancel my subscription**. The cancellation takes effect at the end of your current billing period. Your squad keeps working until that date. After you cancel, the plan shows the tag **Ending** and the message "Your subscription is canceled." with the end date. It also says "After that date, your workspace and your teammates are scheduled for deletion." On that date, the workspace locks. See [What happens at the end date](#what-happens-at-the-end-date). The billing portal from **Manage subscription** can also cancel your subscription. The **Cancel subscription…** button on **Billing** does the same thing. ### Undo a cancellation Before the end date, you can keep your subscription. 1. Open **Settings** > **Billing and usage** > **Billing**. 2. Under the plan, select **Keep my subscription**. Your plan continues without a change. You cannot keep a subscription in these cases. The page then shows no **Keep my subscription** button and says why: * "Your subscription also has an unpaid invoice, so it cannot be kept until the invoice is settled. Use Manage subscription to bring it current." Pay the invoice in the billing portal first. Select **Manage subscription** to open it. * "This subscription has already been canceled, so it cannot be kept." Start a new subscription instead. ## What happens at the end date After the end date, your squad is locked and scheduled for deletion. * Your teammates stop working. * The email inboxes of your teammates are removed and stop receiving mail. * The dashboard shows only the lock screen. Export your data before the end date. After the deletion date, Squad can remove your data without more notice. For the steps, see [Export your data](#export-your-data). ## If a payment fails When a renewal payment fails, your squad keeps working for 7 days. During these 7 days, a banner at the top of the dashboard says **Your last payment did not go through.** It gives the date when the squad locks, and **Open billing** opens **Billing**. If the payment is still not made after 7 days: * Your squad locks. The lock screen shows "Payment past due". * The email inboxes of your teammates are removed. To fix a failed payment, select **Manage subscription** on **Billing** and update your payment method. On the lock screen, select **Renew subscription**. ## Use the lock screen The lock screen replaces the dashboard when your subscription is canceled, paused, or past due. Other people in your squad do not see it. They see "This workspace is paused", with the advice to ask you to reactivate the workspace, and **Sign out**. | Title | Main button | | - | - | | "Your subscription is canceled" | **Resubscribe** opens a new checkout | | "Your subscription is paused" | **Resume subscription** opens the billing portal | | "Payment past due" | **Renew subscription** opens the billing portal | The lock screen also has these buttons: | Button | What it does | | - | - | | **Already resubscribed? Refresh access** | Checks your subscription again and unlocks the workspace if it is active | | **Export workspace data** | Downloads your workspace data as a JSON file, named `missioncontrolhq-export-` and the date | | **Reset workspace** | Deletes your workspace data. Type the workspace's name in the field that opens, then select **Reset this workspace permanently**. **Keep this workspace** closes the field. While the reset runs, the button reads **Resetting…** and a checklist shows below it. When it finishes, the lock screen says "Workspace data deleted. Resubscribe to set it up again." The workspace stays locked until you resubscribe | | **Cancel subscription** | Opens the billing portal. Not shown when the subscription is already canceled | | **Sign out** | Signs you out | If you have other squads, the lock screen lists them under **Your other teams stay open**. Click **Open** followed by a squad's name to go to it. A canceled workspace also shows its deletion date: "Scheduled for deletion on" a date. After that date, the screen says "Past its deletion date: your data may be removed at any time." ## Buy credits Before you start, your subscription must be active. A locked workspace cannot buy credits. Open **Settings** > **Billing and usage** > **Billing**. On the **Buy credits** card, use **+** and **−** to set the number of packs. Select the buy button. Its label is **Buy ·** and the total price. Read the dialog. It shows the price and the number of credits. Select the pay button to confirm. Its label is **Pay**, the total price, and **now**. To stop, select **Cancel**. Squad charges the card on file for your subscription. You can buy from 1 to 20 packs in one purchase. Check that it works: the card shows "✓ Payment of \$\[amount] sent. \[credits] credits appear in your balance when it clears." with your numbers. The dialog says that this usually takes less than a minute. The **Credits left** tile then shows the new balance. If the card is declined, the card shows "Card declined — please update your card on file and try again." Update the card with **Open portal**, then try again. ## Turn on auto-recharge Open **Settings** > **Billing and usage** > **Billing**. On the **Auto-recharge** card, turn on the switch. In **When credits drop below**, type the balance that starts a purchase. In **Buy this many packs**, type the number of packs for each purchase. In **Never buy more than**, type the maximum number of packs for each month. The form saves your changes by itself. The card shows the maximum that auto-recharge can spend in a month. To turn auto-recharge off, turn off the switch. The card then says "Off. You'll need to top up manually when credits run low." ## Buy and release seats A seat lets one person join your squad. Each person you invited and each open invite uses one seat. The owner does not use one. Only the owner can buy or release seats, and only on **Billing**. For the price, see [Seats for people](/docs/costs#seats-for-people). The card **Seats for people** shows how many seats you have and how many are in use, for example "Seats for people: 3, 2 in use". Use **−** and **+** and the buy button to add seats, and the **Release** button, with the number of unused seats and the monthly saving, to release every unused seat. Each change asks you to confirm and shows how your subscription changes. For the steps, see [Buy seats](/docs/teammates#buy-seats) and [Release unused seats](/docs/teammates#release-unused-seats). ## Earn credit The **Earn credit** card sets your go.squad.so name. The "Built with Squad" button on your [public dashboard](/docs/sharing) then links with this name, so people who sign up from there count for you. 1. On **Earn credit**, type a name after `go.squad.so/`. 2. Select **Save**, or press Enter. The button shows **✓ Saved**. Squad saves the name in lowercase, with hyphens for spaces, and the field shows it as saved. To remove the name, clear the field and save. The card does not show what you earn. ## Export your data 1. Open **Settings** > **Squad** > **Backup**. 2. On the **Export squad** card, select **Export JSON**. Your browser downloads the file `mission-control-export.json`. The export includes: * Your squad's details * Your teammates: name, role, emoji, bio, and status * All tasks, with their comments * All docs * The run history: each run with its teammate, trigger, status, summary, error, model, cost, and start and end times * The latest 500 activity items * The latest 500 squad chat messages * Your contacts, with their emails and pipeline entries, their timelines, and your pipelines. See [Keep your contacts and pipelines](/docs/contacts). The export does not include: * Email messages * Memory * Skills * Projects * Settings, AI connections, and integration credentials * Payment cards and purchases * Activity and squad chat older than the latest 500 items The **Export squad** card says "Download every task, doc, email and setting as a single JSON file." The file does not contain email or settings. Keep your own copy of anything else that you need. ## Reset your workspace A reset deletes your teammates, tasks, questions, docs, chat, projects, contacts, pipelines, and settings. It also removes the email inboxes of your teammates and your custom email domain, and disconnects your connected apps. It erases your squad's memories. It also deletes your runs and usage history, your triggers and the events they received, your teammates' emails, your activity and notifications, and your connected devices and API keys. It unlinks the card vaults of the people in your squad and deletes the purchases. The cards stay in each person's card vault. It removes the people in your squad and open invites too, but your seats stay on your subscription until you release them. It then sends you back to setup, so that you can build a new squad. A reset does not cancel your subscription. It removes the inboxes from your subscription, so you no longer pay for them. You cannot undo a reset. Export your data first. Open **Settings** > **Squad** > **General**. In **Danger zone**, select **Reset squad…**. In the dialog "Reset" followed by your squad name, type the name in the field below "Type" followed by the name and "to confirm". Capital letters and extra spaces do not matter. Select **Reset squad**. While the reset runs, a checklist shows each step. Finished steps are checked and show their done label, for example "Chats deleted". The current step has a pulsing dot and ends with "…". On a step that deletes data, the current step also shows how many records it removed so far, for example "3,093 records removed". The count includes each item's history, so "Deleting teammates and their history" can count many records for a few teammates. The steps run in this order: | Step | When it is done | | - | - | | Shutting down the cloud computer | Cloud computer shut down | | Disconnecting Telegram and integrations | Telegram and integrations disconnected | | Erasing the teammates' memory | Teammates' memory erased | | Closing the teammates' email inboxes | Email inboxes closed | | Deleting teammates and their history | Teammates and their history deleted | | Deleting tasks and questions | Tasks and questions deleted | | Deleting chats | Chats deleted | | Deleting runs and usage history | Runs and usage history deleted | | Deleting triggers and what they received | Triggers deleted | | Deleting contacts and pipelines | Contacts and pipelines deleted | | Deleting documents and files | Documents and files deleted | | Deleting emails | Emails deleted | | Unlinking card vaults and deleting purchases | Card vaults unlinked and purchases deleted | | Deleting activity and notifications | Activity and notifications deleted | | Clearing settings, teammates, and devices | Settings, teammates, and devices cleared | | Preparing a fresh setup | Fresh setup ready | The **Settings** dialog, the lock screen, and the setup page all show this checklist. In **Settings**, the dialog shows "Resetting" followed by your squad name and stays open until the reset ends. It says that a big workspace takes a few minutes, and that the reset continues if you close the window. When you open **Settings**, the lock screen, or the setup page again during the reset, the checklist shows again. Check that it works: the message "Squad reset. Taking you to setup" appears, and the setup page opens. If the reset fails, or shows no progress for a while, the checklist closes. **Settings** says "The reset stopped before it finished. Click Reset squad again to finish it." Select **Reset squad…** again. The new reset finishes the work. For how long Squad waits, see [Limits and defaults](/docs/limits-and-defaults#setup-and-account). If a reset or a build is already running, Squad refuses the reset and tells you to wait a few minutes. A reset changes only the squad that is open. Your other squads stay as they are. Only the owner can reset a squad. Other people in the squad see **Leave squad** in **Danger zone** instead. ## Run more than one squad One account can own more than one squad. Each squad has its own subscription, teammates, computer, and billing. Click your squad's name at the top of the sidebar. Click **New squad team**. The row shows the monthly price. The checkout opens. Complete the checkout. The squad you are in stays open. When the payment is confirmed, the new squad shows in the switcher as **New squad**. Click it. Setup opens, and you build the squad the same way as your first one. See [Get started](/docs/get-started). To move between squads, click your squad's name and click the other squad. The switcher also lists the squads that other people shared with you, marked **Shared with you**. A person who owns no squad can start their own squad in the same way. Billing is separate for each squad. **Cancel subscription…** and **Keep my subscription** apply to the squad that is open. **Manage subscription** and **Open portal** open the billing portal for your account, not for one squad. For the plan price, see [What Squad costs](/docs/costs). ## Delete your workspace The dashboard cannot delete a squad. In **Settings** > **Squad** > **General** > **Danger zone**, the **Delete…** button next to **Delete squad** shows "Contact support to delete a squad". To delete your squad, email [support@squad.so](mailto:support@squad.so) from your account email. For how to write the request, see [Get help](/docs/getting-help). ## Get a refund Your first payment has a 7-day money-back guarantee. The rules are on the [Refund Policy](https://squad.so/refund) page: * The guarantee covers your first payment only. * To ask for a refund, email [support@squad.so](mailto:support@squad.so) from your account email within 7 days of subscribing. * The refund goes back to your original payment method, usually in 5 to 10 business days. * Your workspace closes when the refund is issued. * Renewals and credit purchases are not refundable. ## Check that it works * After a cancel, the plan shows **Ending** and the end date. * After **Keep my subscription**, the plan shows **Active** again. * After a seat purchase, **Seats for people** shows the new number of seats. * After a credit purchase, **Credits left** shows the higher balance. * After an export, you have the file `mission-control-export.json`. ## Troubleshooting **The Cancel my subscription button is gray.** Your reason is shorter than 20 characters. The dialog says "Please write at least 20 characters." Write a longer reason. **Keep my subscription does not show.** Your subscription has an unpaid invoice, or it is already canceled. The page says which. Pay the invoice with **Open portal** on the **Payment method** card, or start a new subscription. **New squad team shows an error.** Under the menu item, "The checkout for a new squad could not start. Try again in a moment." means the checkout did not start: try again later. "The payment window could not load. Turn off any ad blocker for this site and try again." means your browser blocked the payment window: turn off the ad blocker for squad.so and try again. **I resubscribed but the lock screen still shows.** Select **Already resubscribed? Refresh access**. If the screen stays, email [support@squad.so](mailto:support@squad.so). ### Messages when you cancel or keep your subscription | Message | Fix | | - | - | | "Please say a little more - at least 20 characters." | Write a longer reason. | | "Please shorten your reason - it can be up to 5,000 characters." | Write a shorter reason. | | "The cancellation could not be completed. Please try again, or use Manage subscription." | Try again, or cancel in the billing portal. | | "The cancellation could not be removed. Please try again, or use Manage subscription." | Try again, or select **Manage subscription** and keep the subscription in the billing portal. | ### Messages when you buy credits The message shows on the **Buy credits** card. | Message | Cause | Fix | | - | - | - | | "Pick between 1 and 20 packs per purchase." | You asked for more than 20 packs. The **+** button stops at 20. | Set 20 packs or fewer. Buy again for more. | | "Your subscription isn't active. Manage it from the billing page." | Your subscription is not active, or your workspace is locked. | Fix the subscription first. | | "No active subscription found. Please subscribe first." | Squad found no active subscription for your account. | Check your subscription in the billing portal. If it is active, email support. | | "Card declined — please update your card on file and try again." | Your card refused the charge. | Update the card with **Open portal**, then try again. | | "Something went wrong charging your card. Please try again." | The charge did not go through. | Try again. Check your balance first, so that you do not buy twice. | | "Credit packs aren't available right now." | Credit packs are not on sale at the moment. | Try again later. | ### Messages on the lock screen | Message | Cause | Fix | | - | - | - | | "No active subscription found yet. If you just paid, give it a moment and try again." | The new payment is not confirmed yet. | Wait a minute, then select **Already resubscribed? Refresh access** again. | | "This subscription was refunded, so it stays canceled. Subscribe again anytime to come back." | You got a refund, so the old subscription cannot come back. | Select **Resubscribe**. | | "Couldn't refresh access. Please contact support." | The check failed. | Email [support@squad.so](mailto:support@squad.so). | | "Couldn't start the checkout. Try again, or email [support@squad.so](mailto:support@squad.so)" or "Couldn't load the checkout. Try again, or email [support@squad.so](mailto:support@squad.so)" | The checkout did not open. | Reload the page and try again. | | "Could not open billing portal" or "Failed to open billing portal:" followed by a reason | The portal did not open. | Try again. | | "Export failed:" followed by a reason | The export did not finish. | Try again. | | "Workspace data deleted. Resubscribe to set it up again." | The reset worked. The workspace stays locked. | Select the main button of the lock screen to restore your subscription. Then build a new squad. | | "Reset failed:" followed by a reason | The reset did not finish. | Read the reason. For the common reasons, see [Fix setup problems](/docs/setup-troubles). | # April 2026 Source: https://squad.so/docs/changelog/2026-april ChatGPT, MiniMax, and Z.AI subscriptions with GPT-5.5 and a reasoning effort setting, document folders, and a Skill Management page. Your agents can now run on a ChatGPT, MiniMax, or Z.AI subscription, not only on Claude. Agents can sort documents into folders, and a new page shows the skills your agents use. ## New * You can now run your agents on OpenAI models with your ChatGPT subscription. Connect it on the setup page or in **Token Management**, then pick GPT-5.4, GPT-5.3 Codex, or GPT-5.3 Codex Spark in **Agent Configuration**. See [Connect your AI subscription](/docs/connect-your-ai). * You can now connect a MiniMax Coding Plan or a Z.AI GLM Coding Plan. The new models are MiniMax M2.7, MiniMax M2.7 Highspeed, GLM-5.1, GLM-5, and GLM-5 Turbo. The setup page now offers four providers: Claude, ChatGPT, MiniMax, and Z.AI. See [Connect your AI subscription](/docs/connect-your-ai). * GPT-5.5 is now available in **Agent Configuration** for workspaces connected with a ChatGPT subscription. See [Choose models and manage AI accounts](/docs/ai-accounts). * A new **Reasoning Effort** setting in **Agent Configuration** sets how hard your agents think. Leave it on **Auto (per-model default)** to let each model use its own default, or pick a level that applies to all agents. See [Choose models and manage AI accounts](/docs/ai-accounts#set-the-workspace-model-settings). * Your agents can now sort documents into folders. They can create, rename, and delete folders, give a folder an emoji, move many documents at once, and take all documents out of a folder. The documents panel groups documents by folder, opens a folder as a list, and gives each folder its own link. See [Find and manage your squad's docs](/docs/squad-docs#organize-docs-in-folders). * A new **Skill Management** page, in the profile menu, lists the skills your agents can use. Turn a skill on or off, and edit the name and description your agents see. When a skill needs settings that are missing, the page shows a message you can copy and send to your lead agent. See [Add and manage skills](/docs/skills). * Mermaid code blocks in documents and messages now show as diagrams. Click a diagram to open it full screen, then zoom and drag to move around. * You can now download a document as a Markdown file from the documents panel. See [Find and manage your squad's docs](/docs/squad-docs#export-a-doc). * You can now download all your workspace data as a JSON file with **Export my data** in the profile menu. See [Manage your subscription, credits, and workspace data](/docs/billing#export-your-data). * Agents now have 35 marketing skills, up from 23. The new skills cover ad creative, AI search, churn prevention, cold email, community marketing, content strategy, customer research, lead magnets, product marketing context, RevOps, sales enablement, and site architecture. ## Improved * The **Billing** page now has a **Cancel Subscription** button. Before you cancel, a dialog explains that your workspace data is scheduled for deletion and lets you export your data first. See [Manage your subscription, credits, and workspace data](/docs/billing#cancel-your-subscription). * Public dashboards now ask search engines not to index them. To let search engines find your page, turn on **Allow search engine indexing** in **Public Dashboard**. See [Share a read-only view of your workspace](/docs/sharing#let-search-engines-find-the-page). * You can now link a folder in comments and chat. Type # to see folders above documents. Folders also show in Cmd+K search. * Activity messages in the live feed and in the activity detail now show bold text, lists, and links. Agents now keep the headline short and put the details below it. * **My Queue** cards now show formatted text and @mentions instead of raw Markdown. * The documents panel now shows the total number of documents. * You can now remove your last Claude token in **Token Management** when your agents use another provider. ## Fixed * The documents panel now lists all your documents, on your dashboard and on your public dashboard. Before, it showed only the first 100. * Scheduled tasks and agents that your lead agent creates now use your workspace default model. Before, agents could copy a fixed Claude model into them, and those runs failed on workspaces that use only ChatGPT. * Heartbeats that your lead agent sets up for other agents now run separately for each agent. Before, they could all run in the lead agent's conversation. * Direct messages between agents now always show the right sender. # August 2026 Source: https://squad.so/docs/changelog/2026-august Live Squad chat and group chats, your own MCP servers, the Memory screen, skill packs, and a browser for every agent. Chat with your squad is now live: messages reach agents at once, and you can hold group chats. You can also add any MCP server, edit what your squad remembers on the Memory screen, turn on skill packs, and your agents got their own web browser. ## New * The Squad chat is now a live room. A message reaches every active agent at once, and an @mention narrows it to the agents you name. Replies show while the agent writes them. See [Use the Squad chat](/docs/chat#use-the-squad-chat). * You can start group chats with any agents of your squad. If you @mention another agent in a direct chat, the chat becomes a group chat with its recent history. Group chats show in the sidebar with the Squad chat pinned first, and you can rename, archive, and restore them. See [Start a group chat](/docs/chat#start-a-group-chat). * Add any MCP server from **Settings** > **Custom integrations** > **Add MCP server**. Paste the server's URL or the JSON config from its docs, and its tools become tools for your agents. You can also paste the config to an agent in chat. See [Add an MCP server or an API key](/docs/custom-integrations). * MCP servers that use a browser sign-in now connect with a sign-in window. There is no key to paste. Squad renews the sign-in for you when the server allows it. See [Add an MCP server](/docs/custom-integrations#add-an-mcp-server). * The Memory screen now works. Read and edit **About you**, each agent's **Notes**, **Personality**, and **Identity** files, and the squad files (**Company**, **Contacts**, **Glossary**, **Squad**, and **Voice**). Search, edit, or delete the memories your squad collected. A meter on **About you** and on each agent file shows how much of the file the agent reads in each run. See [Manage what your squad remembers](/docs/memory). * The new **Tools** screen in Settings shows every tool your agents can use, including the tools of your MCP servers. You can turn off research tool families and single tools of your MCP servers for the whole workspace. See [Turn tools on or off](/docs/custom-integrations#turn-tools-on-or-off). * Skill packs are on the Skills screen. Turn ready-made packs on or off, turn off single skills in a pack, or add a pack from a public GitHub repository. Agents can manage packs for you from chat too. See [Turn a skill pack on or off](/docs/skills#turn-a-skill-pack-on-or-off). * Each agent now has its own web browser. Agents open pages, take screenshots, click, and type. They can send you a screenshot in chat. * Agents can put cards in chat that you act on in place: pick an option, connect an app, add an MCP server, save a key to the vault, or answer a ticket. See [Answer chat cards](/docs/chat#answer-chat-cards). * Agents can now start a conversation with you in dashboard chat on their own, for example to report the result of a scheduled job. * New models: **Grok 4.6**, the new default for new Grok workspaces, and **GLM-5.3** and **GLM-5.3 Flash (Ox Alpha)** for Z.AI. **GLM-5.3 Flash (Ox Alpha)** is the new default for new Z.AI workspaces. See [Choose models and manage AI accounts](/docs/ai-accounts). * Reasoning effort has a new level, **Max (GPT-5.6 family)**, for the GPT-5.6 models. Your reasoning effort setting now also applies to runs on a ChatGPT subscription. Before, those runs ignored it. See [Set the workspace model settings](/docs/ai-accounts#set-the-workspace-model-settings). ## Improved * Your own email domain now has its own screen: **Settings** > **Email Domains**. It shows the DNS records to add, the status of each record, and a button to check again. See [Connect your own domain](/docs/email#connect-your-own-domain). * Telegram is no longer part of setup. You pick your AI provider and launch. You can connect a Telegram bot later in Settings. See [Connect Telegram](/docs/telegram). * A message that you send while the agent is busy now shows **QUEUED**. Select **Steer now** to hand it to the run in progress. See [Send a message while the agent is busy](/docs/chat#send-a-message-while-the-agent-is-busy). * Long runs no longer stop because of a time limit. Squad now stops a run only when it shows no progress for 15 minutes, and the run says why it stopped. See [Time limits](/docs/agent-stuck#time-limits). * A run's detail now shows the **Reasoning** level the run actually used. See [See what your agents did](/docs/runs-and-health). * You can now name your threads and drag the side panels to make them wider or narrower. The mission board scrolls sideways instead of squeezing its columns. * Hover over an agent in the sidebar and select the message button to open a direct chat with it. * The thread list loads older conversations with **Show older conversations**, so a busy conversation no longer hides the others. Long threads load more with **Show earlier replies**. * In the home composer, type `/` to pick a skill. * You can now turn off the **Deliverable ready** email. It is off by default, and the in-app notification stays on. See [Choose your notifications](/docs/notifications). * When a run fails, for example because your AI connection expired, the chat now shows the real reason and a button to reconnect. A turn that ended without a reply shows a short notice with **↻ Ask again**. * Agents now click buttons and links by their visible name, so their clicks land on the right control. They can also take a screenshot of a whole page, and they close cookie banners with the most private choice before they take screenshots. * A skill pack now turns on even when one of its skills has the same name as a skill your squad already has. The clashing skills in the pack stay off. * The Tools screen shows how many MCP tools are on and off. * When you save Telegram or Discord bot settings, Squad now checks that the change took effect. If it cannot confirm it yet, you see a warning. * When an MCP server gives a sign-in that expires and cannot renew, Squad now connects it and tells you when it expires. Before, the connection was refused. * Tables in chat, missions, and docs now scroll sideways instead of breaking words into single letters. * The dashboard now calls your lead agent the AI Chief of Staff. * On the Email screen, the **Compose** button reads **Create inbox** when no agent has an inbox yet, and it opens inbox creation. ## Fixed * Grok and ChatGPT connections no longer expire on busy agents. The **AI Tokens** card now shows an expired connection even when only some agents have it. * MCP servers with more than 64 tools now give your agents all of their tools. * Long emails no longer arrive empty for your agents. * Skills that your squad wrote show their name and description on the Skills screen again. * The Squad chat always shows in the sidebar, also before its first message. * The first message of a long thread now shows as the thread's start, even when the thread has many replies. * Agents' skills reach every run again. Before, a long list of skills cut some of them off. * New workspaces finish setup again. A problem in mid-August stopped some of them. It was fixed on August 19. * Chat headers no longer break agent names into a vertical column when the window is narrow. * Two-word @mentions, for example of an agent with a first and last name, now show as one mention. # February 2026 Source: https://squad.so/docs/changelog/2026-february Squad's first release: a lead agent on Telegram that builds your squad, a dashboard with a tasks board, Squad Chat, and docs, and Claude Sonnet 4.6 as the default model. Squad's first release opened as early access in February. You connect your own Telegram bot and your Claude subscription, your lead agent interviews you and builds a squad of AI agents, and you follow their work in the dashboard. ## New * Join Squad through early access. You sign up with your email and confirm it with a code. If you forget your password, you can reset it with a code sent by email. * Set up your squad on one page. You paste your Telegram bot token from BotFather and your Telegram user ID, then connect Claude with a setup token from your Claude subscription. Squad prepares your squad's computer and shows each setup step as it runs. If setup gets stuck, select **Reset Workspace & Try Again**. See [Get started](/docs/get-started) and [Connect your AI subscription](/docs/connect-your-ai#connect-during-setup). * After setup, a welcome screen sends you to Telegram. Your lead agent introduces itself, asks about your business and goals, and then creates specialist agents for your needs, for example a content writer or an SEO analyst. * Talk to your lead agent in your own Telegram bot. Ask it for work, give feedback, or tell it to pause or resume agents. See [Connect Telegram](/docs/telegram). * Your lead agent adds, changes, and removes the agents in your squad. Each agent has its own role, instructions, and memory, and wakes up on a heartbeat to check its work. Heartbeats are staggered so that agents do not all wake at the same time. * Open an agent's profile from the dashboard to see its status, level, and bio, with **Attention**, **Timeline**, and **Files** tabs. Select **Pause** on the profile to stop one agent, or **PAUSE** in the header to stop the whole squad. See [Pause an agent](/docs/agents#pause-an-agent). * Track work on the tasks board. Tasks move through Inbox, Assigned, In Progress, Review, Waiting, and Done, and each has a priority from Low to Urgent. Select **New** to create a task, filter the board by status, and show or hide archived tasks. See [Track work on the Missions board](/docs/missions). * When an agent needs you, it moves the task to Waiting and says what it needs and why. Open a task to read its description, comments, timeline, and linked documents. In a comment, type `@` to mention an agent or `#` to link a doc. * Open **Squad Chat** from the header to read what your agents say to each other and to send messages to the whole squad. Use @mentions to reach one agent. See [Use the Squad chat](/docs/chat#use-the-squad-chat). * Read your agents' deliverables in **Docs**. Expand a document to full view, or select **Download as PDF**. See [Find and manage your squad's docs](/docs/squad-docs). * Follow your squad in the live activity feed. Filter it by **Tasks**, **Comments**, **Docs**, **Status**, or **Decisions**, and select an item to open it. * Agents come with built-in marketing skills, for example copywriting, copy editing, SEO audits, page conversion, paid ads, and launch strategy. Agents can also search the web. * Give an agent an API key for another tool in Telegram. The agent stores it in your workspace and uses it for later work. * **Usage & Costs** shows your squad's AI usage today, this week, and this month, daily usage for the last 7 days, and usage by model. **Budget Enforcement** blocks agent runs when usage reaches a limit that you set. (Both later retired.) * **Memory** shows a graph of what your squad remembers (later retired). * **Billing & Subscription** shows the state of your subscription. Select **Manage Subscription** to open the billing portal. See [Manage your subscription](/docs/billing#manage-your-subscription). * Select **Help** in the header to open a built-in guide to setup, tasks, heartbeats, pausing, and web search. **What's new** shows recent product changes, with a badge for unread items. * The dashboard works on a phone, with separate tabs for tasks and the activity feed. * Claude Opus 4.6 is available as a model for your squad. ## Improved * Claude Sonnet 4.6 is now the default model. Before, squads ran on Claude Opus 4.5. See [Choose models and manage AI accounts](/docs/ai-accounts). * Agents now get @mentions in Squad Chat and in task comments right away, instead of at their next heartbeat. * Each dashboard view now has its own address, and filters stay in the address. You can bookmark or share a link to a task, an agent, or a document, and the browser back button works. * The tasks board now shows a Blocked column, and task cards show the priority. * When you select a comment in the activity feed, the task opens and scrolls to that comment. ## Fixed * **PAUSE** in the header and **Pause** on an agent's profile now stop the agents' scheduled heartbeats. Before, paused agents could still wake up. * Agents no longer see the same mentions and alerts again on every heartbeat. * Setup no longer fails when a pasted bot token or Claude token has extra spaces. # July 2026 Source: https://squad.so/docs/changelog/2026-july A redesigned dashboard with tickets, many new AI subscriptions including Claude Code, Discord and multiple Telegram bots, and a new Scheduled screen. The dashboard has a new design, and everything your squad needs from you now arrives as a ticket. You can now run agents on many more AI subscriptions, including Claude Code, talk to agents on Discord and on more than one Telegram bot, and manage recurring work on a new Scheduled screen. ## New * The dashboard has a new design. The board is built around missions, the Live Feed shows what your squad does, each run has a timeline, and you can chat with any agent directly. The same screens work on your phone. Links to the old dashboard open the matching new screen. See [What Squad is and how it works](/docs/what-squad-is#a-tour-of-the-dashboard). * When an agent needs something that only you can give, it now opens a ticket with typed asks: a decision, an approval, a fact, access, or an action. Tickets collect in **My Tickets**. Answer in place, and the mission continues when the last ask is answered. See [Answer tickets in My Tickets](/docs/tickets). * A new Health screen collects today's run problems in one place. Other screens show a short link to it instead of error blocks. See [Check today's problems on Health](/docs/runs-and-health#check-todays-problems-on-health). * You can now run agents on your Claude subscription through Claude Code. Connect the **Claude Code** card in AI Tokens with a token from `claude setup-token`. Agents on Claude Code have the same Squad tools, skills, and run reporting as other agents, and several of them can work at the same time. See [Connect your AI subscription](/docs/connect-your-ai). * You can now connect a SuperGrok or X Premium subscription with **Sign in with Grok**. Agents can run Grok 4.5, Grok Build 0.1, and Grok 4.3, with no API key. See [Connect your AI subscription](/docs/connect-your-ai#providers-and-what-they-bill). * You can now use **Sign in with Google** to run agents on Gemini 3 Pro, Gemini 3 Flash, or Gemini 2.5 Pro, and **Sign in with GitHub** to use a GitHub Copilot plan. With Copilot, the model pickers show only the models that your plan includes. See [Connect your AI subscription](/docs/connect-your-ai#providers-and-what-they-bill). * You can now connect an OpenRouter key and pick models from many vendors, billed to your OpenRouter balance. See [Connect your AI subscription](/docs/connect-your-ai#providers-and-what-they-bill). * You can now connect a Qwen Cloud Token plan or Coding plan with its API key. On a Token plan, agents can run Qwen 3.8 Max, Qwen 3.7 Max, Qwen 3.7 Plus, Qwen 3.6 Flash, DeepSeek V4 Pro, and GLM-5.2. On a Coding plan, they can run Qwen 3.7 Plus, Qwen 3.6 Plus, and Qwen3 Coder Plus. Connecting checks your key with a real call. See [Connect your AI subscription](/docs/connect-your-ai#providers-and-what-they-bill). * You can now connect a kimi.com subscription with a Kimi Code key and run Kimi K3, Kimi K2.7 Coding, or Kimi K2.7 Highspeed. See [Connect your AI subscription](/docs/connect-your-ai#providers-and-what-they-bill). * New models: Claude Fable 5, Claude Sonnet 5, Claude Opus 4.8, and the GPT-5.6 family (Sol, Terra, and Luna). New workspaces that connect ChatGPT now start on GPT-5.6 Sol. See [Choose models and manage AI accounts](/docs/ai-accounts#choose-the-default-model-and-fallback-models). * New model: MiniMax M3, for workspaces with a MiniMax subscription. MiniMax M2.7 stays available. * New model: Claude Opus 5, for both Claude and Claude Code. New workspaces that connect Claude or Claude Code now start on Opus 5. Existing workspaces keep their models. * You can now connect Discord bots. Each bot answers as the agent you choose and accepts direct messages from the people on its list. With **Answer in server channels** on, it also answers @mentions in servers that it is invited to. Each bot card shows whether the bot is online and keeps its invite link. See [Connect Discord](/docs/discord). * You can now connect more than one Telegram bot. Each extra bot answers as the agent you choose, and only the Telegram user IDs on its list can message it. Bots work in forum topics, and **Answer in group chats** lets a bot answer in groups. See [Add an extra bot](/docs/telegram#add-an-extra-bot). * A new **Scheduled** screen in the sidebar lists all recurring tasks. It shows what runs next, has list and week views, and warns about tasks that need a fix. From a row you can run the task now, pause it, edit it, duplicate it, give it to another agent, or delete it. Scheduled tasks in Agent Configuration also get a **Run now** button. See [Manage tasks on the Scheduled screen](/docs/scheduled#manage-routines). * The Integrations catalog has a new **Recommended** category with SiteGPT, Revid, PostSyncer, and Bazzly. Connect one with its API key or token, or sign in for SiteGPT. Every agent then gets that app's tools. See [Recommended apps](/docs/integrations#recommended-apps). * Agents have new research tools: people search and contact enrichment for leads, local businesses and their reviews, keyword and backlink research, live rank checks, page and Lighthouse audits, website technology lookups, Trustpilot, Tripadvisor, App Store, and Google Play reviews, brand mentions in AI answers, and Meta ads. See [Research tools reference](/docs/research-tools#leads). * Agents can now attach files to app actions, for example an image in a LinkedIn post or an attachment in Gmail or Slack. Any file type works when the action accepts files, up to 20 MiB. * Agents can now post videos to LinkedIn. They can also turn a file on your squad's computer into a short-lived link for actions that take a media URL. * The board's right rail now has a chat tab with your full conversations beside your missions. **Chat about it** in a mission card's menu opens the rail with that mission attached. See [Use the card menu](/docs/missions#use-the-card-menu). * A conversation that you open in full-screen chat now stays open as a right rail on every screen until you close it. On an agent's profile, the conversation shows beside the profile. See [Where a conversation opens](/docs/chat#where-a-conversation-opens). * Agents can now close a ticket for you when you answer its question in chat, on Telegram, or by email. The agent must quote your words, and for approvals you get a receipt. Agents can also withdraw asks that they opened. See [What agents can do with tickets](/docs/tickets#what-teammates-can-do-with-questions). * **Clear all** in **My Tickets** closes every open ticket at once. Choose **Archive missions too** or **Keep missions on the board**. When you ask in chat, agents can also clear all tickets and archive their missions. See [Clear all open tickets](/docs/tickets#clear-all-open-questions). * You can now delete an agent's inbox with **Delete this inbox** in its email settings. The address and its history are deleted. Before, the only way was to remove the agent. See [Delete an inbox](/docs/email#delete-an-inbox). * A run's detail now shows the skills that the agent loaded for that run. See [Read a run's detail](/docs/runs-and-health#read-a-runs-detail). * Every agent now has the No AI slop writing skill, and seven new marketing skills: marketing council, marketing loops, marketing plan, offers, prospecting, public relations, and SMS. ## Improved * When you answer a ticket, the agent now gets your answers right away, word for word. The mission thread shows the asks and your answers. * A ticket can no longer move a finished mission back to waiting on you. Comments from the mission's owner now count as progress, so an active mission no longer shows as stuck. See [Stuck missions](/docs/missions#stuck-tasks). * Assigning a mission to an agent now wakes that agent right away. Nudges and @mentions no longer wait in line behind scheduled runs. * A nudge now asks the agent to finish the work, not to reply with a status. * Agents now post short live statuses while they work and write fewer comments. An agent that waits on you opens a ticket instead of waiting in silence, and agents no longer @mention each other only to say thanks. * When your AI provider limits your agents' requests, a banner in the workspace and a badge in AI Tokens now say so. When an AI connection expires, failed chat replies say so and show a **Reconnect** button. See [An expired AI connection](/docs/agent-stuck#an-expired-ai-connection). * A scheduled run that fails because of a short problem at the model provider now resumes by itself a few minutes later. The run then says that it resumed automatically, and it no longer counts as a failure. See [Know when Squad resumes a failed scheduled run](/docs/runs-and-health#know-when-squad-resumes-a-failed-scheduled-run). * An agent's reply that comes in several parts now shows as separate chat messages. When an agent restarts, the chat shows it. * When an agent finishes a chat request as a mission or a doc without writing a reply, the chat now shows a card that opens the mission or the doc, not an error. * Chat no longer restarts your agents when the connection drops during a long reply. The chat says that the connection dropped and that the agent may still be finishing. * Every message box now takes files that you drag in or paste. A message that you have not sent stays when you leave the conversation and come back. See [Attach files](/docs/chat#attach-files). * Run rows now name the exact action, for example the app and the action an agent used. Runs with an error show as errors. You can filter runs by one scheduled task. * On an agent's profile, statuses about the same mission, doc, email, or conversation are joined, and each status links to the chat thread behind it. * In Agent Configuration, the model pickers for one agent, a scheduled task, and the heartbeat now offer only your allowed models. A model that is pinned but no longer allowed shows as "(not in allowed models)". See [Pin a model for one agent](/docs/ai-accounts#pin-a-model-for-one-agent). * Agent Configuration now waits until your agents run on the new settings before it shows that a save worked. If you leave with changes that are not saved, it asks you to save or discard them. * Agent Configuration now lists agents that are on your squad's computer but not in your squad. * A skill's page now shows the skill's real instructions. "Built by" shows only when the agent that built the skill is known, and **Fix with an agent…** asks which agent should fix it when it is not. See [Manage your squad's own skills](/docs/skills#manage-your-squads-own-skills). * The primary model can no longer be picked as its own fallback. * Notifications about a failed run are now off by default. Emails about mail that arrives in an agent's inbox are also off by default, under **Agent inbox mail**. You can turn both on in your notification settings. See [Choose what reaches you](/docs/notifications#choose-what-reaches-you). * When connecting an app fails, you now see the reason. **Reconnect** on a connected app now signs in that same account again instead of adding a copy. The connect window links to the app's manual. See [Connect apps](/docs/integrations). * **Waiting without a ticket** in **My Tickets** now has a **Clear all** button that moves those missions to Archived. See [Handle missions waiting without a ticket](/docs/tickets#handle-tasks-that-wait-with-nothing-asked). * Agents can now change, send, or discard an email draft that they wrote, so a revised reply replaces the old draft. See [Review drafts](/docs/email#review-drafts). * The email reader now shows the sender, the recipients, cc, bcc, and the exact time of each email. * Recent credit usage now names the agent that spent the credits, and shows spending and additions as signed amounts. * The setup page now offers all AI providers. After setup, a welcome message offers a button to chat with your lead agent. * The public read-only view of your workspace now uses the new design. Squad chat stays private. See [Share a read-only view of your workspace](/docs/sharing). * After you resubscribe from the lock screen, the dashboard now unlocks by itself when you come back from checkout. See [Use the lock screen](/docs/billing#use-the-lock-screen). * Changes to an agent's files, like its SOUL.md or MEMORY.md, now apply on the agent's next turn in the same conversation. See [Edit a file](/docs/memory#edit-a-file). ## Fixed * Scheduled tasks that could never run, because heartbeats were off, now show **NEVER RUNS**. **Fix all** converts them so that they run, and turns off the unused heartbeats. See [Fix the health warnings](/docs/scheduled#fix-the-health-warnings). * Choosing a write access level for a connected app now saves. Before, the level stayed read-only while the screen showed the new level. See [Choose an access level](/docs/integrations#choose-an-access-level). * A new agent now gets its first assignments and nudges. Before, they could go to the lead agent instead. * Archiving or trashing one ticket now lasts after you reload the page. * In Agent Configuration, the model that you pick for one agent now saves. A save no longer shows success when nothing changed. * Runs no longer stay running after the agent replied, and runs started by a nudge or an @mention no longer show as heartbeats. * In AI Tokens, **Replace** now replaces the account that you clicked, and adding an account no longer overwrites another one. * Claude Code turns that continue a conversation now use the model that you picked. * The auto-recharge switch now shows off for workspaces that never turned it on. See [Turn on auto-recharge](/docs/billing#turn-on-auto-recharge). * The search boxes on the Integrations screen now work. * The board, **My Tickets**, Archived, and Trash scroll again on phones. Long text no longer makes screens wider than a phone. * Translating the page with Chrome no longer breaks doc screens. # June 2026 Source: https://squad.so/docs/changelog/2026-june Fallback models, the GLM-5.2 model, scheduled emails, email allow and block lists, and a lock screen for inactive subscriptions. Your agents can now switch to backup models when the main model fails, and they can schedule emails and follow allow and block lists. The missions board now loads and searches all of your missions, however many you have. ## New * You can now set **Fallback Models** in Agent Configuration. When the main model is unavailable, for example because its sign-in expired or it hit a rate limit, agents try the next model in the list. Set one list for the workspace, or give an agent its own list. See [Choose the default model and fallback models](/docs/ai-accounts#choose-the-default-model-and-fallback-models). * GLM-5.2 from Z.AI is now available in the model picker. New Z.AI workspaces use it as the default model. See [Connect your AI subscription](/docs/connect-your-ai). * Agents can now schedule an email to send later. Scheduled emails show in a **Scheduled** tab in Email, with a live countdown and a **Cancel** button. See [Cancel a scheduled send](/docs/email#cancel-a-scheduled-send). * You can now set allow and block lists for email, by address or by whole domain, for incoming mail, outgoing mail, and replies. Set them for the whole workspace or for one agent's inbox on the new **Rules & lists** page. Agents can manage the lists of their own inbox. See [Set allow and block rules](/docs/email#set-allow-and-block-rules). * The Timeline now records each call that an agent makes to its Squad tools, with the request and the response. Tool calls show in the **Schedule** view, and the **Tool calls** filter shows or hides them. See [Find a run](/docs/runs-and-health#find-a-run). * You can now set the order of your ChatGPT, MiniMax, and Z.AI accounts, as you already could for Claude. Agents use the accounts in that order. See [Set the order in which accounts are used](/docs/ai-accounts#set-the-order-in-which-accounts-are-used). * Your workspace now locks when your subscription is canceled or paused, or when a payment is more than 7 days past due. A scheduled cancellation locks the workspace when the paid period ends. The lock screen lets you renew, resume, or resubscribe, export your data, or reset the workspace. See [Use the lock screen](/docs/billing#use-the-lock-screen). ## Improved * The missions board now loads in pages, and long columns have a **Show more** button. Search now looks through all of your missions, not only the ones on screen. See [Search and keyboard shortcuts](/docs/search). * Agent Configuration now shows whether each agent's built-in heartbeat is really on. A heartbeat that runs by default shows **On by default**, and the page recommends scheduled tasks instead. The built-in heartbeat is now off in new workspaces, and in moved workspaces that never set it. See [Turn on heartbeats](/docs/scheduled#turn-on-heartbeats). * Saving an agent's model in Agent Configuration is now faster. The agent cards now show each agent's role and the model it really uses. * Draft and escalation counts in the sidebar now match the counts in Email, and each agent shows both counts. Dismissing an escalation now clears the whole thread, with an undo. When you approve a draft or reply yourself, the thread's escalations clear. See [Handle escalations](/docs/email#handle-escalations). * The Timeline no longer shows an estimated cost for each run. It shows tokens and the model instead. * Agents can now list archived docs, so they can clean them up in bulk. * A paying customer who has no workspace yet can now open **Manage subscription** from the setup page. ## Fixed * The missions board now loads in workspaces with a very large number of missions. * The docs panel now loads in workspaces with many large docs. The Timeline no longer fails to load when it has many research results. * Resetting a large workspace no longer stops partway. * Scheduled tasks that are created or renamed while an agent runs now show their own name on the Timeline. Before, their runs could show as "main heartbeat". * The **Image Model** picker no longer hides models that can read images. * Opening one agent in Agent Configuration no longer jumps back to the view of all agents. * The **Open Agent Configuration** links in the in-app changelog now open the right page. # March 2026 Source: https://squad.so/docs/changelog/2026-march Agent Configuration for models, heartbeats, and scheduled tasks, a redesigned dashboard with My Queue, notifications by bell and email, and the GOD View run timeline. You can now choose your agents' models and edit heartbeats and scheduled tasks from the dashboard. The dashboard has a new light design with My Queue, a notification bell with emails, a shareable public view, search, and a timeline of every agent run. ## New * You can now choose which AI models your agents use in **Agent Configuration**, in the profile menu. Turn models on or off, set the workspace default model and an image model for pictures, and give one agent its own model. If a model you picked is no longer available, you see a warning wherever it is used, and you cannot save until you fix it. See [Settings reference](/docs/settings#teammates). * You can now manage heartbeats in **Agent Configuration**. Set the interval, the model, the **Heartbeat instructions**, and whether the result is sent to you (**Send to channel**) or not (**Run quietly**), for the whole workspace or for one agent. See [Schedule recurring work](/docs/scheduled#turn-on-heartbeats). * You can now edit scheduled tasks in **Agent Configuration**. Change the name, the schedule, the instructions, the agent, the model, and the notification setting. Schedules show in plain words, and **Disable all** turns off every scheduled task at once. See [Schedule recurring work](/docs/scheduled). * Scheduled tasks can now run one time with the **Once at** option. Pick a date and time, and the task runs once. You can also set a timeout for each scheduled task (the timeout field was later retired). * A new **Token Management** page, in the profile menu, lets you add, edit, remove, and reorder your Claude tokens, and sync them to all agents. Today this page is **AI Tokens**. See [Connect your AI subscription](/docs/connect-your-ai). * **My Queue** is a new board for work your agents hand to you, next to **Squad Missions**. Cards move through **NEEDS ATTENTION**, **IN PROGRESS**, and **DONE**, and you can drag them between columns or switch to a list. Agents can now add items to your queue themselves. (later retired) * A notification bell in the header now shows your unread @mentions, thread updates, finished tasks, and deliverables. Click a notification to open the task. See [Choose your notifications](/docs/notifications#use-the-bell). * You now get emails for @mentions and new deliverable documents. In the bell, you can also turn on emails for **Thread updates** and **Task completed**. See [Choose your notifications](/docs/notifications). * You can now follow a task or an activity with **Subscribe**. You are subscribed when you are assigned, comment, or are @mentioned, and avatars show who follows the thread. Agents can subscribe to threads too. See [Track work on the Missions board](/docs/missions#the-details-column). * You can now share a read-only view of your dashboard with a link. Turn it on in **Public Dashboard** in the profile menu. Visitors see tasks, comments, documents, squad chat, the activity feed, and agent profiles. Billing, costs, token settings, and your account details stay private. See [Share a read-only view of your workspace](/docs/sharing). * Press Cmd+K or Ctrl+K to search tasks, documents, and agents from anywhere in the dashboard. Results show the matching text, and opening a result highlights it. See [Search and keyboard shortcuts](/docs/search#command-palette). * **GOD View** is a full-screen timeline of your agents' runs, with Day, Week, Month, and Schedule views. It shows past runs, runs in progress, and upcoming scheduled runs. Click a run to see its summary, model, tokens, and errors. Open it from the header or press G. See [See what your agents did](/docs/runs-and-health). * Tags now show as filters on the task board. Select a tag to see only tasks with that tag. Agents can now change the tags of a task too. * Your agents now learn about new Squad features on their own. When something changes, they read the update and confirm it before they continue their work. * You can now restart your agents with **Restart Gateway** in the profile menu. Work that is in progress finishes first. (later retired) ## Improved * The dashboard has a new light design. The agents panel and the live feed panel collapse to give the board more room, and documents open in a wider reader. * Task and document IDs in comments now show as links with the title. Click one to open the task or document. * @mentions now match an agent by its handle, its full name, or its first name, so fewer mentions are missed. * Squad chat now suggests agent names when you type @. Names with more than one word work too. * On a phone, the dashboard now opens on the live feed, with tabs to switch between **Live Feed** and **Tasks**. GOD View also fits small screens. * The Help Center now has guides for **Agent Configuration** and **Token Management**, and it works on phones. ## Fixed * Agents no longer go offline for a short time when a setting change is applied. Restarts now let active work finish first. * **Send to channel** on scheduled tasks now sends the result to your Telegram chat. Before, it failed without an error. * If your workspace is paused or canceled, you now reach your dashboard. Before, you could be stuck on the setup page. * Checkout now tells you when your email already has an active subscription, so you are not charged twice. If you sign in with no subscription, the page explains what to do if you paid with another email. * Runs that never reported an end no longer show as running forever in GOD View. After 30 minutes they show as timed out. * **Budget Enforcement** on **Usage & Costs** now blocks agent runs when the limit is reached, and a monthly limit now follows your billing period. The period is weekly or monthly. The daily option was removed. (later retired) * An @all mention in squad chat now shows each agent in the notification bell, and mentions in your own messages are readable again. # May 2026 Source: https://squad.so/docs/changelog/2026-may Email inboxes for your agents, built-in research tools, 72 connected apps with access levels, and a rebuilt dashboard. Each agent can now have its own email inbox, and your agents can research the web and work in your connected apps. The dashboard was rebuilt around a sidebar of agents, with new Chat, Email, Docs, and Timeline screens. ## New * You can now give each agent its own email address. Brief the agent in chat on how to handle its mail, for example "draft replies for me to review, escalate refunds to me". You see every inbox in one place, approve or discard the agent's drafts, and answer its escalations. You can also set a signature and a daily send cap, pause an inbox, and send from your own domain. See [Give an agent an email inbox](/docs/email). * Agents now have built-in research tools. They can search Google and Google News, read and screenshot web pages, and pull data from X, YouTube, LinkedIn, Reddit, Instagram, TikTok, Bluesky, Hacker News, Product Hunt, and GitHub. You do not need your own accounts or API keys. The tools use credits, and the header shows your credit balance. See [Research tools reference](/docs/research-tools). * You can now connect 72 apps, such as Gmail, Slack, Notion, GitHub, HubSpot, and Google Drive, from the new **Integrations** page. Click **Connect** and sign in, and your agents can read and act in that app. See [Connect apps](/docs/integrations). * You can now connect more than one account of the same app, for example two Gmail accounts. Each account has its own name, and you choose which one is primary. See [Connect more than one account](/docs/integrations#connect-more-than-one-account). * You can now choose an access level for each connected account: read-only, read and write, or full access. You can also limit a single agent to a lower level or block it. Blocked actions show in **GOD View**. See [Choose an access level](/docs/integrations#choose-an-access-level). * You can now chat with any agent inside the dashboard. Hover an agent in the sidebar and click the chat icon. Each agent has its own conversation, which you can reset. **Chat** in the top bar opens your lead agent first, with the **Squad** chat as another tab. See [Chat with your agents](/docs/chat). * A new **Secrets** page shows the API keys and other credentials that your agents use. You can add, edit, and delete them yourself, and your agents see the changes. See [Add a custom integration with an API key](/docs/custom-integrations#add-a-custom-integration-with-an-api-key). * You can now edit a document from the dashboard and archive or restore it instead of deleting it. Docs that are new or changed since you last read them show a dot. Agents can archive docs too. See [Find and manage your squad's docs](/docs/squad-docs). * You can now tag skills in **Skill Management** and filter the list by tag. Your lead agent can tag skills too. See [Add and manage skills](/docs/skills). * **Agent Configuration** has a new **Default Timeout** setting (later retired). It sets how long an agent run can take before it stops. A scheduled task can still set its own limit. * The missions board has a new list view next to the board view. * On the **Billing** page you can now buy several credit packs at once, and turn on auto-recharge with a monthly cap. A **By task** breakdown shows which missions used the most credits. See [Buy credits](/docs/billing#buy-credits) and [Turn on auto-recharge](/docs/billing#turn-on-auto-recharge). ## Improved * The dashboard is rebuilt. A sidebar lists your agents, and the top bar has **Chat**, **Email**, **Docs**, **Timeline**, and **Help**. **GOD View** is now **Timeline**, the help guide is a full page, and **My Queue** is now **My Tasks**. The agent that you select in the sidebar carries across Chat, Email, Timeline, and Agent Configuration. * **Agent Configuration** is rebuilt around the sidebar. Without an agent selected, it shows the workspace defaults and a card for each agent. Select an agent to see its model, scheduled tasks, and heartbeat on one page. Allowed models now show as pills that you click to turn on or off, and a model that is not allowed is marked in red. See [Choose models and manage AI accounts](/docs/ai-accounts). * The scheduled task editor is redesigned, with each setting on its own row. You can now delete a scheduled task from the editor. * New ChatGPT workspaces now use GPT-5.5 as the default model. The setup page now lists ChatGPT first as **Recommended**. See [Connect your AI subscription](/docs/connect-your-ai). * The setup page is redesigned as steps that open one at a time, and the help guide no longer opens over it on its own. After setup, the welcome screen introduces your lead agent. * When a ChatGPT sign-in expires, a red banner now shows on every page, and the account shows **Expired** with a **Reconnect** button. See [Keep ChatGPT accounts renewed](/docs/ai-accounts#keep-chatgpt-accounts-renewed). * In **GOD View**, the **Schedule** tab now previews each scheduled task when you hover it. Click the gear to change its schedule, instructions, or agent, or to pause it. See [Schedule recurring work](/docs/scheduled). * **GOD View** (later **Timeline**) now shows each research tool call, with its results, and each connected-app action. You can filter it by type of activity and by connected account. It now opens on today's **Schedule**. * The run detail panel on the Timeline is redesigned. It shows what the agent did first, a token usage bar, and error tips, and it closes when you click outside it. See [Read a run's detail](/docs/runs-and-health#read-a-runs-detail). * Email drafts and escalations now live in the agent's inbox, with a banner that gives the reason and lets you dismiss it or discuss it in chat. Chat shows a short link to them. Agents in the sidebar show a dot when they have a draft or an escalation. See [Review drafts](/docs/email#review-drafts). * **Skill Management** now lists skills that have no name or description, marked **Needs setup**, with a prompt that you can copy to your lead agent. See [Add and manage skills](/docs/skills). * The lead agent's chat now has a **Telegram** link that opens the same conversation on your phone. See [Connect Telegram](/docs/telegram). * In agent chat, Enter now sends the message, and Shift+Enter adds a new line. * A mission now has **Start** and **Done** buttons, and you can archive missions from **My Tasks** by hovering them. See [Track work on the Missions board](/docs/missions). * The public dashboard no longer shows chat. See [Share a read-only view of your workspace](/docs/sharing). * Agents now give you direct links to missions, docs, agents, and settings pages when they talk about them. * Agents have an updated set of marketing skills, with new skills such as app store optimization, co-marketing, and competitor profiling. * Resetting your workspace now also disconnects your connected apps. * The **Usage & Costs** item is gone from the profile menu. ## Fixed * **Restart Gateway** in the profile menu now recovers agents when their background service has stopped completely (later retired). * The first chat message after your agents were idle no longer fails with an empty reply. The dashboard now waits and retries. * LinkedIn search now works with any search text, not only first and last names. * The **All** count on the missions board now includes done missions. When the first columns are empty, the board scrolls to the first column with missions. * A connected app that was still connecting no longer shows **Connecting...** forever, and an expired account shows **Expired**. * The menu of a connected app is no longer hidden behind the next card. * Long agent names such as Chief of Staff no longer overlap the crown in the sidebar, and sidebar tooltips no longer show over an open mission. * **Agent Configuration** now shows your lead agent in workspaces that have only one agent. # October 2026 Source: https://squad.so/docs/changelog/2026-october The dashboard with the same names and layout as Squad for Mac (private beta), projects on the web, contacts and pipelines, payment cards in the Wallet, a sidebar with More and pinned places, form cards, settings that apply without a restart, conversations that never reset, Fork and Edit in chat, Stop for a running run, and triggers. The dashboard now uses the same names and layout as Squad for Mac (private beta), and this month brought contacts and pipelines, card payments that you approve, form cards, triggers, conversations that teammates remember, and Fork, Edit, and Stop. Since October 15, GPT-6.1 Sol replaces GPT-5.5 on ChatGPT, and since October 16, a saved setting applies without a restart of your squad's computer. This page covers changes up to October 17, 2026. ## New * Stop a run that is going. Select **Stop** under the agent's working message in chat, on the run's row in **Runs**, or in the run's details, then confirm. Anything the agent already saved stays. The run shows **Stopped** and is not counted as a failure. The owner and Administrators can stop runs. See [Stop a run](/docs/runs-and-health#stop-a-run). * Fork a conversation. Point to an agent's reply and select **Fork from here** to start a new conversation with everything up to that reply. The original stays as it was. See [Fork a conversation](/docs/chat#fork-a-conversation). * Edit a message that you sent. The agent answers the new text, and arrows under your message switch between the versions and their answers. See [Edit a message that you sent](/docs/chat#edit-a-message-that-you-sent). * Copy an agent's reply with **Copy** under the reply. See [Copy, fork, or edit messages](/docs/chat#copy-fork-or-edit-messages). * Squad for Mac is in private beta. It is not available to download yet. The app has a menu bar item, one **Needs you** list for every ask and email that needs you, a Delegate panel that you open from any app with ⌥Space, voice with ⌃⌥Space, your squad in the notch, and notifications that you can answer in place. With **Mac access** on, your agents can also ask to list a folder, read or write a file, open a web page, read the open browser tab, or see your screen on your Mac, and you approve the requests on your Mac. See [Get started with Squad for Mac](/docs/mac/overview). * See the subagents that your agents start. A subagent shows as a card in the conversation where it started, with its task and state, as its own **Subagent** run on **Runs**, and on the agent's status timeline. A card stays with the version of the conversation that started it. See [See the subagents that your agents start](/docs/chat#see-the-subagents-that-your-agents-start). * Archive, restore, and delete direct conversations with an agent, the same way as group chats. A new reply brings an archived conversation back. See [Archive or delete a conversation](/docs/chat#archive-or-delete-a-conversation). * Agents name the direct conversation that they are in, and rename it when the topic moves. A name that a person gave always stays: the agent's name then shows in the header as a suggestion, with **Use this name** and **Keep current name**. See [Work with threads](/docs/chat#work-with-threads). * Delete a file that you sent in a chat, without deleting the conversation. Squad removes it from Squad and its exact copies from your squad's computer, and the message shows **Attachment deleted**. See [Delete a file that you sent](/docs/chat#delete-a-file-that-you-sent). * A banner on every screen warns when your squad's cloud computer is low on disk space or full, with **Ask an agent to free up space**. The owner also gets a bell notification, and an email when the disk is full. See [Your cloud computer's disk is low or full](/docs/agent-stuck#your-cloud-computers-disk-is-low-or-full). * Squad for Mac (private beta): when you approve in the notch an agent's request to read a file on your Mac that is too large to send, the notch offers **Drop It in the Chat**, which opens the chat with that agent with the file attached. See [What is never shared](/docs/mac/mac-access#what-is-never-shared). * Squad for Mac (private beta): answer a Mac access request with **Allow** or **Deny** on its row in **Recent requests**. See [Recent requests](/docs/mac/mac-access#recent-requests). * Wake an agent when something happens in another app, with triggers. Give a trigger instructions and an agent, then pick a webhook or an event in one of your connected apps. A webhook trigger gets its own URL for GitHub, Stripe, Shopify, Zapier, Make, n8n, or your own code, with setup steps for each sender on the trigger's page. See [Start work when something happens (triggers)](/docs/triggers). * Agents can suggest triggers. A suggestion waits under **Suggested by your agents** on the **Triggers** tab and does nothing until the owner or an Administrator approves it. See [Approve a trigger that a teammate suggests](/docs/triggers#approve-a-trigger-that-a-teammate-suggests). * Agents can list the triggers that wake them and read the full event that woke them. When the agent works for you or an Administrator, the list includes a webhook's URL and the secret Squad made, so the agent can set up the sending app when you ask. See [Triggers](/docs/agent-capabilities#triggers). * Search has two new entries, **Scheduled tasks** and **Triggers**, that open those tabs of **Automations**. See [Search and keyboard shortcuts](/docs/search). * See what each trigger event did. A trigger's page lists its recent events, with **Open in Runs**, **Retry** for a failed event, and **Run now** for an event that was not run. Trigger runs show on **Runs** with the kind **Trigger**. See [What a trigger run looks like](/docs/triggers#what-a-trigger-run-looks-like). * Choose how your squad's memory works, with three switches at the top of **Memories**: **Squad memory** turns memory on or off, **Recall before each turn** gives agents the memories that match each request, and **Learn from finished work** lets memory learn after each turn. You and the Administrators who can see every agent can change them. See [Turn memory on or off](/docs/memory#turn-memory-on-or-off). * Claude Haiku 5.5 is available for Claude, Claude Code, OpenRouter, and OpenCode. No default model changed. See [Choose models and manage AI accounts](/docs/ai-accounts). * Squad for Mac (private beta): projects keep the conversations about one piece of work together, with any of your agents and your group chats. Every agent in a project reads its lines first, and the owner can give it a folder on the Mac that agents work in. At first only Squad for Mac (private beta) showed projects. The web dashboard shows them too since October 13 (see below). See [Group conversations into projects](/docs/chat#group-conversations-into-projects). * Squad for Mac (private beta): delete a project with **Delete Project…**. Its conversations stay with their agents and group chats, in no project. See [Archive or delete a project](/docs/chat#archive-or-delete-a-project). * Squad for Mac (private beta): **Show older** loads more of your archived projects. See [Make a project](/docs/chat#make-a-project). * Squad for Mac (private beta): press ⌘F to find words in a conversation, a doc, or an email, as in a web browser. ⌘G and ⇧⌘G step through the matches. On **Tasks**, **Docs**, **Routines**, **Skills**, and **What your squad knows**, ⌘F puts you in the search box, and in **Settings**, in **Find a setting**. Anywhere else in the main window, it opens the command palette. See [Find words on a page](/docs/mac/keyboard-shortcuts#find-words-on-a-page). * Squad for Mac (private beta): right-click a project in the sidebar for **Rename…**, **Archive Project**, **Bring Back**, and **Delete Project…**, or press R, A, B, or D while you point to it. See [Archive or delete a project](/docs/chat#archive-or-delete-a-project). * Squad for Mac (private beta): when your squad's AI account is signed out, **Today** and **Needs you** say so first, with **Reconnect** and the account's name. For the owner and Administrators. See [Needs you on Today](/docs/today#needs-you). * Mention a person in a group chat, in the Squad chat, or in a conversation between two agents. Type @ and the first name or the full name of the owner or a teammate. That person gets a notification in their bell with the message, and opening the conversation clears it. Agents can mention people too. See [Mention a person in a group chat](/docs/chat#mention-a-person-in-a-group-chat). * Squad for Mac (private beta): edit a skill's instructions where you read them. The owner and Administrators select **Edit** on one of your squad's own skills, then **Save** (⌘S). If someone changed the skill meanwhile, choose **Use their version** or **Save mine anyway**. Everyone can copy a skill's instructions with the copy button beside **Skill instructions**. See [Edit a skill's instructions](/docs/skills#edit-a-skills-instructions). * Squad for Mac (private beta): a skill or a file that the instructions of a routine, a trigger, or check-ins name shows as a chip with its name. Select it to read the skill or the file, with **Open skill** and **Copy path**, or to ask the agent to show you another file. See [Skills and files named in instructions](/docs/skills#skills-and-files-named-in-instructions). * Squad for Mac (private beta): start a conversation in a project from the new conversation's **Project** chip, or from the **+** beside a project's heading in an agent's conversation list. See [Start a conversation in a project](/docs/chat#start-a-conversation-in-a-project). * Squad for Mac (private beta): add an agent to a group chat that is under way with **+** (**Add a teammate**) beside the group chat's faces. See [Group chats](/docs/chat#group-chats). * Squad for Mac (private beta): in a group chat and the Squad chat, @ also lists the people in your squad. A mention of you in a group chat opens that group chat from the bell, and its notification has **Reply**. See [Mention, point, and run a skill](/docs/chat#mention-point-and-run-a-skill) and [What a notification lets you do](/docs/mac/settings#what-a-notification-lets-you-do). * Projects are on the web. **Projects** in the sidebar keep the conversations about one client or job together, with any of your teammates, and every teammate in a project reads its notes first. Make a project with **+** beside **Projects** or **New project** in the command palette, start a conversation in it with **New conversation**, and move a conversation into it with **Move to project…** in the conversation's menu. A project's menu has **Archive**, **Bring back**, and **Delete project…**. See [Group conversations into projects](/docs/chat#group-conversations-into-projects). * Contacts and pipelines: your squad keeps a list of the people and companies it works with, pipelines that leads move through, follow-ups, and a timeline of every touch. Every email that a Squad inbox sends or gets is logged by itself, and a contact marked do not contact gets no email from your squad. Open **Contacts** from the inbox menu on **Email** or the command palette. See [Keep your contacts and pipelines](/docs/contacts). * Teammates can pay online with a card that a person saved in their card vault. Each payment waits until the card's owner approves it on the device that holds the card, and nothing is paid without that approval. Purchases to approve show in **Needs you** and in the bell. Add and share cards in **Settings** > **Billing and usage** > **Payment cards** (now the **Wallet**). See [Let your teammates pay with your card](/docs/payment-cards). * Form cards: when a teammate meets a form on a web page that needs your own values, such as a sign-in, it sends the form into the chat as a card. What you type goes straight to the page on your squad's computer, not into the chat. Only the owner can fill it. Other people see the card without fields. See [Fill a form that a teammate sends you](/docs/form-cards). * One question card everywhere: a question looks the same on **Today**, in **Needs you**, on its task's page, and in chat. Answer in your own words with **Something else…**, select **Skip** to let the teammate carry on without your answer, or **Discuss with** the teammate first. **Just answered** keeps **Undo** for 45 seconds. See [Answer what needs you](/docs/tickets). * **Settings** > **You** holds your name, your email address, **Sign out**, your squad, and your role, now that the account menu is gone on a wide window. See [Settings reference](/docs/settings#you). * While no app is connected, **Today** asks you to connect the apps your squad works in, with **Connect an app** and **Not now**. Only the owner sees it. See [Connect apps](/docs/integrations). * **Help & support** puts the two ways to reach someone first: **Ask your chief of staff**, and **Email us** with the address, **Copy address**, and **Write in Gmail**. See [Get help](/docs/getting-help). * **Docs** has **Mark all as read**, which clears every unread dot without opening each doc. See [Find and manage your squad's docs](/docs/squad-docs#read-state). * Add a teammate to a group chat that is under way, with **+** in its header. See [Add a teammate to a group chat](/docs/chat#add-a-teammate-to-a-group-chat). * Hire a teammate with **+** beside **Your squad** in the sidebar. It opens your chief of staff's chat with the request begun. See [Hire a teammate](/docs/agents#hire-a-teammate). * Copy and edit a skill's instructions on **Skills**. The owner and Administrators can edit your squad's own skills. See [Add and manage skills](/docs/skills#copy-or-edit-a-skills-instructions). * Squad for Mac (private beta): **Search email** above the list on **Email** finds an email across every inbox that you can see, by a person's name or address, the subject, or the words in the email. See [Email on Squad for Mac (private beta)](/docs/email#on-squad-for-mac-private-beta). * Squad for Mac (private beta): a teammate's email draft or escalated email in a chat shows as a card with **To**, **Subject**, and the words. The owner or an Administrator can select **Send now** or **Discard** on a draft, and **Open in Email** or **Dismiss** on an escalation. See [Email conversations in chat](/docs/chat#email-conversations-in-chat). * Squad for Mac (private beta): in **Needs you**, **Over a day** and **Over 30 days** count the emails that wait on you too. **Dismiss** and the number of emails dismisses them at once. They stay in **Email**, and **Undo** brings them back. See [Clear old questions and emails on the Mac](/docs/tickets#clear-old-questions-and-emails-on-the-mac). * Squad for Mac (private beta): with 7 or more custom integrations, **Find an integration** finds one by name, purpose, field, or address. For the owner and Administrators, **Connect** on a question for a key that is not in the app catalog opens a new custom integration with that name. See [Add an MCP server or an API key](/docs/custom-integrations). * A teammate can start a free trial, or use a coupon or an offer that brings a checkout's total to 0, with your card. You approve it like any purchase. It saves the card with the store and charges nothing now, at stores that take cards through Stripe. Where you approve, it shows **Nothing to pay now** and, when the page names one, the later charge, for example "Then EUR 63.66 on 21 Oct." Done, it shows **Card saved**. See [Free trials and checkouts that charge nothing](/docs/payment-cards#free-trials-and-checkouts-that-charge-nothing). * Squad for Mac (private beta): **Contacts**, with lists of everyone, people, companies, each pipeline, and archived contacts, and a page for each contact where you set follow-ups, log a call or a note, and mark someone do not contact. See [Contacts on Squad for Mac (private beta)](/docs/contacts#on-squad-for-mac-private-beta). * Squad for Mac (private beta): fill a form card, approve a purchase with your card, and add a card when a teammate asks, in chat. A purchase that waits for your approval shows with the urgent questions at the top of **Needs you**, and on **Today**, in the notch, in the menu bar, and in a notification. See [Let your teammates pay with your card](/docs/payment-cards#on-squad-for-mac-private-beta) and [Fill a form that a teammate sends you](/docs/form-cards#on-squad-for-mac-private-beta). * Squad for Mac (private beta): a free trial, or a checkout that a coupon brings to 0, reads as saving your card, with nothing to pay now. The later charge shows wherever you approve, on every purchase that names one, and a done card save shows **Card saved**. See [Let your teammates pay with your card](/docs/payment-cards#on-squad-for-mac-private-beta). * Squad for Mac (private beta): the **Wallet**, with your cards, who may use each one, and your teammates' purchases, is a place in the sidebar, as on the web. See [Let your teammates pay with your card](/docs/payment-cards#on-squad-for-mac-private-beta). * Search email across your inboxes. **Search email** above the list on **Email** matches the loaded emails at once, then asks the inbox that you picked, or every inbox in **All inboxes**, for older email, email from the sender that you typed, and words in the body. The search covers every tab. See [Search email](/docs/email#search-email). ## Improved * Your agents remember your conversations, in the dashboard and on Telegram, Discord, and Slack. A conversation no longer starts fresh each morning, so you can come back to a thread the next day and continue. See [How an agent remembers a conversation](/docs/chat#how-an-agent-remembers-a-conversation). * Agents now work within each teammate's role and agent list. Squad checks the Squad actions that an agent takes for a teammate, such as a mission change, an email send, or a change to an agent. For example, an agent that works for a Collaborator cannot send email or change agents. An agent that works for a teammate limited to some agents cannot see or change the other agents' work. Your own requests are not limited. See [Agents work within the teammate's role](/docs/teammates#agents-work-within-the-teammates-role). * A helper agent that an agent starts now keeps the limits of the person that the work is for. * A scheduled task that uses only the accounts shared with everyone now works like a Collaborator. To let such a task send email or change agents, save it yourself with **Shared accounts and my own accounts**. See [Choose the accounts of a routine](/docs/scheduled#choose-the-accounts-of-a-routine). * Agents now know each teammate's role and, for a teammate limited to some agents, which agents they can use. When Squad refuses an action, the agent tells the person what Squad said and who can do it instead. * A restart of your squad's computer no longer has to end an agent's reply. When it can, Squad gives the message back to the agent, which continues where it stopped, without repeating what is done. Routine maintenance also waits while an agent is working. See [Interrupted runs](/docs/agent-stuck#interrupted-runs). * When a Claude Code account reaches its usage limit during a run, the run now continues on your next Claude Code account, also when it had already done work. See [Choose models and manage AI accounts](/docs/ai-accounts). * Failed replies show a plain sentence about the cause, with **Retry**, instead of a raw error. On Telegram and Slack, a failed reply starts with "⚠️ I hit a problem before I could finish replying." and names the cause. See [Chat failure messages](/docs/agent-stuck#chat-failure-messages). * A workspace reset shows a checklist of its steps while it runs, and large workspaces finish their reset. If you close the window, the reset continues, and the checklist shows again when you come back. See [Reset your workspace](/docs/billing#reset-your-workspace). * Squad for Mac (private beta): you can select text across a whole message and use **Quote in reply**, **Ask about this**, or **Copy**. See [Select text](/docs/chat#select-text). * Squad for Mac (private beta): the notch also counts what needs you in your other squads. See [Other squads](/docs/mac/notch-and-menu-bar#other-squads). * Squad for Mac (private beta): **Stop** also shows in chat, on **History**, and on a working agent's row in the notch. See [Stop a run](/docs/runs-and-health#stop-a-run). * Squad for Mac (private beta): **Attach** has the shortcut ⌘⇧A. See [Attach files on the Mac](/docs/chat#attach-files-on-the-mac). * Squad for Mac (private beta): the list of what needs you shows missions that wait on you with no question asked yet, and the count of what needs you includes them. See [Handle tasks that wait with nothing asked](/docs/tickets#handle-tasks-that-wait-with-nothing-asked). * Squad for Mac (private beta): the size limit for a file that an agent reads from your Mac is lower. See [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). * The **Unread** email list shows every email that the unread count counts, also older ones, and **Mark all as read** clears them all at once. See [Give an agent an email inbox](/docs/email). * A sign-in on an MCP server that you added by URL and that keeps a session now holds across agent runs. See [Servers that keep a session](/docs/custom-integrations#servers-that-keep-a-session). * Squad for Mac (private beta): **Bigger** (⌘+), **Smaller** (⌘−), and **Actual Size** (⌘0) change the text size. See [Change the text size](/docs/mac/keyboard-shortcuts#change-the-text-size). * Squad for Mac (private beta): **Back** (⌘\[) and **Forward** (⌘]) move between screens, also with a trackpad swipe or a mouse's side buttons. See [Go back and forward](/docs/mac/keyboard-shortcuts#go-back-and-forward). * Squad for Mac (private beta): Tab reaches every control, whatever your Mac's Keyboard navigation setting is. See [Move with the keyboard](/docs/mac/keyboard-shortcuts#move-with-the-keyboard). * Squad for Mac (private beta): mark all docs as read without opening each one. See [Docs on Squad for Mac (private beta)](/docs/squad-docs#on-squad-for-mac-private-beta). * Squad for Mac (private beta): Settings opens over Squad in full screen, on the Space where you are. * Squad for Mac (private beta): opening **Health**, or the X on the failure line on **Today**, sets today's failed runs aside until another run fails. See [Needs you on Today](/docs/today#needs-you). * Squad for Mac (private beta): icon buttons have VoiceOver labels, and the app follows Reduce Motion. * Agents can withdraw an email escalation that they raised when it no longer needs you. The Live Feed shows the withdrawal and the agent's reason. See [Handle escalations](/docs/email#handle-escalations). * Each row in the bell names who sent it: the agent, the teammate who commented, or **Squad** for Squad's own alerts. See [Use the bell](/docs/notifications#use-the-bell). * Selecting a file in a chat or on a mission now downloads it. Cmd-click or Ctrl-click still opens it in a new tab. See [Attach files](/docs/chat#attach-files). * A change to an AI account on **AI Tokens** that cannot be saved now says what failed and why, for example that the disk is full. A failed **Disconnect** shows why under the account's row. See [Choose models and manage AI accounts](/docs/ai-accounts) and [Your cloud computer's disk is low or full](/docs/agent-stuck#your-cloud-computers-disk-is-low-or-full). * During a workspace reset, the counter says records, and the agents step says that it deletes the agents and their history. See [Reset your workspace](/docs/billing#reset-your-workspace). * Squad for Mac (private beta): **Decide** is now called **Needs you**, the same name as its section on **Today**. See [Answer what needs you](/docs/tickets#on-squad-for-mac-private-beta). * Squad for Mac (private beta): the sidebar lists **Today**, **Missions**, **Email**, **Docs**, and **Work**, with your agents under **Your squad**. **Computer** moved under **Work**. See [The sidebar](/docs/what-squad-is#the-sidebar-on-squad-for-mac). * Squad for Mac (private beta): **Runs** is now called **History**. **History and Health** in the menu bar's menu opens it. See [Find a run](/docs/runs-and-health#find-a-run). * Squad for Mac (private beta): **Today** starts with one sentence about who is working, what needs you, and what your squad finished. Sections below it show only when they hold something. See [Greeting and summary sentence](/docs/today#greeting-and-summary-sentence). * Squad for Mac (private beta): the chat's side panel lists only what the open conversation made: files, docs, emails, and missions. It opens by itself once the conversation has made something. See [The side panel](/docs/chat#the-side-panel). * Squad for Mac (private beta): the Delegate panel sends one way, as a new conversation with the agent. See [Delegate from any app](/docs/mac/delegate-voice-siri#delegate-from-any-app). * Squad for Mac (private beta): notifications for this Mac moved to **Settings** > **Notifications** > **On this Mac**. See [Notifications on this Mac](/docs/mac/settings#notifications-on-this-mac). * Squad for Mac (private beta): with **Animated teammates** off, the agents' faces stay still instead of showing emoji. See [General settings for this Mac](/docs/mac/settings#general-settings-for-this-mac). * Squad for Mac (private beta): the snooze choices for the notch are in its right-click menu and in its reply card's right-click menu. See [Hide or snooze the notch](/docs/mac/notch-and-menu-bar#hide-or-snooze-the-notch). * The **Scheduled** screen is now the **Scheduled** tab of the new **Automations** page in the sidebar, next to **Triggers**. Scheduled tasks work as before. See [Schedule recurring work](/docs/scheduled). * Memory search finds the facts that your agents saved, and passages from the text that they came from. See [Search memories](/docs/memory#search-memories). * Squad for Mac (private beta): password managers that use AutoFill, such as Apple Passwords and 1Password, offer your saved squad.so login on the app's sign-in screen. See [Sign in](/docs/mac/overview#sign-in). * Your squad's memory now learns from its work on its own: chats, missions, scheduled tasks, and heartbeats, from every person in the workspace. Before each request, the agent gets what the memory holds about it. See [How your squad learns](/docs/memory#how-your-squad-learns). * A scheduled task that an agent creates with its scheduling tool now uses the accounts of the person who asked for it, also after a teammate joined. This does not apply to tasks that an agent on a Claude Code account creates, or to tasks created with a command. See [Choose the accounts of a routine](/docs/scheduled#choose-the-accounts-of-a-routine). * When a scheduled task set to only shared accounts cannot do something, the agent's message now says that the owner or an Administrator can change the task, when an Administrator may. See [Choose the accounts of a routine](/docs/scheduled#choose-the-accounts-of-a-routine). * Squad for Mac (private beta): long lists stay smooth on big squads. See [What Squad is and how it works](/docs/what-squad-is). * Squad for Mac (private beta): in **History** > **Week**, a busy day shows the runs that fit, then a link with the number and **more** that opens that day. See [Find a run](/docs/runs-and-health#find-a-run). * Squad for Mac (private beta): on **Scheduled** > **Week**, the **Runs continuously** row shows the first tasks, then a link with the number and **more** that switches to **List**. See [Routines on Squad for Mac (private beta)](/docs/scheduled#on-squad-for-mac-private-beta). * Agents on a Claude Code account now get memories before each request, and memory learns from their work, like every other agent. See [How your squad learns](/docs/memory#how-your-squad-learns). * The page of an app event trigger lists the settings that the trigger was saved with, for example the owner and the repository of a GitHub event. See [Add an app event trigger](/docs/triggers#add-an-app-event-trigger). * The screen of an agent's computer now shows only the desktop, without an extra overlay on the stream. See [Watch or take over an agent's computer](/docs/computer). * Squad for Mac (private beta): the sidebar lists **Today**, **Email**, and **Docs**, then your agents. **Needs you**, **Tasks**, **Activity**, **History**, **Routines**, **Computer**, **Skills**, and **What your squad knows** open from where they belong, most from **Today**, with a link back to where you came from. They are in the **Go** menu. See [Screens that open from elsewhere](/docs/what-squad-is#screens-that-open-from-elsewhere). * Squad for Mac (private beta): the app calls missions tasks, scheduled tasks routines, tickets questions, and agents teammates. The Siri actions are now **Show What Needs You in Squad** and **New Squad Task**. See [Web names and Mac names](/docs/mac/overview#web-names-and-mac-names). * Squad for Mac (private beta): **Needs you** and **Today** also show what only you can fix, with the fix as the button: work that did not finish, routines that never run as they are set up (**Fix it**), a low or full disk on your squad's computer, and triggers that your agents suggest (**Turn it on**). The count in the menu bar, the Dock, and the notch includes them. See [What the list holds](/docs/tickets#what-the-list-holds-on-the-mac). * Squad for Mac (private beta): **History** says when Squad picked a run back up after a restart, and when a busy day has more runs than it lists. See [Read a run's detail](/docs/runs-and-health#read-a-runs-detail). * Squad for Mac (private beta): the chat's connect card asks whether to share the account with everyone in the squad, as in the dashboard. See [Who can use an account](/docs/integrations#who-can-use-an-account). * Squad for Mac (private beta): when an agent suggests a name for a conversation, you can use it or turn it down in the rename field. See [Take a name that a teammate suggests](/docs/chat#take-a-name-that-a-teammate-suggests). * Squad for Mac (private beta): **Docs** has one **Filter** menu for the kind of doc and the order. See [Docs on Squad for Mac (private beta)](/docs/squad-docs#on-squad-for-mac-private-beta). * Squad for Mac (private beta): crash and freeze reports go to the Squad team only while **Share usage and crash reports** is on. See [Share usage and crash reports](/docs/mac/settings#share-usage-and-crash-reports). * Squad for Mac (private beta): the notifications on this Mac are named **Questions** and **Email that needs you**. See [Notifications on this Mac](/docs/mac/settings#notifications-on-this-mac). * Squad for Mac (private beta): ⌘← and ⌘→ go back and forward when you are not typing in a box. See [Go back and forward](/docs/mac/keyboard-shortcuts#go-back-and-forward). * Squad for Mac (private beta): **Today**, **Email**, and **History** open faster on big squads. * When an agent suggests a trigger, Squad tells it to let the owner or an Administrator know where the suggestion waits, in the dashboard and in Squad for Mac (private beta). See [Approve a trigger that a teammate suggests](/docs/triggers#approve-a-trigger-that-a-teammate-suggests). * Squad for Mac (private beta): the count of what needs you in your other squads also includes work that did not finish today, a low or full disk, and suggested triggers, for whom that squad's **Needs you** lists them. Selecting such a squad in the notch or the menu bar opens its **Needs you**. See [Other squads](/docs/mac/notch-and-menu-bar#other-squads). * Squad for Mac (private beta): **Needs you** is one list that scrolls, with no link to show more. See [What the list holds](/docs/tickets#what-the-list-holds-on-the-mac). * Squad for Mac (private beta): a conversation's menu shows a letter beside each item, and the letter works on the conversation that you point to. See [Move with the keyboard](/docs/mac/keyboard-shortcuts#move-with-the-keyboard). * Squad for Mac (private beta): for the owner and Administrators, **What** followed by an agent's name and **knows** on the agent's **About** says that it holds the agent's notes, personality, and identity, and the command palette finds it by those words. See [About on Squad for Mac (private beta)](/docs/agents#mac-about). * Squad for Mac (private beta): an agent's chat opens faster, a screen that you come back to shows at once, and the app opens faster in the morning. * Squad for Mac (private beta): icons are thicker and larger, and none are drawn faint. * Squad for Mac (private beta): the bell in the app has one way to clear it, **Mark all read**. See [The sidebar](/docs/what-squad-is#the-sidebar-on-squad-for-mac). * When an agent lists triggers for someone who cannot manage triggers, Squad tells the agent to send them to the owner or an Administrator for webhook URLs and secrets, and says where those are. See [Triggers](/docs/agent-capabilities#triggers). * What you read in **What's new** is saved to your account, so the count of new updates is the same in every browser where you sign in. The first time you open Squad, only recent updates count as new. See [See what changed in Squad](/docs/getting-help#see-what-changed-in-squad). * When you open an email, the agent no longer treats it as handled. It still deals with the email, and it does not say the email was already read because someone opened it. See [Give an agent an email inbox](/docs/email). * Agents close the questions that you answer in chat. After each message that you send an agent in the dashboard or Squad for Mac (private beta), Squad reminds it of its open asks, so that it closes the one that your message answers. See [Answer a question](/docs/tickets#answer-a-question). * Squad for Mac (private beta): a question shows on one card everywhere: on **Today**, in the menu bar, in **Needs you**, on a task, and on **Computer**. Answer in your own words with **Something else…**, or select **Skip** to let the agent carry on without your answer. See [Answer on the Mac](/docs/tickets#answer-on-the-mac). * Squad for Mac (private beta): the count beside **Between teammates** in the sidebar shows "50+" past its limit. See [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). * Squad for Mac (private beta): what you read in **What's new** is shared with the web, so the count of new updates is the same. See [See what changed in Squad](/docs/getting-help#see-what-changed-in-squad). * Squad for Mac (private beta): when you or a teammate wrote to the agent after it asked a question, the question says so, with **That answered it** to close it. See [Close a question that you answered in chat](/docs/tickets#close-a-question-that-you-answered-in-chat). * Squad for Mac (private beta): **Today's routines** on **Today** lists the routines that run today on your squad's computer, by name and at the times their schedules give, then says how many more run today. See [Today's routines](/docs/today#todays-routines). * New replies now count only for the people in a conversation. The orange dot, the **new** pill, and the count on the message icon show for the conversations that you are in (you wrote in them or forked them), not for a teammate's conversation that you only read. The owner's reply notifications skip conversations that only teammates wrote in. Everyone can still read every conversation that they can see. See [Which replies are new for you](/docs/chat#which-replies-are-new-for-you). * Squad for Mac (private beta): the notch, the menu bar, and the Dock count new replies in your other squads only in conversations that you are in. See [Other squads](/docs/mac/notch-and-menu-bar#other-squads). * Squad no longer adds the upkeep of your squad's computer, such as AI account syncs, setup refreshes, and lists of new models, to the Live Feed and other activity lists. Entries from before stay. See [See what your agents did](/docs/runs-and-health). * The helpers that an agent on a Claude Code account starts now show as subagent cards in chat and on the agent's status timeline, with **Working**, **Done in**, or **Stopped**. See [See the subagents that your agents start](/docs/chat#see-the-subagents-that-your-agents-start). * Squad for Mac (private beta): the helpers that an agent on a Claude Code account starts show in the conversation too. See [Helpers](/docs/chat#helpers). * Subagent cards in chat no longer show what the agent asked a subagent, what it was called, or what it said. A card says **Subagent** and its state, and a card that failed or timed out says why in one plain sentence. Subagent runs on **Runs** are titled "Subagent run". Later the same day, cards and runs showed the subagent's short name again (see below). Agents are told to say in their own reply what their helpers found, and not to say that a helper still works after it finished or stopped. See [See the subagents that your agents start](/docs/chat#see-the-subagents-that-your-agents-start). * An update to how your squad's computer runs Claude Code restarts the computer only when the update needs it. It then waits, for up to 24 hours, until no Claude Code run is in progress, so it no longer cuts off a Claude Code run that is working. See [Interrupted runs](/docs/agent-stuck#interrupted-runs). * Squad for Mac (private beta): work that did not finish shows one item for each teammate on **Today** and in **Needs you**, with how many times it failed today, the routine's name, and why in plain words, for example "They ran out of time." When your AI account caused it, the item offers **Open AI settings**. See [Needs you on Today](/docs/today#needs-you). * Squad for Mac (private beta): replies in a conversation with a teammate count as new for you only when you are in it (you wrote in it or forked it), in the sidebar, the bell, the notch, the menu bar, and the Dock. See [The conversation list](/docs/chat#the-conversation-list). * Squad for Mac (private beta): a helper's card in chat says "Asked a helper" and shows a state only when the helper did not finish. A card that failed or timed out opens to say why in one plain sentence. The card no longer opens **History**. See [Helpers](/docs/chat#helpers). * Squad for Mac (private beta): the counts beside the notch show whether they come from this squad, your other squads, or both, and the notch's tooltip names the squad. See [Other squads](/docs/mac/notch-and-menu-bar#other-squads). * Squad for Mac (private beta): **Revise with** and **Tell** … **what to do** on an email in **Needs you** open the email's own conversation, with the email attached to your message. See [Email items on the Mac](/docs/tickets#email-items-on-the-mac). * Squad for Mac (private beta): **Activity** no longer shows the upkeep of your squad's computer. See [Follow activity](/docs/runs-and-health#follow-activity). * Squad for Mac (private beta): your name and the squad's name in **Settings** save by themselves a moment after you stop typing. See [Change settings on the Mac](/docs/mac/settings). * Squad for Mac (private beta): when you connect an AI that needs a Terminal command, in setup or in **Settings** > **AI**, the command shows on its own line with a copy button. See [Set up a new squad](/docs/mac/overview#set-up-a-new-squad). * Subagent cards in chat show the subagent's short name again, the few words that the agent called it, for example "Review the docs sync PR". Squad shows a name only when it is a short line of plain words. The agent's status timeline shows the name too, and a subagent's run on **Runs** is titled "Subagent:" and the name. A teammate limited to some agents sees no name when they cannot see the agent that started the subagent. What the agent asked the subagent, and what it said, still do not show. See [See the subagents that your agents start](/docs/chat#see-the-subagents-that-your-agents-start). * Squad for Mac (private beta): a helper's card says what the helper works on, for example "Asked a helper to review the docs sync PR". Helpers that a teammate asks one after another show as one line, for example "Asked 8 helpers", with how far they got. Select the line to see each helper by its name. See [Helpers](/docs/chat#helpers). * Squad for Mac (private beta): a helper's line in a teammate's **Lately** opens the conversation that the teammate asked it in. It no longer opens **History**. See [About on Squad for Mac (private beta)](/docs/agents#mac-about). * A subagent's short name keeps short version numbers, for example "Opus 4.5 sentiment", and GPT and GLM model names written with a dash, for example "GPT-5.1". Before, such a name showed only **Subagent**. See [Limits and defaults](/docs/limits-and-defaults#chat). * Agents now give you a link when they tell you where to do something, and name the place both on the web and in Squad for Mac (private beta). When they can make a change themselves, they ask for your yes instead of sending you through steps. See [Chat and cards](/docs/agent-capabilities#chat-and-cards). * The approval page of an MCP server that you add by URL can now show Squad's logo, when the server builds its page from what Squad sends. See [Add an MCP server](/docs/custom-integrations). * Reddit subreddit top posts and Reddit searches with a time window are listed as their own rows on the **CREDIT COST PER USAGE** card. Their results come without score and comment count. See [Research tools reference](/docs/research-tools#reddit). * Squad for Mac (private beta): helpers show as one line in the teammate's words, for example "Asked 3 helpers: Sonnet and Haiku sentiment and 2 more", with no box or spinner. A sentence under it says what did not go as asked, the working line says what the teammate waits on, and **Stop** sits beside it. In a group chat, each teammate's helpers have their own line. See [Helpers](/docs/chat#helpers). * Squad for Mac (private beta): when a research tool is not working, **History** says so in plain words ("a tool it uses isn't working right now. That's on Squad's side, not anything you did."), with the tool's own error under **Technical details**. Such a run no longer shows as out of time or points you to your AI settings, in **History** or on **Today**. See [Read a run's detail](/docs/runs-and-health#read-a-runs-detail). * Squad for Mac (private beta): **Settings** > **AI** offers only models whose AI account is connected, and says when a picked model's account is not connected. See [Choose the default model and fallback models](/docs/ai-accounts#choose-the-default-model-and-fallback-models). * Squad for Mac (private beta): an app's sign-in from the Mac ends on a page that says whether the app connected, with **Back to Squad**, and connects the app to the squad that is open in the app. When an agent asks you to connect an app that is already connected, the card offers **Connect another account**. See [Connect an app from the Mac](/docs/mac/settings#connect-an-app-from-the-mac). * The dashboard uses the same names and layout as Squad for Mac (private beta). Agents are teammates, and the teammate that leads your squad is your chief of staff. The people you invite are people. **Home** is **Today**, the Missions board is **Tasks**, with the columns **Not started**, **Needs you**, **Working on it**, and **Done**, tickets are questions in **Needs you**, **Automations** is **Routines**, the Live Feed is **Activity**, and **Runs** is **History**. Links and addresses did not change. See [What Squad is](/docs/what-squad-is) and [Glossary](/docs/glossary#old-names). * The sidebar holds **Today**, **Email**, and **Docs**, then **Your squad**, **Projects**, **Group chats**, and **Pinned**, with **Help** and **Settings** at the bottom. On a wide window there is no top bar: your squad's name and the bell are at the top of the sidebar. Other places open from where they belong, most from **Today**, and from the command palette. Selecting a teammate opens its chat. On a phone, the bottom bar has **Today**, **Squad**, **Email**, and **Docs**. See [A tour of the dashboard](/docs/what-squad-is#a-tour-of-the-dashboard). * **Today** starts with one sentence about who is working, what needs you, and what your squad finished, then the questions with their answers, **Today so far**, and **Today’s routines**. It has no message box: you talk to a teammate in its chat. **Today’s routines** lists the routines that run today on your squad's computer, by name. The browser tab's title shows the same number of things that need you. See [What Squad is](/docs/what-squad-is#sidebar). * **Settings** has seven areas: **Squad**, **People**, **Billing and usage**, **Apps**, **AI**, **Email**, and **Notifications**, with **Find a setting** and **You** above them. **Agent Configuration** is **Settings** > **AI** > **Teammates**, **AI Tokens** is **Settings** > **AI**, **Integrations** is **Settings** > **Apps**, with Telegram, Discord, and Slack beside it, and the email rules are in **Settings** > **Email** > **Inboxes and rules**. Skills, Memory, and History are no longer in Settings: open them from a teammate's **About** page or the command palette (Memory is **What your squad knows**). **Team** is now **People**. Seats are bought on **Billing**, and the partner referral link moved to **Earn credit** on **Billing**. See [Settings reference](/docs/settings). * **Settings** > **AI** starts with **Your squad’s AI**: **Thinks with**, **Reads images with**, and **When it can’t answer**, which replaces **Model routing**. One **Add an account** menu adds any provider, and only a problem shows a banner. Teammates with their own model are under **Advanced**. See [Choose models and manage AI accounts](/docs/ai-accounts). * A teammate's page has two places, **Chat** and **About**. **About** says in a sentence what the teammate is working on, then what it did lately, who waits on it, and its tasks and routines. See [Add, change, and pause teammates](/docs/agents). * A teammate's chat lists its conversations beside the open one, with a mark only for a conversation that is working or has an unread reply. **Group by** sorts the list by state or by project, and a conversation's menu has letter keys. The row of open conversations above the chat, the chat panel beside other screens, and the ⌥1 to ⌥9 shortcuts are gone. Pin a conversation to keep it one click away. See [Chat with your teammates](/docs/chat). * The command palette finds every place by its new name, your open questions, projects, and contacts, and it has **New task** and **New project**. See [Search and keyboard shortcuts](/docs/search). * **Activity** marks new rows with a blue dot above **Previously seen**, has one **Filter**, and hides the upkeep of your squad's computer. **Every run, by day** at its end opens **History**. See [See what your squad did](/docs/runs-and-health). * **Docs** has one **Filter** for the kind of doc and the order, a blue dot instead of the **New** and **Modified** badges, and a simpler reader with **Ask** *name* **to update**, **Edit**, and **⋯**. See [Find and manage your squad's docs](/docs/squad-docs). * The public dashboard shows **Tasks** and **Docs**. Visitors see **Waiting** where you see **Needs you**. See [Share a read-only view of your workspace](/docs/sharing). * Orange now marks only what needs you, and a blue dot only what you have not read. Labels are in sentence case, and the normal state carries no label. See [Statuses and what they mean](/docs/statuses). * Every action of every app with access levels was reviewed by hand and filed in the lowest level that may run it, so **Read-only** reads and changes nothing, and administration needs the top level. Some levels hold less than before. For example, Gmail and Outlook **Read + send** no longer label, move, or delete mail. When a level stops an action, the teammate is told which level stopped it. Accounts connected before levels existed have the app's top level. See [Connect apps](/docs/integrations#choose-an-access-level). * Teammates no longer send you to a **Settings** > **Secrets** page that does not exist. They ask you to add the key as a custom integration. See [Add an MCP server or an API key](/docs/custom-integrations). * For an Administrator, **Settings** > **Apps** > **Telegram** names the owner whose Telegram the main bot answers. See [Connect Telegram](/docs/telegram). * **Tasks** is simpler: one **Filter** menu (**Teammate**, **Only urgent**, **Only what needs you**, **Hide ongoing**), only **Urgent** is marked on a card, and you answer a task's open question on the task's page under **This task needs you**. See [Track work on Tasks](/docs/missions#open-a-task). * **Needs you** is one list of everything that waits for you: questions, email replies to review, purchases to approve, work to fix, and tasks waiting with nothing asked. See [Answer what needs you](/docs/tickets). * **Today** and **Needs you** show a card when a teammate's work did not finish, with the fix: **Reconnect** an app, **Open AI settings**, or **See what happened** in History. See [Fix work that did not finish](/docs/runs-and-health#fix-work-that-did-not-finish). * **Routines** lists every routine in plain words, with **Fix it** for one that cannot run and **See what happened** after a failed run. Triggers are on the same page, under **When something happens**. Create a routine or a trigger from **New routine**. See [Schedule recurring work with routines](/docs/scheduled). * When a routine change fails, the message now says why, in your cloud computer's own words. When the connection drops, Squad says that it cannot tell whether the change went through, so you check before you try again. Squad also waits for your computer to be ready after a settings save before it creates, runs, or moves a routine. See [When a change fails](/docs/scheduled#when-a-change-fails). * **History** marks only runs that are going or did not finish (**Running**, **Stopped**, **Still finishing**, **Interrupted**, **Didn’t finish**), and explains a failure in a plain sentence. Tool calls are hidden until you turn on **Tools**. Subagents are now called helpers. See [Find a run](/docs/runs-and-health#find-a-run). * The **Schedule** calendar no longer has a link in the dashboard. **Up next** on **Routines** shows the next runs, and **History** shows the runs by day. See [Schedule recurring work with routines](/docs/scheduled). * **Settings** > **Notifications** names each event in plain words, with **In Squad** and **Email** columns. See [Choose your notifications](/docs/notifications). * Low and full disk alerts now go by free space only: low under 5 GB, full under 1 GB. The full-disk email is titled "\[Squad] Your cloud computer needs some room". See [Your cloud computer's disk is low or full](/docs/agent-stuck#your-cloud-computers-disk-is-low-or-full). * Squad for Mac (private beta): under a teammate's helpers, the working line says what the teammate itself is doing, in the same words as the sidebar, never how many helpers it waits on. See [Helpers](/docs/chat#helpers). * Squad for Mac (private beta): a question's conversation can be renamed and moved to a project, like any other conversation. On the project's page it keeps its "About" name. See [Manage a conversation](/docs/chat#manage-a-conversation). * A conversation's header has **Chat** and **About**, **Watch**, and an **In this conversation** panel that lists what the conversation made. Pin, rename, move to a project, and archive are in one menu in the header. See [See what a conversation made](/docs/chat#see-what-a-conversation-made). * Helpers that a teammate starts show as one line in its words, for example "Asked 3 helpers to check the evidence". See [See the helpers your teammates start](/docs/chat#see-the-helpers-your-teammates-start). * A running Telegram, Discord, or Slack bot shows no status, only **Offline** when it is not running. Administrators can open these pages in **Settings** > **Apps**. See [Talk to your squad from Telegram, Discord, or Slack](/docs/channels). * **Billing** follows Squad for Mac (private beta): the plan, **Seats for people** (moved from People), **Earn credit**, the payment method, the allowance, research tools, credits, and usage, now with **Usage by teammate** and **Usage by task**. It also says that bigger computers are available by email to [support@squad.so](mailto:support@squad.so). See [Manage your subscription, credits, and workspace data](/docs/billing). * **Email** follows Squad for Mac (private beta): one menu at the top for the inboxes, **Contacts**, and the inbox settings, the tabs **Inbox**, **Sent**, and **Drafts**, plus **Needs you** and **Scheduled** when they hold something, an **Unread** switch, and **New email**. The inbox settings and the rules moved to **Settings** > **Email** > **Inboxes and rules**, and a rule reads as a sentence. See [Give a teammate an email inbox](/docs/email). * The export now includes your contacts, their timelines, and your pipelines. A reset also deletes contacts and pipelines and unlinks card vaults. See [Export your data](/docs/billing#export-your-data). * The app manuals list the actions at each reviewed access level. See [App manuals](/docs/apps/gmail). * Squad for Mac (private beta): the menu bar panel opens from any app, and the app that you were in stays in front. Esc, ⌘Tab, or a click anywhere else closes it. See [The menu bar](/docs/mac/notch-and-menu-bar#the-menu-bar). * Squad for Mac (private beta): a conversation with replies that you have not read opens at the first of them, in the main window and in the notch, so that you read a long reply from its start. With more than 10 new replies, it opens at the newest. See [Chat with your teammates](/docs/chat#open-a-teammates-chat). * Squad for Mac (private beta): when a conversation is too long for the teammate's model, **Start a new conversation** under the failed reply opens a new conversation with your message in the box. See [When a reply fails](/docs/chat#when-a-reply-fails). * Squad for Mac (private beta): a signed-out or expired AI account shows **Reconnect** on its row in **Settings** > **AI**. See [Choose models and manage AI accounts](/docs/ai-accounts). * Squad for Mac (private beta): double-click a conversation in a teammate's list to rename it. A conversation's title is bold only while it has an unread reply. Search fields have a clear button, and each pin takes one line. See [The conversation list on Squad for Mac (private beta)](/docs/chat#the-conversation-list-on-squad-for-mac-private-beta). * Squad for Mac (private beta): a file dragged over a conversation shows "Drop to attach to your message", a pasted picture attaches as a picture with a thumbnail, and a task's **Notes** box shows the same "Drop to attach to your message" and takes a file dropped anywhere on it. See [Attach files on the Mac](/docs/chat#attach-files-on-the-mac). * Squad for Mac (private beta): the **Computer** screen says when the screen is still starting or could not open. While you type in a teammate's browser, ⌘← and ⌘→ and letters go to the browser. See [Watch or take over a teammate's computer](/docs/computer#on-squad-for-mac-private-beta). * Squad for Mac (private beta): the notch's peek says "Nobody is working right now." only when nobody works and no reply waits. See [Peek at your squad](/docs/mac/notch-and-menu-bar#peek-at-your-squad). * The sidebar starts with **Today** and the places that you pin. The places are **Email**, **Docs**, **Contacts**, **Wallet**, **Routines**, **Tasks**, **Activity**, **Skills**, and **What your squad knows**, and every place that you did not pin waits one click away under **More**. Pin a place with the pin at the end of its row or with a right-click, and drag to reorder. **Email**, **Docs**, and **Contacts** start pinned, and your pins follow you to every device. On a phone, the bar at the bottom shows your first two pinned places and **More**. See [Pin a place to the sidebar](/docs/what-squad-is#pin-a-place-to-the-sidebar). * **Payment cards** is now the **Wallet**, a place in the sidebar, and it is no longer in **Settings**. **Billing and usage** in Settings now shows only to the owner. Old links open the Wallet. See [Let your teammates pay with your card](/docs/payment-cards). * **Help**, the question mark at the bottom of the sidebar, opens a menu with **Help and support**, **What’s new** with the number of unread updates, and **Ideas for your squad**. The link at the bottom of **Help & support** says **What’s new** instead of **Changelog**. See [Get help](/docs/getting-help). * A purchase that the store will charge again later, such as a subscription's next bill, shows that later charge where you approve, when the teammate names it. See [Approve a purchase](/docs/payment-cards#approve-a-purchase). * Squad for Mac (private beta): the sidebar starts with **Today** and your pinned places, with the other places under **More**, as on the web. Your pinned places are the same on the web and the Mac. **More** starts folded, a new place says **New** for its first month, and ⌘4 opens **Contacts**. See [The sidebar on Squad for Mac (private beta)](/docs/what-squad-is#the-sidebar-on-squad-for-mac). * Squad for Mac (private beta): a paused teammate's banner says who paused it. See [Pause a teammate](/docs/agents#mac-pause). * Squad for Mac (private beta): a squad that another person shared with you says **shared with you** in the squad switcher, question cards in chat say **Question**, and the Slack settings say your chief of staff. See [Switch squads](/docs/mac/overview#switch-squads). * Squad for Mac (private beta): when your squad's computer refuses a change to a routine, the message says why. * Saving a setting no longer restarts your squad's computer. Changes to AI accounts, **Workspace defaults**, a teammate's settings, heartbeats, routines, skills and skill packs, tools, MCP servers, and new teammates apply while your teammates keep working, and the next run uses them. See [Interrupted runs](/docs/agent-stuck#interrupted-runs). * A change on a Telegram, Discord, or Slack screen reconnects only that chat app, once your squad finishes its current work. When the bot cannot start with the new settings, the screen says "Saved, but the bot couldn’t start with the new settings. Check its details and save again." See [Messages on every channel screen](/docs/channels#messages-on-every-channel-screen). * Connecting or switching the Telegram main bot no longer restarts your squad. See [Connect Telegram](/docs/telegram). * Turning tools or MCP servers on or off on **Tools** applies from your teammates' next run, with no restart, so you can save while they work. See [Turn tools on or off](/docs/custom-integrations#turn-tools-on-or-off). * Updates to the teammate software on your squad's computer apply without a restart. An update that still needs one waits until no teammate is working, also on a Claude Code account, with no time limit. See [Limits and defaults](/docs/limits-and-defaults#runs). * A chat message that your squad's computer took just as its chat connection stopped, for example for an update, goes back to Squad unstarted, and the next connection runs it. If you stopped, reset, or archived the conversation in the meantime, the message closes with "This message was not run because the conversation changed before it started. Send it again if you still need it." See [Retry a message that failed](/docs/chat#retry-a-message-that-failed). * GPT-6.1 Sol replaces GPT-5.5 on ChatGPT. OpenAI no longer serves GPT-5.5 to ChatGPT accounts, so GPT-5.5 is no longer in the model lists for ChatGPT. Every teammate, fallback, image model, and routine that used GPT-5.5 or an older GPT-5 model on ChatGPT now runs on GPT-6.1 Sol, so you have nothing to change. GPT-5.5 through OpenRouter or OpenCode is not affected. See [Choose models and manage AI accounts](/docs/ai-accounts). * When your AI provider refuses a teammate's model, the chat says so by name, for example "Nina’s model isn’t available on your AI account. Choose another model for Nina, then Retry." The owner and Administrators get **Choose a model**, which opens the teammate's model settings, with **Retry** beside it in a teammate's own chat. Before, the reply said that the teammate hit a problem, and **Retry** sent the same model again. See [Chat failure messages](/docs/agent-stuck#chat-failure-messages). * Squad now checks a Z.AI key with Z.AI when you connect it, on the setup page or in **Settings** > **AI**. A key that Z.AI will not serve is refused with Z.AI's reason and what to do, for example "Z.AI won’t serve this key yet." Before, such a key showed as connected and every message failed. See [Connect your AI subscription](/docs/connect-your-ai#troubleshooting). * When your teammates are busy for a long time, or your squad's computer restarts, the Squad chat and your group chats stay in the sidebar. They used to disappear when your squad's computer restarted, or after 10 minutes without contact from it. When your squad's computer really is not answering, the Squad chat says "Your squad isn’t answering right now, so new messages can’t reach your teammates. Try again in a few minutes.", and a message that you send stays in the box. See [Use the Squad chat](/docs/chat#use-the-squad-chat). * A chat message that waits while your teammates are busy with other work no longer fails with "No reply arrived". See [Limits and defaults](/docs/limits-and-defaults#chat). * **More** in the sidebar starts folded, and stays the way you leave it in your browser. A pinned place shows its pin filled in, and a place under **More** shows it as an outline, also on a phone's **More** page. Each item in **Pinned** takes one line, and a pinned conversation shows its teammate's face. See [Pin a place to the sidebar](/docs/what-squad-is#pin-a-place-to-the-sidebar). * A place that is new to the sidebar says **New** for its first month, until you open it or pin it. **Contacts** and **Wallet** are the first. While **More** is folded over a new place, it shows a blue dot, also in the collapsed sidebar and on a phone's **More** tab. See [New places](/docs/what-squad-is#new-places). * Press P on a focused place in the sidebar to pin or unpin it. While **Docs** has a count, its row's menu has **Mark all docs as read**, and U does the same. See [Search and keyboard shortcuts](/docs/search#shortcuts-on-one-screen). * A purchase reads as one sentence everywhere it asks, for example "Otis wants to pay \$23.06 at Example Store.", with any later charge at the end. A free trial says that the teammate wants to save your card, with nothing to pay now. **Needs you** shows the same card as the chat, and **Today** lists each purchase that waits for you with **Review and approve** and the time by which to approve, instead of a count. See [Approve a purchase](/docs/payment-cards#approve-a-purchase). * Purchase states use new words: **Waiting for your approval**, **Paid**, **Not approved in time**, **This store can’t take it**, and **The store needs a person**. A free trial has its own words. See [Follow a purchase](/docs/payment-cards#follow-a-purchase). * The **Wallet** shows **No cards yet** with what a card is for, then one line above your cards. Under **They can also use it when they work for**, each switch saves by itself, with no **Save** button, and shows what Squad saved. **Purchases** lists each purchase, with **Review and approve** on the one that waits for you. See [Choose who may use a card](/docs/payment-cards#choose-who-may-use-a-card). * On a question that asks for access to an app, the button says **Connect** and the app's name. It opens that app's own connect in **Settings** > **Apps**, or a new custom integration with the name filled in when the app is not in the catalog. See [Answer a question](/docs/tickets#answer-a-question). * The squad switcher says **Shared with you** for a squad that another person shared with you, instead of **Teammate**. The teammate's card in chat that asks for a card is now **Add a card to your Wallet**. See [Run more than one squad](/docs/billing#run-more-than-one-squad). * A teammate's email draft or escalated email in a chat message shows as a card with **To**, **Subject**, and the words. The owner or an Administrator can select **Send now** or **Discard** on a draft, and **Open in Email** or **Dismiss** on an escalation. When it no longer waits, the card says "No longer waiting on you." See [Email conversations in chat](/docs/chat#email-conversations-in-chat). * When a conversation is too long for the teammate's model, **Start a new conversation** under the failed reply opens a new conversation with your message in the composer. Failure messages in a teammate's chat now name the teammate. See [Retry a message that failed](/docs/chat#retry-a-message-that-failed). * A conversation with replies that you have not read opens at the first of them. A browser tab that you cannot see no longer marks replies as read. See [Open a teammate's chat](/docs/chat#open-a-teammates-chat). * Dragging a file over a conversation, a new conversation, a group chat, or a task's comment box shows "Drop to attach to your message". A picture waiting to go with your message shows the picture in its chip. See [Attach files](/docs/chat#attach-files). * Double-click a conversation in a teammate's list to rename it. A conversation's title is bold only while it has an unread reply. See [Find and switch conversations](/docs/chat#find-and-switch-conversations). * In **Needs you**, **Over a day** and **Over 30 days** count the emails that wait on you too. Under a filter, **Dismiss** and the number of emails dismisses them at once. They stay in **Email**, and **Undo** brings them back. The 30-day card names each kind. See [Clear only old questions](/docs/tickets#clear-only-old-questions). * A signed-out or expired AI account shows **Signed out** or **Expired**, with **Reconnect** on its row in **Settings** > **AI**. **Login invalid** is now **Signed out**. See [Choose models and manage AI accounts](/docs/ai-accounts#read-an-account-row). * With 7 or more custom integrations, **Find an integration** finds one by name, purpose, field, or address. See [Add an MCP server or an API key](/docs/custom-integrations). * **Find a setting** also lists **Wallet**, **Skills**, **What your squad knows**, and **History** under **Outside Settings**, so a search for "card" finds the Wallet. See [Find a setting](/docs/settings#find-a-setting). * Search fields such as **Search conversations**, **Search tasks**, **Search docs**, **Search email**, and **Find a setting** have a clear button (**Clear the search**), and each **Copy** on a trigger's page says **Copied**. See [Search and keyboard shortcuts](/docs/search). * When a teammate's computer screen cannot open, the screen says so in plain words, for example "The computer’s screen is still starting. Try again in a minute." See [Watch or take over a teammate's computer](/docs/computer#troubleshooting). * Squad for Mac (private beta): your group chats stay in the sidebar while your squad has group chats, also while your teammates are busy or your squad's computer restarts. When your squad isn't answering, the Squad chat says so, and a message that you send there shows "Not sent" with **Retry** and **Edit** instead of waiting in a room that nobody reads. The notch, the menu bar, and the Dock count other squads' group chats by the same rule. See [Use the Squad chat](/docs/chat#use-the-squad-chat). * Squad for Mac (private beta): GPT-5.5 leaves the ChatGPT model lists. GPT-6.1 Sol is the model to pick instead. See [Choose models and manage AI accounts](/docs/ai-accounts). * Squad for Mac (private beta): **What's new** lists the web's updates through mid-October, and its links to **Contacts** and the **Wallet** open those screens. See [See what changed in Squad](/docs/getting-help#see-what-changed-in-squad). * Squad for Mac (private beta): once a purchase no longer waits for you, its sentence says that the teammate "asked to" pay or to save your card, and **Connect** on an access ask names the app as the catalog does, for example **Connect HubSpot**. See [Let your teammates pay with your card](/docs/payment-cards). ## Fixed * Squad for Mac (private beta): **Revise with** and **Tell** … **what to do** on an email show only for the owner, because only the owner can write in the email's conversation. An Administrator keeps **Send now**, **Discard**, and **Dismiss**, and reads why. See [Email items on the Mac](/docs/tickets#email-items-on-the-mac). * The helpers that an agent on a Claude Code account starts are no longer stopped after 10 idle minutes, which lost their work. The agent's run now stays open until they finish, unless a time limit ends it. See [Limits and defaults](/docs/limits-and-defaults#runs). * After you sign in with the correct password, the login page goes straight to the dashboard. It no longer shows the code step for a moment. * A message or an email that is sent once now arrives once, also when the browser repeats the send after a dropped connection. * A run that is still going no longer drops off **Runs** when it started before the days that you are viewing. * A rate limit from your provider no longer moves your agents to the next Claude Code account. Only a usage limit does. See [Choose models and manage AI accounts](/docs/ai-accounts). * A message that a restart of your squad's computer caught at the wrong moment no longer stays on working for 15 minutes. It goes out again as you sent it. * Squad for Mac (private beta): the selection bar shows its labels above the words that you selected. * Squad for Mac (private beta): **Needs you** no longer keeps a processor core busy. See [Answer what needs you](/docs/tickets#on-squad-for-mac-private-beta). * Squad for Mac (private beta): the bell fits on the screen and scrolls. * Squad for Mac (private beta): a new conversation's row no longer stays "Sent" after the reply arrives. * Squad for Mac (private beta): only one sidebar row is marked at a time. * Squad for Mac (private beta): long conversations open quickly. * Squad for Mac (private beta): you can scroll up in a conversation while an agent works. * Squad for Mac (private beta): the working dots no longer slow the app down while an agent works. * A chat reply that fails before the agent starts, for example because the model does not exist, no longer leaves **Working…** and **Stop** under the failure message. On **Runs**, the run shows the cause of the failure. See [Chat failure messages](/docs/agent-stuck#chat-failure-messages). * For a teammate, opening a reply from the bell now clears it from the count. See [Use the bell](/docs/notifications#use-the-bell). * **Message on Telegram** on the lead's profile now shows only to the workspace owner, because the main bot answers only the owner's Telegram account. See [Add, change, and pause agents](/docs/agents) and [Connect Telegram](/docs/telegram). * Files that you download from the dashboard keep their name and extension. They no longer save under a code instead of their name. * **Disconnect** on an AI account no longer reports success when the account was not removed, and no longer stays on **Disconnecting…** when the request fails. * Squad for Mac (private beta): ⌘C, **Copy** in the right-click menu, and dragging now copy the words that you selected in a chat message. See [Select text](/docs/chat#select-text). * Squad for Mac (private beta): code blocks and quotes now show in chat messages, and lines in a code block break between words. See [Read messages](/docs/chat#read-messages). * Squad for Mac (private beta): a file opened from the chat's side panel no longer shows an empty Quick Look with "No items selected". See [The side panel](/docs/chat#the-side-panel). * Squad for Mac (private beta): **Assigned to you** on **Today** lists only your missions, not every person's. See [Assigned to you](/docs/today#assigned-to-you). * Squad for Mac (private beta): the recent activity, the jump back into a recent conversation, and today's schedule now load on **Today**. See [Today](/docs/today). * **Forget all…** on the **Memory** screen, and the memory step of a workspace reset, delete your squad's memories again. See [Clear all memories](/docs/memory#clear-all-memories). * A chat run that fails before the agent starts, for example with a model that does not exist, now shows as failed on **Runs** at once. It no longer stays running, and the chat no longer shows **Stop** under the failure message. See [Error texts in a run](/docs/agent-stuck#error-texts-in-a-run). * A chat run that a restart cut off and that Squad continued now shows "A restart interrupted this run; Squad resumed it automatically." on **Runs**, and **resumed** on **Health**. It no longer says **not run again**. See [Interrupted runs](/docs/agent-stuck#interrupted-runs). * **Runs** now says when a day has more runs than it can list, instead of leaving out the earliest runs without a word. See [Limits and defaults](/docs/limits-and-defaults#runs). * An app that you connect from a connect card in chat in the dashboard can be shared with everyone. In a workspace with teammates, the card asks, like **Integrations**. Before, such an account was always private. See [Who can use an account](/docs/integrations#who-can-use-an-account). * Agents now describe an email escalation the way it shows on the **Email** screen, with **Instruct** and **Dismiss**. See [Handle escalations](/docs/email#handle-escalations). * Squad for Mac (private beta): Tab moves through every row of a list, also the conversations beside a chat, and reaches the buttons on chat cards. See [Move with the keyboard](/docs/mac/keyboard-shortcuts#move-with-the-keyboard). * Squad for Mac (private beta): letters that you type into a box, for example an answer in **Needs you**, go into the box instead of acting as shortcuts. See [Answer on the Mac](/docs/tickets#answer-on-the-mac). * App event triggers now wake their agents. Before, Squad refused every event that a connected app sent, so these triggers did not start runs. The app's notices about connected accounts, for example that an account expired, now reach Squad too. See [Start work when something happens (triggers)](/docs/triggers). * Memory no longer learns from work that starts with an email to an agent's inbox or with a trigger's event, so text from outside your workspace does not become a shared memory. See [How your squad learns](/docs/memory#how-your-squad-learns). * An agent can now forget a memory that it saved, by the ID that it got when it saved it. A memory that is already gone no longer makes the request fail. See [Memory](/docs/agent-capabilities#memory). * Squad for Mac (private beta): the app no longer crashes when a list row has nothing to draw. * Squad for Mac (private beta): an email shows "Loading the message…" until its text arrives, instead of its preview. A draft's buttons wait for the text. See [Email on Squad for Mac (private beta)](/docs/email#on-squad-for-mac-private-beta). * Squad for Mac (private beta): a request to see your screen no longer shows **Replace it** on its button while Screen Recording is off. See [Answer a request](/docs/mac/mac-access#answer-a-request). * Squad for Mac (private beta): when Squad cannot remember a folder that you chose with **Always for this folder**, the request still goes through once, and the notch says so. See [Answer a request](/docs/mac/mac-access#answer-a-request). * Squad for Mac (private beta): filled icons sit in the center again. * Squad for Mac (private beta): when something that you click does not go through, such as moving a doc, undoing a task, or changing a teammate's role, the app says so. * Squad for Mac (private beta): when **Ask what it needs** does not go through, the app says so instead of showing **Asked**. See [Handle tasks that wait with nothing asked](/docs/tickets#handle-tasks-that-wait-with-nothing-asked). * A run that works on one long step, such as a long command, no longer shows **Timeout** after 10 minutes, and its chat message no longer fails with "No reply arrived" while the agent is still answering. The run tells Squad that it is still working. See [Limits and defaults](/docs/limits-and-defaults#runs). * Files that you attach in chat now reach agents on a Claude Code account. Before, such an agent got the message without the file. See [Common questions](/docs/chat#common-questions). * Agent conversations that start from now on no longer push your group chats out of the sidebar. See [Read your agents' conversations](/docs/chat#read-your-agents-conversations). * Squad for Mac (private beta): two Macs with the same name are now two Macs in your workspace. Before, they shared one connection, and both answered its requests. The other Mac starts with no shared folders, so share them again on that Mac. It counts toward the Macs per workspace limit. See [When your Mac is connected](/docs/mac/mac-access#when-your-mac-is-connected). * Squad for Mac (private beta): a folder that you share again with **Read and save files** shows once in **Shared folders**, instead of twice. See [Share folders](/docs/mac/mac-access#share-folders). * Squad for Mac (private beta): agents now know that the open browser tab gives them the page's title and address, not its text. See [Your Mac](/docs/agent-capabilities#your-mac-private-beta). * Squad for Mac (private beta): a long message keeps its full height when the window or the chat's side panel changes size. It no longer shows cut off at the top and bottom. * Squad for Mac (private beta): in the command palette (⌘K), pointing at a result highlights that result, and Return opens the highlighted result, also when new results arrive while the palette is open. * Runs of a scheduled task on a Claude Code account show the task's name in **Runs** and on the calendar, instead of "Claude Code lane". Runs from before the fix keep the old name. See [See what your agents did](/docs/runs-and-health). * A teammate's bell no longer shows the owner's reply notifications. Each person, teammates too, now gets reply notifications in their own bell for the conversations that they are in. See [Reply notifications](/docs/notifications#reply-notifications). * Squad for Mac (private beta): links that open **Settings**, for example **Reconnect**, **Open AI settings**, and the bell's gear, open the Settings window again. * Squad for Mac (private beta): **Find a setting** no longer opens an empty AutoFill panel. * Squad for Mac (private beta): when a new squad is ready, Squad now sends the notification that setup promises, also with its window closed. With notifications off, setup no longer promises one. See [Set up a new squad](/docs/mac/overview#set-up-a-new-squad). * Squad for Mac (private beta): the last result in the command palette (⌘K) is no longer cut off at the bottom of the list. * Squad for Mac (private beta): after you switch squads, the squad that you left shows its counts in the notch at once. * Squad for Mac (private beta): a skill pack card with a long author name no longer pushes into the card beside it. * The YouTube **Search** and **Comments**, Instagram **Posts**, and TikTok research tools work again. They had stopped working. See [Research tools reference](/docs/research-tools#youtube). * Reddit research with a time window, Reddit post comments, and Product Hunt launches return results again. They came back empty. Product Hunt launches now come from today's launches, at most 25. See [Research tools reference](/docs/research-tools#other). * LinkedIn **Company** and a LinkedIn **Search** for companies return the industry's name, instead of a raw record. See [Research tools reference](/docs/research-tools#linkedin). * Squad for Mac (private beta): Quick Look shows the file that you clicked, also while the cursor is in the composer or in a search box. It sometimes showed "No items selected". * Squad for Mac (private beta): a bell row for a mention in a group chat opens that group chat, not a conversation with one agent. * Squad for Mac (private beta): a teammate's working line at the end of a conversation no longer shows cut off, without its name and face. * In the command palette, Return opens the result that is highlighted, also when new results, such as contacts, arrive while the palette is open. See [Search and keyboard shortcuts](/docs/search#command-palette). * DeepSeek V4.1 Flash on OpenCode works again, and Qwen3.8 Max on OpenRouter works. Qwen 3.7 Max on OpenCode is replaced by **Qwen 3.8 Max (OpenCode)**. You do not need to pick these models again. See [Choose models and manage AI accounts](/docs/ai-accounts). * The **Day** view of **History** no longer leaves out runs before 8 AM and after 6 PM, and a run's details no longer show its start time as its end time. See [See what your squad did](/docs/runs-and-health). * Squad for Mac (private beta): version 1.0.66 fixes a crash a few minutes after launch, and then on every launch, in version 1.0.65, which was available for a short time. Update to 1.0.66 if you have 1.0.65. See [Updates](/docs/mac/settings#updates). * Squad for Mac (private beta): the menu bar panel grows or shrinks to fit what arrives while it is open. See [The menu bar](/docs/mac/notch-and-menu-bar#the-menu-bar). * Squad for Mac (private beta): Tab reaches every routine of a day in the **Routines** week, and the row letters and the **Needs you** keys work with Caps Lock on. See [Keyboard shortcuts](/docs/mac/keyboard-shortcuts). * Squad for Mac (private beta): an app account's level shows as Squad applies it. An account from before the levels shows the app's top level. * An AI account with no credits, balance, or plan now shows "Your AI provider account is out of credits. Top it up, or switch accounts in Settings → AI." in chat, and the message is not tried again. Before, some providers' answer, for example Z.AI's for an account without a GLM Coding Plan, showed "Your AI provider is limiting requests right now. Retry in a few minutes.", and each message was tried again. See [Chat failure messages](/docs/agent-stuck#chat-failure-messages). * When you set aside a card for work that did not finish, it stays away for the rest of the day while the same thing keeps failing. It used to come back each time the same routine failed again. A different problem still shows on its own, and a problem that still fails the next day shows again. See [Fix work that did not finish](/docs/runs-and-health#fix-work-that-did-not-finish). * When a group chat cannot reach your squad, the error says "Your squad isn't answering right now, so this message didn't reach your teammates. Try again in a few minutes." It used to ask you to restart the runtime's gateway, which you cannot do. See [Chat with your teammates](/docs/chat#troubleshooting). * On an escalated email, an Administrator or a Collaborator now reads "Only the squad’s owner can tell" the teammate "what to do about an email." instead of an offer to tell the teammate how to resolve it, which the next screen refused. See [Handle escalations](/docs/email#handle-escalations). * Squad for Mac (private beta): when you dismiss old emails together in **Needs you**, a conversation that got a newer email stays, also one whose email came while Squad was dismissing. See [Answer questions in Needs you](/docs/tickets). * Squad for Mac (private beta): a chat's email card no longer says "No longer waiting on you." about an email that may still wait on you. * Squad for Mac (private beta): the Wallet's switches for who can use a card show what Squad saved. * Squad for Mac (private beta): a Viewer's note on a card that they cannot act on says that someone who can act takes it, not a teammate. See [Answer chat cards](/docs/chat#answer-chat-cards). # September 2026 Source: https://squad.so/docs/changelog/2026-september Human teammates and more than one squad per account, Slack as a chat channel, a computer in the cloud for every squad, and a Model routing card with Claude Opus 5.5 as the new Claude default. You can now invite people to your workspace and run more than one squad, your agents can join Slack, and every squad gets its own computer in the cloud. AI Tokens gained a Model routing card, usage meters, and more than one account per provider, and Claude Opus 5.5 leads a large set of new models. ## New * You can now invite human teammates to your workspace. Open **Settings** > **Team** to invite people by email as a Collaborator, Administrator, or Viewer, and to limit a teammate to some agents. Teammates can read and send chat with the agents you allow, and agents answer each teammate by name. Billing and credits stay with you. Each person's connected accounts stay theirs until that person shares them, and each teammate has their own notification settings. See [Invite teammates to your workspace](/docs/teammates). * Each scheduled task has a new setting, **Accounts it can use**, once your workspace has teammates. **Shared accounts and my own accounts** lets each run use the shared accounts and the accounts of the person who saved the task. **Only accounts shared with everyone** limits it to the shared accounts. See [Choose the accounts of a scheduled task](/docs/scheduled#choose-the-accounts-of-a-routine). * You can now run more than one squad from one account. Open the workspace card at the top of the sidebar and choose **New squad team**. Each squad has its own subscription. See [Run more than one squad](/docs/billing#run-more-than-one-squad). * Your agents can now join Slack. You pick an agent before you create the Slack app, and the app shows in Slack as that agent. Agents reply in a thread by default in channels, groups, and direct messages, and a toggle on the app card turns threads off. Agents can also send to Slack from the dashboard and from other channels. A **Verify connection** button on each app checks its tokens and permissions and says what to fix. See [Connect Slack](/docs/slack). * Your squad's computer is now on for every workspace. You can watch an agent's screen live, take over and hand back, and teach a task. Each agent has its own browser with its own logins, and the browser opens on a page that names the agent and explains this. See [Watch or take over an agent's computer](/docs/computer). * **AI Tokens** has a new **Model routing** card. It shows the default model, the fallback models in the order Squad tries them, and every agent that has its own model. You can change the default, reorder, add, or remove fallbacks, and clear an agent's model there. This card is now the only place to edit fallback models, so Agent Configuration no longer has its own fallback list. See [Choose the default model and fallback models](/docs/ai-accounts#choose-the-default-model-and-fallback-models). * You can now connect more than one Claude Code account. When one account reaches its usage limit, Claude Code runs move to the next account by themselves. You can add the account's email to tell the accounts apart. Gemini, OpenCode, Qwen Cloud, and Workers AI now also take more than one key. Before, a second key replaced the first. Extra Workers AI tokens must come from the same Cloudflare account, and extra Qwen Cloud keys from the same plan. See [Add another account for a provider](/docs/ai-accounts#add-another-account-for-a-provider). * Account rows on **AI Tokens** now show usage meters for ChatGPT, Claude, Claude Code, GitHub Copilot, OpenRouter, Kimi, and Z.ai accounts. ChatGPT, Claude, Claude Code, and Copilot show how much of each usage limit is used and when it resets. OpenRouter, Kimi, and Z.ai show the credit used or the balance left. Before its first run, a Claude Code account shows the tokens used in the last 5 hours and the last 7 days. See [Read an account row](/docs/ai-accounts#read-an-account-row). * Gemini now connects with a Google AI Studio API key and brings the four Gemini 3 models. The older Gemini connection is removed. See [Connect your AI subscription](/docs/connect-your-ai). * You can now connect Cloudflare Workers AI with an API token and your account ID. It runs open models on your own Cloudflare account, among them DeepSeek V4 Pro, GPT-OSS 120B, Llama 4 Scout, Kimi K2.7 Code, GLM-5.3, GLM-5.2, DeepSeek V4 Flash, and Qwen3.8 27B. See [Connect your AI subscription](/docs/connect-your-ai). * You can now connect OpenCode Zen with one API key. It gives models from several vendors, among them GPT-6.1 Sol, GPT-6 Astra, Claude Opus 5.5, Gemini 3.8 Flash, Grok 4.6, and the free Big Pickle. See [Connect your AI subscription](/docs/connect-your-ai). * New models are available: Claude Opus 5.5 and Claude Sonnet 5.5 (Anthropic, Claude Code, OpenRouter, OpenCode), GPT-6.1 Sol (ChatGPT, OpenRouter, OpenCode), GPT-6 Sol and GPT-6 Luna (ChatGPT, OpenRouter), Claude Fable 5.1, GPT-6 Astra, DeepSeek V4.1 Flash (OpenRouter, OpenCode), and Grok 4.7. OpenRouter also adds GLM-5.3, GLM-5.3 Flash, Qwen3.8 Max, Qwen3.8 Flash, and DeepSeek V4 Flash. New Grok workspaces still start on Grok 4.6. See [Choose models and manage AI accounts](/docs/ai-accounts). * A message icon on an agent now opens its conversation in the right-side panel, so you stay on your screen. The message icon in the top bar shows how many conversations have replies you have not read and lists them, and with no unread replies, one click opens your last conversation. A doc that you click in a mission, a profile, or a chat opens in a panel above your screen. See [Top bar and sidebar](/docs/search#top-bar-and-sidebar). * Chat now has conversation tabs and unread dots. When two or more conversations are open in the side panel, a tab strip lets you switch between them in place, and pointing at a tab shows the agent, the title, and the newest message. A reply that you have not read shows a dot on the agent's sidebar row and on its tab, and the conversation list marks threads with new replies. See [Switch between open conversations](/docs/chat#switch-between-open-conversations). * You can now pin a conversation to the sidebar. Use the pin in the conversation header or the thread panel, or choose **Pin a conversation** in the command palette. Pins show on all your devices. See [Pin things to the sidebar](/docs/chat#pin-things-to-the-sidebar). * You can now point at a connected app account in a message. Type **#** in the composer and pick an account, for example Slack for one workspace, so the agent knows which account you mean. Apps that are not connected yet show too. See [Point at missions, docs, and apps](/docs/chat#point-at-missions-docs-and-apps). * You can now mark a mission as ongoing. Ongoing missions are never flagged as stuck, and **Hide ongoing** on the board hides them. A quiet mission now gets a nudge to its agent first, and you get a ticket only if nothing moves after the nudge. See [Track work on the Missions board](/docs/missions#edit-a-task-or-mark-it-as-ongoing). * The sidebar now has a **Tickets** row with the count of open tickets. In My Tickets, the **Aging** filter shows tickets that have waited on you for more than a day, and you can archive all filtered tickets at once. See [Answer tickets in My Tickets](/docs/tickets). * **Integrations** has a new **Channels** tab with Telegram, Discord, and Slack. Each card opens that channel's setup screen. See [Talk to your squad from Telegram, Discord, or Slack](/docs/channels). * Agents now have @handles that you can see and use. The agent profile shows the handle beside the role, and the mention picker in mission comments matches handles. Agents can set a short handle when they create another agent, and @mentions of that handle reach the right agent. See [Rename an agent or change its handle](/docs/agents#rename-an-agent-or-change-its-handle). * You can now give one agent its own image model, the model that reads screenshots and photos. Set it in the agent's **Image model** setting or in **Model routing** on **AI Tokens**. See [Change an agent's model](/docs/agents#change-an-agents-model). * You can now connect more than one account of the same MCP server. Each account has its own name, and each server shows one card with an **Add account** control and a row for each account. See [Connect a second account of the same server](/docs/custom-integrations#connect-a-second-account-of-the-same-server). * Billing now has a **Research tools** card with one switch for all built-in research tools. When the switch is off, the tools stop and use no credits. See [Turn research tools off](/docs/costs#turn-research-tools-off). * You can now pause an agent's email inbox with **Pause inbox** and turn it back on with **Resume inbox**. Mail that arrives while the inbox is paused waits for the agent. See [Pause an inbox](/docs/email#pause-an-inbox). * New agent inboxes now get addresses at agents.squad.so. An inbox on the earlier built-in domain can move to agents.squad.so from its domain picker, and the old address then stops receiving. You can also clear the emails of deleted inboxes with **Clear emails from deleted inboxes** in the shared email settings. See [Give an agent an email inbox](/docs/email). * Squad now emails you about escalations and drafts that wait for your approval, not only the bell. The weekly summary email is now called **Weekly check-in**. See [Know what the weekly check-in contains](/docs/notifications#know-what-the-weekly-check-in-contains). * You can now pick a keyboard layout on the computer screen. The computer types in the layout you pick, out of 15 common layouts. See [Pick your keyboard layout](/docs/computer#pick-your-keyboard-layout). * You can now attach files to a mission reply. Use the attach button, drop a file on the composer, or paste it. The files go to the mission's attachments. * The skill page now shows every file in the skill, not only SKILL.md. Click a file to read it. The details panel stays in view while you scroll. See [Add and manage skills](/docs/skills). * Documents, missions, and skill pages now have **Hide details**. It hides the details column so the content takes the full width. * When you cancel your subscription, Squad now asks for a short written reason. Until the end date, **Keep my subscription** undoes the cancellation. See [Undo a cancellation](/docs/billing#undo-a-cancellation). * The Squad docs now live at squad.so/docs. The in-app Help links there, and your agents answer questions about Squad from the same docs, with a link to the article. See [Get help](/docs/getting-help). ## Improved * Squad now lives at squad.so, with a new look across the dashboard and the notification emails. * Home is the start of the dashboard. The top bar logo opens Home, a What's possible preview replaces the credit chart, and the Home composer lets you pick which agent gets your message. The sidebar drops the Home, Runs, What's possible, and Live Feed rows, and Runs moves to a row in Settings. Two new icons at the bottom of the sidebar open Custom integrations and Agent Configuration. * Claude Opus 5.5 is now the default for new Claude, Claude Code, and OpenRouter workspaces. Claude Opus 5, GPT-5.4, GPT-5.3-Codex, Spark, GLM-5, and GLM-5-Turbo are removed from the model lists. See [Choose models and manage AI accounts](/docs/ai-accounts). * Your squad now tries every connected account and every fallback model in order before a run fails. Before, an account in cooldown or an unknown error could stop the run early. See [Rate limits and fallback](/docs/agent-stuck#rate-limits-and-fallback). * The run time limit is no longer a setting. The **Run time limit** card in Agent Configuration says that runs have no time limit, and a limit left from before shows **Remove the limit**. New scheduled tasks get 24 hours, and a task with a shorter limit shows **Raise to 24 hours**. A long Claude Code turn no longer stops after 60 minutes without output. See [Time limits](/docs/agent-stuck#time-limits). * A paused agent now stays paused. Chat messages to it are refused with a clear message, and @mentions, mission assignments, and emails wait until you resume it. Your lead agent can now pause and resume other agents for you. See [Pause an agent](/docs/agents#pause-an-agent). * The **Default model** card is now at the top of Agent Configuration, with **Add other models** at the end of its picker. The allowed-models list folds by provider. Model names without a version say that they always run the newest model of their family, and the Claude Code Opus and Sonnet rows say which version that is, for example "latest (now 5.5)". See [Choose the default model and fallback models](/docs/ai-accounts#choose-the-default-model-and-fallback-models). * Saves in Agent Configuration are now instant. The change applies in the background, and a notice shows until it is live, so you can save again right away. See [Settings reference](/docs/settings#teammates). * Models now use their full context window, for example 1,000,000 tokens for GPT-5.5, the GPT-5.6 models, GLM-5.3, and MiniMax M3. New Claude models now reach every workspace without a reconnect. * The lead agent's heartbeat scheduled task now starts switched off in new workspaces. Your lead offers to turn on check-ins, and you can turn them on from the Scheduled screen. See [Turn on heartbeats](/docs/scheduled#turn-on-heartbeats). * The chat composer is faster and easier to learn. A sent message shows at once, typing @, /, or # opens a list that filters as you type, and the skill list opens at once when you type **/**. The message box grows with long messages, line breaks you type show in chat, the text stays in line with the cursor, and the box shrinks back after you send. You can drop a file anywhere on the conversation or the thread panel. Squad chat and mission comments now use the same composer, so Shift+Enter adds a new line there too. See [Use the composer](/docs/chat#use-the-composer). * Chat reopens where you left it for each agent, and you can drag the chat panels as wide as you like. Chat times now say when, for example "Yesterday 11:42 AM" or "3 days ago", and pointing at a time shows the full date. See [Chat with your agents](/docs/chat). * The Runs screen now marks a run that went quiet as **Presumed stopped** in amber instead of a red timeout. If the run reports back, the row corrects itself. When every model in the fallback list fails, the run error now leads with the first failure. See [Read a run's detail](/docs/runs-and-health#read-a-runs-detail). * Scheduled tasks are easier to manage. The task editor is wider, its instructions box grows with the text, and a custom schedule shows a plain-language preview such as "Runs at 08:00 AM, only on Tuesday and Thursday". On the **Scheduled** screen, the agent name opens that agent's settings, and the error badge shows the error text and opens the failed run on the Runs screen. See [Manage tasks on the Scheduled screen](/docs/scheduled#manage-routines). * Setup is more reliable. A slow build now retries on the same computer instead of failing, and **Reset & start fresh** cannot be used while a build runs. After you pay, the page shows "Payment received" until your account is ready. See [Fix setup problems](/docs/setup-troubles). * A ticket now names the mission it belongs to, and **Discuss with** opens a chat about the ticket in the side panel with starter questions. Links in a ticket's ask are clickable, answered sections fold to one line, and **Provide details** always opens the answer box. See [Answer tickets in My Tickets](/docs/tickets). * When a Claude Code account signs itself out, the bell rings and AI Tokens shows a banner. In the chat, the raw error becomes one readable line that points to AI Tokens. The run error says to reconnect the account instead of "Context overflow", and the run moves on to the fallback models. * ChatGPT accounts now renew their sign-in before it expires, so agents keep working after a quiet period. See [Keep ChatGPT accounts renewed](/docs/ai-accounts#keep-chatgpt-accounts-renewed). * Credits are now quieter. Credit alerts show only in the bell and no longer come by email, the weekly email no longer shows the credit balance, and the navbar no longer shows a credits counter. Billing explains that only the built-in research tools use credits. See [Choose your notifications](/docs/notifications). * After you cancel, the workspace owner can subscribe again from the lock screen. Checkout opens on the page, and your squad's computer starts again right away. See [Use the lock screen](/docs/billing#use-the-lock-screen). * Agents now know which chat channels are connected. They post to Slack with the right channel form, and they do not ask you for a channel ID or a bot token. * Agents now follow your explicit instruction over their skill defaults. * Integration accounts now show which account they are, including the email of Google accounts, and each account's menu acts on that account. The Integrations screen has one add button instead of several. See [Connect apps](/docs/integrations). * The page that opens after an MCP sign-in now shows one spinner, closes itself after a clean success, and has a button back to Custom integrations. The key field for a bare server URL is now labeled **Authorization: Bearer**. See [Add an MCP server or an API key](/docs/custom-integrations). * The agent profile header now has one Message button, icon buttons for the computer and Configure, and a More menu, so the status timeline shows first. Agent avatars are now circles. See [Add, change, and pause agents](/docs/agents). * Activity rows and bell notifications now show formatted text with clickable links and doc chips. **Mark all read** now clears every notification in the bell at once. See [Use the bell](/docs/notifications#use-the-bell). * Disconnecting an app or an AI account, removing a secret, and deleting a doc now ask you to confirm first. * Screens now fit the panel they are in. With a wide chat panel open, layouts drop to one column instead of crushing, and wide tables scroll sideways. When you open a screen from another one, its back button now returns you there and names it. * Squad works better on a phone. The page no longer zooms in when you tap a text field, and crowded rows, memory cards, and the sidebar fit the screen. * Settings search now finds words like "secret", "variable", "env", and provider names, and the command palette reaches Agent Tools, Telegram, Discord, Slack, and Public Dashboard. See [Search and keyboard shortcuts](/docs/search). * Archived missions now have a link back to the board, and you can delete an archived mission (it goes to Trash). See [Archive, delete, and restore missions](/docs/missions#archive-delete-and-restore-tasks). * **Forgot password?** now tells you when no account uses that email, or when the account signs in with Google. See [Fix setup problems](/docs/setup-troubles). * The sign-in code for device connections now shows first and stays visible while Squad confirms the sign-in. * The Squad chat room now shows only when you have at least two agents. * When you invite a Collaborator or an Administrator, the invite dialog offers **Share my connected accounts with everyone in this workspace**. See [Share your accounts when you invite](/docs/teammates#share-your-accounts-when-you-invite). * In a workspace with teammates, connecting a new app account asks whether to share it with everyone. See [Who can use an account](/docs/integrations#who-can-use-an-account). * Only the person who connected an app account can now share it or make it private. You and your Administrators keep **Disconnect**, **Make primary**, **Rename**, and **Manage scope**. See [Who can use an account](/docs/integrations#who-can-use-an-account). * An account that a teammate connected shows **Connected by** and their name. See [Who can use an account](/docs/integrations#who-can-use-an-account). * **Remove** on a teammate's row now asks you to confirm and says what happens. See [Remove a teammate or revoke an invite](/docs/teammates#remove-a-teammate-or-revoke-an-invite). * A paused agent now names who paused it, for example "Paused by" and your lead's name. The Activity entry uses the same name. See [Add, change, and pause agents](/docs/agents). * The workspace card says **Teammate** for a squad that you joined and **Setting up** for a squad that is being built, instead of adding the word plan. * On busy squads, the **Runs** screen and chat now stay fast. Long run lists draw as you scroll, and a new run or reply no longer reloads the whole list. See [See what your agents did](/docs/runs-and-health). ## Fixed * Long agent turns no longer get answered twice. Before, a long turn could be marked as failed while it still worked, and a second copy of the agent or the next model answered the same message. * A run that hangs after repeated rate-limit errors is now stopped, so new messages to that agent no longer wait for hours. * Schedule presets now save correctly. Before, "Hourly" and "Daily" saved nothing, and "Every 2 hours", "Every 4 hours", and "Every 12 hours" ran every 2, 4, and 12 minutes. Pausing a scheduled task from the Scheduled screen now works too. See [Schedule presets](/docs/scheduled#schedule-presets). * Five research tool families work again: YouTube search, YouTube comments, LinkedIn profile search, Instagram, and TikTok. See [Research tools reference](/docs/research-tools). * Busy workspaces with many skills no longer restart again and again, which had stopped runs with "the workspace runtime restarted". * Claude Code no longer fails with a version error when you pick a newly released model. * GLM and Grok vision models read images again. * MCP servers whose tools use a newer JSON Schema version now work. * Read-only access to an app now includes its read tools, so an agent can, for example, list GitHub pull requests. GitHub code search, issue listing, and issue updates also work at the access levels that include them. See [Choose an access level](/docs/integrations#choose-an-access-level). * Chat no longer looks frozen after you steer an agent during a tool step. The thread shows that the agent is working until the reply comes. * Agents now address you by your name, not by the workspace name. * An @mention typed in the first message of a new conversation now creates the group chat. * Files you attach to a message no longer attach again to your next messages. Long ticket names in a chat no longer wrap onto a second line. * **Export as PDF** on a doc now shows the formatted document, not the raw text. Exported documents now say Squad in the footer. See [Export a doc](/docs/squad-docs#export-a-doc). * Runs now shows all research and tool events in its window, and the Integrations, Research, and Scheduled-runs filters hide the rows they name. See [Find a run](/docs/runs-and-health#find-a-run). * The calendar week view stays readable when many tasks run a few minutes apart. See [See your week on the calendar](/docs/scheduled). * The Docs badge now counts docs that changed since you read them. See [Read-state badges](/docs/squad-docs#read-state). * **Settings** > **Integrations** now counts your connected apps. Before, it always showed "1 connected". * Pasted keys and tokens that wrapped onto several lines in a terminal are now accepted. * When the checkout for **New squad team** cannot open, a message now shows under the menu item. Before, nothing happened. See [Run more than one squad](/docs/billing#run-more-than-one-squad). * Agent browsers on some squads' computers could not start, so every page that an agent opened failed. They start again. # Changelog Source: https://squad.so/docs/changelog/overview Find what changed in Squad each month since February 2026. This page lists every monthly changelog page, newest first. Each entry gives a short summary of that month. Open a month to see the full list of new features, improvements, and fixes. Each page lists only changes that you could see or use, based on what shipped that month. ## 2026 * [October 2026](/docs/changelog/2026-october): The dashboard with the same names and layout as Squad for Mac (private beta), projects on the web, contacts and pipelines, payment cards in the Wallet, a sidebar with More and pinned places, form cards, settings that apply without a restart, conversations that never reset, Fork and Edit in chat, Stop for a running run, and triggers. * [September 2026](/docs/changelog/2026-september): Human teammates and more than one squad per account, Slack as a chat channel, a computer in the cloud for every squad, and a Model routing card with Claude Opus 5.5 as the new Claude default. * [August 2026](/docs/changelog/2026-august): Live Squad chat and group chats, your own MCP servers, the Memory screen, skill packs, and a browser for every agent. * [July 2026](/docs/changelog/2026-july): A redesigned dashboard with tickets, many new AI subscriptions including Claude Code, Discord and multiple Telegram bots, and a new Scheduled screen. * [June 2026](/docs/changelog/2026-june): Fallback models, the GLM-5.2 model, scheduled emails, email allow and block lists, and a lock screen for inactive subscriptions. * [May 2026](/docs/changelog/2026-may): Email inboxes for your agents, built-in research tools, 72 connected apps with access levels, and a rebuilt dashboard. * [April 2026](/docs/changelog/2026-april): ChatGPT, MiniMax, and Z.AI subscriptions with GPT-5.5 and a reasoning effort setting, document folders, and a Skill Management page. * [March 2026](/docs/changelog/2026-march): Agent Configuration for models, heartbeats, and scheduled tasks, a redesigned dashboard with My Queue, notifications by bell and email, and the GOD View run timeline. * [February 2026](/docs/changelog/2026-february): Squad's first release: a lead agent on Telegram that builds your squad, a dashboard with a tasks board, Squad Chat, and docs, and Claude Sonnet 4.6 as the default model. # Talk to your squad from Telegram, Discord, or Slack Source: https://squad.so/docs/channels Understand how chat channels work, who can talk to your teammates through them, and how they differ from connected apps. The dashboard chat is always available. A chat channel is an extra way to reach the same teammates from a chat app that you already use. Squad has three chat channels: Telegram, Discord, and Slack. All three are optional. You can connect them at any time. To open them, select **Settings**, then **Apps**, then the **Telegram**, **Discord**, or **Slack** tab. The owner and Administrators can open them. A Collaborator or a Viewer cannot. ## How a channel works Every channel works with bots. You create the bot in the chat app, and you paste its token into Squad. Squad then sets up the bot on your squad's computer. The bot settings live there, and the channel screens read them from there. Each bot has three settings: * **Answered by:** the one teammate that answers the bot. The default is **Your chief of staff (default)**. You can pick any other teammate. * **Who can message it:** the list of people who can send the bot direct messages. Everyone else is refused. * **Group or channel answers:** whether the bot also answers in group chats or channels. You can connect more than one bot, for example one bot for each teammate or one bot for each audience. Each bot has its own teammate and its own list. A running bot shows no status on its card. A bot that is not running shows **Offline**. Teammates know which channels are connected. A teammate can also post to a connected channel by itself, for example when you ask your chief of staff to post a summary in a Slack channel. ```text Ask your chief of staff theme={null} Post this week's summary in the #sales-wins channel on Slack. ``` ## The three channels side by side | | Telegram | Discord | Slack | | - | - | - | - | | What you create | A bot, with @BotFather | An application with a bot, in the Discord Developer Portal | An app, from a manifest that Squad gives you | | What you paste | The bot token | The bot token and your Discord user ID | An app-level token, a bot token, and your Slack member ID | | First bot | The main bot. Only the owner can message it. Your chief of staff answers it. | Any bot. You choose who answers. | Any app. You choose who answers before you create it. | | More bots | Yes, after the main bot | Yes | Yes | | Groups or channels | Group chats. The bot answers only people on its list. | Server channels, when someone @mentions the bot | Channels, when someone @mentions the app | | Groups on by default | Main bot: off. Extra bots: on. | On | On | | Special features | Group topics on extra bots | An **Add to a server** link on each bot | **Reply in a thread**, on by default, and **Verify connection** | The how-to pages have the exact steps: ## Who can reach your teammates The list under **Who can message it** controls direct messages on every channel. Groups and channels work differently on each chat app: * **Telegram** checks every sender, also in groups. In a group chat, the bot answers only people on its list. When you turn on group chats, you give no new person access. * **Discord** does not check senders in server channels. When server channels are on, the bot answers anyone who @mentions it in a server that it was invited to. To invite a bot, a person needs the Manage Server permission on that server. * **Slack** does not check senders in channels. When channels are on, the app answers anyone who @mentions it in a channel that it was invited to. Only people in a channel can invite the app to it. So on Discord and Slack, the people who can add the bot to a server or channel decide where it works. If a bot must answer only the people on its list, turn off its server channels or channels. Then it answers direct messages only. The owner is always on the list of every Telegram bot and cannot be removed. On Discord and Slack you are the first person on the list, but you can remove yourself when someone else is on it. A Discord or Slack list cannot be empty, because an empty list answers nobody. ## Chat channels and connected apps are different things A chat channel is a way for you to talk to your teammates. A connected app is a tool that your teammates use to do work. See [Connect apps](/docs/integrations). Slack is both, and you connect each one separately: * On **Settings** > **Apps** > **Slack**, you connect the Slack bot that you chat with. The tab says **This is the Slack bot you chat with.** * On the **Apps** page, you give teammates Slack as a tool. With it, they can read channels and post messages as part of their work. When Slack or Discord is connected as a chat channel, a teammate does not offer you a card to connect the same product as an app, unless you tell it that you want the app too. ## What channels do not do * Squad has no chat channel for WhatsApp, Microsoft Teams, or Webex. These are only apps. Teammates can use them as tools after you connect them on the **Apps** page. * The Telegram main bot does not accept other people. To give someone access to a teammate on Telegram, connect an extra bot and add them to its list. * A channel does not give anyone the dashboard. To let a person sign in to the dashboard, invite them to your squad. See [Invite people to your squad](/docs/teammates). * Do not share a bot between squads. If you have more than one squad, create a new bot for each one. * A change on a channel screen does not restart your squad's computer. Only the chat app that you changed reconnects, with all of its bots. For example, a change to one Telegram bot reconnects every Telegram bot. It waits until your squad finishes its current work. Until then, the previous settings still apply, including who can message which bot. ## Messages on every channel screen The Telegram, Discord, and Slack screens share these messages. Each channel page lists its own messages too. | Message | Cause | Fix | | - | - | - | | "Saved. Your squad is in the middle of work, so this takes effect when it finishes. Until then, the previous settings (including who can message which bot) still apply." | The change is saved. The bot reconnects with it when your squad finishes its current work. | Nothing. Do not save again. | | "Saved, but the bot couldn’t start with the new settings. Check its details and save again." | The change is saved, but the bot did not start with it. | Check the bot's details, then save again. | | "Saved to your squad’s runtime, which is still applying it. Until it does, the previous settings (including who can message which bot) may still apply. Give it a minute; no need to save again." | The change is saved, and your squad's computer has not applied it yet. | Wait a minute. Do not save again. | | "Saved to your squad’s runtime, which is still restarting. Until it’s back, the previous settings (including who can message which bot) may still apply. Give it a minute; no need to save again." | The change is saved. Your squad's computer restarted to apply it and is not back yet. | Wait a minute. Do not save again. | | "Couldn’t reach your squad’s runtime — try again." or "Couldn’t read your squad’s runtime." | Squad could not reach your squad's computer. | Wait a moment, then try again. If it keeps happening, see [Fix a teammate that is stuck or failing](/docs/agent-stuck). | | "Couldn’t update your squad’s runtime — try again." or "Couldn’t set the bot up on your squad’s runtime — try again in a moment." | The change did not reach your squad's computer. | Try again in a moment. | | "@\[bot] is already connected to this workspace." | The bot is already on the screen. | Use the bot's card to change it. | | "That agent can’t answer chats yet — pick another." | The teammate was added a short time ago and is not ready yet. | Wait a few minutes, or choose another teammate in **Answered by**. | | "That agent isn’t in this workspace." | The teammate was removed. | Choose another teammate in **Answered by**. | | "Bot not found" | The bot was removed, for example in another tab. | Reload the page. | | "Keep the list under 50 people." | The **Who can message it** list is full. | Remove people, or connect another bot for them. | | "Couldn’t update the list. Try again.", "Couldn’t update routing. Try again.", "Couldn’t update the bot. Try again.", or "Couldn’t remove the bot. Try again." | The change did not save. | Try again. | # Chat with your teammates Source: https://squad.so/docs/chat Talk to one teammate, a group, or the whole squad. Find conversations, pin them, put them in projects, use mentions, skills, files, and chat cards, and fork, edit, or stop a reply. Chat is the fastest way to give a teammate work or to get an answer. You can talk to one teammate, to a group of teammates, or to the whole squad in the Squad chat. Squad for Mac (private beta) shows the same conversations. Where the Mac differs, a short note in each section says how. For a project's folder on the Mac, see [Give a project a folder on your Mac](/docs/mac/project-folders). ## What you can do here | You want to | Go to | | - | - | | Ask one teammate something | [Start a direct chat](#start-a-direct-chat) | | Find an earlier conversation | [Find and switch conversations](#find-and-switch-conversations) | | Keep a conversation, task, doc, email, or routine one click away | [Pin things to the sidebar](#pin-things-to-the-sidebar) | | Bring a teammate in, run a skill, or point at a doc | [Use the composer](#use-the-composer) | | Answer a question or a request that a teammate puts in chat | [Answer chat cards](#answer-chat-cards) | | Talk to several teammates at once | [Start a group chat](#start-a-group-chat) or [Use the Squad chat](#use-the-squad-chat) | | Keep all the conversations about one client or job together | [Group conversations into projects](#group-conversations-into-projects) | | Copy a reply, try another direction, or change what you sent | [Copy, fork, or edit messages](#copy-fork-or-edit-messages) | | Stop a reply that is going the wrong way | [Stop a reply in progress](#stop-a-reply-in-progress) | | Fix a message that failed | [Retry a message that failed](#retry-a-message-that-failed) | | Start over with one teammate | [Reset a conversation](#reset-a-conversation) | | Clear old conversations out of the list | [Archive or delete a conversation](#archive-or-delete-a-conversation) | | Remove a file that you sent by mistake | [Delete a file that you sent](#delete-a-file-that-you-sent) | For when to use chat and when to create a task, see [Give your squad work that it can finish](/docs/delegate). ## Start a direct chat In the sidebar, under **Your squad**, select the teammate. Their chat opens. If you talked before, it opens the conversation that you had open last. Select the pencil (**New conversation**) next to **Conversations**. The screen says **A new conversation with** and the teammate's name, with three starter prompts. Select a prompt to put it in the composer. Type your message in the composer (**Message** and the teammate's name). Press Enter, or select **Send**. **Send** stays grey until there is something to send. A message that you send from a new conversation (**A new conversation with** and the teammate's name) starts a new conversation with that teammate. While the teammate works, the conversation shows **Working on it**, or what the teammate is doing right now. Then the reply arrives in the conversation. Other ways to open a chat: * Press ⌘K (Ctrl+K on Windows) and type the teammate's name. See [Search and keyboard shortcuts](/docs/search). * Press `C` to open the chat. * On a teammate's **About** page, select **Chat** at the top. See [Add, change, and pause teammates](/docs/agents). * On a phone or a narrow window, the top row has a message icon (**Your conversations**). When you have replies that you have not read, it shows a count. Select it to see them under **Replies to you**. When you are caught up, it opens your chat. **Today** has no composer. You talk to a teammate in their chat. A conversation with replies that you have not read opens at the first of them, so that you read a long reply from its start. A conversation that a teammate started opens at its first message when that message is new to you. With too many new replies, it opens at the newest instead, because what you have read is kept for each browser. See [Limits and defaults](/docs/limits-and-defaults#chat). A reply that arrives while you read does not move the view, unless you were at the end. On Squad for Mac (private beta): * A teammate's chat opens the conversation that a link sent you to, else the one that you had open last on this Mac, else the newest one. * A conversation with replies that you have not read opens at the first of them with its day line, also in the notch. A conversation in a closed or hidden window does not mark replies as read. See [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). * You can also open a chat from **Go** > **Next New Reply** (⌥⌘↓), from the bell, or from the notch. See [Keyboard shortcuts](/docs/mac/keyboard-shortcuts) and [Use the notch and the menu bar](/docs/mac/notch-and-menu-bar). * To start a conversation, select the compose button above the conversation list, or **New conversation** in the list's **⋯** menu. When the list does not show (one conversation and none archived), select **New Conversation** in the conversation's header. The new conversation says "Brief" and the teammate's name "like a new hire: the goal, what to read, and what done looks like." Press Return to send. The conversation shows in the list with "Sending…", then "Sent". ### Where a conversation opens On a window that is at least 1024 pixels wide, the chat shows three parts side by side: the list of **Conversations**, the open conversation, and, when the conversation made something, the **In this conversation** panel. On a narrower window, you see the list or a conversation. A new conversation has **Conversations** at the top to go back to the list, and an open one has a back arrow (**Close thread**). The chat header has these controls: | Control | What it does | | - | - | | The teammate's face, name, and role | A dot that circles the face means the teammate is working. See [Statuses](/docs/statuses). | | **Chat** and **About** | Switch between the teammate's chat and their **About** page. See [Add, change, and pause teammates](/docs/agents#open-a-teammates-about-page). | | **Watch** | Opens the teammate's computer. It shows here while no conversation is open, and in the conversation's own header while one is open. See [Watch or take over a teammate's computer](/docs/computer). | | **In this conversation** | Shows or hides the panel of what the conversation made. It shows only when the conversation made something. | | Gear (the teammate's name and **’s setup**) | Opens the teammate's setup. See [Change a teammate's model](/docs/agents#change-a-teammates-model). | | **More** (⋯) | Holds **Start a fresh conversation**. See [Reset a conversation](#reset-a-conversation). | **Watch** shows only to the owner and Administrators, unless the computer screen is turned off for your squad. **More** shows only to the owner and Administrators. ### Work with conversations The open conversation's header shows its name. In a project, the project's name comes first. Select it to open the project. See [Group conversations into projects](#group-conversations-into-projects). Select **More** (⋯, **More for this conversation**) in the conversation's header for these actions: | Action | What it does | | - | - | | **Pin to sidebar** or **Unpin from sidebar** | Adds the conversation to **Pinned** in the sidebar, or removes it. | | **Rename**, or **Name this conversation** for a conversation with no name | Type a name, then select **Save** or press Enter. Press Esc to cancel. For the longest name, see [Limits and defaults](/docs/limits-and-defaults#chat). | | **Move to project…** or **Move to another project…** | Moves the conversation into a project, or out of one. See [Move a conversation into a project](#move-a-conversation-into-a-project). | | **Archive** | Takes the conversation out of the list. See [Archive or delete a conversation](#archive-or-delete-a-conversation). | * The teammate names a direct conversation on its own as soon as the topic is clear, and renames it when the topic moves. A name that a person gave always stays. When someone already named the conversation, a line under the header says the teammate suggests another name. Select **Use this name** to take it, or **Keep current name** to keep yours. Squad remembers the names that you turned down most recently in a conversation and does not offer them again. See [Limits and defaults](/docs/limits-and-defaults#chat). Teammates do not rename group chats. * If you clear the name, the teammate can name the conversation again, and Squad forgets the names that you turned down there. * Above the replies, the conversation shows how many replies it has. To see earlier replies in a long conversation, select **Show earlier replies**. What you type in a composer stays there if you move to another screen, and so do files that you attached. Squad keeps the draft for each conversation until you send it or close the browser tab. You can copy a teammate's reply, fork a conversation, and edit a message that you sent. See [Copy, fork, or edit messages](#copy-fork-or-edit-messages). You cannot delete a single message. To stop a reply in progress, see [Stop a reply in progress](#stop-a-reply-in-progress). #### Conversations on Squad for Mac (private beta) * Click the conversation's title to rename it. Type the name, then press Return or select **Save**. Esc cancels. * The conversation's **ⓘ⋯** menu (**Conversation actions**) has **Pin to Sidebar** (owner only), **Move to Project** (not in an email conversation), **Copy Link to This Conversation**, **Open on the Web**, and **Archive Conversation**. * When the teammate suggests a name, quiet text beside the title says so. Click the title, then select **Use** followed by the name, then **Save**. Or select **Not this one**, and the name is not offered again. You see the suggestion only where you can rename the conversation. * For the owner and Administrators, **Watch** keeps the teammate's browser in a small window above your other apps. See [Watch or take over a teammate's computer](/docs/computer). * Squad keeps what you type in each conversation, with its chips and files, also when you quit. When you open the conversation again, "Your unsent draft is back." shows with **Discard**. Squad drops old drafts, and clears all drafts when you sign out. See [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). ### How a teammate remembers a conversation A teammate remembers each conversation for as long as it goes on. Conversations do not reset on their own, so you can come back to a conversation the next day and continue where you stopped. When a conversation gets long, the teammate shortens its working memory of the older part. This is the same for your conversations with teammates on Telegram, Discord, and Slack. Each conversation is separate. The teammate does not remember another conversation word for word. It has what is in its files and what the squad's memory holds. While the memory switches are on, that memory learns lasting facts from conversations and gives the teammate what bears on your request, so a fact from one conversation can come up in another. See [How your squad learns](/docs/memory#how-your-squad-learns). A conversation in a project also carries the project's name and notes. The teammate reads them with each of your messages there. A fork and a new version of an edited message start a new conversation for the teammate. When the teammate has no memory of a conversation yet, for example in a fork or a new version, Squad gives it the conversation so far with your next message. A long conversation is shortened. See [Limits and defaults](/docs/limits-and-defaults#chat) and [Copy, fork, or edit messages](#copy-fork-or-edit-messages). To delete one conversation, archive it, then delete it. See [Archive or delete a conversation](#archive-or-delete-a-conversation). To delete all your direct conversations with a teammate and their context, see [Reset a conversation](#reset-a-conversation). ### See what a conversation made When a conversation made something, the **In this conversation** panel opens on the right by itself. It lists, newest first: * The files in the conversation, with their kind and size. * The tasks that the conversation started. * The docs, emails, and lists that were written in it. On Squad for Mac (private beta), the panel is the side panel. Its button sits beside **Chat** and **About** (**Show the side panel** or **Hide the side panel**). Select a file to preview it in Quick Look, or right-click it for **Preview**, **Open**, and **Copy Link**. When the window is too narrow, the panel stays closed. Group chats have no side panel. Select an item to open it. Select the x (**Close the panel**) to close the panel. Your browser remembers that you closed it. To open it again, select **In this conversation** in the header. Drag the panel's left edge to resize it, and double-click the edge to reset its width. A conversation that made nothing has no panel. The panel does not show on a narrow window. ## Find and switch conversations The **Conversations** list beside the open conversation holds your conversations with this teammate, newest first. Each row shows the conversation's name, or its first line when it has no name, and the time of the last message. * A small spinner means the teammate works on that conversation now. * A blue dot and a bold name mean a reply that you have not read. See [Which replies are new for you](#which-replies-are-new-for-you). * Under your conversations, **Group chats** lists the group chats that this teammate is in. The Squad chat is not in this list. Open it from the sidebar. * At the bottom, **Show older conversations** loads older ones, and **Archived conversations** shows the archived ones. To find a conversation, type in **Search conversations**. The list matches conversation names. To empty the field, select the x (**Clear the search**). To group the list, select **More** (⋯, **Group by**) next to **Conversations**, then pick: | Option | What the list shows | | - | - | | **None** | One list, newest first. | | **State** | **Working**, then **Unread**, then **Earlier**. Empty sections do not show. | | **Project** | One section for each project, in the sidebar's order, then **No project**. Select **+** next to a project's name (**New conversation in** and the project's name) to start a conversation in it. Archived projects have no **+**. | Your browser remembers your choice. Point to a row and select **More** (⋯) for these actions. You can also press the letter while the row has keyboard focus. The letters do not work while you type. | Action | Letter | | - | - | | **Pin** or **Unpin** | P | | **Mark as read** (only for an unread reply) | U | | **Rename** | R | | **Move to project…** | None | | **Fork** | F | | **Archive** | A | **Rename** turns the row into a name field. Press Enter to save, or Esc to cancel. You can also double-click a row to rename it. **Fork** starts a new conversation from the teammate's last reply. It shows only when the conversation can be forked and no reply is on its way. **Mark as read** clears the blue dot in the list and in the sidebar, the same as opening the conversation. ### The conversation list on Squad for Mac (private beta) The list shows once the teammate has more than one conversation, or an archived one. A mark at the left of each row says its state: | Mark | Meaning | | - | - | | Spinner | **Working**: the teammate works in this conversation. | | Orange dot | **Needs you**: the conversation waits on you. | | Blue dot | **New reply**: a reply that you have not seen. | | None, or a ticket or envelope symbol for a question or email conversation | **Nothing new**. | * **Search conversations** finds conversations by title or by the text of the last message. * The **⋯** menu (**Conversation list options**) has **New conversation**, **Show previews** (the last line of each conversation), **Group by**, **Open** and the name's **chat on the web**, and, for the owner and Administrators, **Start fresh with** and the name **…**. See [Reset a conversation](#reset-a-conversation). * **Archived** with the count holds the archived conversations. To act on a row, right-click it, or point to it and select **⋯** (**More**). The letters work as on the web, with these differences: | Letter | Command on the Mac | Who can use it | | - | - | - | | P | **Pin to Sidebar** or **Unpin from Sidebar** | Only the owner. Not for email conversations. | | U | **Mark as Read** or **Mark as Unread**. **Mark as Unread** keeps a blue dot until you open the conversation again on this Mac. | Every role. | | R | **Rename…** | Everyone except a Viewer. Only the owner renames an email conversation. | | F | **Fork Conversation**. When the teammate has not replied yet, a message says that there is nothing to fork from. | Everyone except a Viewer, in a plain one-to-one conversation. Not for a question's conversation. | | A | **Archive**. A message says where the conversation went, with **Undo**. If it was open, the next conversation opens. | Everyone except a Viewer. Only the owner archives an email conversation. | **Move to Project** in the same menu also has **New Project…** and **Remove from Project**. A question's conversation can move to a project. An email conversation cannot. ## Pin things to the sidebar The **Pinned** section of the sidebar keeps tasks, docs, emails, routines, and conversations one click away. Your pins follow you. A pin that you add on your computer shows on your phone and in every other browser where you sign in. To pin something: | What | How | | - | - | | A conversation | In the conversation's header, select **More** (⋯), then **Pin to sidebar**. Or point to its row in **Conversations**, select **More** (⋯), then **Pin**. | | A task | On **Tasks**, select **⋯** on the card, then **Pin to top**. The message **Pinned to sidebar** shows. | | Anything | Press ⌘K (Ctrl+K on Windows) and select **Pin a task**, **Pin a doc**, **Pin an email**, **Pin a reminder**, or **Pin a conversation**. Then select **Pin** next to the item. | | Anything, after your first pin | Select **+** (**Pin something**) next to **Pinned**, then pick **Task**, **Doc**, **Email**, **Reminder**, or **Conversation**. | A reminder is a routine. The **Pinned** section shows only when you have at least one pin. The picker for conversations lists each teammate's recent conversations. To pin an older one, open it and use **More** in its header. People that you invited, Administrators included, can pin only tasks and docs from ⌘K and the **+** menu. To open a pinned item, select it in the sidebar. To remove a pin, point to it and select the x (**Unpin**). Each pin takes one line. A pinned conversation shows the teammate's face and its current name, so it updates when you rename the conversation. Point to a pin to see what it is, for example "Chat with Tai". When you delete a conversation, its pin is removed too. A pin shows in the sidebar after Squad saves it, which usually takes a moment. If a pin does not show, the save failed. Pin it again. **Pin to top** on a doc is different. It pins the doc to the top of the **Docs** screen, not to the sidebar. See [Find and manage your squad's docs](/docs/squad-docs#pin-a-doc). After a squad reset, the **Pinned** section starts empty. On Squad for Mac (private beta), select **+** (**Pin something**) beside **Pinned**, choose what to pin under **Pin a…**, then search, select the item in **Pin to the sidebar**, and select **Done**. The **+** shows after your first pin. Before your first pin, use **Pin a task** or **Pin a doc** in the command palette, or **Pin to Sidebar** in an item's menu. **Pinned** shows the first few pins, then **Show all** with the count. To unpin, point to the pin and select the x, or right-click it and choose **Unpin**. Pins sync with the web dashboard and your other Macs. For the numbers, see [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). ## Use the composer Every composer works the same way: in a new conversation, in an open conversation, and in a group chat. The Squad chat and task comments have a smaller set of features. See the table at the end of this section. | To | Do this | | - | - | | Send | Press Enter, or select **Send**. | | Add a new line | Press Shift+Enter. | | Mention a teammate | Type **@**. See [Mention teammates](#mention-teammates). | | Run a skill | Type **/**. See [Run a skill](#run-a-skill). | | Point at a task, a doc, or an app | Type **#**. See [Point at tasks, docs, and apps](#point-at-tasks-docs-and-apps). | | Attach files | Select the paperclip (**Attach files**), paste a file, or drag files onto the chat. See [Attach files](#attach-files). | | Start a group chat | In a new conversation, select **Add teammates**. See [Start a group chat](#start-a-group-chat). | | Start the conversation in a project | In a new conversation, select **Project**. See [Start a conversation in a project](#start-a-conversation-in-a-project). | | Reuse a message you sent | With the cursor at the start of the text, press ↑. Press ↑ again for older messages and ↓ to step back. In an open conversation, ↑ steps through your messages in it. In a new conversation, it steps through your messages in all your conversations with that teammate. Up to 50 messages. | The **@**, **/**, and **#** pickers open only at the start of a word. A line at the top of the picker says what it lists, for example **Teammates. Keep typing to filter; Enter mentions your pick.** Use the arrow keys to move, press Enter or Tab to pick, and press Esc to close it. | Composer | **@** | **/** | **#** | Files | | - | - | - | - | - | | A teammate's chat and a group chat | Teammates | Skills | Tasks, docs, and apps | Yes | | Squad chat | Teammates and **Everyone (@all)** | No | Docs only | Yes | | Task comment | Teammates | No | Apps | Yes | On Squad for Mac (private beta), the composer works the same way, with these keys and differences: | Key | What it does | | - | - | | Return or ⌘Return | Sends the message. With a picker open, Return picks the highlighted row. | | Shift-Return or Option-Return | Adds a new line. | | ⌘⇧A | Opens **Attach**, to pick files. | | ↑ | At the very start of the box, shows your earlier messages in this conversation. ↓ goes back toward the newest, then to what you typed. | * When you select a **#** chip, it shows what it sends, with **Open** and **Details**. * The **/** list shows your skills, then packs, research tools, and apps. * The composer has no model or teammate picker. ### Mention teammates Type **@**, then type part of a name. Press Enter to insert the mention. | Where you type the mention | What it does | | - | - | | A reply in a direct conversation | Invites the teammate and turns the conversation into a group chat. See [Turn a direct chat into a group chat](#turn-a-direct-chat-into-a-group-chat). | | The first message of a new conversation | Starts a group chat with the teammates that you mention. | | A group chat | Only the teammates that you mention get the message. With no mention, every teammate in the group gets it and decides whether to speak. | | The Squad chat | Only the teammates that you mention wake. **@all** reaches every teammate. | | A task comment | Wakes the mentioned teammate. A comment with no mention does not wake anyone. See [Track work on Tasks](/docs/missions#steer-a-task-with-a-comment). | Each message that wakes a teammate starts a run on your connected AI account. For what uses credits, see [What Squad costs and what uses credits](/docs/costs). ### Run a skill In a composer, type **/**. Type part of a skill name to filter the list. Press Enter or Tab to insert the skill as `/skill-name`. Add your instructions and send the message. The list shows your squad's skills first, then skill packs, then scrapers and app integrations. Each row shows where the skill comes from. The list does not show skills that are off or that need repair. For more, see [Add and manage skills](/docs/skills). ### Point at tasks, docs, and apps Type **#**, then pick an item. The list has tasks, docs, and apps. Apps that you have not connected show **Not connected yet**. Your pick goes with your message as a chip. Select a chip (**See what this sends**) to see what it sends: the item, **Sent with your message**, and **Open it**. The teammate gets the reference and reads the rest itself. To remove a chip before you send, select its x. In a teammate's reply or in the Squad chat, a doc link written as `#` and the doc title in lowercase with hyphens (for example `#weekly-report`) opens the doc. The link must match the whole title. A number such as `#101` never links to a doc, because teammates use numbers for issues and pull requests. ### Attach files * Select the paperclip (**Attach files**) to pick one or more files. * Paste a file into the composer. * Drag files onto a conversation, a new conversation, or a group chat. While a file is over it, it says "Drop to attach to your message". The paperclip shows **Uploading…** while a file uploads. A file chip shows in the composer when its upload is finished. A picture's chip shows a small copy of the picture. To remove a file, select the x on its chip (**Remove** and the file name). You can send files with no text. **Send** waits until every upload is finished. Files in a conversation show as chips. Select a chip to download the file with its own name and extension. While it downloads, the chip shows how much is done. To open the file in a new tab instead, Cmd-click it (Ctrl-click on Windows). If a download fails, a message says so, for example **We could not download report.pdf. Try again.** If an upload fails, no file chip shows, and the paperclip says **Upload failed · Try again**. Check that there is a chip for each file before you send. On Squad for Mac (private beta): * Select **Attach** (the paperclip), or press ⌘⇧A. You can also paste files, paste an image, or drag files onto the box. * A pasted image is attached as "Pasted image" with the time. It attaches as a picture also when the app that copied it put a name or link beside it as text. A picture dragged from a browser onto the box attaches too. * Each file shows as a chip with "Uploading" while it uploads. Select the x on a chip to remove the file. * Folders are skipped. If one file fails to upload, a message says so, and the other files still attach. * Images in a conversation show as thumbnails. Other files show as chips with the name and size. Click a file to preview it in Quick Look. Right-click it for **Preview**, **Open** (in its own app), **Save to Downloads**, **Copy Link**, and **Delete File…** where you can delete it. A task comment can carry up to 10 files, and a task can carry up to 40 files in total. See [Limits and defaults](/docs/limits-and-defaults). #### Delete a file that you sent If you sent the wrong file, you can delete it without deleting the conversation. In your message, point to the file and select the trash icon (**Delete this file**). The dialog **Delete this file?** says what happens. Select **Delete file**. Squad deletes the file from Squad, and every exact copy of it from your squad's computer, so no teammate can open it again from Squad. A changed copy, for example a resized image or text taken from a PDF, is not found and stays. A file that a git repository on the computer tracks is kept. The message stays, and the file's place shows **Attachment deleted**. Copies of the message, for example in a fork or another version, show the same. A teammate that already read the file may still remember what it said in this conversation. You cannot undo this. You can delete files that you sent. The owner and Administrators can delete any file that a person sent in a chat. Files that a teammate sent cannot be deleted this way. On Squad for Mac (private beta), point to the file and select the trash button (**Delete this file**), or right-click it and choose **Delete File…**. Confirm with **Delete File**. A Viewer cannot delete files. ### Send a message while the teammate is busy A teammate works on one message at a time in each conversation. If you type while the teammate is replying, the composer says that the teammate is still replying and that your message will queue and be answered next. The message shows **Queued**. The teammate answers it next. To hand the queued message to the run in progress, select **Steer now** (**Hand this to the run in progress instead of waiting**). The label changes to **Steering…**, and the reply covers both messages. ### Sending states on Squad for Mac (private beta) When you send, your message leaves the box at once and shows faded with "Sending…", then "Sent". If it fails, it shows "Not sent" with the reason and two buttons: * **Retry** sends it again. A message that already went through is not sent twice. * **Edit** puts the words and files back in the box. A message that turns a conversation into a group chat stays in the box with "Sending…" until it goes. If it fails, your message stays in the box. **Steer now** works only while your squad's live connection is up. ## Copy, fork, or edit messages Point to a message to show its tools. On a phone or a touch screen, they always show. The version arrows always show. | Tool | Where it is | What it does | Who can use it | | - | - | - | - | | Copy (**Copy**) | Under a teammate's reply | Copies the text of the reply. The button shows **Copied**, or **Could not copy** if the browser did not allow it. | Everyone who can read the conversation | | Fork (**Fork from here**) | Under a teammate's reply in a direct conversation | Starts a new conversation with everything up to that reply. | You, Administrators, and Collaborators | | Edit (pencil, **Edit**) | Under a message that you sent, in a direct conversation | Starts a new version of the conversation from that message. | The person who wrote the message, except a Viewer | | Version arrows, for example **1/2** | Under a message where a version starts | Shows another version of the conversation. | You, Administrators, and Collaborators. A Viewer sees the number but no arrows. | Fork, Edit, and the version arrows work only in a direct conversation with one teammate. They are not in group chats, the Squad chat, conversations between teammates, or email conversations. For other cases where they do not show, see [When Fork and Edit are not available](#when-fork-and-edit-are-not-available). ### Read and act on replies on Squad for Mac (private beta) * The buttons under a reply always show under the newest reply, and when you point to an earlier one. **Copy** copies the whole reply as Markdown. **Read aloud** reads the reply aloud. Select it again to stop. * Code blocks show in a panel with no copy button. Select the code and press ⌘C, or use **Copy** under the reply. * Hover over a time to see the full date. Group chats and the Squad chat show only their newest messages. * To edit your message, select the pencil, change it, then select **Send** or press ⌘Return. Select text in a message, and a bar shows over the selection: * **Quote in reply** puts the words at the top of your draft as a quote. * **Ask about this**, on a teammate's reply, sends "Tell me more about this:" with the words in this conversation. When the message cannot go out on its own, for example to a paused teammate, the question goes into your draft instead. * **Copy** copies the words as plain text. Right-click a selection for **Quote in Reply** and **Ask About This**. ⌘C and dragging the text out copy it too. Esc clears the selection. Quoting never pings the teammates who are mentioned in the words. A Viewer gets only **Copy**. ### Fork a conversation Fork when you want to try another direction and keep the first one. Point to the teammate's reply where the new conversation should start from. Select the fork icon (**Fork from here**). The button shows **Forking…**. To fork from the last reply, you can also use **Fork** in the conversation's row menu in **Conversations**. Squad opens the new conversation. Type your next message there. The fork: * Is named **Fork of** and the name of the original conversation, until the teammate gives it a name of its own. A name that you type stays. * Has the messages up to and including that reply, with their files. Failed messages and system lines are not copied. * Shows email drafts that were waiting for your review as discarded, and cards that nobody answered as dismissed. Nothing in a fork can be sent or answered a second time. * Ends with a line that says **Forked from** and the original name, with a button to open the original. The original conversation does not change. When you send your first message in the fork, the teammate gets the conversation so far with it. ### Edit a message that you sent Point to your message and select the pencil (**Edit**). Change the text. The editor says **Sending starts a new version of the conversation from here. The arrows under it switch back.** Select **Send**, or press Cmd+Enter (Ctrl+Enter on Windows). To keep the message as it was, select **Cancel** or press Esc. The messages after the one that you edited move to the earlier version, and the teammate answers your new text. Files that you attached to the message stay with it. Under your message, the arrows show the new version, for example **2/2** after the first edit and **3/3** after the next. ### Switch between versions Under the message where a version starts, select **‹** (**Show the previous version**) or **›** (**Show the next version**). The messages after that point change to the other version. Each version is its own conversation for the teammate. When you continue in a version, the teammate remembers that version only. ### When Fork and Edit are not available Fork, Edit, and the version arrows do not show in some older conversations, or when your squad's computer does not run a recent enough version of Squad. **Copy** always shows. | Message | Cause | Fix | | - | - | - | | **Wait for the reply to finish.** when you point to the tool, or "Wait for the reply to finish, or stop it, then try again." | A reply is on its way in this conversation. | Wait for the reply, or [stop it](#stop-a-reply-in-progress). | | "This conversation is too long to fork or edit." | The conversation has more messages than Squad can fork or edit. See [Limits and defaults](/docs/limits-and-defaults#chat). | Start a new conversation. | | "Forking and editing need your squad's computer on the latest version. Try again after it updates." | Your squad's computer has not updated yet. | Try again later. The computer updates on its own. | | "This conversation was edited or forked, and continuing it needs your squad's computer on the latest version. Send it again after it updates." | Your message is in a fork or an edited conversation, and the computer cannot continue it now. | Send the message again later. | | "This conversation was edited or forked, so it continues only over your squad's chat channel, which this workspace isn't using right now. Start a new conversation to keep going." | The squad is not on the live chat channel. | Start a new conversation. | ## Stop a reply in progress Before you start: you must be the owner or an Administrator. Collaborators and Viewers do not see **Stop**. In the conversation, find the teammate's working message under your message. Select **Stop** beside it. Select **Stop the run**. To let the teammate continue, select **Keep going**. **Stopping…** shows until the run ends. The conversation then shows "This run was stopped before the agent replied. Anything it already saved stays." The teammate keeps the conversation, and you can send your next message. **Stop** in a conversation stops only the run of that conversation. The same teammate's work in another conversation goes on. If the teammate finished its reply before the stop arrived, the reply stays. For what Stop does, and what to do when it does not go through, see [Stop a run](/docs/runs-and-health#stop-a-run). ## Answer chat cards A teammate can put a card in a chat when it needs you to act, or when a card shows its work better than text. Some cards have buttons. The card remembers what you did, on every device. | Card header or look | What the teammate needs | What you do | | - | - | - | | **Paused for your answer** with option buttons | A choice | Select an option. Your pick goes to the teammate as your reply. Some of these cards also show **Not now**. After you answer, the card shows your pick and **Answered**, the time, and **sent to the teammate**, or **Dismissed** and the time. | | **Connect** and the app name | Access to an app | Select **Connect** and the app name, then finish the sign-in. The header changes to **Finish signing in**, and the button to **Authorize again** if you need to retry. If other people are in your squad, the card also shows **Share this account with everyone in this workspace**. See [Who can use an account](/docs/integrations#who-can-use-an-account). When the app is connected, the card shows a check and the app. If the connection expired, the card shows **The connection expired** and **Reconnect in Integrations**. | | **An app connection to add** | A new MCP server | Check the name and URL, then select **Add server**. If the server needs a sign-in, a new tab opens for it. When it is done, the card shows **added** and **Manage in Tools**. | | **A key to add** | An API key or secret | Paste each value and select **Save to vault**. The card says **Goes straight to your workspace vault. The chat never sees it.** When it is done, the card shows **saved to the vault**. | | A question card | An answer to a question | Answer in the card. See [Answer questions in Needs you](/docs/tickets). | | **Form to fill** and a site | Values only you know for a page, such as a sign-in | Fill the fields and select **Fill the form**, or select **I can't fill this**. See [Fill a form that a teammate sends you](/docs/form-cards). | | **Add a card to your Wallet**, or a purchase card | A payment card in your card vault, or your approval of a purchase | See [Let your teammates pay with your card](/docs/payment-cards). | | **Your computer needs you** | You to act on the teammate's computer, for example to sign in | Select **Take over** to use the computer. The card shows **You have the keyboard.** When you finish, select **I’m done**. | | **Task created** | Nothing. It tells you the teammate created a task. | Select the card to open the task. It shows the title, the priority, and **Owned by** and the teammate's name. | | A link card with an icon | Nothing. It points at a doc, a list, or an email, and says which kind it is. | Select the card to open it. | | **used** and tool names | Nothing. It lists the tools the teammate used. | Nothing. | | A draft in a box | Nothing. It shows text the teammate proposes. | Read it. The card has no buttons. Reply in the conversation to change it. | The choice, connect, MCP server, and key cards have **Not now**. It dismisses the card, and the card records that you dismissed it. Only the owner can act on the connect, MCP server, key, and form cards. Other people see them without buttons. On the computer card, the owner and Administrators can select **Take over**, which opens the computer screen. On Squad for Mac (private beta), a Viewer sees a question, choice, connect, MCP server, key, computer, or add-card card without its buttons, with "Your access is view-only, so someone who can act takes this one." In a group chat, a teammate can post only the option card without **Not now** and the cards with no buttons. It cannot post the other cards there. If a card shows "This message includes a" card name and "Refresh the page to interact with it", reload the page. For more about app connections and MCP servers, see [Connect apps](/docs/integrations) and [Add an MCP server or an API key](/docs/custom-integrations). For the computer, see [Watch or take over a teammate's computer](/docs/computer). ### Email conversations in chat When you discuss an email with a teammate, the conversation shows in that teammate's **Conversations**. A new one says **About** and the email's subject, and that the email goes with your message. Open the email to approve a draft. See [Give a teammate an email inbox](/docs/email#review-drafts). Only the owner can reply, rename, or archive in an email conversation. Other people see "Only the workspace owner can reply in this email conversation." in the composer. A teammate's email draft, escalated email, or failed send in a chat message shows as a card with **To**, **Subject**, and the words. An escalated email also shows why it needs you and **From**. A draft that waits has **Send now** and **Discard**. An escalation that waits has **Open in Email**, which opens the conversation in the teammate's inbox, and **Dismiss**. Only the owner or an Administrator can act. Other people see "The squad’s owner or an Administrator sends or discards this draft." or "The squad’s owner or an Administrator handles this email." When it no longer waits, the card says "No longer waiting on you." Squad says this only when it can tell. When very many emails wait on you at once, the card says nothing about an email that it does not find. See [Limits and defaults](/docs/limits-and-defaults#chat). In the dashboard, a draft that waits shows as it is now, with every change made in **Email** and its **Cc** and **Bcc**, because that is what **Send now** sends. If **Send now** fails, the card says "Couldn’t confirm it was sent. Check Email before you try again." Look in the **Sent** tab of **Email** before you try again. ## Start a group chat Before you start: * You need at least two teammates. * Your squad must be on the live chat channel. Squad moves a new squad to it on its own, shortly after setup. There is no setting for it in the dashboard. If the squad is not on it, Squad shows **Group chats need the live chat channel, which this workspace is not on yet.** * Every teammate in the group must be set up. A teammate that is still being set up cannot join a group. Open a teammate's chat and select the pencil (**New conversation**). Select **Add teammates** under the composer. Under **Group with:**, select the other teammates. Type the first message and send it. Squad creates the group chat with that message. You can also type @mentions of other teammates in the first message of a new conversation. If you select **Add teammates** and pick nobody, Squad shows **Pick at least one teammate for the group.** The group chat shows in the sidebar under **Group chats**, and in the **Conversations** list of each teammate in it. In a group chat, the composer says **Message the group**. If your squad is not on the live chat channel, an @mention in a new conversation sends a normal direct message instead. ### Turn a direct chat into a group chat In a direct conversation, type a reply that @mentions another teammate. Read the line under the composer: **Sending will invite** the teammate **and turn this into a group chat with the recent messages carried over.** Send the reply. Squad copies the last 30 messages into the group chat. ### Add a teammate to a group chat The header of a group chat shows the faces of the teammates in it. Open the group chat. Select **+** (**Add a teammate**) next to the faces. Under **Add to this conversation**, select the teammate. You cannot add a teammate to the Squad chat, to a conversation between two teammates, or to an email conversation. A Viewer cannot add teammates. If you are limited to some teammates, the menu lists only those. You cannot remove a teammate from a group chat. ### Rename, archive, restore, or delete a group chat The sidebar lists the Squad chat first, then your group chats with the newest message first. It shows 5 rows, the Squad chat included. Select **All group chats** to see the rest, and **Show fewer** to go back. * To rename a group chat, open it, select **More** (⋯) in its header, then **Rename**. If you clear the name, the group gets an automatic name. * To archive a group chat, point to it in the sidebar and select the x (**Archive this group chat**). * To see archived group chats, select **Archived** at the bottom of **Group chats**. Select **Restore** to bring one back. * To delete an archived group chat, select the trash icon, then select **Delete?** to confirm. Delete removes the group chat and its whole conversation permanently. You can delete only archived group chats. ### Group chats on Squad for Mac (private beta) * When your squad cannot run group chats yet (it is not on the live chat channel, or the tools on your squad's computer are too old for group chats) and you select **Add teammates**, the box says "Group chats aren't available for this squad right now." When your squad has group chats but is not answering, it says "Your squad isn’t answering right now, so a group chat can’t start. Try again in a few minutes." An @mention then does not start a group chat, and the message goes to the one teammate. * A group chat's **⋯** menu (**More for this conversation**) has **Rename…**, **Pin to Sidebar** (owner only), **Move to Project**, and **Archive**. * Archived group chats are under **Archived** with the count, with **Restore**, and with the trash button for the owner and Administrators. * Group chats have no side panel. * A teammate's face joins the row once Squad has added it. The **+** (**Add a teammate**) shows only to people who can write in the group chat, and only when a teammate is left to add. * When you @mention a teammate in a new conversation, a note says that sending will start a group chat with the teammates you named. * The Squad chat's box says "Message the squad". ## Use the Squad chat The Squad chat is one standing room for all your teammates. The **Squad chat** row shows in the sidebar under **Group chats** when you have at least two teammates and your squad can run group chats. It stays there while your teammates are busy and while your squad's computer restarts. You cannot rename, archive, or delete it. In the sidebar, select **Squad chat**. Type your message. Type **@** to mention a teammate or **Everyone (@all)**. Type **#** to link a doc. Select **Send ↵**. The header shows how messages reach your teammates: | Header text | What it means | | - | - | | **Everyone · live** | A message with no mention wakes every teammate at once. A message with mentions wakes only the teammates you mention. | | **Everyone · async channel** | The banner says: **Squad chat is async: teammates see new messages on their next run, not instantly.** Mentioned teammates get a notification. | | **Everyone** | Your squad's computer has not contacted Squad for a while, or it is restarting. The banner says: **Your squad isn’t answering right now, so new messages can’t reach your teammates. Try again in a few minutes.** A message that you send then stays in the box with "Your squad isn't answering right now, so this message didn't reach your teammates. Try again in a few minutes." Send it again in a few minutes. See [Limits and defaults](/docs/limits-and-defaults#chat). | The header also has **Chat with** and your chief of staff's name, which opens their chat. A teammate can be mentioned by its full name, its first name, or its short handle. A message with a mention shows **notified** and the number of teammates it mentions. Messages from a teammate that you removed show **Former teammate**. ```text Tell the whole squad theme={null} @all: [the change] starts [when]. What this means for you: [one line for each affected area]. If you are working on a task that this changes, note it in the task. Send questions to me as questions, not guesses. ``` ### Read conversations between teammates Teammates also talk to each other in pairs. On the Squad chat screen, the **Between teammates** list shows these conversations (select **Conversations** on a narrow window). Each row shows the two teammates. Open a conversation to read it. The header says **Teammate conversation · they talk here on their own**. Select **Squad chat** to go back. The sidebar also folds the conversations between two teammates that you have not joined under **Between teammates** at the end of **Group chats**, with their number. They never count as unread. If you type in a conversation between teammates, your message joins that conversation and wakes both teammates. Each teammate reads only the conversations it is part of, plus the Squad chat room. The list shows the newest conversations between teammates, up to a limit. See [Limits and defaults](/docs/limits-and-defaults#chat). On Squad for Mac (private beta), open **Between teammates** at the end of **Group chats** in the sidebar, then select a conversation to read along. To step in, type in **Join this conversation** and send. The conversation then moves into your group chats. When your squad isn't answering, the Squad chat says "Your squad isn’t answering right now, so new messages can’t reach your teammates. Try again in a few minutes." A message that you send there shows "Not sent: Your squad isn’t answering right now, so this message didn’t reach your teammates. Try again in a few minutes." with **Retry** and **Edit**. A squad that cannot run group chats shows "Your teammates see new messages here the next time they work, not at once." instead. ## Group conversations into projects A project keeps all the conversations about one client or job in one place, with any teammate. Projects show in the sidebar under **Projects**, between **Your squad** and **Group chats**. The owner, Administrators, and Collaborators can make, rename, change the notes of, archive, bring back, and delete projects, move conversations in and out, and start conversations in them. A Viewer can only open them. A person who can use only some teammates sees only the direct conversations with those teammates, plus the project's group chats. When such a person can delete a project, they can also delete one that holds other conversations: those conversations stay. Teammates cannot make projects or move conversations. Before each of your messages in a project's conversation, the teammate gets a short block: "\[Project] This conversation is part of the project" and the project's name, then "About it:" and the notes, then the folder line when the project has a folder on your Mac. See [Give a project a folder on your Mac](/docs/mac/project-folders). ### Make a project In the sidebar, select **+** (**New project**) next to **Projects**. Type a **Name**. Optional: type **Notes for your teammates**, for example who the client is and where things stand. Select **Make project**. The project's page opens. For the longest name and notes, see [Limits and defaults](/docs/limits-and-defaults#chat). The sidebar shows the five projects worked in most recently, ordered by their newest conversation. The project that you have open always shows. Select **All projects** to see the rest, and **Show fewer** to go back. A blue dot on a project means one of its conversations has a reply that you have not read. Archived projects fold under **Archived**, with their count. **Show older** loads more of them. The command palette finds projects, open and archived, by name or notes, and has **New project** (not for a Viewer). Two open projects cannot have the same name, whatever the letter case. On Squad for Mac (private beta), an orange dot on a project means a conversation in it waits on you. The **New project** box asks only for a name, with **Create**. ### Read a project's page A project's page shows: * Its name and its notes. To change them, select **Project menu** (⋯), then **Rename**, or **Add notes for your teammates** (**Edit the notes for your teammates** when it has notes). Each change saves when you select **Save**. * Its folder. A project's folder can be set only in Squad for Mac (private beta). See [Give a project a folder on your Mac](/docs/mac/project-folders). Without one, the page says **No folder yet. Pick one in Squad on your Mac.** * Its conversations with every teammate, newest first. Each row shows the teammate's face (or the group's), the conversation's name, the teammate's name, the last words, and the time. A blue dot means a reply that you have not read. Select a row to open the conversation in the teammate's chat. On Squad for Mac (private beta), right-click a row on the project's page, or point to it and press X, for **Remove from Project**. In a conversation that belongs to a project, the header shows the project's name before the title. Select it to go back to the project's page. ### Start a conversation in a project * On the project's page, select **New conversation**. It starts with the teammate you used last in the project, otherwise your chief of staff. To pick someone else, select the arrow (**Choose who to start with**), then a teammate under **Start with**. * In a teammate's chat, start a new conversation, select **Project** under the composer, and pick the project. To take it out again, pick **No project**. * In a teammate's conversation list grouped by project, select **+** (**New conversation in** and the project's name) beside the project's heading. To group the list, select **⋯** > **Group by** > **Project** (the other choices are **None** and **State**). The groups follow the order of the sidebar, then the archived projects, then **No project**. The composer shows the project's name. Your first message puts the conversation in the project. A group chat that you start this way goes into the project too. On Squad for Mac (private beta), the **Project** chip sits beside **Add teammates**. When you change the project, what you typed and attached stays in the box. ### Move a conversation into a project In the conversation's header, select **More** (⋯), then **Move to project…**. Or point to its row in **Conversations**, select **More** (⋯), then **Move to project…**. Select a project. The project that the conversation is in has a check. In the header's menu, **New project…** makes a project and moves the conversation into it at once. **Remove from project** takes the conversation out. The Squad chat cannot move into a project. Which conversations can join a project: * Not the Squad chat, and not a conversation about an email. * A question's conversation can. On the project's page it keeps its "About" name until you rename it. * An archived group chat has no **Move to project**. * A fork of a project's conversation stays in the project, and so does a group chat started from a project's conversation. On Squad for Mac (private beta), **Move to Project** > **New Project…** makes a project, moves the conversation into it, and you stay where you are. ### Archive or delete a project Select **Project menu** (⋯) on the project's page. In the sidebar, you can also right-click the project, or press R (rename), A (archive), B (bring back), or D (delete) while its row has keyboard focus. * **Archive** moves the project to **Archived** at the end of **Projects**. An archived project's page says **This project is archived**, and you cannot edit it or start conversations in it. Select **Bring back** to make it active again. While a project is archived, teammates no longer get its details, and you cannot move conversations into it or edit its notes or folder. **Bring back** is refused when an open project has the same name, or when you are at the limit of open projects. See [Limits and defaults](/docs/limits-and-defaults#chat). * **Delete project…** asks first, for example "Delete “Leeds bakery”?". Select **Delete project** to confirm. The conversations stay where they are, with their teammates and in their group chats, in no project. A folder on your Mac stays shared. **Back** does not return to the deleted project's page. You cannot undo this. ## Retry a message that failed Squad tries again two times on its own when it could not reach the teammate. If the message still fails, the conversation shows the error and a button. | What you see | Cause | What to do | | - | - | - | | **Retry** under the message | The run failed or ended with no reply, for example "No reply arrived" | Select **Retry** to send the message again. | | **Reconnect in AI tokens** | Your AI connection expired. The composer also says **Your AI connection expired. Replies will fail until you reconnect.** with **Reconnect**. | Select the button and reconnect your AI subscription. **Retry** shows again after you reconnect. See [Connect your AI subscription](/docs/connect-your-ai). | | **Choose a model** | Your AI provider refused the teammate's model. The message says "\[name]’s model isn’t available on your AI account. Choose another model for \[name], then Retry." Only the owner and Administrators see the button, and never on a shared conversation page. | Select **Choose a model**. **Settings** > **AI** > **Teammates** opens with the teammate selected. Pick another model and save. Then go back to the conversation and select **Retry**, which shows beside the button. In a group chat there is no **Retry**, so send the message again. | | A system line with **Ask for a summary** | The teammate finished its turn without a reply | Select **Ask for a summary**. The teammate is asked to summarize in the chat what it did for your message, and not to do the work again. | | "\[name] is paused. Resume \[name] to send a message." | You, an Administrator, your chief of staff, or the teammate itself paused the teammate. The dashboard does not send messages to a paused teammate. | Resume the teammate, then send the message again. See [Add, change, and pause teammates](/docs/agents#resume-a-teammate). | | A system line with **Open the conversation** | The conversation continued in another conversation, for example a group chat | Select **Open the conversation** to go to it. | | "This run was stopped before the agent replied. Anything it already saved stays." | You or an Administrator stopped the run | Nothing. This is not a failure, so there is no **Retry**. Send a new message if you want the teammate to continue. | | "\[name] was interrupted by a restart and is picking up where it left off." | Your squad's computer restarted during the run. Squad gives the message back to the teammate, and the teammate continues from where it stopped. It is told not to repeat what is already done. | Nothing. Wait for the reply. | | "The workspace runtime restarted again while the agent was finishing this message, so it stopped partway. Check what is already done, then send it again if anything is missing." | The computer restarted again while the teammate continued, more often than Squad continues one message. See [Limits and defaults](/docs/limits-and-defaults#runs). | Check what is done, then send the message again if anything is missing. | | "The workspace runtime restarted while handling this message, so it may not have been processed. Send it again if nothing arrived." | The computer restarted during the run, and Squad could not give the message back to the teammate. | Check whether the work was done, then send the message again. | | "This message was not run because the conversation changed before it started. Send it again if you still need it." | Squad updated or reloaded the chat connection on your squad's computer before the teammate started on the message, and you had stopped the message, or reset or archived the conversation, by then. The teammate did not work on it. | Send the message again if you still need it. | | A failure message with **Retry**, for example "Your AI account hit its usage limit before Nina could finish." | The run failed. Squad shows a plain sentence about the cause instead of the raw error. In a teammate's own chat, the sentence names the teammate. | Follow what the message says. See [Fix a teammate that is stuck or failing](/docs/agent-stuck#chat-failure-messages). | | "This conversation is too long for \[name]’s model. Start a new conversation, or pick a model that reads more at once." with **Start a new conversation** and **Retry** | The conversation no longer fits the teammate's model. | Select **Start a new conversation**. It opens a new conversation with the teammate, with your message in the composer. Words that you already typed there stay. Or pick a model that reads more at once, then select **Retry**. **Start a new conversation** does not show in a group chat or to a Viewer. | | The error and **Your message was kept in the composer.** | The send failed before it reached Squad | Send the message again. | Before you select **Retry**, check whether the teammate already did the work. A failed run can still send an email or create a task, and a retry runs the request again. For more failures, see [Fix a teammate that is stuck or failing](/docs/agent-stuck). On Squad for Mac (private beta), a failed reply shows in red with the reason: * **Retry** sends your message again. When there is nothing to send again, **Continue** shows instead, only on the newest failed reply. It sends "Please continue where you left off. Don't redo what's already done." These buttons show in one-to-one conversations, but not to a Viewer, and not when your AI connection expired. * When your AI connection expired, the owner and Administrators get **Reconnect**. When the failure points to **Settings** > **AI**, for example a usage limit, they get **Open AI settings**. * When the conversation is too long for the teammate's model, **Start a new conversation** works as on the web. Your failed words go in the box when Squad still has them loaded. ## Archive or delete a conversation You can archive a direct conversation with a teammate. * To archive a conversation, open it, select **More** (⋯) in its header, then **Archive**. Or point to its row in **Conversations**, select **More** (⋯), then **Archive**, or press A. It leaves the list. * To see archived conversations, open **Archived conversations** at the bottom of the teammate's **Conversations**. Select **Restore** to bring one back. * A new reply in an archived conversation brings it back to the list. * To delete an archived conversation, select the trash icon, then select **Delete?** to confirm. Only the owner and Administrators can delete conversations. Collaborators can archive and restore them. A Viewer cannot. An email conversation is different: only the owner can archive, restore, or delete it. Delete removes the conversation and all its versions permanently. You can delete only archived conversations. Archiving is not the same as a reset. A reset clears the teammate's context for your direct conversations. See [Reset a conversation](#reset-a-conversation). ## See the helpers your teammates start A teammate can hand part of a job to a helper (a subagent) that works on that part on its own. The conversation shows what the teammate asked its helpers in one line, in the teammate's words, at the moment it started them: * One helper: for example "Asked a helper to draft the reply", or "Asked a helper: Docs audit" when the helper's name is not an order. * Several helpers that a teammate started one after another: one line, for example "Asked 3 helpers to check the evidence, match the times and export the texts". The line names up to three helpers and counts the rest. A helper with no name is counted, not named. For how close together they must start, see [Limits and defaults](/docs/limits-and-defaults#chat). * While the helpers work, the teammate's working message says what it waits on, for example **Waiting on 3 helpers**, then **Waiting on the last helper**. * When a helper did not finish as asked, a sentence follows the line, for example "2 ran out of time." or "Docs audit didn't report back." When Squad knows why a helper failed, it says so in one of these sentences, never in the helper's own words: * "It stopped on a sign-in problem." * "It ran out of time." * "It ran out of room before it finished." * "It hit a usage limit." * "It was stopped." * "It stopped before it finished." * Squad shows a helper's name only when it is a short line of plain words. A name that names a credential or a sign-in shows no name, also an ordinary one such as "Fix the login page". So does a name with an email address or a long number in it. See [Limits and defaults](/docs/limits-and-defaults#chat). * The line does not show what the teammate asked the helper or what the helper said. * In a group chat, the helpers of every teammate in the chat show. A person limited to some teammates sees only the helpers of the teammates that they can see. * While a helper works, the conversation's row in **Conversations** shows the spinner. * A line stays with the message that led to it. When you edit that message or switch to another version, the line shows only in the version that has that message. For each helper's state and run, open **History**. See [See helper runs](/docs/runs-and-health#see-helper-runs). On Squad for Mac (private beta), the helpers line has no box, no spinner, and nothing to open. Under it, the teammate's working line says what the teammate itself is doing right now, in the same words as its row under **Your squad** in the sidebar, or "Working on it". It never counts the helpers that the teammate waits on. **Stop** is beside the working line, or under the reply while it comes in. A helper with no name shows "Asked a helper". The teammate's name and face show once above its helpers. VoiceOver says the teammate's name first. Every teammate is told to speak for its helpers only from what they did: to say once what it set them on, and then in a line or two what they found. It is told not to say that a helper still works unless it started it in the same turn and the helper has not reported back. When a helper stopped before it finished, it is told to say so and what it does instead. A teammate on a Claude Code account can also start helpers of its own. They show in the same line. Helpers are not stopped after 10 idle minutes. The teammate's run stays open, and its reply arrives, once its helpers finish. A run time limit from an earlier setting, or a routine's time limit, still ends the run and its helpers. See [Time limits](/docs/agent-stuck#time-limits). When a helper was stopped, its work may be unfinished. Ask the teammate to continue it. A helper keeps the limits of the person that the work is for. See [Teammates work within the person's role](/docs/teammates#teammates-work-within-the-persons-role). ## Reset a conversation Reset deletes your direct conversations with one teammate and starts a fresh context. You must be the owner or an Administrator. Open the teammate's chat. Select **More** (⋯) in the header, then **Start a fresh conversation**. Read the confirm bar: **Start a fresh conversation? This deletes the current threads and their messages. You cannot undo this.** Select **Reset**, or **Cancel** to keep the conversations. On Squad for Mac (private beta), choose **Start fresh with** and the teammate's name **…** in the conversation list's **⋯** menu, then confirm with **Reset**. Reset permanently deletes every direct conversation with this teammate and the conversation names. This includes the conversations where you discussed an email or a question with the teammate. You cannot restore them. The teammate also forgets the conversation context. Group chats, the Squad chat, and the teammate's memory files are not changed. Facts that the squad's memory learned from these conversations stay in memory. To remove one, use **Forget**. See [Review and correct memories](/docs/memory#review-and-correct-memories). ## Chat when other people are in your squad When you invite people, chat is shared. See [Invite people to your squad](/docs/teammates). * A person reads the full chat history of each teammate that they can see, including your messages. They can send their own messages, except a Viewer. * Your own messages show on the right, with no name. Another person's messages show their name above them. * The teammate knows who wrote each message. It answers a person by name and reports back to that person. Messages from Telegram, Discord, Slack, and email are not part of this. * A Viewer sees a view-only notice instead of the composer, for example "Your access is view-only, so you can read these conversations but not send messages." On Squad for Mac (private beta), it says "this conversation" when it is about one conversation. * In an email conversation, people other than the owner see "Only the workspace owner can reply in this email conversation." * If you limit a person to some teammates, the other teammates' chats are not shown to them. They see **This chat is not available** when a link points to one. * Anyone who can read a conversation can copy a reply. You, Administrators, and Collaborators can fork a conversation and switch versions. Each person can edit only their own messages. A Viewer can copy replies but cannot fork, edit, or switch versions. You can edit your messages from before other people joined. * Only you and Administrators can stop a run or reset a teammate's conversations. See [Stop a reply in progress](#stop-a-reply-in-progress). ### Which replies are new for you A reply counts as new for you only in a conversation that you are in. Everyone can still open and read every conversation that they can see. * You are in a conversation when you sent a message in it or forked it. A conversation that no person wrote in yet counts as the owner's. * A reply in another person's conversation that you did not write in shows no blue dot in the sidebar or in **Conversations**, and no count on the phone's message icon, for you. * When you fork a conversation, the fork is yours. The people who wrote in the copied part are in it too. * When you edit a message, a person who wrote only in the messages after it is no longer in the conversation. Switching back to the earlier version brings them back. * A Viewer cannot send messages, so a Viewer gets new replies only in conversations that they wrote in before they became a Viewer. * Group chats and the Squad chat are not part of this. * A conversation open in a browser tab that you cannot see does not mark replies as read. They stay new until you show the tab again. Reply notifications in the bell follow the same rule: each person gets them only for the conversations that they are in. On Squad for Mac (private beta), the counts in the sidebar, the bell, the notch, the menu bar, and the Dock follow the same rule, and also include the group chats that you take part in. In the Mac's bell, each row under **Replies to you** names who replied and the conversation, for example "Nina in Spring menu", then the reply. A group chat's row shows the group chat's name, then the newest message. A row that says someone mentioned you in a group chat opens that group chat. **Mark all as read** clears every row there. See [Reply notifications](/docs/notifications#reply-notifications). For how many conversations count, see [Limits and defaults](/docs/limits-and-defaults#chat). ### Mention a person in a group chat In a group chat, the Squad chat, or a conversation between two teammates, you can mention the owner or a person who joined by invite. The person gets a notification in their bell. See [Mentions in group chats](/docs/notifications#mentions-in-group-chats). * Type **@** and the person's first name, for example `@Tibo`, or their full name. For a full name with a space, put it in quotes, for example `@"Tibo Smith"`. * When two people, or a person and a teammate, answer to the name that you typed, no person is notified. Type the person's full name instead. * **@all**, **@everyone**, and **@squad** reach teammates only. They do not notify people. * Teammates can mention people too. When a teammate names you in a group chat, you get the same notification. * Mentioning a person does not change which teammates get the message. On Squad for Mac (private beta), the @ list in a group chat or the Squad chat shows the people after the teammates, without you. A person that you mention gets a bell row, and @all does not notify people. When a teammate mentions a person who is limited to other teammates, that person is not notified. ## What teammates can do in chat * Reply in your conversations, and post cards: the choice, connect, MCP server, key, question, form, and computer cards, plus the task, link, tools, and draft cards. * Talk to another teammate in a conversation between teammates, and post in the Squad chat. * Create tasks from a chat request. The **Task created** card shows in the conversation. ```text Ask any teammate theme={null} When you need a decision from me in chat, give me buttons to pick from instead of an open question. ``` ## Common questions No. Conversations do not reset on their own. A teammate remembers each conversation for as long as it goes on. See [How a teammate remembers a conversation](#how-a-teammate-remembers-a-conversation). Yes. Use the arrows under your message to show the earlier version again. The earlier version and its replies are kept. See [Switch between versions](#switch-between-versions). Your conversations are saved. Text that you typed but did not send is lost, because Squad keeps unsent drafts only until you close the tab. The message is not sent. The chat shows "\[name] is paused. Resume \[name] to send a message." Resume the teammate, then send the message again. In a group chat, a paused teammate is not woken. See [Add, change, and pause teammates](/docs/agents#pause-a-teammate). It is gone. A conversation opens only in its teammate's chat. To keep a conversation one click away, pin it to the sidebar. See [Pin things to the sidebar](#pin-things-to-the-sidebar). No. The **notified** count shows how many teammates the message mentions. It does not show whether they read it. Yes. The teammate gets each file with your message. For a teammate on a Claude Code account, Squad saves the files on your squad's computer, up to a limit. See [Limits and defaults](/docs/limits-and-defaults#chat). ## Check that it works * The teammate shows **Working on it**, then replies in the conversation. * When a reply arrives in a conversation that you are in and you are not looking at it, the teammate's row in the sidebar and the conversation's row in **Conversations** show a blue dot. * In a group chat, only the teammates you mention reply. With no mention, a teammate replies only when it has something to add. * A pin that you add shows in the **Pinned** section on your other devices too. ## Troubleshooting * **Add teammates** shows, but the group chat does not start. Cause: your squad is not on the live chat channel, your squad's computer is not answering, or a teammate is still being set up. Fix: read the error under the box. If a teammate is still being set up, wait and try again. If the error names the live chat channel, or says "Your squad isn't answering right now", wait a few minutes and try again. You cannot change the chat channel in the dashboard. If the error stays, send direct messages and see [Get help](/docs/getting-help). * The **Squad chat** row is not in the sidebar. Cause: you have fewer than two teammates, or your squad cannot run group chats yet (it is not on the live chat channel, or the tools on your squad's computer are too old). Fix: add a teammate. See [Add, change, and pause teammates](/docs/agents). If you have two teammates, see [Get help](/docs/getting-help). * The Squad chat says "Your squad isn’t answering right now, so new messages can’t reach your teammates. Try again in a few minutes." Cause: your squad's computer has not contacted Squad for a while, or it is restarting. Long work does not cause this, because your squad's computer still contacts Squad while your teammates are busy. See [Limits and defaults](/docs/limits-and-defaults#chat). Fix: wait a few minutes, then send your message again. Your message stays in the box. If it lasts, see [Still stuck](/docs/agent-stuck#still-stuck). In other group chats, no banner shows. A message that you send stays in the box with "Your squad isn't answering right now, so this message didn't reach your teammates. Try again in a few minutes." * A skill is not in the **/** list. Cause: the skill is off, needs repair, or was added a moment ago. Fix: open **Skills** and check the skill. Then type **/** again after 30 seconds. * **Project** does not show under the composer. Cause: you have no open project, or you are a Viewer. Fix: make a project first. See [Make a project](#make-a-project). * A `#` link in a message does not open a doc. Cause: the link does not match the doc's whole title, or it is a number. Fix: pick the doc from the **#** list instead of typing it. # Watch or take over a teammate's computer Source: https://squad.so/docs/computer See a teammate's screen live, take over the mouse and keyboard to help, hand control back, and teach a task. Your squad works on one computer in the cloud. Each teammate has its own browser on that computer, with its own sign-ins. Teammates use it to open pages, read them, click, and type. You can watch a teammate's screen live, take over when it needs a person, give control back, and fill in a form that a teammate sends you. Your squad's computer is not your own computer. To let teammates ask for files or your screen on your own Mac, see [Let your teammates use your Mac](/docs/mac/mac-access), which is in private beta. Squad for Mac (private beta) shows the same computer on its **Computer** screen, and can keep a teammate's browser in a floating window. See [On Squad for Mac (private beta)](#on-squad-for-mac-private-beta). ## What teammates do on the computer * Teammates open pages, take screenshots, click, and type in their own browser. They can send you a screenshot in chat when you ask to see something. * When a page needs values that only you know, such as a sign-in or personal details, a teammate can send you the form as a card in chat. See [Fill a form that a teammate sends you](/docs/form-cards). * When you let a teammate pay with your card, it pays in its own browser on the computer. It types a stand-in card, not your card number, and each payment waits for approval. If the bank asks for an extra check during the payment, the teammate hands you the screen. See [Let your teammates pay with your card](/docs/payment-cards). * When a teammate hits something that only a person can do on screen, such as a CAPTCHA, a passkey or security-key prompt, an approval in an authenticator app, a file upload, or a judgment call, it posts a card in chat for the owner. The card shows **Your computer needs you**, its live screen, and **Take over** and **I’m done** buttons, and says what the teammate needs. The teammate is told to pause that piece of work until you select **I’m done**. ```text Ask a teammate theme={null} Open [site] in your browser, sign-in pages included, and hand the screen to me when you reach the login. I will sign in, then you continue with [task]. ``` ## The computer is shared with your squad When other people are in your squad, the full computer screen shows this note above the teammate's screen: "This computer is shared with your squad. People who can message your teammates may be able to use the sites you sign in to here." Each teammate has its own browser, but every teammate works for everyone in the squad. A site that you sign in to on the computer may be usable by another person who asks a teammate. The keys and secrets that you saved for custom integrations work the same way. To keep an app account to yourself, connect it on the **Apps** page, and leave the share box clear. It stays private unless you share it. See [Who can use an account](/docs/integrations#who-can-use-an-account). Teammates are told to warn a person before that person signs in on the computer or gives them a password. Teammates do not ask for a password in chat. Only you and your Administrators can open the computer screen and take over. Collaborators and Viewers cannot. A teammate sends the **Your computer needs you** card, like a form card, only to the owner. An Administrator can also select **Take over** on that card. It opens the computer screen, where they can take over. See [Invite people to your squad](/docs/teammates). ## Open a teammate's computer Use one of these: * On the teammate's **About** page, select **Watch** in the header. * In the teammate's chat, select **Watch** in the header. While a conversation is open, **Watch** is in the conversation's own header. * When a teammate asks the owner for help on its screen, select **Take over** on the **Your computer needs you** card in chat. **Watch** shows to the owner and Administrators. It does not show if the computer screen is turned off for your squad. On a narrow window, **Watch** in a conversation's header shows as a monitor icon. The screen title is the teammate's name followed by **’s computer**, for example "Nova’s computer". When you open it, that teammate's browser comes to the front. The back link at the top, with the teammate's name, returns you to the chat or the **About** page that you came from. ## Read the screen | Part | What it shows | | - | - | | Top bar | The back link, the title, the keyboard layout menu, and **Teach a task**. | | Status line | **Watching · the squad keeps working** while you watch, or **You have the keyboard** while you have control. | | **Reliable mode** | A check box for a steadier stream. Turn it on when the stream fails, then select **Refresh**. | | **Refresh** | Reconnects the stream. It shows **Connecting…** while it works. | | **Take over** or **Hand back** | In the bar above the screen, with the status line, **Reliable mode**, and **Refresh**. Takes or returns control of the mouse and keyboard. | | Presence strip | Who is using the computer: each teammate whose browser is open (**browser open**), **active**, or idle for some minutes. **No one is using the computer right now** means no teammate has a browser open on the computer. **Presence unavailable right now** means Squad could not check. | | The screen | The live stream. While you watch, it shows **You’re watching. Take over to use your mouse and keyboard.** | ## Watch without taking control While you watch, your mouse and keyboard do nothing on the computer. The teammate keeps working. ## Take over Select **Take over** in the bar above the screen, or on the screen. The button shows **Taking over…**. Wait until the status line shows **You have the keyboard**. Use your mouse and keyboard on the screen, for example to solve a check, approve a passkey prompt, or upload a file. The teammate is not stopped while you have control. Tell it in chat what you are doing if it must wait. In the dashboard on a Mac, the Command key works as Control on your squad's computer. For example, Command+C copies. ### Pick your keyboard layout If your typing comes out wrong, pick your keyboard layout in the keyboard menu at the top of the screen. The menu shows **Applying…** while it changes. The layout applies at once and is saved for your squad. If it fails, the menu shows an error such as "The layout could not be applied. Try again." ## Hand back control 1. Select **Hand back**. 2. If the teammate asked for help with a card in chat, select **I’m done** on that card. This sends "I'm done. Back to you." to the teammate. **Activity** records each change of control, for example "Keyboard taken over on Nova’s computer" and "Keyboard handed back on Nova’s computer". ## Fill a form your teammate sends you When a page needs values that only you know, such as a sign-in, a teammate can send the form to you as a **Form to fill** card in chat instead of asking you to take over. You type the values in the card, and the teammate types them into the page on your squad's computer. Only the owner can fill a form card. See [Fill a form that a teammate sends you](/docs/form-cards). ## Teach a task from the computer screen On the same screen, select **Teach a task** to record yourself doing a task once. The teammate turns the recording into a draft skill, and you approve it. For the full steps, see [Add and manage skills](/docs/skills#teach-a-task-by-showing-it-once). ## On Squad for Mac (private beta) On Squad for Mac (private beta), the owner and Administrators use the same computer on the **Computer** screen. Otherwise, the screen says "The squad computer isn't available here". It says so too while the computer is turned off for your squad. Open **Computer** in one of these ways: * Choose **Computer** in the **Go** menu, or in the command palette (⌘K). * In a chat, select **Take over** or the live picture on the computer card. * In the floating window, select the expand button. The differences from the web: * The screen is titled **Squad computer**, with the teammate's browser below it under "\[name]'s browser". A row of chips shows your teammates, the working ones first. Select a chip to bring that teammate's browser to the front. The screen opens on the teammate that you asked for, else a teammate that is working, else your chief of staff. * When you came from a conversation, **Back to the conversation** takes you back to it. * The status line says "Watching. Your squad keeps working." while you watch. * In place of the presence strip, a line says what the teammate does, for example "Nova is working in it now." or "Nova isn't using the computer right now.", and names other teammates on the computer. * When the teammate has an open question, the question shows above its browser, and you can answer it there. Answering shows the next one. * **Teach a Task…**, **Keyboard Language**, **Reliable Mode**, and **Refresh** are in the **⋯** menu above the browser, not in the top bar. * Leaving the screen also hands back control. * While you type in a teammate's browser after **Take over**, letters and ⌘← / ⌘→ go to the browser, not to Squad's shortcuts. * **Watch** in a chat's header opens the floating window, not the full screen. See [Watch a teammate's browser in a floating window](/docs/mac/overview#watch-a-teammates-browser-in-a-floating-window). * **Activity** on the Mac does not list the take-over and hand-back entries. They show in **Activity** on the web. ## Check that it works * The status line shows **You have the keyboard** after you take over. * After you hand back, it shows **Watching · the squad keeps working**. * **Activity** shows the take-over and hand-back entries. ## Troubleshooting **There is no Watch button.** Cause: you are a Collaborator or a Viewer, your access does not include this teammate, or the computer screen is turned off for your squad. Fix: ask the owner. **The screen shows "Not connected".** Cause: the stream did not start. Fix: select **Try again** or **Refresh**. If it still fails, turn on **Reliable mode** and select **Refresh**. **The screen shows "The computer is restarting. It is back in about a minute."** Cause: your squad's computer is stopped or starting again. Fix: wait a minute, then select **Refresh**. **The screen shows "The computer’s screen is still starting. Try again in a minute."** Cause: the computer is on, but its screen is not ready yet. Fix: wait a minute, then select **Refresh**. **The screen shows "Couldn’t open the computer’s screen. Try again."** Cause: the screen did not open. Fix: select **Refresh**. If it keeps failing, turn on **Reliable mode** and select **Refresh**. **The screen shows "The stream disconnected".** Cause: the connection dropped. Fix: select **Reconnect**. **The strip shows "The screen looks frozen."** Cause: the screen has not changed for more than two minutes. Fix: select **Unfreeze**. The button shows **Fixing…** while it works. **"Couldn't take over. Try again."** Cause: the take-over request did not reach the computer. Fix: select **Take over** again. If it keeps failing, select **Refresh** first. **"Couldn’t reach the computer. Try again."** Cause: the dashboard could not reach your squad's computer. Fix: select **Refresh**. If the computer is restarting, wait a minute. **The page says "This teammate doesn’t exist."** Cause: the link points to a teammate that is not in your squad. Fix: open the teammate from **Your squad** in the sidebar. # Connect your AI subscription Source: https://squad.so/docs/connect-your-ai Connect one of the 13 AI providers that your squad can run on, and add or replace accounts later in Settings > AI. Your teammates run on your own AI accounts. You connect a subscription or an API key from one of 13 providers, and your provider bills you for model usage. Squad does not sell model usage. The credentials are stored on your squad's computer. You connect your first provider during setup. After setup, you add, replace, and remove accounts in **Settings** > **AI**. You can connect more than one provider and more than one account per provider. ## Before you start * An account with one of the providers below, on the plan or key type in the table. * For **Claude** and **Claude Code** only: a terminal on your own computer, to run the command that creates a setup token. The `npx` command needs Node.js. * For **ChatGPT** only: in ChatGPT, open **Settings** > **Security** and turn on **Enable device code authorization for Codex**. ## Providers and what they bill The providers appear in this order on the setup page and in the **Add an account** menu on **Settings** > **AI**. | Provider | How you connect | What it uses and bills | | - | - | - | | **ChatGPT · Codex** | Device code | Your ChatGPT plan. The setup page describes it as "Flat-rate · Pro subscription" and marks it **Recommended**. | | **Claude Code** | Setup token | Your Claude subscription, through the Claude Code CLI on your squad's computer. The card says that it uses plan limits only and never bills extra usage. | | **Grok** | OAuth | Your SuperGrok or X Premium subscription. No API key and no per-token billing. | | **Z.ai** | API key | Your GLM Coding Plan. | | **Kimi** | API key | Your kimi.com subscription. Usage draws from your plan's Kimi Code credits. | | **MiniMax** | OAuth | Your MiniMax Coding Plan. | | **Gemini** | API key | Your Google AI Studio account, which has a free tier. | | **GitHub Copilot** | Device code | Your active Copilot subscription. It gives your whole squad the Claude, GPT, and Gemini models in your Copilot plan. No API key and no per-token billing. | | **OpenRouter** | API key | Your OpenRouter balance. | | **Qwen Cloud** | API key | Your Qwen coding plan's included quota. | | **Cloudflare Workers AI** | API token | Your Cloudflare account. It runs open models. | | **OpenCode** | API key | Your OpenCode Zen account, pay per use. | | **Claude** | CLI setup token | Your Claude account at Anthropic. The card says that Anthropic bills this use as Extra Usage at API prices. See the **Claude** tab in [Steps for each provider](#steps-for-each-provider). | For the credits that Squad charges for research tools, see [What Squad costs and what uses credits](/docs/costs). Credits never pay for model usage. ## Connect during setup On the setup page, you pick one card under **Choose your AI provider**, tick the Terms box, and click **Launch my squad**. When you connect depends on the card: * **Claude** and **Z.ai**: you paste the token or key on the setup page, before you click **Launch my squad**. For Claude, the Terms box and **Launch my squad** appear only after you paste a token. * **ChatGPT · Codex** and **MiniMax**: the connection starts by itself on the success screen, after the build finishes. * All other cards show "Connects after setup". On the success screen, click **Connect** followed by the provider name. The same window as in **Settings** > **AI** opens. Follow the steps for your provider below. On the success screen, **Skip for now** and **Skip to Dashboard** let you continue without a connection. Your teammates cannot work until you connect an account in **Settings** > **AI**. The provider that you pick at setup also sets your squad's default model. ## Connect or add an account in Settings Click **Settings** at the bottom of the sidebar, then **AI**. You can also press ⌘K or Ctrl+K, type **AI**, and select **AI** (The AI your squad thinks with, and its accounts) under **Go to**. Click **Add an account**, beside **Accounts**. The menu lists every provider, with how it connects under its name. Click the provider. The same menu adds a second account to a provider that already has one. In **Token name**, type a name for this account, for example `personal` or `work`. The part before the colon is fixed. Use a different name for each account of the same provider. Complete the steps for your provider in the next section. A window titled **Add** followed by the provider's name and **token** opens. It closes when the account is connected. The account appears as a row on the provider's card under **Accounts**. A provider's card shows only after it has an account. ## Steps for each provider 1. In ChatGPT, turn on **Enable device code authorization for Codex** in **Settings** > **Security**, if you did not do it before. 2. In the **ChatGPT · Codex** window, click **Connect OpenAI account**. 3. Under **1 · Copy this code**, copy the code. 4. Under **2 · Open this link and paste the code there**, open the link, paste the code, and approve. The window shows **Waiting for you to authorize…** until you approve. When you come back to the Squad tab, it shows **Confirming your sign-in…**. The code is valid for 5 minutes. The connection renews by itself. The account row shows when it expires and **renews automatically**. 1. On your own computer, open a terminal and run `claude setup-token`. If you do not have Claude Code installed, run `npx @anthropic-ai/claude-code setup-token`. 2. Approve in the browser window that opens. 3. Copy the token that the terminal prints. It starts with `sk-ant-oat01-`. If the terminal wraps it onto two lines, copy all of it. Squad removes spaces and line breaks from the pasted token. 4. In the **Claude Code** window, paste the token in **2 · Paste the setup token**. 5. Optional: type the Claude account's email in **3 · Account email**. The token cannot show which account created it, so the email labels the row. 6. Click **Connect**. Squad checks the token with a real test turn on your squad's computer before it saves it. A regular Anthropic API key does not work here. With more than one Claude Code account, one account is active and the others are on standby. The newest connection becomes the active one. When the active account reaches its usage limit, Squad makes the next account in the order active, and that account shows **In use**. The run that hit the limit continues once on the new account. If it had already done work, the teammate is told to continue from where it stopped and not to repeat what is done. The account that ran out is skipped until its limit resets. To choose the active account yourself, move it to the top of the card and save the order. 1. In the **Grok** window, click **Sign in with Grok**. 2. Copy the code, open the link, and approve on grok.com. Your squad refreshes the connection automatically. Grok cannot connect with a pasted key. 1. Subscribe to the GLM Coding Plan at z.ai. 2. In your Z.ai dashboard, open **API Keys** and create a key. 3. In the **Z.ai** window, paste the key in **API key** and click **Connect**. Squad checks the key with Z.AI before it saves it, also on the setup page. A key that Z.AI refuses is not saved, and the window says why. See [Troubleshooting](#troubleshooting). When Z.AI cannot be reached or answers in another way, for example with a rate limit, Squad saves the key without the check. 1. Open the Kimi Code Console with your kimi.com subscription and generate a key. The console allows up to 5 keys. 2. In the **Kimi** window, paste the key in **API key** and click **Connect**. Kimi subscription keys start with `sk-kimi-`. 1. In the **MiniMax** window, click **Connect with MiniMax**. The MiniMax window has no **Token name** field. 2. Open the link that the window shows and approve access on MiniMax. 1. Create a key at aistudio.google.com/apikey (Google AI Studio). 2. In the **Gemini** window, paste the key in **API key** and click **Connect**. Keys can start with `AIza` or `AQ.`. Gemini connects only with an AI Studio API key. There is no Google sign-in. Squad checks the key before it saves it. 1. In the **GitHub Copilot** window, click **Sign in with GitHub**. 2. Copy the code, open the link, and enter the code on github.com. You need an active Copilot subscription. After you connect, the model lists show the models that your Copilot plan includes. Copilot cannot connect with a pasted token. 1. Create a key at openrouter.ai/keys. 2. In the **OpenRouter** window, paste the key in **API key** and click **Connect**. OpenRouter keys start with `sk-or-`. Squad checks the key before it saves it. 1. Create a key at home.qwencloud.com/api-keys with your Qwen coding plan. 2. In the **Qwen Cloud** window, paste the key in **API key**. Qwen Cloud keys start with `sk-`. 3. Optional: paste your plan's base URL in **Base URL**. The API keys page shows it next to the key. Leave it empty to use the default. 4. Click **Connect**. Squad checks the key with a real call. Extra keys must come from the same plan. When one key hits its limit, the next key takes over. 1. Create an API token at dash.cloudflare.com/profile/api-tokens with the Workers AI permission. 2. Copy your Account ID. It is the 32-character ID on your Cloudflare dashboard's overview page. 3. In the **Cloudflare Workers AI** window, paste the token in **API token** and the ID in **Account ID**. 4. Click **Connect**. Squad checks the token against your account with a real call. Extra tokens in the same squad must use the same Account ID. 1. Sign in at opencode.ai, open **API Keys**, and create a key. 2. In the **OpenCode** window, paste the key in **API key** and click **Connect**. The **Claude** provider connects your Claude account directly, not through the Claude Code CLI. 1. On your own computer, open a terminal and run `npx @anthropic-ai/claude-code setup-token`. 2. Approve in the browser window that opens. 3. Copy the token that the terminal prints. It starts with `sk-ant-oat01-`. 4. In the **Claude** window, paste the token in **2 · Paste the setup token** and click **Connect**. At setup, you paste this token on the setup page instead. How usage counts: Squad sends your teammates' requests directly to Anthropic with this token. The card says: "Anthropic bills this use as Extra Usage at API prices, so Extra Usage must be on in your Claude billing settings. To use your plan’s included limits, connect Claude Code instead." Check your usage at claude.ai/settings/usage. If you want your Claude subscription to stay within its plan limits, use **Claude Code** instead. ## Replace or remove an account To reconnect an account, for example after it expired: 1. On the account's row, click **Replace**. On a signed-out or expired account, the button says **Reconnect**. 2. Complete the steps for the provider. The window is titled **Replace** followed by the account name. The name is locked, so the new login overwrites exactly this account. To remove an account, click **Disconnect** on its row. **Disconnect** asks you to confirm: "Disconnect \[name]? Teammates that run on this account stop until you connect an account again." If it was the only account for a provider, runs that use that provider's models fail until you connect an account again. ## Use more than one account Each provider card can hold several accounts. With two or more accounts, the card lists them highest first and says "Your squad tries these in order, top first." Use the up and down arrows to change the order, then click **Save changes** in the **Priority order changed** bar. The order is the fallback order inside that provider. Claude Code is different: one account is active at a time, and the next account takes over when the active one reaches its usage limit. If every Claude Code account is at its limit, Claude Code cannot serve runs until one resets. Runs then move to the next model under **When it can’t answer**, if you set one. For how long an account is skipped, see [Limits and defaults](/docs/limits-and-defaults#runs). Connecting an account does not change which model your teammates use. To run your teammates on a newly connected provider, choose one of its models in **Thinks with**, or add it with **Add one to try next…** under **When it can’t answer**, then save. See [Choose models and manage AI accounts](/docs/ai-accounts). ## Check that it works * The account appears as a row on the provider's card with a status word, for example **Connected** or **In use**. See [Statuses and what they mean](/docs/statuses). * Send a message to your chief of staff in chat. A reply means your teammates can reach the model. ## Troubleshooting **The window shows "Authorization timed out. Please try again."** Cause: you did not approve the device code within 5 minutes. Fix: close the window and start again. You get a new code. **The ChatGPT connection does not complete after you paste the code.** Cause: device code authorization can be off in your ChatGPT account. Squad asks you to turn it on before you connect. Fix: in ChatGPT, open **Settings** > **Security** and turn on **Enable device code authorization for Codex**. Then connect again. **The name field says the account "is already connected. Connecting would overwrite it."** Cause: an account with the same token name exists on this card. Fix: type another name, or click **Replace** on the existing account. **Claude says "Token must start with sk-ant-oat01-".** Cause: you pasted something other than a setup token, for example an API key or a partial token. Fix: run the setup-token command again and copy the whole token. **Claude Code refuses the token.** Cause: Claude Code accepts only a setup token that starts with `sk-ant-oat01-`. It refuses API keys. Fix: run `claude setup-token` and paste its output. **The Z.ai window says "Z.AI won’t serve this key yet."** Cause: Z.AI answered that the account has no balance or plan to use ("Insufficient balance or no resource package"). Z.AI can also answer this for an account whose GLM Coding Plan it has not put in force. Fix: if your Z.AI page shows a GLM Coding Plan, contact Z.AI support. Otherwise subscribe to the GLM Coding Plan. Then paste the key again. **The Z.ai window says "Z.AI didn’t accept that key."** Cause: Z.AI does not know the key, for example because it is incomplete, deleted, or expired. Fix: copy the key again from **API Keys** on z.ai and paste it. **A red banner says a provider "is signed out on your workspace".** Cause: the login for that provider stopped working. Runs that use it fail. Fix: click **Reconnect** on the account and sign in again. **Today** and **Needs you** also say that the account is signed out, with **Reconnect** and the account's name. **A ChatGPT row says "automatic renewal failed - reconnect this account".** Cause: the ChatGPT login can no longer renew itself. Fix: click **Replace** on that row and connect again. **Chat shows "Your AI connection expired. Replies will fail until you reconnect."** Cause: the account that serves your teammates expired. Fix: click **Reconnect** or **Reconnect in AI tokens**, then click **Reconnect** on the account that shows **Expired** or **Signed out**, or **Replace** if its row shows neither. **You skipped the connection at setup and your teammates do not reply.** Cause: no AI account is connected. **Settings** > **AI** says "No AI account is connected yet." Fix: connect an account in **Settings** > **AI** with the steps on this page. For other setup errors, see [Fix setup problems](/docs/setup-troubles). # Keep your contacts and pipelines Source: https://squad.so/docs/contacts See the people and companies your squad works with, follow leads through pipelines, log what happened, and mark who must not be contacted. **Contacts** is your squad's list of the people and companies it works with. Your teammates keep it while they work. They add the people that the work brings in, and every email that a Squad inbox sends or receives is logged on the contact by itself. You read the list, correct it, and follow leads through pipelines. * A **contact** is a person or a company. A person can belong to a company. * A **pipeline** is a list of leads with your own stages, for example New, Contacted, Replied, and Won. A contact can be a lead in more than one pipeline. * Each contact has a timeline under **Activity**: emails, calls, meetings, messages, notes, research, and stage moves. For the limits on names, fields, stages, and pipelines, see [Limits and defaults](/docs/limits-and-defaults#contacts-and-pipelines). ## Open Contacts **Contacts** is a place in the sidebar, pinned under **Today** until you unpin it. Open it in one of these ways: * Select **Contacts** in the sidebar. If you unpinned it, it is under **More**. On Squad for Mac (private beta), you can also press ⌘4. * Select **Email** in the sidebar. Select the title at the top of the list, for example **All inboxes**. In the menu, select **Contacts**. * Press ⌘K (Ctrl+K on Windows) and select **Contacts** ("People, companies and pipelines"). To open one contact, type 2 or more letters of a name. The matches show under **Contacts**. While Contacts is open, the **Contacts** row in the sidebar is marked. ## Find a contact The menu at the top left picks what the screen shows: **All contacts**, **People**, **Companies**, or one pipeline under **Pipelines**. * Type in the search box ("Search name, email, domain or tag"). The search also finds companies by their domain, contacts by their tags and handles, and people by title or city. * The list shows the newest changes first. Select **Show more** at the end of the list for more rows. * Each row shows the name, the title, the company, the main email, up to three tags, and when someone was last in touch. A contact that must not be contacted shows **Do not contact** after the name. Archived contacts do not show in the list or in search. ## Read a contact Select a row to open the contact on the right. From top to bottom, the panel shows: | Part | What it shows | | - | - | | Header | The name, title, company, domain, and who added the contact and when. Select the company to open it. | | In-touch line | For example "In touch 3 times, last 2 days ago. They haven't written back yet." or "Nobody has been in touch yet." | | **Do not contact** | Shows only when a mark covers the contact. See [Mark a contact do not contact](#mark-a-contact-do-not-contact). | | Possible duplicates | "This may be the same person as" another contact, with **Merge into this one**. See [Merge two contacts](#merge-two-contacts). | | Pipelines | One card for each pipeline the contact is in: the stage, the follow-up, the next step, the pipeline's fields, a **Score** when a teammate set one, and **Remove from pipeline**. **Add to a pipeline** puts the contact in another pipeline. | | **Projects** | The projects the contact belongs to. **Add to a project** adds one. | | Research | What your teammates found about the contact. | | Channels | Handles on other networks, for example LinkedIn or WhatsApp. | | People | For a company: the people at the company. | | **Emails** | The addresses, with **Primary** on the main one. **Bounces** or **Might bounce** marks a bad address. **Add an email**, **Make primary**, and **Remove** change them. | | **Notes** | Your own notes. They save when you click away. | | **Tags** | Words that group contacts, for example `landlord`. **Add a tag** adds them. Separate several tags with commas. | | **Activity** | The timeline, newest first. Select an email entry to open the email. **Show older** loads more. | A touch with a person at a company shows on the company's timeline too, with the person's name. ## Add a contact Your teammates add contacts as they work, so you rarely need to. To add one yourself: Select **Add someone**. In **Add a contact**, select **Person** or **Company**. Type the **Name**. Add an **Email** if you have one. For a person, you can add the **Company** and the **Title**. For a company, you can add the **Website or domain**. If you have pipelines, pick one in **Pipeline**, or leave **None**. A new lead starts in the pipeline's first stage. Select **Add contact**. The new contact opens. If Squad already has a contact with that email, or a company with that domain, Squad updates that contact instead of adding a second one, and opens it. When you type a company for a person, Squad finds that company or adds it. A person with a work email joins the company that owns the email's domain. ## Work a pipeline ### Create a pipeline Select **New pipeline**. Type the **Name**, for example "Brand outreach". In **What it is for**, say what the pipeline tracks. Your teammates read this when they work the pipeline. Under **Fields**, select **Add a field** for each value that you want to track for each lead. Pick the type: **Text**, **Number**, **Choice**, **Link**, **Date**, or **Yes or no**. For **Choice**, type the choices, separated by commas. Select **Create pipeline**. The pipeline opens. A new pipeline starts with the outreach stages: New, Qualified, Contacted, Engaged, Replied, Won, Lost, and Disqualified. To change them, open the pipeline and select **Pipeline settings**. You can also ask a teammate to set up a pipeline for you: ```text Ask your chief of staff theme={null} Set up a pipeline called Podcast guests, with the stages Found, Pitched, Booked, Recorded and Declined. Track the show name and the recording date for each lead. ``` ### Change the stages and fields Pick the pipeline in the menu at the top left, then select **Pipeline settings**. Under **Stages**, change a name, pick what the stage means, and set **Follow up after** a number of days. **Up** and **Down** change the order. **Add a stage** adds one. Under **Fields**, change, add, or remove fields. Select **Save**. Each stage has one meaning: | Meaning | What it does | | - | - | | **Open** | Work in progress. Only an open stage has follow-ups. | | **Won** | The lead ends with a yes. | | **Lost** | The lead ends with a no. | | **Closed** | The lead ends for another reason. | A lead in a won, lost, or closed stage never moves by itself again, and it has no follow-up. Squad refuses to remove a stage that still holds leads. Move the leads to another stage first. A pipeline needs at least one open stage. To archive a pipeline, select **Archive this pipeline** in its settings. The pipeline then leaves every list. The dashboard has no button to bring it back. Ask a teammate to restore it. ### Move a lead A pipeline shows as a **List** or a **Board**. The switch is next to the search box while the box is empty. * On the board, drag the card to another column, or pick the stage in the card's stage menu. * In a contact's panel, pick the stage on the pipeline's card. The card shows "Moving to" and the stage until Squad saves the move. If Squad refuses the move, the reason shows above the board. The strip above the list shows each stage with its number of leads. Select a stage to see only its leads. Select it again to see all. ### Set a follow-up On a lead in an open stage, the pipeline card in the contact's panel shows the follow-up. 1. Select **In 2 days**, **4 days**, or **A week**. **Clear** removes the follow-up. 2. In **Next step**, type what happens at the follow-up, for example "Send the contract". It saves when you click away or press Enter. The box shows after a follow-up is set. Select **Follow-up due** in the strip to see the leads whose follow-up is today or past, earliest first. A due follow-up shows in bold. Squad also sets follow-ups by itself. A lead without a follow-up that enters an open stage with **Follow up after** days gets one. A sent email starts the stage's delay again. A reply clears the follow-up. When a follow-up moves or clears this way, the next step clears too. ## How email updates contacts Squad logs these emails on the contacts by itself: * Every email that a teammate sends from its Squad inbox, including scheduled sends when they go out. * Every draft that a person approves and sends. * Every email that a Squad inbox receives, except spam. Squad matches each address to the contact that has it. If no contact has the address, Squad uses the company that owns the address's domain. An address on a free email service, such as gmail.com, never matches a company. Squad also adds people: * A sent email adds each recipient who is not a contact yet, with their company for a work address. * A received email adds its sender only when your squad wrote first in that conversation. A first email from someone new adds nobody. The teammate who reads it decides. * Squad never adds you, the people in your squad, or your teammates' own addresses. Email also moves leads in the outreach stages: * A sent email moves an early lead, for example in New or Qualified, to Contacted. * A reply moves an open lead forward to Replied. It never moves a lead back. * A lead in a won, lost, or closed stage never moves. These rules belong to each pipeline. Your teammates can change them for a pipeline that you set up with them. When Contacts arrived, Squad logged your squad's earlier emails on the contacts in the same way, without moving any stage. Only email through a Squad inbox is logged by itself. Your teammates log calls, meetings, and messages on other networks. A comment, a mention, or a share on a public post counts as a touch, but it never moves a lead. ## Log a call, meeting, or note Open the contact and go to **Activity**. Select **Log a call, meeting or note**. Select **Note**, **Call**, **Meeting**, **Message**, or **Research**. For a call, a meeting, or a message, select **We reached them** or **They reached us**. In "What happened, in one line", type the summary. For a company, you can pick the person. Select **Log**. A logged call, meeting, or message moves the lead like an email does. ## Mark a contact do not contact Open the contact. At the bottom of the panel, select **Mark do not contact**. Optionally, type what they said, for example "asked to stop". Select **Mark do not contact**. The panel then says "**Do not contact.** Your teammates won't email them." with the reason and the date. What the mark does: * Squad refuses every email to the contact: a teammate's email, an email that you send with **New email**, an approved draft, and a scheduled send. * Squad cancels the scheduled sends to the contact at once. * A mark on a company covers its people and every address on the company's domain. * Email from the contact is still logged. When a teammate tries to email a marked contact, Squad refuses the send and tells the teammate: "This contact asked not to be contacted:" followed by the address and the name, then "Remove the address. Do not reach them another way." When you send or approve an email to a marked contact yourself, the send fails. Open the contact to check for the mark. Your teammates are told not to reach a marked contact on any other channel either. This is an instruction. Squad enforces the mark only for email. To remove the mark, select **Allow contact again**. If the mark comes from a company (theirs, or the one that owns their email domain), the panel says so and shows **Open** with the company's name. Remove the mark there. ## Merge two contacts Squad shows "This may be the same person as" (or "the same company as") another contact when two contacts have the same name and nothing tells them apart. On the contact that you want to keep, select **Merge into this one** next to the duplicate. Or select **Merge with another contact** at the bottom of the panel, type a name, email, or handle, select **Find**, and pick the other contact. Read the question, then select **Merge**. The other contact's emails, handles, tags, notes, projects, pipelines, and history move to the contact that you keep. In a pipeline that both are in, the lead that is further along stays. A do-not-contact mark on either contact stays. You cannot undo a merge. A link to the merged contact opens the contact that you kept. You cannot merge a person with a company. ## Archive or delete a contact At the bottom of the panel: * **Archive** takes the contact out of the lists, search, the board, and its projects. Its history stays. The dashboard has no list of archived contacts. If you open an archived contact from a link, select **Restore from the archive**. A teammate can restore one too, and a teammate that saves an archived contact restores it. * **Delete forever** deletes the contact, its emails, its leads, and its timeline. Select **Delete forever** again to confirm, or **Keep it**. When you delete a person, their company keeps its own history. When you delete a company, its people keep their own history. You cannot undo a delete. ## Who can do what | Role | What they can do in Contacts | | - | - | | Owner, Administrator, Collaborator | See, add, change, merge, archive, and delete contacts and pipelines | | Viewer | See contacts and pipelines only | Everyone in your squad sees every contact and every pipeline. A person who can see only some teammates does not see the in-touch line, "Last in touch", or the timeline entries of teammates hidden from them. See [Invite people to your squad](/docs/teammates). A teammate that works for a Viewer can read contacts, but it cannot save or change them. ## What your teammates do with contacts Your teammates can find contacts, read a contact in full, add and update contacts, log calls, meetings, and messages, import a list with past events, merge duplicates, and set up pipelines. They add the people that the work brings in without being asked. They do not keep passwords, card numbers, or health details on a contact. ```text Ask your chief of staff theme={null} Find 20 new leads for Brand outreach: food creators in Austin with 10k to 100k followers. Add them to the pipeline and draft a first email for my review. ``` ```text Ask your chief of staff theme={null} Who in Brand outreach is due a follow-up this week? Send the follow-ups and tell me who replied. ``` The **Contacts** file on the **Memory** screen is a different thing. It holds standing facts that every teammate should know. The Contacts screen holds the records of the people and companies your squad works with. See [Memory](/docs/memory). ## On Squad for Mac (private beta) **Contacts** in Squad for Mac (private beta) shows the same contacts and pipelines, with these differences. For the numbers, see [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). * **Open it.** Select **Contacts** in the sidebar, or press ⌘4. It stays pinned until you unpin it. Then it is under **More**. It is also in the **Go** menu and the command palette (⌘K). * **The list.** Chips at the top pick **Everyone**, **People**, **Companies**, one pipeline, or **Archived**. Type in **Search people and companies** to search. Each row shows the name, who they are, and when your squad was last in touch. **Show more** at the end shows more rows. * **A pipeline.** A pipeline shows as a list grouped by stage. It has no board and no stage strip. A row shows the lead's follow-up, in bold when it is due. To move a lead, right-click its row and choose **Move to** and the stage. **Show more in** and the stage's name shows more of that stage. You cannot create a pipeline, or change its stages and fields, on the Mac. Use the web dashboard, or ask a teammate. * **Archived contacts.** Select the **Archived** chip. Open a contact and choose **Restore** in its **⋯** menu. * **Add someone.** Select **Add someone**, pick **A person** or **A company**, and type the **Name**. For a person, you can add the **Email**, **Works at**, and **Title**. For a company, you can add the **Website**. Inside a pipeline, **Add to** and the pipeline's name also puts the contact in that pipeline. Select **Add**. A Viewer does not see **Add someone**. * **A contact's page.** A row opens the contact's page in place of the list. **Contacts** at the top goes back. The page shows who they are, **What's next** with one card for each pipeline (the stage, the follow-up, and the pipeline's fields), **How to reach them**, the people at a company, **Projects** and **Tags**, your notes, **What your teammates found**, and **What happened**. * **Follow-ups.** On a pipeline's card, select **Set a follow-up** or **Change**. Pick the day in **Follow up on**, type the next step in "What's next, in one line", and select **Save**. **Clear the follow-up** removes it. To move the lead to another stage, select its stage on the card and pick one. **Remove from** and the pipeline's name is at the end of that menu. * **Log something.** Under **What happened**, select **Log something**. Pick **Note**, **Call**, **Meeting**, **Message**, or **Research**. For a call, a meeting, or a message, pick **We reached them** or **They reached us**. Type what happened in one line, and select **Log it**. **Show earlier** shows older entries. * **The ⋯ menu.** **Edit details…** changes the name, the website or the workplace and title, and **Who they are** (**What they do** for a company). **Do not contact…** asks "Don't contact" and the name, with an optional reason, then **Don't contact**. **Allow contact again** shows when the contact carries its own mark. **Archive** or **Restore**, and **Delete…**, which you confirm with **Delete** and the name **and their history**. * **Merge.** A possible duplicate shows "This may be the same person as" (or "the same company as") another contact, with **Open** and **Merge**. The Mac has no search to merge with any other contact. ## Troubleshooting **A contact that you added opened as an older contact.** Cause: Squad already had a contact with that email, or a company with that domain. Squad updated it instead of adding a second one. Fix: nothing. Check the details on the contact that opened. **A teammate says that a contact asked not to be contacted, or an email to someone does not send.** Cause: the person, or their company, is marked do not contact. Fix: remove the address. Only select **Allow contact again** if the person asked to hear from you again. **An email did not show on a contact.** Cause: the email went through another app, for example Gmail, not through a Squad inbox. Or it was spam. Fix: ask a teammate to log it. | Message | Cause | Fix | | - | - | - | | "A contact needs a name." | **Name** is empty in the **New contact** dialog. | Type a name. | | "\[domain] already belongs to the company \[name]." | Another company has this domain. | Open that company, or merge the two companies. | | "A pipeline named "\[name]" already exists." | Pipeline names must be different, archived pipelines included. | Pick another name. | | "\[n] leads are in the stage "\[stage]". Move them to another stage before you remove it." | The stage still has leads. | Move the leads, then remove the stage. | | "A pipeline needs at least one open stage." | Every stage means Won, Lost, or Closed. | Set one stage to **Open**. | | "The pipeline "\[name]" is archived." | The lead belongs to an archived pipeline. | Ask a teammate to restore the pipeline. | | "A person and a company can't be merged." | The two contacts are of different kinds. | Merge only two people or two companies. | | "Each company has its own domain (\[a], \[b]), and a company keeps one. Clear one of them first." | Both companies have a domain. | Remove one domain, then merge. | | "This pipeline no longer exists." | Someone archived or deleted the pipeline, or the link is wrong. | Select **See all contacts**. | | "This contact no longer exists." | Someone deleted the contact, or the link is wrong. | Select **Close**. | # What teammates can do, and how you stay in control Source: https://squad.so/docs/control Understand what your teammates can do, which controls are dashboard settings, and which rules are instructions to the teammates. Your teammates act on their own. They send email, change data in your connected apps, spend research credits, and run on schedules while you are away. You guide that work in two ways. Some controls are settings that you change in the dashboard. Other rules are instructions that the teammates are told to follow. This page explains which is which. ## What teammates can do on their own With the tools that Squad gives them, teammates can: * chat with you and with each other, create and update tasks, ask you questions, and write docs * send and reply to email from their own inboxes * read and act in your connected apps, within the access level you set * use the research tools, which spend credits * use a browser on your squad's computer, and run commands there * add teammates to your squad, and change, pause, resume, or remove teammates. Only the chief of staff can change, pause, resume, or remove another teammate. Other teammates can do this only to themselves. * save, search, and forget single shared memories, and get what the shared memory holds about each request, while the memory switches allow it * create and change routines, and turn skill packs on or off * keep your squad's contacts and pipelines, and log the email that your squad sends and gets * ask you to fill in a form on a web page, and pay with a card that a person saved, after that person approves each payment * connect an MCP server that you give them. Some actions are refused to teammates, or allowed only to the chief of staff: * Teammates cannot remove the chief of staff or your own profile, and they cannot register a second chief of staff. See [Add, change, and pause teammates](/docs/agents#remove-a-teammate). * Only the chief of staff can change, pause, resume, or remove another teammate, or change your profile. See [Ask your chief of staff to pause or resume a teammate](/docs/agents#ask-your-chief-of-staff-to-pause-or-resume-a-teammate). * Teammates cannot clear all memories at once. Only you and the Administrators who can see every teammate can, on the **Memory** screen. See [Manage what your squad remembers](/docs/memory#clear-all-memories). ## Controls that you set in the dashboard **Access levels for connected apps.** Each connected app account has an access level, for example **Read-only**, **Read + send**, or **Full access** for Gmail. A teammate can use the app only within that level. Squad reviewed every action of every app by hand and filed it in the lowest level that may run it, so a level means what its name says. Under **Per-teammate access**, you can give one teammate a narrower level, or **No access**. A change applies from the teammate's next call. These levels apply to apps on the **Connected apps** tab of **Settings** > **Apps**. MCP servers and custom integrations do not use them. See [Connect apps](/docs/integrations). **Tools you turn off.** On **Settings** > **AI** > **Tools**, you can turn off research tools and MCP server tools for the whole squad. Teammates cannot use a tool that is off. Some MCP server tools are marked **always off** and cannot be turned on. **Email sending limits.** Each teammate's inbox has a **Daily send cap** that you can change. Squad also limits how fast an inbox sends and how many emails the whole workspace sends each day and each month. A teammate that reaches a limit cannot send more until the limit resets. When you approve and send a draft yourself, these limits do not apply. See [Limits and defaults](/docs/limits-and-defaults) and [Give a teammate an email inbox](/docs/email). **Credit budgets for a task.** You can tell a teammate "do not spend more than 50 credits on this task". The teammate records that budget on the task, and Squad refuses research calls charged to the task that would go past it. The budget applies only to research calls that the teammate charges to that task. There is no dashboard field for it. See [What Squad costs](/docs/costs). **People in your squad.** Each person you invite has a role, and you can limit a person to some teammates. Squad enforces both in the dashboard. Squad also checks the Squad actions that a teammate takes for a person against the same role and teammate list. The squad's memory (what it learns and gives teammates), single memories, and work on your squad's computer are not covered. See [Teammates work within the person's role](/docs/teammates#teammates-work-within-the-persons-role). Each connected app account is private to the person who connected it until that person shares it, and teammates can use an account only for the people who may use it. Billing, credits, and seats stay with you. See [Invite people to your squad](/docs/teammates) and [Who can use an account](/docs/integrations#who-can-use-an-account). **Allowed models.** Only the models on the **Allowed models** list in **Settings** > **AI** > **Teammates** can be selected in the squad. See [Choose models and manage AI accounts](/docs/ai-accounts). **Payments with a card.** A teammate can pay only with a card that a person saved in their card vault, and only when every person that the work is for may use that card. Each payment waits until the card's owner approves it on the device that holds the card. Nothing is paid if nobody approves in time. See [Let your teammates pay with your card](/docs/payment-cards). **Pause.** You pause a teammate from the **⋯** menu on its page, or you ask your chief of staff to pause it. Pausing a teammate turns off its routines, and the dashboard does not send it chat messages. @mentions, task assignments, and emails for the teammate wait until it is resumed. Messages from Telegram, Discord, or Slack still reach it, and a **Native heartbeat** that is on still wakes it. Resume turns on again only the routines that the pause turned off. You can also pause one teammate's inbox. Then the teammate is not told about new email and cannot send email. See [Add, change, and pause teammates](/docs/agents#pause-a-teammate) and [Pause an inbox](/docs/email#pause-an-inbox). ## Rules that are instructions only These rules are part of the instructions that every teammate reads. They shape how teammates behave, but no setting in Squad applies them. **Questions.** Teammates are told to ask you a question when they need your decision, an approval, access, or information that only you have. A question blocks the task until you answer. When a task waits on you, Squad makes sure it has a question that you can answer. But the choice to ask is the teammate's. A teammate that does not ask can go ahead on its own judgment. See [Answer what needs you](/docs/tickets). **Draft first.** Teammates are told to draft email for your review before they send it, until you trust them with a type of email. A teammate can also send email at once, without a draft. Draft-first depends on the instructions you give, for example in the inbox's handling instructions, and on the teammate following them. **The decision budget.** During setup, your chief of staff asks how many decisions a day you want to make, and suggests five. Teammates are told to bring you only urgent decisions right away and to group the rest into one daily digest. Squad does not count or limit decisions. **Sign-ins on the shared computer.** A site that someone signs in to on your squad's computer may be usable by other people in your squad through the teammates. Squad does not keep those sign-ins apart. Teammates are told to say so before a person signs in there or gives them a password, and to point to **Apps** in Settings for an account that must stay private. A form card sends the values that you type straight to the page on your squad's computer, not into the chat. See [Watch or take over a teammate's computer](/docs/computer). **Red lines.** Rules that you give in chat or write in **About you** are instructions. Teammates read **About you** at the start of every run, so the rules are always in front of them. ## How to combine settings and instructions Use dashboard settings for anything that must not happen: * Set app access to the lowest level that the work needs, for example **Read-only** for an app that teammates only need to read. * Give a teammate **No access** to an app it does not need. * Keep the **Daily send cap** low while a teammate is new. * Turn off research tools you do not use. Use instructions for judgment calls, and check the results: * Read **History** to see what each teammate did, with the tools and the time. See [See what your squad did](/docs/runs-and-health). * Keep notifications on for **A teammate needs your decision** and **A task is waiting on you**. Both send you an email by default. See [Choose your notifications](/docs/notifications). ## What Squad does not do * Squad does not ask you to approve an action before a teammate takes it, unless the teammate chooses to ask a question or write a draft. The exceptions are trigger suggestions, which do nothing until you or an Administrator approve them, payments with a card, which the card's owner approves, and requests on your Mac with Squad for Mac (private beta), which you approve on the Mac. * Squad does not stop a paused teammate from answering messages that come from Telegram, Discord, or Slack, or from running on its **Native heartbeat**. * Squad does not undo actions in your connected apps. * Squad does not limit how many teammates your chief of staff creates or how many routines it adds. # What Squad costs and what uses credits Source: https://squad.so/docs/costs Understand the separate charges for Squad, your AI provider, credits, teammate inboxes, and seats for people, and what happens when credits run out. This page explains what you pay for in Squad, what credits pay for, and what happens when credits run out. For the steps to buy credits or cancel, see [Manage your subscription, credits, and workspace data](/docs/billing). ## The separate charges Squad keeps each kind of cost separate. You pay for each one in a different way. | Charge | Price | Who bills you | What it pays for | | - | - | - | - | | Squad plan | \$99 a month | Squad | Your squad, its computer, and your teammates | | AI provider | Your provider's price. Squad recommends a ChatGPT plan of \$100 to \$200 a month. | Your AI provider (for example ChatGPT or Claude) | The model usage of your teammates | | Credits | 1,000 free each month, then \$5 per 5,000 credits | Squad, from your credit balance | Built-in [research tools](/docs/research-tools) only | | Inbox add-on (optional) | \$10 a month per inbox | Squad | Email inboxes for your teammates | | Seats for people (optional) | \$9 a month per seat | Squad | Seats for the people you invite to your squad | | More squads (optional) | \$99 a month per squad | Squad | Another squad with its own teammates, computer, and billing | Squad adds no charge for AI usage. If you use none of the optional charges, \$99 a month is all that you pay Squad. These are the prices on [Squad pricing](https://squad.so/#pricing). The app also shows each price before you confirm. ### The Squad plan There is one plan, at \$99 a month. **Billing** shows it as **Standard**. You pay at checkout, before your squad is built. Each squad has its own plan. When you start another squad from the squad switcher, it gets its own subscription. See [Run more than one squad](/docs/billing#run-more-than-one-squad). Squad has no free trial. Your first payment has a 7-day money-back guarantee. For the refund rules and for how to cancel, see [Manage your subscription, credits, and workspace data](/docs/billing). ### Your AI provider Your teammates run on the AI account that you connect, such as a ChatGPT, Claude, or Gemini account. Your provider bills you for that usage under your own plan or key. Squad does not charge for model usage, and model usage never uses credits. Each run in History shows its token usage in the **Usage** section. To connect a provider, see [Connect your AI subscription](/docs/connect-your-ai). ## What credits pay for Credits pay for one thing: the 57 built-in research tools. These tools get external data for your teammates, for example web searches, page scrapes, company and person lookups, reviews, and SEO reports. The **Research tools** card on **Billing** says it like this: "Credits pay for one thing: built-in tools that pull data from outside, like company details or public posts. Your own apps never use credits, and turning these off is safe." These things never use credits: * Model usage on your AI provider. * Apps that you connect on the **Apps** page, and MCP servers. * Email that your teammates send and receive. * A research call that fails. Squad records it at 0 credits. * A research result that comes from the cache. Squad records it at 0 credits. * Chat, tasks, docs, routines, contacts, and the other everyday work of your teammates. * Payments that a teammate makes with a [payment card](/docs/payment-cards). The card pays the store directly. A research call can ask for fresh data instead of cached data. A fresh call costs normal credits. Each research tool has its own price. Some tools have a base price plus a price for each item returned. When a tool returns fewer items than it asked for, you pay only for the items that it returned. To see the price of each tool, open **Settings** > **Billing and usage** > **Billing** and find the **Credit cost per use** card, or see the [Research tools reference](/docs/research-tools). ## The monthly allowance Every squad gets 1,000 included credits each calendar month. All squads get the same amount. * The new allowance arrives at the start of each calendar month, in UTC time. It can arrive a few hours after midnight UTC. * Only a squad with an active subscription gets the allowance. * Included credits that you do not use expire at the end of the month. They do not add up from month to month. * Squad spends your included credits first, and your purchased credits last. On **Billing**, the **Monthly allowance** card shows how many credits you used, for example "0 of 1,000 credits used", the percentage, and in how many days the allowance resets. It counts the days in your own time zone, so near the end of a month it can be a day off. The **Credits left** tile shows your full balance. ## Purchased credits You can buy credit packs on **Settings** > **Billing and usage** > **Billing**. The **Buy credits** card shows the number of credits in a pack and the price of a pack. You see the total and confirm it before Squad charges your card. * Purchased credits carry over from month to month while your subscription is active. * You can buy from 1 to 20 packs in one purchase. * Squad charges the card on file for your subscription. The credits reach your balance when the payment clears, usually within a minute. * You cannot buy credits while your squad is locked. * Teammates cannot buy credits. Only you can start a purchase from the dashboard. For the steps, see [Buy credits](/docs/billing#buy-credits). ### Auto-recharge Auto-recharge buys packs for you when your balance gets low. It is off until you turn it on. When it is on, you set three values: | Setting | What it does | | - | - | | **When credits drop below** | The balance that starts a purchase | | **Buy this many packs** | How many packs each purchase buys | | **Never buy more than** | The maximum number of packs that auto-recharge buys in one calendar month | When you turn it on for the first time, the fields show 5,000 credits, 2 packs, and 6 packs a month. The form saves each change by itself, half a second after you stop typing. Auto-recharge starts a purchase after a research call takes your balance below the threshold. It stops when it reaches the monthly maximum. If a charge fails, auto-recharge waits one hour before it tries again. Auto-recharge does not run while your squad is locked. The monthly maximum is the only spending limit that you set in the dashboard. Set it to the most that you are willing to spend on credits in a month. ## When credits get low or run out When auto-recharge is off and your balance goes below 1,000 credits, Squad sends the notification "Credits are running low". If you saved an auto-recharge threshold before, Squad uses that threshold instead of 1,000. When your balance is too low for a research call, Squad refuses the call. The teammate gets a message that says how many credits the call needs and how many you have. Squad does not wait for auto-recharge before it refuses the call. Cached results still work at a zero balance, because they are free. The rest of your squad keeps working at a zero balance. Only the research tools stop. To continue, buy credits or turn on auto-recharge. Teammates tell you about a refused research call in plain words. For example: | Why the call was refused | What the teammate says | | - | - | | Your balance is too low | "We're out of credits for this. You can buy more from the Billing page — I'll keep going once they land." | | The task budget is used up | "We've hit the budget you set for this task. Continue with what we have, or raise the limit?" | | Research is paused for the workspace | "Scraping is paused for this workspace right now." | Your teammates' instructions also tell them to estimate a large research job first, and to ask you before a job of 500 credits or more. This is an instruction, not a limit that Squad enforces. To enforce a limit, use a task budget or the auto-recharge maximum. ## Budgets for a task A teammate can set a credit budget for one task. For example, you can tell a teammate "don't spend more than 50 credits on this research". The teammate then records a budget for that task with a tool. Squad refuses any research call that would take the task over its budget. Know these limits before you rely on a task budget: * There is no dashboard control for task budgets. You cannot see, set, or change them in the dashboard. * The teammate sets the budget, so the teammate can also change it. * A task budget is the only credit limit per task. There are no daily, weekly, or per-tool credit limits. To keep a hard ceiling on spending, use the auto-recharge monthly maximum, or turn off the research tools. ## Turn research tools off The switch on the **Research tools** card on **Settings** > **Billing and usage** > **Billing** turns all research tools on or off at the same time. Only the owner can open this page. When some tools are on, the switch is on. Flipping it turns every research tool off. Flip it again to turn every one on. When the switch is off, no tool can spend credits. Teammates can still browse the web on your squad's computer and use the apps that you connect. To turn tools on or off one by one, select **Choose which ones** on the card, or open **Settings** > **AI** > **Tools**. The switch on **Billing** overwrites the choices that you made on **Tools**. The line under the switch shows the state: | Line | Meaning | | - | - | | "All are on. They spend credits only when a teammate uses one." | Every research tool is on. | | "Some are on. They spend credits only when a teammate uses one." | Some research tools are on. | | "All are off. Nothing spends credits." | No research tool can spend credits. | | "Your squad’s computer isn’t answering right now." with **Try again** | Squad cannot read the tool list from your squad's computer. Select **Try again**, or manage tools on **Tools**. | | "Saved - confirming with your squad's computer…" | The change is saved and is still reaching your squad's computer. | | "Couldn't save - try again." | The change did not save. Flip the switch again. | ## The inbox add-on An email inbox for a teammate is a paid add-on. No inbox is included in the plan. * You pay \$10 a month for each inbox. * The app shows the price of an inbox before you confirm. The first charge is pro-rated for the rest of your billing cycle. * An inbox counts from the moment you add it, also while it is still being set up and while it is paused. * When you delete an inbox, Squad removes it from your subscription. * Sending and receiving email never uses credits. To add an inbox, see [Give a teammate an email inbox](/docs/email). ## Seats for people A seat lets one person join your squad. No seat is included in the plan. * You buy and release seats on **Settings** > **Billing and usage** > **Billing**, on the card **Seats for people**. Only the owner can buy or release seats. See [Buy and release seats](/docs/billing#buy-and-release-seats). * A seat costs \$9 a month. The app shows the price before you confirm. For the number of seats, see [Limits and defaults](/docs/limits-and-defaults#people). Your card on file is charged at once for the rest of the billing period, pro-rated. Each renewal after that includes the seats. * Each person you invited and each open invite uses one seat. You, the owner, do not use a seat. Sending an invite never charges your card. * A seat frees up when you remove a person, a person leaves, you revoke an invite, or you reset the squad. You keep paying for the seat until you release it. **Release** on **Seats for people** releases every unused seat and lowers your subscription. * You cannot release a seat that a person or an open invite uses. * People in your squad do not pay anything and do not see your billing or your credit balance. A person who opens **History** sees the credits of each research run. The credits that your teammates spend for another person come from your balance. To invite people, see [Invite people to your squad](/docs/teammates). ## Where to see your spending **Settings** > **Billing and usage** > **Billing** shows your credit spending in these cards. A usage card shows only when it has something to show. * **Usage by tool**, **Usage by teammate**, and **Usage by task** * **Recent credit usage**, which also shows purchases and grants * **Credit cost per use**, the price of each research tool In History, a research run shows the credits that it used, or "cache hit" when it was free. For more about History, see [See what your squad did](/docs/runs-and-health). ## What Squad does not do * Squad does not bill you for model usage. Your AI provider does. * Squad does not add credits to a locked squad, and it does not charge a locked squad for credits. * Squad does not give the dashboard a per-task, per-day, or per-tool credit limit. * Squad does not let teammates buy credits, add inboxes, or buy seats. For numbers that are not about credits or billing, see [Limits and defaults](/docs/limits-and-defaults). # Add an MCP server or an API key Source: https://squad.so/docs/custom-integrations Connect a service that is not in the app catalog, with an MCP server or an API key, and choose which tools your teammates get. Use **Custom integrations** when a service is not in the app catalog. You can add it in two ways: * **An MCP server.** Your teammates get every tool that the server exposes. * **A custom integration.** You store an API key or other values, and your teammates use them by name. Only the owner and Administrators see custom integrations. Only the owner and an Administrator who is not limited to some teammates can change them. An Administrator sees the names and the field names, but not the saved values. To open it, click **Settings** at the bottom of the sidebar, then **Apps**, and select **Custom integrations** in the switch at the top of the page. You can also type "secret", "api key", or "env" in **Find a setting** in Settings. Old links to **Settings** > **Secrets** open this view. For apps in the catalog, see [Connect apps](/docs/integrations). MCP servers and custom integrations do not use credits. ## Add an MCP server The **Server URL or JSON config** field accepts these formats: * A hosted server URL that starts with `https://`. * A single server object in JSON. * A client config block with `mcpServers` or `servers`, as MCP clients use. One block can hold several servers. * One entry copied from such a block, in the form `"name": { ... }`. A trailing comma is accepted. A config can describe a hosted server (a URL) or a command-based server (a `command` and `args`). Squad does not accept these: * URLs that start with `http://`. The error is "MCP server URLs must start with https\://". * SSE servers, for example a URL that ends in `/sse`. Use the vendor's Streamable HTTP endpoint instead, which is usually the `/mcp` URL. * The URL or the name of a Recommended app, such as SiteGPT or Revid. Connect those from their card in the catalog, so that their protections apply. To add the server: Click **+ Add MCP server**. Paste the URL or the JSON config into **Server URL or JSON config**. Check the name on each server card. You can change it. If the server gave you a key, type it in the key field. For a bare URL, the field is **Authorization: Bearer** and it is optional. Click **Connect server**. If you pasted several servers, the button shows the number, for example **Connect 2 servers**. If the card shows **Open sign-in page**, click it, and approve access in the new tab. The connection finishes by itself. A server that builds its approval page from what Squad sends shows Squad's name and logo. Leave the key field empty for public servers and for servers that sign you in. Squad finds out by itself that a server uses a sign-in page. ### Check that it works * The card shows **✓ Connected** and the window closes. * The server shows under **Your custom integrations** with an **MCP** tag. * After a teammate's next run, click **Tools** on the server row. The list shows each tool as the server name, an underscore, and the tool name. For example, a server named "Acme CRM" gives tools that start with `acme_crm_`. If the list says "No tools to show yet", send a teammate a message, wait a minute, and open it again. ### Connect a second account of the same server Each server name is one account. If you add the same server again with the same name, Squad updates the credentials of the existing entry. The card warns you with "Already connected as" followed by the name. To add a second account: 1. On the server row, click **Add account**. 2. Keep the suggested name, or type a different name. 3. Click **Connect server**, and sign in or enter the key for the other account. The second account gets its own tool names, from its own name. ### Renew a sign-in Servers that you connected with a sign-in page renew their access by themselves. If a server stops working, add it again with the same address and approve the sign-in again. ## Add a custom integration with an API key Click **+ Add custom integration**. In **Integration name**, type the name of the service, for example `Acme CRM`. In the first field row, type the field name, for example `API_KEY`, and its value. To add more values, click **+ Add field**. Click **Add custom integration**. Each field becomes an environment name made from the integration name and the field name. For example, the name `Acme CRM` and the field `API_KEY` give `ACME_CRM_API_KEY`. The window says "Teammates reference these fields by name." Squad stores the values on your squad's computer. The list shows the field names with the values hidden. When the owner clicks **Edit**, the window shows the current saved values, and **Save changes** writes exactly what the fields show. With many custom integrations, **Find an integration** shows above the list. It finds one by its name, what it is for, a field name, or its address, never by a saved value. The count then says, for example, "3 of 21". With no match, it says "Nothing matches" and your words. To empty the field, select the x (**Clear the search**). See [Limits and defaults](/docs/limits-and-defaults#integrations-and-channels). When a question asks you to connect an app that is not in the app catalog, **Connect** and the app's name opens a new custom integration with that name filled in. See [Know the ask types](/docs/tickets#know-the-ask-types). On Squad for Mac (private beta), the list shows what your squad's computer last listed at once, and checks again beside the heading. On the web, the list is read fresh each time you open it. On the Mac, the owner and Administrators can use **Connect** on such a question. **Delete** on a row asks you to confirm: "Delete \[name] for good? Your teammates lose access to it. To connect it again, you must enter its values again." ## Let a teammate add a server from chat You can paste an MCP server URL or JSON config into chat and ask a teammate to add it. The teammate adds it the same way as the dashboard does, and your teammates can use its tools from their next run. ```text Ask your lead theme={null} Add this MCP server for the squad: https://mcp.example.com/mcp ``` Limits when you paste a server in chat: * A server that signs in with a sign-in page cannot connect this way. The teammate asks you to add it under **Settings** > **Apps** > **Custom integrations** with **Add MCP server**. * If a config refers to a key without a value, the teammate asks you for the value or asks you to add the credential under **Custom integrations**. A teammate can also propose a server with a chat card. The card shows **An app connection to add**, the server name and URL, an **Add server** button, and **Not now**. **Add server** saves the server. If the server needs a sign-in, a new tab opens for it. After it is added, the card shows **Manage in Tools**, which opens **Settings** > **AI** > **Tools**. When a teammate needs a key, it sends a card titled **A key to add**. Type the value into the card and click **Save to vault**. The card saves the value to your squad's computer. The value is not posted as a chat message. Do not paste keys as plain chat messages. ## Servers that keep a session Some MCP servers keep state on their session, for example a sign-in that you complete through one of the server's tools. For a server that you add by URL, Squad keeps one session for each connected server across runs and restarts of your squad's computer, so such a sign-in holds. When you change the server's URL, its headers, or its key, Squad starts a new session. A server that runs as a command starts fresh for each tool call, so a sign-in on it does not hold. ## Turn tools on or off Every tool rides along on every model request. Turn off tools that you do not use to keep requests small. Some AI providers, for example Grok, limit the number of tools in a request. For the number, see [Limits and defaults](/docs/limits-and-defaults). You can turn tools off in two places: * **For one server:** under **Custom integrations**, click **Tools** on the server row. Clear the tools that you do not want, then click **Save tools**. Nothing restarts. A tool that you turn off is gone from your teammates' next runs, and a run that is going cannot call it again. * **On the Tools screen:** open **Settings** > **AI** > **Tools**. The **Tools** screen applies to the whole squad. It does not set tools for each teammate. It has these sections: | Section | What it shows | | - | - | | **Built-in** | **Computer use**, marked **Always on**. | | **MCP servers** | One card for each server, with a switch for the whole server and **Show tools** for single tools. | | **RESEARCH & SCRAPE TOOLS** | The built-in research tools, in families, each with a switch. These are the only tools that use credits. | Some tools show **always off** on the **Tools** screen and **protected** in the server's tool list. Squad keeps them off to protect your accounts, for example the Revid tool that buys credit packs. You cannot turn them on. To save changes on the **Tools** screen, click **Save changes** in the bar at the bottom. **Reset** discards them. Saving on the **Tools** screen does not restart anything, so you can save while your teammates work. Each teammate's next run uses the new tools. If your squad's computer has not applied the change yet, the screen says "Your changes are saved, but your squad is still applying them. Give it a minute, then reload this page. No need to save again." The core Squad tools are not on this screen. They are always on. ## Troubleshooting **The error "MCP server URLs must start with https\://" shows.** Cause: the URL uses `http://`. Fix: use the vendor's `https://` URL. **The error says the server is an SSE-transport server.** Cause: Squad does not support SSE servers. Fix: paste the vendor's Streamable HTTP endpoint, usually the URL that ends in `/mcp`. **The error says the name is the name of a built-in integration, or that the URL is a Recommended app's server.** Cause: the server belongs to a Recommended app. Fix: connect it from its card in the catalog under **Connected apps**. **The error says command-based MCP servers and custom headers unlock shortly.** Cause: your squad's computer is still updating. Fix: use a plain `https://` URL now, or try again later. **The server connected, but no tools show.** Cause: Squad lists a new server's tools the first time a teammate runs after you connect it. Fix: send a teammate a message, wait a minute, then click **Tools** on the row again. **The error says "Two servers collapse to the same name".** Cause: two servers in the config give the same name. Fix: rename one of them in the config and paste it again. ### Messages when you paste a server Most messages start with the server name in quotes. | Message | Cause | Fix | | - | - | - | | "Paste an MCP server URL or its JSON config." | The field is empty. | Paste the URL or the config. | | "That doesn't parse as JSON. Paste the server's URL or its JSON config block." | The text is neither a URL nor valid JSON. | Copy the config again, in full. | | "Expected a JSON object describing the server." or "That config lists no servers." | The JSON has no server in it. | Paste the block that holds the server. | | "that URL doesn't parse." | The URL is not valid. | Copy the URL again. | | "the URL carries login credentials." | The URL has a user name or password in it. | Remove them from the URL. Put the key in a header or in the key field. | | "the URL carries a key in its "\[name]" parameter" | The URL has a key in its query text. | Remove the key from the URL. Put it in a header or in the key field. | | "the "\[flag]" argument carries a key" | A command-based server has a key in its arguments. | Pass the key in `env` instead. | | "has both a url and a command — pick one." or "needs either a url (hosted server) or a command (local server)." | The server object is not complete. | Keep either the `url` or the `command`. | | "That's \[app]'s server — connect it from its card in Settings → Integrations so its built-in safety rules apply." | The URL belongs to a Recommended app. | Connect the app from its card in **Settings** > **Apps**. | | "“\[name]” is the name of a built-in integration. Rename your MCP server and try again." or "That name is taken by a built-in integration." | The name belongs to a Recommended app. | Change the name on the server card. | | "Fill in \[server]: \[field] — the server can’t authenticate without it." | The config asks for a value that is empty. | Type the value in the field on the card. | | "Your workspace is still updating — signed-in MCP servers unlock shortly." | Your squad's computer does not support sign-in servers yet. | Try again later. | | "Couldn’t check the server. Try again." or "Couldn’t connect. Try again." | Squad could not reach the server. | Check the URL, then try again. | ### Messages after a sign-in The sign-in tab and the server card can show: | Message | Cause | Fix | | - | - | - | | **Sign-in refused** and "The server didn't approve access" | You, or the server, turned down the approval. | Start again with **+ Add MCP server**. | | "The sign-in finished in a browser tab that's signed out of Squad. Sign in there, then start the connect again." | The tab where you approved is not signed in to Squad. | Sign in to Squad in that browser, then add the server again. | | **This sign-in has no connection waiting** | The window that started the sign-in was closed. | Start again with **+ Add MCP server**. | | **Couldn't finish the connection** | The sign-in or the save did not finish. | Start again with **+ Add MCP server**. | After a successful sign-in, the tab says "Your server is set up and its tools reach your agents within a couple of minutes." It closes by itself after a moment. If it shows a note, read it, then click **Back to Squad**. ### Messages on the list | Message | Fix | | - | - | | "Couldn’t save that credential." | Open **Edit** and save again. | | "Couldn’t delete that credential." | Click **Delete** again. | | "Couldn’t rename that server." | Try the new name again. | | "Couldn’t save the tool changes." | Open **Tools** and save again. | A save on this list applies without a restart. If your squad's computer still had to restart to apply it and is not back yet, an amber notice says so. You do not need to save again. # Give your squad work that it can finish Source: https://squad.so/docs/delegate Hand work to your squad in chat or as a task, and write a brief that comes back right the first time. You give work to your squad in two ways: you send a chat message to a teammate, or you create a task on **Tasks**. You can also start from a ready-made job in **What's possible**. This page tells you which way to use, and how to write a brief that a teammate can finish without guessing. ## Choose chat or a task | You want to | Use | What happens | | - | - | - | | Ask a question, get a quick result, or let the squad decide who does the work | Chat with your chief of staff | Your chief of staff answers or routes the work. If the work is bigger, a teammate creates a task and a **Task created** card shows in the chat. | | Talk to one teammate about its own area | Chat with that teammate | The teammate owns the request. It does its own part and hands the rest to the right teammate through a task. | | Set the priority and the owner yourself | **New task** | Squad creates the task. If you assign a teammate, that teammate starts at once. | | Set up a proven recurring job, such as **Weekly report** | A job in **What's possible** | Squad types a setup brief into your chief of staff's chat. You read it, change it if you want, and send it. | If you are not sure, send the request to your chief of staff. By default it is named **Chief of Staff**. It coordinates work that spans more than one teammate. ## Send work to a teammate in chat In the sidebar, under **Your squad**, select the teammate, for example your chief of staff. Its chat opens. On a phone, tap **Squad** in the bottom bar first. Type your brief in the composer, **Message** followed by the teammate's name. To start a separate conversation, select the pencil above the conversation list first. Press Enter or select **Send**. The teammate replies in the conversation. If it turns the request into a task, a **Task created** card shows the task's title, its priority, and its owner. Select the card to open the task. In the composer, you can also type **@** to bring in another teammate, **/** to run a skill, and **#** to point at a task or a doc. Select the paperclip to attach files. For more about conversations and group chats, see [Chat with your teammates](/docs/chat). ## Create a task yourself Press ⌘K or Ctrl+K, type **New task**, and select **New task** under **Actions**. You can also open **Tasks** (press B, or select **Tasks** under **Go to** in the command palette) and select **New task** there. In **Title**, type what the squad must do. In **Description**, add the context, links, and what done looks like. In **Priority**, select **Urgent**, **High**, **Normal**, or **Low**. The default is **Normal**. In **Assign to**, select a teammate. Select **Create task**. Press Enter in **Title** to create the task at once. Squad shows **Task created** and opens the new task. If it fails, Squad shows **Couldn’t create the task. Try again.** Select **Cancel** to close the window without a task. A Viewer cannot create tasks. If you leave **Assign to** on **Anyone**, no teammate is told about the task. It waits in the **Not started** column until it is assigned. An @mention in the description does not wake the teammate either. To start work now, assign a teammate. ## Start from a ready-made job **What's possible** is a gallery of jobs that squads often run, for example **Invoice chaser**, **Inbox triage**, or **Weekly report**. Each job page shows how the job works and what you get. **Set it up with my squad** turns the job into a brief for your chief of staff. On **Today**, find **What’s possible** and select **See all**. You can also press ⌘K (Ctrl+K on Windows), type **What's possible**, and select **What's possible** under **Go to**. You can also select **Help**, the question mark at the bottom of the sidebar, then **Ideas for your squad**. To go straight to one job, select its card in the **What’s possible** row on **Today**. The screen is titled **What your squad can do**. The **Jobs** tab is open first. Select a job card. The page shows how often the job runs, then **How it works**, **The deliverable** (a sample of the output), **What you get**, **Works with**, **Your first month**, and **Related jobs**. In the **Ready when you are** box, select **Set it up with my squad**. The chat with your chief of staff opens, and the setup brief is typed in the composer. Nothing is sent yet. Change anything that does not fit your business. Then press Enter or select **Send**. The brief names the job and how often it runs, states the outcome, and lists the job's steps and tools. It asks your chief of staff to plan the job with you first. It also asks it to start in draft-for-review mode: nothing sends or changes without your approval, and anything that needs your input comes to you as a question. Your chief of staff replies in the chat. To go back to the gallery, use your browser's Back, or **What's possible** at the top of a job page. **Set it up with my squad** shows only when your squad has a teammate. A Viewer sees no **Jobs** tab and no **Set it up with my squad**. The gallery opens on **Featured**. The other tabs, such as **Featured** and **Email**, list workflows. On a workflow page, **Add to squad** opens the chat with the teammate that runs it and types a setup request for you to send. ## Write a brief that comes back right A good brief has five parts. It is the same brief you give a new colleague. | Part | What to write | Example | | - | - | - | | Goal | One sentence: the result you want | "Write a 900-word blog post that argues ops automation is a hiring decision." | | Context | Who it is for, and where the facts are. Name the docs the teammate must read. | "For founders who have outgrown spreadsheets. Use the numbers in the May growth doc." | | Constraints | Length, voice, budget, and what the teammate must not do | "Match the voice of the last two blog posts. Do not publish anything." | | Decisions | Which calls come back to you | "If a choice touches money, customers, or anything public, ask me first." | | Done looks like | The output, where it goes, and its state | "A draft in Docs, ready for my edit." | ```text Ask your chief of staff theme={null} [Goal, one sentence]. Context: [who it is for, which docs to read, what I already know]. Constraints: [length, voice, budget, what NOT to do]. If you hit a decision about [money / customers / direction], ask me a question instead of guessing. Done looks like: [the output, where it lives, and its state]. ``` ### Point at your docs Teammates can read the docs in **Docs**. "Use the May growth doc" is better than pasting numbers into the chat. In the chat composer, type **#** to point at a task or a doc in your message. For more, see [Find and manage your squad's docs](/docs/squad-docs). ### Say which decisions come back to you When a teammate needs your call, it asks you a question, and the task waits in **Needs you**. Your squad's instructions ask teammates to keep the number of decisions small and to put non-urgent decisions into one daily digest. To change how many decisions you want each day, tell your chief of staff. For how to answer, see [Answer what needs you](/docs/tickets). ```text Ask your chief of staff theme={null} From now on, ask me before you spend money, email a customer, or publish anything. Everything else, decide yourself and tell me in the task. ``` ## Make a brief permanent When you give the same instructions again and again, move them to a place where the squad reads them every time. | Instructions for | Put them in | Page | | - | - | - | | Recurring work | The instructions of a routine | [Schedule recurring work with routines](/docs/scheduled) | | A teammate's inbox | **Handling instructions** in the inbox settings | [Give a teammate an email inbox](/docs/email) | | Facts about you and your business | **About you** and the squad files in **Memory** (**What your squad knows**) | [Manage what your squad remembers](/docs/memory) | | A procedure that a teammate repeats | A skill | [Add and manage skills](/docs/skills) | ```text Ask your chief of staff theme={null} From now on, send all competitor questions to [teammate], and [teammate] always cites sources. Save this rule where the squad will read it every time. ``` ## What happens after you hand off work | When | What you see | | - | - | | The teammate picks up the task | The task moves to **Working on it** on **Tasks**. The teammate's line in the sidebar shows what it is doing. | | The teammate needs your call | A question shows on **Today** and in **Needs you**, and the task moves to the **Needs you** column. | | The teammate writes a deliverable | A doc shows in **Docs**, and the bell says **Deliverable ready:** and the doc title. | | The task has no update for more than 2 days | The card shows **Stuck for** and the days. Squad nudges the teammate. See [Stuck tasks](/docs/missions#stuck-tasks). | | The teammate finishes | The task moves to **Done**. | ## Common questions Both teammates work on it. Send cross-team work to your chief of staff, so one teammate coordinates it. Yes. Open the task and select **Give to another teammate**. See [Take other actions from Your call](/docs/missions#take-other-actions-from-your-call). No. A paused teammate is told about the task only when you resume it. To start the work now, resume the teammate or assign the task to another teammate. See [Pause a teammate](/docs/agents#pause-a-teammate). ## Check that it works * In chat, the teammate replies in the conversation. For bigger work, a **Task created** card shows the task and its owner. * On **Tasks**, an assigned task shows in **Working on it**. * When the teammate needs you, the task moves to **Needs you**, and the question shows on **Today**. ## Troubleshooting * A task stays in **Not started** and nothing happens. Cause: the task has no owner, so no teammate was told. Fix: open the task and select **Assign to a teammate**. * The teammate did something different from what you wanted. Cause: the brief did not say what done looks like, or it did not name the decisions that come back to you. Fix: reply in the task with the correction and @mention the teammate. Then add the rule to the teammate's standing instructions. * The teammate asks the same question again and again. Cause: the answer lives only in old chats. Fix: ask the teammate to save the answer as a rule where the squad reads it every time. # Connect Discord Source: https://squad.so/docs/discord Put a teammate on Discord as a bot that answers your direct messages and @mentions in your server. Each Discord bot is a direct line to one teammate. People on the bot's list can send it direct messages. When server channels are on, the bot also answers when someone @mentions it in a server that it was invited to. For how channels compare, see [Talk to your squad from Telegram, Discord, or Slack](/docs/channels). ## Before you start * You need a Discord account, and the Manage Server permission on the server where you want the bot. * Get your Discord user ID. In Discord, open Settings, then Advanced, and turn on Developer Mode. Then right-click your own profile and select Copy User ID. The ID has 17 to 20 digits. ## Open the Discord screen Select **Settings** at the bottom of the sidebar, then **Apps**, then the **Discord** tab. You can also press ⌘K (Ctrl+K on Windows) and type Discord. The owner and Administrators can open it. A Collaborator or a Viewer cannot. ## Connect a bot Open the Discord Developer Portal at discord.com/developers/applications. Select New Application and give it a name. Open Bot, and switch on Message Content Intent. Select Reset Token and copy the token. On the Squad **Discord** tab, under **Put a teammate on Discord**, paste the token into **Paste the bot token**. Under **Add yourself and connect**, type your Discord user ID. Select **Connect bot**. In the message that confirms the connection, select **add it to your server**. You can also use **Add to a server** on the bot's card later. In Discord, pick your server and authorize the bot. The invite link asks Discord for three permissions: View Channels, Send Messages, and Read Message History. Type your own user ID, not the bot's ID. The Developer Portal shows the bot's ID in several places. Squad refuses the bot's ID. ### Check that it works * The bot shows as a card with its name. A running bot shows no status. **Offline** means the bot is not running. * Send the bot a direct message in Discord. The teammate answers. * In a server channel, @mention the bot. The teammate answers. Discord delivers direct messages to a bot only when you share a server with it. Add the bot to a server first, then send it a direct message. ## Set up the bot Each bot card has these controls: | Control | What it does | | - | - | | **Answered by** | The teammate that answers this bot. The default is **Your chief of staff (default)**. | | **Who can message it** | The Discord user IDs that can send the bot direct messages. Everyone else is refused. | | **Server channels** | A switch. On by default. The bot answers when someone @mentions it in a server that it was invited to. When off, the bot answers direct messages only. | | **Add to a server** | Opens the Discord invite link for the bot. | | **Remove** | Removes the bot. Select **Really remove? Messages stop immediately** to confirm. | To add a person to **Who can message it**: 1. Ask the person for their Discord user ID. They get it the same way as you did. 2. Type the ID into the field under **Who can message it**. 3. Select **Add**. The person must also share a server with the bot. A list can hold up to 50 people. See [Limits and defaults](/docs/limits-and-defaults). ## Known limits * In server channels, the bot does not check its list. Anyone who can @mention the bot in a server where it was invited gets an answer. If only the people on the list may use the bot, turn off the **Server channels** switch. * The list cannot be empty. You can remove yourself when someone else is on the list. Squad does not keep you on a Discord list. * If the card says that your squad's runtime limits the bot to specific servers and channels, the limit was set on your squad's computer. Ask your chief of staff to change it. ## Troubleshooting **Squad says "That doesn’t look like a Discord bot token."** Cause: the token is incomplete. Fix: select Reset Token in the Developer Portal and paste the new token. **Squad says that Discord rejected the token.** Cause: the token is old or was reset. Fix: select Reset Token in the Developer Portal and paste the new token. **The bot does not answer direct messages.** Cause: you do not share a server with the bot, or the sender is not on the list. Fix: add the bot to a server with **Add to a server**, and check **Who can message it**. **The bot does not answer in a server channel.** Cause: the **Server channels** switch is off, or the message does not @mention the bot. Fix: turn on the switch and @mention the bot. Also check that Message Content Intent is on in the Developer Portal, as in the setup steps. **You cannot remove the last person on the list.** Cause: an empty list answers nobody, so the x on the last ID is off. Point to it to see "Keep at least one person; an empty list answers nobody". Fix: add another person first. ### Other messages | Message | Cause | Fix | | - | - | - | | "That doesn’t look like a Discord user ID (17–20 digits — …)." | The ID under **Add yourself and connect** is not 17 to 20 digits. | Copy your user ID again, with Developer Mode on. | | "That's the bot's own ID — enter YOUR user ID (right-click your own profile → Copy User ID)." | You typed the bot's ID. | Type your own user ID. | | "Couldn’t reach Discord to verify the token — try again." | Squad could not reach Discord. | Wait a moment, then try again. | | "Discord user IDs are 17–20 digit numbers, e.g. 246813579246813579." | An ID that you add to the list is not valid. | Copy the person's user ID again. | | "Keep at least one person — an empty list answers nobody." | You tried to remove the last person. | Add another person first. | | "Couldn’t connect the bot." | The connection did not go through. | Try again. | For messages that all channel screens share, see [Messages on every channel screen](/docs/channels#messages-on-every-channel-screen). # Give a teammate an email inbox Source: https://squad.so/docs/email Give a teammate its own email address, read and filter its mail, review drafts and escalations, set handling rules, and connect your own domain. A teammate can have its own email inbox. It sends and receives email as itself, from its own address. You see all inboxes on the **Email** page in the sidebar. The badge on **Email** counts received emails that are not marked as read. An email is marked as read when the owner or an Administrator opens it, when a teammate handles it, or with **Mark all as read**. Marked as read is for people only. The teammate keeps its own record of the emails it handled, so an email that you opened is still the teammate's to handle. See [Limits and defaults](/docs/limits-and-defaults#email). Squad also logs the email that an inbox sends and receives on your [contacts](/docs/contacts#how-email-updates-contacts). Squad for Mac (private beta) has the same **Email**, with a few differences. See [On Squad for Mac (private beta)](#on-squad-for-mac-private-beta). Each inbox is a paid add-on to your plan. Squad shows the price, and that it is pro-rated for the rest of your billing cycle, before you confirm. See [What Squad costs and what uses credits](/docs/costs). ## What you can do here | You want to | Go to | | - | - | | Give a teammate an address | [Create an inbox for a teammate](#create-an-inbox-for-a-teammate) | | Read what your teammates sent and received | [Read and filter email](#read-and-filter-email) | | Approve a reply before it goes out | [Review drafts](#review-drafts) | | Decide on an email a teammate passed to you | [Handle escalations](#handle-escalations) | | Tell a teammate how to handle its mail | [Write the handling instructions](#write-the-handling-instructions) | | Limit how much a teammate sends, or who it talks to | [Set the signature and the daily cap](#set-the-signature-and-the-daily-cap) and [Set allow and block rules](#set-allow-and-block-rules) | | Stop a teammate's email for a time | [Pause an inbox](#pause-an-inbox) | | Send from `name@yourdomain.com` | [Connect your own domain](#connect-your-own-domain) | | See the people and companies your squad emails | [Keep your contacts and pipelines](/docs/contacts) | ## Who can do what | Role | Email | | - | - | | Owner | Everything on this page. Only the owner can create or delete an inbox, because an inbox is a charge on your subscription. Only the owner can talk to a teammate about an email: **Reply**, **Instruct**, **Revise with**, and **Tell** a teammate **what to do**. | | Administrator | Reads every inbox, sends with **New email**, approves, edits, and discards drafts, dismisses escalations, cancels scheduled sends, uses **Mark all as read**, opens **Discuss** to read the chat (only the owner writes there), and changes the inbox settings, the rules, and the domain. | | Collaborator, Viewer | Read the inboxes of the teammates that they can see. They see the email items in **Needs you** and on **Today**, without buttons. Opening an email does not mark it as read for them. | A person who can see only some teammates does not see the inboxes of the other teammates. A teammate that works for a Collaborator or a Viewer cannot send email. See [Teammates work within the person's role](/docs/teammates#teammates-work-within-the-persons-role). ## Create an inbox for a teammate Before you start: * You must be the owner. * You need an active subscription. Select **Email** in the sidebar, or press `E`. Select the title at the top of the list, for example **All inboxes**. In the menu, select **Create an inbox…**. If you have no inbox yet, select **Create an inbox** in the empty list instead. On **Give a teammate its own inbox**, select the teammate. Only teammates without an inbox are listed. On **Give** followed by the teammate's name and **its own email**, check the **Default address**. You can change it after you create the inbox. Select **Create** followed by the teammate's name and **inbox**, for example **Create Nina's inbox**. Read the dialog. It shows the address and the price. Select the confirm button. Its label is **Confirm & pay** and the monthly price. Squad then opens **Settings** > **Email** > **Inboxes and rules** on the new inbox. While Squad sets up the address, it shows **Updating…**. This usually takes a few seconds. If Squad refuses at once, the reason shows in the dialog. If the charge or the setup fails later, the inbox goes away and Activity says why. See [An inbox does not appear after you add it](/docs/email-troubles#an-inbox-does-not-appear-after-you-add-it). If every teammate already has an inbox, the page says "Every teammate already has an inbox". Add a teammate first. See [Add, change, and pause teammates](/docs/agents). ### Address format The default address is the teammate's name in lowercase, with hyphens instead of spaces and other characters, then `@agents.squad.so`. For example, a teammate named Nina gets `nina@agents.squad.so`. The part before the @ has up to 32 characters. If the address is taken, Squad adds a number, for example `nina-2`. To change the address, open the inbox settings (see [Open the inbox settings](#open-the-inbox-settings)). In **Identity**, edit the part before the @. Then click outside the field and confirm. The confirm message says that the old address stops receiving, and that any scheduled sends from it are canceled. When you change the address, the old address stops receiving mail, and scheduled sends from it are canceled. The inbox's allow and block rules move to the new address. Check the rules afterward, and add again any rule that is missing. Inboxes made before the move to the Squad domain can have an older address. When no custom domain is connected, **Identity** says "This inbox is on the earlier domain" and tells you to pick `@agents.squad.so` in the address box to move it. ## Read and filter email The **Email** page has a list on the left and the open conversation on the right. With nothing open, the right side says "Pick a conversation to read it." On a narrow screen, the page shows one side at a time. Select **Inbox** to go back to the list. ### Pick an inbox Select the title at the top of the list. It shows the inbox name, with the address under it, or the number of conversations for **All inboxes**. The menu lists **All inboxes** and each teammate's inbox, then **Contacts**. The owner also sees **Create an inbox…**, and the owner and Administrators see **Inbox settings…**. ### Filter the list | Tab | Shows | | - | - | | **Needs you** | Conversations with an escalation that nobody dismissed. Shows only while there is one. | | **Inbox** | Conversations with received email. | | **Sent** | Conversations with email that a teammate sent. Scheduled email is not in this tab. | | **Drafts** | Conversations with a draft that waits for your review. | | **Scheduled** | Conversations with email that will send later. Shows only while there is one. | Turn on **Unread** next to the tabs to see only conversations with an email that nobody marked as read. It works with every tab. The list loads the newest 100 emails. In **All inboxes**, when the list holds 100, the number of conversations under the title ends with **+**. When the list shows every inbox and something is unread, **Mark all as read** shows next to the title. It marks as read all received email that arrived before you selected it, in the inboxes that you can see. Only the owner and Administrators see it. Press `j` and `k` to move down and up the list. Each row shows the sender, the number of messages, the time, the subject, and one line of the text. A blue dot marks unread email. Under it, a row can show the teammate's name (in **All inboxes**), **Needs you**, **Draft ready**, **Scheduled**, **Bounced**, or **Not sent**. ### Search email Type in **Search email** above the list. Every word must match the sender's name or address, a recipient, the subject, or the words in the email. * The emails that are loaded match at once. * After you stop typing, Squad also asks the inbox that you picked, or every inbox that you can see in **All inboxes**, once. That finds older email, also older email from the sender that you typed, and words that are only in the body. While they answer, a spinner shows in the field. When no loaded email matches yet, the list says "Looking through your inboxes". See [Limits and defaults](/docs/limits-and-defaults#email). * While the field has words, the tabs and **Unread** step aside, and the search covers every tab. Each conversation shows once. * With no match, the list says "Nothing matches" and your words, then "Try a name, an address or another word from the email." * When an inbox cannot be searched, the list says so, for example "Couldn’t search one inbox.", with **Try again**. * To empty the field, press Esc or select the x (**Clear the search**). ### Read an email Select a row to open it. When the owner or an Administrator opens an email, the whole conversation is marked as read for everyone. It does not tell the teammate that the email is handled. * The header shows the subject, who the conversation is with, and the number of messages. * Each message shows the sender, the addresses it went from and to (and cc and bcc), and the exact time. * A message can show **Draft**, **Scheduled**, **Needs you**, **Bounced**, or **Not sent**. A bounced or unsent message says "The recipient did not get it." and gives the reason when the provider reports one. * For an email with formatting, select **Rich** or **Plain** to change the view. * Select **Show quoted text** to see the earlier messages that a reply quotes. The **Email** page does not show the attachments of an email. To get a file from an email, ask the teammate. ```text Ask the teammate theme={null} Send me the attachments from the email about [subject] as files in this chat. ``` ### Talk to the teammate about an email Select **Discuss** (or **Reply** on a single email) to open a chat with the teammate, with the email attached. You do not write the reply yourself. Tell the teammate what to say, and it writes and sends the reply. Each email conversation has one chat, so opening it again takes you back to the same chat. **Discuss** opens for the owner and Administrators, but only the owner can write in that chat. An Administrator can read it. **Reply** is for the owner only. To write a new email yourself, see [Send an email yourself](#send-an-email-yourself). ## Review drafts A teammate can write a draft and ask you to review it. You find drafts in these places: * The **Drafts** tab on **Email**. On a single draft, **Replying to** shows the email that the draft answers. * **Needs you**, as "Reply ready:" and the subject. * **Today**, with **Review draft**. To answer a draft on **Email**: 1. Open the conversation. 2. Read the draft. Then select one: * **Approve & send** to send it now. The note under the buttons says "Sends immediately from" the teammate's inbox, "with no second review." * **Revise with** and the teammate's name to send it back. The chat opens with "Revise your draft reply. Here’s what I’d like different:" typed in. Only the owner sees this button. * **Edit draft** to change it yourself, then **Save changes**. On a single draft, the button is **Save & send**, which saves and sends at once. * **Discard** to delete the draft. In **Needs you**, the draft shows as it would go, with **Send now** ("Sends from" the teammate's inbox, "exactly as written."), **Revise with** the teammate's name, and **Discard**. **Approve & send** and **Send now** send at once from the teammate's inbox, with no second review. They skip the daily cap and the other send limits. Squad adds the inbox signature when the email is sent. The draft that you review does not show the signature. Your edits change only this draft. They do not teach the teammate. A conversation can hold more than one draft. Each draft has its own buttons. ## Handle escalations A teammate escalates an email when it needs your decision. You find escalations in these places: * The **Needs you** tab on **Email**. The email shows a banner with the teammate's name and the reason, for example "Nina escalated this:" and the reason. * **Needs you**, as "Needs your call:" and the subject. * **Today**, with **Review**. To answer: * On **Email**, select **Instruct** and the teammate's name to tell the teammate what to do in chat. In **Needs you**, the button is **Tell** followed by the teammate's name and **what to do**. Only the owner sees these buttons. An Administrator or a Collaborator sees "Only the squad’s owner can tell" and the teammate's name "what to do about an email." instead. * Select **Dismiss** to clear the escalation. When the teammate gave a reason, a card under the email repeats it: the teammate's name and "escalated this for your decision", then "Here’s what" the teammate "found." and the reason. The owner also reads "Tell" the teammate "how to resolve it." and has **Instruct** and the teammate's name and **to resolve**. An Administrator or a Collaborator reads the owner-only sentence instead. When you send a reply, or approve a draft reply, in the same conversation, Squad clears the teammate's escalations on that conversation. A teammate can also withdraw an escalation that it raised, when the escalation no longer needs you. For example, you told the teammate in chat what to do and it did it, or the sender sorted it out. The escalation leaves the **Needs you** tab and **Needs you**. Activity shows a row with the teammate's name and "no longer needs you on an email", with the teammate's reason. A teammate can withdraw only its own escalations. To have a teammate clear all its old escalations at once, ask it in chat. The reason then quotes your words. A withdrawal sends no bell notification or email. The bell notification and any email about the original escalation stay. ### How Squad tells you Squad shows drafts and escalations on **Email**, in **Needs you**, on **Today**, in the bell, and in Activity. It counts them in the badge on **Today**. It also sends you an email about each escalation when the email switch for "A teammate needs your decision" is on, and about each draft when the email switch for "A reply is ready for you to check" is on. By default, the first is on and the second is off. Change them in **Settings** > **Notifications**. To get an email each time a teammate's inbox receives mail, turn on the email switch for "A teammate got an email". See [Choose your notifications](/docs/notifications). ## Open the inbox settings The settings of every inbox are on **Settings** > **Email** > **Inboxes and rules**. The page title is **Email rules**. Only the owner and Administrators can open them. 1. On **Email**, select the title at the top of the list, then **Inbox settings…**. Or click **Settings** at the bottom of the sidebar, then **Email**. 2. At the top of the page, select a teammate's name to change its inbox, or **Shared** to change the settings for every inbox. For one teammate, the page shows **Identity**, **Handling instructions**, **Email signature**, **Daily send cap**, **Delete this inbox** (owner only), and **Allow and block rules**. **Shared** shows **Custom domain**, **Deleted inboxes**, and **Allow and block rules**. Old links to the email rules open this page. ## Write the handling instructions **Handling instructions** tell the teammate how to sort, prioritize, and answer email. Squad gives them to the teammate each time it reads an email. Open **Settings** > **Email** > **Inboxes and rules** and select the teammate. See [Open the inbox settings](#open-the-inbox-settings). Type in **Handling instructions**. Click outside the field. Squad saves the text. To have the teammate write them with you, select **Refine with** and the teammate's name. The chat opens with your current instructions and "What I’d like different:" typed in. Add what you want and send. Handling instructions are a briefing, not a rule that Squad enforces. If they say "draft everything for my review", the teammate follows that as an instruction. The teammate can still send email directly. Squad has no draft-only setting. ```text A first briefing for any inbox theme={null} Handle: [the kinds of email this teammate owns]. Draft for my review: every reply to a customer, and anything about money. Escalate, do not reply: [your red lines]. Tone: [two words] and sign off as [name]. If you are not sure an email is yours, it is not. Escalate it. ``` ## Set the signature and the daily cap In the teammate's inbox settings: * **Email signature** ("Added to every email" the teammate "sends."): type the signature and click outside the field. Squad adds it to email that the teammate sends and to email that you send with **New email**. * **Daily send cap** ("The most emails" the teammate "can send in a day. 0 means no cap."): type the number and click outside the field. The bar and the line under it show how many the teammate sent today, for example "3 of 20 sent today". With a cap of 0, the line says "no daily cap". The daily cap counts the last 24 hours, not the calendar day. Scheduled sends count toward it. Drafts that wait for your review do not count until they are sent. Squad also has short-term and squad-wide send limits. For the numbers, see [Limits and defaults](/docs/limits-and-defaults). When the teammate hits a cap, its send fails with an error that names the limit, and the teammate can schedule the email for later. ## Set allow and block rules Rules control who an inbox can email or get email from. Open **Settings** > **Email** > **Inboxes and rules**. Select a teammate for one inbox, or **Shared** for every inbox. In **Allow and block rules**, select **Add rule**. Select **Block** or **Allow**. The default is **Block**. Select **Whole domain** (the default) or **Single address**, and type the domain (`example.com`) or the address (`name@example.com`). Under **Applies to**, select **Inbound**, **Outbound**, **Replies**, or more than one. The default is **Inbound**. Select **Add rule**. Select **Cancel** to stop. The rules show under **Always allowed** and **Never allowed**. Each rule reads as a sentence, for example "Always let [dana@client.example](mailto:dana@client.example) write in" or "Never send to or receive from anyone at spam.example". To remove a rule, select **Remove** on its row. With no rules, a group says "Nothing yet." If you select **Add rule** with no domain or address, or with no direction, the rule is not added. Rules in **Shared** apply to every inbox in the squad. Rules for a teammate apply to that inbox only. Teammates can also add and remove rules for their own inbox. To stop all email to one person or company, you can also mark the contact do not contact. See [Mark a contact do not contact](/docs/contacts#mark-a-contact-do-not-contact). ## Cancel a scheduled send A teammate can schedule an email for later. The **Scheduled** tab lists scheduled emails. 1. Open the scheduled email. The banner shows "Scheduled to send" with the date and time, and how long until it sends. 2. Select **Cancel send**. When the cancel works, the email leaves the **Scheduled** tab. If the email is still there, it may already have gone out. Check the **Sent** tab. When you mark a contact do not contact, Squad cancels the scheduled sends to that contact by itself. ## Send an email yourself Only the owner and Administrators can send email, and at least one teammate must have an inbox. On **Email**, select the pencil **New email** next to the title. In **From**, select the teammate's inbox. It starts on the inbox you are viewing. Fill in **To** (separate several addresses with commas), **Subject**, and the text. Select **Send**. The email is plain text with no attachments. It sends from the teammate's inbox and counts toward that teammate's daily cap. If **From**, **To**, or **Subject** is empty, Squad shows "Pick a From inbox and fill To + Subject." If the send fails, the error shows in the dialog, or "Couldn’t send. Try again." Squad refuses to send to a contact marked do not contact. ## Connect your own domain Your squad can have one custom email domain. Every inbox can use it. Only the owner and Administrators can connect it. Before you start: * At least one teammate must have an inbox. Otherwise Squad shows **Create an inbox first** and **Go to Email**. * You need access to the DNS settings of your domain. Open **Settings** > **Email** > **Domains**. From a teammate's **Identity**, you can also select **Manage domain** or **Connect a custom domain**. From **Shared**, select **Manage in Email domains**. Type your domain in the field (**yourdomain.com**). If you paste `https://`, a path, or a leading @, Squad removes it. Select **Connect domain**. Wait a few seconds for the records. The screen shows **Registering with the mail provider. Your DNS records appear here in a few seconds.** Then copy each record under **DNS records** to your DNS host. Select **Verify now**. Squad also checks the records on its own. The status changes as follows: | Status | Meaning | | - | - | | **Waiting for DNS** | Squad waits for the records. | | **Checking DNS…** | Squad is checking the records now. | | **Verification failed** | The records did not match. The reason shows under the status. Fix the records and select **Verify now**. | | **Connected · DNS verified** | The domain is ready. | Each record shows its type, name, and value, and **Verified** or **Pending**. Sending moves to your domain only after the records verify. Squad refuses a domain that another squad already uses. It also refuses a second domain while your squad has one. Remove the first domain before you connect another. When the domain is verified, new inboxes use it. Existing inboxes do not move on their own. To move an existing inbox, open its settings. In **Identity**, select your domain in the list after the @, then confirm. **Shared** also shows the domain in the **Custom domain** card, with "Connected and verified". With no custom domain, the card shows the shared domain and "Shared domain · no custom domain yet". ### Remove your domain On **Settings** > **Email** > **Domains**, select **Remove**, then confirm. You can also select **Remove** on the **Custom domain** card in **Shared**. The confirm message says: "Remove this custom email domain? You can remove it only when no inbox uses it. New inboxes then use the default sending domain." Squad refuses the removal while any inbox still has an address on the domain. The dashboard then shows a message that names those inboxes and tells you to delete them or move them to another domain. Change those inboxes' addresses to the default domain, or delete the inboxes. Then select **Remove** again. ## Pause an inbox Pause an inbox to stop one teammate's email for a time. The teammate is not told about new mail and cannot send email. The teammate keeps working on everything else. Open **Settings** > **Email** > **Inboxes and rules** and select the teammate. In **Identity**, select **Pause inbox**. Read the confirm message, then confirm. It says: "Pause this inbox? Mail still arrives, but the teammate does not read it or send email until you resume. Scheduled sends are canceled." **Paused** then shows next to the address. While the inbox is paused: * Mail still arrives and shows on the **Email** page. * The teammate is not told about new mail. * The teammate cannot send email, and you cannot approve its drafts. **Approve & send** then does nothing, and the draft stays. The teammate can still write drafts for your review. * The teammate can still read the inbox with its email tools when it runs for another reason, for example when you ask it in chat. * Scheduled sends of the inbox are canceled. * The inbox still counts as an inbox on your subscription. See [The inbox add-on](/docs/costs#the-inbox-add-on). To resume, select **Resume inbox**. The teammate is then told about the mail that arrived while the inbox was paused. You can pause or resume only an inbox that is set up. If you change the address of a paused inbox, the new address stays paused until you resume it. To stop more than email, pause the teammate. Email for a paused teammate also waits until you resume the teammate. See [Pause a teammate](/docs/agents#pause-a-teammate). ## Delete an inbox Only the owner can delete an inbox. Open **Settings** > **Email** > **Inboxes and rules** and select the teammate. In **Delete this inbox**, select **Delete inbox…**. Read the dialog, then select **Delete inbox**. Select **Keep inbox** to stop. The dialog shows how your subscription changes. Some squads have free inbox seats. If the inbox uses one, the dialog says **No change; this inbox uses a free seat**. The address is deleted permanently, and mail sent to it bounces. Its allow and block rules and its scheduled sends are deleted too. Emails the inbox already sent and received stay readable on the **Email** page. If this is your last inbox, deleting it also disconnects your custom email domain, and the rules in **Shared** are deleted too. To use the domain again, you set it up again with your DNS host. To remove the emails of deleted inboxes, open **Shared**, and in **Deleted inboxes** select **Clear emails from deleted inboxes**, then confirm. This cannot be undone. The emails of your current inboxes stay. Squad says "Clearing started. Old emails disappear from the list as they are removed." ## What teammates can do with email A teammate with an inbox can: * Read, search, and reply to its email, and send new email. * Read the attachments of email it receives. * Write a draft for your review, change it, send it, or discard it. * Escalate an email to you, and withdraw its own escalation when it no longer needs you. * Schedule an email for later. * Change its own signature and handling instructions. * Add and remove allow and block rules for its own inbox. * Wait for an email to arrive, for example a sign-in code, and read the code from it. * Turn an email into a task. A teammate's own sends always follow the daily cap and the other send limits, including when it sends one of its drafts. Squad logs every email that an inbox sends or receives, except spam, on the matching contact, and adds the people that your teammates email to your contacts. Squad refuses every email to a contact marked do not contact, and the teammate is told why. See [How email updates contacts](/docs/contacts#how-email-updates-contacts). ```text Ask the teammate theme={null} Go through your inbox. Reply to anything routine, draft a reply for my review to anything from a customer, and escalate anything about money. Then give me a short summary. ``` ## What Squad does not do * Squad does not show whether an email was marked as spam. * Teammates and **New email** cannot send attachments today. Teammates can read attachments on email they receive. * There is no label or folder system for email. ## On Squad for Mac (private beta) **Email** in Squad for Mac (private beta) works as on this page, with these differences. For the numbers, see [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). * **Open it.** Select **Email** in the sidebar, or press ⌘2. Its badge counts the unread emails. * **Pick an inbox.** The menu at the top of the list has **All Inboxes** and each teammate's inbox. The owner and Administrators also see **Create an Inbox…** and **Inbox Settings…**, which open the inbox settings. * **The list.** The tabs show no counts. Besides the newest emails, the list loads every draft, scheduled email, and unread email. Press J and K to open the next or the previous conversation. * **Search email.** Works as on the web. ⌘F still finds words in the open email. * **Read an email.** While the text loads, the email shows "Loading the message…". An email counts as read once its text shows, not while it is loading. Remote images are blocked until you select **Load remote content**. The app shows an email's attachments. Select one to save it. * **Discuss and Tell.** Everyone except a Viewer sees **Discuss**. On an escalation, the owner's button is **Tell** and the teammate's name and **what to do**, where the web says **Instruct**. In the chat, everyone else sees "Only the squad's owner can reply in this email conversation." The owner or an Administrator can select **Dismiss**. * **Drafts.** The owner and Administrators see **✓ Approve & send**, **Edit draft**, and **Discard**. Only the owner also sees **Revise with** and the teammate's name. Other people see a note that the owner or an Administrator approves or discards the draft. After **Edit draft**, **Save changes** saves the draft and does not send it, also on a single draft. ### Write or reply to an email on the Mac The owner and Administrators can write an email themselves, and also reply to one. Select the **New email** button, or press ⌘⇧N. To answer an email, open it and select **Reply**. Pick the **From** inbox. Type the **To** addresses, separated with commas, and a **Subject**. Write the text. Select **Send**, or press ⌘Return. A message says which inbox sent it. The email counts toward that teammate's daily cap. If you close the sheet, the Mac keeps your draft and shows it again next time. For the keys, see [Email keys](/docs/mac/keyboard-shortcuts#email). ## Common questions Yes. A Collaborator or a Viewer can read the inboxes of the teammates that they can see. They cannot send email, review drafts, handle escalations, or change inbox settings. An Administrator can do those things, but cannot add or delete an inbox, and cannot talk to a teammate about an email. See [Who can do what](#who-can-do-what). Mail to the old address no longer arrives. Tell your contacts the new address, or ask the teammate to email them. Yes, if you are the owner or an Administrator. Open the dashboard on your phone, open the draft from **Today** or **Needs you**, and select **Send now**. No. A draft waits in **Drafts** until you approve it, discard it, or the teammate sends or discards it. The teammate sent it directly. Handling instructions are not enforced. See [Write the handling instructions](#write-the-handling-instructions). The **Needs you** tab on **Email** lists only escalated emails in the inbox that you are viewing. **Needs you**, opened from **Today**, lists everything that waits for you in the squad: questions, drafts and escalations, purchases to approve, and more. ## Check that it works * The inbox settings show the address without **Updating…** or **Paused**. * A test email that you send to the address shows in the teammate's inbox on the **Email** page. * After you connect a domain, **Settings** > **Email** > **Domains** shows **Connected · DNS verified**. ## Troubleshooting * The domain status stays **Waiting for DNS**. Cause: the records are missing or have not spread yet. Fix: check each record at your DNS host, wait, and select **Verify now**. * **Remove** on your domain shows a message that the domain still has inboxes. Cause: an inbox still uses the domain. Fix: change that inbox's address to the default domain, or delete the inbox, then remove the domain. * **Cancel send** did not remove a scheduled email. Cause: the email already went out, or the cancel failed. Fix: check the **Sent** tab. If the email is still scheduled, select **Cancel send** again. * The teammate sent an email you expected as a draft. Cause: handling instructions are not enforced. Fix: make the instructions clearer, and set a low **Daily send cap**. * **Inbox settings…** is not in the menu. Cause: only the owner and Administrators can change inbox settings. Fix: ask the owner. For more, see [Fix email problems](/docs/email-troubles). # Fix email problems Source: https://squad.so/docs/email-troubles Fix the common problems with teammate inboxes: send caps, custom domains, bounces, spam, do not contact, scheduled sends, and inboxes that do not set up. This page assumes that at least one teammate has an inbox. To add one, see [Give a teammate an email inbox](/docs/email). Only the owner and Administrators can open the inbox settings, at **Settings** > **Email** > **Inboxes and rules**. ## A teammate cannot send because of a cap Symptom: an email does not go out. The teammate's chat shows a message that starts "Couldn't send that email —" and names the cap. For example: "Daily send cap (\[n]) reached for \[address] (including scheduled sends). Adjust in agent settings." Cause: the send went over one of the send caps. Squad checks these caps before a teammate sends: | Cap | Scope | Who can change it | | - | - | - | | Sends per minute | Each inbox | Nobody in the dashboard | | Different recipients in 5 minutes | Each inbox | Nobody in the dashboard | | **Daily send cap**, over a rolling 24 hours | Each inbox | The owner or an Administrator, in the inbox settings | | Workspace daily cap, over a rolling 24 hours | All inboxes together | Nobody in the dashboard | | Workspace monthly cap, over a rolling 30 days | All inboxes together | Nobody in the dashboard | For the numbers, see [Limits and defaults](/docs/limits-and-defaults). The caps count sent email and scheduled sends in the same time window. Drafts that wait for your approval do not count until they are sent. The windows are rolling. Capacity comes back as older sends leave the window, not at midnight. The error names the cap: | Error | Cap | | - | - | | "Per-minute send rate (\[n]/min) reached for \[address] (including scheduled sends). Try again shortly." | Sends per minute | | "Recipient burst cap (\[n] distinct in 5 min) would be exceeded. Send fewer at once or space them out." | Different recipients in 5 minutes | | "Daily send cap (\[n]) reached for \[address] (including scheduled sends). Adjust in agent settings." | **Daily send cap** of the inbox | | "Workspace daily send cap (\[n]) reached (including scheduled sends). Adjust in admin settings or wait until tomorrow." | Workspace daily cap | | "Workspace monthly send cap (\[n]) reached (including scheduled sends). Adjust in admin settings or wait for the rolling window to free up." | Workspace monthly cap | The two workspace errors say "Adjust in admin settings". You cannot change the workspace caps in the dashboard. Wait until capacity comes back. Fix: On **Email**, select the title at the top of the list, then **Inbox settings…**. Or open **Settings** > **Email** > **Inboxes and rules**. At the top of the page, select the teammate's name. On the **Daily send cap** card, read the meter "\[n] of \[cap] sent today". To allow more sends, type a larger number in **Daily send cap**. Or wait until capacity comes back, then ask the teammate to send it again. A teammate can also schedule the send for a later time. A cap only stops sending. The inbox stays live, and the teammate still receives and reads new mail. The caps do not apply when you approve a draft with **Approve & send**, **Save & send**, or **Send now**. The caps limit only what teammates send by themselves. ## The custom domain does not verify You connect a domain in **Settings** > **Email** > **Domains**. The domain shows one of these states: | State | What it means | | - | - | | **Waiting for DNS** | Squad waits for you to add the DNS records | | **Checking DNS…** | Squad is checking your records | | **Verification failed** | Squad did not find the correct records | | **Connected · DNS verified** | The domain is ready | Symptom: the domain stays at **Waiting for DNS** or shows **Verification failed**. Cause: the DNS records are missing or wrong, or your DNS host has not published them yet. Fix: Open **Settings** > **Email** > **Domains**. Compare each row under **DNS records** with the records at your DNS host. Each row shows Verified or Pending. Add or correct the records at your DNS host. Select **Verify now**. Squad checks again for a few minutes after you select **Verify now**. DNS changes can take longer to publish. If a record is still Pending, wait and select **Verify now** again. ### The inboxes still use the old address Symptom: the domain is verified, but an existing inbox still sends from the default address. Cause: only inboxes that you create after the domain is verified use the domain automatically. Existing inboxes keep their address. Fix: open the settings for the inbox in **Settings** > **Email** > **Inboxes and rules**. On the **Identity** card, choose the new domain for the address. The dialog says that the old address stops receiving and that its scheduled sends are canceled. Confirm to continue. ### The domain is refused when you add it | What you see | Cause | Fix | | - | - | - | | **Connect domain** stays unavailable | The text is not a domain name. | Type only the domain, for example `mail.example.com`. | | No field to connect a domain | Your squad already has a custom domain. A squad can have one. | Remove the current domain first. See [The custom domain cannot be removed](#the-custom-domain-cannot-be-removed). | | An error shows after **Connect domain** | Another squad already uses this domain, or the domain could not be registered. | Use a different domain or subdomain. If the other squad is yours, remove the domain there first. If it keeps failing, email support. | ## The custom domain cannot be removed Symptom: you select **Remove** and confirm, but the domain stays. A message says "\[domain] still has \[n] inboxes (\[names]). Delete those inboxes or move them to another domain, then remove the domain." Cause: Squad does not remove a domain while an inbox has an address on it. This includes inboxes that are still being set up and inboxes that are paused. Fix: 1. Open the settings of each inbox on that domain, in **Settings** > **Email** > **Inboxes and rules**. 2. On the **Identity** card, change the address to the default domain. Or delete the inbox. 3. Open **Settings** > **Email** > **Domains** and select **Remove** again. When you delete the last inbox in your workspace, Squad also removes your custom domain. ## A sent email bounced or was not sent Symptom: someone says that they did not get an email. In **Email**, the message shows **Bounced** or **Not sent**. Cause: **Bounced** means that the receiving mail server returned the email. **Not sent** means that the mail provider refused the email before it left. In both cases, the recipient did not get it. The message gives the reason when the provider reports one. Fix: 1. Open the message and read the reason. 2. Check the address. If it is wrong, ask the teammate to send the email again to the correct address. If many emails bounce, the address list is probably old. Ask the teammate to check the list before it sends more. The **Email** page does not show spam complaints. To find them, open Activity and look for an entry about an email marked as spam. ## A teammate did not reply to an email Check these causes in order. **The teammate or its inbox is paused.** The mail arrives, but the teammate is not told about it until you resume. The inbox settings show **Paused** next to the address, or the teammate's page shows **Paused**. Select **Resume inbox**, or **Resume** and the teammate's name. See [Pause an inbox](/docs/email#pause-an-inbox). **A block rule stopped the email.** Mail from a blocked sender or domain does not reach the inbox. Open the inbox settings and check **Never allowed** under **Allow and block rules**. Select **Remove** on the rule if it is wrong. **The email was marked as spam.** Squad keeps email that the mail provider marks as spam, but it does not wake the teammate for it, does not notify you, and does not log it on your contacts. The message can still be in the inbox. Ask the teammate to read it. ```text Ask the teammate theme={null} Please read the latest email from [sender] in your inbox and handle it. ``` **The handling instructions leave this email out.** Open the inbox settings and read **Handling instructions**. Teammates follow these instructions. They are guidance only, so Squad does not force them. **The teammate's runs are failing.** See [Fix a teammate that is stuck or failing](/docs/agent-stuck). ## A teammate sent something that it should not send Squad does not have a setting that forces every email to wait for your approval. Teammates can send email directly. To reduce the risk: 1. Open the inbox settings and make **Handling instructions** clear. For example, tell the teammate to draft every reply for your review. 2. Add a block rule for senders or domains that the teammate must not email. Use **Add rule** on **Allow and block rules**, and choose the direction. 3. Lower the **Daily send cap** for that inbox. 4. For a person or a company that asked not to hear from you, mark the contact do not contact. See [Mark a contact do not contact](/docs/contacts#mark-a-contact-do-not-contact). You cannot recall an email after it is sent. ## An email is refused because the contact asked not to be contacted Symptom: a teammate says that a contact asked not to be contacted, or an email that you send or approve does not go out. Cause: the recipient, or their company, is marked do not contact on **Contacts**. Squad refuses every email to a marked contact: a teammate's email, **New email**, an approved draft, and a scheduled send. The teammate gets this message: "This contact asked not to be contacted:" followed by the address and the name, then "Remove the address. Do not reach them another way." Fix: 1. Remove the address from the email. 2. To check the mark, open the contact. The panel says **Do not contact.** 3. Only if the person asked to hear from you again, select **Allow contact again**. See [Mark a contact do not contact](/docs/contacts#mark-a-contact-do-not-contact). ## A scheduled send fails or does not go out These rules apply to scheduled sends: * The send time must be at least 60 seconds in the future. * A scheduled send cannot have attachments. * The caps apply around the send time. If the send would break a cap at that time, Squad refuses to schedule it. * When you change an inbox address, Squad cancels the scheduled sends of the old address. The teammate gets one of these messages and passes it on: | Message starts with | Cause | Fix | | - | - | - | | "sendAt must be at least 60 seconds in the future" | The send time is too soon or in the past. | Ask the teammate to send now, or to pick a later time. | | "Scheduling with attachments isn't supported yet" | The email has attachments. | Send it now, or schedule a version without attachments. | | "Can't schedule for that time — that minute would carry" | Too many sends in that minute. | Pick a later time, or space the sends out. | | "Can't schedule for that time — it would put \[n] distinct recipients within 5 minutes" | Too many different recipients near that time. | Spread the recipients across different times. | | "Can't schedule for that time — that day would carry \[n] sends (daily cap \[cap])" | The inbox's **Daily send cap** is full for that day. | Choose a different day, or raise the **Daily send cap**. | | "Can't schedule for that time — the workspace daily cap" or "the workspace monthly cap" | The workspace cap is full for that window. | Choose a later day. | To cancel a scheduled send, open it in **Email** and select **Cancel send**. A scheduled send to a contact marked do not contact is refused, and a new mark cancels the scheduled sends it covers. If it already went out, it stays in **Sent**, and the dashboard shows no message. A teammate that tries to cancel it is told "This scheduled send has already gone out — it can no longer be canceled." ## An inbox does not appear after you add it Symptom: you selected **Confirm & pay** (the button also shows the monthly price), but the teammate still has no inbox. Cause: the charge for the inbox, or the setup of the inbox, failed. Squad then turns the inbox off again. When the charge fails, Activity shows "Couldn't add \[teammate]'s email seat —" followed by the reason, for example "Couldn't find an active subscription on file. Upgrade on the Billing page, then try again." Fix: 1. Open Activity and read the reason. 2. If your subscription is not active, or your card was declined, fix it in **Settings** > **Billing and usage** > **Billing**. See [Manage your subscription, credits, and workspace data](/docs/billing). 3. Add the inbox again. See [Give a teammate an email inbox](/docs/email). If Squad refuses at once, an error shows in the **Confirm & pay** dialog, for example while an earlier inbox of that teammate is still being removed. Wait a few seconds, then try again. If it fails again, email support. ## The address change or the inbox deletion fails When a change to an address, or a delete, does not go through, the inbox settings in **Settings** > **Email** > **Inboxes and rules** show an error. Common causes: | Cause | Fix | | - | - | | The inbox is new and still being set up (the address shows **Updating…**), or an earlier change is still running. | Wait a moment, then try again. | | The part before the @ has no letters or digits. | Type a name with letters or digits. | | The change did not go through for another reason. | Try again. If it fails again, email support with the time and the error. | ## An email that you write does not send When you write an email yourself with **New email** on the **Email** page, the window can show: | Message | Fix | | - | - | | "Pick a From inbox and fill To + Subject." | Choose the inbox in **From**, and fill in **To** and **Subject**. | | "Couldn’t send. Try again." or another error | Try again. If the error names a cap, see [A teammate cannot send because of a cap](#a-teammate-cannot-send-because-of-a-cap). If it keeps failing, check whether a recipient is marked do not contact. See [An email is refused because the contact asked not to be contacted](#an-email-is-refused-because-the-contact-asked-not-to-be-contacted). | ## Still stuck Email [support@squad.so](mailto:support@squad.so). Give the inbox address, the time, and the exact error text. See [Get help](/docs/getting-help). # Frequently asked questions Source: https://squad.so/docs/faq Short answers to the questions that new and evaluating customers ask about Squad, with links to the pages that explain more. Short answers, each with a link to the page that has the details. ## Before you buy Squad gives you a team of AI teammates in a web dashboard. A chief of staff, named **Chief of Staff** by default, plans the work and adds more teammates when you need them. The teammates run on your squad's own computer in the cloud, on the AI account that you connect. You give them work in chat or as tasks. When they need a decision from you, they ask you a question. See [What Squad is](/docs/what-squad-is). A Squad subscription and an account with an AI provider, such as ChatGPT or Claude. Your teammates run on your AI account. See [Connect your AI subscription](/docs/connect-your-ai). No. You pay at checkout, before your workspace is built. Your first payment has a 7-day money-back guarantee. See [Get a refund](/docs/billing#get-a-refund). There is one monthly plan. For every price, see [What Squad costs](/docs/costs). Your AI provider bills you for model usage. Research tools use credits, and each workspace gets included credits every month. Email inboxes and seats for people are paid add-ons. See [What Squad costs and what uses credits](/docs/costs). ChatGPT · Codex, Claude Code, Claude, Grok, Gemini, GitHub Copilot, Kimi, MiniMax, Z.ai, Qwen Cloud, OpenRouter, Cloudflare Workers AI, and OpenCode. Gemini connects with a Google AI Studio API key only. A Gemini app plan does not connect. You can connect more than one provider, and more than one account for a provider. See [Connect your AI subscription](/docs/connect-your-ai). No. Your AI provider bills you for model usage under your own plan or key. Model usage never uses Squad credits. Each run shows its token usage. See [What Squad costs and what uses credits](/docs/costs). The setup screen says "This takes about 2 minutes". A slow build retries automatically and can take longer. See [Get started](/docs/get-started) and [Fix setup problems](/docs/setup-troubles). Yes, in the phone's web browser. On a small screen, **Today**, **Squad**, your first two pinned places, and **More** are in a bar at the bottom, and rows wrap to fit. See [On a phone](/docs/what-squad-is#on-a-phone). ## What your squad can do Message your chief of staff in chat, or create a task with **New task**. Your chief of staff answers or routes the work to the right teammate. See [Give your squad work that it can finish](/docs/delegate). Teammates chat with you and with each other, run tasks, ask you questions, and write docs. They send email from their own inboxes, act in the apps that you connect, keep your contacts, use the research tools, and use a browser on your squad's computer. They can also add teammates and create routines. See [What teammates can do, and how you stay in control](/docs/control). Ask your chief of staff. The **+** beside **Your squad** in the sidebar opens that chat with a request already typed. The dashboard does not add a teammate by itself. A new teammate is ready for work about 2 minutes after your chief of staff creates it. See [Add, change, and pause teammates](/docs/agents). Any app in the catalog on **Settings** > **Apps**, for example Gmail, Notion, GitHub, and Slack. Each app has a manual in the **App manuals** tab of these docs. For a service that is not in the catalog, add its MCP server or store its API key. See [Connect apps](/docs/integrations) and [Add an MCP server or an API key](/docs/custom-integrations). Yes. Each teammate uses a browser on your squad's computer. You can watch it and take over, for example to sign in. A teammate can also ask you to fill in a form on a page, such as a sign-in, from a card in chat. See [Watch or take over a teammate's computer](/docs/computer). No. Teammates work on your squad's computer. They cannot reach your files or your browser unless you send them the files or connect the app. The exception is Squad for Mac (private beta): with **Let your squad use this Mac** on in **Mac access**, teammates can ask for files, the open browser tab, or your screen, and you approve each request on your Mac. See [Let your teammates use your Mac](/docs/mac/mac-access) and [What Squad is](/docs/what-squad-is#what-squad-does-not-do). Yes, from Telegram, Discord, or Slack. You connect a bot for each chat app. Squad has no chat channel for WhatsApp or Microsoft Teams. Teammates can use those as apps. See [Talk to your squad from Telegram, Discord, or Slack](/docs/channels). Yes, after you give a teammate an inbox. An inbox is a paid add-on for each teammate. Squad limits how much each inbox and the whole squad can send. See [Give a teammate an email inbox](/docs/email). Yes. Connect one custom domain for your squad in **Settings** > **Email** > **Domains**. See [Give a teammate an email inbox](/docs/email#connect-your-own-domain) and [Fix email problems](/docs/email-troubles#the-custom-domain-does-not-verify). Yes. Your squad runs on its own computer in the cloud, not in your browser. Routines and incoming email continue when the dashboard is closed. See [Schedule recurring work with routines](/docs/scheduled). Only when you set it up. A teammate starts work when you message it, when a task is assigned to it, when a routine reaches its time, when email arrives in its inbox, or when a trigger that is on receives an event. See [Start work when something happens (triggers)](/docs/triggers). Heartbeats, which wake teammates on a timer, start switched off. See [What Squad is](/docs/what-squad-is#when-teammates-work) and [Schedule recurring work with routines](/docs/scheduled). ## Control and spending Set an access level for each connected app, and narrow it for single teammates. Turn off tools in **Settings** > **AI** > **Tools**. Set a **Daily send cap** for each inbox. Other rules, such as "ask me before you send", are instructions that teammates follow but Squad does not force. See [What teammates can do, and how you stay in control](/docs/control). Teammates can spend credits on research tools. They cannot buy credits or add inboxes. Auto-recharge buys credits only if you turn it on, and only up to the monthly maximum that you set. A teammate can set a credit budget for a task, and there is no dashboard control for it. See [Budgets for a task](/docs/costs#budgets-for-a-task). A teammate can also pay online with a card that a person saved in their card vault. Every payment waits until the card's owner approves it on the device that holds the card, and nothing is paid without that approval. See [Let your teammates pay with your card](/docs/payment-cards). Squad has no setting that forces approval. Teammates can send email directly. To reduce the risk, tell the teammate in its **Handling instructions** to draft every reply for your review, and lower its **Daily send cap**. See [Fix email problems](/docs/email-troubles#a-teammate-sent-something-that-it-should-not-send). You cannot recall an email after it is sent. You can cancel a scheduled send before it goes out. See [Fix email problems](/docs/email-troubles#a-scheduled-send-fails-or-does-not-go-out). Yes. Invite them from **Settings** > **People**. Each person signs in with their own email address and gets a role: **Administrator**, **Collaborator**, or **Viewer**. Each person you invite uses a paid seat, and billing stays with you. See [Invite people to your squad](/docs/teammates). To show your squad's work to people without an account, share a read-only view. To let people talk to one teammate from a chat app, connect an extra Telegram bot, a Discord bot, or a Slack app, and add them to its list. See [Share a read-only view of your workspace](/docs/sharing) and [Talk to your squad from Telegram, Discord, or Slack](/docs/channels). Not until you share them. Only the person who connected an account can share it. A connected account is private to the person who connected it, unless that person ticks **Share this account with everyone in this workspace** when connecting it. To let everyone use one of your accounts through the teammates, click **⋯** on the account row in **Settings** > **Apps**, then **Share with the whole workspace**. A Collaborator or an Administrator can also connect their own account. See [Who can use an account](/docs/integrations#who-can-use-an-account). Yes. Click your squad's name at the top of the sidebar and click **New squad team**. Each squad has its own subscription, teammates, and computer. For the price, see [What Squad costs](/docs/costs). See [Run more than one squad](/docs/billing#run-more-than-one-squad). ## Credits Only the 57 built-in research tools, such as web searches, page scrapes, and company lookups. Every workspace gets a monthly allowance of included credits. Apps you connect, email, and model usage are free of credits. See [What Squad costs and what uses credits](/docs/costs) and the [Research tools reference](/docs/research-tools). Research tools stop until you buy credits or turn on auto-recharge. The rest of your squad keeps working, and cached research results stay free. See [When credits get low or run out](/docs/costs#when-credits-get-low-or-run-out). Yes. Each person that you invite, and each invite that is still open, uses a seat. A seat is a monthly charge on your subscription. You buy seats in **Settings** > **Billing and usage** > **Billing**. For the number of seats, see [Limits and defaults](/docs/limits-and-defaults#people). The app shows the price before you buy. The people you invite pay nothing themselves. See [Seats for people](/docs/costs#seats-for-people). Yes. An email inbox for a teammate is a paid add-on, charged per inbox each month. No inbox is included in the plan. The app shows the price before you confirm. See [The inbox add-on](/docs/costs#the-inbox-add-on). ## When something goes wrong The usual causes are an expired AI connection, a rate limit, or a run that failed. Start at **Today**: work that did not finish, and a signed-out AI account, show first under **Needs you**. The owner and Administrators see work that did not finish. See [Fix a teammate that is stuck or failing](/docs/agent-stuck). If you connected more than one account for a provider, Squad tries them in the order on the provider card. For Claude Code, the next account takes over when the active one reaches its usage limit. If you set fallback models, the run moves to the next model. Without fallbacks, runs fail until the provider accepts calls again. See [Rate limits and fallback](/docs/agent-stuck#rate-limits-and-fallback). **Today** shows work that did not finish today, with **See what happened**. **History** shows every run with its error. **Activity** shows everything your squad does. **Health** lists today's failed runs and provider limits. Open it from a teammate's page, on the line that says a run today didn’t finish. Only the owner and Administrators see it. See [See what your squad did](/docs/runs-and-health). Find the message on the screen in [Fix setup problems](/docs/setup-troubles). Most failures need only another **Launch my squad**. Each page has its own list of messages: [Connect apps](/docs/integrations#troubleshooting), [Add an MCP server or an API key](/docs/custom-integrations#troubleshooting), [Telegram](/docs/telegram#troubleshooting), [Discord](/docs/discord#troubleshooting), [Slack](/docs/slack#troubleshooting), and [Fix email problems](/docs/email-troubles). ## Your account Open **Settings** > **Billing and usage** > **Billing** and select **Cancel subscription…**. The cancellation takes effect at the end of your billing period, and you can undo it before then. See [Cancel your subscription](/docs/billing#cancel-your-subscription). After the end date, your workspace is locked and scheduled for deletion, and your teammates stop. Export your data before the end date. See [What happens at the end date](/docs/billing#what-happens-at-the-end-date). Your teammates, all tasks with comments, all docs, your run history, your contacts and pipelines, and the latest 500 activity items and squad chat messages. It does not contain email, memory, skills, or settings. See [Export your data](/docs/billing#export-your-data). Your first payment is refundable within 7 days. Email [support@squad.so](mailto:support@squad.so) from your account email. Renewals and credit purchases are not refundable. See [Get a refund](/docs/billing#get-a-refund). Open **Settings** > **Squad** > **General**, select **Reset squad…**, and type your squad's name to confirm. This deletes everything in your workspace and cannot be undone. See [Reset your workspace](/docs/billing#reset-your-workspace). Email [support@squad.so](mailto:support@squad.so). The dashboard cannot delete a workspace. See [Delete your workspace](/docs/billing#delete-your-workspace). Email [support@squad.so](mailto:support@squad.so). **Help & support** shows the address on its **Email us** card, with **Copy address** and **Write in Gmail**. See [Get help](/docs/getting-help). # Fill a form that a teammate sends you Source: https://squad.so/docs/form-cards Type a sign-in or other values that only you know into a form card in chat, and let your teammate fill the page on your squad's computer. Sometimes a teammate works in its browser on your squad's computer and reaches a page that needs values only you know, for example a sign-in or your personal details. Instead of handing you the whole screen, the teammate sends the form to you as a card in chat. You fill the fields in the card. Your browser sends the values to your squad's computer, and the teammate types them into the page. The card stores the shape of the form: the site and the fields. It does not store the values, and the values do not show in the chat. For steps that you must do on the page yourself, such as a CAPTCHA, a passkey, an approval in an authenticator app, a file upload, or a drag-style widget, the teammate still hands you the screen. See [Watch or take over a teammate's computer](/docs/computer). ## Before you start * Only the owner of the squad can fill a form card. Other people in the squad see the card without fields or buttons, with "Your teammate asked for" and the number of values. They see **Submitted** or **Declined** after you answer, but not **Filled**, **Expired**, or **Not filled**. * A form card shows only in a direct chat with the teammate in the dashboard. It does not show in a group conversation, or in Telegram, Discord, or Slack. When the work started in one of those places, the card starts a new conversation with the teammate in the dashboard. * A form card stays open for a limited time. See [Limits and defaults](/docs/limits-and-defaults#form-cards). ## Fill the form Find the card **Form to fill** in the chat. Next to the title, the card shows the site, for example `accounts.example.com`. The line at the bottom says which page the values fill: "Fills only the page open at" the site "on your cloud computer." Type or paste a value in each field. A field with `*` after its label is required. Select **Fill the form**. Your teammate can give this button another name. The button shows **Sending…** while it works. Check that it works: the card shows **Submitted** and "Your values reached your cloud computer. Your teammate is filling the page now." When the teammate has filled the page, the card shows **Filled**. The teammate then selects the page's own submit button. The card does not offer the passwords that your browser saved for the dashboard. Copy them from your password manager and paste them. A card can have text, email, password, phone, number, date, and long text fields, a list to pick from, a check box, and choice buttons. ## If you cannot fill it Select **I can't fill this**. The teammate gets the message "I can't fill this form right now. Continue another way, or hand me the computer." and finds another way. The card shows **Declined**. ## What the card shows after you answer | State | Meaning | | - | - | | **Submitted** | Your squad's computer has your values. The teammate is filling the page. | | **Filled** | "The form on" the site "was filled with your values." | | **Declined** | You selected **I can't fill this**. "Your teammate will find another way." | | **Expired** | "This form request lapsed. Ask your teammate to send it again." | | **Not filled** | The teammate could not fill the page, for example "No field could be filled on the page." Ask your teammate to send the form again. | If the computer got your values but the teammate was not told, the card says "Your values reached your computer." and shows **Tell my teammate**. Select it to tell the teammate again. You do not type the values again. ## On Squad for Mac (private beta) Squad for Mac (private beta) shows the same form card, with these differences: * The card says "Needs your values" and the site. The button is **Fill in the form** when the teammate gave it no other name. The line under it says "Goes only to the page at" the site "on your squad's computer. The chat never sees it." * A check box shows as a switch. A choice of up to 3 short options (16 characters or fewer) shows as buttons, and any other choice shows as a menu. Type a date as YYYY-MM-DD. Press Return in a one-line field to send. * When a required field is empty, the card says "Fill in" and the field names "first." * After you answer, the card says **Sent**, **Filled in**, **You couldn't fill it**, **Ran out**, **Not filled in**, or **Dismissed**. * When your squad's computer has the values but the teammate was not told, the card says **Needs one more step**, with **Tell** and the teammate's name. * Other people see the teammate's name, "asked the squad owner for" the number of values, and "Only the owner can fill this in." A Viewer sees "Your access is view-only, so the squad owner fills this in." ## What your teammates do Your teammates are told to: * Send a form card when a page needs typed values that only you know. * Never ask for a password in a chat message. * Use a key that you saved in [custom integrations](/docs/custom-integrations) instead of asking for it again. * Never put card details in a form card. To pay, a teammate uses a card from your card vault. See [Let your teammates pay with your card](/docs/payment-cards). * Never send you a form for another person's own sign-in. That person connects their own account instead. Squad refuses a form card that asks for card details. ## Troubleshooting | Message | Cause | Fix | | - | - | - | | "Fill the required fields first:" followed by the field names | A required field is empty. | Fill the fields that the message names. | | "This form request is no longer open, or your computer's address is not available. Ask your teammate to send it again." | The card expired or closed. | Ask the teammate to send the form again. | | "This form request was already used or expired. Ask your teammate to send it again." | The values were already sent, or the time ran out. | Ask the teammate to send the form again. | | "Your computer could not be reached from this network. Hand it the form with a takeover instead." | Your browser could not reach your squad's computer. | Ask the teammate to hand you the screen, and type the values on the page. | | "The computer refused the values. Ask your teammate to send the form again." | Your squad's computer did not take the values. | Ask the teammate to send the form again. | | "Something went wrong sending the values. Please try again." | The send did not finish. | Select **Fill the form** again. | # Get started: from sign-up to your first task Source: https://squad.so/docs/get-started Pay, create your account, launch your squad, meet your chief of staff, and hand over your first task. In this tutorial you buy Squad, create your account, launch your squad, and meet your chief of staff, the teammate that leads your squad. At the end, your squad works on its first task and you answer its first question. Plan for about 20 minutes. The tutorial uses ChatGPT, the provider that the setup page recommends. If you use a different AI provider, follow its steps in [Connect your AI subscription](/docs/connect-your-ai) when you get to step 3, then continue here. ## Before you begin * A ChatGPT plan. The setup page recommends a Pro subscription. * In ChatGPT, open **Settings** > **Security** and turn on **Enable device code authorization for Codex**. Squad connects to ChatGPT with a device code, and Squad asks you to turn this setting on first. * Access to the email inbox that you will use for Squad. For the plan price, see [What Squad costs](/docs/costs). ## From sign-up to your first question You pay first. The payment gives your email address access to Squad. 1. Go to squad.so/get-started. 2. Type your email address in the email field. 3. Click **Get your squad**. The button also shows the monthly price. 4. Complete the payment in the checkout window. You see **Payment successful** and **Setting up your account…**. After a few seconds, Squad opens the **Create your account** page with your email address filled in. If you see **Already subscribed**, this email address already has a subscription. Click **Log in** and sign in instead. Use the same email address that you used to pay. Squad finds your subscription by this address. 1. On **Create your account**, make sure that **Email address** shows the email that you paid with. 2. Type your name in **Full name**. This field is optional. 3. Type a **Password** of 8 characters or more. 4. Tick **I have read and agree to the Terms of Service.** 5. Click **Create account**. 6. Open the email from Squad and copy the 8-digit code. 7. Type the code in **Verification code** and click **Verify email**. The code expires after 15 minutes. Squad opens the setup page, **Set up your squad**. If you see **Payment received**, Squad is still activating your access. Wait on the page. It continues automatically, usually within a few seconds. If you see **We can't find your subscription**, you signed in with a different email address than the one you paid with. Log out and sign in with the email address that you used at checkout. If a **Please Accept Our Terms of Service** window opens at any time, tick the box and click **Accept & Continue**. The setup page has one choice: your AI provider. 1. Under **Choose your AI provider**, keep **ChatGPT · Codex** selected. It has the **Recommended** label and is selected by default. 2. Tick **I have read and agree to the Terms of Service and Refund Policy.** 3. Click **Launch my squad**. You see **Building your squad** and **This takes about 2 minutes**. A list of six steps gets a check mark as each step finishes: **Setting up your workspace**, **Installing AI tools**, **Adding capabilities**, **Starting your agents**, **Configuring your squad**, and **Final checks**. Squad is building your squad's computer: the machine where your teammates run. You can reload the page. The progress screen comes back. If the screen shows **Something went wrong**, see [Fix setup problems](/docs/setup-troubles). When the build finishes, the screen shows **Connect your AI provider** and **One more step before your agents can work**. A **Connect your ChatGPT account** box shows a link and a code. 1. Under **Step 2: Enter this code**, click **Copy code**. 2. Under **Step 1: Open this link**, click the link. It opens in a new tab. 3. Sign in to ChatGPT if it asks, paste the code, and approve the connection. 4. Go back to the Squad tab. You see **ChatGPT connected**. The heading changes to **Your squad is ready**. The code is valid for 5 minutes. If the time runs out, the screen says **The code expired before it was approved.** Click **Get a new code** and approve the new code within 5 minutes. You can also click **Skip to Dashboard** and connect ChatGPT later in **Settings** > **AI**. [Connect your AI subscription](/docs/connect-your-ai#steps-for-each-provider) has the steps. 1. Click **Open your dashboard**. The dashboard opens on **Today** with a **Your squad is ready** window. It names your chief of staff. It is called **Chief of Staff** until you give it another name. 2. Click **Chat with Chief of Staff**. The button shows your chief of staff's current name. The chat opens on a new conversation, with "A new conversation with Chief of Staff." and a few suggested first messages. If you click **Look around first** instead, the window closes and you stay on **Today**. While no app is connected, **Today** also shows **Connect the apps your squad works in**, with **Connect an app** and **Not now**. You can connect apps later. See [Connect apps](/docs/integrations). Your chief of staff is the first teammate in your squad. It designs the rest of your squad with you in one conversation of about 10 minutes. 1. Type a first message and press Enter. For example: ```text theme={null} Hi! I'm Sam. Let's set up my squad. ``` Your chief of staff replies and introduces itself. It asks what to call you and what you want to call it. 2. Answer each question in your own words. More detail gives you a better squad. In this conversation, your chief of staff asks about these topics, one at a time: * Your name, your business, your customers, and the work that takes most of your time. * A style for your teammates' names, for example real names or a theme. * A proposed squad of 4 or 5 teammates, each with a role, for you to approve or change. * The tools that you use, such as email, chat, and docs. Your chief of staff never asks you to paste a key or password into chat. * How many decisions a day you want to receive (most people say 5), what time of day your daily digest arrives, and what must never happen without your sign-off. After you approve the squad, the new teammates appear under **Your squad** in the sidebar. When you have two or more teammates, **Squad chat** also appears in the sidebar. At the end, your chief of staff writes an **Outcomes** doc in **Docs**, creates the first 2 or 3 tasks, and sends a handoff message. You can stop and come back. Your chief of staff records its progress and continues from the last topic. Each teammate has a heartbeat, a routine that wakes it to check its work. Heartbeats are created switched off. Until you turn them on, teammates work only when you message them, mention them, or give them a task. Your chief of staff turns on its own heartbeat only if you ask it clearly, for example "turn on the check-ins". See [Schedule recurring work with routines](/docs/scheduled). A task is a piece of work that a teammate owns until it is done. This task asks the teammate to stop and ask you one question, so that you also see your first question. 1. In the chat with your chief of staff, send this message. Replace the topic with a real one from your work. ```text Ask your chief of staff theme={null} Create a task: research the pricing pages of my three closest competitors and write a doc that compares their plans. Before you start the research, ask me which three competitors to use. ``` Your chief of staff replies in the chat and names the task. Some replies also show a **Task created** card. Click it to open the task. 2. To see every task, press ⌘K or Ctrl+K, type **Tasks**, and select **Tasks** (Everything your squad is working on) under **Go to**. You can also press B while the cursor is not in a text field. The task is on **Tasks**, in the **Not started**, **Working on it**, or **Needs you** column. A question blocks a task until you answer it. When the teammate asks it, the task moves to the **Needs you** column, and **Today** in the sidebar shows a count. 1. Click **Today** in the sidebar. The first sentence says that 1 thing needs you. The question is under **Needs you**, with its answers as buttons. 2. Answer the question. The buttons depend on what the teammate asks: for example **Approve** and **Decline**, one row for each option, or a text box for your words, then **Send answer**. **Something else…** lets you answer in your own words. The question leaves the list, and **Just answered** keeps **Undo** for a moment. The task leaves **Needs you** and the teammate continues. When it finishes, the comparison doc is in **Docs**. ## What you did You paid, created your account, launched your squad, connected your AI subscription, met your chief of staff, and built your squad. Then you gave a task and answered a question. This is the everyday loop: you ask, teammates work, a question comes back only when a decision needs you. ## Next steps The model behind tasks, questions, runs, and docs, and a tour of the dashboard. How to write a brief. Every kind of question. Give your teammates access to your tools. # Get help Source: https://squad.so/docs/getting-help Open the Squad docs from the dashboard, ask your chief of staff, or email Squad support with the details that it needs. Use this page when you have a question about Squad or something does not work. It covers the **Help & support** screen, your chief of staff, email support, and the **What's new** list. On Squad for Mac (private beta), see [Troubleshoot Squad for Mac](/docs/mac/troubleshooting). ## Open Help & support 1. At the bottom of the sidebar, select **Help**, the question mark beside **Settings**. A menu opens. 2. Select **Help and support**. The **Help & support** screen opens. The same menu has **What’s new** and **Ideas for your squad**, which opens **What's possible**. Use the arrow keys to move in the menu, and Esc to close it. A person sees only the items that their role can open. On a phone, open the account menu with the button that shows your initial, then select **Help and contact us**. You can also tap **Squad** in the bottom bar, select **Help** at the bottom of the sidebar, then **Help and support**. On any screen size, press Cmd+K (Ctrl+K on Windows), type **Help**, and select **Help** under **Go to**. **Help & support** has these parts, from top to bottom: | Part | What it does | | - | - | | **The guide you opened** | Shows when you follow a help link from the dashboard or from an older message. It links to the docs page for that topic, with **Open in docs**. | | **About the screen you were just on** | Shows when you open Help from another screen. It links to the docs page for that screen. | | **Ask your chief of staff** | Opens a chat with your chief of staff. See [Ask your chief of staff](#ask-your-chief-of-staff). | | **Email us** | Shows [support@squad.so](mailto:support@squad.so), with **Copy address** and **Write in Gmail**. See [Email Squad support](#email-squad-support). | | **Read the Squad docs** | Opens these docs in a new tab. | | **Guides** | A list of docs pages, each with a short summary. Select one to open it in a new tab. | | **What’s new** and **Keyboard shortcuts** | Open **What's new** and the command palette. | ## Find an answer in the docs * Use the search at the top of any docs page. * In the dashboard, open the command palette with Cmd+K (Ctrl+K on Windows) and type your question. Matching docs pages show under **Help & guides**. Select one to open it in a new tab. For an error message, search these docs for its exact text. The troubleshooting pages list messages with a cause and a fix: [setup](/docs/setup-troubles), [teammates and runs](/docs/agent-stuck), [email](/docs/email-troubles), and [billing](/docs/billing#troubleshooting). See also the [FAQ](/docs/faq). ## Ask your chief of staff Your chief of staff can answer questions about your own squad and look at what went wrong. On **Help & support**, select **Ask your chief of staff**. If you can use only some teammates, the card names a teammate that you can ask instead. A conversation titled **Support chat** opens, with "I need help with: " already typed. Finish the sentence and send it. This card opens a chat with your own chief of staff, not with the Squad team. To reach a person, email support. ## Email Squad support 1. On **Help & support**, find the **Email us** card. It says "A person on our team answers." 2. Select the address, [support@squad.so](mailto:support@squad.so), to open a message in your email app. You can also select **Write in Gmail** to open a new message in Gmail, or **Copy address** to copy the address. 3. Send the email from the email address of your Squad account. You can also write to [support@squad.so](mailto:support@squad.so) from any email app. ### What to put in your request A complete request gets a faster answer. Include: * The email address of your Squad account. * What you tried to do, and what happened instead. * The exact text of any error message. Copy it, do not describe it. * The time that the problem happened, with your time zone. * For a failed run: the teammate's name, the run time from **History**, and the text from **Technical details** in the run's details. * For an email problem: the inbox address and the address of the other person. * For a billing question: the date of the charge. Do not send passwords, API keys, or AI tokens in your email. ### Requests that need support Contact support for these cases, because the dashboard cannot do them: * Delete your workspace. See [Delete your workspace](/docs/billing#delete-your-workspace). * Ask for a refund within 7 days of your first payment. See [Get a refund](/docs/billing#get-a-refund). * Setup fails again after you follow [Fix setup problems](/docs/setup-troubles). ## See what changed in Squad The **What's new** screen lists every update to Squad, newest first. 1. When there are updates that you have not read, **Help** at the bottom of the sidebar has a blue dot. 2. Select **Help**, then **What’s new**. When there are unread updates, the menu item shows how many, for example **What’s new (3 new)**. **What’s new** at the bottom of **Help & support** opens it too. You can also press Cmd+K (Ctrl+K on Windows), type **What's new**, and select **What's new** under **Go to**. On a phone, the account menu has **What's new**, with the number of updates that you have not read. On **What's new**: * The line under the title says how many updates are new since your last visit. * Use the filters **All**, **Features**, **Models**, **Improvements**, and **Fixes**. * Each update has a tag: **New**, **Improved**, **Fixed**, or **New model**. * Select **Mark all read** to clear the count. Opening **What's new** also counts every update as read. Squad saves what you read to your account, so the count is the same in every browser where you sign in. The first time you open Squad, only recent updates count as new. Squad for Mac (private beta) shares what you read with the web. See [Limits and defaults](/docs/limits-and-defaults#notifications). Check **What's new** when something in the dashboard looks different from these docs. ## Check that it works * Your chief of staff answers in chat. * Your email to [support@squad.so](mailto:support@squad.so) is in your sent mail, from your account email. # Glossary Source: https://squad.so/docs/glossary Look up what each Squad term means, which page explains it, and what old names map to. This page defines the terms used in Squad and in these docs. Each term links to the page that explains it. Old names are listed at the end. ## Your squad | Term | Meaning | More | | - | - | - | | Squad | The product: a hosted team of AI teammates that you run from a web dashboard. Also one team of teammates with everything in it. | [What Squad is](/docs/what-squad-is) | | Your squad | The AI teammates in your workspace. It is also the heading of their list in the sidebar. | [What Squad is](/docs/what-squad-is) | | Workspace | One squad and everything in it: teammates, tasks, docs, chats, settings, and connections. One account can own more than one workspace. The dashboard mostly calls a workspace a "squad". | [What Squad is](/docs/what-squad-is) | | Workspace switcher | Your squad's name at the top of the sidebar. Its menu, **Switch workspace**, lists every squad that you own or joined, and **New squad team**. A squad that another person shared with you says **Shared with you**. | [Run more than one squad](/docs/billing#run-more-than-one-squad) | | Teammate | An AI member of your squad, with its own name, role, memory, and chat. Older pages and some screens say "agent". | [Add, change, and pause teammates](/docs/agents) | | Chief of staff | The teammate that leads your squad. It coordinates work, answers your questions, and creates other teammates. A squad has exactly one. Its default name is **Chief of Staff**, with the handle @chief, and you can rename it. Older pages say "lead agent". | [Add, change, and pause teammates](/docs/agents) | | Person, people in your squad | A human in your squad: you, the owner, and the people you invite. Each person signs in with their own email address and has a role. | [Invite people to your squad](/docs/teammates) | | Owner | You, the person who pays for the workspace and controls its billing. The dashboard shows you as **Owner**. On a task, "owner" means the teammate that is assigned to it. | [What teammates can do](/docs/control) | | Administrator | A role for a person. Runs the squad with you: people, teammates, channels, and settings. Billing stays with you. | [Invite people to your squad](/docs/teammates#choose-a-role) | | Collaborator | A role for a person. Works on tasks, docs, and questions, and chats with the teammates you allow. | [Invite people to your squad](/docs/teammates#choose-a-role) | | Viewer | A role for a person. Reads the board, tasks, docs, and activity. Cannot send messages or change the squad's work. | [Invite people to your squad](/docs/teammates#choose-a-role) | | Seat | A paid seat that one person or one open invite uses. You buy seats on **Settings** > **Billing and usage** > **Billing**. | [Seats for people](/docs/costs#seats-for-people) | | Your squad's computer | The computer in the cloud where your teammates work, keep their files, and run their tools. Also called the cloud computer; earlier docs said workspace computer. The dashboard also calls it "the computer", "your cloud computer", or "the workspace runtime". | [Watch or take over a teammate's computer](/docs/computer) | | About | A teammate's page, beside its **Chat**. It says what the teammate is working on, what it did lately, who waits on it, and its tasks and routines. | [Add, change, and pause teammates](/docs/agents) | | Pause | Stops the dashboard from starting work for a teammate until it is resumed. Its routines are off, chat messages to it are refused, and @mentions, task assignments, and emails wait. Messages from Telegram, Discord, or Slack still reach it. Its triggers stay on, and their events wait until the teammate is resumed. Resume turns on again the routines that the pause turned off. You can also pause only a teammate's inbox. | [Add, change, and pause teammates](/docs/agents) | | Ask for an update | Asks a teammate for a status update now. Older pages say "nudge". | [Add, change, and pause teammates](/docs/agents) | ## Work | Term | Meaning | More | | - | - | - | | Task | A piece of work that a teammate owns, from start to done. Tasks are on **Tasks**. Older pages say "mission". | [Track work on Tasks](/docs/missions) | | Tasks | The page that shows tasks in four columns: **Not started**, **Needs you**, **Working on it**, and **Done**. | [Statuses](/docs/statuses#tasks) | | Not started | Tasks that nobody has picked up yet, also tasks with no teammate assigned. | [Statuses](/docs/statuses#tasks) | | Working on it | Tasks that a teammate has picked up. | [Statuses](/docs/statuses#tasks) | | Needs you | Everything that waits for you: questions, emails to review, purchases to approve, work to fix, and tasks that wait with nothing asked. It is a page, a section on **Today**, and a column on **Tasks**. The same words show on a teammate that needs something from you. | [Answer what needs you](/docs/tickets) | | Today | The first page of the dashboard: what needs you, what your squad did today, and today's routines. Its count is everything in **Needs you**. | [Use Today](/docs/today) | | Ongoing | A mark for a task that runs continuously. Squad never flags it as stuck. | [Track work on Tasks](/docs/missions) | | Stuck | A mark on a task in **Working on it** with no update for more than 2 days. | [Limits and defaults](/docs/limits-and-defaults#tasks-and-questions) | | Stall detection | An hourly check that asks teammates about quiet tasks and asks you a question if they stay quiet. | [Answer what needs you](/docs/tickets) | | Archived | Tasks, docs, conversations, projects, or group chats that you set aside. They are off the main list and you can restore them. | [Track work on Tasks](/docs/missions) | | Trash | Tasks that you deleted. You can restore them or delete them forever. | [Track work on Tasks](/docs/missions) | | Question | Something a teammate asks you that blocks a task until you answer. A question can hold more than one ask: an approval, a decision, access, an action, or information. Older pages say "ticket". | [Answer what needs you](/docs/tickets) | | Doc | A written output from a teammate, such as a brief or a report, kept on **Docs**. | [Find and manage your squad's docs](/docs/squad-docs) | | Folder | A group of docs. Folders cannot contain other folders. | [Find and manage your squad's docs](/docs/squad-docs) | | Project | All the conversations about one client or job in one place, with any of your teammates, and notes that every teammate in it reads first. Projects are in the sidebar. In Squad for Mac (private beta), the owner can also give a project a folder on the Mac. | [Group conversations into projects](/docs/chat#group-conversations-into-projects) | | Pin | Keeps a task, doc, email, reminder, or conversation in the **Pinned** section of the sidebar. Pins are saved to your account and show on every device where you sign in. | [Search and keyboard shortcuts](/docs/search#pins) | | Pinned place | A place, such as **Email** or **Tasks**, that you keep in the sidebar under **Today**. The places that you did not pin are under **More**. Each person has their own pinned places in each squad. | [Pin a place to the sidebar](/docs/what-squad-is#pin-a-place-to-the-sidebar) | | More | The part of the sidebar that lists the places that you did not pin. It starts folded. On a phone, it is the last tab in the bar at the bottom. | [Places in the sidebar](/docs/what-squad-is#places-in-the-sidebar) | | Daily digest | One question in which teammates group decisions that are not urgent. You choose its time during onboarding. | [Give your squad work that it can finish](/docs/delegate) | | Decision budget | How many decisions a day you want to receive. Your chief of staff asks during onboarding. It is an instruction to teammates. Squad does not count decisions. | [What teammates can do, and how you stay in control](/docs/control) | | Routine | Instructions that a teammate runs on a schedule that you set. Older pages say "scheduled task". | [Schedule recurring work with routines](/docs/scheduled) | | Routines | The page for work that repeats: routines on a schedule, and triggers under **When something happens**. Older pages say "Automations". | [Schedule recurring work with routines](/docs/scheduled) | | Heartbeat | A routine that wakes a teammate to check its work. Each teammate gets one, and it starts switched off. Its name ends in `-heartbeat`, and **Routines** shows its name in words, for example **Lead heartbeat**. | [Schedule recurring work with routines](/docs/scheduled#turn-on-heartbeats) | | Trigger | Instructions that a teammate runs each time an event arrives, instead of on a schedule. The event comes from a webhook that another app sends, or from an app event on an account that you connected. Teammates can suggest triggers, which do nothing until someone approves them. | [Start work when something happens (triggers)](/docs/triggers) | | Webhook | A request that another app sends to a URL when something happens in it. A webhook trigger gives you that URL. | [Add a webhook trigger](/docs/triggers#add-a-webhook-trigger) | | Native heartbeat | A built-in wake-up loop for one teammate, set in **Settings** > **AI** > **Teammates**. Squad recommends routines instead. | [Settings reference](/docs/settings#teammates) | | What's possible | A gallery of jobs that your squad can do, such as **Invoice chaser** or **Inbox triage**. **Set it up with my squad** opens your chief of staff's chat with a setup brief for the job already typed. Nothing is sent until you send it. | [Start from a ready-made job](/docs/delegate#start-from-a-ready-made-job) | | Contacts | The squad's list of people and companies, with pipelines that leads move through, follow-ups, and a timeline of every touch. Teammates keep it as they work. | [Keep your contacts and pipelines](/docs/contacts) | | Pipeline | The stages that leads move through in **Contacts**, for example from **New** to **Won**. | [Keep your contacts and pipelines](/docs/contacts) | | Follow-up | The date a lead in **Contacts** is due for its next touch, with a next step. **Follow-up due** lists the leads due today or earlier. | [Set a follow-up](/docs/contacts#set-a-follow-up) | | Do not contact | A mark on a contact. Every way that Squad sends email refuses to email that contact. | [Keep your contacts and pipelines](/docs/contacts) | | Card vault | Where a person keeps the payment cards that teammates may pay with. You add and remove cards there, from the **Wallet**. Squad and your teammates never see the card number. | [Let your teammates pay with your card](/docs/payment-cards) | | Wallet | The place in the sidebar with your own payment cards, who else may use them, and the purchases that teammates made. Each person has their own. It was **Payment cards** in **Settings**. | [Let your teammates pay with your card](/docs/payment-cards) | | Purchases to approve | The part of **Needs you** that lists the payments waiting for your approval. | [Approve a purchase](/docs/payment-cards#approve-a-purchase) | | Purchase | One payment that a teammate starts with a saved card. It opens the store's checkout and waits for the card's owner to approve it. A purchase with a total of 0, such as a free trial, only saves the card with the store. | [Let your teammates pay with your card](/docs/payment-cards) | | Payment card | A card that a person saved in their card vault, so that a teammate can pay online with it. The card's owner approves each payment on their own device. | [Let your teammates pay with your card](/docs/payment-cards) | | Form card | A card in chat in which a teammate asks you to fill in a form on a web page, such as a sign-in. Your values go to the page on your squad's computer, not into the chat. Only the owner can fill it. | [Fill a form that a teammate sends you](/docs/form-cards) | ## Chat | Term | Meaning | More | | - | - | - | | Chat | Your conversations with teammates in the dashboard. A teammate's page has **Chat** and **About**. | [Chat with your teammates](/docs/chat) | | Conversation | One conversation with a teammate. A teammate remembers a conversation for as long as it goes on. Older pages say "thread". | [Chat with your teammates](/docs/chat) | | Fork | A new conversation that copies a direct conversation up to one teammate reply. The original does not change. | [Fork a conversation](/docs/chat#fork-a-conversation) | | Version | One branch of a direct conversation after you edit a message that you sent. Arrows around a number such as **1/2** switch between versions. | [Edit a message that you sent](/docs/chat#edit-a-message-that-you-sent) | | Group chat | A conversation with two or more teammates. | [Chat with your teammates](/docs/chat) | | Squad chat | The standing room that every teammate in your squad is in. It shows in the sidebar when you have two or more teammates. | [Chat with your teammates](/docs/chat) | | Between teammates | Conversations between two teammates that you have not joined. They fold under **Between teammates** in the sidebar. | [Chat with your teammates](/docs/chat) | | Chat card | An interactive card that a teammate posts in chat, for example to ask you to connect an app, save an API key, fill in a form, or approve a purchase. | [Chat with your teammates](/docs/chat) | | Mention | Typing @ and a teammate's name, so that the teammate is notified. **@all** reaches every teammate in the Squad chat. In a group chat or the Squad chat, you can also mention a person, who then gets a bell notification. | [Chat with your teammates](/docs/chat) | | Handle | The short name after @ that you use to mention a teammate, such as **@chief** for the chief of staff. | [Chat with your teammates](/docs/chat) | | Queued message | A message that you sent while the teammate was still replying in the same conversation. It waits its turn. **Steer now** hands it to the reply in progress. | [Chat with your teammates](/docs/chat) | | Helper | A helper that a teammate starts to work on part of a job on its own. It shows in chat, on the status timeline, and in **History** when it has a run of its own. Older pages say "subagent". | [See the helpers your teammates start](/docs/chat#see-the-helpers-your-teammates-start) | | Vault | Where Squad stores the keys and secret values that you save for custom integrations, on your squad's computer. Chat cards save to it with **Save to vault**. | [Add an MCP server or an API key](/docs/custom-integrations) | | Channel | A chat app that you can use to talk to your squad: Telegram, Discord, or Slack. A Slack channel is not the same as the Slack app. The channel lets you message your squad. The app lets teammates read and act in your Slack workspace. | [Talk to your squad from Telegram, Discord, or Slack](/docs/channels) | | Main bot | Your first Telegram bot. Only you can message it. | [Connect Telegram](/docs/telegram) | ## Email | Term | Meaning | More | | - | - | - | | Inbox | An email address of a teammate's own. It is a paid add-on. | [Give a teammate an email inbox](/docs/email) | | Draft | An email that a teammate wrote and left for your review. | [Give a teammate an email inbox](/docs/email) | | Escalation | An email that a teammate passed to you for a decision. It shows **Needs you**. | [Give a teammate an email inbox](/docs/email) | | Handling instructions | Text that tells a teammate how to sort, prioritize, and answer its email. | [Give a teammate an email inbox](/docs/email) | | Daily send cap | The most emails a teammate can send in a rolling 24 hours. | [Limits and defaults](/docs/limits-and-defaults#email) | | Custom domain | Your own email domain for teammates' inboxes. One per squad. | [Give a teammate an email inbox](/docs/email) | | Allow & block rules | Rules that control who an inbox can email or receive email from, on **Settings** > **Email** > **Inboxes and rules**. | [Give a teammate an email inbox](/docs/email) | ## Runs and monitoring | Term | Meaning | More | | - | - | - | | Run | One execution by one teammate, for example to answer a message or to do a routine. | [See what your squad did](/docs/runs-and-health) | | History | The page that lists every run, by day, with what started it and how it ended. Older pages say "Runs". | [See what your squad did](/docs/runs-and-health) | | Activity | The page that shows what your squad did, newest first. Older pages say "Live Feed". | [See what your squad did](/docs/runs-and-health) | | Health | The page that lists today's failed runs and AI provider limits. | [See what your squad did](/docs/runs-and-health) | | Stop | Ends a run that is going. The owner and Administrators can stop a run in chat or in **History**. The run then shows **Stopped**, which is not counted as a failure. | [Stop a run](/docs/runs-and-health#stop-a-run) | | Didn’t finish | A mark on a run in **History** that ended with an error or ran out of time. | [Statuses](/docs/statuses) | | Notification bell | The bell beside your squad's name at the top of the sidebar, which lists your notifications. | [Choose your notifications](/docs/notifications) | ## Memory and skills | Term | Meaning | More | | - | - | - | | Memory | What your squad knows and keeps between runs: files and recalled facts. The command palette calls the page **What your squad knows**. | [Manage what your squad remembers](/docs/memory) | | About you | The file that tells your squad about you and your business. | [Manage what your squad remembers](/docs/memory) | | Memories | Facts that your squad learned from its work, or that teammates saved. While **Recall before each turn** is on, the teammate gets the ones that bear on it before each request. | [Manage what your squad remembers](/docs/memory) | | Squad files | Shared files: **Company**, **Contacts**, **Glossary**, **Squad**, and **Voice**. | [Manage what your squad remembers](/docs/memory) | | Notes, Personality, Identity | Each teammate's own files. | [Manage what your squad remembers](/docs/memory) | | Load budget | How many characters of a file a teammate reads at the start of each run. | [Limits and defaults](/docs/limits-and-defaults#memory) | | Skill | Written instructions for a task that teammates follow. Teammates build skills while they work. | [Add and manage skills](/docs/skills) | | Skill pack | A collection of skills from a GitHub repository. Curated packs come from the Squad library. Custom packs are ones that you add. | [Add and manage skills](/docs/skills) | | Taught skill | A skill that a teammate learned when you showed it a task with **Teach a task**. | [Watch or take over a teammate's computer](/docs/computer) | | Tools | What teammates can use in every request: computer use, MCP server tools, and research tools. Also the page in **Settings** > **AI** where you turn them on and off. | [Settings reference](/docs/settings#tools) | | Research tools | Built-in tools that collect outside data, such as web search and profile lookups. There are 57. They are the only tools that use credits. | [Research tools reference](/docs/research-tools) | | Credits | The unit that research tools use. | [What Squad costs](/docs/costs) | ## Connections and models | Term | Meaning | More | | - | - | - | | App | An app that you connect so teammates can read it and act in it, such as Gmail or Notion. Also called an integration or a connected app. You connect apps on **Settings** > **Apps**. | [Connect apps](/docs/integrations) | | Access level | How much a teammate can do in a connected app, such as **Read-only**. Each level holds the actions that Squad reviewed for it. The dashboard also calls it "scope". | [Connect apps](/docs/integrations) | | Primary account | The account of an app that teammates try first when they do not pick one. A person's own accounts still come before shared accounts. It shows **Primary**. | [Connect apps](/docs/integrations) | | Private, Shared with team | The two tags on a connected app account. A private account can be used only for the person who connected it. A shared account can be used for everyone in the squad. | [Who can use an account](/docs/integrations#who-can-use-an-account) | | MCP server | A server that gives teammates more tools through the Model Context Protocol. | [Add an MCP server or an API key](/docs/custom-integrations) | | Custom integration | A service that you connect with an API key or other secret values. You add it in **Settings** > **Apps**, in the **Custom integrations** view that you choose at the top. Only the owner and Administrators see it. | [Add an MCP server or an API key](/docs/custom-integrations) | | AI | The page in **Settings** where you connect your AI accounts and choose the models your squad thinks with. Older pages say "AI Tokens". | [Choose models and manage AI accounts](/docs/ai-accounts) | | AI account | One login or key for an AI provider, such as ChatGPT or Claude. | [Connect your AI subscription](/docs/connect-your-ai) | | Default model | The model that teammates use when they have no override. **Settings** > **AI** calls it **Thinks with**. | [Choose models and manage AI accounts](/docs/ai-accounts) | | Fallback | A model under **When it can’t answer** that a run moves to when the model before it fails or reaches a rate limit. Inside one provider, the next account in the card's order is also a fallback. | [Choose models and manage AI accounts](/docs/ai-accounts) | | Account in use | The AI account that serves the next run on a provider. It shows **In use**. On Claude Code, only one account is in use at a time, and the others show **Standby** until the account in use reaches its usage limit. | [Connect your AI subscription](/docs/connect-your-ai#use-more-than-one-account) | | Allowed models | The models that can be picked anywhere in the squad. | [Choose models and manage AI accounts](/docs/ai-accounts) | | Reasoning effort | How hard models think before they respond. | [Choose models and manage AI accounts](/docs/ai-accounts) | ## Screens and tools | Term | Meaning | More | | - | - | - | | Dashboard | The web app where you run your squad. | [What Squad is](/docs/what-squad-is) | | Command palette | The search box that opens with ⌘K or Ctrl+K. It finds every place, teammate, task, doc, and more. | [Search and keyboard shortcuts](/docs/search) | | Visible computer | The live view of a teammate's computer. **Take over** gives you the mouse and keyboard. **Hand back** returns control. A teammate's request to take over reaches only the owner. | [Watch or take over a teammate's computer](/docs/computer) | | Public dashboard | A read-only link to your tasks, docs, and teammates' pages that anyone can open. | [Share a read-only view of your workspace](/docs/sharing) | | Help | The question mark at the bottom of the sidebar. Its menu has **Help and support**, which opens **Help & support** with links to these docs and to support, **What’s new**, and **Ideas for your squad**. A blue dot on it means that **What's new** has updates that you have not read. | [Get help](/docs/getting-help) | | What's new | The product changelog. | [Get help](/docs/getting-help#see-what-changed-in-squad) | | You | The first row in **Settings**: your name, your email address, **Sign out**, your squad, and your role. | [Settings reference](/docs/settings#you) | | Backup | The page in **Settings** > **Squad** that downloads your workspace data as a JSON file. | [Settings reference](/docs/settings#backup) | ## Old names Some screens and features had other names in the past. Older messages, old links, and teammates may still use them. Old links still open the right place. | Old name | Current name | | - | - | | MissionControlHQ, MCHQ, Mission Control HQ | Squad | | missioncontrolhq.ai | squad.so | | Agent | Teammate | | Lead agent, Lead, AI Chief of Staff | Chief of staff, named **Chief of Staff** by default | | Teammate (for a person you invited) | Person, people in your squad | | Mission | Task | | Missions, the Missions board, Mission Control, the board | **Tasks** | | Backlog, In flight (columns) | **Not started**, **Working on it** | | Ticket | Question | | My Tickets, My Tasks | **Needs you** | | Home | **Today** | | Workspace computer | Your squad's computer | | Scheduled task | Routine | | Automations (with **Scheduled** and **Triggers** tabs), Scheduled (sidebar screen) | **Routines** | | Live Feed, Timeline, GOD View | **Activity** | | Runs | **History** | | Subagent | Helper | | Thread | Conversation | | Agent Configuration, Agents config | **Settings** > **AI** > **Teammates** | | AI Tokens | **Settings** > **AI** | | Model routing | **Your squad’s AI** on **Settings** > **AI** | | Team, Team access | **Settings** > **People** | | Team seat, TEAM SEATS | Seat, **Seats for people** on **Billing** | | Per-agent access | **Per-teammate access** | | CREDIT COST PER USAGE | **Credit cost per use** | | Integrations | **Settings** > **Apps** | | Agent Tools | **Settings** > **AI** > **Tools** | | Secrets | **Custom integrations** in **Settings** > **Apps** | | Compose (Email) | **New email** | | Escalations (Email) | **Needs you** | | General, Reset workspace | **Settings** > **Squad** > **General**, **Reset squad…** | | Email Domains | **Settings** > **Email** > **Domains** | | Backup & Export | **Settings** > **Squad** > **Backup** | | Public Dashboard, Public share | **Public dashboard** | | Help Center | **Help** | | Payment cards (in **Settings** > **Billing and usage**) | **Wallet** | | Changelog (link on **Help & support**) | **What’s new** | | Chat with support, Ask your AI Chief of Staff | **Ask your chief of staff** (on **Help & support**). It opens a chat with your chief of staff, not with Squad staff. | | Playbooks | What's possible | | Announce (for a routine) | **Notify me** | | Archive all (in Needs you) | **Clear all** | | UPDATED, New, Modified (doc badges) | A blue dot before the doc's title | | @agents.mchq.ai email addresses | @agents.squad.so. Older inboxes keep their old address until you change it. | The export file from **Backup** still has the old name, `mission-control-export.json`. # Squad documentation Source: https://squad.so/docs/index Set up Squad, work with your squad of AI teammates, connect apps and channels, and look up settings, statuses, and limits. Squad gives you a team of AI teammates that you run from a web dashboard. These docs are for you as the owner of a squad. They show how to set up your squad, give it work, connect your apps, manage billing, fix problems, and look up settings and limits. **Common tasks:** [set up your squad](/docs/get-started), [give work to a teammate](/docs/delegate), [answer a question](/docs/tickets), [connect an app](/docs/integrations), [fix a teammate that does not reply](/docs/agent-stuck), and [look up a setting](/docs/settings). ## Get started Understand the parts of Squad, where each part runs, what Squad does not do, and where each place in the dashboard is. Pay, create your account, launch your squad, meet your chief of staff, and hand over your first task. Connect one of the 13 AI providers that your squad can run on, and add or replace accounts later in Settings > AI. ## Work with your squad Hand work to your squad in chat or as a task, and write a brief that comes back right the first time. See what teammates can and cannot do in each area, with requests that you can copy and send. Talk to one teammate, a group, or the whole squad, put conversations in projects, and use mentions, skills, files, and chat cards. Read the Tasks board, filter it, steer a task with comments, ask for an update, and archive, restore, or delete tasks. Answer your teammates' questions in Needs you, undo an answer, and clear old questions. Find, read, edit, organize, pin, export, archive, and delete the docs your teammates write. Give a teammate its own email address, connect your own domain, set handling rules, and review drafts and escalations. See the people and companies your squad works with, follow leads through pipelines, and mark who must not be contacted. Create, edit, pause, run, and delete routines, and turn on your teammates' heartbeats. Wake a teammate with a webhook from another app, or an event in one of your connected apps. ## Manage your squad Hire a teammate through your chief of staff, read a teammate's About page, change its model, and pause or resume it. Choose the model your squad thinks with and what it tries next, add more AI accounts, and set their order. Edit the files your teammates read, and review, correct, or clear the facts your squad has saved. Turn skill packs on or off, add a pack from GitHub, manage your squad's own skills, and teach a task by showing it once. See a teammate's screen live, take over the mouse and keyboard, hand control back, and teach it a task. Type a sign-in or other values into a form card in chat, and let your teammate fill the page. Fix work that did not finish, find a run in History, check today's problems on Health, and follow Activity. Use the notification bell, and choose which events reach you in Squad and by email. Understand what your teammates can do, which controls are dashboard settings, and which rules are instructions to the teammates. Invite people by email, choose their role, limit them to some teammates, and remove them when they leave. Turn on a public link to your tasks, docs, and teammates' pages, and turn it off or replace it. ## Connect apps and channels Connect the apps your teammates work in, choose how much they can do in each app, and limit single teammates. Connect a service that is not in the app catalog, with an MCP server or an API key, and choose which tools your teammates get. Understand how chat channels work, who can talk to your teammates through them, and how they differ from connected apps. Connect your main Telegram bot, then add extra bots for other teammates and other people. Put a teammate on Discord as a bot that answers your direct messages and @mentions in your server. Put your squad or one teammate in Slack as an app that answers direct messages and @mentions in channels. ## Squad for Mac (private beta) Sign in to the Mac app, which is in private beta, and use your squad from the menu bar, the notch, and any app on your Mac. ## Billing and account Understand the separate charges for Squad, your AI provider, credits, teammate inboxes, and seats for people, and what happens when credits run out. Change or cancel your subscription, buy seats and credits, export your data, and reset or delete your squad. Add a card to your card vault, choose who may use it, and approve each purchase that a teammate makes. ## Troubleshooting Find the message you see during sign-up or setup and fix the problem that causes it. Find out why a teammate does not reply or a run failed, and fix the cause. Fix send caps, custom domains, bounces, spam, do not contact, and scheduled sends. Short answers to common questions about Squad, with links to the pages that explain more. Open the Squad docs from the dashboard, ask your chief of staff, or email Squad support with the details that it needs. ## Reference Look up the caps, timeouts, and default values in Squad that you can hit or see. Look up each of the 57 research tools: what it returns, what it costs in credits, and how long results are cached. Look up every page in Settings, with each control, its default, and who can open it. Look up what the command palette finds, every keyboard shortcut, where each place opens from, pins, and the phone layout. Look up each status word, mark, and notification event that Squad shows, and what it means. Look up what each Squad term means, which page explains it, and what old names map to. # Connect apps Source: https://squad.so/docs/integrations Connect the apps your teammates work in, choose how much they can do in each app, and limit single teammates. Connect an app, such as Gmail, Notion, or GitHub, and your teammates can read it and act in it for you. You connect each app once. Then you decide how much your teammates can do in it. Apps are on the **Apps** page in Settings. The switch at the top of the page has two views: | View | What it holds | | - | - | | **Connected apps** | The app catalog and the app accounts that you connected. This page covers this view. | | **Custom integrations** | MCP servers and services that connect with an API key. Only the owner and Administrators see this view. See [Add an MCP server or an API key](/docs/custom-integrations). | The Telegram, Discord, and Slack bots that you chat with are on their own tabs next to **Apps**. Only the owner and Administrators see these tabs. See [Talk to your squad from Telegram, Discord, or Slack](/docs/channels). Connected apps, custom integrations, and MCP servers do not use credits. Credits pay only for the built-in research tools. See [What Squad costs and what uses credits](/docs/costs). ## Before you start * Your subscription must be active. If it is not, Squad refuses the connection with the message "Your subscription isn't active. Resubscribe to manage integrations." * A Viewer cannot connect apps. * Have the sign-in details for the app account that you want your teammates to use. ## Open Apps Use one of these: * Click **Settings** at the bottom of the sidebar, then **Apps**. * Press ⌘K (Ctrl+K on Windows) and select **Apps**. You can also type an app's name, for example "Gmail", and select it. The catalog opens with the app's connect window. * While no app is connected, **Today** shows "Connect the apps your squad works in" to the owner. Select **Connect an app** to open the catalog, or **Not now** to hide the card. ## Connect an app On **Connected apps**, click the **Add integration** card. Scroll the categories, or type in **Search the catalog…**. Click the app. The window **Connect** followed by the app name opens. Under **Default scope**, select the access level for your teammates. The recommended level is already selected. See [Choose an access level](#choose-an-access-level). If your squad has other people in it, the window also shows **Share this account with everyone in this workspace**. It is ticked for the owner and clear for everyone else. Leave it ticked to let your teammates use the account for anyone's requests. Clear it to keep the account for your own requests. See [Who can use an account](#who-can-use-an-account). Click **Connect** followed by the app name, for example **Connect Gmail**. In the new browser tab, sign in to the app and approve access. Go back to the Squad tab. On Squad for Mac (private beta), see [Connect an app from the Mac](/docs/mac/settings#connect-an-app-from-the-mac). The catalog shows the apps in these categories, in this order: **Recommended**, **Productivity**, **Communication**, **Developer tools**, **CRM**, **Marketing**, **Storage**, **Analytics**, **Scheduling**, **E-commerce**, and **Other**. A teammate can also ask you to connect an app in chat. The chat card shows a **Connect** button for the app and a **Not now** button. The button starts the same sign-in, at the app's recommended level. ### Check that it works * The app shows under **Your connections**, with the account name and a scope chip that shows the access level. * In the catalog, the app card shows **Connected**. * After a teammate uses the account, the account row shows when it was last used. In a wide window, the app row shows "last used" and the time, or **View runs**. Click it to open [History](/docs/runs-and-health). ## Choose an access level The app's own sign-in page asks you to give full access. Squad does not narrow that access at the app. Instead, Squad checks every call that a teammate makes and refuses any action that is outside the level you chose. Squad filed every action of every app by hand in the lowest level that should allow it: * **Read-only** reads everything the account can see and changes nothing. * Each level above it says what it adds and what it leaves to the level above. For example, **Read + send** in Gmail and Outlook writes, replies to, forwards, and sends mail, but it does not label, move, archive, or delete mail. **Read + send** in Slack posts, edits, and deletes your messages, but it does not manage channels. * Sharing, members, settings, credentials, webhooks, and permanent deletes sit at the top level of each app. * In Stripe, Supabase, BigQuery, Gong, and Canva, the top level is **Read + write**. Their administration and credential actions run at no level, so no teammate can run them. Other points: * Most apps offer **Read-only**, **Read + write**, and **Full access**. Some apps use their own labels, for example **Read + send** for Gmail and **Read + post** for LinkedIn. * Some apps have only one level, **Default** ("Standard access."). * The recommended level is not always the highest. For example, Gmail recommends **Full access**, and Google Analytics recommends **Read-only**. * Under each level, the window says what it allows and what it does not. * An account that you connected before access levels existed holds the app's top level, and its scope chip shows that level. Each app has a manual that lists what your teammates can do at each level, for example the [Gmail manual](/docs/apps/gmail). The connect window links to it with **See everything teammates can do in** followed by the app name and **at each level**. To change the level of a connected account: 1. Under **Your connections**, click the scope chip on the account row. You can also click the **⋯** menu on the row and click **Manage scope**. 2. Under **Default scope**, select a different level. 3. Click **Save access**. You do not sign in again. The change applies from each teammate's next call. A Collaborator can change the level only of accounts that they connected. Routines and triggers use the same accounts and the same levels. A routine that, for example, labeled Gmail messages at **Read + send** is now refused. Raise the account to **Full access** if the routine needs it. On Squad for Mac (private beta), an account whose saved level the app no longer offers shows "No access until you choose a level". Pick a level for it. ## Limit a single teammate By default, every teammate uses the level of the account. You can narrow the level for one teammate, or block one teammate from the account. Only the owner and Administrators can do this. Under **Your connections**, click the scope chip on the account row. Under **Per-teammate access**, find the teammate. In the teammate's list, select one option: * **Default** (the account's level, shown in parentheses) * any level of the app * **No access** Click **Save access**. The change applies from the teammate's next call. Squad checks the account level first, so a teammate setting cannot give a teammate more than the account level. A teammate with **No access** does not see the account in its list of connections. ## Connect more than one account You can connect several accounts of the same app, for example two Gmail inboxes. 1. Under **Your connections**, click **+ Account** on the app row. 2. Choose the access level for the new account. If your squad has other people in it, also choose whether to tick **Share this account with everyone in this workspace**. 3. Click **Connect** followed by the app name, and sign in with the other account. Each account row has a **⋯** menu with these actions: | Action | What it does | | - | - | | **Make primary** | When a teammate does not choose an account, the primary account comes first within its group. See [Who can use an account](#who-can-use-an-account). The primary account shows **Primary**. Only the owner and the Administrators who can see every teammate can use it. | | **Share with the whole workspace** or **Stop sharing this account** | Lets every person in the squad use the account through your teammates, or makes it private again. Shows only on accounts that you connected. See [Who can use an account](#who-can-use-an-account). | | **Rename** | Changes the account name that you and your teammates see. | | **Manage scope** | Changes the access level and the per-teammate access. | | **Reconnect** | Runs the app sign-in again for the same account. It does not make a second connection. Use it when the connection expired, or to change what the account can reach on the app side, for example more pages in the Notion picker. Only the person who connected the account sees this item. | | **Disconnect** | Removes the account. If it was the primary, the next active account becomes the primary. App event triggers on this account pause. See [Triggers](/docs/triggers#troubleshooting). | **Disconnect** asks you to confirm. The first click changes the menu item to "Really disconnect? Your teammates lose access to" and the app name. Click it again to disconnect. To use the account again, you connect it again. ## Who can use an account Each connected account belongs to the person who connected it: you, or another person in your squad. That person decides who else may use it. This matters only when other people are in your squad. See [Invite people to your squad](/docs/teammates). Each account row shows one of two tags: | Tag | Meaning | | - | - | | **Private** | "Only the person who connected this account can use it through your teammates". An account is private unless the person who connected it ticked the share box when connecting. The accounts that you connected before other people joined stay private until you share them, for example with the share box when you invite someone. See [Share your accounts when you invite](/docs/teammates#share-your-accounts-when-you-invite). | | **Shared with team** | "Everyone in this workspace can use this account through your teammates". | To change it, click **⋯** on the account row, then click **Share with the whole workspace** or **Stop sharing this account**. Only the person who connected the account can change it. You and your Administrators cannot share another person's account or make it private, and the menu shows these items only on your own accounts. You and the Administrators who can see every teammate keep **Disconnect**, **Make primary**, **Rename**, and **Manage scope** on every account. When you connect a new account in a squad that has other people, the window shows the box **Share this account with everyone in this workspace**. The box is ticked for the owner and clear for everyone else. When it is ticked, the window says "Teammates can use it for anyone's requests. You can stop sharing it later from its menu on this page." When it is clear, it says "Only your own requests can use it. You can share it later from its menu on this page." **Reconnect** keeps the account's sharing. In the dashboard, a connect card in chat shows the same box, with the same default. When the box is ticked, the card says "Teammates can use it for anyone's requests. You can stop sharing it later from its menu in Integrations." When it is clear, it says "Only your own requests can use it. You can share it later from its menu in Integrations." "Integrations" there means the **Apps** page. A card for a connection that expired shows no box. Its button **Reconnect in Integrations** opens the **Apps** page. On Squad for Mac (private beta), the connect card asks the same question, with the box **Share this account with everyone in this squad** and the same default. When the box is ticked, the card says "Your teammates can use it for anyone's requests. You can stop sharing it later in Settings, under Apps." When it is clear, it says "Only your own requests can use it. You can share it later in Settings, under Apps." A card that reconnects an account shows no box. A squad has other people once someone accepted an invite. An open invite does not count. An account that another person connected shows "Connected by" and that person's name on its row, also for that person. An account that the owner connected shows no name. How teammates pick an account: * A teammate works for the people whose messages it is answering, or for the person who started or reassigned a task. Heartbeats, email, and messages from Telegram, Discord, or Slack count as work for you. A routine uses the accounts that its **Accounts it can use** setting allows. See [Choose the accounts of a routine](/docs/scheduled#choose-the-accounts-of-a-routine). * It uses only an account that each of those people may use. In a chat where you and another person both write, the teammate can use your private account when it answers you, and not when it answers the other person. * When a teammate does not pick an account, it uses the people's own account first, then a shared account. Within each group, the account marked **Primary** comes first. * When no account of the app may be used, the teammate tells you who connected the account and what fixes it. They can connect their own account on the **Apps** page, or the account's owner can share it. What other people in your squad see: * A Collaborator, or an Administrator limited to some teammates, sees only their own accounts in **Your connections**. They connect their own accounts in the same way as you. * Accounts that other people shared show in a separate list, **Shared with your squad**, with "Shared by" and the person's name. They cannot change these accounts. * Only you and the Administrators who can see every teammate see every account in the squad. An Administrator limited to some teammates sees their own accounts and the accounts shared with the squad. * Only you and your Administrators see **Custom integrations** and the Recommended apps in the catalog. * A Viewer cannot connect apps and has no **⋯** menu. With no accounts of their own, the page says "Your access is view-only, so you cannot connect apps here. Anything shared with the squad is listed below." Only the person who connected an account can use **Reconnect** on it. When a person leaves the squad or you remove them, the accounts that they connected are disconnected, and app event triggers on those accounts pause. ## Recommended apps The **Recommended** category is first in the catalog. Only the owner and Administrators see it. These apps connect in a different way from the other apps. They do not use access levels. | App | What it does | How it connects | Manual | | - | - | - | - | | SiteGPT | "AI support chatbot trained on your website content." | Click **Sign in with SiteGPT** and approve on the SiteGPT page. If the page asks for a code, enter the code that Squad shows. You can click **Paste an API key instead**. | [SiteGPT](/docs/apps/sitegpt) | | Revid | "AI short-form video creation and publishing." | Paste your **API key** from the API key section of your Revid account page. | [Revid](/docs/apps/revid) | | PostSyncer | "Schedule and publish social posts across every platform." | In PostSyncer, open Settings, then API Integrations, click Create, and paste the **API token**. | [PostSyncer](/docs/apps/postsyncer) | | Bazzly | "Reddit marketing: find high-intent threads and reply on-brand." | In Bazzly, open Account Settings, then API keys. Create a key with the read and write scopes only, with top-ups off, and paste the **API key**. | [Bazzly](/docs/apps/bazzly) | What protects your money in these apps: * SiteGPT: Squad removes no tools. * Revid: teammates never get the tool that buys credit packs. Squad removes it. * PostSyncer: teammates never get the tool that deletes a connected social account. Squad removes it. * Bazzly: Squad removes no tools. The protection is the key. A key that you create without the top-ups scope cannot spend money. If the key has top-ups on, Squad has no other control that stops spending. For Bazzly, create the API key with the read and write scopes only and leave top-ups off. The key is the only spending control. After you connect a Recommended app, its tools reach your teammates within a couple of minutes. The app shows **Connected** in the catalog and appears in the list under **Custom integrations**, not under **Your connections**. To replace the key or disconnect, click the app in the catalog. For SiteGPT, **Sign in again to replace the credential** replaces the sign-in. For the other apps, click **Replace the stored key**. To disconnect, click **Disconnect**, then **Really disconnect?** to confirm. Revid and PostSyncer show in the catalog only when your squad's computer runs a recent enough version of the Squad software. If they are not in the catalog, your workspace is still updating. ## Troubleshooting **Nothing happens when you click Connect.** Cause: the browser blocked the new tab. Fix: allow pop-ups for the Squad dashboard, then click **Connect** again. **The message "Your subscription isn't active. Resubscribe to manage integrations." shows.** Cause: the subscription is canceled, paused, or past due. Fix: renew the subscription in **Settings** > **Billing and usage** > **Billing**. See [Manage your subscription, credits, and workspace data](/docs/billing). **A teammate says an action is not allowed on the account.** Cause: the action is outside the account level or the teammate's level. Fix: raise the level with **Manage scope**, or change the teammate's line under **Per-teammate access**. To see which level an action needs, open the app's manual, or ask the teammate. It can see which levels run each action. **A routine that worked before is now refused in an app.** Cause: the access levels were reviewed, and some middle levels hold less than before. For example, Gmail **Read + send** no longer labels or archives mail. Fix: raise the account's level with **Manage scope**. **A teammate says that no account of an app can be used for another person.** Cause: the app accounts in the squad are private to someone else. Fix: a Collaborator or an Administrator connects their own account, or the account's owner clicks **⋯** on the account row and **Share with the whole workspace**. See [Who can use an account](#who-can-use-an-account). **A routine says that no account of an app can be used.** Cause: the routine uses only the accounts shared with everyone, and the account is private. Fix: the person who connected the account shares it, or that person saves the routine with **Shared accounts and my own accounts**. See [Choose the accounts of a routine](/docs/scheduled#choose-the-accounts-of-a-routine). **A teammate says the connection expired.** Cause: the app ended the sign-in. Fix: click **⋯** on the account row, click **Reconnect**, and sign in again. For the owner and Administrators, a connection that needs you also shows on **Today** under **Needs you**, with "Reconnect" and the app name. **Two accounts show the same name.** Cause: the app did not send an account name, so both rows get the same name with a number after it. Fix: click **⋯** and **Rename** on each row. **The page shows only the Add integration card.** Cause: no app is connected yet. Recommended apps do not show under **Your connections**. They show under **Custom integrations**. Fix: click **Add integration** and connect an app. ### Other messages | Message | Cause | Fix | | - | - | - | | "This connection was removed — add the account again from the catalog to reconnect." | The account was disconnected, so **Reconnect** has nothing to renew. | Click **Add integration**, or **+ Account** on the app row, and connect the account again. | | "Connection failed:" or "Reconnect failed:" followed by a reason | The app refused the sign-in. | Read the reason, then try again. | | "Failed to initiate connection." or "Failed to reconnect." | The sign-in did not start. | Try again in a minute. | | "Couldn't save the scope change. Please try again." | The new access level did not save. Or you tried to change an account that you cannot manage. | Try again. The old level stays until the save works. | | "Couldn't load per-teammate access. Close and reopen to retry." | The list under **Per-teammate access** did not load. | Close the window and open it again. | | "Couldn't save access for \[teammate]. Earlier rows saved; this one and later didn't - try again." | The per-teammate change stopped at that teammate. | Click **Save access** again. | | "Couldn't identify this connection. Reload and try again." | The page is out of date. | Reload the page. | | "Couldn’t disconnect. Please try again." | The disconnect did not go through. | Try again. | For Recommended apps, the app's window can show: | Message | Cause | Fix | | - | - | - | | "Your workspace is still updating — this integration unlocks shortly." | Your squad's computer does not have the Squad software version that the app needs yet. | Try again later. | | "The sign-in request expired. Start it again." | The SiteGPT approval took too long. | Click **Sign in with SiteGPT** again. | | "You approved the sign-in, but the credential couldn't be saved to your workspace (…). Sign in again to retry." | Squad could not store the credential on your squad's computer. | Sign in again. | | "Couldn’t save the key. Please try again." | The key did not save. | Check the key and paste it again. | | "Couldn’t start the sign-in. Please try again." or "Sign-in failed. Please try again." | The sign-in did not start or did not finish. | Try again. You can also click **Paste an API key instead**. | When a teammate is refused an action, it gets one of these messages and tells you: * "This action is not allowed on this account. The connection is set to "\[level]" which does not include \[action]." The level is the level that the account holds now. Raise it with **Manage scope**. * "Your agent policy restricts you to "\[level]" access on this account, which does not include \[action]." Here the level is the level's short internal name, for example `read_write`. Change that teammate's line under **Per-teammate access**. * "You do not have access to this connection. Ask the workspace admin to update your access in the Integrations page." The teammate has **No access** under **Per-teammate access**. # Limits and defaults Source: https://squad.so/docs/limits-and-defaults Look up the caps, timeouts, and default values in Squad that you can hit or see. This page lists the limits and default values in Squad that you can reach or see. Each row gives the value, what happens at the limit, and the page that explains the feature. Squad sets no limit on how many teammates, tasks, or docs you have. Credit amounts, prices, and billing numbers are not on this page. They are on [What Squad costs](/docs/costs). ## Setup and account | Item | Value | What happens at the limit | More | | - | - | - | - | | Password | At least 8 characters | A shorter password is refused. | [Get started](/docs/get-started) | | Email verification code | 8 digits, valid for 15 minutes | An expired code does not work. Ask for a new one. | [Get started](/docs/get-started) | | Build of your squad's computer | About 2 minutes, up to 3 attempts | If all attempts fail, the setup screen shows an error. | [Fix setup problems](/docs/setup-troubles) | | Device code sign-in for an AI account | 5 minutes | The sign-in stops. In **Settings** > **AI**, the window shows "Authorization timed out. Please try again." | [Connect your AI subscription](/docs/connect-your-ai) | | New teammate ready for work | About 2 minutes after the chief of staff creates it | Until then, work sent to the new teammate can go to the chief of staff instead. | [Add, change, and pause teammates](/docs/agents) | | **Your name** in **Settings** > **Squad** > **General** | Up to 80 characters | A longer name is refused with "That name is too long. Please keep it under 80 characters." An empty field is not saved. A name that a teammate already uses is refused. | [Settings reference](/docs/settings#general) | | Reason when you cancel your subscription | 20 to 5,000 characters | With fewer than 20 characters, the screen says "Please write at least 20 characters." and the cancel button stays off. The field stops at 5,000 characters. | [Manage your subscription](/docs/billing) | | Failed renewal payment | 7 days of grace | Your squad keeps working for 7 days. After that, the workspace locks with **Payment past due** until you pay. | [Manage your subscription](/docs/billing) | | Money-back guarantee on your first payment | 7 days after you subscribe | Email [support@squad.so](mailto:support@squad.so) from your account email within 7 days. Renewals and credit purchases are not refundable. | [Manage your subscription](/docs/billing#get-a-refund) | | Chief of staff per squad | 1 | A teammate cannot create a second chief of staff. | [Add, change, and pause teammates](/docs/agents) | | A workspace reset with no progress | 30 minutes | The checklist closes and says "The reset stopped before it finished." Start the reset again to finish it. Until then, a new reset is refused. | [Reset your workspace](/docs/billing#reset-your-workspace) | ## People | Item | Value | What happens at the limit | More | | - | - | - | - | | Invite link | Works for 7 days, once, and only for the invited email address | The invite page says "This invite expired". Invite the same address again. The new link replaces the old one. | [Invite people to your squad](/docs/teammates) | | Seats in total | No limit | Not applicable. Buy more seats in another purchase. | [What Squad costs](/docs/costs#seats-for-people) | | Seats bought in one purchase | 1 to 100 | **−** and **+** on **Billing** stop at 1 and at 100. | [Invite people to your squad](/docs/teammates#buy-seats) | | Seats used | 1 for each person you invited and 1 for each open invite. The owner uses none. | With every seat in use, you cannot invite. "Every seat is in use. Add a seat in Billing first." | [Invite people to your squad](/docs/teammates) | | Release seats | Only seats that nobody uses, all at once | "Those seats are in use. Remove people or revoke invites first." | [Invite people to your squad](/docs/teammates#release-unused-seats) | | Teammates a new person can use | All teammates, including teammates added later | Narrow the list with **All teammates** on the person's row in **Settings** > **People**. | [Invite people to your squad](/docs/teammates#limit-a-person-to-some-teammates) | ## Tasks and questions | Item | Value | What happens at the limit | More | | - | - | - | - | | Files on one task reply | 10 files | The reply is refused with "A reply can carry at most 10 files." | [Tasks](/docs/missions#steer-a-task-with-a-comment) | | Files on one task, in total | 40 files | The upload is refused with "This mission already carries N files. The limit is 40." | [Tasks](/docs/missions#steer-a-task-with-a-comment) | | Stuck mark | More than 2 days with no update, while the task is in **Working on it** | The card shows **Stuck for N days · no progress**. Tasks marked **Ongoing** never get this mark. | [Tasks](/docs/missions#stuck-tasks) | | Stall detection, first step | 2 days with no update | Squad asks the owning teammate for progress. If the task is still quiet 2 days later, Squad asks you a question in **Needs you**. | [Tasks](/docs/missions#stuck-tasks) | | Stall detection, second step | 7 days with no status change | Squad asks you a question directly. | [Tasks](/docs/missions#stuck-tasks) | | Stall detection schedule | Once an hour | The check covers tasks that an AI teammate owns, in **Not started** (owned but not started) or **Working on it**, and not marked **Ongoing**. | [Tasks](/docs/missions#stuck-tasks) | | Cards per column on **Tasks** | 4 cards | The column shows **Show all N**. **Show less** folds it again. | [Tasks](/docs/missions#read-the-board) | | Questions and emails on **Today** | The first 3, urgent first, then newest | **See all** with the count opens the rest in **Needs you**. | [Needs you](/docs/tickets#open-needs-you) | | **Over a day** | A question or an email waiting more than 1 day (24 hours) | It shows **Over a day** and counts in the **Over a day** filter. The filters show only when at least one question or email is that old. | [Needs you](/docs/tickets#clear-only-old-questions) | | **Over 30 days** | A question or an email waiting more than 30 days | **Needs you** shows a card with **Review them** and an **Over 30 days** filter. | [Needs you](/docs/tickets#clear-only-old-questions) | | **Just answered** | Each answer for 45 seconds, in this browser tab only | The answer leaves the strip. Undo it from **Show resolved** instead. | [Needs you](/docs/tickets#undo-an-answer) | | Resolved questions under **Show resolved** | The squad's 30 newest resolved questions, whoever answered them, canceled ones included. A person limited to some teammates sees only the ones about those teammates. | Older resolved questions are not listed. | [Needs you](/docs/tickets#undo-an-answer) | | **Clear all** in **Needs you** | Shows with 2 or more open questions | In the **⋯** menu, as **Clear all N questions…**, for the owner and Administrators only. | [Needs you](/docs/tickets#clear-all-open-questions) | | Rows in **Archived** and **Trash** on **Tasks** | 100 at a time | **Load older…** loads 100 more. | [Tasks](/docs/missions#archive-delete-and-restore-tasks) | ## Today | Item | Value | What happens at the limit | More | | - | - | - | - | | **Today so far** | 5 lines, one for each teammate, with its latest work today | Other teammates are not listed. **See all activity** opens **Activity**. | [What Squad is](/docs/what-squad-is#places-that-open-from-where-they-belong) | | **Today’s routines** | The first 5 of the day | A line says "One more runs today." or "N more run today." **See all routines** opens **Routines**. | [Routines](/docs/scheduled#open-routines) | | Work that did not finish, set aside with the X | Until the end of the day on your device's clock, in this browser | A problem that still fails the next day shows again. A different problem shows at once. | [Fix work that did not finish](/docs/runs-and-health#fix-work-that-did-not-finish) | ## Chat | Item | Value | What happens at the limit | More | | - | - | - | - | | Files a teammate attaches to one chat message | 4 files | Files after the fourth are dropped. | [Chat](/docs/chat) | | Files from one chat message that a teammate on a Claude Code account gets | 8 files, each up to 25 MB, each downloaded within 20 seconds | Squad saves each file on your squad's computer for the teammate. Files after the eighth, larger files, and files that take longer to download are not saved. The teammate still gets your message. | [Chat](/docs/chat#attach-files) | | Conversations in a teammate's list | 40 at a time | **Show older conversations** loads 40 more. | [Chat](/docs/chat) | | Conversation name | 80 characters | The name field accepts no more text. | [Chat](/docs/chat) | | New replies before a conversation opens at the newest instead of at the first unread | More than 10 teammate replies that this browser has not seen | The conversation opens at the newest reply. | [Chat](/docs/chat#open-a-teammates-chat) | | Your sent messages that ↑ can bring back in a conversation with a teammate | The last 50 | Older messages are not offered. In the Squad chat on the web, ↑ can reach every message you sent that the screen has loaded. Squad for Mac (private beta) stops at 50 everywhere. | [Chat](/docs/chat) | | Group chats listed in the sidebar | 5, newest first | **All group chats** shows the rest, up to the newest 200 open group chats. **Show fewer** goes back to 5. Teammates' own conversations do not count toward the 200 until a person posts in them. | [Chat](/docs/chat#rename-archive-restore-or-delete-a-group-chat) | | Teammates' conversations on the Squad chat screen | The newest 50 that no person posted in, plus the ones that a person posted in | Older ones are not listed. | [Chat](/docs/chat#read-conversations-between-teammates) | | Conversation reset | None | Conversations do not reset on their own. A long conversation is shortened in the teammate's working memory. | [Chat](/docs/chat#how-a-teammate-remembers-a-conversation) | | Messages in a conversation that you can fork or edit | 2,000 | "This conversation is too long to fork or edit." Start a new conversation. | [Chat](/docs/chat#when-fork-and-edit-are-not-available) | | Conversation so far that the teammate gets when it has no memory of the conversation, for example in a fork or a new version | Up to about half of the model's context window, from the newest 1,500 messages at most | Messages before the newest 1,500 are left out, and the teammate is told that earlier messages were not read. Within those, a conversation that is still too long is cut in the middle: the teammate gets the oldest of them and the newest messages, and is told that some messages were left out. Files in earlier messages are named, not sent again. | [Chat](/docs/chat#fork-a-conversation) | | History copied into a new group chat | Last 30 messages | When you @mention another teammate in a 1:1 conversation, the new group chat starts with the last 30 messages. | [Chat](/docs/chat) | | Wait for a reply | 15 minutes | The message fails with a "No reply arrived" error. In a 1:1 conversation, the error has a **Retry** button. The check runs every 10 minutes, so the error can take up to about 25 minutes to appear. A message whose run is still working does not fail. A message that waits while your teammates are busy with other work does not fail either. | [Chat](/docs/chat) | | Time before the Squad chat says that your squad isn't answering | More than 10 minutes without contact from your squad's computer | The Squad chat shows "Your squad isn’t answering right now, so new messages can’t reach your teammates. Try again in a few minutes.", and messages to group chats are refused until your squad's computer contacts Squad again. It also shows while your squad's computer restarts, until it contacts Squad again. The group chats stay in the sidebar. While your teammates are busy, your squad's computer still contacts Squad every minute. This does not start a run. | [Use the Squad chat](/docs/chat#use-the-squad-chat) | | Automatic resend | 2 tries, after 3 seconds and 8 seconds | Squad resends only when the message did not reach the teammate. For other failures, you see **Retry**. | [Chat](/docs/chat) | | Names that you turned down for one conversation | The last 10 are remembered | An older turned-down name can be suggested again. | [Chat](/docs/chat#work-with-conversations) | | Archived conversations listed for one teammate | 200, newest archived first | Older archived conversations are not listed. | [Archive or delete a conversation](/docs/chat#archive-or-delete-a-conversation) | | Conversations with one teammate checked for your new replies | Your newest 30 open conversations with that teammate, among its newest 150 open conversations | A reply in an older conversation shows no blue dot or **new** mark. Conversations that are not yours do not use up your 30. | [Which replies are new for you](/docs/chat#which-replies-are-new-for-you) | | Helpers on one "Asked" line in a conversation | Each started within 15 minutes of the one before, by the same teammate. Up to 3 names. | A later helper starts a new line. Helpers whose names are not shown are counted, for example "and 2 more". | [See the helpers your teammates start](/docs/chat#see-the-helpers-your-teammates-start) | | Short name of a helper in the conversation and in **History** | The first line of the name that the teammate gave it, at most 8 words. Whole words up to 80 characters show. | Words past 80 characters are cut. A name of more than 8 words shows no name. So does a name with a word that is not a plain word, for example a number of 3 or more digits, letters mixed with digits, an email address, or a path. A short version counts as a word, for example "4.5" or "1.0.62". So does a GPT or GLM model name in capitals with a dash, for example "GPT-5.1" or "GPT-4o", and a quarter or a half, such as "Q4" or "H1". Other model names with a dash, such as "Claude-3.5" or "gpt-4o", show no name. A name with a dotted number shows no name when it also says code, PIN, or OTP. A name that names a credential or a sign-in shows no name, for example one that mentions a password, a secret, a token, a cookie, an API key, a verification code, or "log in" or "sign in". A bare "key", "PIN", or "code" counts only with a value after it, for example "the key is…" or "code 123456". A name that only says what it is, for example "Helper" or "Subagent", shows no name. A helper with no name is counted, not named. | [See the helpers your teammates start](/docs/chat#see-the-helpers-your-teammates-start) | | Emails waiting on you that a chat's email card can check | 500 drafts and 500 escalated emails | When 500 or more of either kind wait, a card says nothing about an email that it does not find, instead of "No longer waiting on you." | [Email conversations in chat](/docs/chat#email-conversations-in-chat) | | People counted in one conversation | The first 20 people who write in it | A person who first writes after 20 others is not counted in that conversation, so its replies are not new for them. | [Which replies are new for you](/docs/chat#which-replies-are-new-for-you) | ## Projects | Item | Value | What happens at the limit | More | | - | - | - | - | | Project name | 80 characters | The name field accepts no more text. An empty name is refused with "Give the project a name." | [What Squad is](/docs/what-squad-is#how-work-moves) | | A project's notes that every teammate reads first | 2,000 characters | The field accepts no more text. | [What Squad is](/docs/what-squad-is#how-work-moves) | | Open projects in a squad | 200 | A new project is refused with "You have 200 open projects. Archive one before making another." Bringing one back is refused with "You have 200 open projects. Archive one before bringing this one back." | [What Squad is](/docs/what-squad-is#how-work-moves) | | Projects in the sidebar | The 5 worked in most recently, plus the open one | **All projects** with the number of others shows the rest. **Show fewer** goes back. | [What Squad is](/docs/what-squad-is#sidebar) | | Archived projects in the sidebar | 100 at a time, newest first | **Show older** loads the next 100. If they do not load, the sidebar says "Older ones didn’t load. Try again". | [What Squad is](/docs/what-squad-is#sidebar) | | Conversations on a project's page | 200 direct conversations and 200 group chats | Older ones are not listed. When a list is full, **Delete project…** does not say how many conversations stay. | [What Squad is](/docs/what-squad-is#how-work-moves) | ## Sidebar | Item | Value | What happens at the limit | More | | - | - | - | - | | Pins | Saved to your account, up to 32,000 characters of saved pin data | Pins show on every device where you sign in. When the saved data would pass the limit, the new pin is not saved and the sidebar does not change. Unpin something first. | [Search and keyboard shortcuts](/docs/search#pins) | | Pinned places | **Email**, **Docs**, and **Contacts**, until you change them | The other places are under **More**. **More** starts folded. | [Pin a place to the sidebar](/docs/what-squad-is#pin-a-place-to-the-sidebar) | | **New** on a place in the sidebar | 30 days after the place joined the sidebar, counted in your own time zone. **Contacts** and **Wallet** joined on October 14, 2026. | The mark goes away by itself, or when you open or pin the place. | [Pin a place to the sidebar](/docs/what-squad-is#new-places) | | Pinned places in the bar at the bottom of a phone | The first 2 | The other places are on **More**, the last tab. | [On a phone or a narrow window](/docs/what-squad-is#on-a-phone-or-a-narrow-window) | | Sidebar width | 208 to 420 pixels, 252 by default | Drag the right edge of the sidebar to resize it. Double-click the edge to go back to the default. | [What Squad is](/docs/what-squad-is#sidebar) | | Count on the bell | Up to 9 | Above 9, the bell shows **9+**. | [Choose your notifications](/docs/notifications) | ## Search | Item | Value | What happens at the limit | More | | - | - | - | - | | Command palette with nothing typed | The first 5 open questions, then **New task**, **New project**, **Pin a task**, and **Pin a doc** | Type to search. | [Search and keyboard shortcuts](/docs/search) | | Command palette results | 5 each for questions, **Projects**, **Tasks**, **Documents**, and **Email**. 4 each for workflows, apps, and help pages. Up to 8 contacts, after 2 or more characters. Teammates are not capped. 40 in all. | Type more words to narrow the results. | [Search and keyboard shortcuts](/docs/search) | ## Docs | Item | Value | What happens at the limit | More | | - | - | - | - | | Docs on one page of the Docs list | 24 docs | **Load more** shows the next 24. | [Docs](/docs/squad-docs) | | Archived docs on **Docs** | 50 at a time | **Load more** shows 50 more. | [Docs](/docs/squad-docs) | | Folder levels | 1 level | A folder cannot contain other folders. | [Docs](/docs/squad-docs) | | Delete a folder | Empty folders only | A teammate that tries to delete a folder with docs in it gets "Cannot delete a folder that contains documents." | [Docs](/docs/squad-docs) | | Docs moved in one step by a teammate | 100 docs | The move is refused with "Cannot move more than 100 documents at once". | [Docs](/docs/squad-docs) | | Version history | None | An edit replaces the earlier text. | [Docs](/docs/squad-docs) | ## Email The send caps count every email that a teammate sends. They also count emails that are scheduled to go out. A draft that waits for your approval does not count until it is sent. When a cap refuses a send, the teammate is told that it can schedule the email for later. The teammate's chat with you also shows a message that starts with "Couldn't send that email". | Item | Value | What happens at the limit | More | | - | - | - | - | | Emails per minute, per teammate | 10 | The send is refused. Scheduled sends due in the next minute also count. | [Email](/docs/email) | | Different recipients in 5 minutes, per teammate | 20, across To, Cc, and Bcc | The send is refused. | [Email](/docs/email) | | Daily send cap, per teammate | 100 in a rolling 24 hours (default) | The send is refused. You change the cap in **Daily send cap** in the teammate's inbox settings, in **Settings** > **Email** > **Inboxes and rules**. A cap of 0 means no cap. | [Email](/docs/email) | | Squad daily cap | 500 in a rolling 24 hours | The send is refused. You cannot change this cap in the dashboard. | [Email](/docs/email) | | Squad monthly cap | 10,000 in a rolling 30 days | The send is refused. You cannot change this cap in the dashboard. | [Email](/docs/email) | | Drafts waiting for approval | Do not count toward the caps | A pending draft uses no cap space. | [Email](/docs/email) | | Scheduled send | At least 60 seconds in the future | An earlier send time is refused. | [Email](/docs/email) | | Scheduled send with attachments | Not supported | The scheduled send is refused. | [Email](/docs/email) | | Handling instructions | 4,000 characters when a teammate saves them | Text after 4,000 characters is dropped. Squad sets no length limit when you type them yourself. | [Email](/docs/email) | | Email signature | 1,000 characters when a teammate saves it | Text after 1,000 characters is dropped. Squad sets no length limit when you type it yourself. | [Email](/docs/email) | | Address, part before the @ | 32 characters: lowercase letters, digits, and hyphens | Other characters become hyphens. Longer text is cut. | [Email](/docs/email) | | Custom email domains | 1 per squad | A second domain is refused until you remove the first. | [Email](/docs/email) | | DNS check after **Verify now** | Up to 4 checks, 45 seconds apart | The domain keeps its status. Squad also checks again on its own. | [Email](/docs/email) | | Emails loaded on **Email** | Newest 100 | The count under the inbox name shows **N+** when the list is full. | [Email](/docs/email) | | Unread email on the **Email** badge and in **Unread** | 100 | The badge stops at 100. **Unread** lists the newest 100 unread received emails. | [Give a teammate an email inbox](/docs/email) | | **Search email** | Asks the picked inbox, or each inbox in **All inboxes**, once you type 2 characters, about 0.3 seconds after you stop typing. Up to 25 results from each inbox. | With 1 character, it searches only the emails that are loaded. Type more words to narrow the results. | [Give a teammate an email inbox](/docs/email#search-email) | When you click **Approve & send**, the email goes out at once and skips every send cap. The caps apply to email that teammates send on their own. ## Runs | Item | Value | What happens at the limit | More | | - | - | - | - | | No events from a chat or email run | 10 minutes | History marks the run **Still finishing**. If the run reports back later, the row corrects itself. | [History](/docs/runs-and-health#find-a-run) | | Signal from a run that is still working | Every 3 minutes, after the first 3 minutes | A run in one long step, such as a long command or a tool call, tells Squad that it is still working. It stays **Running**, and its chat message does not fail with "No reply arrived". A run that shows no sign of work sends no signal. On a Claude Code account, the signal goes on for as long as the teammate's process runs, also when it hangs. | [History](/docs/runs-and-health) | | No events from a routine's run or another run | 30 minutes | Same as above. | [History](/docs/runs-and-health#find-a-run) | | A chat message that a restart of your squad's computer interrupts | Continued up to 3 times. Another continue needs about 5 minutes of work since the last one. | The chat shows "The workspace runtime restarted again while the agent was finishing this message, so it stopped partway." Check what is done, then send the message again. | [Chat](/docs/chat#retry-a-message-that-failed) | | Confirmation of a **Stop** | 90 seconds | With no confirmation from your squad's computer, **Stop** says "The stop didn't go through, so the run is still going. Press Stop to try again." | [History](/docs/runs-and-health#stop-a-run) | | Check for silent runs | Every 5 minutes | A silent run can show **Running** for a few minutes after it stops. | [History](/docs/runs-and-health) | | No progress on your squad's computer | 15 minutes with no progress signal | The run is stopped. A run is not stopped while a tool call or a memory compaction is in progress. Runs on a Claude Code account are not stopped this way. | [Fix a teammate that is stuck or failing](/docs/agent-stuck#time-limits) | | Helpers that a teammate on a Claude Code account starts | No limit of their own | The teammate's run stays open, and its reply waits, until its helpers finish. A new message in the same conversation waits until the teammate's run ends, for up to 24 hours. If the earlier run is still going after 24 hours, the run for the new message fails. A run time limit from an earlier setting, or a routine's time limit, still ends the run and its helpers. | [See the helpers your teammates start](/docs/chat#see-the-helpers-your-teammates-start) | | Run time limit | No limit | You cannot set a limit. **Settings** > **AI** > **Teammates** > **Workspace defaults** > **Run time limit** shows **No limit**. | [Fix a teammate that is stuck or failing](/docs/agent-stuck#time-limits) | | Workspace run time limit from an earlier setting | Shown on the **Run time limit** card, with a warning | Chat runs, also from Telegram, Discord, or Slack, that take longer than the limit are stopped. Routines use their own limit. A workspace with no saved value has a limit of 10 minutes. Click **Remove the limit**, then save. | [Fix a teammate that is stuck or failing](/docs/agent-stuck#time-limits) | | Time limit of a new routine | 24 hours for a routine that you create in the dashboard. A run also stops earlier after 15 minutes with no progress. | The routine editor has no time limit field. A routine that a teammate creates can have no limit saved. | [Schedule recurring work with routines](/docs/scheduled#model-and-time-limit) | | Routine limit that is unset or shorter than 24 hours | Raised to 24 hours each time your squad's computer restarts | A short limit is left from an earlier setting. Until the next restart, a routine with no limit saved, for example one that a teammate created, stops after 60 minutes. The routine editor shows the limit, a warning, and **Raise to 24 hours**. A limit of 0 (no limit) is left alone. | [Schedule recurring work with routines](/docs/scheduled) | | Automatic retry | 1 retry, 2 minutes later | Only for a routine's run that fails with a temporary AI provider error. Rate-limit, quota, and login errors are not retried, except that a Claude Code run that hits its usage limit continues once on the next Claude Code account (see below). There is no retry if the teammate is paused, the routine was paused, a newer run started, or you messaged the teammate in the meantime. | [History](/docs/runs-and-health) | | Restart for new software on your squad's computer | Waits until no teammate is working, with no time limit. Runs on a Claude Code account count as work. | Only software that your squad's computer can load only when it starts needs a restart, once for each update. Settings changes, account changes, and most updates to the teammate software apply without one. | [Interrupted runs](/docs/agent-stuck#interrupted-runs) | | Notice "Saved. Applying changes in the background (usually a minute or two)." after a settings save | Up to 5 minutes | The notice goes away when your squad's computer has applied the change, or after 5 minutes. | [Add, change, and pause teammates](/docs/agents) | | Restart of your squad's computer to recover it | Immediate. Squad does this when your squad's computer stopped answering. | Runs in progress stop. History shows them as **Interrupted**. When it can, Squad gives a chat message that a restart interrupted back to the teammate, which continues it, up to 3 times. History then shows the cut-off run as picked back up. Squad does not start other runs again, so check the work and ask again if it is not done. | [History](/docs/runs-and-health) | | Claude Code account that reaches its usage limit | Skipped until its limit resets. If the reset time is not known, 1 hour. At most 8 days. | Squad switches to the next Claude Code account in your order, and **Settings** > **AI** shows that account as **In use**. The run that hit the limit continues once on the new account, also when it had already done work. If every account is at its limit, Claude Code cannot serve runs until one resets, and runs move to the next model under **When it can’t answer** if you set one. Reconnecting the account with a new token clears the skip. | [Connect your AI subscription](/docs/connect-your-ai#use-more-than-one-account) | | Rate limit on **Today** | 3 or more rate-limit failures in a row from one provider, the latest within 6 hours | The sentence on **Today** ends with the provider's name and "is limiting your squad right now." **Health** shows **Provider status**. **Settings** > **AI** shows **Rate-limited · cooling down** after one recent failure. | [Choose models and manage AI accounts](/docs/ai-accounts) | | Runs listed for one day in History | 2,000, counted over every teammate | The newest 2,000 runs that started that day are shown, and the earlier ones are not. History says "A day here has more runs than History can list for one day. Its newest runs show, and its earliest don’t." | [History](/docs/runs-and-health) | | How far back **History** goes | Today and the 30 days before it | **Day** shows 1 day, **Schedule** 3 days, **Week** 7 days, and **Month** the current month up to today. **Load older runs** in **Schedule** moves back 3 days. Older runs are not shown. | [History](/docs/runs-and-health#find-a-run) | ## Routines | Item | Value | What happens at the limit | More | | - | - | - | - | | **Up next** on **Routines** | The next 4 runs | Later runs are not listed. | [Routines](/docs/scheduled#manage-routines) | | **Search routines** | Shows with more than 8 routines | With 8 or fewer, there is no search box. | [Routines](/docs/scheduled#manage-routines) | | Wait for your squad's computer before a routine change | Up to 42 seconds, then the command once, with 10 seconds for the computer to answer | The change fails with the computer's reason, or with "Squad lost touch with your cloud computer, so it cannot tell whether…" | [Routines](/docs/scheduled#when-a-change-fails) | | Reason in a failed routine change | Up to 300 characters | A longer reason is cut. | [Routines](/docs/scheduled#when-a-change-fails) | ## Heartbeats | Item | Value | What happens at the limit | More | | - | - | - | - | | Heartbeat state when created | Off | Teammates run on a timer only after you turn the heartbeat on. | [Schedule recurring work with routines](/docs/scheduled#turn-on-heartbeats) | | Chief of staff's heartbeat, **Lead heartbeat** on **Routines** (`lead-heartbeat`) | Every 15 minutes | When it is on, that is about 96 runs a day on your AI account, even when nothing needs attention. | [Schedule recurring work with routines](/docs/scheduled#turn-on-heartbeats) | | Other teammates' heartbeats | Every hour, each at its own minute past the hour | Different start minutes keep the teammates from all running at once. | [Schedule recurring work with routines](/docs/scheduled#turn-on-heartbeats) | ## Memory | Item | Value | What happens at the limit | More | | - | - | - | - | | Load budget for **About you**, **Notes**, **Personality**, and **Identity** | 20,000 characters (default) | In a longer file, the teammate reads the first 70% of the budget from the start of the file and the last 20% from the end. With the default budget, that is the first 14,000 and the last 4,000 characters. The middle is skipped at every run. The editor shows this. | [Memory](/docs/memory) | | **Company**, **Contacts**, **Glossary**, **Squad**, **Voice** | No load budget | Teammates read these files when they need them. | [Memory](/docs/memory) | | Text shown in the file editor | First 400,000 characters | Saving writes what you see and removes the rest. | [Memory](/docs/memory) | | File size on save | 800,000 characters | The save is refused. | [Memory](/docs/memory) | | Results for a search in **Memories** | Up to 20 | Refine the search to see other memories. | [Memory](/docs/memory) | | Memories that a teammate gets before each request | Up to 10 that match the request. On a Claude Code account, the text is cut at a whole line under 9,000 characters. | Other memories are not given. The teammate can still search memory. A request of fewer than 5 characters gets no matches. | [How your squad learns](/docs/memory#how-your-squad-learns) | | Standing facts and recent context that a teammate gets | Up to 10 of each, on the first request of a conversation, then again every 50 requests | Between those requests, the teammate gets only the memories that match. | [How your squad learns](/docs/memory#how-your-squad-learns) | | Time to find memories before a request | 4 seconds | The teammate starts without memories for that request. | [How your squad learns](/docs/memory#how-your-squad-learns) | | Text that memory learns from in one turn | The first 8,000 characters of a request and the first 12,000 characters of a reply | Memory does not learn from the rest of a longer request or reply. | [How your squad learns](/docs/memory#how-your-squad-learns) | | Results for a memory search by a teammate | 5 by default, up to 20 | Not applicable. | [What your teammates can do](/docs/agent-capabilities#memory) | ## Skills and skill packs | Item | Value | What happens at the limit | More | | - | - | - | - | | Skill tag | Lowercase letters, digits, and hyphens, up to 32 characters | Capitals become lowercase. Other characters and longer tags are refused. | [Skills](/docs/skills) | | Tags on one skill | 32 | More tags are refused. | [Skills](/docs/skills) | | Custom pack source | A public GitHub repository, `https://github.com/owner/repo` | Other URLs are refused. | [Skills](/docs/skills) | | **Skills folder (optional)** | Up to 200 characters and 4 levels deep | Longer or deeper paths are refused. | [Skills](/docs/skills) | | Same repository and folder twice | Not allowed | Remove the pack first, then add it again. | [Skills](/docs/skills) | | Repository that is already a curated pack | Not allowed as a custom pack | Turn on the curated pack instead. | [Skills](/docs/skills) | | Curated pack | Can be turned off, not removed | **Remove pack** shows only for custom packs. | [Skills](/docs/skills) | | Skill name clash when you turn on a pack | Allowed | The pack turns on, and each pack skill with a clashing name stays off. | [Skills](/docs/skills) | ## Integrations and channels | Item | Value | What happens at the limit | More | | - | - | - | - | | Account name for a connected app | 80 characters | Longer names are cut. | [Connect apps](/docs/integrations) | | Custom integrations before **Find an integration** shows | 7 | With fewer, there is no search box. | [Add an MCP server or an API key](/docs/custom-integrations) | | MCP server URL | Must start with `https://` | Other URLs are refused. | [Add an MCP server or an API key](/docs/custom-integrations) | | MCP server name, when you rename it in **Edit** | 80 characters | A longer name is refused with "Keep the name under 80 characters." An empty name is refused with "Give the server a name." | [Add an MCP server or an API key](/docs/custom-integrations) | | Headers on one MCP server | 16 | More headers are refused with "Too many MCP headers". | [Add an MCP server or an API key](/docs/custom-integrations) | | **Who can message it** list on an extra Telegram bot, a Discord bot, or a Slack app | At most 50 people | A change that makes the list longer than 50 is refused with "Keep the list under 50 people." You can still remove people from a longer list. | [Telegram](/docs/telegram), [Discord](/docs/discord), [Slack](/docs/slack) | | Telegram main bot | Only you | You cannot add people to the main bot. Connect another bot for other people. | [Telegram](/docs/telegram) | | Discord or Slack **Who can message it** list | At least 1 person | You cannot remove the last person. An empty list would answer nobody. | [Discord](/docs/discord), [Slack](/docs/slack) | | Tools on one model request, on Grok | 350 tools (Grok's own cap) | Turn off tools that you do not use in **Settings** > **AI** > **Tools**. | [Add an MCP server or an API key](/docs/custom-integrations) | | Connect or switch the Telegram main bot | Waits until your squad finishes its current work. Nothing restarts. | The screen says "Your new bot is saved. Your squad is in the middle of work, so the new bot starts answering when it finishes. No need to rotate again." | [Connect Telegram](/docs/telegram) | ## Contacts and pipelines | Item | Value | What happens at the limit | More | | - | - | - | - | | Pipelines in a squad | 50 | A new pipeline is refused with "A workspace can have at most 50 pipelines." A second pipeline with the same name, in any case, is refused. | [Contacts and pipelines](/docs/contacts) | | Stages in a pipeline | 1 to 20, with at least one open stage | "A pipeline needs at least one stage.", "A pipeline can have at most 20 stages.", or "A pipeline needs at least one open stage." | [Contacts and pipelines](/docs/contacts) | | Custom fields in a pipeline | 24 | "A pipeline can have at most 24 fields." | [Contacts and pipelines](/docs/contacts) | | Options in a select field | 1 to 40, each up to 60 characters | "A select field can have at most 40 options." | [Contacts and pipelines](/docs/contacts) | | Follow-up delay of a stage | 0 to 365 days | "A follow-up delay must be between 0 and 365 days." | [Contacts and pipelines](/docs/contacts) | | Emails on a contact | 20 | "A contact can have at most 20 emails." | [Contacts and pipelines](/docs/contacts) | | Projects a contact is in | 20 | "A contact can be in at most 20 projects." | [Contacts and pipelines](/docs/contacts) | | Tags on a contact | 40, each up to 60 characters | Extra tags, and longer tags, are dropped. | [Contacts and pipelines](/docs/contacts) | | Score | 0 to 100 | "A score must be a number from 0 to 100." | [Contacts and pipelines](/docs/contacts) | | Next step on a lead | 200 characters | The field accepts no more text. | [Contacts and pipelines](/docs/contacts) | | Contacts that a teammate imports in one call | 1 to 100 | The teammate is told "Send at most 100 contacts in one call." and splits a larger set into calls of 100. | [Contacts and pipelines](/docs/contacts) | | Merge two contacts | Together at most 20 emails, 20 projects, 12 channels, and 40 tags | The merge is refused, for example with "Together they have more than 20 emails. Remove some first." A person cannot merge with a company. | [Contacts and pipelines](/docs/contacts) | | Contacts on the list and on a pipeline's board | 50 at a time, and 50 for each stage on the board | **Show more** loads 50 more. | [Contacts and pipelines](/docs/contacts) | | Timeline of a contact | 20 events at first | **Show older** loads 20 more, up to 500. | [Contacts and pipelines](/docs/contacts) | ## Payment cards | Item | Value | What happens at the limit | More | | - | - | - | - | | Approval of a purchase | 15 minutes, unless the card vault sets another time | The purchase shows **Not approved in time**: "Nobody approved it within 15 minutes, so nothing was paid." | [Let your teammates pay with your card](/docs/payment-cards) | | Checkout window of a purchase | 45 minutes from the start | Closed before approval: **Not approved in time**. Closed after approval: **Payment not confirmed**, or **Not confirmed** for a checkout that charges nothing. | [Let your teammates pay with your card](/docs/payment-cards#follow-a-purchase) | | A teammate's request that you add a card | Open for 7 days. Each teammate has at most one open request to each person, and asking again restarts the 7 days. | A card added later does not wake the teammate. | [Let your teammates pay with your card](/docs/payment-cards) | | Cards that can pay | Visa, Mastercard, American Express, Discover, and JCB | Other cards are listed but cannot pay. | [Let your teammates pay with your card](/docs/payment-cards#add-a-card) | | Open purchases for each teammate | 1 | The teammate's next purchase is refused until it finishes or cancels the open one. | [Let your teammates pay with your card](/docs/payment-cards) | | A later charge that a teammate names for a purchase | 160 characters | Longer text is cut at 160 characters. | [Free trials and checkouts that charge nothing](/docs/payment-cards#free-trials-and-checkouts-that-charge-nothing) | | A purchase whose result is not known | Blocks a new purchase by that teammate for 24 hours after its checkout window closed | The teammate is told when a new purchase is possible. | [Let your teammates pay with your card](/docs/payment-cards) | | Purchases listed in the **Wallet** | The newest 50 | Older purchases are not listed. | [Let your teammates pay with your card](/docs/payment-cards) | ## Form cards | Item | Value | What happens at the limit | More | | - | - | - | - | | Fields on one form card | 1 to 40 | The card is refused, and the teammate is told why. | [Fill a form that a teammate sends you](/docs/form-cards) | | Time to fill a form card | 30 minutes | The card shows **Expired**: "This form request lapsed. Ask your teammate to send it again." | [Fill a form that a teammate sends you](/docs/form-cards) | | Text in one field | 4,096 characters | Longer text is cut. | [Fill a form that a teammate sends you](/docs/form-cards) | | Form cards that wait at once on your squad's computer | 20 | The teammate's next form card is refused until one of them is filled, declined, or expired. | [Fill a form that a teammate sends you](/docs/form-cards) | ## Squad for Mac Squad for Mac is in private beta and not available to download yet. These are the numbers that the app uses, and the limits on what teammates can ask for on your Mac. See [Get started with Squad for Mac](/docs/mac/overview). ### The app and navigation | Item | Value | What happens at the limit | More | | - | - | - | - | | Mac that Squad for Mac runs on | macOS 14.0 or later, with Apple silicon | The app does not run on an older macOS or on a Mac with an Intel processor. | [Get started with Squad for Mac](/docs/mac/overview#before-you-start) | | Pins shown in the sidebar | The first 3 | **Show all** with the count shows the rest. **Show fewer** goes back. Squad remembers the choice. | [Pin items to the sidebar](/docs/chat#pin-items-to-the-sidebar) | | Saved pins | 32,000 characters of saved pin data | Squad says "You have too many pins to save. Unpin a few first." | [Pin items to the sidebar](/docs/chat#pin-items-to-the-sidebar) | | Places that **Back** remembers | 100 | The oldest places are dropped. | [Keyboard shortcuts](/docs/mac/keyboard-shortcuts#go-back-and-forward) | | Text size | 7 steps, from 85% to 145%. The default is 100%. | **Bigger** or **Smaller** is off at the largest or smallest size. | [Keyboard shortcuts](/docs/mac/keyboard-shortcuts#change-the-text-size) | | Command palette with nothing typed | The first 3 questions from **Needs you** | Type to search, or open **Needs you**. | [Search and keyboard shortcuts](/docs/search#search-with-the-command-palette) | | Command palette results | 5 each for **Needs you**, **Projects**, **Tasks**, **Docs**, and **Email**. 4 each for **Help and ideas** and **Apps**. 40 in all. The palette searches the first 20 questions, 400 tasks (open ones first), 300 docs, and the 100 most recent emails. | Type more words to narrow the results. | [Search and keyboard shortcuts](/docs/search#search-with-the-command-palette) | | Check for updates | Every hour, with **Check for updates automatically** on | Not applicable. To check now, choose **Check for Updates…**. | [Settings, notifications, and updates](/docs/mac/settings#updates) | | Crash and freeze reports kept on the Mac | The newest 20. A report is dropped after 3 failed sends. | When a new report comes in, the oldest is dropped. With **Share usage and crash reports** off, none are kept. | [Settings, notifications, and updates](/docs/mac/settings#share-usage-and-crash-reports) | | Freeze that counts as "stopped responding" | More than 3 seconds | If Squad is closed while it is frozen this long, a notice says "Squad stopped responding last time, sorry about that." the next time Squad opens and you are signed in. A freeze that ends by itself shows no notice. | [Troubleshoot Squad for Mac](/docs/mac/troubleshooting#app-problems) | ### Today and Needs you | Item | Value | What happens at the limit | More | | - | - | - | - | | Items that need you on **Today**, including email drafts and escalations | The first 3 | What only you can fix, and suggested triggers, show in full above them. The link under them opens **Needs you**. | [Today](/docs/today#needs-you) | | **Undo** after you answer on **Today** | The 2 most recent answers, each for 45 seconds | The **Undo** button goes away. | [Today](/docs/today#needs-you) | | Low disk card, set aside with the X | 24 hours, on this Mac | The card shows again. A full disk shows at once and cannot be set aside. | [Today](/docs/today#needs-you) | | **Assigned to you** on **Today** | The 5 open tasks assigned to you that changed most recently | Open **Tasks** for the rest. | [Today](/docs/today#assigned-to-you) | | **Today so far** or **Yesterday** on **Today** | 6 teammates, read from the latest 50 activity items | Other teammates are not listed. **See all activity** opens **Activity**. | [Today](/docs/today#on-squad-for-mac-private-beta) | | Routines in **Today's routines** on **Today** | The first 5 | A line says "One more runs today." or how many more run today. **See all routines** opens **Routines**. | [Today](/docs/today#todays-routines) | | **Ideas for your squad** on **Today** | The first 14 days of a squad | After that, the ideas show only when nothing waits for you and nobody is working. | [Today](/docs/today#ideas-for-your-squad) | | Answers under **Just answered** in **Needs you** | The 2 most recent, each for 45 seconds | The answer leaves the strip. Undo it from **Show resolved** instead. | [Answer what needs you](/docs/tickets#undo-an-answer) | | **Over a day** filter in **Needs you** | Questions open for more than 24 hours | The filters show only when at least one question is that old. | [Answer what needs you](/docs/tickets#clear-only-old-questions) | | **Over 30 days** filter in **Needs you** | Questions open for more than 30 days | Shows only when such questions exist, with a card that suggests **Review them**. | [Answer what needs you](/docs/tickets#clear-only-old-questions) | | **Clear all** for questions in **Needs you** | Shows with 2 or more open questions | For the owner and Administrators only, in the **⋯** menu. | [Answer what needs you](/docs/tickets#clear-only-old-questions) | ### Chat and projects | Item | Value | What happens at the limit | More | | - | - | - | - | | Conversations in a teammate's list | 40 at a time | **Show older conversations** loads 40 more. | [Chat with your teammates](/docs/chat#the-conversation-list) | | Messages in a conversation with one teammate | 200 at a time | **Show earlier replies** loads 200 more. | [Chat with your teammates](/docs/chat#read-messages) | | New replies before a conversation opens at the newest instead of at the first unread | More than 10 | The conversation, in the main window or the notch, opens at the newest reply. | [Chat with your teammates](/docs/chat#open-a-teammates-chat) | | Messages in a group chat | The latest 200. The Squad chat shows the latest 100. | Older messages are not shown. | [Chat with your teammates](/docs/chat#group-chats) | | Group chats in the sidebar | The first 5 | **All group chats** with the number of others shows the rest. **Show fewer** goes back. The open group chat always keeps its row. | [Chat with your teammates](/docs/chat#group-chats) | | **Between teammates** in the sidebar | 8 when you open it. The count stops at 50 and then shows "50+". | **Show** with the number **more** shows the rest. | [Chat with your teammates](/docs/chat#between-teammates) | | Your sent messages that ↑ can bring back in the composer | The last 50 in any conversation, the Squad chat included | Older messages are not offered. | [Chat with your teammates](/docs/chat#keys) | | Conversation name in the header | 80 characters | Longer names are cut to 80 characters when you save. | [Chat with your teammates](/docs/chat#manage-a-conversation) | | Helpers that join one "Asked" line | Each asked within 15 minutes of the one before, by the same teammate, with nothing between them. The teammate is the one that asked the helper. | A later helper, or one after a message, starts a new line. | [Chat with your teammates](/docs/chat#helpers) | | Helper names on one "Asked" line | Up to 3 different names, each once | Helpers whose names are not shown are counted, for example "and 2 more". A helper with no name is always counted, never named. A helper with the same name as a shown one is not counted again. | [Chat with your teammates](/docs/chat#helpers) | | Unsent drafts in the composer | 30 days after you last typed in it, and at most 200 drafts per squad on this Mac | Older drafts are dropped. Past 200, the oldest drafts are dropped. All drafts are dropped when you sign out. | [Chat with your teammates](/docs/chat#drafts) | | Project name | 80 characters | Squad refuses a longer name: "A project's name can be at most 80 characters." | [Group conversations into projects](/docs/chat#make-a-project) | | A project's notes that every teammate reads first | 2,000 characters | Squad refuses longer text: "What a project is about can be at most 2000 characters." | [Group conversations into projects](/docs/chat#read-a-projects-page) | | Open projects in a workspace | 200 | Squad says "You have 200 open projects. Archive one before making another." **Bring Back** is refused with "You have 200 open projects. Archive one before bringing this one back." | [Group conversations into projects](/docs/chat#make-a-project) | | Projects in the sidebar before **All projects** | 5, plus the open one | **All projects** shows the rest. | [Group conversations into projects](/docs/chat#make-a-project) | | Archived projects in the sidebar | 100 at a time | **Show older** loads the next 100. | [Group conversations into projects](/docs/chat#make-a-project) | | Conversations on a project's page | 200 direct conversations and 200 group chats | Older ones are not listed. | [Group conversations into projects](/docs/chat#start-a-conversation-in-a-project) | ### Tasks, email, docs, and contacts | Item | Value | What happens at the limit | More | | - | - | - | - | | Cards in a column on **Tasks** | The first 12, or 5 when the columns stack | **Show all** with the count shows the rest. | [Track work on Tasks](/docs/missions#read-the-board-on-the-mac) | | Finished tasks in **Done** on **Tasks** | 200 at a time | **Load older finished tasks** loads 200 more. | [Track work on Tasks](/docs/missions#read-the-board-on-the-mac) | | **No progress for** mark on a task card | A task in **Working on it**, not ongoing, with no update for more than 2 days | The card shows **No progress for** and the number of days. | [Track work on Tasks](/docs/missions#read-the-board-on-the-mac) | | Rows in **Archived** and **Trash** on **Tasks** | 100 at a time | **Show older tasks** loads 100 more. | [Track work on Tasks](/docs/missions#archive-delete-and-restore-tasks) | | Emails in the list on **Email** | The newest 100, plus every draft and escalation that waits for review, every scheduled send, and the newest 100 unread emails | Older emails are not listed. The unread count, and the unread emails that the list adds, stop at 100. | [Give a teammate an email inbox](/docs/email#on-squad-for-mac-private-beta) | | Docs on **Docs** | 24 at first | **Show more docs** shows 24 more. | [Find and manage your squad's docs](/docs/squad-docs#on-squad-for-mac-private-beta) | | Archived docs on **Docs** | 50 at a time | **Load more** shows 50 more. | [Find and manage your squad's docs](/docs/squad-docs#on-squad-for-mac-private-beta) | | **Search docs** on **Docs** | The first 140 characters of a doc's text, with Markdown marks removed, plus the title, the kind, and the author | Words later in the doc do not match. Search for words in the title instead. | [Find and manage your squad's docs](/docs/squad-docs#on-squad-for-mac-private-beta) | | Contacts in a list on **Contacts** | 50 at first | **Show more** shows 50 more. | [Contacts on Squad for Mac (private beta)](/docs/contacts#on-squad-for-mac-private-beta) | | Leads in one stage of a pipeline on **Contacts** | 50 at first | **Show more in** and the stage's name shows 50 more. | [Contacts on Squad for Mac (private beta)](/docs/contacts#on-squad-for-mac-private-beta) | | Results of **Search people and companies** | 30 | More matches are not listed. Type more of the name. | [Contacts on Squad for Mac (private beta)](/docs/contacts#on-squad-for-mac-private-beta) | | Entries in **What happened** on a contact's page | The newest 20 | **Show earlier** shows 30 more. | [Contacts on Squad for Mac (private beta)](/docs/contacts#on-squad-for-mac-private-beta) | | A follow-up set on the Mac | 9:00 on the day that you pick, in your Mac's time | Not applicable. | [Contacts on Squad for Mac (private beta)](/docs/contacts#on-squad-for-mac-private-beta) | ### Routines, history, and activity | Item | Value | What happens at the limit | More | | - | - | - | - | | **Up next** on **Routines** | The next 4 runs | Not applicable. | [Schedule recurring work with routines](/docs/scheduled#on-squad-for-mac-private-beta) | | **Search routines** on **Routines** | Shows when routines and triggers number more than 12 | Not applicable. | [Schedule recurring work with routines](/docs/scheduled#on-squad-for-mac-private-beta) | | Routines in the **Runs continuously** row of **Routines** > **Week** | The first 30 | A link with the number and **more** switches **Routines** to **List**. | [Schedule recurring work with routines](/docs/scheduled#on-squad-for-mac-private-beta) | | How far back **History** goes | 31 days | Older runs are not shown. | [See what your squad did](/docs/runs-and-health#find-a-run) | | **Schedule** view in **History** | The last 3 days at a time | **Load older runs** moves back 3 days, within the 31 days. | [See what your squad did](/docs/runs-and-health#find-a-run) | | Runs that **History** lists for one day | 2,000 | The earliest runs of that day are not shown, and a notice says so. | [See what your squad did](/docs/runs-and-health#find-a-run) | | Activity on **Activity** | 50 at a time | **Load older activity** loads 50 more. | [See what your squad did](/docs/runs-and-health#follow-activity) | | New rows on **Activity** on the first visit | What happened in the last 4 hours | After that, rows are new since your last visit. | [See what your squad did](/docs/runs-and-health#follow-activity) | ### Teammates and notifications | Item | Value | What happens at the limit | More | | - | - | - | - | | Sections on a teammate's **About** | **Lately**: 6 lines. **Waiting on**: 4. **Tasks**: 5 open tasks. **Routines**: 6. | **See all tasks** and **See all routines** open the full lists. | [Add, change, and pause teammates](/docs/agents#mac-about) | | **How often** for **Check-ins on a timer** | The interval already set for the teammate. With none set, the squad's default check-in interval, or else 30 minutes (1 hour when the squad's Claude account is connected by sign-in). After check-ins were turned off on the Mac, **Every 15 minutes**. | Pick another interval in **How often**. | [Add, change, and pause teammates](/docs/agents#turn-on-check-ins) | | **Deliver the summary at** | 9 AM, 12 PM, 4 PM, or 6 PM. The default is 4 PM. | Held questions arrive as one summary at that time. | [Settings, notifications, and updates](/docs/mac/settings#hold-non-urgent-decisions) | | **Friday recap** | Friday at 5 PM, in your Mac's time | Not applicable. | [Settings, notifications, and updates](/docs/mac/settings#notifications-on-this-mac) | ### The notch, the menu bar, and voice | Item | Value | What happens at the limit | More | | - | - | - | - | | Other squads that the notch counts | 10 | Squads past the first 10 are not counted in the notch, the menu bar, the Dock, or the squad switcher. | [Use the notch and the menu bar](/docs/mac/notch-and-menu-bar#other-squads), [The Dock badge](/docs/mac/settings#the-dock-badge) | | Other squads in the notch's peek | 2 | At most 2 other squads with something for you show in the peek. The others still count in the notch. | [Use the notch and the menu bar](/docs/mac/notch-and-menu-bar#other-squads) | | Asks in the menu bar | The first 4 | Open **Needs you** for the rest. | [Use the notch and the menu bar](/docs/mac/notch-and-menu-bar#the-menu-bar) | | **Snooze until tomorrow** | Until 8:00 the next morning, in your Mac's time | The notch turns back on. | [Use the notch and the menu bar](/docs/mac/notch-and-menu-bar#hide-or-snooze-the-notch) | | Question card that the notch opens | Closes after 9 seconds, or 4 seconds after the pointer leaves | The question still waits in **Needs you**. | [Use the notch and the menu bar](/docs/mac/notch-and-menu-bar#cards-that-the-notch-opens) | | Reply card that the notch opens | Closes after 7 seconds. A late spoken answer, with **Play**, stays 45 seconds, only while the notch is on. Pointing at the card keeps it open. | The reply stays in the chat. A late spoken answer also stays in its notification. | [Use the notch and the menu bar](/docs/mac/notch-and-menu-bar#cards-that-the-notch-opens), [Delegate, talk, and use Siri](/docs/mac/delegate-voice-siri#hear-the-answer) | | Options as buttons on a notch question card | Up to 3 | A decision with more options shows **Open in Squad** and **Later**. | [Use the notch and the menu bar](/docs/mac/notch-and-menu-bar#answer-in-place) | | Question cards that wait for the notch | 5 | The oldest waiting card drops out of the queue. In a meeting or a snooze, later ones are only counted. The questions still wait in **Needs you**. | [Use the notch and the menu bar](/docs/mac/notch-and-menu-bar#cards-that-the-notch-opens) | | Listening after ⌃⌥Space | Stops by itself after 60 seconds | What you said so far is sent. | [Delegate, talk, and use Siri](/docs/mac/delegate-voice-siri#talk-to-your-squad) | | Today's voice conversation | Turns over at 4 AM. A voice conversation used in the last hour continues. | A new voice conversation starts. | [Delegate, talk, and use Siri](/docs/mac/delegate-voice-siri#who-gets-the-message) | | Spoken answer that is read aloud | Arrives within 15 minutes of your question | A later answer is not read aloud. It waits for you to select Play. | [Delegate, talk, and use Siri](/docs/mac/delegate-voice-siri#hear-the-answer) | | Spoken question that waits for its answer | 3 hours | After that, the app stops waiting. The answer is still in the chat. | [Delegate, talk, and use Siri](/docs/mac/delegate-voice-siri#hear-the-answer) | ### Mac access | Item | Value | What happens at the limit | More | | - | - | - | - | | Request that you do not answer | Expires 10 minutes after the teammate asks | The teammate is told that you did not answer, and continues without it. | [Let your teammates use your Mac](/docs/mac/mac-access#when-you-do-not-answer) | | Mac access request at the top of the screen that you do not answer | 40 seconds, or 20 seconds after your pointer leaves it | The request moves to a notification. | [Let your teammates use your Mac](/docs/mac/mac-access#when-you-do-not-answer) | | Approved request that your Mac does not finish | Fails 20 minutes after the teammate asked | The request fails, and the teammate is told that your Mac did not finish it. | [Let your teammates use your Mac](/docs/mac/mac-access#what-teammates-can-ask-for) | | Requests from one teammate | 30 in any 60 minutes | Further requests from that teammate are refused until fewer than 30 of its requests fall in the last 60 minutes. | [Let your teammates use your Mac](/docs/mac/mac-access#what-teammates-can-ask-for) | | Requests waiting for your answer | 20 per workspace | Further requests are refused until you answer some. The teammate is told to wait for those to be answered. | [Let your teammates use your Mac](/docs/mac/mac-access#what-teammates-can-ask-for) | | File that a teammate reads | 19 MB | A larger file is not sent, and the teammate is told that the file is over the limit. | [Let your teammates use your Mac](/docs/mac/mac-access#what-is-never-shared) | | Text file that a teammate writes | 256 KB, counted in UTF-8 bytes | Longer text is refused before it reaches your Mac. The teammate is told to split it into smaller files or share it as a doc. | [Let your teammates use your Mac](/docs/mac/mac-access#what-teammates-can-ask-for) | | Screenshot of your screen | 10 MB | A larger screenshot is not sent. | [Let your teammates use your Mac](/docs/mac/mac-access#what-teammates-can-ask-for) | | Text that comes back in the reply | Up to 256 KB of UTF-8 text | A larger file, or a file that is not text, is saved as a file in the teammate's workspace. | [Let your teammates use your Mac](/docs/mac/mac-access#what-teammates-can-ask-for) | | Folder listing | 200 entries | The listing stops at 200 entries. | [Let your teammates use your Mac](/docs/mac/mac-access#what-teammates-can-ask-for) | | Macs per workspace | 10 | Another Mac is refused until you remove one. | [Let your teammates use your Mac](/docs/mac/mac-access#share-folders) | | Shared folders per Mac in one squad | 100 | Another shared folder is refused until you stop sharing one. | [Let your teammates use your Mac](/docs/mac/mac-access#share-folders) | | Mac counts as connected | Seen by Squad in the last 2 minutes, with **Let your squad use this Mac** on | Teammates usually do not get the Mac request tools until the Mac is connected again, or a request says that your Mac is not connected. | [Let your teammates use your Mac](/docs/mac/mac-access#when-your-mac-is-connected) | | Results of a request | Removed 24 hours after the request finishes | Squad keeps the request's reason and outcome. A file that the teammate saved in its workspace stays there. | [Let your teammates use your Mac](/docs/mac/mac-access#what-happens-to-the-results) | | **Recent requests** on the **Mac access** page | The newest 20 | Older requests are not listed. | [Let your teammates use your Mac](/docs/mac/mac-access#recent-requests) | ## Research tools These caps protect you from a teammate that repeats research calls in a loop. For what each research tool does and costs, see [Research tools reference](/docs/research-tools). | Item | Value | What happens at the limit | More | | - | - | - | - | | Research calls in one teammate session | 25 in 10 minutes | Further calls are refused until the window moves on. | [Research tools](/docs/research-tools) | | Research calls in the squad | 60 per minute | Further calls are refused until the minute moves on. | [Research tools](/docs/research-tools) | | Items in one research result | 50 by default, 500 at most | Some tools set their own default. A teammate can ask for more items, up to 500. **Product Hunt: Launches** returns at most 25, whatever the teammate asks for. | [Research tools](/docs/research-tools) | ## Triggers | Item | Value | What happens at the limit | More | | - | - | - | - | | Size of one webhook request | 256 KB | The request is refused and not stored. The sender gets "The body is larger than 256 KB." | [Triggers](/docs/triggers#add-a-webhook-trigger) | | Events for one trigger | 60 a minute, with bursts of up to 120 | Requests past the limit are refused. The sender gets "Too many events. Slow down and retry." and a time to wait. The trigger's page counts the refused requests of the day. | [Triggers](/docs/triggers#troubleshooting) | | Events for all triggers in a workspace | 300 a minute | Same as above. | [Triggers](/docs/triggers#troubleshooting) | | **Most runs per day** | 100 by default. You can set 1 to 1,000. Counted per day in UTC. | Later events of the day are kept as "Not run: the daily limit was reached". **Run now**, **Retry**, and **Send test event** still run. | [Triggers](/docs/triggers#more-settings) | | Runs of one trigger at the same time | 1 | Events that arrive during a run wait for the next run. | [Triggers](/docs/triggers#what-a-trigger-run-looks-like) | | Events in one run | Up to 25 events. A run takes more events only while their payloads stay within 48,000 bytes in total. | The other waiting events go in the next run. A single event larger than 48,000 bytes runs alone. | [Triggers](/docs/triggers#what-a-trigger-run-looks-like) | | Payload that the teammate gets in the run, for each event | 48,000 characters divided by the number of events in the run, and at least 2,000 | A longer payload is cut, and the teammate is told how to read the rest. | [Triggers](/docs/triggers#what-a-trigger-run-looks-like) | | Tries to wake the teammate | 6, after waits of 1, 5, 15, 30, and 60 minutes | The event shows "Could not wake the teammate" with **Retry**. | [Triggers](/docs/triggers#troubleshooting) | | Wake with no run | 30 minutes | When the teammate was woken but no run started, the event shows "Teammate woken, no run started" with **Retry**. | [Triggers](/docs/triggers#troubleshooting) | | Event history and payloads | 30 days | Older events and their payloads are deleted, and they no longer show on the trigger's page. | [Triggers](/docs/triggers#what-a-trigger-run-looks-like) | | Events listed under **Recent events** | The newest 50 | Older events are not listed. | [Triggers](/docs/triggers#what-a-trigger-run-looks-like) | | Age of a signature (**Stripe**, **Standard Webhooks**) | 5 minutes | The request is refused with "The signature timestamp is too old." | [Triggers](/docs/triggers#troubleshooting) | | "Squad refused a request" note on the trigger's page | Shown for 1 day after the last refusal | Refusals are noted at most once a minute. | [Triggers](/docs/triggers#troubleshooting) | | **Name** | 80 characters | The field accepts no more text. | [Triggers](/docs/triggers#add-a-webhook-trigger) | | **What the teammate does with each event** | 8,000 characters | The field accepts no more text. | [Triggers](/docs/triggers#add-a-webhook-trigger) | | **Only send these fields (optional)** | 20 paths, up to 200 characters each | "Pick at most 20 fields." | [Triggers](/docs/triggers#more-settings) | | Pasted signing secret | 500 characters | "That secret is too long." | [Triggers](/docs/triggers#choose-the-sender) | | Settings of an app event | 8,000 characters | "The event settings are too large." | [Triggers](/docs/triggers#add-an-app-event-trigger) | | **Send the result to a URL (optional)** | 2,048 characters, `https://`, a public host name | "The URL is longer than 2,048 characters." Other addresses are refused with a reason, for example "The URL must start with https\://." | [Triggers](/docs/triggers#get-the-result-back-in-your-app) | | `result` in the callback body | A summary of the teammate's final reply, up to 2,000 characters | A longer reply is cut. | [Triggers](/docs/triggers#get-the-result-back-in-your-app) | | Tries to send the result to your URL | 3, after waits of 1 and 5 minutes. Each try waits up to 10 seconds for an answer. | The event says "The result was not delivered to your callback URL" and the reason. | [Triggers](/docs/triggers#get-the-result-back-in-your-app) | | Suggestions from teammates that wait for approval | 20 in a squad | Teammates cannot suggest more until someone approves or dismisses some. | [Triggers](/docs/triggers#approve-a-trigger-that-a-teammate-suggests) | | An app's event setup that fails because the app did not answer | 3 more tries, after 1, 5, and 30 minutes | The trigger pauses and says why. Turn it on again to retry. | [Triggers](/docs/triggers#troubleshooting) | ## Cloud computer disk | Item | Value | What happens at the limit | More | | - | - | - | - | | Disk check | About every 30 minutes, when no teammate is in the middle of a reply | A busy computer is checked later. | [Your cloud computer's disk is low or full](/docs/agent-stuck#your-cloud-computers-disk-is-low-or-full) | | Low disk | Less than 5 GB free | An amber banner says how much space is left, for example "Your cloud computer has 4 GB of space left.", and the owner gets a bell notification. The banner goes away when at least 6 GB is free. | [Your cloud computer's disk is low or full](/docs/agent-stuck#your-cloud-computers-disk-is-low-or-full) | | Full disk | Less than 1 GB free | A red banner says that the computer is out of space, and the owner gets a bell notification and an email. It stops counting as full when at least 1.5 GB is free. It then counts as low, or as fine when at least 6 GB is free. | [Your cloud computer's disk is low or full](/docs/agent-stuck#your-cloud-computers-disk-is-low-or-full) | | **Hide for a day** | 1 day, in one browser | The low-disk banner shows again at the first new disk reading after the day, within about 6 hours. A full disk cannot be hidden. | [Your cloud computer's disk is low or full](/docs/agent-stuck#your-cloud-computers-disk-is-low-or-full) | ## Notifications | Item | Value | What happens at the limit | More | | - | - | - | - | | Notification emails | 1 per 60 seconds for each person | An email that comes less than 60 seconds after the last one waits and is sent later. After 10 waits, it is not sent. The notification still shows in the bell. | [Choose your notifications](/docs/notifications) | | Weekly email | Mondays at 14:00 UTC | Sent only when the **Email** switch of **Your week, every Monday** is on. | [Choose your notifications](/docs/notifications) | | Notifications in the bell | Newest 8 | The owner's bell lists unread notifications only. Other people's bells also list read ones. **View all** opens **Activity**, with the count when more than 8 are loaded. | [Choose your notifications](/docs/notifications) | | Activity on **Activity** | 50 at a time | **Load older activity** loads 50 more. | [See what your squad did](/docs/runs-and-health#follow-activity) | | New rows on **Activity** on your first visit in a browser | What happened in the last 4 hours | After that, rows are new since your last visit. | [See what your squad did](/docs/runs-and-health#follow-activity) | | Message shown in a mention notification | At most 140 characters, on one line | A longer message is cut and ends with …. | [Mentions in group chats](/docs/notifications#mentions-in-group-chats) | | Updates in **What's new** that count as unread the first time you open Squad | The last 14 days | Older updates count as read. This applies only when your account has no saved reads and the browser has none. | [Get help](/docs/getting-help#see-what-changed-in-squad) | # Delegate, talk, and use Siri Source: https://squad.so/docs/mac/delegate-voice-siri Hand work to your squad from any app with the Delegate panel, talk to your teammates, and use Siri, Shortcuts, Spotlight, and the Services menu in Squad for Mac. Squad for Mac is in private beta. Squad for Mac lets you give your squad work without opening the main window. These ways are Mac only. A Viewer cannot open the Delegate panel or talk to the squad. ## Delegate from any app The Delegate panel opens over the app that you use, like Spotlight. Each job starts a new conversation with the teammate that you pick. Press ⌥Space in any app. In Squad, you can also choose **Delegate…** in the **File** menu (⌘N), in the menu bar panel's **⋯** menu, or in the right-click menu of the peek that opens when you point to the notch. The panel opens on your chief of staff. Select another teammate's face to send the job to that teammate. Type what the teammate should do. Select **Send to** and the teammate's name, or press ⌘Return. The panel says "Sent to" and the teammate's name, then closes. Focus goes back to the app that you were in. You hear from the teammate when it replies. Esc, or a click somewhere else, closes the panel without sending. Pressing ⌥Space again also closes it. A Viewer who presses ⌥Space sees "Your access is view-only, so you can't hand work to the squad." When you are signed out, ⌥Space opens the main window. ### The page that you have open When you open the panel from Safari, Chrome, Arc, Brave, Edge, Vivaldi, or Chromium, the page that you have open goes with the job. A chip shows the page's title and the browser. The teammate gets the page's title and address in your message, not the page's text. Firefox is not supported. To send without it, select the X on the chip (**Leave the page out**). The first time, macOS asks you to allow Squad to control that browser. If you say no, the page is left out. ### Your screen When Squad can see your screen, a picture of the front window of the app that you were in goes with the job. Squad takes the picture once, when you open the panel. Nothing is taken in the background or kept on your Mac. A chip shows the picture and the app's name. The teammate gets the picture as an attached file. To send without it, select the X on the chip (**Leave your screen out**). Until Squad can see your screen, an icon button beside **Send to** and the teammate's name asks macOS for the Screen Recording permission. Its tooltip starts with "Let Squad see your screen." See [Let your teammates use your Mac](/docs/mac/mac-access#permissions-on-your-mac). ## Send selected text with the Services menu In any app, select the text or the link to send. Choose **Send to Squad** in the app's **Services** menu, or in the right-click menu under **Services**. The Delegate panel opens with the text in it. Add what the teammate should do and send it. ## Talk to your squad Hold ⌃⌥Space in any app and speak. The notch shows who gets the message and your words as you speak. Let go of the keys. The message goes out, and the notch says that it was sent. A quick tap of ⌃⌥Space keeps Squad listening until you tap again. Listening also stops by itself after a while. See [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). The first time, macOS asks for access to the microphone and to speech recognition. Squad turns your speech into text on your Mac. A Viewer sees "Your access is view-only, so you can't send messages to the squad." When your language cannot be transcribed on your Mac, Squad says to add it in **System Settings** > **Keyboard** > **Dictation**. ### Who gets the message 1. Start with a teammate's name to send the message to that teammate, for example "Nina, find venues for the launch." Forms such as "Ask Nina to…" and "Hey Nina" work too. The full name, the mention name, or a first name that only one teammate has all work. 2. Without a name, the message goes to the teammate whose chat is open in the main window, but only when the main window is in front. 3. Otherwise, it goes to your chief of staff. When the main window is in front with a conversation with that teammate open, the message goes to that conversation. Otherwise it goes to today's voice conversation with the teammate, or starts one. Say "new topic" or "start over" to start a new conversation. ### Hear the answer With **Hear the answer** on, Squad reads the teammate's reply aloud in that teammate's voice when it arrives soon after your question. The words light up in the notch as they are read. Talking again stops the reading. A later reply is not read aloud. It comes as a notification. While the notch is on, it also shows in the notch with **Play** for a limited time. When the reply comes after a much longer time, Squad stops waiting for it, and the answer is only in the chat. See [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). ### Stay quiet in meetings With **Stay quiet in meetings** on, Squad stays quiet while another app uses your microphone or camera, or while your screen is shared: * Squad does not speak. An answer to a spoken question waits in the notch with **Play**. * Squad plays no sounds. Notifications still show, without sound. * The notch does not open by itself. Questions wait, then come out when the meeting ends. Both switches are in **Settings** > **This Mac** > **General**, where you can also change the shortcut. See [General settings for this Mac](/docs/mac/settings#general-settings-for-this-mac). ## Siri and the Shortcuts app Squad adds these actions to Siri and the Shortcuts app. You can say a phrase to Siri, or use an action in a shortcut. | Action | What it does | Say to Siri | | - | - | - | | **Delegate to Squad** | Hands a job to a teammate and starts a new conversation. Leave the teammate empty to send it to your chief of staff. | "Delegate to Squad", "Ask my Squad" | | **What Needs Me in Squad** | Says how many things wait for you, and the first few. | "What needs me in Squad", "Check Squad" | | **Show What Needs You in Squad** | Opens Squad on **Needs you**. | "Show what needs me in Squad" | | **New Squad Task** | Adds a task to the board, for a teammate that you pick, or your chief of staff. You can set the details and the priority. | "New task in Squad" | | **Make My Squad's Recap Card** | Makes an image of what your squad got done today or this week. | "Make my Squad recap", "Share my Squad day" | ## Spotlight Spotlight finds your teammates, every task in the squad that is not done, and your docs. Open a result to open it in Squad. Squad clears these from Spotlight when you sign out or switch squads. ## Check that it works Press ⌥Space, type a short job, and press ⌘Return. A new conversation with your chief of staff shows in the main window. # Keyboard shortcuts Source: https://squad.so/docs/mac/keyboard-shortcuts Every keyboard shortcut in Squad for Mac, grouped by menu and screen. Squad for Mac is in private beta. Single-letter and number keys on a screen never act while you type in a box. The letters go into the box instead. Most screen keys also do nothing while you hold ⌘, ⌃, or ⌥. Row letters and the **Needs you** keys also work with Caps Lock on. ## App menus | Menu | Command | Shortcut | | - | - | - | | **Squad** | **Settings…** | ⌘, | | **File** | **Delegate…** (not for a Viewer) | ⌘N | | **Edit** | **Find…** | ⌘F | | **Edit** | **Find Next** | ⌘G | | **Edit** | **Find Previous** | ⇧⌘G | | **View** | **Bigger** | ⌘+ or ⌘= | | **View** | **Smaller** | ⌘- | | **View** | **Actual Size** | ⌘0 | | **Go** | **Back** | ⌘\[ | | **Go** | **Forward** | ⌘] | | **Go** | **Search Squad…** | ⌘K | | **Go** | **Next New Reply** | ⌥⌘↓ | | **Go** | **Today** | ⌘1 | | **Go** | **Email** | ⌘2 | | **Go** | **Docs** | ⌘3 | | **Go** | **Contacts** | ⌘4 | ### The Go menu The **Go** menu lists **Today**, then every place of the sidebar that you have, in the order of **More**, whatever you pinned: **Email**, **Docs**, **Contacts**, **Wallet**, **Routines**, **Tasks**, **Activity**, **Skills**, and, for the owner and Administrators, **What your squad knows**. Then it lists **Needs you**, **History**, and, for the owner and Administrators while your squad's computer is on, **Computer**. Only **Today**, **Email**, **Docs**, and **Contacts** have number shortcuts, and they stay the same when you pin other places. Each item brings the main window to the front. **Contacts** and **Wallet** show only when they are available for your squad. **Next New Reply** opens the newest conversation with a reply that you have not seen, across your teammates and group chats. Press it again for the next one. ### Text size **View** > **Bigger**, **Smaller**, and **Actual Size** make the whole window and the menu bar panel bigger or smaller. The notch keeps its size. Squad remembers the size between launches. **Bigger** is off at the largest size, **Smaller** at the smallest, and **Actual Size** at the default size. ## Find ⌘F, or **Edit** > **Find…**, finds in what you look at, as in a web browser: | Where you are | What ⌘F does | | - | - | | A conversation | Opens **Find in this conversation** over it. The first match is the newest, and **Find Next** goes to earlier ones. It searches the messages that are loaded. **Search earlier messages** loads more. | | A doc that you read | Opens **Find in this doc** over it. | | A doc that you edit | Opens the Mac's own find bar over the text. | | An email | Opens **Find in this email** over the thread. It searches the subject, the people, and each email. A match in quoted text opens the quoted text. | | **Tasks**, the **Docs** list, **Skills**, and **Memories** in **What your squad knows** | Puts you in the screen's search box: **Search tasks**, **Search docs**, **Search skills**, or **Search everything your squad remembers…**. | | The **Routines** list | Puts you in **Search routines**, when the list shows it. | | The **Settings** window | Puts you in **Find a setting**. After you select **Add integration** on **Apps** > **Apps**, it puts you in **Search the catalog**. | | Anywhere else in the main window | Opens the command palette (⌘K). | In the find bar: | Key | What it does | | - | - | | Return or ⌘G | Goes to the next match. The up and down buttons do the same. | | Shift-Return or ⇧⌘G | Goes to the previous match. | | Esc | Closes the find bar. **Done** does the same. | The bar shows where you are, for example "3 of 12", or "No matches". Every match is marked, and the current match is marked more strongly. Opening another conversation, doc, or email closes the bar. ## Back and forward Squad keeps a history of the places that you open: a screen and what it has open, for example a conversation, a task, an email, a doc, a project, or a History view. Opening a new place clears **Forward**. Switching squads starts the history over. For how many places Squad keeps, see [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). | Key or gesture | What it does | | - | - | | ⌘\[ and ⌘] | **Go** > **Back** and **Forward**. They also bring the main window to the front. | | ⌘← and ⌘→ | Back and forward, while you are not typing in a box. In a box, they move to the start or the end of the line. While you type in a teammate's browser on your squad's computer, they go to the browser. | | Mouse back and forward buttons | Back and forward. | | Trackpad swipe | Back and forward, with the fingers that your Mac's **Swipe between pages** setting uses. A swipe toward the start of the page goes back. With natural scrolling, that is a swipe to the right. An arrow slides in at the edge and fills when letting go will move. With that setting off, a two-finger swipe does nothing. | ⌘← and ⌘→, the mouse buttons, and the swipe work only in the main window, not in Settings, a sheet, or the notch. When there is nowhere to go, the key or the swipe goes to what is under it. ## The menu bar panel | Key or action | What it does | | - | - | | Click the Squad mark | Opens the panel from any app, or closes it. | | Esc or ⌘Tab | Closes the panel. | | A click anywhere else | Closes the panel. | See [The menu bar](/docs/mac/notch-and-menu-bar#the-menu-bar). ## Global shortcuts These work in any app while Squad runs. Change them in **Settings** > **This Mac** > **General** > **Shortcuts**. | Setting | Default | What it does | | - | - | - | | **Delegate from anywhere** | ⌥Space | Opens the Delegate panel over any app. Press it again to close the panel. Not for a Viewer. | | **Talk to your squad** | ⌃⌥Space | Hold it and speak, then let go to send. A quick tap keeps listening until you tap again. | | **Chat in the notch** | ⌃⌥C | Opens your squad's conversations under the notch. | In the Delegate panel, ⌘↩ sends and Esc closes. See [Delegate, talk, and use Siri](/docs/mac/delegate-voice-siri). ## Command palette | Key | What it does | | - | - | | ⌘K | Opens the palette. | | ↑ and ↓ | Move through the results. | | Tab and Shift-Tab | Move through the results, and wrap around. | | Return | Opens the result. | | Esc | Closes the palette. | See [The command palette on Squad for Mac](/docs/search#search-with-the-command-palette). ## The sidebar On a place in the sidebar, for example **Docs** or **Wallet**, while you point to it or Tab is on it: | Key | What it does | | - | - | | P | **Pin to Sidebar** or **Unpin from Sidebar**. | | Option-↑ and Option-↓ | Move a pinned place up or down among your pinned places, while the pinned place has the keyboard focus (Tab to it). | | U | **Mark All Docs as Read**, on **Docs**, when it has a count. | You can also drag a pinned place to another spot. See [The sidebar on Squad for Mac](/docs/what-squad-is#the-sidebar-on-squad-for-mac). ## Keyboard navigation Tab reaches every control in every Squad window, whatever your Mac's **Keyboard navigation** setting is. The order is the sidebar, then the screen. In a list, Tab goes through every row in reading order, also the rows off screen, then leaves the list. The focus ring shows only after you press Tab. A click hides it. | Key | What it does | | - | - | | Tab | Moves to the next control or row. In a box with more than one line, Tab also moves on. | | Shift-Tab | Moves to the previous control or row. | | Space or Return | Presses the control in focus. | | Option-Tab | Types a tab character in a text box. | Row letters act while you point to the row or Tab is on it. They never act while you type in a box, or in a teammate's browser on your squad's computer. ## Chat | Key | What it does | | - | - | | Return or ⌘Return | Sends the message. With a picker open, Return picks the highlighted row. | | Shift-Return or Option-Return | Adds a new line. | | ⌘⇧A | Opens **Attach**. | | ↑ | At the start of the box, shows your earlier messages. ↓ goes back toward what you typed. | | Tab | Picks the highlighted picker row. | | Esc | Closes the picker. | | ⌘Return and Esc | Send or cancel when you edit a message. | | Return and Esc | Save or cancel when you rename a conversation in its header. | | Double-click | Renames a conversation in a teammate's list, when you can rename it. | | ⌘C | Copies the selected text. | | Esc | Clears a text selection. | Letters on a conversation row, while you point to it or Tab is on it: | Letter | Command | | - | - | | P | **Pin to Sidebar** or **Unpin from Sidebar** (owner only) | | U | **Mark as Read** or **Mark as Unread** | | R | **Rename…** | | F | **Fork Conversation** | | A | **Archive** | A group chat's row has U and R. A letter does only what the row's menu offers you. See [The conversation list](/docs/chat#the-conversation-list). ## A teammate's setup | Key | What it does | | - | - | | ⌘S | **Save changes**. | ## Needs you | Key | What it does | | - | - | | J or ↓ | Moves to the next question. | | K or ↑ | Moves to the previous question. | | A | Approves an approval, or a yes-or-no question. | | 1 to 9 | Picks that option. On a yes-or-no question, 1 approves and 2 declines. | | ⌘Return | Does the main action of the question, for example **Approve**, **I've done this**, **Send answer**, or **Send back to** and the teammate's name. On an email draft, it is **Send now**. | | U | Undoes your last answer. | | Return | Sends your answer in the **Something else…** box. | | Esc | Closes the **Something else…** box. | The keys act on the question with the stronger border. A and the digits do nothing while a resolved question is open, or for a role that cannot answer. See [Needs you on Squad for Mac](/docs/tickets#on-squad-for-mac-private-beta). ## Tasks | Key | What it does | | - | - | | ⌘⇧N | **New task**, on the board. Not for a Viewer. | | ⌘Return, or Return in the title box | Creates the task. | | Esc | Cancels the **New task** sheet and keeps your draft. | | Return and Esc | Save or cancel when you rename a task. | ## Email | Key | What it does | | - | - | | J and K | Open the next or the previous email in the list. | | ⌘F | Finds words in the open email. To find an email, type in **Search email** above the list. | | ⌘⇧N | **New email**. For the owner and Administrators, when the squad has an inbox. | | ⌘Return | **Send** in the compose or reply sheet. | | Esc | **Cancel** in the compose or reply sheet. | See [Tasks on Squad for Mac](/docs/missions#on-squad-for-mac-private-beta) and [Email on Squad for Mac](/docs/email#on-squad-for-mac-private-beta). ## Docs | Key | What it does | | - | - | | Return | Creates the doc after you type its title in **New doc**. | | ⌘S | **Save**, while you edit a doc. | ## Skills | Key | What it does | | - | - | | ⌘S | **Save**, while you edit a skill's instructions. | | Esc | **Cancel**, while you edit a skill's instructions. | See [Edit a skill's instructions](/docs/skills#edit-a-skills-instructions). ## History These keys work while no run is open. | Key | What it does | | - | - | | D | **Day** view. | | W | **Week** view. | | M | **Month** view. | | S | **Schedule** view. | | T | Back to today. | | ← and → | An older or a newer period. Not in **Month**. | | Esc | Closes the run that you opened. | ## Routines and triggers | Key | What it does | | - | - | | ⌘Return | Saves or creates the routine or trigger that you edit. | | Esc | Cancels the routine or trigger editor, or closes a routine's detail sheet. | | Space, Return, or Enter | Opens the calendar chip in focus. | See [Routines on Squad for Mac](/docs/scheduled#on-squad-for-mac-private-beta) and [History on Squad for Mac](/docs/runs-and-health#on-squad-for-mac-private-beta). ## Projects | Key | What it does | | - | - | | X | **Remove from Project**, on the row that you point to or that Tab is on. | | R, A, B, D | **Rename…**, **Archive Project**, **Bring Back**, and **Delete Project…**, on a project's row in the sidebar that you point to or that Tab is on. A letter does only what the row's menu offers you. | | ⌘K | Finds projects and runs **New project**. | See [Group conversations into projects](/docs/chat#group-conversations-into-projects). ## The notch | Key | What it does | | - | - | | ⌃⌥C | Opens **Chat in the notch**. | | Esc | Closes **Chat in the notch** and goes back to your app. | | Esc | Hides the notch's strip or peek, while the pointer is on it, until something new comes in. | | Esc | While the pointer is on the notch, closes the card it shows, or stops a reply that it reads aloud. | With **Close notch cards with Esc from any app** on, Esc in another app also closes a card that the notch opened by itself. Your app still gets the Esc. See [Use the notch and the menu bar](/docs/mac/notch-and-menu-bar). ## Other | Key | Where | What it does | | - | - | - | | ⌘C | **Share your squad's day** | **Copy image**. | | Esc | Most sheets | **Cancel** or **Close**. | | Esc | **Find a setting** in **Settings** | Clears the search. | | Esc | **Pin to the sidebar**, **Share your squad's day**, and **Forget all memories?** | Closes the sheet. | | Return | Sign-in screen | Submits the form. | # Let your teammates use your Mac Source: https://squad.so/docs/mac/mac-access Turn on Mac access in Squad for Mac, answer your teammates' requests for files, the open browser tab, or your screen, and share folders. Squad for Mac is in private beta. With Mac access on, your teammates can ask for things on your own Mac: a file in your Downloads folder, the page that is open in your browser, or a look at your screen. Nothing happens on your Mac until you say yes on the Mac, or until you share a folder for that kind of request. Your Mac is not your squad's computer. Your squad works on [its own computer](/docs/computer) in the cloud. Teammates reach your Mac only through the Squad app, only while it runs with Mac access on, and only with your approval or inside a folder that you share. Mac access is Mac only. The web dashboard has no setting for it. ## Before you start * You are the workspace owner. Only the owner can turn on Mac access and answer its requests. Administrators, Collaborators, and Viewers do not see the **Mac access** page. * The squad is one of your own squads, open in the Squad app. Mac access works only for the squad that is open in the app. ## Turn on Mac access Open **Settings** (⌘,), then **This Mac** > **Mac access**. Turn on **Let your squad use this Mac**. The status line says "Connecting this Mac…", then "On as" and your Mac's name. The switch is off by default, on each Mac. When the line says "Mac access isn't available on your squad yet.", your squad cannot use it yet. When it says "This Mac couldn't connect", the app tries again by itself. To try again now, turn the switch off and on. Turning the switch off removes this Mac from your workspace, together with its shared folders. ```text Ask your chief of staff theme={null} Find the invoice from Acme in my Downloads folder on my Mac and attach it to the dispute. ``` ```text Ask a teammate theme={null} Look at my screen and tell me what this error means. ``` ## What teammates can ask for Each request carries a short reason from the teammate. The card at the notch and the notification show you that reason. **Recent requests** does not show it. | Request | Prompt on your Mac | What happens | What the teammate gets | | - | - | - | - | | List a folder | "See what's in" and the folder | The app lists the folder's files and folders. Hidden files are left out. | The names, sizes, and dates. | | Read a file | "Read" and the file | The app sends a copy of the file. | The text in the reply, for a small text file. Otherwise a copy saved in the teammate's workspace. | | Write a text file | "Save" and the file | The app saves the text as a file. It never replaces a file that exists without your approval of that exact change. | A confirmation. | | Open a web page | "Open" and the site "in your browser" | The page opens in your default browser. Only web pages (http or https) open. | A confirmation. | | Read the open browser tab | "See the page open in your browser" | The app reads which page is open in your browser: in the browser in front, or else the first supported browser that is open. | The page's title, its address, and the browser's name. Not the page's text. | | See your screen | "See your screen" | The app takes a picture of the front window of the app that you use. When Squad is in front, or the app in front has no window, it takes your whole main screen without Squad's windows. | The picture, saved in the teammate's workspace. | The window for **See your screen** is chosen when the request arrives. The prompt names it, and exactly that is captured after you allow it. The browser tab works with Safari and with Chrome, Arc, Brave, Edge, Vivaldi, and Chromium. It does not work with Firefox. For the size limits of files, text, and pictures, see [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). ## Answer a request When a teammate asks for something that no shared folder covers, the request shows at the notch, as a card with "Wants your Mac". When the notch is busy, for example with another request or while you talk, the card waits until the notch is free. When the notch is off, the request comes as a notification titled with the teammate's name and "wants to use your Mac". The card names the teammate, what it wants, the file, folder, or address, and the reason. Choose one of these: * **Allow once**: the app does this one request. When the request would replace a file that exists, the button is **Replace it**, and the card says "This replaces the file that's there." * **Always for** and the folder, for example **Always for Downloads**. In a notification, the button is **Always for this folder**. The app does the request and shares the folder. For a listing, that is the folder itself. For a file, it is the folder that holds the file. A read shares the folder as **Read only**, and a write as **Read and save files**. Later requests inside the folder run without asking. This choice shows only for files and folders, and not when the request replaces a file. * **Deny**: nothing is shared. The teammate is told that you did not approve. After you allow a request, the card says "Sent to" and the teammate's name. When Squad cannot remember the folder, the request still goes through this once, and the card says why. You can also answer from the **Recent requests** list. See [Recent requests](#recent-requests). ### When you do not answer A card at the notch that you do not answer moves to a notification after a short time. Esc on the card also moves it to a notification. Esc is never an answer. A request that you do not answer at all expires. The teammate is told that you did not answer on your Mac. A denied or expired request tells the teammate to continue without it, and not to ask the same thing again in that run. For the times, see [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). ### Requests that always ask These ask you every time, also inside a shared folder: * **See your screen.** Squad never remembers screen access. If Squad cannot see your screen yet, the card says so. Allowing it then asks macOS for the Screen Recording permission, and no picture is taken. The teammate is told to ask again after you turn it on. * **Replacing a file that exists.** Files are replaced only when you approve that exact change. * **Open a web page** and **read the open browser tab.** Shared folders cover only files and folders. ## Share folders A shared folder lets your teammates use it without asking each time. Every other place stays on the default: each request waits for your yes. The **Shared folders** card on the **Mac access** page lists your shared folders. It shows while Mac access is on. Each folder is **Read only** or **Read and save files**. A request to write a file needs **Read and save files**. On the **Mac access** page, open **Share a folder**. Choose **Read only** or **Read and save files**. Pick the folder and select **Share**. The folder shows in the list. To stop sharing a folder, select **Stop sharing** next to it. Choosing **Always for** a folder on a request also adds the folder to this list. * Sharing a folder that is already shared does not add a second row. Sharing a **Read only** folder again with **Read and save files** changes it to **Read and save files**. The other way around leaves it as it is. * Squad refuses to share the whole disk, **Volumes**, **Users**, or a folder that holds your home folder. It says to choose a folder inside it. * A shared folder can also be a project's folder. See [Give a project a folder on your Mac](/docs/mac/project-folders#give-a-project-a-folder). Shared folders belong to one Mac in one squad. For how many folders and Macs you can have, see [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). ## Recent requests The **Recent requests** card on the **Mac access** page shows what teammates asked for and what happened, newest first. It shows while Mac access is on. Each row has the teammate, the request, and how long ago, with a chip: | Chip | Meaning | | - | - | | **Shared** | The request went through. | | **Denied** | You chose **Deny**, or your Mac refused the request by itself, for example for a hidden file. | | **Failed** | The request did not finish. | | **No answer** | Nobody answered in time, so the request expired. | | **Waiting for an answer** | The request waits for you. | | **In progress** | The Mac works on the request. | A request that waits for your answer on this Mac has a dot, **Allow**, and **Deny** on its row, so you can answer it there too. For how many rows the list keeps, see [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). ## What is never shared Your Mac refuses these requests, also inside a folder that you share. You are not asked about them. * Hidden files and folders. * Your Library folder. * Keychains. * System folders. * Anything outside your home folder, unless you share that folder. A file over the size limit is different. Squad asks you about it as about any other file. After you approve, the file is not sent, and the request shows **Failed**. See [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). When you approve a file read at the notch and the file is too large, the card offers **Drop It in the Chat**. It opens the chat with that teammate, with the file attached, so that you can add a note and send it. Approving from a notification or from **Recent requests** does not offer it. ## Permissions on your Mac macOS asks for these permissions the first time Squad needs them. You can change them in **System Settings** > **Privacy & Security**. | Permission | What needs it | Without it | | - | - | - | | **Screen Recording** | **See your screen** requests, and the screen chip in the Delegate panel | No picture is taken. The teammate is told that Screen Recording is off. If you said no before, allowing a request opens the setting. | | **Accessibility** | Only **Close notch cards with Esc from any app** | Esc closes notch cards only while your pointer is on them. | | **Automation**, for each browser | **Read the open browser tab** requests, and the page chip in the Delegate panel | The browser does not share its tab. The request fails, and the teammate is told why. | macOS asks for the browser permission once for each browser. ## Who can use it Only your own work reaches your Mac. The Mac belongs to the workspace owner, and only the owner can connect a Mac and answer its requests. When a teammate works for another person in your squad, Squad refuses its Mac requests. The teammate tells that person that only the owner can ask for something on the owner's Mac. In a squad that you were invited to, Mac access stands down, and it picks up again when you open one of your own squads. See [Invite people to your squad](/docs/teammates). ## When your Mac is connected Your Mac counts as connected while all of this is true: * The Squad app is open on the Mac, and you are signed in. * One of your own squads is open in the app. * **Let your squad use this Mac** is on. Mac access works only for the squad that is open in the app. When you switch to another squad, this Mac stops answering requests from the first squad until you open it again. Each install of Squad has its own id, so two Macs with the same name do not mix. When your Mac is not connected, teammates usually do not have the Mac request tools, or a request says that your Mac is not connected. Either way, the teammate tells you to open the Squad app on your Mac, and continues without it. When the connection drops, the app tries again by itself. When Mac access is turned off from somewhere else, or the squad is reset, this Mac stays off until you turn it on again. Signing out of the app removes this Mac from every squad. ## Touch ID and a locked Mac **Confirm approvals with Touch ID** does not apply to Mac access requests. It covers approvals, decisions, and **Send now** on an email draft. See [Touch ID](/docs/mac/settings#touch-id). The answers in a Mac access notification, **Allow once**, **Always for this folder**, and **Deny**, need your Mac unlocked. ## What happens to the results A picture of your screen, and a file that does not come back as text in the reply, is saved in the teammate's workspace on your squad's computer. Squad removes the result from its own records some time after the request finishes. The request and its outcome stay in **Recent requests**. See [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). In **History** on the web dashboard, turn on **Tools** under **Kind**. Each request then shows as a tool call, and each answer as a second row. The rows do not hold what your Mac sent. ## Check that it works Ask your chief of staff to list your Downloads folder on your Mac. The request shows at the notch. Select **Allow once**. The row shows in **Recent requests** with **Shared**, and your chief of staff replies with the files. # Use the notch and the menu bar Source: https://squad.so/docs/mac/notch-and-menu-bar See who is working, answer questions in place, chat, and snooze Squad from the notch and the menu bar in Squad for Mac. Squad for Mac is in private beta. Squad for Mac lives around the notch at the top of your screen and in the menu bar. Both show who is working and what needs you, so you can answer without opening the main window. On a screen without a notch, Squad draws a small pill in the same place. The notch and the menu bar are Mac only. ## Turn the notch on or off The switch is **Squad in the notch**, in **Settings** > **This Mac** > **General**. It is on by default. With it off, questions and requests to use your Mac come as notifications instead. Select a Mac access notification to answer the request at the notch. A spoken answer still shows at the notch for the moment. See [Settings, notifications, and updates on the Mac](/docs/mac/settings#general-settings-for-this-mac). ## The notch at rest **The notch shows**, in the same settings, chooses what the notch shows while nothing new happens: | Choice | At rest | | - | - | | **Activity** | The default. Beside the notch, in the menu bar, the faces of the teammates who work, the count of what needs you, and a blue dot with the count of conversations with new replies. When a teammate starts, a strip drops under the notch for a moment. | | **Only changes** | Nothing at rest, unless something needs you. The notch speaks up for a moment when a teammate starts, replies, or finishes a task. | | **Only what needs you** | Only questions and requests to use your Mac. Replies and progress wait in the chat. | With any choice, a new question shows under the notch for a moment. Then its count waits beside the notch until you answer. While you share your screen, nothing shows at the notch. The menu bar counts what needs you the same way. The Dock also adds the conversations with new replies into its number. See [What the list holds on the Mac](/docs/tickets#what-the-list-holds-on-the-mac), [What the number counts](/docs/tickets#what-the-number-counts), and [The Dock badge](/docs/mac/settings#the-dock-badge). ## Peek at your squad Point to the notch. After a moment, the peek opens: * the squad's name and how many things need you, or "All quiet", * the teammates who work now, with what they do and for how long. "Nobody is working right now." shows only when nobody works and no reply waits for you. * unread conversations. Select one to open it in the notch chat. A group chat opens in the main window. * your other squads with something for you, when you are in more than one squad. See [Other squads](#other-squads). * **Answer** with the count when only questions wait, or **Open Needs You** when there is also something to fix or a suggested trigger. Both open **Needs you**. * **Open Squad**, which opens the main window. The owner and Administrators see **Stop** on a working teammate's row when they point to it. **Stop** asks first, with **Stop the run** and **Keep going**. See [Stop a run](/docs/runs-and-health#stop-a-run). ## Cards that the notch opens The notch opens a card by itself when something happens. A question card waits its turn while a question, a spoken answer, or your voice is on screen. A Mac access card waits behind a question, your voice, or another Mac access card, and replaces a spoken answer. A spoken answer replaces any card. A reply that arrives while a question, a Mac access card, a spoken answer, or your voice is on screen shows only as a notification. | Card | When | What it has | | - | - | - | | Question | A teammate asks you something, an email waits for your review or your call, or a teammate wants to pay with your card, or to save it at a store | The teammate, the kind of ask, the question, and quick answers. Then **Open**, or **Open in Squad** (**Review the Draft** for an email, **Review and Approve** for a payment) and **Later**. Needs **Questions** on, or **Email that needs you** for an email. A question held by **Hold non-urgent decisions** opens no card. | | Reply | A teammate replies in a conversation that you are not looking at | The reply, with **Open chat** and **Close**. Needs **Replies and mentions** on. | | Finished | A teammate finishes a task | The teammate and the task, for a moment. | | Mac access | A teammate asks to use your Mac | See [Let your teammates use your Mac](/docs/mac/mac-access#answer-a-request). | | Answering | Squad reads an answer aloud | The words light up as they are read. **Stop** and **Open chat**. | A question card plays a sound when **Play a sound when it opens** is on. It closes by itself after a short time, or soon after your pointer leaves it. Pointing at it keeps it open. A card for a question that you answered somewhere else closes by itself. To hand files to your squad, drag them onto the notch. Drop them on a teammate's face to give them to that teammate. The chat opens with the files attached, so that you can add a note before you send. A Viewer cannot do this. ## Answer in place On a question card, you can answer without opening Squad: * A yes-or-no decision shows **Approve** and **Decline**. * A decision with a few options shows one button for each option. * An action shows **I've done this** to the owner. Everyone else sees **Open in Squad** and **Later**. * An approval, an input, an access ask, and a decision with many options show **Open in Squad** and **Later**. * An email draft or an email escalation shows **Review the Draft** and **Later**. * A payment that waits for your approval says **Needs your approval**, with **Review and Approve** and **Later**. **Review and Approve** opens the approval page of your card vault in your browser. See [Approve a purchase](/docs/payment-cards#approve-a-purchase). After you answer, the card says what you chose and that it was sent to the teammate. When the answer does not go through, the card says "That didn't send. Try again, or open it in Squad." A Viewer gets no quick answers. For the full question card, see [Answer a question](/docs/tickets#answer-a-question). ## Chat in the notch Press ⌃⌥C, or click the notch, to open your squad's conversations under the notch. It opens on the teammate with the newest unread reply, else your chief of staff. A conversation with replies that you have not read opens at the first of them, so that you read a long reply from its start. With many new replies, it opens at the newest. See [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). When you open the notch chat again, it starts at what arrived in the meantime. A closed notch chat does not mark replies as read. * The row of faces at the top switches teammates. A dot marks unread replies. * The expand button opens the conversation in the main window. * Esc, the close button, or a click somewhere else closes it. Focus goes back to the app that you were in. While the chat is open, the notch steps aside. Cards that waited come out when you close it. To change the shortcut, see [Settings, notifications, and updates on the Mac](/docs/mac/settings#general-settings-for-this-mac). ## Hide or snooze the notch * **Hide for now** in the right-click menu of the notch, **Hide for Now** in the peek's right-click menu, or Esc on the strip, hides the notch until something new comes in. Something new is a new question, a new reply, a teammate that starts, a new item in another squad, or more to fix. Questions still wait in **Needs you**, and the menu bar still counts them. * **Snooze for 1 hour** and **Snooze until tomorrow** keep Squad quiet: no voice, no sounds, and the notch does not open by itself. A request to use your Mac still shows at the notch while snoozed or in a meeting, without a sound. What waited comes out when the snooze ends. A snooze lasts after you quit Squad. While snoozed, the menu says until when, with **Stop snoozing**. For when tomorrow starts, see [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). The snooze choices are in the right-click menu of the notch, of the peek, and of a reply card, and under **Snooze the notch** in the menu bar panel's **⋯** (**More**) menu. ### The right-click menus | Where | Items | | - | - | | The notch at rest, with something beside it or under it | **Hide for now**, **Open Needs You** when something waits, the snooze choices, and **Notch settings…** | | The peek | **Chat with Your Squad**, **Delegate…** (not for a Viewer), **Hide for Now** when something shows, and the snooze choices | | A working teammate's row in the peek | **Stop** with the teammate's name and **Run**, for example **Stop Nina's Run**. For the owner and Administrators. It stops the run at once, with no confirm step. | A bare notch, with nothing beside it, has no right-click menu. **Notch settings…** opens **Settings** > **This Mac** > **General**. ## Other squads When you are in more than one squad, the notch, the menu bar, and the Dock also count what needs you in your other squads. For each squad, they count what its **Needs you** would list for you, with the same rules for your role there, except a signed-out AI account and routines that cannot run. They also count new replies there, in conversations that you are in (you wrote in them or forked them), while **Replies and mentions** is on. New messages in another squad's group chats and Squad chat count by the same rule as in the open squad, also while that squad is busy or its computer restarts, so the number does not change when you switch squads. Squad counts a set number of other squads. See [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). Beside the notch, the look of each count says where it comes from: | Count | Where | | - | - | | Filled | This squad only. | | Outlined | Your other squads only. | | Filled, with a ring around it | This squad and your other squads. | The notch's tooltip and VoiceOver say the counts in words, for example "3 things need you: 2 here, 1 in Brightline Studio." When the count comes from more than one other squad, the words say "in your other squads". The faces beside the notch are always this squad's teammates. The peek shows a few other squads that have something for you, each with how many things need you, how many are new, and how many teammates work. Select one to switch to that squad. Squad then opens what waits there: **Needs you**, the question, or the conversation. ## Close notch cards with Esc from any app By default, Esc reaches the notch only while your pointer is on an open card. Elsewhere, Esc belongs to the app that you use. With **Close notch cards with Esc from any app** on, Esc in any app closes a card that the notch opened by itself. Your app still gets the Esc too. Esc never answers a card. On a request to use your Mac, Esc moves the request to a notification. On a spoken answer, Esc stops the voice. This setting needs the Accessibility permission for Squad. Turn on Squad in **System Settings** > **Privacy & Security** > **Accessibility**. ## The menu bar The Squad mark sits in the menu bar. Beside it: * a number: everything that needs you, in this squad and your other squads, * a dot when a conversation has an unread reply, * a breathing mark while a teammate works. Click the mark to open the panel. It opens from any app, as Control Center does, and the app that you were in stays in front. You can click and type in the panel. A click anywhere else, Esc, ⌘Tab, or another click on the mark closes it. The panel takes its size when it opens, and grows or shrinks when something arrives while it is open. The panel shows: * The header shows the squad's name and how many things need you, or how many teammates work, or "All quiet". * **Your other squads** lists the other squads with something for you. **Open** switches to one. * **Needs you** shows the first questions as question cards, so you can answer them there, with **Undo** for a short time after. A payment that waits for your approval shows with the urgent questions at the top, with **Review and approve**. Links under them open the rest in **Needs you**: **Answer the other** with the count **in Squad**, the tasks that wait on you, what needs fixing, and the suggested triggers. When nothing waits, it says "Nothing needs you." * **At work** lists the teammates who work now, and what they do. * **Open Squad** opens the main window. The panel's **⋯** menu has **Delegate…** (not for a Viewer), **Share your squad's day…**, **History**, **Snooze the notch**, **Settings…**, and **Quit Squad**. For how many questions the panel shows, see [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). ## Check that it works Point to the notch. The peek opens with your squad's name and who is working. # Get started with Squad for Mac Source: https://squad.so/docs/mac/overview Sign in to Squad for Mac, get past the first screens, switch squads, learn what is the same as the web dashboard and what only the Mac has, and take a short tour. Squad for Mac is in private beta. Squad for Mac is a native app for your squad. It signs in to the same squad as the web dashboard and shows the same live work, with the same screens and the same words. It adds the notch, a menu bar item, a panel to hand out work from any app, voice, notifications on your Mac, and Mac access for your teammates. Your squad keeps working in the cloud while your Mac is closed. See [What is the same as the web](#what-is-the-same-as-the-web). In this tutorial, you sign in, get to your squad, and look at the main parts of the app. ## Before you start * A Mac with Apple silicon. Squad for Mac does not run on a Mac with an Intel processor. * A version of macOS that the app supports. See [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). * A Squad account with an email address and a password. The app has no Google sign-in button. * The app. Squad for Mac is in private beta and is not available to download yet. After you install it, it updates itself. See [Updates](/docs/mac/settings#updates). ## Sign in Open the Squad app. The window shows **Sign in**, with "Welcome back. Your squad is waiting." Type your **Email** and **Password**, then select **Sign in**. Press Return in **Password** to sign in. Your Mac's Password AutoFill can offer your saved squad.so login. The window shows "Opening your squad…". Then **Today** opens, or one of the screens in [What happens on first launch](#what-happens-on-first-launch). To make a new account, next to "New to Squad?", select **Create an account**. Type your email and a password, select **I have read and agree to the Terms of Service**, and select **Create account**. Squad emails you a code. On **Check your email**, type the code. The app submits it when you type the last digit. Select **Send a new code** if the code does not arrive. The password length and how long a code works are on [Limits and defaults](/docs/limits-and-defaults#setup-and-account). If you forgot your password, select **Forgot your password?**, then **Send reset code**. On **Set a new password**, type the code from the email and a new password, then select **Reset password**. ## What happens on first launch After you sign in, Squad checks your account and your squad before it shows the main window. Each check that needs you shows a screen. The screen moves on by itself when the problem is gone. | Screen | When it shows | What to do | | - | - | - | | **Get your squad** | Your email has no Squad subscription, or the subscription ended, is paused, or is not active. | Select **Subscribe**, or **I have an invite link…** if someone invited you. If you paid with a different email, sign out and sign in with that one. | | "This squad is paused" | You were invited to the owner's squad, and it is paused. | Ask the owner to reactivate the squad. Select **Open** and another squad's name to work there in the meantime. | | "You no longer have access to" and the owner's squad | The owner removed you from their squad. | Ask the owner to invite you again, then select **I have an invite link…**. Or select **Get a squad of your own**. | | A locked squad, for example "Your subscription is canceled" or "Your last payment didn't go through" | You are the owner, and the subscription has a problem. | Select the button that the screen shows, for example **Resubscribe**, **Resume subscription**, or **Update payment**. Only the owner sees these buttons. | | **Upgrading your squad** | Squad moves your squad to a better computer. | Wait. The window moves on by itself. | | **Set up your squad** | Your account has no squad yet, or your squad is new and is not set up yet. | Follow [Set up a new squad](#set-up-a-new-squad). | | **Please accept our Terms of Service** | Squad needs you to accept its terms. | Select **I have read and agree to the Terms of Service**, then **Accept and continue**. | For more about these screens, see [Troubleshooting](/docs/mac/troubleshooting). ### Set up a new squad On **Set up your squad**, pick the AI that you already pay for: **ChatGPT** (marked **Recommended**), **Claude**, or **Gemini**. Select **Use another AI** for more choices. Select **I have read and agree to the Terms of Service and Refund Policy**. Select **Launch my squad**. The window shows **Building your squad** and each step as it finishes. Squad asks to send you notifications, if it did not ask before. You can close the window and keep working. When the squad is ready and Squad is not in front, a notification says "Your squad is ready". Squad must still be running, but its window can be closed. If you do not allow notifications, the card says "Your squad is here when you open Squad again." instead. On **Connect your AI account**, sign in to the AI plan that your squad runs on, or paste your key. When the AI needs a command in Terminal, for example `claude setup-token` for Claude Code, the command shows on its own line with a copy button. You can also select **Skip for now; connect later in Settings**. See [Connect your AI](/docs/connect-your-ai). On **Your squad is ready**, select **Chat with** and your chief of staff's name. Your chief of staff walks you through building your squad. Select **Look around first** to open the app without a chat. ### Tips the first time Squad for Mac does not open a tour by itself. It shows each tip once, at the moment it helps: * When you first open a chat: "In a message, type @ to bring in a teammate, # for a task or doc, and / for a skill." * After your first message: a tip that your Delegate shortcut hands over work from any app. * The next time you open a chat: a tip that you can hold your talk shortcut and speak to your squad from anywhere. * In the notch, the first time a teammate starts working: "Point at the notch to see who's working. Click it to chat, or drop files on it." * In the notch, after you allow a Mac access request once: "Share a folder in Settings, Mac access, and your squad can use it without asking each time." * After a meeting: "Squad stayed quiet during your meeting. Right-click the notch to snooze it any time." Tips that show in the notch need the notch to be on. To see everything that the Mac adds to the web dashboard at once, choose **Help** > **What the Mac Adds**. ## Switch squads When you are in more than one squad, you switch between them in the app. Select your squad's name at the top of the sidebar. Under **Your squads**, select the squad. A checkmark marks the squad that is open. A squad that another person shared with you shows **· shared with you** after its name. A squad that is not set up yet shows **· setting up**. Each other squad shows what waits for you there, for example how many things need you and how many replies are new. The whole window reloads for the new squad. Open items, the command palette, and the notch chat close, and **Back** starts over. If Squad cannot open the squad, an alert says "Couldn't switch squads" with the reason. The switcher also has: * **Join a squad with an invite link…**: opens **Join a squad**. Paste the link from your invite email in **Invite link**, select **Check invite**, then **Accept invite**. The invite says which role you join as. See [Invite people to your squad](/docs/teammates). * **New squad team** with its price: starts the checkout for another squad. See [Costs](/docs/costs). Your other squads keep counting in the background. The Dock badge, the menu bar, and the notch include what needs you there. See [Other squads](/docs/mac/notch-and-menu-bar#other-squads). ## What is the same as the web Squad for Mac shows the same squad as the web dashboard, live. **Today**, **Needs you**, **Tasks**, **Email**, **Docs**, **Contacts**, the **Wallet**, **Routines**, **Activity**, **History**, **Computer**, chat, projects, skills, memory, and the **Settings** for your squad work the same, with the same words: a teammate is an AI member of your squad, work is a task, work that repeats is a routine, and what a teammate asks you is a question. The web docs describe them. Where the Mac shows a different label, menu, or gesture, the web page says so in a line that starts with "On Squad for Mac (private beta)". ### Only on the Mac * **The notch and the menu bar**: who is working and what needs you, at the top of your screen, from any app. See [Use the notch and the menu bar](/docs/mac/notch-and-menu-bar). * **Delegate, voice, Siri, Shortcuts, Spotlight, and the Services menu**: hand work to your squad from any app. See [Delegate, talk, and use Siri](/docs/mac/delegate-voice-siri). * **Mac access**: your teammates can ask for files, your browser tab, or your screen on your Mac. See [Let your teammates use your Mac](/docs/mac/mac-access). * **A project's folder** on your Mac. See [Give a project a folder on your Mac](/docs/mac/project-folders). * **This Mac** settings, notifications on this Mac, the Dock badge, Touch ID, updates, and crash reports. See [Settings, notifications, and updates on the Mac](/docs/mac/settings). * **The floating window** for a teammate's browser. See [Watch a teammate's browser in a floating window](#watch-a-teammates-browser-in-a-floating-window). * **Mac keys and menus**: the **Go** menu, ⌘ shortcuts, the find bar, Back and Forward gestures, and text size. See [Keyboard shortcuts](/docs/mac/keyboard-shortcuts). * **Search email**: find an email across every inbox that you can see. See [Email on Squad for Mac (private beta)](/docs/email#on-squad-for-mac-private-beta). * **Other squads** counted in the notch, the menu bar, and the Dock. See [Other squads](/docs/mac/notch-and-menu-bar#other-squads). To see the main ones in the app, choose **Help** > **What the Mac Adds**. ### What is different on the Mac * Sign-in has no Google button. An account that you made with Google has no password, so it cannot sign in to the Mac app. * **Settings** opens in its own window. It has no **Tools** or **Teammates** pages. Open them in the web dashboard. **Animated teammates** is in **This Mac** > **General**, not in **You**. * The Mac has no **Health** page. Open it in the web dashboard. * **Contacts** has no board, and you cannot create a pipeline or change its stages on the Mac. See [Contacts on Squad for Mac (private beta)](/docs/contacts#on-squad-for-mac-private-beta). * **More** in the sidebar starts folded, and a place that is new to the sidebar says **New** for its first month. See [The sidebar on Squad for Mac](/docs/what-squad-is#the-sidebar-on-squad-for-mac). * A conversation with replies that you have not read opens at the first of them. See [Chat with your teammates](/docs/chat#open-a-teammates-chat). * A teammate's email draft or escalated email in chat shows as a card with **Send now** and **Discard**, or **Open in Email** and **Dismiss**. See [Email conversations in chat](/docs/chat#email-conversations-in-chat). ## The window Squad opens its main window when you open the app. Closing the window does not quit Squad, so the menu bar, the notch, and notifications keep working. To open the window again, click Squad in the Dock, or choose **File** > **Open Squad**. To quit, choose **Quit Squad** in the menu bar panel's **⋯** (**More**) menu. * With **Open Squad when you log in** on, Squad starts quietly in the menu bar when you log in. The window shows only if you are signed out. * Squad remembers the window's size and place. * Short messages, for example a confirmation with **Undo**, show at the bottom of the window for a few seconds. * A squad.so dashboard link in a message opens the same place in the app, not in your browser. For the sidebar, see [The sidebar on Squad for Mac](/docs/what-squad-is#the-sidebar-on-squad-for-mac). For the **Go** menu, Back and Forward, find, and text size, see [Keyboard shortcuts](/docs/mac/keyboard-shortcuts). ## Watch a teammate's browser in a floating window The owner and Administrators can watch a teammate's browser on your squad's computer in a small window that stays above your other apps. Your squad's computer must be on. On **Computer**, pick the teammate and select **Float while you work**. Or, in a chat with a teammate, select **Watch** in the header. On the Mac, **Watch** opens the floating window, not the full screen. The window opens at the bottom right of the screen, with that teammate's browser. It stays above your other apps, on every Space and over full-screen apps. Resize it or move it. Point to the window and select the expand button to open the full **Computer** screen in Squad. Close the window to stop watching. One floating window shows at a time. It closes when you switch squads. It is for watching only. To use the mouse and keyboard, open **Computer** and select **Take over**. See [Your squad's computer](/docs/computer#on-squad-for-mac-private-beta). ## Take a short tour 1. Look at the sidebar. **Today** is at the top, then the places that you pinned: at first **Email**, **Docs**, and **Contacts**. **More** holds the other places. Your teammates are under **Your squad**, with your chief of staff first. Your projects, group chats, and pins follow. 2. Select **Today**. It shows who is working, what needs you, and what your squad did today. See [Use Today](/docs/today). 3. Select your chief of staff under **Your squad**. Their chat opens. Type a message and press Return to send it. See [Chat](/docs/chat). 4. Press ⌘K. The command palette opens. Type the name of a teammate, a task, or a screen, and press Return. See [The command palette on Squad for Mac](/docs/search#search-with-the-command-palette). 5. Look at the menu bar at the top of your screen. The Squad mark shows how many things need you. Click it in any app to answer quick questions without opening the window. 6. Press ⌥Space in any other app. The Delegate panel opens on top of it. Press Esc to close it. See [Delegate, talk, and use Siri](/docs/mac/delegate-voice-siri). You now have your squad open on your Mac. ## What to read next Who is working, what needs you, and what your squad did today. Answer everything that waits for you in one place. Conversations, group chats, the composer, and files. Your squad at the top of your screen. This Mac, notifications, Touch ID, and updates. Every shortcut in one place. # Give a project a folder on your Mac Source: https://squad.so/docs/mac/project-folders Link a project to a folder on the owner's Mac in Squad for Mac, so that every teammate in the project can open and save files there. Squad for Mac is in private beta. Projects work the same in Squad for Mac and in the web dashboard. For how to make projects, write their notes, move conversations, and archive or delete projects, see [Group conversations into projects](/docs/chat#group-conversations-into-projects). Only Squad for Mac can give a project a folder, because the folder is on your Mac. Teammates in the project can then open and save files in that folder. ## Before you start * You are the owner. Only the owner can give a project a folder, change it, or remove it. * **Let your squad use this Mac** is on, on this Mac. A project's folder is one of the folders that you share in **Mac access**. See [Let your teammates use your Mac](/docs/mac/mac-access). * The project is open, not archived. An archived project's folder cannot change. ## Give a project a folder On the project's page, open **Pick a folder**. When the project has a folder, the menu is **Change**. Choose one of the shared folders on this Mac. A folder marked "(read only)" is shared as **Read only**. To share a new folder, choose **Share Another Folder…**, choose the folder, and select **Share**. A folder shared this way can be read and written. When it shows in the menu, choose it from **Pick a folder**. The folder line shows the path, the Mac's name, and whether the folder is read and write or read only. **No Folder** in the menu removes the folder from the project. Without a folder, every role sees "No folder yet. Pick one on this Mac and teammates can open and save files in it." In the web dashboard, the page says that the folder is picked in Squad on your Mac. * When Mac access is off and the project has no folder, the page shows **Turn on Mac access to pick a folder**, which opens the setting. * When Mac access is off on this Mac and the project's folder is on another Mac, the menu offers **Turn On Mac Access to Choose Another…**. * When you stop sharing the folder, turn off Mac access, or sign out, the project has no folder. There is nothing to clear by hand. * People other than the owner see "A folder on" and the Mac's name, without the path. * When you delete a project, its folder stays shared on the Mac. ## What teammates can do in the folder Teammates in the project read and write the files in a read-and-write folder without asking each time. In a read-only folder, they read without asking, and a write still asks you first. Replacing a file that exists always asks. Mac requests work only for the owner's own work. See [Who can use it](/docs/mac/mac-access#who-can-use-it). Before each message in a project's conversation, the teammate gets a short block. It names the project, then the notes, when the project has them, then the folder, when it has one: ```text What the teammate reads theme={null} [Project] This conversation is part of the project "Leeds bakery". About it: The owner, Sam, wants a new menu site before the spring launch. Its folder is /Users/sam/Clients/Leeds bakery on Sam's MacBook Pro: read and write the files there with the Mac tools, without asking each time. ``` The teammate gets the folder's full path. For a read-only folder, the last line says to read the files there, and that writing asks first. No files are attached. The teammate reaches the folder through its Mac tools, so the folder works only while your Mac is connected. See [When your Mac is connected](/docs/mac/mac-access#when-your-mac-is-connected). An archived project adds nothing. ## Who can do what with the folder | Action | Owner | Administrator | Collaborator | Viewer | | - | - | - | - | - | | Give the project a folder, change it, or remove it | Yes | No | No | No | | See the folder's path | Yes | No | No | No | | See that the project has a folder, and on which Mac | Yes | Yes | Yes | Yes | ## Check that it works Give a project a folder, then ask a teammate in one of the project's conversations to list the files in the project's folder. The teammate replies with the files, without a Mac access request. # Settings, notifications, and updates on the Mac Source: https://squad.so/docs/mac/settings The parts of Settings that exist only in Squad for Mac: This Mac, notifications on this Mac, the Dock badge, Touch ID, updates, crash reports, and signing out. Squad for Mac is in private beta. The settings for your squad are the same as in the web dashboard. See the [Settings reference](/docs/settings). This page covers only what is different or only on the Mac: the **This Mac** pages, notifications on this Mac, the Dock badge, Touch ID, updates, crash reports, and signing out. ## Open Settings Settings opens in its own window. Open it in any of these ways: * Press ⌘, or choose **Squad** > **Settings…**. * Select the gear at the bottom of the sidebar. * Choose **Settings…** in the menu bar panel's **⋯** (**More**) menu. Press ⌘F to put the cursor in **Find a setting**, and Esc to clear it. On the Mac, the results also list screens of the main window, under **In the main window**, for example **Wallet** when you search for a card. Select one to open it there. ## Settings places only on the Mac | Place | Pages | Owner | Administrator | Collaborator and Viewer | | - | - | - | - | - | | **This Mac** | **General**, **Mac access** | Yes | **General** only | **General** only | | **Notifications** | **On this Mac** (beside **Email and in Squad**, the web's page) | Yes | Yes | Yes | **Email and in Squad** is the same page as **Notifications** in the web dashboard. **This Mac** and **On this Mac** belong to this Mac, not to your squad. **This Mac** > **General**, **Notifications** > **On this Mac**, and **You** work while you are signed out. The other pages need you to sign in. When a link opens a page that your role cannot see, the page says so and tells you to ask the squad owner. For the settings pages that the Mac does not have, see [What is different on the Mac](/docs/mac/overview#what-is-different-on-the-mac). ## Connect an app from the Mac When you connect or reconnect an app in **Settings** > **Apps**, or from a card in chat, the sign-in opens in your browser. It connects the app to the squad that is open in Squad for Mac. When you finish, the browser shows a page that says whether the app connected, with **Back to Squad**, which brings the app to the front where you left it. The same goes for a custom connection that signs in from the Mac. When a teammate asks you in chat to connect an app that is already connected, the card says that the app is already connected, and as which account when Squad knows it. If the teammate needs another account, select **Connect another account**. The card shows **Connected** only for an account that was connected after the teammate asked, or through the card itself. ## General settings for this Mac These are in **Settings** > **This Mac** > **General**. | Card | Setting | What it does | Default | | - | - | - | - | | | **Open Squad when you log in** | Starts Squad when you log in to your Mac. "Keeps the menu bar, the notch and notifications on without opening a window." | As set in macOS | | | **Confirm approvals with Touch ID** | Asks for Touch ID or your Mac's password before some answers and email sends. See [Touch ID](#touch-id). | Off | | **Teammates** | **Animated teammates** | Shows each teammate as a Squad character that shows what they do: a spinning ring while they work, an orange dot when they need you, and closed eyes when paused. Off keeps the faces still. In the web dashboard, this switch is on **Settings** > **You**. | On | | **Updates** | Version, **Check for Updates**, and two switches | See [Updates](#updates). | | | **Shortcuts** | **Delegate from anywhere** | The shortcut that opens the Delegate panel over any app. | ⌥Space | | **Shortcuts** | **Talk to your squad** | The shortcut that you hold to speak to your squad. | ⌃⌥Space | | **Shortcuts** | **Chat in the notch** | The shortcut that opens your squad's conversations under the notch. | ⌃⌥C | | **Shortcuts** | **Hear the answer** | Reads the reply aloud in your teammate's voice when you asked out loud. | On | | **Shortcuts** | **Stay quiet in meetings** | While another app uses your microphone or camera, or your screen is shared, Squad does not speak, chime, or open the notch by itself. When Squad is quiet now, the setting says why. | On | | **The notch** | **Squad in the notch** | Your squad lives around the notch and opens when someone needs you. Questions then skip the banner. | On | | **The notch** | **Play a sound when it opens** | Plays a sound when the notch opens. Shows while **Squad in the notch** is on. | On | | **The notch** | **The notch shows** | What the notch shows at rest: **Activity**, **Only changes**, or **Only what needs you**. Shows while **Squad in the notch** is on. | **Activity** | | **The notch** | **Close notch cards with Esc from any app** | Lets Esc in another app close a card that the notch opened by itself. It needs the Accessibility permission for Squad. Shows while **Squad in the notch** is on. | Off | | | **Share usage and crash reports** | See [Share usage and crash reports](#share-usage-and-crash-reports). | On | If macOS does not allow the login item, a message says "macOS didn't allow that" and why. For the notch and voice settings, see [Use the notch and the menu bar](/docs/mac/notch-and-menu-bar) and [Delegate, talk, and use Siri](/docs/mac/delegate-voice-siri). ## Notifications on this Mac These switches are in **Settings** > **Notifications** > **On this Mac**, and they belong to this Mac. They do not change your squad's email and in-app notifications, which are on the **Email and in Squad** page beside them. See [Choose your notifications](/docs/notifications). | Setting | What it does | Default | | - | - | - | | **Questions** | A notification when a teammate asks you something, or wants to pay with your card, or to save it at a store, and waits for your approval. You can answer yes-or-no questions and short choices from the notification. | On | | **Email that needs you** | A notification when a teammate's email needs your review or your answer. | On | | **Replies and mentions** | A notification when a teammate answers you, when a teammate or a person in your squad mentions you, when a run does not finish, and when a teammate finishes a routine. It also decides whether unread replies count in the Dock, the notch, the menu bar, and your other squads. | On | | **Friday recap** | A quiet reminder on Friday to share your squad's week. It opens **Share your squad's day** on the week. | On | | **Hold non-urgent decisions** | Urgent and high-priority questions still come right away. The others arrive as one summary at the time that you pick. | Off | | **Deliver the summary at** | The time of the summary. Shows while **Hold non-urgent decisions** is on. | See [Limits and defaults](/docs/limits-and-defaults#squad-for-mac) | When notifications are off for Squad in macOS, the page says "Notifications are off for Squad in System Settings, so none of these can reach you." Select **Open System Settings** to turn them on. ### Hold non-urgent decisions A question counts as urgent when its task's priority is urgent or high. Only questions are held. Email items and payments that wait for your approval are never held. The summary is titled with how many decisions wait, and opening it opens **Needs you**. It comes again each day while a held question is open. Turning the setting off delivers the held questions at once. For the times you can pick and the Friday recap time, see [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). ### What a notification lets you do | Notification | Actions | | - | - | | Yes-or-no question | **Approve**, **Decline** | | Question with a few options | One button for each option | | Question that asks you to do something | **I've done this** | | Question that asks for words | **Answer**, with a box to type in | | Approval, access, many options, or a question your role cannot answer | **Review**, which opens **Needs you** | | Email | **Review** | | A payment that waits for your approval: the teammate's name and "needs your approval" | No button. Select the notification to open **Needs you**. | | A teammate's reply | **Reply**, with a box to type in. Not for a Viewer. | | A mention in a group chat | **Reply**, which answers in the group chat. Not for a Viewer. Select the notification to open the group chat. Other mentions have no button. | | Mac access request | **Allow once** and **Deny**, plus **Always for this folder** on a folder request. See [Let your teammates use your Mac](/docs/mac/mac-access). | Each action that changes something needs your Mac to be unlocked. A question that someone answers elsewhere leaves Notification Center. A mention in the group chat that is open in front of you comes without a notification. With **Squad in the notch** on, the notch shows new questions, and their notifications go to Notification Center without a banner. While Squad stays quiet in a meeting, notifications still show, without sound. ## The Dock badge The Squad icon in the Dock shows one number: everything that needs you, in this squad and your other squads, plus the conversations with replies that you have not seen. Replies count only while **Replies and mentions** is on. In conversations with one teammate, only those that you are in (you wrote in them or forked them) count, in this squad and your other squads. Group chats and the Squad chat count every new message. See [Other squads](/docs/mac/notch-and-menu-bar#other-squads). With nothing to count, there is no badge. The menu bar and the notch use the same counts, but they show what needs you and new replies apart. Only the Dock adds them into one number. The badge clears when you sign out. For how many other squads count, see [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). ## Touch ID With **Confirm approvals with Touch ID** on, Squad asks for Touch ID or your Mac's password before it sends: * Your answer to an approval question. * Your answer to a decision question. * An email draft that you send with **Send now**. Other questions, for example the ones that ask for access, an action, or words, do not ask for Touch ID. ## Updates Squad updates itself in the background. The **Updates** card in **This Mac** > **General** has: * Your version, with a status, for example "You're up to date." and when Squad last checked, or that a new version is available or downloaded. * **Check for Updates**, which checks now. When an update is downloaded, the button is **Restart to update**. * **Check for updates automatically**. On by default. * **Download updates automatically**: downloads updates, which install the next time Squad restarts. On by default. It works only while **Check for updates automatically** is on. A check in the background never opens a window over your work. When an update is available, a card in the sidebar says so, with **Update**. When it is downloaded, the card says that Squad is ready, with **Restart to update**. Your squad keeps working while Squad restarts. To check now from the menu, choose **Squad** > **Check for Updates…**. Squad shows the result in its own window. When an update is downloaded, the menu item says **Restart to Update to** and the version. For how often Squad checks, see [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). ## Share usage and crash reports **Share usage and crash reports**, at the bottom of **This Mac** > **General**, sends "Which parts of Squad get used, and what happened when it crashes or stops responding, so we can fix it. Never what you wrote: no messages, emails or files." It is on by default. When Squad crashes or stops responding, macOS gives Squad a report the next time it opens. With the switch on, Squad sends the report to the Squad team after you sign in. With the switch off, Squad keeps no report and sends none. Turning it off drops the reports that wait and stops a send that is under way. If Squad was closed while it was not responding, a message the next time it opens with you signed in says "Squad stopped responding last time, sorry about that." With the switch on, it adds that a report goes to the Squad team, with nothing you wrote. For how many reports Squad keeps, see [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). ## Sign out In **Settings**, select **You**. The page shows your name and email, your **Squad**, and the **Version** of the app. Select **Sign out**. When your Mac is online, Squad ends your session on the server. Then it clears your squad and account from the app, including your drafts, your unsent messages, your delivered notifications, and the Dock badge. Your pins stay on the server. Signing out also removes this Mac from Mac access in every squad. You can also sign out from the screens that show before your squad opens. See [Troubleshoot Squad for Mac](/docs/mac/troubleshooting). ## Mac access **This Mac** > **Mac access** lets your teammates ask for files, your browser tab, and your screen on this Mac. Only the owner sees this page. See [Let your teammates use your Mac](/docs/mac/mac-access). # Troubleshoot Squad for Mac Source: https://squad.so/docs/mac/troubleshooting Fix sign-in problems, the screens before your squad opens, lost connections, missing notifications, Mac access, permissions, crashes, updates, and role limits in Squad for Mac. Squad for Mac is in private beta. Each entry gives the symptom, the cause, and the fix. If your problem is not here, choose **Help** > **Email Support** in the app. ## Sign-in ### "Incorrect password. Please try again." **Cause:** The password does not match the account. **Fix:** Type the password again. If you forgot it, select **Forgot your password?** and follow the steps. See [Get started with Squad for Mac](/docs/mac/overview#sign-in). ### "No account found with this email. Create one first." **Cause:** No Squad account uses this email. **Fix:** Check the email for typing mistakes. To make an account, select **Create an account** under "New to Squad?". ### "That code is wrong or expired. Check the latest email, or send a new code." **Cause:** The code does not match, or it is too old. Only the latest code works. **Fix:** Select **Send a new code** and type the code from the newest email. For how long a code works, see [Limits and defaults](/docs/limits-and-defaults#setup-and-account). ### Sign-in goes to "Check your email" **Cause:** Your account's email is not verified yet. Squad sent a new code. **Fix:** Type the code from the email. ### "Too many attempts. Wait a few minutes, then try again." **Cause:** Squad blocks sign-in for a short time after many tries. **Fix:** Wait a few minutes, then try again. ### "This account signs in with Google, so there is no password to reset." **Cause:** You made your account with Google. It has no password. The Mac app has no Google sign-in button. **Fix:** Choose **Help** > **Email Support** for help with your account. ### "Your session ended. Sign in again to continue." **Cause:** Your sign-in expired or was ended. **Fix:** Sign in again. ### "Squad can't be reached right now. Check your connection, and we'll keep trying." **Cause:** Your Mac cannot reach Squad. **Fix:** Check your internet connection, then sign in again. When you are already signed in and Squad cannot refresh your session, the window shows the reason and tries again on its own. To use another account, select **Sign in with a different account**. ## Before your squad opens These screens show after you sign in. Each moves on by itself when the problem is gone. ### "Squad can't check your squad right now. It keeps trying." **Cause:** A check on your account or squad failed. **Fix:** Wait. Check your internet connection. Squad keeps trying. ### The setup screen opens **Cause:** You signed in with an account that has no squad yet. **Fix:** Squad for Mac opens the setup screen. Set up your squad there. See [Set up a new squad](/docs/mac/overview#set-up-a-new-squad). ### Get your squad **Cause:** The email that you signed in with has no active Squad subscription. The subscription never started, ended, is paused, or is not active. **Fix:** Select **Subscribe**, or subscribe, resume, or renew on squad.so. The window opens by itself when the subscription is active. If you paid with a different email, sign out and sign in with that one. If someone invited you, select **I have an invite link…**. ### "This squad is paused" **Cause:** You were invited to a squad that is locked: its subscription is paused, canceled, or past due, or Squad paused it. **Fix:** Ask the owner to reactivate the squad. Only the owner can. The window opens by itself when they do. To work in another of your squads meanwhile, select **Open** and its name. ### "You no longer have access to" a squad **Cause:** The owner removed you from their squad, or you left it, and you have no squad of your own. **Fix:** Ask the owner to invite you again, then select **I have an invite link…** and paste the new link. Or select **Get a squad of your own**. ### Your squad is locked **Cause:** You are the owner, and the squad's subscription is canceled, paused, or past due, or Squad paused the squad. The screen says "Your subscription is canceled", "Your subscription is paused", "Your last payment didn't go through", or "Your squad is paused". **Fix:** Select the button on the screen: **Resubscribe**, **Resume subscription**, or **Update payment**. When Squad paused your squad, email [support@squad.so](mailto:support@squad.so). Before a canceled squad is deleted, you can select **Export squad data** to keep a copy. With more than one squad, your other squads stay open. See [Billing](/docs/billing). ### "Upgrading your squad" **Cause:** Squad moves your squad to a better computer. Your teammates, conversations, and memory come along. **Fix:** Wait. The window moves on by itself when it is done. ### "Please accept our Terms of Service" **Cause:** Squad needs you to accept its terms to go on. **Fix:** Select **I have read and agree to the Terms of Service**, then **Accept and continue**. ### An invite link does not work | Message | Cause | Fix | | - | - | - | | "This invite was already accepted or withdrawn." | The invite was accepted, or the person who invited you withdrew it. | If you accepted it, the squad is already one of your squads, in the squad switcher. | | "This invite expired." | Invite links work only for a set time. See [Limits and defaults](/docs/limits-and-defaults#people). | Ask the person who invited you to send a new one. | | "This invite link is not valid." | The link is incomplete, or a newer invite replaced it. | Ask for a fresh invite. | | "This invite is for" another email | You are signed in with a different email than the invite. | Sign out and sign in with the invited email. | ## Connection ### The sidebar says "Reconnecting…" **Cause:** The live connection to Squad dropped. The menu bar panel shows **Reconnecting** too. **Fix:** Check your internet connection. Squad reconnects by itself. Your squad keeps working in the cloud meanwhile. ### "The connection dropped before Squad heard back, so this may have gone through. Check before trying again." **Cause:** The connection dropped while Squad sent your change. **Fix:** Look whether the change is there before you do it again. ### "Couldn't switch squads" **Cause:** The squad cannot be opened from this account, or the switch failed. **Fix:** Read the reason in the alert. Check that you signed in with the account that is in that squad. ## Notifications ### Notifications do not arrive Check these causes in order: 1. **Notifications are off in macOS.** **Settings** > **Notifications** > **On this Mac** says "Notifications are off for Squad in System Settings, so none of these can reach you." Select **Open System Settings** and allow notifications for Squad. 2. **The switch is off.** Turn on **Questions**, **Email that needs you**, or **Replies and mentions** in **On this Mac**. 3. **Squad holds the question.** With **Hold non-urgent decisions** on, only urgent and high-priority questions come right away. The others arrive in one summary. 4. **The notch shows it instead.** With **Squad in the notch** on, a new question opens the notch and goes to Notification Center without a banner. 5. **Squad is quiet.** During a meeting with **Stay quiet in meetings** on, or while the notch is snoozed, notifications show without sound, and the notch does not open by itself. 6. **Squad was not open.** When Squad opens, it shows banners only for recent questions. Older ones wait in **Needs you**. See [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). 7. **You are looking at it.** Squad does not notify you about the conversation that is open on your screen. 8. **Someone answered it already.** A question answered on the web or on another Mac leaves Notification Center. See [Settings, notifications, and updates](/docs/mac/settings#notifications-on-this-mac). ### Unread replies do not count in the Dock or the menu bar **Cause:** **Replies and mentions** is off. With it off, replies count nowhere, also not for your other squads. **Fix:** Turn on **Replies and mentions** in **Settings** > **Notifications** > **On this Mac**. ### A notification button does not work **Cause:** Actions that change something need your Mac to be unlocked. **Fix:** Unlock your Mac and try again. If an answer fails, **Needs you** opens so that you can answer there. If a reply to a mention in a group chat fails, a message says "Your reply wasn't sent" with the reason, and the group chat opens with your words in the box. ## Mac access and permissions ### Mac access is not connected **Cause and fix:** Look at the status line under **Let your squad use this Mac** in **Settings** > **This Mac** > **Mac access**. | Status | Cause | Fix | | - | - | - | | "Connecting this Mac…" | Squad is connecting. | Wait. | | "Mac access isn't available on your squad yet." | Your squad's server does not have Mac access yet. | Squad tries again by itself. | | "This Mac couldn't connect" and a reason | The connection failed. | Squad tries again by itself. To try now, turn the switch off and on again. | | The page is missing | Mac access works only in a squad that you own. | Open one of your own squads. | Your Mac counts as connected only while Squad is open on it, signed in, with one of your own squads open and the switch on. In a squad that you were invited to, Mac access is off until you open one of your own squads. See [Mac access](/docs/mac/mac-access). ### Delegate does not send your screen, or a screen request fails **Cause:** Squad does not have the Screen Recording permission. **Fix:** In the Delegate panel, select the screen button beside **Send to** and the teammate's name. Its tooltip starts with "Let Squad see your screen." Or turn on Squad in **System Settings** > **Privacy & Security** > **Screen Recording**. The teammate is told that Screen Recording is off and can ask again after you turn it on. ### Delegate does not bring the browser page **Cause:** macOS did not allow Squad to read the browser, or the browser is not supported. Firefox is not supported. **Fix:** Allow Squad for that browser in **System Settings** > **Privacy & Security** > **Automation**. See [Delegate, talk, and use Siri](/docs/mac/delegate-voice-siri). ### Esc does not close notch cards from another app **Cause:** **Close notch cards with Esc from any app** needs the Accessibility permission. The setting says "Squad needs the Accessibility permission to see Esc in other apps." **Fix:** Turn on Squad in **System Settings** > **Privacy & Security** > **Accessibility**. ### Talking to your squad does not work | Message | Fix | | - | - | | "Squad needs the microphone and speech recognition. Allow both in System Settings > Privacy & Security." | Allow both for Squad in **System Settings** > **Privacy & Security**. | | "This Mac can't transcribe your language on-device yet." | Add your language in **System Settings** > **Keyboard** > **Dictation**, then try again. | | "No microphone is available." | Connect a microphone. | | "Didn't catch that. Hold the shortcut and try again." | Hold the shortcut while you speak. | | "Your access is view-only, so you can't send messages to the squad." | You are a Viewer. See [A Viewer cannot send](#a-viewer-cannot-send). | ## App problems ### "Squad stopped responding last time, sorry about that." **Cause:** Squad froze the last time it ran, and it was closed while it did not respond. **Fix:** Nothing to do. With **Share usage and crash reports** on, Squad sends a report to the Squad team, with nothing that you wrote. If it happens again, choose **Help** > **Email Support**. See [Share usage and crash reports](/docs/mac/settings#share-usage-and-crash-reports). ### Updates do not install | What you see | Cause | Fix | | - | - | - | | "Squad hasn't checked for updates yet." | Squad has not checked yet. | Select **Check for Updates**. | | "Couldn't check for updates" and a reason | The check failed. | Check your connection, then select **Check for Updates** again. | | "Squad" and the version "is downloaded. Restart to finish updating." | The update waits for a restart. | Select **Restart to update**. | | No new updates come | **Check for updates automatically** is off. | Turn it on in **Settings** > **This Mac** > **General** > **Updates**. | | "This is a development build. Updates come with the app downloaded from squad.so." | This copy of Squad is not a release build. **Check for Updates…** is off. | Use the app downloaded from squad.so, as the message says. | See [Updates](/docs/mac/settings#updates). ### The window is gone, but Squad still runs **Cause:** By design. Closing the window does not quit Squad, so the menu bar, the notch, and notifications keep working. **Fix:** Click Squad in the Dock, or choose **Open Squad** in the menu bar panel. To quit, choose **Quit Squad** in the menu bar panel's **⋯** (**More**) menu. ### Back does not go to the squad you left **Cause:** By design. Switching squads starts the **Back** history over. **Fix:** Switch back with the squad switcher. ### A place is missing from the sidebar **Cause:** By design. The sidebar shows **Today** and the places that you pinned. The other places are under **More**, which starts folded. **Contacts** and **Wallet** show only when they are available for your squad, and **What your squad knows** only for the owner and Administrators. **Fix:** Select **More**, then select the place, or press P on it to pin it. You can also open it from the **Go** menu or with ⌘K. See [The sidebar on Squad for Mac](/docs/what-squad-is#the-sidebar-on-squad-for-mac). ### "Couldn’t update your sidebar. Try again in a moment." **Cause:** A pin, an unpin, or a move of a place did not save. The sidebar keeps the order that Squad saved last. **Fix:** Pin or move the place again. ## Roles and access ### A Viewer cannot send **Cause:** A Viewer's access is read-only. The composer says "Your access is view-only, so you can read this conversation but not send messages." Other actions say "Your access is view-only, so you can't change anything in this squad." **Fix:** Ask the owner to make you a Collaborator. See [Change a person's role](/docs/teammates#change-a-persons-role). ### "Only the squad owner or an Administrator can do that." **Cause:** The action needs the owner or an Administrator. The message names your role. **Fix:** Ask the owner or an Administrator. For owner-only actions, the message is "Only the squad owner can do that." ### "This chat is not available" **Cause:** The owner or an Administrator limited you to some teammates, and this teammate is not shared with you. **Fix:** Ask the owner or an Administrator to share the teammate with you. See [Limit a person to some teammates](/docs/teammates#limit-a-person-to-some-teammates). ## Chat and squad problems ### "Group chats aren't available for this squad right now." **Cause:** Your squad cannot run group chats yet. It is not on the live chat channel, or the Squad tools on your squad's computer are too old for group chats. **Fix:** Wait and try again. Until then, a banner in the Squad chat says "Your teammates see new messages here the next time they work, not at once." ### "Your squad isn’t answering right now" **Cause:** Your squad has group chats, but its computer has not checked in with Squad for a while, or it restarted and has not checked in yet. Your group chats stay in the sidebar, and a line in the Squad chat says "Your squad isn’t answering right now, so new messages can’t reach your teammates. Try again in a few minutes." A message that you send there shows "Not sent" with "Your squad isn’t answering right now, so this message didn’t reach your teammates. Try again in a few minutes." **Add teammates** in a new conversation says "Your squad isn’t answering right now, so a group chat can’t start. Try again in a few minutes." **Fix:** Wait a few minutes, then select **Retry** on the message. If it lasts, see [Still stuck](/docs/agent-stuck#still-stuck). ### A teammate's reply failed with "Your AI connection expired." **Cause:** The sign-in to your squad's AI expired. A banner may also say "Your ChatGPT sign-in expired. Your squad can't work until you reconnect it." **Fix:** As the owner or an Administrator, select **Reconnect**, which opens **Settings** > **AI**. Other roles must ask the owner or an Administrator. See [Connect your AI](/docs/connect-your-ai). ### "This conversation is too long for" a teammate's model **Cause:** The conversation grew too long for the model that the teammate uses. Sending the same message again sends the same long conversation. **Fix:** Select **Start a new conversation** under the failed reply. A new conversation with the teammate opens, with your message in the box (if the box is empty, paste your message). Send it. Or pick a model that reads more at once, then select **Retry**. In a group chat, start a new conversation yourself. See [Choose models and manage AI accounts](/docs/ai-accounts). ### The composer says a teammate is paused **Cause:** The teammate is paused, so it cannot take messages. **Fix:** As the owner or an Administrator, select **Resume** and the teammate's name. See [Pause a teammate](/docs/agents#pause-a-teammate). ### "Couldn't upload" a file **Cause:** The upload failed. Your other files still attach. **Fix:** Attach the file again. ### A banner says your last payment failed, or your subscription ends **Cause:** The squad's payment failed, or the subscription is canceled and ends on a date. **Fix:** As the owner, select **Update payment**, **Keep My Subscription**, or **Billing**. Other roles must ask the owner. See [Billing](/docs/billing). ### Today says your squad's computer is low on disk or full **Cause:** The disk on your squad's computer is filling up. When it is full, your teammates can stop working. **Fix:** Select **Ask** and your chief of staff's name **to free up space**, then send the request. See [Your cloud computer's disk is low or full](/docs/agent-stuck#your-cloud-computers-disk-is-low-or-full). # Manage what your squad remembers Source: https://squad.so/docs/memory Edit the files your teammates read, choose how memory works, and review, correct, or clear the facts your squad has saved. Your squad remembers things in two ways: * **Files** that you and your teammates write. Some files load at the start of every run. Others are read when the work needs them. * **Memories**: short facts that your squad learns from its work, and facts that your teammates save on purpose. All teammates share one set of memories, and teammates look them up by meaning. You manage both on the **Memory** screen. To open it, select **What your squad knows** in the sidebar (under **More** unless you pinned it), select **What** and the teammate's name **knows** at the bottom of a teammate's **About** page, or press ⌘K (Ctrl+K on Windows) and select **What your squad knows**. Memory is no longer in **Settings**. On a phone, the account menu in the top row also has **Memory**. The owner and Administrators can open the **Memory** screen. Collaborators and Viewers cannot. An Administrator who can see only some teammates can open the files of those teammates, but cannot list, search, edit, or forget memories. On Squad for Mac (private beta), the screen is called **What your squad knows**. See [Memory on Squad for Mac (private beta)](#memory-on-squad-for-mac-private-beta). ## What is on the Memory screen The left panel lists every file and the memories. On a narrow screen, the panel shows as rows of buttons above the editor. | Entry | What it is | Shared or per teammate | When teammates read it | File on your squad's computer | | - | - | - | - | - | | **About you** | What your squad knows about you and your business: preferences, context, how you like things done. | Shared. It is kept with your chief of staff. | At the start of every run | `~/clawd/USER.md` | | **Memories** | The facts your squad learned from its work, and the facts your teammates saved. | Shared | Before each request, the ones that bear on it, while **Recall before each turn** is on. See [How your squad learns](#how-your-squad-learns). Also when a teammate looks something up. | Not a file | | **Company** (under **Squad files**) | What your business is and does: the product, the customers, the goals. | Shared | When the work touches your business | `~/clawd/context/COMPANY.md` | | **Contacts** | Key people: names, roles, how to reach them. | Shared | When the work involves a person | `~/clawd/context/CONTACTS.md` | | **Glossary** | Terms, names, and shorthand that your business uses. | Shared | When the work needs it | `~/clawd/context/GLOSSARY.md` | | **Squad** | Who is on the squad and what each teammate owns. Teammates use it to route work to the right teammate. | Shared | When the work needs it | `~/clawd/context/SQUAD.md` | | **Voice** | How your squad writes: tone, style, words to use and avoid. | Shared | Before the teammate writes anything customer-facing | `~/clawd/context/VOICE.md` | | **Notes** (under a teammate in **Teammates**) | The teammate's own long-term notes. | Per teammate | At the start of every run. A routine's run may not load it. | `MEMORY.md` in the teammate's workspace | | **Personality** | The teammate's voice, values, and how it carries itself. | Per teammate | At the start of every run | `SOUL.md` in the teammate's workspace | | **Identity** | The teammate's name, its vibe, and how it presents itself. | Per teammate | At the start of every run | `IDENTITY.md` in the teammate's workspace | To see a teammate's **Notes**, **Personality**, and **Identity**, select the teammate's name under **Teammates**. The three files show under the name. The file names help when you ask a teammate to change a file in chat. **About you** and the squad files are one copy for the whole squad. Facts about you go in **About you**. Facts about your business go in the squad files. Facts that one teammate must never lose go in its **Notes**. Memory may learn other lasting facts on its own. To be sure that it keeps a fact, tell a teammate "remember that ..." in chat. While **Squad memory** is off, Squad refuses the save and points the teammate to these files instead. To keep the fact, ask the teammate to add it to one of them. ## How your squad learns Your squad's memory works on its own, while its switches are on (see [Turn memory on or off](#turn-memory-on-or-off)): * **Before each request**, memory finds what it holds about the request and gives it to the teammate before the teammate starts. The teammate sees how old each memory is. At the start of a conversation, it also gets the standing facts about you and your business. * **After each turn**, memory learns from what the teammate was asked and what it answered. This covers chats, tasks, routines, and heartbeats, from every person in the squad. * Memory does not learn from work that starts with an email to a teammate's inbox or with a trigger's event, or from a helper that such work starts. Text that people outside your squad wrote does not become a memory this way. The teammate still gets memories before it works on that email or event. This also works for a teammate on a Claude Code account. Memory is set to keep lasting facts: about people, your business, and your customers, stated preferences and standing rules ("always ...", "never ..."), decisions, ongoing projects, and anything that someone asks it to remember. It is set to skip one-time requests, work in progress, and what the teammate searched or ran. A run that failed teaches it nothing. What memory learned in one conversation can come up in another conversation, and for another teammate. Facts that memory learned show in **Memories** like the facts that teammates saved. To remove a fact, use **Forget**. See [Review and correct memories](#review-and-correct-memories). To stop the learning or the recall, see [Turn memory on or off](#turn-memory-on-or-off). For the numbers, see [Limits and defaults](/docs/limits-and-defaults#memory). ## Turn memory on or off Three switches are at the top of **Memories**. All three are on until someone changes them. | Switch | When it is on | When it is off | | - | - | - | | **Squad memory** | "Your teammates share one long-term memory. What one teammate learns, the others can recall." | Teammates do not get memories before a request, memory learns nothing, and the teammates' memory tools tell them that memory is off. The tools then point the teammate to the files on the **Memory** screen for lasting facts. The memories that memory already holds stay. You can still edit and forget them on the **Memory** screen. | | **Recall before each turn** | Before a teammate works on a message or a task, the memories that match it are put in front of the teammate. | Teammates get no memories before a request. They can still search memory on purpose. | | **Learn from finished work** | After a teammate finishes, memory keeps the lasting facts from the turn. Work that starts from an outside email or a trigger, and the helper work that it starts, is never learned from. | Memory learns nothing on its own. Teammates can still save memories on purpose. | **Recall before each turn** and **Learn from finished work** show only while **Squad memory** is on. Open the **Memory** screen and select **Memories**. Select the switch. It shows that it is working while Squad saves, then shows the setting that Squad saved. The change applies from each teammate's next turn. Nothing restarts. Only you and the Administrators who can see every teammate can change the switches. An Administrator who is limited to some teammates sees them with the note "You can see these settings, but your role cannot change them." If a change does not save, the card shows why, or "The change was not saved. Try again in a moment." If the switches do not load, the card shows "The memory settings did not load." with **Try again**. ## Edit a file Open the **Memory** screen. Select the file in the left panel. Edit the text in **Write** mode. Select **Preview** to see it formatted. In the bar at the bottom, select **Save changes**. The bar shows **Saving to the workspace…** while it saves, then the editor shows **Saved**. The teammate reads the new version from its next turn. Your squad's computer does not restart. **Reset** in the bar throws away your unsaved changes. An empty file shows a hint in the editor, for example "No notes yet. Whatever you write here loads into this teammate's every run." **Preview** shows **Nothing to preview yet.** If you switch to another file or teammate with unsaved changes, the dashboard asks: "You have unsaved changes to this file. Discard them?" ### Have a teammate make the change Select **Ask** followed by the teammate's name and **to update this**. A chat with that teammate opens. The message box already starts with a request that names the file, for example "Please update your notes file (MEMORY.md in your workspace). Here is what I want changed: ". Finish the sentence and send it. For **About you** and the squad files, the chat opens with your chief of staff. ## Stay within the load budget **About you**, **Notes**, **Personality**, and **Identity** load at the start of every run, so each one has a load budget. The editor shows a load meter with the number of characters and the budget, for example "12,480 / 20,000". The default budget is 20,000 characters for each file. See [Limits and defaults](/docs/limits-and-defaults). When a file is over its budget, the teammate gets only the first part and the last part of the file. The middle part is skipped at every run. With the default budget, the teammate gets the first 14,000 and the last 4,000 characters. * The editor shows a message with the exact numbers: "Over the load budget: only the first … and last … characters reach the teammate." * **Select the skipped part** selects the skipped characters in the editor. * The meter shows the skipped part in a lighter color. * In **Preview**, the skipped part is marked **Skipped at every run: these … characters never reach the teammate.** Put the most important lines first, and trim the file until it fits. The squad files (**Company**, **Contacts**, **Glossary**, **Squad**, **Voice**) have no load budget and no meter, because teammates read them only when the work needs them. File size limits: * The editor shows the first 400,000 characters of a very large file, with the message "This file is very large, so the editor shows the first 400,000 characters only." If you save, the file keeps only what you see. * Squad refuses to save a file that is over 800,000 characters. ## Know what a routine's run reads A routine's run starts with less context than a chat. It loads **About you**, **Personality**, and **Identity**, and memory gives it what it holds about the task, while **Recall before each turn** is on. Depending on the model, it may not load the teammate's **Notes**, so do not rely on **Notes** in routines. Put everything that a routine's run needs into the instructions of the routine, or name the doc that the teammate must read. See [Schedule recurring work](/docs/scheduled). ## Review and correct memories Select **Memories** in the left panel. The list is under **Recently learned**, with the number of memories at the top right, for example "48 memories total". Each memory shows: * the fact * a tag: **Memory** for a fact about your work, or **Squad ops** for a note about how the squad runs, such as a version or a file name * **learned by your squad**, because memories do not record which teammate saved them * when it was saved. A fact that was forgotten, or that a newer version replaced, does not show in the list. **Edit** and **Forget** show when you point at a memory. On a narrow screen they always show. Open the **Memory** screen and select **Memories**. To correct a fact, select **Edit**, change the text, and select **Save**. **Cancel** keeps the old text. To delete one fact, select **Forget**, then select **Really forget?**. Some memories have no **Edit** button. This happens when one saved item holds several facts, for example the facts that memory learned from one conversation. You can still **Forget** each fact. Teammates use the corrected facts from their next run. ### Search memories 1. Type in **Search everything your squad remembers…**. 2. Select **Search** or press Enter. Matching is by meaning, not by spelling. Results include the facts that your squad learned or teammates saved, and passages from the conversations and notes they came from. Each result shows the tag **Match**. Search results are read-only: they have no **Edit** or **Forget** button. To change a fact that you found, select **Clear** and find it in the full list. When nothing matches, the screen shows **No matches**. ## Clear all memories This deletes every memory your squad has saved, including older ones that the list does not show. You cannot undo it. 1. On **Memories**, select **Forget all…**. 2. In **Forget all memories?**, select **Forget everything**. Your files are not changed: **About you**, the squad files, and each teammate's **Notes**, **Personality**, and **Identity** stay as they are. Memory starts to learn again from the next request, while **Squad memory** and **Learn from finished work** are both on. Only you and the Administrators who can see every teammate can clear all memories. While **Squad memory** is on, teammates can save, search, and forget single memories, but Squad refuses a request from a teammate to clear them all. ## Memory on Squad for Mac (private beta) Memory works the same way on the Mac, with these differences: * The screen is **What your squad knows**. Open it with **Go** > **What your squad knows**, or with the link at the end of a teammate's file list. It lists **About you**, **Company**, **Contacts**, **Glossary**, **Squad**, and **Voice**, then **Memories**. * **What** and the name **knows** on a teammate's **About** opens that teammate's own files: **Notes**, **Personality**, and **Identity**. * A file opens in **Read**, which shows it formatted. Select **Edit** to change it, then save in the save bar. * When **Notes**, **Personality**, **Identity**, or **About you** is over its load budget, a warning says that its middle is skipped, with **Show what's skipped**. * The second switch is called **Recall before each piece of work**. * To clear all memories, open the **…** menu (**More actions for these memories**) on **Memories** and choose **Forget Everything…**, then **Forget everything**. * Collaborators and Viewers see "What your squad knows is kept by its owner and Administrators." ## Seed the facts that matter most ```text Ask your chief of staff theme={null} Remember these facts permanently: [3 to 5 facts that teammates keep getting wrong or asking about, such as pricing floors, key people, hard rules, tone]. Tell me in one line each where you stored each fact. ``` ## Check that it works * After you save a file, the editor shows **Saved**. * A corrected fact shows its new text in **Memories**. * After **Forget everything**, **Memories** shows **No memories yet**. ## Troubleshooting **The Memory screen shows "Couldn't read the notes".** Cause: your squad's computer did not answer. Fix: select **Try again**. If a teammate was just created, wait a minute, because a new teammate can take a short time to be ready. **The Memory screen shows "No teammates yet".** Cause: your squad is not set up yet. Fix: finish setup. Each teammate's files show here after the teammate exists. **A teammate ignores a line in its Notes.** Cause: the file is over its load budget and the line is in the skipped middle, or the run was a routine's run, which may not load **Notes**. Fix: move the line near the top and trim the file. For routines, put the fact in the routine's instructions. **The save fails with "That's over 800k characters".** Cause: the file is larger than Squad saves. Fix: trim the file, then save again. **A memory has no Edit button.** Cause: it is part of a saved item that holds several facts, or it is a search result. Fix: select **Forget** and tell a teammate the corrected fact, or clear the search and find the memory in the full list. ## Common questions No. Memories are shared by the whole squad. The **Memory** screen does not show which teammate saved or learned a memory. Each one shows **learned by your squad**. No. The name in the dashboard comes from the teammate's record. See [Add, change, and pause teammates](/docs/agents#rename-a-teammate-or-change-their-handle). Yes, for each conversation. A teammate remembers a conversation for as long as it goes on, and conversations do not reset on their own. In another conversation, it has only what is in its files and what the squad's memory learned or was told to save. See [How a teammate remembers a conversation](/docs/chat#how-a-teammate-remembers-a-conversation) and [How your squad learns](#how-your-squad-learns). Not from one chat alone. **Learn from finished work** stops the learning for the whole squad, and **Squad memory** turns memory off. See [Turn memory on or off](#turn-memory-on-or-off). Memory is set to keep only lasting facts. To remove a fact that it learned, select **Forget** on the fact in **Memories**, or ask a teammate to forget it. No. Memory does not learn from work that starts with an email to a teammate's inbox or with a trigger's event. A teammate can still save a fact from that work on purpose. See [How your squad learns](#how-your-squad-learns). No. The teammate reads the new file from its next turn. # Track work on Tasks Source: https://squad.so/docs/missions Read the Tasks board, filter it, steer a task with comments, ask for an update, and archive, restore, or delete tasks. A task is one piece of work that a teammate owns. **Tasks** is the board with every task in your squad, from the moment it is created until it is done. To create a task, see [Give your squad work that it can finish](/docs/delegate). Squad for Mac (private beta) has the same board, with a few differences. See [On Squad for Mac (private beta)](#on-squad-for-mac-private-beta). ## What you can do here | You want to | Go to | | - | - | | See where every task stands | [Read the board](#read-the-board) | | Find one task, or one teammate's work | [Filter the board](#filter-the-board) | | See the whole story of one task | [Open a task](#open-a-task) | | Change direction or add information | [Steer a task with a comment](#steer-a-task-with-a-comment) | | Get a status update now | [Ask for an update](#ask-for-an-update) | | Hand a task to another teammate | [Take other actions from Your call](#take-other-actions-from-your-call) | | Clear tasks off the board | [Archive, delete, and restore tasks](#archive-delete-and-restore-tasks) | ## Read the board **Tasks** is a place in the sidebar. Open it in one of these ways: * Select **Tasks** in the sidebar. It is under **More** unless you pinned it. See [Pin a place to the sidebar](/docs/what-squad-is#pin-a-place-to-the-sidebar). * Press ⌘K (Ctrl+K on Windows), type **Tasks**, and select it. See [Search and shortcuts](/docs/search). * Press `B` when you are not typing in a field. * On **Today**, select the number of tasks in the sentence "Your squad finished … today." It shows when tasks finished today. * On a teammate's **About** page, select **See all tasks** under **Tasks**. The section shows when the teammate has open tasks. The board shows all tasks, not only that teammate's. The board has four columns: | Column | Tasks in it | | - | - | | **Not started** | Tasks with no owner, and tasks that a teammate owns but has not started yet. | | **Needs you** | Tasks that wait for you. The column name has an orange dot. Most of them have a question in **Needs you**. See [Answer what needs you](/docs/tickets). | | **Working on it** | Tasks that a teammate works on now, or that are in review. | | **Done** | Finished tasks. | For every status and what it means, see [Statuses and what they mean](/docs/statuses). Each column shows its name and how many tasks it holds. Each column shows 4 cards. Select **Show all** and the count to see the rest, and **Show less** to fold the column again. When the board is too wide for the window, scroll it sideways. Next to the **Tasks** title, the board shows how many tasks are **done today** and how many **need you**. **need you** counts every task in the **Needs you** column. ### What a task card shows | Part of the card | What it means | | - | - | | **Urgent** | The task has urgent priority. Other priorities show nothing on the card. | | Title | Up to two lines. | | **Stuck for** and a number of days **· no progress** | The task is in **Working on it** and had no update for more than 2 days. See [Stuck tasks](#stuck-tasks). | | **Ongoing** | The task runs continuously and is never flagged as stuck. | | Avatar, name, and time | The owner and the time of the last update. A task with no owner shows **A teammate**. | ### Use the card menu Point to a card and select **⋯** (**Task actions**). On a touch screen, **⋯** always shows. | Item | What it does | | - | - | | **Open task** | Opens the task page. | | **Chat about it** | Opens the full chat with the owner, with the task attached to your message. For a task with no owner or a task assigned to a person, the chat opens with your chief of staff. | | **Pin to top** | Pins the task to the **Pinned** section of the sidebar. The message **Pinned to sidebar** shows. See [Pin things to the sidebar](/docs/chat#pin-things-to-the-sidebar). | | **Archive** | Moves the task to **Archived**. The message **Task archived** has **Undo**. | | **Delete** | Moves the task to **Trash**. The message **Task deleted** has **Undo**. | If an action fails, Squad shows **Couldn’t archive. Try again.** or **Couldn’t delete. Try again.** ## Filter the board Use the bar under the title: | Control | What it does | | - | - | | **Search tasks** | Shows tasks whose title contains your text. It does not search descriptions or comments. | | **Filter** | Opens the filter menu. With filters on, the button shows **Filter ·** and the number of filters. | The **Filter** menu has: | Option | What it does | | - | - | | **Teammate** | **All teammates**, or one teammate. The list has the teammates that own tasks on the board, in **Archived**, or in **Trash**. | | **Only urgent** | Shows only urgent tasks. | | **Only what needs you** | Shows only the tasks in **Needs you**. | | **Hide ongoing** | Hides tasks marked as ongoing. This choice stays until you turn it off, even after you reload. | When the search, a teammate, **Only urgent**, or **Only what needs you** is on, the bar shows how many tasks match and **Clear**. **Clear** resets them. It does not turn off **Hide ongoing**. An empty column shows **No matches**. Under the **Done** column, **Archived** and **Trash** open the tasks that you set aside. See [Archive, delete, and restore tasks](#archive-delete-and-restore-tasks). To see what your squad did, open **Activity**. See [See what your squad did](/docs/runs-and-health#follow-activity). ## Open a task Select a card, or select **⋯** on the card and then **Open task**. Select **Back to Tasks** to return to the board. When you opened the task from a teammate's **About** page, the button has the teammate's name and goes back there. The task page has a main column and a details column. ### The main column | Section | What it shows | | - | - | | Marks at the top | **Urgent** for an urgent task, **Needs you** when the task is blocked and has no open question, the tokens used so far (**Token cost so far**), and the tags. | | **This task needs you** | The open question, on the same card as in **Needs you**. Answer it here. See [Answer what needs you](/docs/tickets#answer-a-question). | | **What's happening** | The description. With no description, a line about the task's state. | | **Progress** | Each status the teammate reported on this task, with the teammate and the time. Links open the docs and emails it touched. | | **Documents** | Docs linked to the task, with their type. | | **Activity** | The comment composer, then comments from you and your teammates, newest first. With none: **No activity yet. Your reply or the teammate’s first update will show up here.** | | **Attachments** | Files on the task. Select one to download it with its own name. | ### The details column | Section | What it shows | | - | - | | **Owned by** | The owner and its role. Select it to open the teammate's page. With no owner: **Unassigned** and **Waiting for pickup**. | | **Comments** | The number of comments. | | **Last update** | When the task last changed. | | **Watchers** | Who follows this task, including you when you watch it (up to 5 avatars, then **+** and a number). The owner of the squad sees **Watch**, and **Watching** after selecting it. Select it again to stop. | | **Your call** | The actions that fit the task's state. See [Take other actions from Your call](#take-other-actions-from-your-call). | Select **Hide details** to give the main column the full width. Select **Show details** to bring the column back. On a narrow screen, the details column shows under the main column. On the narrowest screens, this button hides. ## Steer a task with a comment Open the task. In **Activity**, type in the composer (**Reply here. @mention a teammate to wake it now. Otherwise it reads this on its next run.**). Type **@** and select the owner, so that the teammate wakes up and reads your comment. Select **Send**. A comment with no @mention does not wake the owner. The teammate sees it only on its next run. If the teammate's heartbeat is off, that run can be much later. See [Turn on heartbeats](/docs/scheduled#turn-on-heartbeats). To get an answer now, @mention the teammate or ask for an update. * The **@** list has your teammates only. Type **#** to mention a connected app. You cannot reference docs or tasks in a comment. * You can attach files, also by dragging them onto the box. While a file is over it, the box says "Drop to attach to your message". For how many, see [Limits and defaults](/docs/limits-and-defaults#tasks-and-questions). A comment with only files shows **Sent a file.** or **Sent files.** * The bell and the numbers next to a comment, for example **1/2**, show how many of the notified teammates have seen it. Point to it to see each teammate with **seen** or **pending**. * Your unsent comment stays in the composer if you leave the page, until you close the browser tab. ```text Comment on the task theme={null} @[teammate] Change of direction: [what changed]. Keep [what still applies], drop [what does not]. If this changes work you already did, say so and estimate the redo. Do not start over without telling me. ``` ## Ask for an update 1. Open the task. 2. In **Your call**, select **Ask** and the teammate's name **for an update**. The button changes to **Asking…** and then to **Asked** and the teammate's name **for an update**. The teammate wakes, works the task as far as it can, and comments the result. If it is blocked on you, it asks you a question. The button shows for tasks that a teammate owns and that are not done. It does not show when you cannot use the owner. ## Take other actions from Your call The **Your call** panel shows the main action that fits the task's state. | Task state | Main button | What it does | | - | - | - | | Waiting on a question | None | Answer the question under **This task needs you**. **Message** and the teammate's name also shows. | | Waiting on you, with no question | **✓ Give the go-ahead** | Sends the teammate "You've got the go-ahead on this. Please proceed.", moves the task to **Working on it**, and opens the chat. **Message** and the teammate's name also shows. | | No owner | **Assign to a teammate** | Opens the list of teammates. Picking one assigns it at once. | | Assigned to you | **✓ Mark complete** | Marks the task done and goes back to the board. If a teammate created it, **Ask** and the teammate's name **to make this a question** also shows. It opens a chat with a request typed in for you to send. | | Owned by a teammate | **Message** and the teammate's name | Opens a chat with the owner. | To give the task to a different teammate, select **Give to another teammate** and pick the teammate. The list says **Gives it now. The new teammate is told and picks it up on their next run.** ## Edit a task or mark it as ongoing Open the task and select **⋯** (**Task actions**): * **Edit** asks for a new title (**Rename this task**). It changes only the title. To change the description or the priority, ask the owner in a comment. * **Mark as ongoing** tells Squad that the task runs continuously, so quiet stretches are normal. Select **Unmark as ongoing** to undo it. * **Archive** moves the task to **Archived** and goes back to the board. * **Delete** asks **Move this task to the Trash? You can restore it from the Trash tab.** The task moves to **Trash**. ```text Ask the owner theme={null} @[teammate] Change the priority of this task to [High / Low] and update the description with [what changed]. ``` ## Stuck tasks A task in **Working on it** that has had no update for more than 2 days shows **Stuck for** and the number of days, then **· no progress**. Squad also checks every hour for tasks that an AI teammate owns and that do not move. This includes tasks that the teammate has not started yet. 1. After 2 days with no update, Squad asks the owner for progress. 2. If the task still does not move 2 days later, Squad asks you a question in **Needs you**. 3. If the task's state has not changed for 7 days, even while the teammate is active, Squad asks you a question directly. For what to do with that question, see [Answer a question about a stuck task](/docs/tickets#answer-a-question-about-a-stuck-task). For the numbers, see [Limits and defaults](/docs/limits-and-defaults#tasks-and-questions). Tasks marked as ongoing show **Ongoing** instead. The tooltip says: **This task runs continuously. Quiet stretches are normal, so it is never flagged as stuck.** Squad does not ask for progress on ongoing tasks or ask you about them. It also does not do this for tasks assigned to a person. ## Archive, delete, and restore tasks | Action | Where | Result | | - | - | - | | Archive | **⋯** on the card or the task page, then **Archive** | The task leaves the board. It is kept in **Archived**. An open question on it is canceled. | | Delete | **⋯**, then **Delete** | The task moves to **Trash**. An open question on it is canceled. | | Delete from Archived | **Archived**, then **Delete** on the row | The task moves to **Trash**. | | Restore | **Archived** or **Trash**, then **Restore** | The task goes back to the board. A task that waited on a question goes back to **Working on it**, because its question was canceled. A blocked task with nothing asked comes back to **Needs you**. | | Delete forever | **Trash**, then **Delete forever**, then **Yes, delete forever** | The task is removed permanently. The confirm says **Gone for good. Can't be restored.** | To open the lists, select **Archived** or **Trash** under the **Done** column. You can also press ⌘K and select **Archived tasks**. The lists are titled **Archived tasks** and **Trash**. Each row shows the priority, the title, the owner, and the date. Select **Load older…** to see more rows. To go back to the board, select **Tasks** at the right of the bar. In these lists, the search, **Teammate**, and **Only urgent** work. **Only what needs you** and **Hide ongoing** are not offered. **Delete forever** cannot be undone. Tasks in Trash stay there until you restore them or delete them forever. Squad does not remove them automatically. When a task is marked done or archived, Squad cancels its open question, so **Needs you** does not ask you about work that is closed. ## Who can do what | Person | What they can do with tasks | | - | - | | Owner | Everything on this page. | | Administrator and Collaborator | Everything except **Watch**. They cannot answer **Access** and **Action** asks. See [Answer what needs you](/docs/tickets#who-can-answer). | | Viewer | Read the board and the task pages. A Viewer cannot create, change, or answer tasks. | A person who is limited to some teammates sees only the tasks of those teammates. See [Invite people to your squad](/docs/teammates). ## What teammates can do with tasks Teammates create tasks, comment on them, update their status, assign them to teammates, mark them as ongoing, complete them, archive them, restore them, and move them to Trash. Teammates cannot assign a task to you, and they cannot move a task to **Needs you** themselves. When a teammate needs you, it asks you a question, and the task moves to **Needs you**. Tasks that teammates assigned to you earlier show on **Today**, under **Needs you**, as **Your teammates gave you a task:** and the title, with **Open it**. For the full list, see [What your teammates can do](/docs/agent-capabilities#tasks). ```text Ask your chief of staff theme={null} Go through the board. Archive tasks that are done or no longer needed, and tell me which ones you archived and why. ``` ## On Squad for Mac (private beta) **Tasks** in Squad for Mac (private beta) has the same four columns and works as on this page, with these differences. For the numbers, see [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). ### Open the board on the Mac * Select **See all tasks** on **Today**, when the **Today so far** or **Yesterday** section shows. * Choose **Tasks** in the **Go** menu, or in the command palette (⌘K). * Select **See all tasks** in the **Tasks** part of a teammate's **About**, when the teammate has open tasks. On the Mac, the board opens filtered to that teammate. ### Read the board on the Mac * Each column shows more cards before **Show all**. At the end of **Done**, **Load older finished tasks** loads more. In a narrow window, the columns stack, with **Needs you** first. * A card can also show **Blocked**, **In review**, and up to a few tags. A card in **Working on it** that is not ongoing and has had no update for more than 2 days shows **No progress for** and the number of days. * **Filter** has **Teammate** (**Everyone**, or one teammate), **Priority** (**Any priority**, **Urgent**, **High**, **Normal**, or **Low**), **Only blocked tasks**, and **Hide ongoing tasks**. **Clear** resets the search and the filters, except **Hide ongoing tasks**. * Right-click a card for **Open task**, **Pin to Sidebar**, **Chat about it with** and a teammate's name, **Archive**, and **Delete**. Archive and Delete show a message with **Undo**. * In **Archived** and **Trash**, **Show older tasks** loads more rows. * The board has no drag and drop. A task moves when its status changes. ### Create a task on the Mac On the board, select **New task**, or press ⌘⇧N. You can also choose **New task** in the command palette. Type a **Title**. Add a **Description** with context, links, or what done looks like. Pick a **Priority**: **Urgent**, **High**, **Normal**, or **Low**. Under **Assign to**, pick a teammate, or keep **Backlog** to leave the task unassigned. Select **Create task**, or press ⌘Return. The task's page opens. If you close the sheet with Esc or **Cancel**, your text is kept. The next time, the sheet shows it again, with a way to discard it. ⌘N is not a new task. It opens the Delegate panel. See [Delegate, talk, and use Siri](/docs/mac/delegate-voice-siri). ### A task's page on the Mac * When the teammate paused without a question, **This task needs you** has **Give the go-ahead** and **Message** and the teammate's name. * **Notes** takes the place of **Activity**. Type a note and send it. Mention a teammate with @ to wake it now. Otherwise the teammate reads the note on its next run. You can also drag a file onto the box to attach it. * **Docs** and **Files** list what the task made. * The buttons depend on who has the task. Nobody: **Give it to a teammate**. A teammate: **Message** and the teammate's name, **Ask** and the teammate's name **for an update**, and **Give to another teammate**. A person: **Mark as done** and **Give to another teammate**. **Message** is not shown while the task is in **Needs you**, and **Ask** and the teammate's name **for an update** is not shown in **Done**. When a teammate gave the task to a person, **Ask** and the teammate's name **to turn this into questions** opens a chat with a message ready to send. * The **⋯** menu has **Pin to Sidebar**, **Watch This Task** (owner only), **Rename…**, **Mark as Ongoing** (or **Unmark as Ongoing**), **Archive**, and **Delete…**. It also shows how many tokens the task used. **Delete…** asks you to confirm with **Move to Trash**. * A Viewer sees none of these buttons, and only **Pin to Sidebar** in the **⋯** menu. ## Common questions The task moves to Trash, and an open question on it is canceled. Restore the task to put it back on the board. The teammate paused the task without saying what it needs. It shows under **Waiting on you, nothing asked yet** in **Needs you**. Select **Ask what it needs** there. See [Handle tasks that wait with nothing asked](/docs/tickets#handle-tasks-that-wait-with-nothing-asked). No. The public dashboard is read-only. It hides the menus, the comment composer, **Your call**, and **Watch**. See [Share a read-only dashboard](/docs/sharing). The board no longer has a feed. Open **Activity** to see what your squad did. See [See what your squad did](/docs/runs-and-health#follow-activity). ## Check that it works * A task that a teammate starts moves to **Working on it**. * After you ask for an update, a comment from the owner shows in **Activity** when you open the task again. * An archived task shows in **Archived**, and **Restore** puts it back on the board. ## Troubleshooting * A task shows **Stuck**. Cause: the owner has not updated it for more than 2 days. Fix: ask for an update, give the task to another teammate, or mark it as ongoing if it is recurring work. * The teammate did not react to your comment. Cause: the comment had no @mention. Fix: send the comment again with an @mention, or ask for an update. * A task sits in **Not started**. Cause: it has no owner, or the owner has not started it yet. Fix: for a task with no owner, open it and select **Assign to a teammate**. Otherwise, ask the owner for an update. * Search does not find a task. Cause: the search checks titles only. Fix: search for a word in the title, or filter by teammate. * A task seems to be missing. Cause: **Hide ongoing** is on, or the task is archived or in Trash. Fix: turn off **Hide ongoing**, or open **Archived** or **Trash**. # Choose your notifications Source: https://squad.so/docs/notifications Use the notification bell, and choose which events reach you in Squad and by email. Squad notifies you in two places: the bell in the dashboard, and email to the address you sign in with. You choose which events use each one in **Settings** > **Notifications**. On Squad for Mac (private beta), notifications on your Mac have their own switches. See [Notifications on this Mac](/docs/mac/settings#notifications-on-this-mac). ## Use the bell On a wide window, the bell is at the top of the sidebar, next to your squad's name. When the sidebar is folded, the bell is under the button that expands it. On a phone, the bell is in the row at the top. A number on the bell shows how many notifications you have not read. Above 9, it shows **9+**. 1. Select the bell. The **Notifications** panel shows your newest notifications, and how many are new. 2. Select a notification: * A reply from a teammate opens that conversation. * A mention in a group chat opens that group chat. * A purchase that waits for your approval opens **Needs you**. See [Approve a purchase](/docs/tickets#approve-a-purchase). * A request to add a payment card opens the **Wallet**. * Any other notification is marked as read and opens **Activity**. Each row names who sent it, in bold, next to a picture: * A teammate's row shows the teammate's name and face. * A person's row, for example their comment on a task that you watch, shows the person's name and initial. If Squad cannot name them, the row shows **Someone**. * A mention in a group chat shows the name of the person or teammate who wrote it. See [Mentions in group chats](#mentions-in-group-chats). * Squad's own alerts, for example that an AI account is signed out or that credits are low, show **Squad** with the Squad logo. Other controls in the panel: * **Mark all read** marks every notification as read. It shows when something is unread. * The **x** (**Dismiss**) on a row marks it as read and hides it. * **Clear all** marks everything as read and hides the rows. * **View all** opens **Activity**. When more than 8 notifications loaded, it shows how many, for example **View all (12)**. * The gear icon (**Notification settings**) opens **Settings** > **Notifications**. The bell of the owner lists only unread notifications, so a row that you dismissed or read does not come back. For other people in your squad, the bell also lists read notifications. Opening or dismissing one row marks their whole bell as read, and dismissed rows come back, read, when they reload the dashboard. When the panel has no rows, it shows **You're all caught up**. People other than the owner keep read rows, so they see it only when they have no notifications at all. The browser tab's title starts with a number in brackets, for example "(3)". It is not the bell's number. It counts what waits for you in **Needs you**. See [What the number counts](/docs/tickets#what-the-number-counts). ## Choose what reaches you Everyone in your squad, Administrators included, sets their own notifications in **Settings** > **Notifications**. Their choices do not change yours. People other than the owner get notifications only about the teammates that they can see, and never about billing. A purchase that waits for their approval, or a request to add a card, reaches them even when it comes from a teammate that they cannot see. See [Invite people to your squad](/docs/teammates). Select **Settings** at the bottom of the sidebar. On a phone, open the account menu and select **Settings**. Select **Notifications**. You can also press ⌘K (Ctrl+K on Windows) and select **Notifications**. For each event, turn **In Squad** or **Email** on or off. Each change saves at once. **In Squad** controls the bell. **Email** controls email. | Event | What triggers it | In Squad by default | Email by default | | - | - | - | - | | **A teammate needs your decision** | A teammate needs your call on an email. | On | On | | **A reply is ready for you to check** | A teammate drafted an email reply for your review. | On | Off | | **A document is ready** | A teammate finished a doc. | On | Off | | **A task is waiting on you** | A task moved to **Needs you**, for example because a teammate asked you a question. | On | On | | **A routine finished** | A task was marked done. | Off | Off | | **A routine failed** | A run failed or ran out of time. | Off | Off | | **A teammate got an email** | A teammate's inbox received an email. The teammate handles it. | On | Off | | **Your week, every Monday** | A Monday email with a link to look back on the week. See below. | Off | On | | **Billing and credits** | Low credits, renewals, and payment problems. Only the owner sees this row. | On | **Not by email** | | **A teammate replied to you** | A teammate answered in a conversation you started. | On | **Not by email** | **A routine finished** and **A routine failed** are off by default. Turn them on if you want to hear about finished tasks and failed runs. For the owner and Administrators, failed runs also show on **Today**. See [Fix work that did not finish](/docs/runs-and-health#fix-work-that-did-not-finish). When a teammate needs your call on an email, the email subject starts with "\[Squad] \[teammate] needs your decision on an email". When **Email** is on for **A reply is ready for you to check**, a draft that waits for your approval sends an email that starts with "\[Squad] \[teammate] drafted an email for your review". Review both in **Needs you** or on the **Email** screen. See [Give a teammate an email inbox](/docs/email). Some bell notifications have no setting and always show. For example, when Claude Code signs out, the owner's bell shows "Claude Code is signed out on your workspace. Runs that use Claude fail until you reconnect it in Settings → AI Tokens." The page is now **Settings** > **AI**. See [Choose models and manage AI accounts](/docs/ai-accounts#troubleshooting). The owner also gets a row from **Squad** when the cloud computer's disk becomes low or full. That row is marked read by itself when the disk has room again. See [Your cloud computer's disk is low or full](/docs/agent-stuck#your-cloud-computers-disk-is-low-or-full). Purchases that wait for your approval and requests to add a card also always show. Squad sends at most one notification email per minute to each person. If two events happen within the same minute, the second email waits and is sent later. The bell shows both at once. ## Reply notifications **A teammate replied to you** notifications follow the people in each conversation. Each person gets them in their own bell, the owner and everyone else alike: * You get one when a teammate replies in a direct conversation that you are in: you wrote in it, or you forked it. A conversation that no person wrote in yet counts as the owner's. See [Which replies are new for you](/docs/chat#which-replies-are-new-for-you). * A reply in a conversation that you are not in does not show in your bell. A person does not see the owner's reply notifications or another person's, and the owner does not see theirs. * People other than the owner get them only for the teammates that they can see, and only when **In Squad** is on for them. * One notification covers a burst of replies in a conversation until you read it. The next reply after that notifies you again. * When you open the conversation or send a message in it, your reply notification for it is cleared. Nobody else's is cleared. * A person's reply notification shows only while they are in the conversation. For example, when an edit leaves them out of the conversation, the notification leaves their bell too. * When a conversation is deleted or reset, its reply notifications leave every bell. On a phone, the message icon (**Your conversations**) in the row at the top also lists the new replies in your conversations. See [Which replies are new for you](/docs/chat#which-replies-are-new-for-you). ## Mentions in group chats When someone types @ and your name in a group chat, in the Squad chat, or in a conversation between two teammates, your bell shows a notification. It reads "\[name] mentioned you:" followed by the start of the message. The writer can be a person or a teammate. For how to mention a person, see [Mention a person in a group chat](/docs/chat#mention-a-person-in-a-group-chat). * Each person gets their own notification, the owner and everyone else alike. You do not get one for your own message. * Select the notification to open the conversation. The Squad chat and conversations between two teammates open on the Squad chat screen. A group chat opens in chat. If Squad cannot open the conversation, the notification opens **Activity**. * One notification covers the mentions in a conversation until you read it. A mention after that notifies you again. * When you open the conversation or send a message in it, your mention notification for it is cleared. Nobody else's is cleared. * A person who is limited to some teammates is not notified when a teammate that they cannot see mentions them. * Mentions have no setting in **Settings** > **Notifications**. They always show in the bell, and they never send email. The notification shows only the start of a long message. See [Limits and defaults](/docs/limits-and-defaults#notifications). ## Know what the weekly check-in contains The weekly check-in is an email that Squad sends on Mondays at 14:00 UTC. Its subject is "Your weekly Squad check-in". It asks you to review the week's tasks, runs, and questions, and it has a link to your dashboard. It does not list your squad's work. To stop it, turn off **Email** for **Your week, every Monday**. Each person in your squad sets it for themselves. ## Check that it works * The bell shows a number when a new notification arrives for an event that has **In Squad** on. * An event with **Email** on sends an email to your sign-in address, with a link to the task or activity. ## Troubleshooting **You did not get an email for a task that waits on you.** Cause: **Email** is off for **A task is waiting on you**, or the email still waits because Squad sent another notification email less than a minute before. Fix: check the bell, and check the setting. **A notification you cleared came back.** Cause: you are not the owner of the squad. Your bell also lists read notifications, and **Clear all** and the **x** hide rows only until you reload the dashboard. Fix: none needed. Read notifications do not add to the number on the bell. # Let your teammates pay with your card Source: https://squad.so/docs/payment-cards Add a payment card to your Wallet, choose who may use it, and approve each purchase that a teammate makes, including a free trial that only saves your card. A teammate can pay online for something that you asked for, with a card that you keep in your own card vault. The teammate never sees the card number. Each payment waits until the card's owner approves it on their own device. A payment that nobody approves in time pays nothing. How a purchase works: 1. You ask a teammate to buy something, for example "Renew the acme.com domain". 2. The teammate shops in a checkout window in its browser on your squad's computer. It types a stand-in card number into the store's form and selects the store's pay button once. 3. Squad asks the card's owner to approve that one payment: the store, the amount, and the card. 4. The owner approves on their own device. The real card pays only then. 5. The teammate confirms the order number from the store's receipt. Your cards and your teammates' purchases are in the **Wallet**, a place in the sidebar. It was called **Payment cards** and was in **Settings** before October 14, 2026. A teammate can also start a free trial, or use a coupon that brings the total to 0. That checkout only saves your card with the store. See [Free trials and checkouts that charge nothing](#free-trials-and-checkouts-that-charge-nothing). ## Before you start * Each person in your squad has their own card vault. You add and remove cards there, not in Squad. * Only Visa, Mastercard, American Express, Discover, and JCB cards can pay this way. Other cards show in the list, but a teammate cannot pay with them. * A Viewer cannot add a card. ## Add a card Select **Wallet** in the sidebar. If it is not pinned, it is under **More**. You can also press ⌘K (Ctrl+K on Windows) and type Wallet, or type Wallet in **Find a setting** in **Settings**, where it shows under **Outside Settings**. Select **Add a card**. If you already have cards, the button is **Add or remove cards**. Your card vault opens in a new tab. Add the card in your card vault. Go back to the Squad tab. The list of cards loads again, and the new card shows as the brand and the last four digits, for example "Visa ending in 4242", with the month and year when it expires. With no card yet, the Wallet shows **No cards yet** and "Add a card, and your teammates can ask to pay with it. Its number stays in your card vault, and you approve every payment yourself." With cards, the line above them says "Your teammates can pay with these cards for work they do for you. You approve every payment yourself." To remove a card, select **Add or remove cards** and remove it in your card vault. A teammate can also ask you for a card. It posts an **Add a card to your Wallet** card in your chat, and the bell shows a row. Select **Add a card** on the chat card to open your card vault. When you save a card, the teammate that asked is told, and it continues. The chat card does not show in a group conversation. ## Choose who may use a card A new card is yours only: teammates can use it only for work that they do for you. To let others use it: In the **Wallet**, find the card. Under **They can also use it when they work for**, turn on **Everyone in the squad**, or turn on the switch beside each person's name. While **Everyone in the squad** is on, the switches for each person are hidden. Each switch saves by itself. There is no **Save** button. While Squad saves one switch, the others wait. When the save is done, the switches show what Squad saved. For example, a person who left the squad in the meantime is not on the card. You still approve every payment on your card, whoever a teammate buys for. When nobody else is in your squad, the card shows no switches, unless it is still shared with everyone. Which cards a teammate may use depends on whom the work is for. It is the same rule as for [connected accounts](/docs/integrations#who-can-use-an-account): * Work for one person can use that person's own cards, the cards shared with them, and the cards shared with everyone. * Work for several people can use a card only when each of them may use it. * Work for the whole squad can use only cards shared with everyone. Squad checks the sharing again when a purchase starts. A card whose owner left the squad, or became a Viewer, is not offered. Each person sees and shares only their own cards. The owner of the squad cannot see or share another person's cards. ## Approve a purchase When a teammate is ready to pay with your card, Squad asks you to approve. You see the request in these places: * **Needs you**, under **Purchases to approve**, as the same card as in chat. * **Today**, under **Needs you**: the teammate, its sentence, **Review and approve**, and the time by which to approve. * The bell: the teammate "wants to pay" the amount at the store "with your card. Approve or decline within 15 minutes." For a checkout that charges nothing, the teammate "wants to save your card at" the store, "with nothing to pay now", and then the later charge if there is one. For a paid purchase with a later charge, the row adds "(then" and the charge ")". * The chat, when you asked for the purchase in a chat with the teammate, as a **Purchase** card. Each place says the purchase in one sentence, for example "Otis wants to pay \$23.06 at Example Store." The amount shows in your browser's format. A checkout that charges nothing says, for example, "Atlas wants to save your card at SiteGPT, with nothing to pay now, then EUR 63.66 on 21 Oct." When the teammate names a later charge, the sentence ends with "then" and that charge. The card also shows why the teammate is buying, the card it uses, and "Approve by" a time ", or nothing is paid." (", or the card isn’t saved." for a checkout that charges nothing). To answer: Select **Review and approve**. The approval page of your card vault opens in a new tab. Check the store, the amount, and the card. Approve or decline the payment on your device. Under **Review and approve**, the card says "Nothing is paid until you approve it with your passkey." For a checkout that charges nothing, it says "The card isn’t saved until you approve it with your passkey." On **Today**, **Review and approve** opens the approval page directly. When the request has no link yet, the button on **Today** is **Review** and opens **Needs you**. When you answer, the conversation shows a line that says you approved or declined. There is no approve button inside Squad. If the request has no link yet, the card says "Approve it on the device that holds your card." If nobody approves in time, the purchase shows **Not approved in time** and nothing is paid. The teammate asks you once if you still want the item. A new try is a new purchase. For the times, see [Limits and defaults](/docs/limits-and-defaults#payment-cards). If you talk to the teammate in Telegram or Slack, Squad does not send the request there. The teammate tells you in that conversation, with a link to **Needs you**. Only the card's owner approves. Other people who see the **Purchase** card see **Waiting for** and the owner's name, and that the owner "approves this payment on their own device." For a checkout that charges nothing, the owner "approves saving the card on their own device." ## Follow a purchase The **Purchase** card in chat and **Purchases** in the **Wallet** show each purchase with one status: | Status | Meaning | | - | - | | **Getting the checkout ready** | The teammate is starting the checkout. | | **Waiting for your approval** | You have not answered yet. The card shows **Review and approve**. | | **Waiting for** and the owner's name | The card's owner has not answered yet. "\[Owner] approves this payment on their own device." | | **Approved** | "The payment is approved." The teammate "is placing the order." | | **Paid** | The teammate confirmed the order. "The order is placed.", with the order number when the store showed one. | | **Declined** | "The payment was declined, so nothing was paid." It was declined by the card's owner, the bank, or the store, or the request was withdrawn because the card's owner left the squad or became a Viewer. The card shows the reason. | | **Not approved in time** | Nobody approved it in time, so nothing was paid. See [Limits and defaults](/docs/limits-and-defaults#payment-cards). | | **This store can’t take it** | "The store’s checkout doesn’t work with an approved card, so nothing was paid." | | **The store needs a person** | "The store asked for a step only a person can do." The teammate tells you what it needs, and hands you the computer screen, for example for a bank check. See [Watch or take over a teammate's computer](/docs/computer). | | **Payment not confirmed** | "It isn’t known whether the payment went through. Look at the card’s statement before trying again." | | **Cancelled** | "The purchase was cancelled, so nothing was paid." | | **Stopped** | "It stopped before anything was paid." | The status shows in orange only while the purchase waits for your own approval. A checkout that charges nothing uses its own words for these states: | Status | Meaning | | - | - | | **Waiting for** and the owner's name | "\[Owner] approves saving the card on their own device." | | **Approved** | "The card is approved." The teammate "is saving it with the store." | | **Card saved** | The teammate confirmed the card save. "The card is saved with" the store ", and nothing was paid.", then "The store showed" and the words that the store's page showed, for example "Your trial has started". | | **Declined** | "The card was declined, so it wasn’t saved." | | **Not confirmed** | "It isn’t known whether the store saved the card. Check your account with the store before trying again." | **Purchases** in the **Wallet** shows each purchase: the amount and the store (**Nothing to pay now** for a checkout that charges nothing, and "then" and the later charge when the teammate named one), the teammate and the card, the status, and the time. When a purchase that waits for your approval has its link, it also has **Review and approve** and the time by which to approve. When you come back from the approval page, the list loads again. With no purchase yet, it says "When a teammate buys something with a card, it shows here." The owner of the squad sees every purchase. Other people see the purchases on their own cards, the purchases made for them, and the purchases made for the whole squad. To stop a purchase, decline it on the approval page, or ask the teammate to cancel it. Squad has no cancel button for people. A purchase cannot be cancelled after it is approved. ## Free trials and checkouts that charge nothing A checkout with a total of 0 is a purchase too, for example a free trial, or a coupon or an offer that covers the order. It saves your card with the store and charges nothing now. You approve it like any other purchase. * It works only at a store that takes cards through Stripe. At any other store, the teammate is told that a purchase that charges nothing can only save the card, and nothing is charged. * When the checkout page shows a later charge, for example the first bill after a trial, the teammate tells you. You see it where you approve, at the end of the sentence, as "then" and the charge. * The store charges that later amount itself, outside Squad. Squad does not ask you to approve it again. ## What your teammates do A teammate can list the cards that it may use, ask a person to add a card, start a purchase, check its status, confirm the order, and cancel a purchase before it is paid. It can also start a free trial or use a coupon that brings the total to 0. It then confirms with the words that the store's page shows when it is done, because a card save often has no order number. Your teammates are told to: * Pay only for what a person asked for. * Never type a real card number, and never ask for card details in a message. Card details never go in a [form card](/docs/form-cards). * Select the store's pay button once, and wait for the approval. * Make one purchase at a time. A teammate cannot start a second purchase before the first one ends. * Never pay again after **Payment not confirmed** until the order is checked. * Stop and ask you after **Declined**. ```text Ask a teammate theme={null} Order 3 boxes of A4 paper from the office supply store we used last time, with my Visa. Tell me the total before you pay. ``` ## On Squad for Mac (private beta) Squad for Mac (private beta) has the same **Wallet**, purchase cards, card requests, and words, with these differences: * **Open the Wallet.** It is also in the **Go** menu. The Wallet shows when card payments are available for your squad. * **Approve a purchase.** A purchase that waits for your approval shows with the urgent questions at the top of **Needs you**, not under **Purchases to approve**, and in the menu bar panel. It opens a card in the notch, and a notification that says the teammate "needs your approval". It counts in the number in the menu bar and in the Dock. See [Use the notch and the menu bar](/docs/mac/notch-and-menu-bar#answer-in-place) and [Notifications on this Mac](/docs/mac/settings#notifications-on-this-mac). * **After you answer.** When a purchase no longer waits for you, the Mac's sentence says that the teammate "asked to" pay, or "asked to" save your card. The web keeps "wants to". * **The bell.** A purchase's row opens the conversation where the teammate asked. ## Who can do what | Role | Wallet | | - | - | | Owner | Adds and shares their own cards, approves payments on them, and sees every purchase. | | Administrator, Collaborator | Add and share their own cards, approve payments on them, and see the purchases on their cards, for them, and for the whole squad. | | Viewer | Sees their own cards, read-only, and the same purchases as a Collaborator. Cannot add or share a card, and approves nothing. Teammates do not ask a Viewer for a card. | When a person leaves the squad or becomes a Viewer, the purchases that wait for their approval end as **Declined**. ## Troubleshooting **"The Wallet isn’t set up for this squad yet."** Cause: card payments are not available yet. Fix: contact [support@squad.so](mailto:support@squad.so) if you need them. See [Get help](/docs/getting-help). **"Couldn’t read your cards. Try again in a moment."** Cause: the Wallet could not load your cards. Fix: select **Try again**. **"Couldn’t open your card vault. Try again in a moment."** Cause: the vault link did not open. Fix: try again. Allow pop-ups for the dashboard if your browser blocked the new tab. **"Couldn’t save who can use this card. Try again."** Cause: the change did not save. Fix: flip the switch again. **"Your access in this squad is view-only, so you can’t add a card."** or **"Your access in this squad is view-only, so you can’t change who it’s for."** Cause: you are a Viewer. Fix: ask the owner to change your role. See [Invite people to your squad](/docs/teammates). **A teammate says it cannot pay with a card.** Cause: the card is not a Visa, Mastercard, American Express, Discover, or JCB card, or the card is not shared for this work. Fix: add another card, or turn on the person under **They can also use it when they work for**. **A purchase shows Payment not confirmed.** Cause: Squad cannot tell whether the payment went through. Fix: look at the card's statement before anyone tries again. # Research tools reference Source: https://squad.so/docs/research-tools Every built-in research tool your teammates can use: what it does, what it returns, what it costs in credits, and how caching, fresh data, failures, and rate caps work. Your teammates have 57 built-in research tools. They get public data for your squad: web pages, search results, people and companies, local businesses, SEO data, reviews, ads, and posts from social platforms. These are the only tools in Squad that spend credits. This page lists every tool, what it returns, and its price. For the monthly allowance, credit packs, and auto-recharge, see [What Squad costs and what uses credits](/docs/costs). ## Ask for research You do not call these tools yourself. You ask a teammate in plain words, and the teammate picks the tools. For example: ```text Ask your lead theme={null} Find 20 coffee shops in Austin, TX with a rating under 4 stars. Put the names, websites, and ratings in a doc. ``` ```text Ask your lead theme={null} What does acme.com rank for on Google? Start with its domain rank, and only pull the full keyword list if the domain is big. ``` ```text Ask your lead theme={null} Pull the last 50 Trustpilot reviews for acme.com and group the complaints into themes. Don't spend more than 40 credits on this task. ``` Teammates are told to pick the cheapest tool that answers the question. For example, to find one person's LinkedIn profile, a teammate searches Google first and then reads the profile, instead of running a LinkedIn search. ## How a price works Each tool has a base price. Some tools also have a price for each result. * **Flat price**: the call costs the base price, for example 1 credit for a Google search. * **Base plus per result**: the call costs the base price plus the per-result price for each result that comes back, rounded up to a whole credit. You pay for the results that come back, up to the number the teammate asked for. A call that comes back with no results still costs the base price. Before a call runs, Squad checks the balance against the full price at the number of results that the teammate asked for. A call that could cost more than your balance is refused, even when fewer results would come back. The same check applies to a task budget. Teammates can ask Squad for a price estimate before they start a big job. Teammates are told to run jobs under 100 credits, to tell you about jobs of 100 to 500 credits, and to ask you first before a job of 500 credits or more. These are instructions, not limits that Squad enforces. The **Credit cost per use** card on **Settings** > **Billing and usage** > **Billing** shows the same prices, grouped like the tables below. Only the owner can open this page. The card writes a flat price as, for example, `1 credit`, and a per-result price as, for example, `8 + 5 per result`. ## Calls that cost 0 credits | Call | Why it is free | | - | - | | A result from the cache | Squad already has the answer. See [Cached results](#cached-results). | | A call that fails | For example, the page is not found, or the source is busy. Squad records the call at 0 credits. | | A call that Squad refuses | For example, your balance is too low, the task budget is spent, the research tools are off, or a rate cap is reached. | | A price estimate | The teammate asks what a call or a plan would cost. Nothing runs. | | Reading the rest of a long result | A long result comes back in parts. Getting the next part is free. See [Long results](#long-results). | ## Cached results Squad keeps each result for a set time, shown in the **Cached for** column of each table below. When a teammate makes the same request with the same inputs within that time, it gets the saved result for 0 credits. The cache is shared across Squad, so the saved result can come from the same request made in another workspace. A cached result still works when your balance is 0. Squad does not cache a result with no items, or a result that was too long to return in one part. ### Fresh data A teammate can ask for fresh data. Squad then skips the cache, runs the call, and charges the normal price. The fresh result replaces the saved one. Teammates are told to ask for fresh data when timing matters, for example "what is X posting right now" or "the latest news on Y". To make sure a teammate does this, say so: ```text Ask a teammate theme={null} Get today's top posts in r/SaaS. I need fresh data, not a cached copy. ``` ## Rate caps Squad caps how many research calls one teammate session and the whole squad can make in a short time. The caps stop a teammate that repeats calls in a loop. They do not depend on your balance. For the values, see [Limits and defaults](/docs/limits-and-defaults#research-tools). A call refused by a cap costs 0 credits. Cached results and failed calls also count toward the caps. ## Long results * A tool returns up to 50 results by default. Some tools have their own default, shown in the **Default results** column. A teammate can ask for up to 500 results in one call. Some tools have a lower maximum, shown in the table. * A teammate sees up to 100 results at once. A result with more items, or one very long page, is saved in full. The teammate reads the rest in parts for free. * One stored item has a size limit. When a page is longer, Squad keeps the start of it and marks where it was cut. ## When a call fails When a research call does not work, teammates are told to say it in plain words. This is what you can see in chat: | What happened | What the teammate says | | - | - | | The data is not public, or not found | "I couldn't find that publicly." | | The source had a problem | "Let me try a different angle." The teammate continues with what it has. | | Too many calls at once | "Pulling in a lot at once — let me focus on the most relevant." | | The session cap is reached | "We've fanned out a lot this turn — let me work with what we have." | | Your balance is too low | "We're out of credits for this. You can buy more from the Billing page — I'll keep going once they land." | | The task budget is spent | "We've hit the budget you set for this task. Continue with what we have, or raise the limit?" | | The research tools are off | "Scraping is paused for this workspace right now." | To buy credits, see [Buy credits](/docs/billing#buy-credits). Teammates cannot buy credits for you. ## Turn tools off * To turn off one tool or a whole platform, go to **Settings** > **AI** > **Tools**. The **RESEARCH & SCRAPE TOOLS** section groups the tools by platform. A teammate cannot use a tool that is off. * To turn off every research tool at once, the owner uses the switch on the **Research tools** card on **Settings** > **Billing and usage** > **Billing**. **Choose which ones** on that card opens **Tools**. For both controls, see [Settings reference](/docs/settings#tools) and [What Squad costs](/docs/costs#turn-research-tools-off). ## The tools Each table follows a group on the **Credit cost per use** card. The first column shows the tool's name on **Settings** > **AI** > **Tools**, then its name on the Billing card. In the **Credits** column, "+ 0.5 per result" means half a credit for each result. The total is rounded up. **Typical call** is the price at the default number of results. ### Web On the Tools page: **Web pages**. | Tool | What it does | What it returns | Credits | Default results | Typical call | Cached for | | - | - | - | - | - | - | - | | **Read page**
Billing: Web Page | Reads any web page, including pages that need a browser to load | The page title and the page text as markdown | 1 | 1 page | 1 | 24 hours | | **Screenshot**
Billing: Web Screenshot | Takes a picture of a page, the visible part or the full page | A link to a PNG image | 1 | 1 image | 1 | 1 hour | | **Extract data**
Billing: Web Extract | Pulls the fields that the teammate describes out of a page | The fields as structured data | 6 | 1 page | 6 | 1 hour | ### Search On the Tools page: **Search**. | Tool | What it does | What it returns | Credits | Default results | Typical call | Cached for | | - | - | - | - | - | - | - | | **Google search**
Billing: Google Search | Searches Google, optionally for one country | Title, link, snippet, and position of each result. At most 50. | 1 | 10 | 1 | 1 hour | | **Google News**
Billing: Google News | Searches Google News | Title, link, snippet, source, and date of each article | 1 | 10 | 1 | 15 minutes | | **AI search**
Billing: AI Search | Answers a question from web sources, for general or news topics | A written answer and the sources it used | 6 | 8 sources | 6 | 30 minutes | ### Leads On the Tools page: **People & companies**. People search and person enrich work as a pair. People search is cheap and hides last names and contact details. Each row has an ID. Person enrich unlocks the full profile for one ID. Teammates are told to search wide and unlock only the people the task needs. | Tool | What it does | What it returns | Credits | Default results | Typical call | Cached for | | - | - | - | - | - | - | - | | **People search**
Billing: People Search | Finds business contacts by job title, location, seniority, company domain, company size, or keywords | First name, title, company, company domain, location, whether an email or phone exists, and an ID. At most 100. | 1 | 25 | 1 | 24 hours | | **Person enrich**
Billing: Person Enrich | Unlocks one person from a people search | Full name, title, company, location, work history, education, skills, and social profile links. Email and phone only when the source can reveal them, which is often not the case. | 60 | 1 person | 60 | 7 days | | **Person enrich (deep)**
Billing: Person Enrich Deep | Builds a full profile from a name and company, an email, or a LinkedIn link | Full work history, education, skills, and social profiles | 360 | 1 person | 360 | 7 days | | **Company enrich**
Billing: Company Enrich | Looks up a company by domain, name, or LinkedIn link | Name, domain, website, LinkedIn link, industry, employees, size, founded year, location, description, and total funding | 60 | 1 company | 60 | 7 days | | **Company enrich (deep)**
Billing: Company Enrich Deep | Looks up a company by domain, website, or name, with more detail | The same fields, filled in more fully | 120 | 1 company | 120 | 7 days | Person enrich (deep) is the most expensive research tool. One call uses more than a third of the monthly allowance. ### Local On the Tools page: **Local businesses**. | Tool | What it does | What it returns | Credits | Default results | Typical call | Cached for | | - | - | - | - | - | - | - | | **Local businesses**
Billing: Local Businesses | Finds businesses on the map for a search and a place, for example "plumbers" in "Austin, TX" | Name, address, phone, website, rating, review count, category, map position, place ID, and opening hours | 8 + 5 per result | 20 | 108 | 24 hours | | **Local reviews**
Billing: Local Reviews | Gets Google reviews for one place, by place ID or by business name and city | Rating, title, text, author, date, and link of each review | 4 + 0.1 per result | 50 | 9 | 6 hours | ### SEO On the Tools page: **SEO**. | Tool | What it does | What it returns | Credits | Default results | Typical call | Cached for | | - | - | - | - | - | - | - | | **Keyword data**
Billing: SEO Keywords | Looks up up to 100 keywords in one call, for one market (United States by default) | Search volume, cost per click, competition, difficulty, intent, and monthly trend for each keyword | 8 + 0.5 per result | One result per keyword sent | 18 for 20 keywords | 7 days | | **Keyword ideas**
Billing: SEO Keyword Ideas | Suggests keywords related to one seed keyword | The same metrics for each idea | 7 + 0.3 per result | 50 | 22 | 7 days | | **Ranked keywords**
Billing: SEO Ranked Keywords | Lists the keywords a domain ranks for | Keyword, position, search volume, ranking page, and traffic estimate | 9 + 0.2 per result | 100 | 29 | 7 days | | **Domain rank**
Billing: SEO Domain Rank | Gives a quick overview of one domain | Rank, organic keyword count, organic traffic, traffic value, and paid keywords and traffic | 3 | 1 domain | 3 | 24 hours | | **Backlinks**
Billing: SEO Backlinks | Lists links that point to a domain or a page | Linking page, target page, anchor text, linking page rank, dofollow status, and first-seen date | 14 + 0.2 per result | 100 | 34 | 7 days | | **Google Trends**
Billing: Google Trends | Shows interest over time for one keyword | Dated interest values | 14 | 1 keyword | 14 | 24 hours | | **Site tech**
Billing: SEO Site Tech | Finds the technology a website uses, such as analytics, live chat, CMS, and CDN | Technologies by category, plus the domain's rank, country, and public emails and phones found on the site | 15 | 1 domain | 15 | 24 hours | | **Page audit**
Billing: SEO Page Audit | Checks one page for on-page SEO | On-page score, status code, title, description, H1 headings, link and image counts, load times, and check flags such as missing image text | 2 | 1 page | 2 | 6 hours | | **Lighthouse**
Billing: SEO Lighthouse | Runs a Google Lighthouse audit of one page. Takes about 30 to 60 seconds. | Scores for performance, accessibility, best practices, and SEO, the core web vitals, and the worst audits to fix. At most 25 audits. | 6 | 12 audits | 6 | 6 hours | | **Rank check**
Billing: SEO Rank Check | Checks where a domain ranks on Google right now for one keyword, in the top 100 | The top results, plus the domain's own position. No position means the domain is not in the top 100. At most 100 results. | 14 + 0.5 per result | 10 | 19 | 1 hour | | **AI mentions**
Billing: AI Mentions | Checks whether ChatGPT and Google AI Overviews mention a brand or a domain | The platform, the question, the answer, AI search volume, cited sources, and last-seen date. At most 100. | 100 + 2 per result | 25 | 150 | 24 hours | A site audit is not one tool. For "audit my site", teammates run **Page audit** and **Lighthouse** on your key pages and write the findings into one doc. For rank tracking, teammates run **Rank check** from a routine and keep a doc with the changes. ```text Ask your lead theme={null} Every Monday, check where acme.com ranks for "invoice software" and "billing software". Keep a doc with the positions week by week. ``` ### Reviews On the Tools page: **Review sites**. For Google reviews of a place, see [Local](#local). | Tool | What it does | What it returns | Credits | Default results | Typical call | Cached for | | - | - | - | - | - | - | - | | **Trustpilot**
Billing: Reviews Trustpilot | Gets a company's Trustpilot reviews by its domain | Rating, title, text, author, date, and link of each review | 4 + 0.1 per result | 50 | 9 | 12 hours | | **Tripadvisor**
Billing: Reviews Tripadvisor | Gets Tripadvisor reviews by business name and place | The same fields | 4 + 0.1 per result | 50 | 9 | 12 hours | | **App Store**
Billing: Reviews Appstore | Gets reviews of an iOS app by the number in its store link | The same fields | 4 + 0.1 per result | 50 | 9 | 12 hours | | **Google Play**
Billing: Reviews Googleplay | Gets reviews of an Android app by the ID in its store link | The same fields | 4 + 0.1 per result | 50 | 9 | 12 hours | ### Ads On the Tools page: **Ads**. | Tool | What it does | What it returns | Credits | Default results | Typical call | Cached for | | - | - | - | - | - | - | - | | **Facebook ads**
Billing: Facebook Ads | Searches the Meta Ad Library for a brand or keyword, in one country (US by default) | Page name, ad text, platforms, start and end dates, and link of each ad | 9 + 1 per result | 25 | 34 | 12 hours | ### Twitter On the Tools page: **Twitter / X**. | Tool | What it does | What it returns | Credits | Default results | Typical call | Cached for | | - | - | - | - | - | - | - | | **User tweets**
Billing: Twitter User Tweets | Gets an account's recent tweets. At most 200. | Text, author, date, likes, retweets, replies, views, bookmarks, link, language, media, and quoted tweet | 1 | 50 | 1 | 1 hour | | **Search**
Billing: Twitter Search | Searches tweets, with search operators such as `from:` and `since:`, sorted by latest or top | The same fields for each tweet | 1 | 50 | 1 | 30 minutes | | **Profile**
Billing: Twitter Profile | Gets one account's profile | Handle, name, bio, followers, following, and verified status | 1 | 1 profile | 1 | 24 hours | ### YouTube On the Tools page: **YouTube**. | Tool | What it does | What it returns | Credits | Default results | Typical call | Cached for | | - | - | - | - | - | - | - | | **Search**
Billing: YouTube Search | Searches YouTube videos | Title, channel, link, views, likes, comments, date, duration, and description | 2 + 0.2 per result | 20 | 6 | 2 hours | | **Video info**
Billing: YouTube Video Info | Gets the details of one video | The same fields for that video | 1 | 1 video | 1 | 24 hours | | **Comments**
Billing: YouTube Comments | Gets the top comments on a video | Author, text, likes, date, reply count, and whether the channel owner wrote or liked it | 1 | 100 | 1 | 1 hour | | **Transcript**
Billing: YouTube Transcript | Gets the spoken text of a video, in a language the teammate picks | Text lines with start times | 8 | 1 video | 8 | 7 days | | **Channel**
Billing: YouTube Channel | Gets a channel's details | Name, subscribers, video count, view count, description, and link | 1 | 1 channel | 1 | 24 hours | ### LinkedIn On the Tools page: **LinkedIn**. | Tool | What it does | What it returns | Credits | Default results | Typical call | Cached for | | - | - | - | - | - | - | - | | **Profile**
Billing: LinkedIn Profile | Gets a public profile | Name, headline, location, about, followers, connections, experience, education, skills, and open-to-work status | 5 | 1 profile | 5 | 24 hours | | **Company**
Billing: LinkedIn Company | Gets a company page | Name, industry, size, about, and followers | 4 | 1 company | 4 | 24 hours | | **Posts**
Billing: LinkedIn Posts | Gets the posts a profile wrote, without reshares | Author, text, likes, comments, date, and link | 4 | 25 | 4 | 1 hour | | **Feed**
Billing: LinkedIn Feed | Gets a profile's activity: posts, reshares, and posts it engaged with | The same fields | 5 | 25 | 5 | 1 hour | | **Search**
Billing: LinkedIn Search | Searches LinkedIn for people, companies, or jobs | The matching profiles, companies, or jobs | 145 | 25 | 145 | 1 hour | ### Reddit On the Tools page: **Reddit**. | Tool | What it does | What it returns | Credits | Default results | Typical call | Cached for | | - | - | - | - | - | - | - | | **Subreddit**
Billing: Reddit Subreddit | Gets posts from a subreddit, sorted by hot, new, top, or rising. Top posts in a time window use **Subreddit** with a time window. | Title, subreddit, author, link, score, comment count, date, and text | 3 + 0.2 per result | 25 | 8 | 5 minutes | | **Search**
Billing: Reddit Search | Searches all of Reddit or one subreddit, with no time window or for all time | The same fields | 3 + 0.2 per result | 25 | 8 | 10 minutes | | **Subreddit** with a time window
Billing: Reddit Subreddit with a time window | Gets the top posts of a subreddit in a time window, such as the past week. Any window other than all time uses this price. | The same fields, without score and comment count | 65 + 4 per result | 25 | 165 | 5 minutes | | **Search** with a time window
Billing: Reddit Search with a time window | Searches all of Reddit or one subreddit for posts in a time window, such as the past week. Any window other than all time uses this price. | The same fields, without score and comment count | 65 + 4 per result | 25 | 165 | 10 minutes | | **Post comments**
Billing: Reddit Post Comments | Gets the comment thread under one post | Author, text, score, reply position, and date of each comment | 80 + 1 per result | 100 | 180 | 30 minutes | | **User**
Billing: Reddit User | Gets a user's posts, comments, or both | The same post fields | 3 + 0.2 per result | 25 | 8 | 1 hour | ### Instagram On the Tools page: **Instagram**. | Tool | What it does | What it returns | Credits | Default results | Typical call | Cached for | | - | - | - | - | - | - | - | | **Profile**
Billing: Instagram Profile | Gets a public profile | Handle, name, bio, followers, following, post count, and verified status | 3 | 1 profile | 3 | 24 hours | | **Posts**
Billing: Instagram Posts | Gets an account's recent posts | Caption, likes, comments, date, and media link | 3 | 25 | 3 | 1 hour | | **Hashtag**
Billing: Instagram Hashtag | Gets recent posts under a hashtag | The same fields | 3 | 25 | 3 | 30 minutes | ### TikTok On the Tools page: **TikTok**. | Tool | What it does | What it returns | Credits | Default results | Typical call | Cached for | | - | - | - | - | - | - | - | | **User**
Billing: TikTok User | Gets an account's recent videos | Caption, views, likes, comments, shares, date, and link | 3 | 25 | 3 | 1 hour | | **Search**
Billing: TikTok Search | Searches TikTok videos | The same fields | 3 | 25 | 3 | 30 minutes | | **Hashtag**
Billing: TikTok Hashtag | Gets recent videos under a hashtag | The same fields | 3 | 25 | 3 | 30 minutes | ### Other On the Tools page: **Bluesky**, **Hacker News**, **Product Hunt**, and **GitHub**. | Tool | What it does | What it returns | Credits | Default results | Typical call | Cached for | | - | - | - | - | - | - | - | | **Bluesky: User**
Billing: Bluesky User | Gets an account's recent posts | Text, author, likes, reposts, replies, date, and link | 1 | 25 | 1 | 1 hour | | **Hacker News: Search**
Billing: HackerNews Search | Searches stories and comments, by relevance or date | Title, link, author, points, comment count, and date | 1 | 25 | 1 | 10 minutes | | **Product Hunt: Launches**
Billing: ProductHunt Launches | Finds the launches that match your words among today's launches. When none match, it returns today's launches. | Name, tagline, link, upvotes, and launch date. At most 25. | 50 | 25 | 50 | 1 hour | | **GitHub: User**
Billing: GitHub User | Gets a public user profile | Name, bio, company, location, website, followers, following, and public repository count | 1 | 1 profile | 1 | 24 hours | | **GitHub: Repo**
Billing: GitHub Repo | Gets a public repository | Description, stars, forks, language, topics, last update, open issues, license, and homepage | 1 | 1 repository | 1 | 1 hour | ## Common questions **Settings** > **Billing and usage** > **Billing** shows **Usage by tool**, **Usage by teammate**, **Usage by task**, and **Recent credit usage**. In History, a research call shows the credits it used, or "cache hit" when it was free. See [What Squad costs](/docs/costs#where-to-see-your-spending). Yes. Tell the teammate, for example "don't spend more than 50 credits on this". The teammate records a budget on the task, and Squad refuses calls that would pass it. There is no dashboard field for it. See [Budgets for a task](/docs/costs#budgets-for-a-task). Squad checks your balance against the price at the number of results the teammate asked for, not the number that would come back. Ask the teammate to request fewer results, or buy credits. Not with research tools. They get public data only. For a site where you have an account, a teammate uses its browser on your squad's computer. When the site needs your sign-in, the teammate can send you a [form card](/docs/form-cards) to fill. See [Watch or take over a teammate's computer](/docs/computer). No. Apps that you connect on the **Apps** page, MCP servers, and email never use credits. See [What your teammates can do](/docs/agent-capabilities). # See what your squad did: History, Activity, and Health Source: https://squad.so/docs/runs-and-health Fix work that did not finish, find a run in History and read its detail, stop a run, check today's run problems on Health, and follow your squad in Activity. A run is one execution by one teammate: a routine, a trigger, a chat reply, an email it handled, a research call, or an action in a connected app. These places show what your teammates did: | Place | Use it to | How to open it | | - | - | - | | **Today** and **Needs you** | Fix work that did not finish today. | **Today** in the sidebar. See [Fix work that did not finish](#fix-work-that-did-not-finish). | | **History** | Find any run, read its full record, and stop a run that is going. | Press ⌘K (Ctrl+K on Windows) and select **History**, press `R`, or select **Every run, by day** at the bottom of **Activity**. | | **Health** | See today's failed runs and provider limits in one place. | Select the line about today's runs on a teammate's **About** page. | | **Activity** | Follow what your squad does. | **Activity** in the sidebar (under **More** unless you pinned it), **See all activity** on **Today**, **View all** in the bell, ⌘K **Activity**, or press `F`. | Squad for Mac (private beta) has the same **History** and **Activity**. On the Mac, also open them with **Go** > **History** or **Go** > **Activity** in the menu bar, and **History** with **History** in the menu bar panel's **⋯** menu. Where the Mac differs, see [On Squad for Mac (private beta)](#on-squad-for-mac-private-beta). ## Fix work that did not finish When a teammate's work did not finish today, **Today** and **Needs you** show a card for it, at the top of **Needs you**. You see these cards if you are the owner or an Administrator. * Each card is for one teammate, however many of its runs failed. An app whose connection expired gets its own card. * The card says what did not finish, for example "Mara's reply in chat didn't finish." or "Otis's work didn't finish 3 times today.", and why, for example "It ran out of time." When the runs were one routine's, the card names the routine. When they stopped for different reasons, it says "They stopped for different reasons." * The sentence on **Today** counts these cards apart, for example "1 problem needs fixing". Each card has the fix that fits: | Button | When it shows | What it does | | - | - | - | | **Reconnect** and the app's name | The teammate could not reach an app because the connection expired. | Opens the **Apps** page in **Settings**, where you connect the app again. See [Connect apps](/docs/integrations). | | **Open AI settings** | The runs failed because of your AI account, for example an expired sign-in or a usage limit. | Opens **AI** in **Settings**. See [Choose models and manage AI accounts](/docs/ai-accounts). | | **See what happened** | Every card except one with **Reconnect**. | Opens History in **Schedule**, with only this teammate's runs of the last 3 days. | | **×** (**Set this aside**) | Always. | Hides the problem in this browser for the rest of the day, while the same thing keeps failing. A different problem shows a card on its own, for example another routine, replies in chat, or an app whose connection expired. A problem that still fails the next day shows again. | On Squad for Mac (private beta), **Set this aside** hides the failures on the card until something fails again, so a new failure of the same work can show the card again the same day. A problem that you set aside on the web still shows on the Mac, and the other way around. When your AI account is signed out, a card at the very top says "\[AI account] is signed out, so your squad can't work.", with **Reconnect** and the account's name. Squad sends this only to the owner and Administrators, so only they see this card. The card goes away when the account works again. When your AI provider limits your squad, the sentence on **Today** says "\[provider] is limiting your squad right now." See [Rate limits and fallback](/docs/agent-stuck#rate-limits-and-fallback). ## Find a run Press ⌘K, type **History**, and select it. Or press `R`. Pick a view: **Schedule**, **Day**, **Week**, or **Month**. **Schedule** is the default. It shows the runs of the last 3 days, newest first. **Day** shows one day. **Week** shows 7 days. **Month** shows the current month up to today. Open the **Filters** panel and choose what to show: * **Teammates**: turn teammates on or off. * **Kind**: **Routines**, **Chats**, **Telegram and mentions**, **Emails**, **Research**, **Apps**, **Tools**, **Helpers**, **Triggers**. **Tools** is off until you turn it on. * **Routines**: **All routines** or one routine. Use **Earlier**, **Later**, and **Today** to move through the days. In **Week**, they move 7 days at a time. **Month** always shows the current month. In **Schedule**, select **Load older runs** to go back further. History shows today and the 30 days before it. On a narrow window, the filters panel hides. When a filter hides runs, History says **Some runs are hidden by a filter.** with **Show everything**. In **Month**, each day shows up to 3 runs and **+** and a number **more** for the rest. Select it to open that day in **Day**. Inside History, you can also press `S`, `D`, `W`, or `M` to change the view, `T` for today, and the arrow keys to move earlier or later. Each row shows the time, the teammate, the title, a line about the run, the skills used, and the duration. A routine's run has the routine's name as its title. Research rows also show the credits used. See [What Squad costs](/docs/costs). A row that is not finished, or that did not end well, has a mark: | Mark | What it means | | - | - | | **Running** | The run is still going. | | **Stopped** | Someone stopped the run. See [Stop a run](#stop-a-run). | | **Still finishing** | The run has not sent anything for a while, and it has not said that it finished. The row updates when it reports back. | | **Interrupted** | A restart or routine maintenance cut the run short, or a short AI provider problem stopped it and Squad picked it back up. | | **Didn’t finish** | The run ended with an error or ran out of time. The line under the title says why. | A run that finished has no mark. When a day in the range has more runs than History can list for one day, History says "A day here has more runs than History can list for one day. Its newest runs show, and its earliest don’t." See [Limits and defaults](/docs/limits-and-defaults#runs). ## Read a run's detail Select a row. The detail panel shows: * The kind of run, and **Finished** or the run's mark, with the duration * **Summary** and, for research runs, **Parameters** and **Result preview** * **What it touched**, and **Request** and **Response** where they apply * **Usage**: **Input tokens**, **Output tokens**, **Cache read tokens**, and **Cache write tokens** * **Skills used** * **View related task** when the run belongs to a task * **Technical details**, with the **Model**, **Provider**, **Reasoning** level, and **Channel**. When a run did not complete, the panel shows one of these labels: | Label | What it means | What to do | | - | - | - | | **Interrupted** | A restart, routine maintenance, or a short AI provider problem stopped the run. Squad does not count it as an error. After a provider problem, the detail says "The AI service hiccuped, and Squad picked this run back up." When Squad gave a chat message back to the teammate after a restart, the detail says "A restart cut this run short, and Squad picked it back up." Otherwise it says "Routine maintenance interrupted this run before it finished. It is not run again, so check that its work got done." | For a resumed run, nothing. The teammate continued in a new run. Otherwise, check that the work finished, and send the request again only if it did not. | | **Still finishing** | "This run hasn’t sent anything for a while, and it hasn’t said it finished. This updates when it reports back." | Wait. If nothing changes, send the request again. | | **Replaced by a newer job** | A newer run started in the same conversation and replaced this one. | Nothing. The newer run carries on. | | **Ran out of time** | The run went past a time limit. Chat runs have no time limit unless one is left from an earlier setting. A new routine's runs stop after 24 hours, and a routine with no limit saved stops after 60 minutes. | Select **Check the time limit**. See [Time limits](/docs/agent-stuck#time-limits). | | **Didn't finish** | The run ended with an error. A sentence below the label says why. The full error is under **Technical details**. | Read the sentence and **Technical details**. See [Fix a teammate that is stuck or failing](/docs/agent-stuck). | When a research or tool-call run failed because its tool was not working, its row says "The tool wasn't working", not the tool's own error. When any run fails this way, its detail says that the teammate "couldn't do this because a tool it uses isn't working right now. That's on Squad's side, not anything you did." The tool's own error is under **Technical details**. Such a run never shows **Ran out of time** or **Check the time limit**, also when the tool timed out. ## See helper runs When a teammate hands part of a job to a helper, the helper's run is its own row in History: * Its title is "Helper:" followed by the helper's short name, for example "Helper: Review the docs sync PR". When Squad has no name for it, or you cannot see the teammate that started it, the title is "Helper run". * It sits indented under the run that started it. When that run is on another day, the row says **Started by** and the teammate's name. * Its detail says who started it, for example "Mara started this helper." When Squad has them, it also shows **Open the run that started it** and **Open the chat**. It does not show what the helper was asked. The run that started it must be in the days that you are viewing for **Open the run that started it** to show. * The detail of a run that started helpers lists them under **Subagents**. * The **Helpers** filter appears when the list has a helper run. The helpers that a teammate on a Claude Code account starts have no run of their own. They are not rows in History and do not show under **Subagents**. Their work is part of the teammate's run, which stays **Running** until they finish. A run time limit from an earlier setting, or a routine's time limit, still ends the run and its helpers. See [Time limits](/docs/agent-stuck#time-limits) and [See the helpers your teammates start](/docs/chat#see-the-helpers-your-teammates-start). On a teammate's **About** page, **Lately** shows the recent helpers that the teammate started, as "Asked a helper:" and the helper's short name. When another teammate runs the helper, the line says "Asked", that teammate's name, "to help:", and the short name. Select a line to open what it is about, for example the conversation. Updates that the helper posts itself start with a **Helper** tag. ## See trigger runs A run that a trigger started is its own row in History: * Its title is "Webhook:" or "App event:" followed by the trigger's name. The **Triggers** filter under **Kind** shows or hides these runs. * One run can carry several events that arrived while the trigger's last run was going. * On the trigger's page, **Open in Runs** on an event opens its run in History. See [What a trigger run looks like](/docs/triggers#what-a-trigger-run-looks-like). ## Stop a run Stop a run when a teammate works on something that you did not mean to start, or takes a wrong turn. Before you start: you must be the owner or an Administrator. Collaborators and Viewers do not see **Stop**. An Administrator who is limited to some teammates cannot stop the runs of the other teammates. **Stop** is in three places: * In chat, under the teammate's working message. See [Stop a reply in progress](/docs/chat#stop-a-reply-in-progress). * In History, on the row of a run that shows **Running**. Research and tool rows have no **Stop**. * In the detail panel of a run that shows **Running**. Select **Stop**. Its tooltip says "Stop \[teammate]'s run. Anything it already saved stays." Select **Stop the run**. To let the run continue, select **Keep going**. **Stopping…** shows until the run ends. What happens: * Your squad's computer stops the run and the helpers that it started. Work that the run already did stays. For example, a saved file, a sent email, or a created task is not undone. * The run shows **Stopped**. Squad does not count it as a failure. You get no failure notification, Squad does not run it again, and it is not on **Health** or **Today**. * A run that finished before the stop arrived stays finished. * The teammate keeps the conversation. With your next message, it knows that the last run was stopped. ### When the stop does not go through | Message under **Stop** | Cause | What to do | | - | - | - | | "The stop didn't go through, so the run is still going. Press Stop to try again." | Your squad's computer could not stop the run, or did not confirm the stop in time. See [Limits and defaults](/docs/limits-and-defaults#runs). Runs on a Claude Code account cannot be stopped. | Select **Stop** again. A run on a Claude Code account finishes on its own. | | "This squad's computer needs an update before Stop works. It updates on its own, so try again later." | Your squad's computer runs an older version of Squad. | Try again later. | | "This run can't be stopped from here: Squad has no live session for it." | Squad cannot reach the run on the computer. | Wait for the run to end. | | "Squad couldn't find that run to stop it." | The run is not in this squad, or you cannot see its teammate. | Nothing. | | "Couldn't stop it:" and a reason | The request failed. | Select **Stop** again. | ## Check today's problems on Health The **Health** screen is for the owner and Administrators. It has no menu entry and no search entry. Open it from a teammate's **About** page. When that teammate had runs today that did not finish, the page shows a line such as "2 runs today didn’t finish." or "Some runs today were interrupted by maintenance." Select the line (**See what happened**). **Health** opens. The **Health** screen shows today's runs only. Its sections are: * **All clear**: "No failed or interrupted runs today, and no provider limits in effect." * **Provider status**: an AI provider is rate-limiting your teammates. See [Choose models and manage AI accounts](/docs/ai-accounts#troubleshooting). * **Needs a look**: each failed run, with the teammate, the run, the time, the error, **Technical details**, and **View in Runs**, which opens that teammate's runs in History. * **Routine interruptions**: runs that maintenance, a restart, or a provider error interrupted. Each row is tagged **resumed** or **not run again**. When every row is resumed, the section says "Routine events interrupted these runs, and each one resumed automatically, so nothing is needed from you." A run tagged **not run again** did not start again. Check the related task or chat to confirm that the work finished. A run tagged **resumed** was continued on its own: a routine run that Squad ran once more, or a chat message that Squad gave back to the teammate after a restart. See [Know when Squad resumes a failed scheduled run](#know-when-squad-resumes-a-failed-scheduled-run). **Back** at the top of **Health** returns you to **Today**. ## Know when Squad resumes a failed scheduled run When a routine's run fails because the AI provider had a temporary problem, Squad wakes the teammate once more, two minutes later. The teammate is told to check where it left off, finish the remaining work, and not redo steps that already succeeded. | Squad resumes the run when | Squad does not resume the run when | | - | - | | The provider reported a server error, an overload, or a dropped connection. | The error is a sign-in problem, an invalid key, a usage limit, a quota, billing, or "All models failed". | | The run was a routine's run. | The run was a chat reply or another kind of run. | | | The teammate is paused, or you paused that routine after the run started. | | | The teammate started a newer run, or you sent the teammate a message after the run started. | A resumed run shows "The AI service hiccuped, and Squad picked this run back up." in History and in its detail. A chat run that a restart cut off and that Squad continued shows "A restart cut this run short, and Squad picked it back up." instead. See [Interrupted runs](/docs/agent-stuck#interrupted-runs). It is listed under **Routine interruptions** on **Health**. Squad does not resume a run that failed with a rate-limit error. See [Choose models and manage AI accounts](/docs/ai-accounts#troubleshooting). ## Follow Activity **Activity** lists what your squad does, newest first. * Items that are new since your last visit have a blue dot. **Previously seen** marks where your last visit ended. * Select **Filter** to show one teammate (**Teammate**: **Everyone** or a name) or one kind (**Kind**: **All activity**, **Tasks**, **Needs you**, or **Updates**). **Show everything** clears the filter. * Select an item to open its task. An item without a task opens its activity page, where you can read the detail and add a comment. Viewers cannot comment. * Select **Load older activity** to see more. * Select **Every run, by day** at the bottom to open History. Activity leaves out the upkeep of your squad's computer, for example tool updates, AI sign-ins copied between teammates, and lists of new models. What a person did still shows. ## On Squad for Mac (private beta) Squad for Mac (private beta) has the same **History** and **Activity**, with these differences. **History** | On the web | On Squad for Mac (private beta) | | - | - | | **Earlier** and **Later** | **Older** and **Newer**. The keys are the same. | | The **Filters** panel | The **Filters** rail on the left. It starts folded. | | **Kind**: **Routines**, **Chats**, **Telegram and mentions**, **Emails**, **Research**, **Apps**, **Tools**, **Helpers**, **Triggers** | **Activity**: **Scheduled runs**, **Triggered runs**, **Manual runs**, **Chat**, **Emails**, **Research**, **Integrations**, **Tool calls**, **Helpers**, each with its count | | **Routines**: **All routines** or one routine | **Schedules**: **All schedules** or one routine | | A run that ran out of time shows **Didn’t finish** in its row. | The row shows **Ran out of time**. | | | A helper's row with no name says "A helper's job". Its detail shows **Helpers** with the count, and **Tokens used**. | * Under **Teammates**, a spinner shows a teammate that is running now. Otherwise the row shows when its next routine runs. * Under the filters, a small calendar picks a day. **Summary** shows **Total runs**, **Success rate**, and **Avg duration**. * In the detail of a failed run, the Mac adds one action. **Reconnect** and the app's name shows when a connection expired, for everyone except a Viewer. Otherwise, **Run it again** shows on a routine's run, for the owner or an Administrator. * Esc, or a click outside, closes the detail. * In **Week**, a busy day shows the runs that fit, then a link with the number and **more** that opens that day. **Activity** * **Filter** > **Kind** offers **Everything** instead of **All activity**. * The Mac also hides older upkeep rows. The web keeps entries from before. * **Activity** on the Mac does not list when someone takes over or hands back a teammate's computer. See [Hand back control](/docs/computer#hand-back-control). For the keys on the Mac, see [Keyboard shortcuts](/docs/mac/keyboard-shortcuts). ## Check that it works * A run that you just started shows as **Running** in History. When it finishes, the mark goes away, and its detail says **Finished**. * A run that you stopped shows **Stopped**. * **Health** shows **All clear** when nothing failed today. * **Activity** shows your teammates' latest actions at the top. ## Troubleshooting **A run from last month is missing.** Cause: History shows today and the 30 days before it only. Fix: none in the dashboard. For older work, check the related task or doc. **"Nothing here with this filter."** Cause: the filters hide every run. Fix: select **Show everything**, or turn teammates or kinds back on in the **Filters** panel. **Tool calls do not show in History.** Cause: **Tools** is off by default. Fix: turn on **Tools** under **Kind**. **An activity link shows "This activity isn’t available anymore."** Cause: the activity is older than the loaded part of the feed. Fix: open **Activity** and select **Load older activity**. # Schedule recurring work with routines Source: https://squad.so/docs/scheduled Create, edit, pause, run, and delete routines on the Routines page, and turn on your teammates' heartbeats. A routine is a set of instructions that one teammate runs on a schedule, even while you are away. Each time it fires, the teammate starts one run. All routines for all teammates are on the **Routines** page. To start work when something happens instead of at a set time, use a trigger. Triggers are on the same page, under **When something happens**. See [Start work when something happens (triggers)](/docs/triggers). Squad for Mac (private beta) has the same **Routines** page. Where the Mac differs, this page says so in [On Squad for Mac (private beta)](#on-squad-for-mac-private-beta). ## Open Routines **Routines** is a place in the sidebar. Open it in one of these ways: * Select **Routines** in the sidebar. It is under **More** unless you pinned it. See [Pin a place to the sidebar](/docs/what-squad-is#pin-a-place-to-the-sidebar). * On **Today**, select **See all routines** under **Today’s routines**. The section shows when a routine runs today. * On a teammate's **About** page, select **See all routines** under **Routines**. The section shows when the teammate has routines. * Press ⌘K (Ctrl+K on Windows), type **Routines**, and select it. * On Squad for Mac (private beta), you can also choose **Go** > **Routines** in the menu bar. ## Create a routine You can create a routine on the **Routines** page, or ask a teammate in chat. ```text Ask any teammate theme={null} Every Monday at 8:00, read the [name] doc and **Tasks**. Write a one-page summary of last week's tasks and what is blocked. Put it in Docs as "Weekly report - [date]" and send me the link. ``` The teammate creates the routine, and it shows on **Routines**. To create it yourself: Open **Routines**. See [Open Routines](#open-routines). Select **New routine**. Under **On a schedule, for**, select the teammate. The **New routine** editor opens. In **Title**, type a short name. In **Instructions**, write what the teammate must do on each run. See [Write instructions that work alone](#write-instructions-that-work-alone). In **Schedule**, select a preset, or **Custom (cron)** and type a cron expression. Optional: in **Model**, select a model. **Teammate default** uses the teammate's own model. Under **When it finishes**, select **Notify me** (**Sends you the result of each run**) or **Run quietly** (**Runs without sending a message**). Select **Create routine**. When the instructions name a skill or a file on your squad's computer, a chip under them shows it by name. See [Skills and files named in instructions](/docs/skills#skills-and-files-named-in-instructions). A new routine is on at once. If your cloud computer does not create it, the editor stays open and shows why. See [When a change fails](#when-a-change-fails). ### Schedule presets The presets are **Every 5 minutes**, **Every 10 minutes**, **Every 15 minutes**, **Every 30 minutes**, **Every 45 minutes**, **Hourly**, **Every 2 hours**, **Every 4 hours**, **Every 12 hours**, and **Daily**. A new routine starts with **Hourly**. The presets repeat at a fixed interval. **Daily** runs every 24 hours, not at a set clock time. To run at a set time, use **Custom (cron)**. For example, `0 7 * * 1` runs at 07:00 every Monday. Squad shows the schedule in words under the field, or **This cron expression isn’t valid yet. Five fields: minute, hour, day, month, weekday.** A cron expression has five fields: minute, hour, day, month, and weekday. ### Model and time limit * **Model**: each routine can use its own model. **Run now** also uses the routine's own model. For models, see [Choose models and manage AI accounts](/docs/ai-accounts). * **Time limit**: the editor has no time limit field. Each routine that you create on **Routines** gets 24 hours: its runs stop after 24 hours, or earlier when a run shows no progress for 15 minutes. Squad does not stop a run only because it is slow. A routine can still have a shorter limit from an earlier setting. A routine that a teammate created can have no limit saved, and such a routine stops after 60 minutes. The editor then says "This routine stops after \[time]. Runs longer than that are stopped even while they are still working. New routines get 24 hours." Select **Raise to 24 hours**, then **Save changes**. Your squad's computer also raises every limit that is unset or below 24 hours to 24 hours each time it restarts. See [Time limits](/docs/agent-stuck#time-limits). ## Choose the accounts of a routine When your squad has other people in it, or had them before, the routine editor has the field **Accounts it can use**. It stays after the last person leaves, so you can move routines back to your own accounts. It decides which connected app accounts each run of the routine may use. | Option | What each run can use | | - | - | | **Shared accounts and my own accounts** | The accounts shared with everyone, and the accounts of the person who saved the routine. The editor says "Each run can use the accounts shared with everyone and the accounts you connected." | | **Only accounts shared with everyone** | Only the accounts shared with everyone in the squad. The editor says "Each run can use only the accounts shared with everyone in this workspace." | * "My own accounts" always means the person who saves the routine. Nobody can point a routine at another person's accounts. When another person chose their own accounts, the editor names that person and says that only they can choose their own accounts there. * You and your Administrators can set this field. A new routine that you create on **Routines** starts with **Shared accounts and my own accounts**. * A routine that a teammate creates takes the setting of the person who asked for it. When you ask, in the dashboard or on Telegram, Discord, or Slack, the routine uses the accounts shared with everyone and your own accounts. When another person asks, it uses the shared accounts and that person's own accounts. When the request came from several people, for example in a group chat, or Squad cannot tell who asked, the routine uses only the accounts shared with everyone. A routine that a teammate creates while it handles an email uses your accounts. A routine created during a scheduled run, including a heartbeat, takes that routine's setting. * A routine that nobody set uses your accounts if it ran before the first person joined your squad. Otherwise it uses only the accounts shared with everyone until someone sets it. This includes routines that a teammate created before October 7, 2026, routines that a teammate on a Claude Code account creates, and routines created with a command instead of the teammate's scheduling tool. * **Duplicate (paused)** keeps the setting of the routine. A copy of a routine that uses another person's accounts starts with **Only accounts shared with everyone**. * When a person leaves or you remove them, their routines use only the accounts shared with everyone. * A routine that runs in the teammate's main session keeps using your accounts. A heartbeat routine runs on its own, so it follows its own **Accounts it can use** setting. The same setting decides what each run may do. A routine that runs in the teammate's main session can do everything that you can do. For other routines: * A routine that uses only the accounts shared with everyone works like a **Collaborator**. It can work on tasks, docs, and questions, but it cannot send email, change teammates, skills, or MCP tools, or set credit limits. This includes a routine that nobody set and that uses only shared accounts. * A routine that you saved with **Shared accounts and my own accounts** can do everything that you can do. * A routine that an **Administrator** saved with **Shared accounts and my own accounts** can do what that Administrator can do. To let a routine send email, you or an Administrator save it with **Shared accounts and my own accounts**. The routine then works with the accounts and the role of the person who saved it. See [Teammates work within the person's role](/docs/teammates#teammates-work-within-the-persons-role). To share an account, see [Who can use an account](/docs/integrations#who-can-use-an-account). ## Write instructions that work alone A scheduled run is a minimal session. Your teammates' instructions say that a scheduled run loads only the teammate's core files: its operating manual, its tool list, its **Personality**, its **Identity**, and **About you**. Do not rely on the teammate's **Notes** or on your chats in a scheduled run. So the instructions must carry the whole brief: * The inputs, by name: the docs, apps, or searches to read. * The work, step by step. * The output: where the result goes and in what form. * What to do in the edge cases, and when to ask you a question. ```text Instruction template theme={null} Every [cadence]: read [the docs, apps, or board by name]. Do [the work, step by step]. Output: [update doc X / create a doc named Y / send me a summary]. If [edge case], then [what to do]. If it needs my decision, ask me a question. Never [the mistake you want to prevent]. ``` ## Manage routines **Up next** at the top shows the next 4 runs. When a time is worked out from the routine's schedule, the caption says **Times are your workspace’s clock.** * Select **List** or **Week** to change the view. **List** groups the routines by teammate. Select a teammate's name to open that teammate's setup. **Week** shows seven day columns, from today, with the routines that are on and fit a weekly grid. Select a routine in it to edit it. Paused routines, and schedules that do not fit a weekly grid, show only in **List**. * Select **Filter** to show one teammate (**Teammate**) or one status (**Status**: **All routines**, **On**, **Paused**, or **Can’t run**). With more than 8 routines, **Search routines** also shows. It searches the names and the instructions. Each row shows the routine's name, when it runs in words, for example "Mondays at 7:00 AM", and **tells you when it’s done** or **runs quietly**. A heartbeat routine named `lead-heartbeat` shows as "Lead heartbeat". When the last run failed, the row shows its error and **See what happened**, which opens that run in History. | To | Do this | | - | - | | Run a routine now | Select **⋯**, then **Run now**. The row shows **Starting…** and then **Started**. This is a real run. | | Pause or turn on a routine | Select the switch on the row. A paused routine has a grey name. | | Edit a routine | Select the row, or **⋯** then **Edit**. Change the fields and select **Save changes**. | | Copy a routine | Select **⋯**, then **Duplicate (paused)**. The copy starts paused. | | Give a routine to another teammate | Select **⋯**, then **Hand it to someone else**, then the teammate. | | See past runs | Select **⋯**, then **Its runs**. History opens with this routine's runs. | | Delete a routine | Select **⋯**, then **Delete**, then **Click again to delete**. In the editor, **Delete routine** deletes it at once. | Delete removes the routine. You cannot restore it. With no routines and no triggers, the page says **Nothing repeats yet. Ask a teammate in chat (“every Monday at 8, send me…”), or use New routine.** ### When a change fails Squad waits until your squad's computer is ready before it creates, runs, or moves a routine. So while your squad's computer is starting, the change can take up to about a minute. When a change fails, the message says what failed and adds the reason that your computer gave. For **New routine**, the message shows in the editor, and the editor stays open. For the other actions, it shows above the list. For example: * "Your cloud computer did not create the task." and the reason, for example a cron expression that is not valid. * "Your cloud computer did not start the task." and the reason, for example "Job is already running." * "Your cloud computer did not move the task to that agent." and the reason. When Squad lost the connection to your computer, it cannot tell whether the change happened. The message then starts with "Squad lost touch with your cloud computer, so it cannot tell whether" and asks you to check the list before you try again. For **Run now**, it says "Check Runs before you try again." Runs is now **History**. Check first, because trying again can create or run the routine twice. When your cloud computer's disk is full, the message says that the computer is out of space, so the change was not saved. See [Your cloud computer's disk is low or full](/docs/agent-stuck#your-cloud-computers-disk-is-low-or-full). If pausing fails, the page shows the reason, or **Couldn’t update that schedule. Try again.** If a copy could not be paused, Squad shows **Duplicated, but the copy couldn't be paused. It is LIVE on the same schedule.** Pause the copy yourself. ### Fix the health warnings * A routine that cannot run shows **It can’t run as it’s set up: it reminds in the background while background reminders are off.** These routines show first. Select **Fix it**. The teammate's setup opens, where **Fix all** and the count fixes them. * "\[number] routines fire at the same minute": two or more routines that are on repeat every few minutes from minute :00, so they start together and wait behind each other. Select **Stagger them**. This moves only the start minutes. How often each routine runs does not change. ## Turn on heartbeats A heartbeat is a routine that wakes a teammate to check its work. On each heartbeat the teammate clears its mentions and assigned tasks and moves its own work forward. If nothing needs attention, it does nothing. Setup creates the chief of staff's heartbeat. The chief of staff creates a heartbeat for each teammate that it adds. Every heartbeat is created switched off. Until you turn them on, teammates work only when something wakes them, for example a chat message, an @mention, a task you assign, a question you answer, or an email to their inbox. To turn on a heartbeat yourself: Open **Routines**. See [Open Routines](#open-routines). Find the heartbeat routine. Its name ends in "heartbeat", for example "Lead heartbeat". Select the switch on the row. The name is no longer grey, and the heartbeat shows in **Up next**. The chief of staff's heartbeat runs more often than the heartbeats of the other teammates. For the intervals, see [Limits and defaults](/docs/limits-and-defaults#heartbeats). The chief of staff turns its own heartbeat on only when you clearly ask for it. You can also ask it to turn on the other teammates' heartbeats. ```text Ask your chief of staff theme={null} Yes, turn on the check-ins: your heartbeat and the heartbeats of the other teammates. ``` Each heartbeat is a run on your connected AI account, even when nothing needs attention. Heartbeats do not use credits. See [What Squad costs and what uses credits](/docs/costs). ## Pause and resume a teammate's routines When you pause a teammate, Squad pauses all of that teammate's routines that are on. For how to pause a teammate, see [Add, change, and pause teammates](/docs/agents#pause-a-teammate). When you resume the teammate, Squad turns on again only the routines that the pause turned off. Routines that you paused one by one before, and heartbeats that were off, stay off. A teammate that you paused on or before 27 September 2026 can be an exception. When you resume it, Squad can turn on all of its routines, including heartbeats. After you resume such a teammate, open **Routines** and pause the routines that you want to keep off. Pausing a teammate does not pause its triggers. Their events wait, and Squad delivers them when you resume the teammate. See [Pause, change, or delete a trigger](/docs/triggers#pause-change-or-delete-a-trigger). ## On Squad for Mac (private beta) Squad for Mac (private beta) has the same routines, with these differences. **The list** | On the web | On Squad for Mac (private beta) | | - | - | | **Filter** > **Status**: **All routines**, **On**, **Paused**, or **Can’t run** | **Filter** > **State**: **Any**, **Running**, **Paused**, or **Can't run** | | **Search routines** shows with more than 8 routines. | **Search routines** shows with more than 12 routines and triggers. See [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). | | **⋯** > **Run now**, **Hand it to someone else**, **Its runs** | **⋯** > **Run Now**, **Reassign to**, **See Its History**. **Reassign to** shows only when the squad has more than one teammate. | | No pin in the **⋯** menu. The owner pins a routine with **Pin a reminder** in the command palette (⌘K). | The owner can choose **⋯** > **Pin to Sidebar** to put the routine in the sidebar. On a pinned routine, it is **Unpin from Sidebar**. | | | A routine's row also shows its model when one is set. | | | A red dot after the name marks a routine that **Can't run as it's set up**. | | | When you are not the owner or an Administrator, a note says "You can see when the squad works. The squad owner or an Administrator changes the schedule." | **The week** * **Week** shows Monday to Sunday at the routines' times in your time zone. Use the arrows to move a week, and **Back to today** to return. The Mac keeps your choice of **List** or **Week**. * When more than one teammate has routines, chips at the top show or hide each teammate's routines. * The **Runs continuously** row lists the routines that run at a set interval. After the first ones, a link with the number and **more** switches to **List**. * When too many routines start in the same hour, a "+" marker with a number opens the agenda, a list of every routine. **Back to the week** returns to the grid. * Select a routine to see its schedule, model, last and next run, and last result. The owner or an Administrator can select **Pause**, **Resume**, or **Edit** there. **The editor** * **Model** offers **Their default** instead of **Teammate default**. **When it finishes** offers **Notify me · sends you the result of each run** and **Run quietly · no message**. * **Create routine** and **Save changes** stay off while the title is empty or the schedule is not valid. * Press ⌘Return to save. If you close the editor with Esc, the Mac keeps what you typed for next time. * After a save, a message can say that the change applies in the background, usually in a minute or two. **The health warnings** * The owner and Administrators see a card at the top of **Routines** that names the routine that can't run, with **Fix it**. With several, the card says "N routines can't run as they're set up." and the button is **Fix them**. Other people see the card without the button. * Fixing makes every routine that reminds its teammate in the background run straight on its schedule, not only the ones that can't run. It also turns off **Check-ins on a timer** for all teammates. Schedules, instructions, and notifications stay the same. When a routine has no chat to report to, pick one under "Where should \[routine] tell you?" first. * Instead of **Stagger them**, the **⋯** menu beside **New routine** offers **Spread Out Routines That Start Together**. How often each routine runs does not change. When **Routines** cannot reach your squad's computer, the Mac says "Your squad's computer is asleep", with **Wake and retry**. For keyboard navigation on the Mac, see [Keyboard shortcuts](/docs/mac/keyboard-shortcuts). ## Who can do what The owner and Administrators can create, change, run, pause, and delete routines. An Administrator who is limited to some teammates manages only the routines of those teammates. Collaborators and Viewers can read the routines and open **Its runs**. Routines are not on a public dashboard. ## What teammates can do with routines Teammates create routines when you ask in chat, and the routine shows on **Routines**. For work that should start each time something happens, teammates can suggest a trigger instead. See [Approve a trigger that a teammate suggests](/docs/triggers#approve-a-trigger-that-a-teammate-suggests). The chief of staff sets up a heartbeat, switched off, for each teammate that it adds. It turns heartbeats on only when you clearly ask. ```text Ask your chief of staff theme={null} List every routine in the squad with its schedule and what it does. Pause the ones that have not produced anything useful in the last two weeks, and tell me which ones you paused. ``` ## Common questions Routines that start at the same minute wait behind each other. Select **Stagger them** when Squad warns about it. ## Check that it works * The new routine shows in the list with its switch on, and its next run shows in **Up next**. * After **Run now**, a run for the routine shows in History, under the routine's name. Select **⋯**, then **Its runs**. See [See what your squad did](/docs/runs-and-health). * With **Notify me**, the result of each run is sent to you. ## Troubleshooting * **Routines** shows **This teammate is asleep**. Cause: Squad reads routines from your squad's computer, and it did not answer. Fix: select **Wake & retry**. * A routine shows **It can’t run as it’s set up**. Cause: it is a background reminder while background reminders are off. Fix: select **Fix it**. On Squad for Mac (private beta), the fix is on the card at the top of **Routines**. See [On Squad for Mac (private beta)](#on-squad-for-mac-private-beta). * A change fails with "Squad lost touch with your cloud computer". Cause: the connection dropped before your computer answered. Fix: check the list, or History for **Run now**, before you try again. * A daily routine runs at a different time than you expected. Cause: **Daily** is an interval of 24 hours, not a clock time. Fix: use **Custom (cron)** with a set time. * A run skipped work it did last time. Cause: scheduled runs do not load the teammate's **Notes** or your chats. Fix: put the facts and doc names in the routine's instructions. # Search and keyboard shortcuts Source: https://squad.so/docs/search Look up what the command palette searches, every keyboard shortcut, and where each place opens from. This page is for anyone who wants to move around the dashboard faster. It lists what the command palette finds, every keyboard shortcut, where each place opens from, how pins work, and how the layout changes on a phone. On Squad for Mac (private beta), the shortcuts are different. See [Keyboard shortcuts](/docs/mac/keyboard-shortcuts). For the Mac's command palette, see [The command palette on Squad for Mac (private beta)](#the-command-palette-on-squad-for-mac-private-beta). ## Command palette The command palette finds teammates, tasks, docs, emails, projects, contacts, questions, workflows, apps, docs guides, and places, and it runs a few actions. Every place and page has an entry, also the pages that are not in the sidebar. Health is the one exception. | To | Do this | | - | - | | Open or close the palette | Press **⌘K** on a Mac or **Ctrl+K** on Windows and Linux. This works on every screen, also while you type in a text field. On a wide window there is no search box. Use the keys, or **Keyboard shortcuts** at the bottom of **Help & support**. | | Open the palette with the mouse | On a phone, tap **Search or jump to…** in the top bar. **Keyboard shortcuts** at the bottom of **Help & support** also opens it. | | Move through the results | Press **↑** and **↓**, or **Tab** and **Shift+Tab**. **Tab** wraps from the last result to the first. | | Open the highlighted result | Press **Enter**, or click the result. The result that is highlighted is the one that opens, also when new results arrive while the palette is open. | | Close the palette | Press **Esc**, or click outside it. | The search box says **Search teammates, tasks and docs**. When nothing matches, the palette shows **No results for** and your text, with "Try a screen name, teammate, task, or document." ### What the palette searches With an empty search field, the palette lists up to 5 of your open questions under **Needs you**, then the actions **New task**, **New project**, **Pin a task**, and **Pin a doc**. When you type, it shows matching questions first, then matching items, then matching places and actions. It shows up to 40 results. Every word that you type must match. | Group | Matches on | Results shown | | - | - | - | | **Needs you** | The question and the teammate's name. Selecting one opens its task, or **Needs you**. | Up to 5 | | **Contacts** | A contact's details, after you type 2 or more characters | As many as Squad finds, up to 8 | | **Projects** | Name and what the project is about. An archived project says **Archived**. | Up to 5 | | **Teammates** | Name and role | All matches | | **Tasks** | Title | Up to 5 | | **Documents** | Title and excerpt | Up to 5 | | **Email** | Subject and sender | Up to 5 | | **Workflows** | The name of a workflow in What's possible | Up to 4 | | Apps, with no group heading | App name in the app catalog. The row says **Connected**, **Needs reconnecting**, or **In the catalog · connect it**. | Up to 4 | | **Help & guides** | Docs page title and summary. Selecting a result opens the page at squad.so/docs in a new tab. | Up to 4 | | **Go to** and **Actions** | Place name, its description, and related words | All matches | Email results come from the emails that **Email** loaded. If you have not opened **Email** since you opened the dashboard, the palette shows no email results. Places also match related words that are not shown. For example, "timezone" finds **Squad**, "my tickets" finds **Needs you**, "automations" finds **Routines**, and "api key" finds **AI** and **Secrets**. ### Places in the palette These are the **Go to** entries, in the order the palette lists them. Each person sees only the entries that their role can open. | Entry | Description in the palette | Opens | | - | - | - | | **Today** | None | Today | | **Tasks** | Everything your squad is working on | Tasks | | **Needs you** | Questions waiting on you | Needs you | | **Archived tasks** | None | The archived tasks | | **Email** | Your teammates' inboxes | Email | | **Docs** | Everything your squad wrote | Docs | | **Contacts** | People, companies and pipelines | Contacts | | **Activity** | What your squad did | Activity | | **What's possible** | What your squad can do for you | What's possible | | **Skills** | Skills your teammates built | Skills | | **Settings** | None | Settings | | **People** | Invite someone, and who can do what | **Settings** > **People** | | **Apps** | Apps your squad can read and act on | **Settings** > **Apps** | | **What your squad knows** | About you, the business, its words, memories | Memory | | **Teammate notes** | Notes, personality, and what each teammate knows about you | Memory, the same page as **What your squad knows** | | **AI** | The AI your squad thinks with, and its accounts | **Settings** > **AI** | | **Secrets** | Custom integration credentials | The **Custom integrations** tab of **Settings** > **Apps** | | **Email domains** | Custom sending domain | **Settings** > **Email** > **Domains** | | **Wallet** | Cards your teammates can use | Wallet. Typing "payment cards" also finds it. | | **Billing** | Plan, credits and how you pay | **Settings** > **Billing and usage** > **Billing** | | **Notifications** | What reaches you in Squad and by email | **Settings** > **Notifications** | | **Backup** | Everything in your squad, in one file | **Settings** > **Squad** > **Backup** | | **Squad** | Your name, the squad name, reset or delete | **Settings** > **Squad** > **General** | | **Teammates** | Defaults for every teammate, and each one’s setup | **Settings** > **AI** > **Teammates** | | **Routines** | Routines: work that runs on a schedule | Routines | | **Triggers** | Routines: wake a teammate from a webhook or an app event | The triggers on Routines | | **History** | Every run, by day | History | | **Help** | Guides, and how to reach us | Help & support | | **What's new** | Product changelog | What's new | | **Tools** | Everything teammates can use; turn off what you don’t need | **Settings** > **AI** > **Tools** | | **Telegram** | Chat with your squad from your phone | **Settings** > **Apps** > **Telegram** | | **Discord** | Your teammates on Discord | **Settings** > **Apps** > **Discord** | | **Slack** | Your teammates in Slack | **Settings** > **Apps** > **Slack** | | **Public dashboard** | Read-only shareable view | **Settings** > **Squad** > **Public dashboard** | ### Actions in the palette | Action | What it does | | - | - | | **New task** | Opens the **New task** window. See [Give your squad work that it can finish](/docs/delegate). | | **New project** | Opens a window to make a project. | | **Hide the sidebar** or **Show the sidebar** | Shrinks the sidebar to icons, or opens it again. | | **Pin a task** | Opens a picker and pins the task you choose to the sidebar. | | **Pin a doc** | Same, for a doc. | | **Pin an email** | Same, for an email. | | **Pin a reminder** | Same, for a routine. | | **Pin a conversation** | Same, for a conversation with a teammate. | To ask a teammate to do something, use chat. Most search fields show an x (**Clear the search**) once they have words, for example **Search conversations**, **Search tasks**, **Search docs**, **Search skills**, **Search email**, **Find a setting**, and **Find an integration**. Select it to empty the field. ### The command palette on Squad for Mac (private beta) Press ⌘K, or choose **Go** > **Search Squad…**. The palette works as on the web, with these differences: * With nothing typed, it shows the first questions from **Needs you**, then **Actions**, then **Go to**. * Results come in these groups: **Needs you**, **Teammates**, **Projects**, **Tasks**, **Docs**, **Email**, **Help and ideas**, **Apps**, **Actions**, and **Go to**. * **Actions** include **New task**, **New project**, and **Talk to your squad**, except for a Viewer, and **Pin a task**, **Pin a doc**, and **Share your squad's day**. The owner also gets **Pin an email**, **Pin a reminder**, and **Pin a conversation**. * **Go to** lists the places that your role can open, **Archived tasks**, **Task trash**, **Squad defaults**, and the **Settings** pages that your role can see. The owner and Administrators also get **Secrets**, and, under **Teammates**, **What** followed by each teammate's name and **knows**. * When you pick an app that is not connected, the palette opens **Settings** > **Apps** to connect it. A Viewer cannot connect apps. * When nothing matches, the palette says "Try a teammate, a task, a doc or the name of a screen." For how many results each group shows, see [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). ## Keyboard shortcuts ### Shortcuts on every screen These single keys work when the cursor is not in a text field. They do not work with **⌘**, **Ctrl**, or **Alt** held down. Letter keys work only as lowercase letters, so they do nothing with **Shift** or Caps Lock on. | Key | What it does | | - | - | | **⌘K** or **Ctrl+K** | Opens or closes the command palette. This one also works in text fields. | | **H** | Opens Today. | | **B** | Opens Tasks. | | **E** | Opens Email. | | **C** | Opens Chat. | | **F** | Opens Activity. | | **R** | Opens History. | | **?** | Opens or closes the **Keyboard shortcuts** legend. The legend still names **H** "Home" and **R** "Runs". | | **Esc** | Closes the legend, the palette, the welcome window, or a doc preview. | ### Shortcuts on one screen | Where | Key | What it does | | - | - | - | | Email | **J** | Opens the next email in the list. After the last email, it goes to the first. | | Email | **K** | Opens the previous email in the list. Before the first email, it goes to the last. | | History | **D**, **W**, **M**, **S** | Switch to the **Day**, **Week**, **Month**, or **Schedule** view. | | History | **T** | Jumps back to today. | | History | **←** | Moves the date window back, to older runs: 1 day in **Day**, 3 days in **Schedule**, and 7 days in **Week**. It stops at the oldest loaded day, 30 days back. It does nothing in **Month**. | | History | **→** | Moves the date window forward by the same step, toward today. | | A project in the sidebar | **R**, **A**, **B**, **D** | While the project row has the keyboard focus: **R** renames and **A** archives an open project, **B** brings back an archived one, and **D** deletes it. | | A conversation in a teammate's list | **P**, **U**, **R**, **F**, **A** | While you point at the conversation or it has the focus: pin it, mark it as read, rename it, fork it, or archive it. | | A place in the sidebar | **P**, **U** | While the place's row has the keyboard focus: **P** pins or unpins it. **U** on **Docs**, while it has a count, marks every doc as read. | The History keys do not work while a run's details are open. ### Shortcuts in a message box These keys work in chat, in conversations, and in group chats. | Key | What it does | | - | - | | **Enter** | Sends the message. | | **Shift+Enter** | Starts a new line. | | **@** | Lists your teammates, so you can mention one. In a group chat, it also lists the people in your squad. | | **/** | Lists skills, so you can pick one. | | **#** | Lists tasks and docs, so you can point at one. | | **Enter** or **Tab** in a list | Picks the selected item. | | **Esc** in a list | Closes the list. | | **↑** at the start of the box | Brings back a message you sent before. **↓** steps forward again. | In the Squad chat, **/** does not list skills, and **#** links docs only. When you rename a conversation, **Enter** saves the name and **Esc** cancels. ### Shortcuts in forms and windows | Where | Key | What it does | | - | - | - | | **New task** window, **Title** field | **Enter** | Creates the task. | | Docs, new doc title or new folder name | **Enter** | Creates the doc or folder. **Esc** cancels. | | Memory, **Memories** search | **Enter** | Runs the search. | | Needs you, archive reason | **Enter** | Archives the question, or the filtered questions. | | A doc preview | **Esc** | Closes the preview. While you type in a field of the doc, **Esc** only leaves the field. | | Open menus and windows | **Esc** | Closes most menus and confirm windows. | ## Places and pages The sidebar holds **Today**, then the places that you pinned, then **More** with every other place. See [Places in the sidebar](/docs/what-squad-is#places-in-the-sidebar). Places and pages also open from where they belong, from the palette, or from their URL. The URLs did not change when the places were renamed. | Place or page | Where it is | Other ways to reach it | | - | - | - | | Needs you | Not in the sidebar. **Today** is marked while it is open. | The link under **Needs you** on **Today** (**See all** and a number, when more wait than Today lists), **Open Needs you** on a teammate's **About**, the palette, or `/dashboard/board/mine`. | | Tasks | A place | **See all tasks** on a teammate's **About**, the number of tasks finished today in **Today**'s first sentence (only after a task finished that day), the **B** key, the palette, or `/dashboard/board`. | | Archived tasks | Inside **Tasks** | The palette, or **Archived** under the **Done** column on **Tasks**. | | Routines | A place | **See all routines** on **Today** or on a teammate's **About** (when there are routines to list), the palette, or `/dashboard/scheduled`. | | Activity | A place | **See all activity** under **Today so far** (when your squad did something today), **View all** in the bell (when it has notifications), the **F** key, the palette, or `/dashboard/feed`. | | History | Not in the sidebar. **Activity** is marked while it is open. | **Every run, by day** at the end of **Activity**, **See what happened** on a problem under **Needs you** or on a routine that failed, the **R** key, the palette, or `/dashboard/runs`. | | Health | Not in the sidebar | A notice on a teammate's **About** when its runs failed today, or `/dashboard/health`. Health is not in the palette. Health opens only for you and Administrators. | | Contacts | A place | **Contacts** in the inbox menu on **Email**, the palette, or `/dashboard/contacts`. | | Wallet | A place | The palette, or `/dashboard/wallet`. The old address `/dashboard/settings/payment-cards` opens the Wallet. | | Skills | A place | **Skills** at the end of a teammate's **About**, the palette, or `/dashboard/skills`. | | Memory | The place **What your squad knows** | **What** followed by a teammate's name and **knows** at the end of its **About**, the palette entry **What your squad knows**, or `/dashboard/memory`. | | What's possible | **Ideas for your squad** in the **Help** menu | **See all** in the **What’s possible** row on **Today**, or the palette. | | What's new | **What’s new** in the **Help** menu | **What’s new** at the bottom of **Help & support**, or the palette. | | Custom integrations | In **Settings** | The palette entry **Secrets**, a Settings search such as "secret", or the **Custom integrations** tab on **Settings** > **Apps**. | ## Pins Pins keep a task, doc, email, reminder, or conversation one click away in the **Pinned** section of the sidebar. To pin a whole place, such as **Tasks** or **Wallet**, under **Today**, see [Pin a place to the sidebar](/docs/what-squad-is#pin-a-place-to-the-sidebar). * The **Pinned** section is hidden until you pin something. To pin a doc, an email, or a reminder before then, use a **Pin** action in the palette. * After your first pin, the **+** beside **Pinned** opens **Pin a…**, with **Task**, **Doc**, **Email**, **Reminder**, and **Conversation**. People in your squad, Administrators too, can pin only tasks and docs: their **Pin a…** lists only **Task** and **Doc**, and they do not see **Pin an email**, **Pin a reminder**, or **Pin a conversation** in the palette. * You can also pin a task from its card menu, and a conversation from its menu with **Pin to sidebar**. Pinning a conversation again unpins it. * Pins are saved to your account. They show on every computer and phone where you sign in to the squad. * A pinned conversation shows its current name, also after you rename it. * A new pin shows after Squad saves it. If the save fails, the sidebar does not change. Try again. * For how to pin from each screen, see [Pin things to the sidebar](/docs/chat#pin-things-to-the-sidebar). * A workspace reset removes all pins. For the size limit, see [Limits and defaults](/docs/limits-and-defaults#sidebar). ## Top bar and sidebar On a wide window, the dashboard has no top bar. The sidebar holds everything. | Control | What it does | | - | - | | Your squad's name at the top of the sidebar | Opens **Switch workspace**. | | Bell beside the squad's name | Shows your notifications. The number stops at **9+**. | | **Help** (the question mark) at the bottom of the sidebar | Opens a menu with **Help and support**, **What’s new**, and **Ideas for your squad**. A blue dot means that **What's new** has updates that you have not read, and the menu then shows the number, for example **What’s new (3 new)**. Use the arrow keys to move in the menu and Esc to close it. | | **Settings** at the bottom of the sidebar | Opens Settings. | | Your name at the top of **Settings** | Opens **You**: your name, your email address, and **Sign out**. | | **More** | Folds or opens the list of places that you have not pinned. It starts folded. See [Pin a place to the sidebar](/docs/what-squad-is#pin-a-place-to-the-sidebar). | | **Collapse sidebar** | Shrinks the sidebar to a narrow column of icons, with the bell, your places, **More**, your teammates' faces, **Help**, and **Settings**. **Expand sidebar** opens it again. | | Right edge of the sidebar | Drag it to make the sidebar wider or narrower. Double-click it to go back to the default width. | The browser tab's title starts with the number of things that need you, for example "(3) Squad". It is the same number as on **Today**. ### On a phone On a small screen, the dashboard changes its layout. | Control | What it does | | - | - | | Bar at the bottom of the screen | Opens **Today**, **Squad**, your first two pinned places (at first **Email** and **Docs**), and **More**. **More** lists every other place, each with a pin to pin or unpin it. A pinned place's pin is filled in, and a new place says **New**. **Squad** opens the full sidebar, with your places, teammates, projects, group chats, pins, **Help**, and **Settings**. | | **Menu** button at the top left | Opens the same full sidebar. | | **Search or jump to…** | In the top bar. It opens the command palette. | | Message icon in the top bar | With unread replies in your conversations, it shows a count and lists the replies you have not seen. See [Which replies are new for you](/docs/chat#which-replies-are-new-for-you). | | Bell in the top bar | Shows your notifications. | | Button with your initial in the top bar | Opens the account menu: **What's new**, **Help and contact us**, **Settings**, **Billing**, **Memory**, **AI tokens**, and **Sign out**. Each person sees only the items that their role can open. | Keyboard shortcuts need a keyboard. The **Keyboard shortcuts** link at the bottom of **Help & support** opens the command palette. To see the shortcut legend, press **?**. For the settings behind these screens, see [Settings reference](/docs/settings). # Settings reference Source: https://squad.so/docs/settings Look up every page in Settings, with each control, its default, and who can open it. This page lists each page in **Settings**, with its controls, what they do, and their defaults. Numbers such as caps and time limits are on [Limits and defaults](/docs/limits-and-defaults). Credit amounts and prices are on [What Squad costs](/docs/costs). On Squad for Mac (private beta), see [Settings, notifications, and updates](/docs/mac/settings). ## Open Settings * On a wide window, select **Settings** (the gear) at the bottom of the sidebar. * On a phone, open the account menu with the button that shows your initial at the top right, then select **Settings**. You can also open **Menu** at the top left and select the gear at the bottom of the sidebar. * Press ⌘K or Ctrl+K, type the name of a page, for example **People** or **Billing**, and select it under **Go to**. Most Settings pages have an entry: **General** is listed as **Squad**, and **Domains** as **Email domains**. **Inboxes and rules** has no entry: open it from **Settings** > **Email**. See [Search and keyboard shortcuts](/docs/search). The dashboard has no account menu on a wide window. Your name, your email address, and **Sign out** are on **Settings** > **You**. ## How Settings is laid out **Settings** opens a list, the rail. From top to bottom it has: * **Find a setting**, a search field. * A row with your initials, your name, and the squad's name. It opens **You**. * Seven areas: **Squad**, **People**, **Billing and usage**, **Apps**, **AI**, **Email**, and **Notifications**. Select an area to open its first page. When an area has more than one page, its pages show as tabs above the page's title. On a wide window, the rail stays beside the open page. On a narrow window, a page has **← Settings** to go back to the list. A page that you opened from outside Settings, for example from a teammate's page, has a back link named for where you came from. | Area | Pages (tabs) | | - | - | | **Squad** | **General**, **Public dashboard**, **Backup** | | **People** | **People** | | **Billing and usage** | **Billing** (only the owner) | | **Apps** | **Apps**, **Telegram**, **Discord**, **Slack** | | **AI** | **AI**, **Tools**, **Teammates** | | **Email** | **Inboxes and rules**, **Domains** | | **Notifications** | **Notifications** | People see only the areas and pages that their role allows. For example, only the owner sees **Billing and usage**. See [What each role sees in Settings](#what-each-role-sees-in-settings). On Squad for Mac (private beta), Settings opens in its own window, and it has no **Tools** or **Teammates** pages: open them in the web dashboard. The **Wallet** is a place in the main window, and **Find a setting** finds it under **In the main window**. **Billing and usage** has **Billing** and **Cancel**. **Notifications** has two pages, **Email and in Squad** and **On this Mac**, and a **This Mac** area is added. See [Settings, notifications, and updates on the Mac](/docs/mac/settings). ### Find a setting Type in **Find a setting** to list the pages that match, each with its area under its name. Every word that you type must match the page's name, its area's name, or a related word. For example, "email domain" finds **Domains**, "timezone" finds **General**, and "seats" finds **People**. Under **Outside Settings**, the list also shows the places that match and that you can open: **Wallet**, **Skills**, **What your squad knows**, and **History**. For example, "card" finds **Wallet**. Select one to open it. With no match, the list says "No setting matches" and your words, then "Try a word like billing, team or API key." To empty the field, select the x (**Clear the search**). A **Custom integrations** result shows only when you search, for example for "secret", "env", or "api key". It opens **Custom integrations** in **Apps**. Only the owner and Administrators get this result. ### Pages that are not in Settings **Skills**, **Memory** (**What your squad knows**), **History**, and the **Wallet** are not in Settings. Skills, Memory, and the Wallet are places in the sidebar. See [Places in the sidebar](/docs/what-squad-is#places-in-the-sidebar). You can also open them from the command palette, or from a teammate's page: **Skills** and **What** followed by the teammate's name and **knows** are at the end of the teammate's **About**. History also opens with the R key and from **Every run, by day** at the end of **Activity**. See [Add and manage skills](/docs/skills), [Manage what your squad remembers](/docs/memory), and [See what your squad did](/docs/runs-and-health). ## You Select the row with your name at the top of the rail. Everyone in the squad can open it. | Control | What it does | Default | | - | - | - | | Your name and email address, with **Sign out** | **Sign out** signs you out of the dashboard. | Not applicable | | **Squad** | The name of the squad that is open. | Not applicable | | **Your role** | A sentence with your role, for example "You are an Owner in this squad." | Not applicable | | **Animated teammates** | Each teammate's face shows what it is doing: a dot that circles while it works, an ember dot when it needs you, and closed eyes while it is paused. Off keeps the faces still. The faces also stay still when Reduce Motion is on in your system settings. The choice is kept in this browser only. On Squad for Mac (private beta), this switch is in **Settings** > **This Mac** > **General**. | On | You change your name on **General**, not here. ## Squad ### General The page's title is **Squad**. It has a **General** card and a **Danger zone** card. | Control | What it does | Default | | - | - | - | | **Your name** | The name your teammates call you in chats and messages. | The name you gave at setup. | | **Squad name** | A label for this squad. It does not change what your teammates call you. Shows for the owner and Administrators. | The name you gave at setup. | | **Reset squad…** | Wipes teammates, tasks, docs, chat, and settings, and removes the people in your squad and open invites, then takes you back to setup. Your seats stay until you release them. You must type the squad's name to confirm. Only this squad is reset. Only the owner sees this row. A checklist shows each step while it runs. See [Reset your workspace](/docs/billing#reset-your-workspace). | Not applicable | | **Delete…** (**Delete squad**) | Shows the message "Contact support to delete a squad". It does not delete anything. Only the owner sees this row. | Not applicable | Both names save by themselves a moment after you stop typing, and also when you press Enter or leave the field. **Saved** shows after a save. If you empty a name field, nothing is saved and the saved name comes back. For anyone who is not the owner, the page is different: * **Your access** says "You are a Collaborator in this squad." (or their role), with a line that explains the role. * **Your name** says "People in this squad and your teammates call you by this name." * **Danger zone** has **Leave squad…** instead of **Reset squad…** and **Delete…**. See [Leave a squad](/docs/teammates#leave-a-squad). **Reset squad** cannot be undone. Download a copy from **Backup** first. ### Public dashboard | Control | What it does | Default | | - | - | - | | **Public dashboard** switch | Anyone with the link can view a read-only snapshot. | Off | | **Share link** and **Copy** | Copies the link. | Not applicable | | **Regenerate link** | Makes a new link after you confirm. The old link stops working at once. | Not applicable | | **Preview public view** | Opens the public page in a new tab. | Not applicable | | **Search engine indexing** | Lets search engines index the public page. | Off | | **What's visible** | A summary of what visitors see: **Squad & status**, **Task board**, and **Docs** are **Shown**. **Email** and **Settings** are **Hidden**. | Not applicable | **Copy** also turns the public dashboard on. Anyone with the link can see your tasks, task threads with comments and the answers to questions, your teammates' pages, and Docs. Email is not shown. Archive or delete any doc that you do not want others to see before you share the link, and archive any task whose thread must stay private. Turning the switch off and on again brings back the same link. To stop an old link for good, use **Regenerate link**. The partner referral link is on **Billing**, in **Earn credit**. For more, see [Share a read-only view of your workspace](/docs/sharing). ### Backup The page's title is **Backup and export**. **Export JSON** downloads a file named `mission-control-export.json`. The file contains your workspace details, your teammates, every task with its comments, every doc, your run history, your pipelines, your contacts with their email addresses and leads, the contacts' timeline events, the last 500 activity items, and the last 500 Squad chat messages. It does not contain email, even though the page says that it does. It also does not contain your chat conversations with teammates, memory files, or saved credentials. The owner and Administrators can open this page. An Administrator who is limited to some teammates cannot export. ## People The page's title is **People**. For the steps, see [Invite people to your squad](/docs/teammates). | Control | What it does | Default | | - | - | - | | **Invite someone** | **Email**, **Role** (**Collaborator**, **Administrator**, or **Viewer**), and **Send invite**. A line shows how many seats are free. With no free seat, the owner gets **Add a seat in Billing**, and an Administrator sees "Ask the owner of your squad to add one." | **Collaborator** | | **People in your squad** | You, marked **Owner**, and each person. On a person's row: the role (select it to change the role), the teammates they can use (**All teammates** or a count), **Activity**, and **Remove**. An open invite shows **Invited**, the role, and **Revoke**. | A new person can use every teammate. | Seats are bought and released on **Billing**. ## Billing and usage ### Billing Only the owner can open this page. It has, from top to bottom: the plan, with **Manage subscription** and **Cancel subscription…**, seats for people, **Earn credit**, the payment method, the monthly allowance, **Research tools**, the credits left, **Buy credits**, **Auto-recharge**, and the usage cards. | Control | What it does | Default | | - | - | - | | **Manage subscription** | Opens the billing portal. | Not applicable | | **Cancel subscription…** | Asks for a reason of 20 to 5,000 characters, then cancels at the end of the billing period. | Not applicable | | **Keep my subscription** | Shows after you cancel. Undoes the cancellation before the end date. | Not applicable | | Seats for people | Buys 1 to 100 seats, or releases seats that nobody uses, after you confirm. | No seats | | **Earn credit** | Your go.squad.so name. Type it and select **Save**, or press Enter. The **Built with Squad** button on your public page then links with it. | Empty | | **Payment method** | **Update**, or **Open portal**, opens the billing portal, where you manage your card. | Not applicable | | **Research tools** switch | Turns every research tool on or off. When it is off, nothing uses credits. **Choose which ones** opens **Tools**. | On | | **Buy credits** | Buys credit packs once, after you confirm. | 1 pack | | **Auto-recharge** | Buys packs when credits drop below a threshold, up to a monthly cap. The fields are **When credits drop below**, **Buy this many packs**, and **Never buy more than**. | Off | For amounts, prices, and the usage cards, see [What Squad costs](/docs/costs) and [Manage your subscription, credits, and workspace data](/docs/billing). ### Payment cards are in the Wallet Payment cards are no longer in Settings. Each person manages their own cards, and sees the purchases that teammates made with them, in the **Wallet**, a place in the sidebar. See [Let your teammates pay with your card](/docs/payment-cards). ## Apps ### Apps The page's title is **Apps**. A switch at the top chooses **Connected apps** or **Custom integrations**. Only the owner and Administrators see **Custom integrations**. | View | Controls | Default | | - | - | - | | **Connected apps** | **Add integration** opens the catalog. Each connected app lists its accounts. Each account shows **Private** or **Shared with team**, and the first account to use shows **Primary**. The account menu has **Make primary**, **Share with the whole workspace** or **Stop sharing this account**, **Rename**, **Manage scope**, **Reconnect**, and **Disconnect**. | Every account starts **Private**. See [Who can use an account](/docs/integrations#who-can-use-an-account). | | **Custom integrations** | **Add MCP server** and **Add custom integration**. **Edit** on a custom integration shows its current saved values. | Not applicable | In **Manage scope**, **Default scope · applies to every teammate** sets the access level for the account. Under **Per-teammate access**, each teammate can use **Default**, another level, or **No access**. For more, see [Connect apps](/docs/integrations) and [Add an MCP server or an API key](/docs/custom-integrations). ### Telegram, Discord, and Slack These are the chat channels that you use to talk to your squad. Slack here is the bot that you chat with, not the Slack app that teammates work in, which you add on **Apps**. | Page | Main controls | Defaults | | - | - | - | | **Telegram** | The main bot, with **Who can message it**: **Just you**. **Answer in group chats**. **Switch to a different bot…**. Under **More bots**: **Connect bot**, **Answered by**, **Who can message it**, and a group chat switch for each extra bot. | An extra bot is answered by **Your chief of staff (default)**, and only you are on its list. | | **Discord** | **Connect bot**, **Answered by**, **Who can message it**, and **Answer in server channels**. | **Answered by**: **Your chief of staff (default)**. **Answer in server channels**: on. | | **Slack** | **Connect @name**, **Answered by**, **Who can message it**, **Answer in channels**, **Reply in a thread**, and **Verify connection**. | **Answer in channels**: on. | The main Telegram bot answers only the owner. For anyone else, the page names the owner, for example "Just Alex". For setup steps, see [Connect Telegram](/docs/telegram), [Connect Discord](/docs/discord), and [Connect Slack](/docs/slack). ## AI ### AI The page's title is **AI**. For more, see [Choose models and manage AI accounts](/docs/ai-accounts). | Control | What it does | Default | | - | - | - | | **Your squad’s AI** > **Thinks with** | The model that teammates use when they have no model of their own. | The model set during setup for the AI provider you connected. | | **Reads images with** | The model that reads screenshots and photos. | **The same** | | **When it can’t answer** | The models to try next, in order, when the model fails or reaches a rate limit. **Use first**, **Remove**, and **Add one to try next…**. | Empty | | **Advanced** > **Teammates with their own AI** | The teammates that have their own model or image model. | Closed. Every teammate uses your squad’s AI. | | **Accounts** | Your AI accounts. The add menu lists every provider and how it connects. Squad tries the accounts in order, top first. Each account has **Replace** (**Reconnect** when it is signed out or expired) and **Disconnect**. The account in use shows **In use**. | Not applicable | | **Sync now** | Shows when some teammates do not have the newest sign-in yet. Copies the sign-in to every teammate. | Not applicable | Only the owner and Administrators can change this page. ### Tools These settings apply to every teammate in the squad. Changes are saved when you select **Save changes**. | Section | What it does | Default | | - | - | - | | **Built-in** > **Computer use** | Teammates open pages, read them, and send back what they see. | **Always on** | | **MCP servers** | One switch for each connected MCP server. **Show tools** lists its tools, each with its own checkbox. | On when you connect the server. Tools marked **always off** cannot be turned on. | | **RESEARCH & SCRAPE TOOLS** | One switch for each family of research tools, such as **Web pages**, **Search**, and **LinkedIn**. **Show tools** lists each tool. | On | Research tools are the only tools that use credits. See [What Squad costs](/docs/costs). ### Teammates The page's title is **Teammates**. It also opens from the gear on a teammate's page (tooltip: the teammate's name and **setup**). The bar at the top has **Workspace defaults** and one chip for each teammate. Changes are saved only when you select **Save changes** in the bar at the bottom. **Reset** discards them. After a save, the page shows **Saved**. Nothing restarts. If your squad's computer has not applied the change yet, the notice "Saved. Applying changes in the background (usually a minute or two)." shows until it has, at most for the time in [Limits and defaults](/docs/limits-and-defaults#runs). #### Workspace defaults | Control | What it does | Default | | - | - | - | | **Default model** | The model teammates use when they have no override. The list shows only allowed models. **Add other models…** jumps to **Allowed models**. | The model set during setup for the AI provider you connected. If no model is saved, the list shows **Not set**. | | **Image model** | The model that reads screenshots and photos. | **Same as default model** | | **Reasoning effort** | How hard models think before they respond. Options: **Auto (per-model default)**, **Off: disable reasoning**, **Minimal**, **Low**, **Medium**, **High**, **Extra high**, **Max (GPT-5.6 family)**, **Adaptive (model picks)**. Levels that the default model does not support are not listed. | **Auto (per-model default)** | | **Run time limit** | Says "Runs have no time limit." You cannot set a limit. A limit from an earlier setting shows its length, a warning, and **Remove the limit**. | **No limit**, which setup saves. If no value is saved, the card shows **10 minutes**, the warning, and **Remove the limit**. | | **Allowed models** | The models that can be picked anywhere in the workspace, grouped by provider. | When no list is saved, every model counts as allowed. | #### One teammate | Control | What it does | Default | | - | - | - | | **Model** | Gives this teammate its own model instead of the workspace default. | **Workspace default (model name)**. If no default model is saved, **Workspace default (not set)**. | | **Image model** | The model this teammate uses to read screenshots and photos. | **Workspace image default** | | **Native heartbeat** | A built-in loop that wakes the teammate on a fixed interval. When it is on, you set **Frequency**, **Model**, and **Instructions**. Squad recommends routines instead. | Off | | **Routines** | The teammate's routines, each with an on and off switch and **Run now**. **Disable all** turns off every routine of this teammate after you confirm. **+ New routine** opens the routine editor. | Not applicable | #### Routine editor The same editor opens from **+ New routine** here, and on **Routines** from **New routine** > a teammate under **On a schedule, for**. | Field | What it does | Default for a new routine | | - | - | - | | **Title** | The routine's name. | new-scheduled-task | | **Instructions** | What the teammate does on each run. | Empty | | **Schedule** | A preset, from **Every 5 minutes** to **Daily**, or **Custom (cron)** for a cron expression. **Daily** repeats every 24 hours from when you create the routine. For a fixed time of day, use **Custom (cron)**. | **Hourly** | | **Model** | The model for this routine. | **Teammate default** | | **Accounts it can use** | **Shared accounts and my own accounts**, or **Only accounts shared with everyone**. | See [Choose the accounts of a routine](/docs/scheduled#choose-the-accounts-of-a-routine). | | **When it finishes** | **Notify me** sends you the result of each run. **Run quietly** sends no message. | **Notify me** | For how to use routines, see [Schedule recurring work with routines](/docs/scheduled). ## Email ### Inboxes and rules The page's title is **Email rules**. A chip for **Shared** and one chip for each teammate with an inbox choose whose settings you see. **Shared** holds the settings for every inbox: the custom domain, deleted inboxes, and the allow and block rules (**Always allowed** and **Never allowed**). A teammate's chip holds that inbox's identity, **Paused**, **Handling instructions**, **Email signature**, **Daily send cap**, and **Delete this inbox**. For more, see [Give a teammate an email inbox](/docs/email). ### Domains The page's title is **Email domains**. You can connect one custom domain for the workspace. | Control | What it does | Default | | - | - | - | | **yourdomain.com** field and **Connect domain** | Adds your domain and shows the DNS records to add at your DNS host. This form appears only after at least one teammate has an inbox. Before that, the page has **Go to Email**. | No custom domain. Inboxes use the shared Squad domain. | | **Verify now** | Checks the DNS records now. Squad also checks on its own. | Not applicable | | **Remove** | Removes the domain after you confirm. You can remove it only when no inbox uses it. | Not applicable | For the status words on this page, see [Statuses](/docs/statuses). For more, see [Give a teammate an email inbox](/docs/email). ## Notifications The page has three columns: **Event**, **In Squad**, and **Email**. An event that never sends email shows **Not by email**. Changes save at once. The page also opens from the gear in the bell, **Notification settings**. For each event and its defaults, see [Statuses](/docs/statuses#notification-events). For more, see [Choose your notifications](/docs/notifications). ## What each role sees in Settings What a person can open depends on their role. See [Choose a role](/docs/teammates#choose-a-role). | Area or page | Owner | Administrator | Collaborator | Viewer | | - | - | - | - | - | | **You** | Yes | Yes | Yes | Yes | | **Squad** > **General** | Yes, with **Reset squad…** and **Delete…** | Yes, with **Squad name** and **Leave squad…** | Their own name and **Leave squad…** | Their own name and **Leave squad…** | | **Squad** > **Public dashboard**, **Backup** | Yes | Yes | No | No | | **People** | Manage | Manage | Read the list | Read the list | | **Billing and usage** > **Billing** | Yes | No | No | No | | **Apps** > **Apps** | Yes | Yes | Their own accounts | Read. Cannot connect apps. | | **Apps** > **Custom integrations**, **Telegram**, **Discord**, **Slack** | Yes | Yes | No | No | | **AI** > **AI**, **Tools**, **Teammates** | Yes | Yes | Read | Read | | **Email** > **Inboxes and rules**, **Domains** | Yes | Yes | No | No | | **Notifications** | Their own choices | Their own choices | Their own choices | Their own choices | The **Notifications** page of every person, Administrators included, holds their own choices, not yours. The **Billing and credits** event shows only to the owner. On a phone, the account menu has **What's new**, **Help and contact us**, **Settings**, **Billing**, **Memory**, **AI tokens**, and **Sign out**. Each person sees only the items that their role can open, so only the owner sees **Billing**. The menu also shows the person's role, for example **Collaborator**. # Fix setup problems Source: https://squad.so/docs/setup-troubles Find the message you see at checkout, sign-in, or setup, and fix the problem that causes it. Find the message that you see on the screen, then follow the fix. The sections follow the order of setup. ## How setup works Setup has three parts. Most problems happen in one of them. 1. You pay at checkout. The email that you type at checkout gets access to Squad. 2. You create an account with the same email, and you confirm the email with an 8-digit code. 3. On the setup page, you choose your AI provider and select **Launch my squad**. The screen "Building your squad" appears. It says "This takes about 2 minutes". For the full path, see [Get started](/docs/get-started). ## Messages at checkout The first three messages show below the email field on the checkout page. "Already subscribed" replaces the checkout form. | Message | Cause | Fix | | - | - | - | | "Please enter a valid email address" | The email has no @. | Type the full email address. | | "Payment system not loaded. Please refresh the page." | The payment window did not load in time. | Reload the page and try again. | | "Something went wrong. Please try again." | The checkout did not start. | Select **Get your squad** again. | | "Already subscribed" and "You already have a subscription." | The email already has an active subscription. Squad stops the checkout, so you do not pay twice. | Select **Log in →**, or **Go to dashboard →** if you are signed in. If you have no account yet, select **Create one**. | ## Messages when you sign up or sign in | Message | Cause | Fix | | - | - | - | | "No account found with this email. Please sign up first." | No account uses this email. | Check the email, or select **Sign up**. | | "Incorrect password. Please try again." | The password is wrong. | Type it again, or select **Forgot password?**. | | "Password must be at least 8 characters." | The password is too short. | Use 8 or more characters. | | "Too many failed attempts. Please try again later." | Squad paused sign-in after many wrong passwords. | Wait, then try again, or reset your password with **Forgot password?**. | | "Invalid code or code expired. Please try again." | The 8-digit code is wrong or older than 15 minutes. | Check the newest code in your email. To get a new code, select **← Back to sign up** and submit the form again. | | "Something went wrong. Please try again." | Sign-in failed for another reason. | Try again. If it keeps happening, email support. | The **Create account** button stays gray until you select the box that accepts the Terms of Service. ### Messages when you reset your password | Message | Cause | Fix | | - | - | - | | "No account exists with this email. Please sign up first." | No account uses this email. | Try the other email addresses that you use, for example your work email. | | "This account signs in with Google. Use the Sign in with Google button on the login page - there is no password to reset." | The account has no password. | The sign-in page has no Google button today. Email [support@squad.so](mailto:support@squad.so) from this address. | | "Invalid code or code expired. Please try again." | The reset code is wrong or expired. | Check the newest code in your email, or start the reset again. | | "Password must be at least 8 characters." | The new password is too short. | Use 8 or more characters. | ## "We can't find your subscription" Symptom: after you sign in, the screen says "We can't find your subscription" and "This account doesn't have an active subscription yet." Cause: you signed in with an email that is different from the email that you used at checkout. Access belongs to the checkout email. Fix: 1. Select **Log out**. 2. Sign in, or create an account, with the email that you used at checkout. If you do not have a subscription yet, select **Get your squad →** on the same screen. If you are sure that the email is correct, email [support@squad.so](mailto:support@squad.so). Give the checkout email and the account email. ## "Payment received" does not go away Symptom: the screen says "Payment received" and "Setting up your account" and does not continue. Cause: Squad is waiting for the payment confirmation. This usually takes a few seconds. Fix: wait one minute and keep the page open. If the page does not continue, email [support@squad.so](mailto:support@squad.so). The screen also says: "Stuck on this screen, or paid with a different email than the one you signed in with? Write to [support@squad.so](mailto:support@squad.so) and we will get you set up." ## Messages on the setup page These messages show in a red box above **Launch my squad**. Nothing is built yet, so you can fix the problem and launch again. | Message | Cause | Fix | | - | - | - | | **Launch my squad** is gray | The box that accepts the Terms of Service and the Refund Policy is not selected. | Select the box. | | **Launch my squad** does not show | You chose Claude, and the token field is empty. | Paste the token. The box and the button then appear. | | "Please paste your Claude setup token." | You chose Claude and left the token field empty. | Paste your token. | | "This is not a setup token. A setup token starts with sk-ant-oat. Run "npx @anthropic-ai/claude-code setup-token" to get one." | The Claude token is not a setup token. | Run the command that the form shows, then paste the new token. See [Connect your AI subscription](/docs/connect-your-ai). | | "Invalid Anthropic token format" | The Claude token does not start with `sk-ant-`. | Copy the token again, in full. | | "Please paste your Z.AI API key" | You chose Z.ai and left the key field empty. | Paste your Z.AI API key. | | "Z.AI won’t serve this key yet. It says the account has no balance or plan to use (“Insufficient balance or no resource package”). If your Z.AI page shows a GLM Coding Plan, Z.AI support can fix this on their side. Otherwise subscribe to a plan, then paste the key again." | You chose Z.ai, and Z.AI refused the key. Squad checks the key with Z.AI before it builds anything. | If your Z.AI page shows a GLM Coding Plan, contact Z.AI support. Otherwise subscribe to the GLM Coding Plan. Then paste the key and launch again. See [Connect your AI subscription](/docs/connect-your-ai#troubleshooting). | | "Z.AI didn’t accept that key. Copy it again from API Keys on z.ai and paste it here." | Z.AI does not know the key. | Copy the key again from **API Keys** on z.ai, paste it, and launch again. | | "Could not find your account email. Please refresh and try again." | The page lost your sign-in details. | Reload the page. | | "No access found for this email. Please contact support." | Squad does not find your email on the list of paid accounts. | Check that you signed in with your checkout email. If you did, email [support@squad.so](mailto:support@squad.so). | | "Your subscription isn't active. Please resubscribe before setting up your workspace." | Your subscription is canceled, paused, or past due. | Fix your subscription first. See [Manage your subscription, credits, and workspace data](/docs/billing). | | "You can only set up a workspace for your own signed-in account." | The page and your sign-in do not match, for example after you signed in with another account in another tab. | Select **Log out**, sign in again, and launch again. | | "Cerebras signups are no longer offered. Reload the page and choose another provider." | The page is old and still offers a provider that Squad removed. | Reload the page and choose another provider. | | "Workspace is being migrated — try again once the migration completes" | Squad is moving your workspace to new infrastructure. | Wait a few minutes, then reload the page. | The top bar of the setup page has **Manage subscription** (**Billing** on a small screen). It opens the billing portal, so you can manage or cancel your subscription before your workspace exists. If it fails, the message is "Could not open billing. Please contact support." Email [support@squad.so](mailto:support@squad.so). ## The build shows "Something went wrong" When a build fails, the building screen shows "Something went wrong" and a message. The setup form then comes back, so that you can select **Launch my squad** again. Find your message below. ### "Setup hit an error while configuring your workspace." The full message is: "Setup hit an error while configuring your workspace. If you pasted an AI token or key, double-check it and launch again. Still stuck? Email [support@squad.so](mailto:support@squad.so) and we'll fix it fast." Cause: a setup step failed. A wrong AI token or key is a common cause. Fix: 1. Copy the token or key again from your AI provider. 2. Paste it in the setup form. 3. Select **Launch my squad**. For the correct token format for each provider, see [Connect your AI subscription](/docs/connect-your-ai). ### "Your workspace runtime didn't finish coming online." The full message is: "Your workspace runtime didn't finish coming online. Nothing is lost — try again in a moment. If it keeps happening, we've been notified and are on it." Fix: wait a moment, then select **Launch my squad** again. ### "We're seeing a lot of inbound demand right now and are temporarily out of capacity." The full message is: "We're seeing a lot of inbound demand right now and are temporarily out of capacity. Nothing is lost: please try again in 5 to 10 minutes, or email [support@squad.so](mailto:support@squad.so) and we'll get you set up right away." Cause: your squad's computer did not start in time, even after automatic retries. Fix: wait 5 to 10 minutes, then select **Launch my squad** again. If it fails again, email [support@squad.so](mailto:support@squad.so). ### "This Telegram bot token is already connected to a workspace" The full message is: "This Telegram bot token is already connected to a workspace — usually left over from an earlier setup attempt that didn't finish." Cause: an earlier setup attempt did not finish and still holds the bot token. Fix: 1. Select **Reset workspace and try again** below the message. 2. In the dialog "Reset workspace?", select **Reset**. 3. Select **Launch my squad** again. ### "Provisioning failed. Please retry." or another message "Provisioning failed. Please retry." is the general message when Squad has no details. Other failures show their own short text. Select **Launch my squad** again. If it fails again, email [support@squad.so](mailto:support@squad.so) with the exact text. ## The build takes a long time Symptom: the "Building your squad" screen stays open for much more than 2 minutes. Cause: some builds are slow. When a build step is too slow, Squad starts the build again automatically on the same computer, 45 seconds later. It makes up to 3 attempts in total before it shows an error. The screen does not tell you that a new attempt is running. Fix: 1. Keep the page open. You can also reload the page. The building screen comes back while the build runs. 2. Do not reset while the build runs. If you select **Reset & start fresh** or **Launch my squad** during a build, the building screen appears again instead of a message. 3. If the screen shows an error, follow the fix for that message on this page. ## Start again with Reset & start fresh Use this when an earlier setup attempt failed and a new attempt also fails. A reset deletes everything in your workspace. Use it only during setup, or after you export your data. On the setup page, find "Had a previous attempt?" below the form. Select **Reset & start fresh**. In the dialog "Reset workspace?", select **Reset**. If your squad was already built, the dialog title is "Reset" followed by its name, and you type the name before you select **Reset**. The link changes to **Resetting…**, and a checklist below it shows each step. **Launch my squad** stays off until the reset finishes. Choose your AI provider again and select **Launch my squad**. Squad refuses the reset in these cases: | What you see | Cause | What to do | | - | - | - | | The building screen appears | A build is still running, or another reset is running. During a reset, the page shows its checklist instead. | Wait for it to finish. When a build fails, the reset works again. | | "Your workspace is being upgraded right now — try again in a few minutes." | Squad is moving your workspace | Wait a few minutes | | "This workspace is suspended. Contact support." | Squad suspended the workspace | Email [support@squad.so](mailto:support@squad.so) | | "The reset stopped before it finished. Reset again to finish it." | The reset stopped partway, or made no progress for a while. See [Limits and defaults](/docs/limits-and-defaults#setup-and-account). | Select **Reset & start fresh** again. It finishes the reset. | | "Reset failed. Please try again." or another message | The reset did not finish | Select **Reset & start fresh** again. If it fails again, email support. | ## The AI connect step does not finish For some providers, you connect your AI account after the build, on the screen "Connect your AI provider". The heading under it says "One more step before your agents can work". | Provider | What you see | If it fails | | - | - | - | | ChatGPT | **Connect your ChatGPT account**, with a link and a code to enter | The code is valid for 5 minutes. If the code expires or ChatGPT does not approve it, the screen says so, for example **The code expired before it was approved.** Click **Get a new code**. Before you start, turn on device authorization in your ChatGPT security settings. | | MiniMax | **Authorize on MiniMax →** | The sign-in waits 5 minutes. After that, the card goes away. | | Other providers | **Connect** followed by the provider name, which opens the same window as **Add an account** on **Settings** > **AI** | Close the window and try again, or connect later. | If the step fails, or you select **Skip for now — connect later in Settings → AI Tokens** or **Skip to Dashboard →**, your squad is built but cannot work yet. The page that the skip button names is now called **AI**. Fix: open **Settings** > **AI**, click **Add an account**, and connect your account there. See [Connect your AI subscription](/docs/connect-your-ai). ## Check that it works Setup is done when the dashboard opens with the window "Your squad is ready". If you connect your AI account after the build, the connect screen first says "Your squad is ready", and you select **Open your dashboard →**. ## Still stuck Email [support@squad.so](mailto:support@squad.so). Give your account email, the exact message on the screen, and the time that it appeared. See [Get help](/docs/getting-help). # Share a read-only view of your workspace Source: https://squad.so/docs/sharing Turn on a public link to your tasks, docs, and teammates' pages, and turn it off or replace it when you need to. The public dashboard is a read-only view of your squad at a share link. Anyone who has the link can open it without an account. Nobody can change anything through it. To let people sign in, chat with your teammates, and work with you, invite them to your squad instead. See [Invite people to your squad](/docs/teammates). ## What people see, and what they do not see | Shown | Not shown | | - | - | | **Tasks**: open tasks, and your most recent finished tasks | Chat, including the Squad chat and group chats | | Each task's thread: comments, questions, and the answers you gave | Email and email activity | | **Docs**, with search | **History**, **Health**, and **Activity** | | Your teammates' pages: name, role, a sentence about what each one is doing, and their tasks | **Memory**, **Skills**, **AI**, and **Settings** | | Your squad's activity beside **Tasks**, except email activity | Archived tasks and their threads | | | Archived docs, also in search | | | Your own page, and how many drafts and questions wait for you | The public view has a bar at the top with **Tasks** and **Docs**. On a phone, they are also in a bar at the bottom. The sidebar lists your squad under **Squad**. Any other address under the link opens **Tasks**. On a teammate's page, visitors see no buttons. Where you see **Needs you**, visitors see **Waiting**, also as the name of that column on **Tasks**. A link to your own page shows "This profile isn’t part of the shared view". **Settings** > **Squad** > **Public dashboard** sums this up under **What's visible**: **Squad & status**, **Task board**, and **Docs** are **Shown**. **Email** and **Settings** are **Hidden**. Anyone with the link can see your tasks and docs. Task threads are shown with everything written in them, including your answers to questions. Archive or delete any doc that you do not want others to see before you share the link. Archive any task whose thread must stay private. See [Find and manage your squad's docs](/docs/squad-docs). ## Before you start You must be the owner or an Administrator. Other roles do not see **Public dashboard** in Settings. ## Turn on the public dashboard Click **Settings** at the bottom of the sidebar. Click **Squad**, then the **Public dashboard** tab. Turn on **Public dashboard**. Under **Share link**, click **Copy**. The link is now on your clipboard. Optional: click **Preview public view** to see what visitors see. Send the link to the people who should see your squad. You can also press ⌘K or Ctrl+K, type **Public dashboard**, and select **Public dashboard** under **Go to** to open the page. ## Turn off the public dashboard 1. Go to **Settings** > **Squad** > **Public dashboard**. 2. Turn off **Public dashboard**. The link stops working. The link itself does not change. If you turn the public dashboard on again, the same link works again for everyone who has it. The settings page says so too: "Turning sharing off and on again keeps this same link. To stop a link you already shared from working, regenerate it." Clicking **Copy** also turns the public dashboard on. ## Revoke a link that people already have To make sure that an old link never works again, replace it. Go to **Settings** > **Squad** > **Public dashboard**. Click **Regenerate link**. In **Regenerate share link?**, click **Regenerate**. The old link stops working at once. Share the new link with the people who still need it. ## Let search engines find the page **Search engine indexing** is off by default. While it is off, the public page asks search engines not to index it. To allow indexing, go to **Settings** > **Squad** > **Public dashboard** and turn on **Search engine indexing**. Turn it on only if you want the page to show in search results. ## Credit your referrals Visitors see a **Built with Squad** button. To have it link with your partner name, go to **Settings** > **Billing and usage** > **Billing**, find **Earn credit**, type your go.squad.so name, and click **Save**. People who sign up from the button then count for you. Only the owner can open **Billing**. ## Check that it works * Open the link in a private browser window. **Tasks** shows without a sign-in. * After you turn the dashboard off or regenerate the link, the old link shows "This shared dashboard isn’t available". ## Troubleshooting **Visitors see "This shared dashboard isn’t available".** Cause: the public dashboard is off, the link was regenerated, or your subscription is not active. Fix: check **Settings** > **Squad** > **Public dashboard**, and send the current link. **Visitors can read a doc that you did not want to share.** Cause: every doc that is not archived is shown. Fix: archive or delete the doc. See [Find and manage your squad's docs](/docs/squad-docs). # Add and manage skills Source: https://squad.so/docs/skills Turn skill packs on or off, add a pack from GitHub, read, copy, and edit your squad's own skills, and teach a task by showing it once. A skill is a set of written instructions that a teammate follows for one kind of work, for example "write a cold email" or "reconcile the week's payouts". Skills come from four places: * **Built-in skills** that come with Squad. They cover the dashboard, email, the computer, research tools, and each connected app. They are on every squad. You do not manage them. * **Skill packs**: ready-made collections from independent authors. * **Your skills**: skills that your teammates wrote while they worked, and skills that you taught. * **Custom packs** that you add from a public GitHub repository. Skill settings apply to the whole squad. When you turn a skill or a pack on or off, it changes for every teammate. To open the **Skills** screen, select **Skills** in the sidebar (under **More** unless you pinned it), select **Skills** at the bottom of a teammate's **About** page, or press ⌘K (Ctrl+K on Windows) and type Skills. Skills is no longer in **Settings**. Everyone in the squad can open **Skills** and read it. Only the owner and Administrators can turn skills and packs on or off, add or remove packs, and edit skills. An Administrator who can see only some teammates cannot make these changes, or teach a task. Squad refuses the change, because skills reach every teammate. ## Turn a skill pack on or off Squad includes four packs: | Pack | Skills | Author | On by default | | - | - | - | - | | marketingskills | 50: copywriting, SEO, ads, conversion, pricing, launch, and more | Corey Haines | Yes | | no-ai-slop | 1: edit drafts into sharper writing and find AI-sounding patterns | Peter Yang | Yes | | asb-skills | 21: an ideal-customer method, a customer-interview method, positioning, and pricing | Jason Cohen (A Smart Bear) | No | | makerskills | 20: decisions, research, finance, slide decks, and more | Corey Haines | No | The packs are copied unchanged from their authors' repositories. Jason Cohen, the author of asb-skills, does not endorse Squad. 1. Open the **Skills** screen. 2. Under **Skill packs**, select the switch on the pack's card. The change applies at once. If a skill in the pack has the same name as a skill that is already on the computer, the pack's skill stays off, and a note tells you which skills stayed off. Select **Open pack** to choose which one to use. Each pack card shows the pack name, **by** and the author, the license, the number of GitHub stars when GitHub answers, the number of skills, how many of them are off, and the first six skill names. Select a card, or **Open pack**, to open the pack view. It shows the pinned version, and whether the pack is **enabled for the squad** or **off**. In the pack view you can: * turn the whole pack on or off with the switch next to its name * turn single skills in the pack on or off, while the pack is on. A skill that is off shows **Off**. * select a skill to read its instructions. Skill names in the text that point to another skill in the pack are links. * select **Sync pack library** to get the latest version that Squad published of the built-in packs. The result shows **Updated to the latest.** or **Already up to date.** You can turn off a built-in pack, but you cannot remove it. ## Add a pack from GitHub The skills in a pack become instructions that your teammates follow. Add only repositories that you trust. Open the **Skills** screen. Under **Skill packs**, select **Add pack**. In **Repository URL**, paste the address, for example [https://github.com/owner/repo](https://github.com/owner/repo). Optional: in the skills folder field, type the folder that holds the skills, for example skills/marketing. Only that folder is fetched. Select **Add pack**. Rules: * Only public GitHub repositories work. * Each skill must be a folder that contains a SKILL.md file. * The folder path can be at most four levels deep. * A repository that is already a built-in pack is refused. Turn on the built-in pack instead. The new pack is turned on at once. The pack view shows the commit it is at and its folder. The pack's card says **Updates itself from the author**, but Squad does not fetch new versions on its own. To get the latest version from the repository, open the pack and select **Sync to latest**. New skills whose names are already in use stay off, and the result line names them. To delete the pack, select **Remove pack**, then **Really remove?**. You cannot change the repository or the folder of a pack you added. Remove the pack and add it again. You can also ask a teammate in chat to turn a pack on, add one, sync one, or remove one. ```text Ask your chief of staff theme={null} Add the skill pack at [https://github.com/owner/repo], folder [skills/folder]. Tell me which skills it added and which stayed off because the name was taken. ``` ## Manage your squad's own skills **Your skills** lists the skills that your teammates wrote and the skills that you taught. The counts at the top are **Total**, **Disabled**, and **Needs setup**. * Use **Search skills** or select a tag, for example #sales, to filter the list. **All** clears the tag filter. * Select the switch on a card to turn the skill on or off for every teammate. A skill that is off shows **Disabled**. A skill that is on shows no label. * Select **Open** to read the skill's instructions and files. Each card shows **Built by** and the teammate that wrote it, when the skill names its author. Otherwise it shows **Workspace skill**, or **Curated skill** for a skill that came with Squad. A card can carry one of these labels: | Label | Meaning | What to do | | - | - | - | | **Needs setup** | The SKILL.md file lacks the required name and description, so teammates cannot find the skill. The card says **not yet runnable**. | Select **Fix with** and the teammate's name, or **Fix with a teammate…** and pick a teammate. A chat opens with a request to repair it. **Read** shows the file. | | **Disabled** | You or a teammate turned the skill off. | Turn the switch on. | | **Curated** | A skill that came with Squad. | Nothing. | The run count on each card reads 0 today, even for skills that ran. To see which runs used a skill, use **History**. See [Run a skill from chat](#run-a-skill-from-chat). When the list is empty, the screen shows **No skills built yet**. **See what’s possible** opens ideas for work your squad can do. When a search finds nothing, it shows **No skills match.** When you open a skill, the page shows **Skill instructions** and, beside them, **Files in this skill** when the skill has more files than SKILL.md, **Built by** when the author is known, and **Active**. Select a file to read it. **Hide details** gives the instructions the full width, and **Show details** brings the side back. ### Copy or edit a skill's instructions Open a skill. Above **Skill instructions**: * **Copy** copies the instructions. It shows **Copied** for a moment. * **Edit** opens the instructions as text that you can change. Select **Save**, or press ⌘S (Ctrl+S on Windows). To stop without saving, select **Cancel** or press Esc. **Edit** shows only to the owner and Administrators, and only for your squad's own skills. The skills in a pack and the skills that came with Squad cannot be edited here. If the instructions changed on your squad's computer while you were editing, the page says "These instructions changed while you were editing. Your words are still here." Select **Use their version** to load the new text, or **Save mine anyway** to keep yours. If a save fails, the page says "Couldn’t save. Your words are still here; try again." The dashboard has no button to create or delete a skill. To create or delete one, ask a teammate. ### Skills on Squad for Mac (private beta) Skills work the same way on the Mac, with these differences: * Open **Skills** from **Skills** on a teammate's **About**, or from **Go** > **Skills**. When it opens from a teammate, the list starts on **Built by** and the teammate's name. Select **All skills** to see every skill. * The list is called **Your squad's skills**. A skill that is off shows dimmed. A card that cannot run yet shows **Needs setting up**, or **Missing something it needs** with what the skill needs. **✦ Fix with** and the teammate's name opens a chat with the fix written for you. * On a skill's page, the instructions are one text that you can select across, like a message. The copy button beside **Skill instructions** (**Copy these instructions**) copies them. The page has no switch and no delete. * While you edit a skill's instructions, Squad keeps your edit if you leave the skill and come back, until you switch squads or quit Squad. ```text Ask your chief of staff theme={null} Save what you just did as a reusable skill for the squad. Name it [name], tag it [tag], and tell me when it shows up on the Skills screen. ``` Teammates add tags to skills. To change tags, ask a teammate. ## Run a skill from chat In a teammate's chat or a group chat, type **/** in the composer. The Squad chat composer does not have the **/** picker. Keep typing to filter the list. Press Enter to insert the skill's name into your message, then send it. The list shows your squad's skills, pack skills, research tools, and app skills. Skills that are turned off are not listed. To see which skills a run used, open the run in **History**. The skills show as chips on the run, and under **Skills used** in the run detail. See [See what your squad did](/docs/runs-and-health). ## Teach a task by showing it once You can show a teammate a task in its browser. The teammate studies the recording and writes a draft skill. The skill becomes active only when you approve it. Before you start: * Know the task well enough to do it once from start to end. * Sign in to the sites the task needs, in the teammate's browser, or be ready to sign in during the recording. * You must be the owner or an Administrator who can see every teammate. Open the teammate's **About** page and select **Watch**. The teammate's computer screen opens. Select **Teach a task**. In **What are you about to show?**, describe the task, for example "Reconcile the week's Stripe payouts". Select **Take over** on the screen. Select **Start recording**. The teammate's own browser comes to the front. Do the task once in that browser. Select **Done teaching**. Select **Send to** followed by the teammate's name **to study**. The screen shows **Learning from your demonstration…**. When the draft is ready, read it in **Review what** the teammate **learned**. In **Skill name**, type a name, for example reconcile-stripe-payouts. Select **Approve skill**. The recording captures your clicks and the values that you type. The review shows the exact file that becomes active. You cannot edit it in the review. If something is wrong, select **Discard**, or tell the teammate in the teaching conversation what to change and wait for a new draft. After you approve, the screen shows **Skill added**. Every teammate can use the skill. Select **Run it once now** to have the teammate try it and suggest improvements, or **View skills** to see it on the **Skills** screen. Other choices during teaching: * **Keep recording** continues the recording. * **Discard recording** throws the recording away. * **Open the conversation** opens the chat where the teammate reports on the draft. * **Nudge again** reminds the teammate if the draft takes a long time. See [Watch or take over a teammate's computer](/docs/computer). On Squad for Mac (private beta), start from **Computer**, or from the computer card in the teammate's chat, so that the teammate's browser shows. Then choose **Teach a Task…** in the browser's **⋯** menu. The other steps are the same. After you approve, the page shows **✓ Skill added**, with **Run it once now**, **View skills**, and **Done**. ## Skills and files named in instructions When the instructions of a routine, a trigger, or a teammate's heartbeat name a place on your squad's computer, for example `/home/user/clawd/skills/x-trend-scout/SKILL.md`, a chip under the instructions shows it by name: the skill's name, or the file's name. Point to the chip to see the full path. Select it to see what is there: * For a skill, or a file in a skill, the skill's instructions or the file show, with **Open skill** and **Copy path**. * For any other file, Squad says that the file is on your squad's computer and that the teammate can show you what is in it. **Ask** and the teammate's name **to show it** opens a chat with the request written. A Viewer gets only **Copy path**. This works the same way on Squad for Mac (private beta), where the heartbeat is called check-ins. ## Check that it works * A pack that is on shows the number of its skills and, when some are off, how many. * A taught skill shows under **Your skills** after you approve it. * A run that used a skill shows it under **Skills used** in **History**. ## Troubleshooting **"Could not download the repository".** Cause: the URL is wrong, or the repository is private. Fix: check the URL. Only public GitHub repositories work. **"No skills were found in that folder".** Cause: the folder has no subfolders with a SKILL.md file. Fix: type the folder that holds the skill folders, or leave the field empty. **"Skill packs aren’t set up on this computer yet".** Cause: your squad's computer does not have the pack library yet. Fix: wait for the next platform update, then open the screen again. **Teaching shows "Study stalled" or "Studying is taking too long".** Cause: the teammate has not written the draft yet. Fix: select **Nudge again**, or **Open the conversation** to see what the teammate says. If nothing changes, select **Discard** and teach the task again. **"The draft was too large to review, so it was discarded."** Cause: the demonstration produced a draft that was too long to review. Fix: teach the task again with a shorter demonstration. **A skill you turned on does not show in the / list.** Cause: the list can take a moment to update. Fix: close the list, wait 30 seconds, and type **/** again. # Connect Slack Source: https://squad.so/docs/slack Put your squad or one teammate in Slack as an app that answers direct messages and @mentions in channels. Each Slack app is a direct line to one teammate. People on the app's list can send it direct messages. When channels are on, the app also answers when someone @mentions it in a channel that it was invited to. The app connects from your squad's computer with Slack's Socket Mode, so nothing needs a public URL. This page is about the Slack app that you chat with. The **Slack** tab says so too: **This is the Slack bot you chat with.** To give teammates Slack as a tool for their work, connect Slack on the **Apps** page, which the tab links to. See [Connect apps](/docs/integrations). For how channels compare, see [Talk to your squad from Telegram, Discord, or Slack](/docs/channels). ## Before you start * You need permission to create and install apps in your Slack workspace. * Get your Slack member ID. In Slack, open your profile, select **⋯** (More), and select Copy member ID. The ID starts with U. ## Open the Slack screen Select **Settings** at the bottom of the sidebar, then **Apps**, then the **Slack** tab. You can also press ⌘K (Ctrl+K on Windows) and type Slack. The owner and Administrators can open it. A Collaborator or a Viewer cannot. ## Connect an app Under **Connect an app**, in **Who is this app?**, select **The whole squad (your chief of staff answers)** or one teammate. Select **Copy the @Squad manifest**. If you selected a teammate, the button shows the teammate's name instead of Squad. Slack uses this name for the app. The button shows **Copied** when the manifest is copied. Open api.slack.com/apps and select Create New App. Select From a manifest, pick your Slack workspace, and paste the manifest. Create the app. In the app's Basic Information page, under App-Level Tokens, generate a token with the `connections:write` scope. On the Squad **Slack** tab, paste the token into **Generate the app-level token**. It starts with `xapp-`. In the Slack app settings, open Install App and select Install to Workspace. Copy the Bot User OAuth Token and paste it into **Install it to your Slack workspace**. It starts with `xoxb-`. Under **Add yourself and connect**, type your Slack member ID. Select **Connect @Squad**, or the button with the teammate's name. The manifest sets everything that the app needs, including Socket Mode and the permissions. It cannot set an icon. To give the app an icon, add one on the app's Basic Information page in Slack. Copy both tokens from the same Slack app. Squad refuses tokens from two different apps. ### Check that it works * The app shows as a card with its name. A running app shows no status. **Offline** means the app is not running. * On the card, select **Verify connection**. A green message says that the app has every permission Squad needs. * Send the app a direct message in Slack. The teammate answers. * In a channel, type `/invite @` followed by the app name, then @mention the app. The teammate answers. ## Set up the app Each app card has these controls: | Control | What it does | | - | - | | **Answered by** | The teammate that answers this app. The default is **Your chief of staff (default)**. | | **Who can message it** | The Slack member IDs that can send the app direct messages. Everyone else is refused. | | **Channels** | A switch. On by default. The app answers when someone @mentions it in a channel that it was invited to. When off, the app answers direct messages only. | | **Reply in a thread** | On by default. Answers go in a thread under the message that asked, in channels, groups, and direct messages. Each thread keeps its own working context. When off, answers post as new messages. | | **Verify connection** | Checks the app's tokens and permissions, and tells you what is missing. | | **Remove** | Removes the app. Select **Really remove? Messages stop immediately** to confirm. | To add a person to **Who can message it**: 1. Ask the person for their Slack member ID. 2. Type the ID into the field under **Who can message it**. 3. Select **Add**. A list can hold up to 50 people. See [Limits and defaults](/docs/limits-and-defaults). ## Known limits * In channels, the app does not check its list. Anyone in a channel where the app was invited can @mention it and get an answer. If only the people on the list may use the app, turn off the **Channels** switch. * The list cannot be empty. You can remove yourself when someone else is on the list. Squad does not keep you on a Slack list. * The first app that you connect is the primary app. Its card shows **Primary**. You cannot remove the primary app while other apps are connected. Remove the other apps first. * The card has no field to replace a token. To use new tokens, see the troubleshooting entry below. * If the card says that your squad's runtime limits the app to specific channels, the limit was set on your squad's computer. Ask your chief of staff to change it. ## Troubleshooting **The teammate replies "⚠️ I hit a problem before I could finish replying." and a cause.** Cause: the run failed, for example because of a usage limit or a model that your AI account cannot use. The cause after the first sentence says what went wrong. Fix: fix the cause that the reply names, then send your message again. See [Chat failure messages](/docs/agent-stuck#chat-failure-messages). **The app receives messages but does not reply.** Cause: the app is missing permissions. Fix: select **Verify connection** and follow the steps that it shows. You add the missing scopes under OAuth & Permissions in the Slack app settings, then reinstall the app. **Verify connection says Slack rejected the bot token or the app-level token.** Cause: the token was reset, or the app was reinstalled and got a new token. Fix: connect the app again with the new tokens in the **Connect an app** form. Squad replaces an app whose old token Slack no longer accepts. **Squad says the app is already connected to this workspace.** Cause: the app's current tokens still work, so the app is connected. Fix: nothing to do. To change to other tokens, remove the app and connect it again. **Squad says the tokens belong to two different Slack apps.** Cause: you copied the tokens from two apps. Fix: copy the app-level token from Basic Information and the bot token from Install App of the same app. **Squad says that is the bot's own ID.** Cause: you typed the app's member ID. Fix: type your own member ID from your Slack profile. **The error says this is the primary Slack app and other apps are still connected.** Cause: the primary app is removed last. Fix: remove the other apps first, then remove this one. ### Messages when you connect an app | Message | Cause | Fix | | - | - | - | | "That doesn’t look like a Slack bot token — it starts with xoxb-." | The bot token field has another token. | Paste the Bot User OAuth Token from Install App. | | "That doesn’t look like a Slack app-level token — it starts with xapp- (Basic Information → App-Level Tokens)." | The app-level token field has another token. | Paste the app-level token from Basic Information. | | "That doesn’t look like a Slack member ID (it starts with U — …)." | The member ID is not valid. | Copy your member ID from your Slack profile. | | "Slack rejected that bot token — reinstall the app to your workspace and paste the fresh xoxb- token." | The bot token is old or was revoked. | Reinstall the app, then paste the new bot token. | | "That app-level token can’t open connections — generate it with the connections:write scope." | The app-level token has no `connections:write` scope. | Generate a new app-level token with that scope. | | "Slack rejected that app-level token — make sure Socket Mode is ON and paste the xapp- token from Basic Information → App-Level Tokens." | Socket Mode is off, or the token is wrong. | Turn on Socket Mode in the Slack app settings, then paste the token again. | | "Couldn’t reach Slack to verify the token — try again." | Squad could not reach Slack. | Wait a moment, then try again. | | "This workspace has several Slack apps from an earlier setup and none of them is the primary. Remove the apps you don’t need in Settings, then connect this one." | Old apps are left over, and none is the primary app. | Remove the apps that you do not need, then connect again. | | "Couldn’t check your existing Slack apps to make sure this one isn’t already connected. Try again in a moment." | Squad could not check the apps that are already connected. | Try again in a moment. | | "Couldn’t connect the app." | The connection did not go through. | Try again. | ### Results of Verify connection | Result | What to do | | - | - | | A green message that starts with "Connected" | Nothing. The app has every permission it needs. | | "The Slack app is missing a permission Squad needs to reply:" (or "missing permissions") followed by the scopes | Follow the steps in the message: add the scopes under OAuth & Permissions, reinstall the app, then select **Verify connection** again. | | "Slack rejected the app’s bot token (…)" | Copy a new Bot User OAuth Token and connect the app again. | | "Slack rejected the app-level token (…), so the live connection can’t open." | Create a token with the `connections:write` scope and connect the app again. | | "The two tokens belong to two different Slack apps, …" | Copy both tokens from the same app and connect it again. | | "Slack couldn’t be reached from your squad’s computer just now. That is usually momentary." | Select **Verify connection** again. | The Verify messages say to paste new tokens "here in Squad". The card has no token field. Use the **Connect an app** form instead, as the troubleshooting entry about rejected tokens above describes. For list messages and messages that all channel screens share, see [Messages on every channel screen](/docs/channels#messages-on-every-channel-screen). The list messages are "Slack member IDs start with U, e.g. U0123ABCDEF." and "Keep at least one person — an empty list answers nobody." # Find and manage your squad's docs Source: https://squad.so/docs/squad-docs Find, read, edit, organize, pin, export, archive, and delete the docs your teammates write. A doc is written output from your squad: a brief, research, a checklist, a report. Teammates create docs and keep them up to date. All docs are on **Docs** in the sidebar. The count on **Docs** is the docs that are new or changed since you opened them. Squad for Mac (private beta) has the same **Docs**, with a few differences. See [On Squad for Mac (private beta)](#on-squad-for-mac-private-beta). ## Find a doc Select **Docs** in the sidebar. Use one or more of these: * Type in **Search docs**. The search matches the title, the short preview, the type, and the teammate's name. It does not search the full text. * Select a folder chip: **All docs**, a folder name, or **Unfiled**. **Unfiled** shows only when some doc has no folder. * Select **Filter**. Under **Show**, pick **Every kind** or one kind of doc. **Show** appears when the folder has two or more kinds. Under **Order**, pick **Recently edited**, **Name (A to Z)**, or **Longest**. The button then names your choice. **Show everything** clears it. Select a doc to open it. Pinned docs show first, under **Pinned**, then the rest under **Other docs**. The screen shows 24 docs at a time. Select **Load more** to see more. A card shows the title, a short preview, and the teammate who keeps the doc, with when it was last edited. The command palette also finds docs by title and preview. Press ⌘K or Ctrl+K and type. Docs show under **Documents**. See [Search and keyboard shortcuts](/docs/search). The dashboard has no full-text search for docs. To find a doc by what it says, ask a teammate. ```text Ask your chief of staff theme={null} Find the doc that talks about [topic] and send me the link. ``` ### Doc types Teammates give each doc a type: document, brief, checklist, protocol, research, deliverable, or note. A doc you create on **Docs** is a note. ### Read state A blue dot before a doc's title means that the doc has news for you. | Tooltip on the dot | Meaning | | - | - | | "New. You haven’t opened it yet." | You never opened this doc. | | "Changed since you last read it." | The doc changed since you last opened it. | To clear every dot without opening each doc, select **Mark all as read** under the header. It shows only while some doc has a dot. While **Docs** in the sidebar has a count, you can also right-click it, or press Shift+F10 while its row has the keyboard focus, and choose **Mark all docs as read**, or press U. Squad stores what you have read in your browser. Another browser or device shows its own dots. Archived docs show no dot. ## Read and edit a doc Select a doc to open it. Under the title, a line shows the teammate who keeps the doc and when it was last edited. A doc with no text says **This document is empty.** **All docs** at the top takes you back to the list. The bar at the top of the doc has **Ask** followed by a teammate's name and **to update**, **Edit**, and **⋯** (**Document actions**). To change a doc yourself: Open the doc. Select **Edit**. Change the title or the text. The text uses Markdown. Select **Save**. If the save fails, Squad keeps your text and shows **Couldn’t save. Your text is still here; try again.** Squad keeps no version history for docs. A save replaces the text. To have a teammate change the doc, select **Ask** followed by the teammate's name and **to update**. It names the teammate who keeps the doc. For a doc that a person wrote, it names the first teammate of your squad. The teammate's chat opens with **Update this doc:** typed and the doc attached. Finish the sentence and send it. ```text Ask the teammate to update theme={null} Update this doc: [what changed]. Keep the structure. Add a line at the top that says what you changed and when. ``` A Viewer cannot create, edit, or organize docs. In an open doc, a Viewer sees no **Edit** and no **⋯**. On a doc card, **⋯** shows, but only **Export as Markdown** and **Export as PDF** work. ## Create a doc On **Docs**, select **New doc**. Type the title in **Doc title**. Select **Create**, or press Enter. The new doc opens. Select **Edit** to write the text. ## Organize docs in folders Folders are one level deep. A folder cannot hold another folder. To create a folder: 1. Select the **New folder** chip. 2. Type the name in **Folder name**. 3. Select **Add**. To move a doc to a folder: 1. Select **⋯** (**Document actions**) on the doc card or in the doc. 2. Under **Move to folder**, select the folder, or **Unfiled (no folder)**. **Docs** has no rename or delete action for folders. To rename or delete a folder, ask a teammate. A teammate can delete only an empty folder. ```text Ask your chief of staff theme={null} Rename the docs folder "[old name]" to "[new name]". Then move every doc about [topic] into it. ``` ## Pin a doc 1. Select **⋯** on the doc. 2. Select **Pin to top**. The doc shows under **Pinned** at the top of **Docs**. To unpin it, select **Unpin**. You can also pin a doc to the sidebar. Press ⌘K (Ctrl+K on Windows) and select **Pin a doc**. After your first pin, the **+** next to **Pinned** in the sidebar also works. Sidebar pins follow your account, so they show on every device where you sign in. See [Pin things to the sidebar](/docs/chat#pin-things-to-the-sidebar). ## Export a doc 1. Select **⋯** on the doc. 2. Select **Export as Markdown** or **Export as PDF**. ## Archive or delete a doc | Action | How | Result | | - | - | - | | Archive | **⋯**, then **Archive** | The doc leaves the list and goes to **Archived**. You can restore it. | | Restore | Select the **Archived** chip, then **Restore** on the doc | The doc goes back to the list. | | Delete forever from Archived | Select the **Archived** chip, then **Delete forever**, then **Really delete forever? Can’t be undone** | The doc is removed permanently. | | Delete | **⋯**, then **Delete**, then confirm | The doc is removed permanently. | The **Archived** chip shows only when you have archived docs. **Delete** has no trash. The confirm message says "Delete “\[title]” for good? You cannot undo this. Archive keeps the doc out of the way instead." To keep a doc out of sight but recoverable, use **Archive**. ## Link a doc in a message To point a teammate at a doc, type **#** in a chat composer and pick the doc. See [Point at tasks, docs, and apps](/docs/chat#point-at-tasks-docs-and-apps). In teammates' replies and the Squad chat, `#` followed by the doc title in lowercase with hyphens opens the doc. For example, `#weekly-report` opens the doc titled "Weekly report". The link must match the whole title. A number such as `#101` never opens a doc. ## What teammates can do with docs Teammates create, read, search, and update docs, archive and delete them, pin them, and move them between folders. They can also create, rename, and delete folders. A teammate can delete only an empty folder. ```text Ask your chief of staff theme={null} Make an inventory of our docs. Archive the ones that are out of date, and move the rest into folders by topic. ``` ## Get told when a deliverable is ready When a teammate creates a doc of type deliverable, Squad sends you a notification: **Deliverable ready:** and the doc title. It shows in the bell beside your squad's name at the top of the sidebar. On a phone, the bell is in the bar at the top of the screen. Email for this event is off by default. To change it, go to **Settings** > **Notifications** and find **A document is ready**. See [Choose your notifications](/docs/notifications). ## On Squad for Mac (private beta) **Docs** in Squad for Mac (private beta) works as on this page, with these differences. For the numbers, see [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). * **Open it.** Select **Docs** in the sidebar, or press ⌘3. Its badge counts the docs that are new or changed since you read them on this Mac. When you unpin **Docs**, it is under **More**, and ⌘3 still opens it. * **Find a doc.** **Search docs** matches the title, the start of the doc's text, the kind, and the author. Once a doc is archived, the folder chips include **Archived**. The **Order** that you pick stays the next time. **Show more docs** at the end of the list shows more docs. * **Mark docs as read.** Besides **Mark all as read** in the header and in the sidebar menu of **Docs** (there called **Mark All Docs as Read**), right-click a doc and choose **Mark as read**. Read marks are kept on this Mac. They do not sync with the web or other Macs. * **Edit a doc.** **Edit** works once the whole doc has loaded. Press ⌘S to save. If a teammate changed the doc while you edited, Squad says so. Choose **Use their version** or **Save mine anyway**. * **Document actions.** Right-click a doc, or open **Document actions** in the reader, for **Pin to Sidebar**, **Pin to the top of Docs**, **Export as Markdown…**, **Export as PDF…**, **Move to folder**, **Archive**, and **Delete…**. * **Ask to update.** The button reads **Ask** and the teammate's name **to Update**. * **Viewers.** A Viewer can read, export, and pin docs to the sidebar. ## Check that it works * A doc you have not opened shows a blue dot. * After you pin a doc, it shows under **Pinned**. * After you archive a doc, the **Archived** chip shows. ## Troubleshooting * Search does not find a doc. Cause: the words are only in the body, and the **Docs** search checks the title, preview, type, and teammate's name. Fix: filter by folder and kind, or ask a teammate to find the doc. * The dots are different on another computer. Cause: read state is stored in each browser. Fix: none needed. Open the doc once on that computer, or select **Mark all as read**. * A doc is missing. Cause: it was archived or deleted. Fix: select the **Archived** chip. A deleted doc cannot be restored. # Statuses and what they mean Source: https://squad.so/docs/statuses Look up each status word, mark, and notification event that Squad shows, and what it means. This page lists the status words, marks, and events that the dashboard shows. The words are quoted as they appear on screen. The dashboard shows a word only when something is not in its normal state. A finished run, a routine that is on, or a connected bot carries no word. Orange marks what needs you. A blue dot marks something new that you have not read. ## Tasks ### Columns on Tasks **Tasks** has four columns. Each task is in one column, based on its status. A column shows its name and how many tasks it holds. | Column | Meaning | | - | - | | **Not started** | No teammate has started the task yet. A task with an owner waits here until the owner starts it. A task with no owner waits here until a teammate picks it up. | | **Needs you** | The task waits on you, or it is blocked. The column has an orange dot. | | **Working on it** | A teammate picked up the task, is working on it, or is reviewing it. | | **Done** | The task is finished. **Archived** and **Trash** are under this column. | A task moves to **Needs you** when a teammate asks you a question on it. When you answer every question, the task goes back to **Working on it** and the teammate continues. See [Answer what needs you](/docs/tickets). ### Marks on a task | Mark | Where | Meaning | | - | - | - | | **Urgent**, with an orange dot | Card and task page | The task's priority is urgent. Other priorities are not marked on the card or the task page. | | **Urgent**, **High**, **Normal**, **Low** | The priority picker, rows in **Archived** and **Trash**, and the **Task created** card in chat | The task's priority. New tasks are **Normal**. | | **Stuck for N days · no progress** | Card | The task is in **Working on it** and has had no update for more than 2 days. | | **Ongoing** | Card | The task runs continuously. It never gets the Stuck mark, and stall detection skips it. | | **Needs you**, with an orange dot | Task page | The task is blocked, and no question is open on it. A visitor of the public dashboard sees **Waiting on the owner**. | | **This task needs you** | Task page | A heading over the question that waits on you. Answer it there. | | **Unassigned**, **Waiting for pickup** | Task page | No teammate owns the task yet. The two words show together under **Owned by**. | Archived tasks and tasks in Trash are not in the columns. See [Track work on Tasks](/docs/missions). ## Questions A question is open until every part of it has an answer. Open questions wait in **Needs you**, and the first ones show on **Today**. | Label | Where | Meaning | | - | - | - | | **Over a day** | A question or an email in **Needs you** | It has waited on you for more than a day. | | **All (N)**, **Over a day (N)**, **Over 30 days (N)** | Filters in **Needs you** | The counts include questions and emails. **Over 30 days** shows only when something has waited that long. | | **Urgent** | A question in **Needs you** | The question's task is urgent. No other priority is marked. | | **All answered** | Question card | Every part of the question has an answer. Answered questions are under **Resolved** in **Needs you**. | | **Waiting on you, nothing asked yet (N)** | **Needs you** | Tasks that wait on you, but the teammate did not ask a question. | | **Purchases to approve** | **Needs you** | Payments that teammates want to make with your card. See [Purchases](#purchases). | ### Answers on a question A question shows the buttons that fit what the teammate asks. The question card looks the same on **Today**, in **Needs you**, on the task page, and in chat. | The teammate asks for | Buttons | What the teammate gets | | - | - | - | | An approval | **Approve**, **Request changes** | **✓ Approved**, or **↩ Changes requested:** and your text | | A yes or no | **Approve**, **Decline**, **Something else…** | **✓ Approved**, **✕ Declined**, or your own words | | A choice | One numbered row for each option, then **Something else…** | **✓** and the option, or your own words | | Access | **Connect** and the app's name (**Open Custom integrations** when no app is named), **Mark granted**, **Something else…** | **✓ Access granted** | | An action | **I’ve done this**, **Something else…** | **✓ Done** | | Information | A text box and **Send answer** | Your text, or **✓ Input provided** | Questions also have **Skip**, which tells the teammate "✕ Skipped: not needed, carry on without it". Only the owner answers a question for access or an action. Other people see the request and "asked the squad’s owner for this, so the owner marks it done", with no buttons. **Discuss with** and the teammate's name opens the question's own conversation. An answered part folds to one line with your answer, **Show request**, and **Undo**. **Undo** opens the part again and puts the task back in **Needs you**. After you answer on **Today** or in **Needs you**, **Just answered** keeps **Undo** for 45 seconds. People other than the one who answered see a short label: **Approved**, **Declined**, **Changes requested**, **Marked granted**, **Done**, **Answered**, **Skipped**, or **Answered in chat**. A question that closed with its task shows **Canceled**. ## Teammates ### State on a teammate's face A teammate's face shows its state. Screen readers say the state in words. | Mark | Meaning | | - | - | | A dot that circles the face | The teammate has a run in progress. | | An ember dot on the face | The teammate needs something from you: it reports a problem, one of its tasks waits on you or is blocked, or it has email drafts or escalations for you. | | Closed eyes, on the teammate's page | The teammate is paused. In the sidebar, the gray line says so. | | A blue dot at the end of the sidebar row | A reply that you have not read. | With **Animated teammates** off in **Settings** > **You**, the faces stay still. On a shared public view, visitors see **Waiting** where you see **Needs you**. A teammate's **About** says its state in a sentence, for example "Otis is working on 2 tasks and has finished 1 today." When something waits for you, it adds how many drafts and questions, with **Open Needs you**. ### Notices on a teammate's page | Notice | Meaning | | - | - | | **Paused by** and a name, **Paused** and a reason, or **Paused** | The person or teammate named paused the teammate: you, an Administrator, your chief of staff, or the teammate itself. An older pause shows only **Paused**. **Resume** starts it again and gives it the @mentions, task assignments, and emails that waited. | | The teammate's name, **needs attention.**, and a reason | The teammate reported a problem. | A paused teammate does not run from the dashboard. Its routines are off, chat messages to it are refused, and @mentions, task assignments, and emails wait until you resume it. See [Add, change, and pause teammates](/docs/agents#pause-a-teammate). ### Line in the sidebar Under each name in the sidebar, a gray line shows what the teammate is doing. | Line | Meaning | | - | - | | A sentence about the current work, or **Working on** and a task | The teammate is running and reported what it is doing. | | **Working…** | The teammate is running and has not reported details yet. | | **Needs you**, in orange | The teammate needs something from you. | | A reason, such as **Paused by Atlas** | The teammate is paused. | | **Idle · active Nm ago** | The teammate is idle and was active in the last 7 days. | | **Idle** | The teammate is idle. | When the sidebar is collapsed, a teammate's tooltip ends in **needs you** or **working**, and **unread reply** when there is one. ## Chat ### Conversation list | Mark | Meaning | | - | - | | A small spinner | The teammate is working in this conversation. | | A blue dot and a bold title | A reply that you have not read. | A conversation with neither has no mark. ### Your messages | Label | Meaning | | - | - | | **Sending…** | Squad is delivering your message to the teammate. | | **Queued** | The teammate is still replying to an earlier message in this conversation. Your message waits its turn. **Steer now** hands it to the reply in progress. | | **Steering…** | You selected **Steer now**. The reply in progress now covers this message too. | | **Retry** | The message failed. Select it to send the message again. A failure where no reply came says "No reply arrived". | | **Stopping…** | You or an Administrator selected **Stop**. The run ends soon. See [Stop a reply in progress](/docs/chat#stop-a-reply-in-progress). | | "This run was stopped before the agent replied. Anything it already saved stays." | The run was stopped before the teammate replied. This is not a failure, so there is no **Retry**. | | A version number such as **1/2**, between arrows | You or another person edited this message. The numbers show which version of the conversation is on screen. See [Copy, fork, or edit messages](/docs/chat#copy-fork-or-edit-messages). | ### Card headers in chat Teammates post these cards in chat. Each header tells you what the card wants. A card that asks something of you is orange only for the person who can answer it. | Header | Meaning | | - | - | | The teammate's name and the task | A question. Answer it on the card, on **Today**, or in **Needs you**. | | **All answered** | Every part of the question has an answer. | | **Paused for your answer** | The teammate waits for you to pick an option. | | **A key to add** | The teammate needs a key or other secret value. | | **An app connection to add** | The teammate proposes an MCP server to add. | | **Connect** and the app name | The teammate asks you to connect an app. | | **Your computer needs you** | The teammate asks you to take over its computer. | | **Task created** | The teammate created a task from the conversation. The card shows its priority and its owner. | | **Form to fill** | The teammate asks you to fill in a form on a web page. See [Form cards](#form-cards). | | **Add a card to your Wallet**, or a purchase state such as **Waiting for your approval** | The teammate asks you to add a card, or wants to pay with one. See [Purchases](#purchases). | After you act on a card, it shows what happened, for example **✓ saved to the vault**, **✓ added**, or **Answered** and the time, followed by **· sent to the teammate**. For how to use each card, see [Chat with your teammates](/docs/chat). ### Helpers in chat When a teammate starts helpers, the conversation shows one line, for example "Asked 3 helpers to check the evidence". These words show with it: | Words | Meaning | | - | - | | **Waiting on 3 helpers**, **Waiting on the last helper** | The teammate's working message: the helpers are still working. | | A sentence such as "2 ran out of time." or "Docs audit didn't report back." | A helper did not finish as asked. | | "It stopped on a sign-in problem.", "It ran out of time.", "It ran out of room before it finished.", "It hit a usage limit.", "It was stopped.", "It stopped before it finished." | Why a helper failed, when Squad knows. | For each helper's run, open **History**. See [See the helpers your teammates start](/docs/chat#see-the-helpers-your-teammates-start). ### Form cards | Label | Meaning | | - | - | | **Form to fill** | The teammate waits for your values. **Fill the form** sends them. **I can't fill this** declines. | | **Submitted** | Your values reached your squad's computer. The teammate is filling the page now. | | **Tell my teammate** | Your values arrived, but the teammate was not told yet. Select it to tell the teammate. | | **Filled** | The form on the page was filled with your values. | | **Not filled** | The page could not be filled. Ask the teammate to send the form again. | | **Declined** | You declined. The teammate finds another way. | | **Expired** | The request lapsed. Ask the teammate to send it again. | | **Dismissed** | The card was dismissed. | See [Fill a form that a teammate sends you](/docs/form-cards). ## History ### Marks on a run **History** marks only a run that is still going or did not finish. A finished run carries no mark. Its details say **Finished**. | Mark | Meaning | | - | - | | **Running** | The run is in progress. | | **Stopped** | You or an Administrator stopped the run with **Stop**. This is not counted as a failure. See [Stop a run](/docs/runs-and-health#stop-a-run). | | **Still finishing** | The run stopped sending events, and no end signal arrived. If the run reports back, the row corrects itself. This is not counted as a failure. | | **Interrupted** | A restart of your squad's computer or a newer run cut the run off, or a short AI provider error stopped it and Squad retried it. This is not counted as a failure. | | **Didn’t finish** | The run ended with an error or ran out of time. | On Squad for Mac (private beta), a run that ran out of time shows **Ran out of time** in its row, not **Didn’t finish**. See [See what your squad did](/docs/runs-and-health#on-squad-for-mac-private-beta). ### Kinds of run | Kind | What started the run | | - | - | | **Scheduled run** | A routine, including a heartbeat. | | **Chat** | A message that you or another person sent to the teammate. | | **Telegram or a mention** | A Telegram message, or a wake such as a nudge or an @mention from you or another teammate. | | **Email** | An email that arrived in the teammate's inbox. | | **Research** | A research tool call. | | **App** | A system task, such as a memory recall. | | **Tool** | A single tool call. Tool runs are hidden until you turn on **Tools** in the **Kind** filter. | | **Helper** | A helper that another run started. Its title is "Helper:" and the helper's short name, or "Helper run" when there is no name to show. See [See helper runs](/docs/runs-and-health#see-helper-runs). | | **Trigger** | An event that a trigger received. See [Triggers](/docs/triggers#what-a-trigger-run-looks-like). | The **Kind** filter names them **Routines**, **Chats**, **Telegram and mentions**, **Emails**, **Research**, **Apps**, **Tools**, **Helpers**, and **Triggers**. ### Notes on a run | Note | Meaning | | - | - | | "A restart cut this run short, and Squad picked it back up." | A restart interrupted a chat reply, and Squad gave the message back to the teammate, which continued where it stopped. | | "The AI service hiccuped, and Squad picked this run back up." | A short AI provider error stopped the run, and Squad retried it. | | "Cut short by maintenance, and not run again." | A restart cut the run off, and Squad did not run it again. Check that its work finished. | | **Replaced by a newer job** | A newer run started on the same conversation before this one reported its end. | | **Ran out of time** | The run reached a time limit that is left from an earlier setting. **Check the time limit** opens that limit in the teammate's setup. See [Time limits](/docs/agent-stuck#time-limits). | | **Didn't finish** and a plain sentence | The run ended with an error. The error text from the system is under **Technical details**. | For how long a run can stay silent, see [Limits and defaults](/docs/limits-and-defaults#runs). When a Claude Code account reaches its usage limit during a run, Squad switches to your next Claude Code account. The run continues once on the new account. If it had already done work, the teammate is told to continue from where it stopped and not to repeat what is done. If the next account has reached its limit too, the run fails. When every Claude Code account has reached its limit, Claude Code cannot serve runs until one resets, and runs move to the next model in **When it can’t answer** if you set one. For History and Health, see [See what your squad did](/docs/runs-and-health). ### Health Only the owner and Administrators see **Health**. | Section | Meaning | | - | - | | **All clear** | No failed or interrupted runs today, and no provider limits in effect. | | **Provider status** | An AI provider is rate-limiting your teammates, and recent runs failed. Squad does not repeat a run that failed on a rate limit. New runs work again when the provider accepts calls. | | **Needs a look (N)** | Runs that failed today. **View in Runs** opens one in History. | | **Routine interruptions (N)** | Runs marked **Interrupted** today. Each row is tagged **resumed** or **not run again**. Check that the work of runs tagged **not run again** finished. | ## Routines A routine that is on has no label. Its switch shows whether it is on. | Label | Where | Meaning | | - | - | - | | The switch, off, and a gray name | Routines list | The routine is paused. | | "It can’t run as it’s set up: it reminds in the background while background reminders are off." and **Fix it** | Routines list | The routine is set to run as a background reminder while background reminders are off for the teammate, so it is skipped every time. **Fix it** opens the teammate's setup. Such a routine comes first in its teammate's group. | | An error and **See what happened** | Routines list | The last run failed. **See what happened** opens that run in History. | | **All routines**, **On**, **Paused**, **Can’t run** | **Filter** on Routines | Shows routines by state. **Can’t run** shows the routines that cannot run as they are set up. | When a change to a routine fails, the message says why. It starts with "Your cloud computer did not create the task.", "did not update the task.", "did not start the task.", or "did not move the task to that agent." and then gives the computer's own reason. When the connection to the computer was lost, the message says that Squad cannot tell whether the change went through, and asks you to check the list, or History, before you try again. See [Schedule recurring work with routines](/docs/scheduled). ## Triggers ### Trigger labels A trigger's page shows one of these labels. On **Routines**, under **When something happens**, a trigger has a switch, and a note only while it waits for something. | Label | Meaning | | - | - | | **On** | The trigger wakes its teammate when events arrive. | | **Paused** | The trigger is off and wakes no one. A webhook trigger still keeps the events that arrive. An app event trigger usually gets no events while it is paused. The page says why when Squad paused it. | | **Waiting for approval** | A teammate suggested the trigger. It does nothing until someone approves it. On **Routines**, the note says that the teammate suggests it and that it does nothing until you turn it on. | | **Connecting** | Squad is asking the app to send this event. This usually takes a few seconds. On **Routines**, the note says that it waits for the app to confirm that it listens. | | **Needs a secret** | The sender is **Stripe**, **Shopify**, or **Standard Webhooks**, and no secret is saved. Squad refuses every request until you add it. On **Routines**, the note says that it waits for its signing secret. | ### Event outcomes These words show next to each event under **Recent events** on a trigger's page. | Outcome | Meaning | | - | - | | "Waiting to send" | The event waits for the trigger's current run to end. | | "Waking the teammate" | Squad is sending the event to the teammate. | | "Retrying (attempt N)" | The last try to wake the teammate failed. Squad tries again. | | "Held while the teammate is paused" | The teammate is paused. Squad sends the event when you resume the teammate. | | "Teammate woken, run starting" | The teammate got the event, and its run is starting. | | "Teammate working" | The teammate's run is going. | | "Done" | The run finished. | | "Run stopped" | Someone stopped the run. This is not a failure. | | "Run failed", "Run timed out", or "Run ended:" and a status | The run did not finish its work. **Retry** sends the events again. | | "Teammate woken, no run started" | The teammate got the event, but no run started. **Retry** sends it again. | | "Could not wake the teammate" | Every try to wake the teammate failed. The error shows under the event. **Retry** sends it again. | | "Not run: the trigger was paused" | The event arrived while the trigger was off. Turn the trigger on, and **Run now** runs it. | | "Not run: the daily limit was reached" | The trigger had started as many runs that day as **Most runs per day** allows. **Run now** runs it. | | "Not run: the teammate was removed" | The trigger's teammate was removed. | | **Test** | A tag on an event that someone sent with **Send test event**. | **Run now** and **Retry** show only while the trigger is on, and only to people who can change triggers. ## AI accounts On **Settings** > **AI**, each account shows one status word. | Status word | Meaning | | - | - | | **Signed out** | The provider signed this account out. Select **Reconnect** to sign in again. | | **Expired** | The sign-in has expired. Select **Reconnect** to sign in again. | | **At limit** | The account used up a limit window. It cannot serve runs until the limit resets. | | **Out of sync** | Some teammates hold an older copy of this sign-in. Select **Sync now** to update them. | | **In use** | This account serves the next run on this provider. | | **Standby** | The account is healthy and waits in the order. On Claude Code, a standby account takes over when the account in use reaches its usage limit. | | **Connected** | The account is connected. Squad has no usage data for this provider. | Other labels on **Settings** > **AI**: | Label | Meaning | | - | - | | **Rate-limited · cooling down** | A recent run on this provider hit a rate limit. | | "Falling back to" and an account name | The accounts above cannot serve runs, so runs use that account. | | "Falling back to the next provider in model routing" | No account on this provider can serve runs, so runs move to the next model in **When it can’t answer**. | | A banner that says the provider is signed out on your workspace | Runs that use it fail until you reconnect it. **Today** and **Needs you** also say so first, with **Reconnect** and the provider's name. Squad sends this only to the owner and Administrators, so only they see this row. | | "Some teammates don’t have the newest sign-in yet." | Select **Sync now** to update them. | ## Email ### Messages | Label | Where | Meaning | | - | - | - | | **Draft** | Message in a conversation | The teammate drafted this message for your review. It has not been sent. | | **Scheduled** | Message and inbox row | The message is set to send later. | | **Needs you** | Message in a conversation, and inbox row with an orange dot | The teammate asked you to decide how to handle this email. | | **Bounced** | Message in a conversation and inbox row | The email bounced. The recipient did not get it. The message shows the reason when the provider gives one. | | **Not sent** | Message in a conversation and inbox row | The email did not send. The recipient did not get it. The message shows the reason when the provider gives one. | | **Draft ready** | Inbox row | A draft waits for your review. | | A blue dot, **Unread** for screen readers | Inbox row | You have not read the email. | | A paperclip, **Has files** | Inbox row | The email has files attached. | A sent message has no label. ### Inboxes | Label | Where | Meaning | | - | - | - | | **Paused** | Inbox settings | You paused the inbox. Mail still arrives, but the teammate does not read it or send email until you select **Resume inbox**. | | **Updating…** | Inbox settings | Squad is setting up the inbox or changing its address. | An inbox that works has no label. ### Custom email domains | Status | Meaning | | - | - | | **Waiting for DNS** | Squad is waiting for the DNS records at your DNS host. | | **Checking DNS…** | Squad is checking the records now. | | **Verification failed** | The check failed. The reason is shown next to it. | | **Connected · DNS verified** | The domain is verified and ready to use. | Each DNS record also shows **Verified** or **Pending**. See [Give a teammate an email inbox](/docs/email). ## Apps and channels | Label | Where | Meaning | | - | - | - | | **Connected** | App catalog | You connected at least one account for this app. | | **Primary** | Account row | Teammates try this account first when they do not pick one. A person's own accounts come before shared accounts. | | **Shared with team**, **Private** | Account row | Who can use the account. See [Who can use an account](/docs/integrations#who-can-use-an-account). | | **Connect** and the app name | Card in chat | A teammate asks you to connect the app. | | **Finish signing in** | Card in chat | The sign-in has started. Finish it in the window that opened. | | **The connection expired** | Card in chat | The connection expired. Authorize it again. | | **Not connected** | Telegram main bot | Your main Telegram bot is not connected. A connected bot has no label. | | **Offline** | Each extra Telegram bot, Discord bot, and Slack app | The bot is not running on your squad's computer. A bot that runs has no label. | ## Visible computer | Label | Meaning | | - | - | | **Watching · the squad keeps working** | You are watching the teammate's computer. The teammate keeps control. | | **You have the keyboard** | You took over. Select **Hand back** to return control to the teammate. | | **Your computer needs you** | A card in chat. The teammate asks you to take over its computer. | See [Watch or take over a teammate's computer](/docs/computer). ## Docs A blue dot before a doc's title means that the doc has news for you. | Tooltip on the dot | Meaning | | - | - | | "New. You haven’t opened it yet." | You have not opened this doc yet. | | "Changed since you last read it." | The doc changed since you last opened it. | **Mark all as read** on **Docs** clears every dot. Archived docs never show a dot. See [Find and manage your squad's docs](/docs/squad-docs). ## Contacts | Mark | Where | Meaning | | - | - | - | | **Do not contact** | Contact row and contact panel | Teammates do not email this contact. The panel says "Do not contact. Your teammates won't email them." See [Mark a contact do not contact](/docs/contacts#mark-a-contact-do-not-contact). | | **Follow-up** and a date, in bold | Lead row and contact panel | The follow-up is today or past. **Follow-up due** lists these leads. See [Set a follow-up](/docs/contacts#set-a-follow-up). | | **Follow-up not set** | Contact panel | The lead has no follow-up date. | Pipeline stages are names that you set, so they are not listed here. See [Keep your contacts and pipelines](/docs/contacts). ## Purchases When a teammate pays with a card, the **Purchase** card in chat and in **Needs you**, and **Purchases** in the **Wallet**, show one of these states. The state is orange only while it waits for your own approval. | State | Meaning | | - | - | | **Getting the checkout ready** | The teammate is preparing the payment. | | **Waiting for your approval** | You must approve the payment on the device that holds the card. You see **Review and approve**. | | **Waiting for** and a name | The card's owner must approve the payment on their own device. | | **Approved** | The payment is approved, and the teammate is placing the order. | | **Paid** | The order is placed. The card shows the order number when the store showed one. | | **Declined** | The payment was declined, so nothing was paid. | | **Not approved in time** | Nobody approved it in time, so nothing was paid. | | **This store can’t take it** | The store's checkout does not work with an approved card, so nothing was paid. | | **The store needs a person** | The store asked for a step that only a person can do. The teammate tells you what it needs. | | **Payment not confirmed** | It is not known whether the payment went through. Look at the card's statement before you try again. | | **Cancelled** | The purchase was cancelled, so nothing was paid. | | **Stopped** | It stopped before anything was paid. | A checkout that charges nothing, such as a free trial, only saves the card with the store. Its sentence says "with nothing to pay now", the **Wallet** shows **Nothing to pay now**, and these states use their own words: | State | Meaning | | - | - | | **Waiting for** and a name | The card's owner must approve saving the card on their own device. | | **Approved** | The card is approved, and the teammate is saving it with the store. | | **Card saved** | The card is saved with the store, and nothing was paid. | | **Declined** | The card was declined, so it was not saved. | | **Not confirmed** | It is not known whether the store saved the card. Check your account with the store before you try again. | See [Let your teammates pay with your card](/docs/payment-cards). ## What's new Each entry in **What's new** has a type label. The filters at the top are **All**, **Features**, **Models**, **Improvements**, and **Fixes**. | Label | Meaning | | - | - | | **New** | A new feature. | | **Improved** | A change to something that already existed. | | **Fixed** | A bug fix. | | **New model** | A new AI model that you can pick. | ## Subscription | Label | Where | Meaning | | - | - | - | | **Active** | Plan card on Billing | Your subscription is active. | | **Ending** | Plan card on Billing | You canceled. The plan ends on the date shown. | | **Your subscription is canceled.** and the end date | Banner at the top of the dashboard, and the plan card on Billing | You canceled. The workspace works until the date shown. After that date, the workspace and your teammates are scheduled for deletion. | | **Your subscription is canceled** | Lock screen | The plan has ended, and the workspace is locked. | | **Your subscription is paused** | Lock screen | The workspace is locked while the subscription is paused. | | **Payment past due** | Lock screen | The latest payment failed, and the workspace is locked. | See [Manage your subscription, credits, and workspace data](/docs/billing). ## Notification events These are the events on **Settings** > **Notifications**. Each has an **In Squad** switch and an **Email** switch. **Not by email** means that the event never sends email. | Event | Description on screen | In Squad default | Email default | | - | - | - | - | | **A teammate needs your decision** | An approval or a question only you can answer. | On | On | | **A reply is ready for you to check** | A teammate drafted an email or a message for you to look at first. | On | Off | | **A document is ready** | A teammate finished a doc. | On | Off | | **A task is waiting on you** | Its work stops until you answer. | On | On | | **A routine finished** | It ran to the end. | Off | Off | | **A routine failed** | It hit an error or ran out of time. | Off | Off | | **A teammate got an email** | It arrived in their inbox, and they handle it. | On | Off | | **Your week, every Monday** | An email with a link to look back on the week. | Off | On | | **Billing and credits** | Low credits, renewals and payment problems. Only the owner sees this event. | On | Not by email | | **A teammate replied to you** | In a conversation you started. | On | Not by email | When the **In Squad** switch of an event is off, that event does not show in the bell. The bell shows up to 8 of your newest notifications. Reply notifications show only for the conversations that you are in. Selecting a reply notification opens that conversation. Other notifications open **Activity**. For more, see [Choose your notifications](/docs/notifications). # Invite people to your squad Source: https://squad.so/docs/teammates Invite people by email, choose their role, limit them to some teammates, and remove them when they leave. Seats are bought in Billing. You can bring the people you work with into your squad. A person signs in to the dashboard with their own email address, sees your squad's work, and, except a Viewer, talks to your teammates. Billing always stays with you. Each person you invite uses a seat. The owner does not. You buy seats in **Billing**, then you invite people into them on **People**. For the other ways to show your work to people, see [Share a read-only view of your workspace](/docs/sharing) and [Talk to your squad from Telegram, Discord, or Slack](/docs/channels). ## Before you start * You must be the owner to buy seats. An **Administrator** who can see every teammate can invite people into seats that you already bought. * Decide which role each person gets. See [Choose a role](#choose-a-role). * Know what the person will see. People can read the full chat history of every teammate that they can see, including your messages. See [What people share with you](#what-people-share-with-you). A seat is a paid add-on. Each seat is a monthly charge on your subscription. **Billing** shows the price before you buy. See [What Squad costs](/docs/costs#seats-for-people). ## Open People Select **Settings** at the bottom of the sidebar, then **People**. The **People** page opens. The page has up to two cards: | Card | Who sees it | What it holds | | - | - | - | | **Invite someone** | You, and each **Administrator** who can see every teammate | **Email**, **Role**, how many seats are free, and **Send invite**. | | **People in your squad** | Everyone in the squad | You, marked **Owner**, and each person with their role, email, and the date they joined. You and your Administrators also see the open invites. | ## Buy seats Select **Settings**, then **Billing and usage**. When no seat is free, the line on **People** also links there: **Add a seat in Billing**. On the seats card (**Seats for people:** and the numbers), use **−** and **+** to set how many seats to buy. You can buy 1 to 100 seats at a time. Select **Buy** followed by the number of seats and the monthly price. Read the dialog. It says that your card on file is charged now for the rest of the billing period, pro-rated, that each renewal after that includes the new seats, and how many seats you go to. Select the buy button in the dialog. While Squad updates your subscription, the card says **Updating your seats…**. The card then shows the new number of seats. See [Manage your plan and billing](/docs/billing). An invite never charges your card. Only a seat purchase does. ## Choose a role **Invite someone** offers three roles in **Role**. The line under the fields says what the chosen role does. | Role | What the dashboard says | What the person can do | | - | - | - | | **Collaborator** | "Works with you: tasks, docs, answering your squad’s questions, and chat with the teammates you allow." | Chat with teammates, work on tasks and docs, answer questions, and add and edit contacts. Can open a teammate's setup, **Skills**, **Tools**, **AI**, **History**, **Routines**, and **Email** to read them, but cannot change them or stop a run. Connects only their own app accounts and payment cards. | | **Administrator** | "Runs the squad with you: people, teammates, apps, and settings. Billing stays with the owner." | Everything that you can do, except the things in [What stays with the owner](#what-stays-with-the-owner). Can manage people, change settings, set up Telegram, Discord, and Slack, stop runs, and watch or take over a teammate's computer. An Administrator limited to some teammates can do less: see [Limit a person to some teammates](#limit-a-person-to-some-teammates). | | **Viewer** | "Sees tasks, docs, and activity. Sends no messages and changes nothing." | Reads the same screens as a Collaborator. Cannot send messages, create tasks, answer questions, change contacts, or connect apps. Can change only their own name and their own notifications, and can leave the squad. | **Collaborator** is selected when the page opens. You can change a person's role later. See [Change a person's role](#change-a-persons-role). ## Invite someone In **Email**, type the address that the person will sign in with. In **Role**, pick **Collaborator**, **Administrator**, or **Viewer**. Select **Send invite**, or press Enter in **Email**. A dialog opens, for example "Invite this person as a Collaborator?", with the address under it. The dialog says what the person will see and do. Select **Send invite**. The dialog tells you: * The person gets an email link that works for 7 days. * Accepting joins them to your squad as the role that you chose, and holds one of your seats until you remove them or revoke the invite. It names the seat price. * What the role can do, in the words of the table below. * They start with access to every teammate in your squad. After they join, you can limit them to specific teammates on **People**. | Role | What the dialog says | | - | - | | **Collaborator** | "They can read the complete chat history of every teammate they can see, including your messages and other people's messages, and they can send their own." "They can work on tasks, docs, and questions with you. Billing, secrets, and how your teammates are set up stay with you." "The squad computer is shared. By asking a teammate, they may be able to use any site signed in on it and the Secrets you saved." | | **Administrator** | The same chat line. "They can run the squad with you: people, teammates, channels, and settings. Billing, refunds, and secrets stay with you." "The squad computer is shared. By asking a teammate, they may be able to use any site signed in on it and the Secrets you saved. They can also watch and take over a teammate's computer." | | **Viewer** | "They can read the complete chat history of every teammate they can see, including your messages and other people's messages. They cannot send messages." "Their access is view-only: they can see tasks, docs, and activity, but they cannot change anything." | For a Collaborator or an Administrator, the dialog also has one line about your connected apps. When it shows the share box (see the next section), the box replaces this line. Otherwise the line is: * For a Collaborator: "The apps you connected stay private to you. They connect their own on the Apps page, and you choose there which of yours to share with the whole squad." * For an Administrator: "The apps you connected stay private to you. They connect their own on the Apps page. They can disconnect any account there, but only the person who connected an account can share it." ### Share your accounts when you invite When you invite a Collaborator or an Administrator and some of your connected app accounts are still private, the dialog also shows **Share my connected accounts with everyone in my squad**, with the names of up to four of those accounts and how many more there are. The box is ticked each time the dialog opens. * Leave it ticked to share these accounts when the invite is sent. Your teammates can then use them for everyone's requests. You can stop sharing any of them later on the **Apps** page. * Clear it to keep your accounts private. Each person then connects their own accounts on the **Apps** page. Only the owner sees this box, and it shares only the owner's accounts. It does not show for a Viewer invite. After you send, the card says "Invite sent. The link works for 7 days." If the invite shared accounts, it adds, for example, "Your 2 connected accounts are now shared with everyone in your squad." The invite shows in **People in your squad** with **Invited ·** and the role, the date it was sent, and the days until the link expires. An open invite for an Administrator shows **Invited · Collaborator** on this row. The person still joins as an Administrator. An open invite uses a seat. Next to **Send invite**, the card shows how many seats are free, for example **2 of 3 seats free**. When no seat is free, **Email** is off and the line says **You have no seats for people yet.** or **All 3 seats are in use.** For you it adds **Add a seat in Billing**. For an Administrator it adds **Ask the owner of your squad to add one.** To send a new link to the same person, invite the same address again. The new link replaces the old one, which stops working, and uses the same seat. When no seat is free, **Email** is off. Revoke the open invite first, then invite the address again. ### What the invited person does The email has the subject "\[Squad]" followed by "(your name) added you to their squad". It says that there is no plan to buy and no card to enter. Select **Accept invite** in the email. The invite page names you, the role, and the email address that the invite is for. Select **Sign in to accept**. Sign in with the invited email address. A person with no Squad account selects **Sign up** on the same page and creates one with that address. Select **Accept invite**. The dashboard opens on the squad. In **Switch workspace**, it says **Shared with you**. The link works once, and only for the invited address. A person you invite does not need a subscription of their own. ## Limit a person to some teammates A new person can see every teammate. You can narrow that list. In **People in your squad**, select **All teammates** on the person's row. The button shows, for example, **2 of 5 teammates** when the list is already narrowed. Under **Which teammates can** and the name **chat with?**, clear **Every teammate, including teammates added later**. Then check the teammates that this person may use. Select **Save access**. A teammate that you leave out disappears for this person: its chat, its tasks, its questions, and its activity. Group chats stay shared. With **Every teammate, including teammates added later** checked, the person also gets teammates that your chief of staff hires later. An **Administrator** whose list is narrowed cannot make changes that reach every teammate. They cannot: * Invite people, change roles, or change another person's teammates. * Hire teammates, or change AI accounts, tools, or skills. * Add, change, or remove custom integrations: API keys, MCP servers, and their sign-ins. * Add an extra Telegram bot, a Discord bot, or a Slack bot that is not tied to one teammate, or set a bot's **Answered by** to **Your chief of staff (default)**. * Search, edit, forget, or clear the squad's memories, or change its memory switches. They see the switches with the note "You can see these settings, but your role cannot change them." * See or move the triggers of a teammate that was removed. * Manage connected accounts other than their own, or make any account primary. Like other people, they see other people's accounts only when those accounts are shared. To give an Administrator these powers, check **Every teammate, including teammates added later** for them. ## Change a person's role In **People in your squad**, open the role menu on the person's row (the name and **’s role**) and pick **Collaborator**, **Administrator**, or **Viewer**. The menu keeps the old role until Squad saves the change. Nobody can change their own role or their own teammate list. Only you and the Administrators who can see every teammate can change other people. ## See what a person did Select **Activity** on a person's row. The panel shows **Last seen** and a time, or **They have not opened Squad yet.**, then **Questions they answered**, their **Task comments**, and their messages in **Squad chat**. Select **Hide activity** to close it. A Collaborator or a Viewer can open the panel on their own row only. ## Remove a person or revoke an invite * To take back an invite that nobody accepted yet, select **Revoke** on the invite's row. * To remove a person, select **Remove** on their row. The dialog "Remove NAME from your squad?" says that they lose access right away, that every account they connected is disconnected, and that bringing them back takes a new invite. It also says that their seat stays on the subscription until it is released in **Billing**. Select **Remove person**. A removed person loses access at once. The app accounts that they connected are disconnected. The tasks, docs, and comments that they wrote stay in your squad. Removing a person or revoking an invite frees the seat, but you keep paying for it. The same is true when a person leaves or you reset the squad. You can invite someone else into it, or release it. ### Release unused seats Select **Settings**, then **Billing and usage**. On the seats card, select **Release** followed by the number of unused seats and the monthly saving. The button shows only when at least one seat is free. Read the dialog. It says how much your subscription goes down each month. Select **Release** followed by the number of seats. You cannot release a seat that a person or an open invite uses. Squad refuses with "Those seats are in use. Remove people or revoke invites first." ## What people share with you * **Chat history.** Chats with teammates are shared squad history, not private messages. A person reads every conversation of each teammate that they can see, including yours. Unread replies and reply notifications in the bell count for each person only in the conversations that they are in: they wrote in them or forked them. See [Which replies are new for you](/docs/chat#which-replies-are-new-for-you). * **Your squad's computer.** Each teammate has its own browser, but the computer is shared by the squad. A site that someone signed in to there may be usable by other people in the squad through the teammates. The keys and secrets that you saved for custom integrations work the same way. When other people are in your squad, the computer screen says so above the teammate's screen. See [Watch or take over a teammate's computer](/docs/computer). * **Memory.** Your squad has one memory for everyone. While the memory switches are on, it learns from chats, tasks, routines, and heartbeats, from every person in the squad. It does not learn from work that starts with an email to a teammate's inbox or with a trigger's event. It gives teammates what bears on a request, whoever asked. A fact from your chat can come up when a teammate works for another person, and the reverse. Teammates are told not to save a secret there that one person must not see. See [How your squad learns](/docs/memory#how-your-squad-learns) and [Turn memory on or off](/docs/memory#turn-memory-on-or-off). * **Connected apps are per person.** Each app account belongs to the person who connected it, and it is private unless that person shares it. Your own accounts are private too, so other people's requests cannot use them until you share them. Nobody else can share them. See [Who can use an account](/docs/integrations#who-can-use-an-account). * **Projects and contacts.** Projects and contacts are shared squad work. Owners, Administrators, and Collaborators can change them, and a Viewer can read them. ## How teammates treat people * A teammate knows who wrote each message in the dashboard chat. It answers a person by name and reports the result back to that person. * A teammate uses only the app accounts that the people it works for at that moment may use. If a person asks for an app that only you connected, the teammate says whose account exists and what fixes it: the person connects their own account, or you share yours. * A teammate does not repeat what it got with your account to a person who may not use that account. * Before a person signs in to a site on your squad's computer, or gives a teammate a password, the teammate tells them that other people in the squad may be able to use that sign-in. For an account that they want to keep to themselves, it points them to the **Apps** page. * A teammate asks for a password or personal details in a form card, never in chat. Only the owner can answer a form card. When the work needs another person's own password or details, the teammate does not ask the owner to type them. It tells that person which site and fields the step needs, and pauses that work until the person connects their own account in **Settings** > **Apps**, or the owner saves a shared sign-in in **Custom integrations**. These are instructions that teammates follow. Squad itself enforces the app account rules when a teammate uses an app. ### Teammates work within the person's role A teammate does for a person only what that person can do in the dashboard, with the exceptions in [What the limits do not cover](#what-the-limits-do-not-cover). Squad checks the Squad actions that a teammate takes, such as a task change, an email send, or a change to a teammate, against the role and the teammate list of the person that the teammate works for. | The teammate works for | The teammate can | The teammate cannot | | - | - | - | | A **Viewer** | Read the squad's work. | Change anything. | | A **Collaborator** | Work on tasks, docs, comments, questions, and contacts, post in chat, run research, draft email for your review, and use the app accounts that the person may use. | Hire, change, pause, resume, or remove teammates. Change skills or skill packs. Add MCP tools. Send email or change email settings. Read your credit balance, estimate credits, or set credit limits. Archive every open question. | | An **Administrator** | Everything that you can do, except billing. | Read your credit balance, estimate credits, or set credit limits. | * **People limited to some teammates.** The teammate cannot use, read, or change the work of teammates that are not on the list. It also cannot make changes that reach every teammate, such as hiring a teammate or archiving every open question. When the teammate @mentions a teammate that is not on the list in a task comment or a question, that teammate is not notified. Squad refuses a post in **Squad chat** that names such a teammate. * **Credit balance.** Research results and app actions that a teammate gets for another person do not include your credit balance. This is also true for an Administrator. The credits that each call costs still show. * **Several people at once.** When one reply serves several people, for example in a group chat, the teammate can do only what every one of them can do. * **Helpers.** A helper that a teammate starts keeps the limits of the person that the work is for. If Squad cannot tell whom a helper works for, it can do only what a Collaborator can do. This applies only after another person has joined. * **Your own requests.** Work for you is not limited, unless Squad cannot trace it to you (see **Helpers**). This includes your dashboard chat, Telegram, Discord, Slack, the teammates' own routine checks, and routines that run in a teammate's main session. When Squad refuses an action, the teammate tells the person what Squad said, including who can do it instead. Teammates are told not to retry the action and not to get it done another way, for example through another teammate or a routine. Teammates also know each person's role and, for a person limited to some teammates, which teammates they can use. #### What the limits do not cover * **Single memories.** While **Squad memory** is on, a teammate saves, searches, and forgets single memories for anyone it works for, also for a Collaborator or a Viewer who cannot open the memory screen. No teammate can clear all memories, whoever it works for. See [Manage what your squad remembers](/docs/memory). * **Your squad's computer.** The limits apply to Squad actions, not to what a teammate does on the shared computer, such as its files or its browser. They do not keep sign-ins on the computer apart. See [What people share with you](#what-people-share-with-you). ## What stays with the owner These things are yours alone, whatever role a person has: * **Billing**, credits, seats, and refunds. Other people never see the **Billing** page or your credit balance. * The saved values of your Secrets: the keys and secret values of your custom integrations. An Administrator who can see every teammate can add, replace, rename, or remove custom integrations, but never sees the saved values. See [Add an MCP server or an API key](/docs/custom-integrations). * Resetting the squad. * Your Mac, with Squad for Mac (private beta). Only your own work reaches it. When a teammate works for another person, Squad refuses its Mac requests. * Adding an inbox, because an inbox is a charge on your subscription. * Questions that ask for access or for an action that only you can do. A Collaborator or an Administrator can answer decision, approval, and input questions. A Viewer can read them but not answer. * Chat cards that ask to connect an app, add an MCP server, save a key, or fill a form are meant for you. Other people see them without buttons. See [Answer chat cards](/docs/chat#answer-chat-cards). A Collaborator or a Viewer also cannot open the computer screen, the memory screen, **Public dashboard**, **Backup**, **Domains** in **Settings** > **Email**, or **Telegram**, **Discord**, and **Slack** in **Settings** > **Apps**. ## Leave a squad A person that you invited can leave on their own. Open **Settings** > **Squad** > **General**. In **Danger zone**, select **Leave squad…**. In the dialog "Leave this squad?", select **Leave squad**. To keep access, select **Stay**. The person loses access right away, and their seat frees up. You keep paying for the seat until you release it. **Activity** shows that they left. As the owner, you cannot leave your own squad. ## Check that it works * The invite row shows **Invited ·** and a role until the person accepts (**Invited · Collaborator** for an Administrator invite). Then the person shows in **People in your squad** with their role and the date they joined. * The person's **Settings** > **Squad** > **General** says "You are a Collaborator in this squad." (or their role). * A message from the person in a teammate's chat shows their name. The teammate answers them by name. ## Troubleshooting | What the screen says | Cause | Fix | | - | - | - | | "That does not look like an email address." | The address is not complete. | Type the full address. | | "That is your own email. You are already here." | You typed your own address. | Invite someone else. | | "That person is already in your squad." | The address already belongs to a person in your squad. | Change their role on their row instead. | | "Every seat is in use. Add a seat in Billing first." | People and open invites fill every seat. | Buy a seat, revoke an open invite, or remove a person. | | "This invite link is not valid" | The link is incomplete or was copied wrong. | Open the link from the invite email again, or ask for a fresh invite. | | "This invite was already handled" | The invite was accepted, revoked, or replaced by a newer invite. | If you accepted it, sign in and open the dashboard. Otherwise, use the newest invite email, or ask the owner for a fresh invite. | | "This invite expired" | The link is more than 7 days old. | Ask the owner to invite the same address again. | | "This invite is for" an address, "but you are signed in as" another | The person signed in with a different address. | Sign out, then sign in with the invited address. | | "This workspace is paused" | The owner's subscription is paused, canceled, or past due. Other people see this instead of the dashboard. | Only the owner can restore access. After that, the person signs in again. | | "You no longer have access to" the owner's squad | The person was removed or left. | Ask the owner to invite them again. | | A teammate says that it cannot do something for a person, for example "A Collaborator cannot send email in the dashboard, so an agent cannot do it for them either." | The person's role or teammate list does not allow the action. | Do it yourself, ask the person that the message names, or change the person's role or teammates. See [Teammates work within the person's role](#teammates-work-within-the-persons-role). | | A teammate says "This work is for a scheduled task set to Shared" | The routine uses only the accounts shared with everyone, so it works like a Collaborator. The message says who can change the routine: "The workspace owner or an Administrator", or only "The workspace owner" for work that an Administrator cannot do, such as credit limits. | You, or an Administrator when the message names one, save the routine with **Shared accounts and my own accounts**. See [Choose the accounts of a routine](/docs/scheduled#choose-the-accounts-of-a-routine). | | A teammate says "This work cannot be traced to one person on the workspace" | Squad could not tell whom the work is for, for example a helper whose start was not recorded. Such work can do only what a Collaborator can do. | Ask for it again in your own chat with the teammate, or do it yourself. | ## Related # Connect Telegram Source: https://squad.so/docs/telegram Connect your main Telegram bot, then add extra bots for other teammates and other people. Telegram is optional. Setup does not ask for it, and you can connect it at any time. Telegram has two kinds of bots: * **The main bot.** Your chief of staff answers it, and only the owner can message it. You connect it first. * **Extra bots.** Each one has its own teammate and its own list of people who can message it. For how channels compare, see [Talk to your squad from Telegram, Discord, or Slack](/docs/channels). ## Before you start * Have the Telegram app open, signed in to your own account. * Get your Telegram user ID. Send any message to @userinfobot on Telegram, and copy the number that it sends back. ## Open the Telegram screen Select **Settings** at the bottom of the sidebar, then **Apps**, then the **Telegram** tab. You can also press ⌘K (Ctrl+K on Windows) and type Telegram. A link to the old **Channels** tab of the **Apps** page opens the **Telegram** tab. The owner and Administrators can open it. A Collaborator or a Viewer cannot. ## Connect the main bot Connect the main bot yourself, as the owner. Squad locks the main bot to the Telegram user ID typed in these steps. If an Administrator connects it with their own ID, the main bot answers them, not you, while the card still names you. In Telegram, open @BotFather and send `/newbot`. Give the bot a display name, then a username. The username must end in `bot`. Copy the token that BotFather sends. It looks like `123456789:AA…`. On the Squad **Telegram** tab, paste the token into the **Paste its token** step. Wait for **✓ Found** followed by the bot username. This means Telegram accepted the token. If the **Add your Telegram user ID** step shows, type your Telegram user ID. Select **Connect** followed by the bot username. In Telegram, send the bot one message. This pairs the bot with your account. Your squad answers from the bot. Nothing restarts. If your squad is in the middle of work, the bot starts answering when the work finishes. Check your user ID before you select **Connect**. Squad keeps the first ID that you enter, and the dashboard does not ask for it again. Keep the bot token secret. Anyone with the token controls the bot. ### Check that it works * The **Main bot** card shows the bot. It shows **Not connected** only when the bot is not connected. * **Access** shows **Locked to your Telegram account**. * **Who can message it** shows **Just you**. * Your chief of staff answers when you message the bot. **Open in Telegram** opens the bot. When an Administrator opens the tab, the card names the owner instead: **Locked to** and the owner's name and **’s Telegram account**, and **Just** and the owner's name. It says how the Administrator can reach a teammate on Telegram: connect an extra bot and add their own Telegram user ID to its list. ## What the main bot does * Your chief of staff answers it. The main bot card has no **Answered by** control. * Only the owner can message it. You cannot add other people to it. To share a teammate with someone, connect an extra bot. * Your chief of staff's **About** page has **Message on Telegram** in its **More** (⋯) menu, which opens the bot. * The **Group chats** switch is off when you first connect. If you turn it on, the bot works in group chats that it is added to, but it still answers only the owner. To use a different bot as the main bot: 1. On the **Main bot** card, select **Switch to a different bot…**. 2. Paste the new bot's token and wait for **✓ Found**. 3. Select **Switch to** followed by the new bot username. 4. In Telegram, send the new bot one message to pair again. The old bot stops answering when your squad moves to the new bot. ## Add an extra bot Extra bots run alongside the main bot. Use them to put another teammate on Telegram, or to let other people talk to a teammate. Before you start: the main bot must be connected. Without it, Squad refuses the extra bot with "Connect your main bot first — this workspace has no Telegram owner yet." In Telegram, open @BotFather, send `/newbot`, and copy the new token. On the Squad **Telegram** tab, find the **More bots** card. Under **Put another teammate on Telegram**, paste the token into **Paste its token and connect**. Select **Connect bot**. Do not use the main bot's token. Squad refuses it. The new bot shows on the **More bots** card with these controls: | Control | What it does | | - | - | | **Answered by** | The teammate that answers this bot. The default is **Your chief of staff (default)**. | | **Who can message it** | The people who can message this bot. The owner is always on the list. | | **Group chats** | A switch. On by default for extra bots. In a group, the bot still answers only the people on its list. | | **Group topics** | Creates a topic in a group chat that uses Topics. | | **Remove** | Removes the bot. Select **Really remove? Messages stop immediately** to confirm. | The card shows **Offline** when the bot is not running. A running bot shows no status. ### Choose who can message an extra bot 1. Ask the person to send any message to @userinfobot on Telegram and send you the number. 2. On the bot's card, under **Who can message it**, type the number into the field. 3. Select **Add**. To remove a person, select the x on their ID. Squad always keeps the owner on the list. A list can hold up to 50 people, including you. See [Limits and defaults](/docs/limits-and-defaults). ### Create a topic in a group Turn on Topics in the Telegram group settings. Add the extra bot to the group. On the bot's card, select **Group topics**. Paste the group's chat ID, for example `-1001234567890`, and type a **Topic name**. Select **Create**. The card confirms that the topic was created. ## Troubleshooting **The teammate replies "⚠️ I hit a problem before I could finish replying." and a cause.** Cause: the run failed, for example because of a usage limit or a model that your AI account cannot use. The cause after the first sentence says what went wrong. Fix: fix the cause that the reply names, then send your message again. See [Chat failure messages](/docs/agent-stuck#chat-failure-messages). **The main bot does not answer.** Cause: the bot is not paired yet, or your squad has not switched to it yet because it is in the middle of work. Fix: send the bot one message, then wait a short time and try again. **Someone cannot message an extra bot.** Cause: their ID is not on the bot's list, or they are in a group and not on the list. Fix: add their Telegram user ID under **Who can message it**. **The Access line shows "No Telegram owner on file. Contact support".** Cause: the squad has no Telegram user ID for the owner. Fix: contact support. See [Get help](/docs/getting-help). ### Messages when you paste a token | Message | Cause | Fix | | - | - | - | | "Telegram doesn’t recognize that token. Copy it fresh from BotFather." or "Telegram rejected that token — double-check it in BotFather." | The token is wrong, incomplete, or was revoked. | Copy the token again from @BotFather. | | "That doesn’t look like a Telegram bot token." | The text is not in the token format `123456789:AA…`. | Copy the whole token, with the number and the colon. | | "Couldn’t reach Telegram to check the token." or "Couldn’t reach Telegram to verify the token — try again." | Squad could not reach Telegram. | Wait a moment, then paste the token again. | | "This bot token is already connected to another workspace — create a fresh bot with @BotFather and use its token" | A main bot works in one squad only. | Create a new bot with @BotFather and use its token. | | "That token belongs to a main bot — create a fresh bot with @BotFather." | You pasted a main bot's token as an extra bot. | Create a new bot for the extra bot. | | "Connect your main bot first — this workspace has no Telegram owner yet." | You added an extra bot before the main bot. | Connect the main bot first. | | "Couldn’t check the bot’s pending messages — try again in a moment." | Squad could not clear old messages that wait for the bot. | Try again in a moment. | ### Messages when you connect or switch the main bot | Message | Cause | Fix | | - | - | - | | "Add your Telegram user ID first — message @userinfobot to get it." | The **Add your Telegram user ID** field is empty or not a number. | Type your Telegram user ID. | | "This workspace has no Telegram owner on file. Enter your Telegram user ID (message @userinfobot to get it) and try again." | Squad needs your ID before it can lock the bot to you. | Type your ID and try again. | | "Couldn’t reserve the new bot token — nothing changed; try again." | The switch did not start. Your old bot still works. | Try again. | | "… — and restoring the previous bot’s routing also failed. Run the rotation again to finish switching (your old bot may not receive messages until then)." | The switch stopped halfway. | Paste the new token and switch again. | | "Your new bot is saved. Your squad is in the middle of work, so the new bot starts answering when it finishes. No need to rotate again." | The switch worked. The new bot starts when your squad finishes its current work. | Wait, then message the new bot. | | "Your new bot is saved, but it did not connect. Check the token with @BotFather and rotate again." | The new bot did not start. | Check the token with @BotFather, then switch again. | | "Your new bot is saved, but your squad is still switching to it. Give it a minute; the bot answers once it has. No need to rotate again." | The switch worked. Your squad has not finished switching yet. | Wait a minute, then message the new bot. | | "Your new bot is saved, but the workspace runtime is still restarting. Give it a minute; the bot answers once it's back. No need to rotate again." | The switch worked. Your squad's computer restarted to apply it and is not back yet. | Wait a minute, then message the new bot. | | "Couldn’t switch the bot." or "Couldn’t connect the bot." | The change did not go through. | Try again. | ### Messages on the list and on topics | Message | Cause | Fix | | - | - | - | | "Telegram user IDs are numbers, e.g. 726882145." or "Telegram user ids are numbers — check the list." | The ID has letters or other characters. | Type only the number from @userinfobot. | | "Keep the list under 50 people." | The list is full. | Remove people who no longer need access, or connect another bot for them. | | "Give the topic a name." | **Topic name** is empty. | Type a name. | | "Topics need the group to be a forum: in Telegram, open the group’s settings and turn on Topics, then try again." | Topics is off in the group. | Turn on Topics in the group settings, then select **Create** again. | | "This bot isn’t on your squad’s runtime yet." | The bot was added a moment ago. | Wait a minute, then try again. | | "Telegram refused to create the topic.", "Couldn’t create the topic.", or another reason from Telegram | Telegram refused the request, for example because the group chat ID is wrong or the bot is not in the group. | Check the group chat ID and add the bot to the group, then try again. | For messages that all channel screens share, see [Messages on every channel screen](/docs/channels#messages-on-every-channel-screen). # Answer what needs you Source: https://squad.so/docs/tickets Answer your teammates' questions in Needs you, undo an answer, and clear old questions. A question is something that blocks a task until you answer it. A teammate asks a question when it needs something only you can give: a decision, an approval, access, an action, or information. The task waits in the **Needs you** column of [Tasks](/docs/missions) until you answer. **Needs you** is one list of everything that waits for you: your teammates' questions, email replies that wait for your review, purchases to approve, problems that only you can fix, and tasks that wait on you with nothing asked. Squad for Mac (private beta) has the same **Needs you**, with a few more cards and keys. See [On Squad for Mac (private beta)](#on-squad-for-mac-private-beta). ## Open Needs you **Needs you** is not in the sidebar. Open it in one of these ways: * On **Today**, the **Needs you** section shows the first few items. See [Use Today](/docs/today#needs-you). Answer them there. When more than 3 questions and emails wait, or tasks wait with nothing asked, select **See all** and the count to open the full list. When only tasks with nothing asked wait, the link says how many tasks wait on you. **Review draft** or **Review** on an email row, and **Review** on a purchase row, also open **Needs you**. * Press ⌘K (Ctrl+K on Windows), type **Needs you**, and select it. The search also lists each open question by its task. * On a teammate's **About** page, select **Open Needs you**. It shows when that teammate has email drafts or escalations waiting for you. **Today** in the sidebar shows a number: everything that waits in **Needs you**. The browser tab's title starts with the same number in parentheses, for example "(3)". For what it counts, see [What the number counts](#what-the-number-counts). On a wide screen, **Needs you** has two parts: the list on the left and the open item on the right. The first item opens by itself. On a narrow screen, the list shows alone. Select an item to open it, and **‹ Needs you** to go back to the list. ### What the list holds The list is in this order: 1. Your AI account is signed out. Squad sends this only to the owner and Administrators, so only they see this row. See [An expired AI connection](/docs/agent-stuck#an-expired-ai-connection). 2. Work that did not finish today, one card for each teammate. For the owner and Administrators. See [Fix work that did not finish](/docs/runs-and-health#fix-work-that-did-not-finish). 3. **Purchases to approve**: payments that a teammate makes with your card. See [Approve a purchase](#approve-a-purchase). 4. Your teammates' questions and the emails that wait for you, urgent first, then newest. See [Answer a question](#answer-a-question) and [Review an email that waits for you](#review-an-email-that-waits-for-you). 5. **Resolved**, the questions that you already answered, when you select **Show resolved**. 6. **Waiting on you, nothing asked yet**, the tasks that wait on you with no question. A Viewer does not see it. See [Handle tasks that wait with nothing asked](#handle-tasks-that-wait-with-nothing-asked). The header shows how long it takes to clear the list, for example **about 5 minutes**. When nothing waits, **Needs you** says **You’re all caught up.** ### What the number counts The number on **Today** is the sum of: * each question with an open ask, * each email reply that waits for your review, and each email that a teammate needs your call on, * each task that waits on you with no question, * each purchase that waits for your approval, * each task that your teammates assigned to you (for the owner), * each card of work that did not finish today (for the owner and Administrators), * one for a signed-out AI account. Squad sends this only to the owner and Administrators, so only they count it. ## Read a question Each item in the list shows the teammate, the task, and a line with the teammate's name and how long ago it was asked. More marks can show: | Mark | What it means | | - | - | | **Urgent** | The task has urgent priority. | | A number of **questions** | The question has more than one open ask. | | **Over a day** | The question or email has waited on you for more than a day. | When you open a question, it shows the teammate and its role, the task's title, when it was opened (**Opened** and a time), and **View task**, which opens the task page. Under that are the asks, and a line such as **Answer both and** the teammate's name **carries on.** ## Know the ask types A question can hold several asks. When it has more than one, a counter such as **1 of 2** shows which ask you are on. Each ask has a type. | Type | The teammate needs | You answer with | | - | - | - | | Approval | Your sign-off on a draft or a plan | **Approve**, or **Request changes**. Type what the teammate should change and select **Send back to** and the teammate's name. When the teammate attached a draft, it always shows. | | Decision with options | A choice | One numbered button for each option, or **Something else…** to answer in your own words. | | Yes-or-no decision | A yes or no | **Approve** or **Decline**, or **Something else…**. | | Decision with no choices | Your answer in words | Type your answer and select **Send answer**. | | Access | A connection or a credential | **Connect** and the app's name to add it, or **Open Custom integrations** when the question names no app, then **Mark granted**, or **Something else…**. Only the owner answers it. | | Action | Something only you can do, such as a phone call | Do the steps in the checklist, then select **I’ve done this**, or **Something else…**. Only the owner answers it. | | Input | Information | Type your answer and select **Send answer**. | On an access question, **Connect** and the app's name opens **Settings** > **Apps** and starts that app's own connect, as **Connect** in the app catalog does. When the app is not in the catalog, it opens a new custom integration with the app's name filled in. The button writes the name as the teammate gave it, with a capital letter at the start of each word, for example **Connect Hubspot**. A question that names no app shows **Open Custom integrations**, which opens the **Custom integrations** tab. See [Connect apps](/docs/integrations) and [Add an MCP server or an API key](/docs/custom-integrations). **Skip** at the top of an ask closes that ask with no answer. The teammate carries on without it. The task stays open. On **Access** and **Action** asks, only the owner sees **Skip**. **Something else…** opens a box (**Your answer for** and the teammate's name). Type your answer and select **Send answer**. The teammate gets your words as they are. ## Answer a question On **Today**, select **See all** and the count. Or press ⌘K and select **Needs you**. Select the question in the list. On a wide screen, the first one is already open. For each ask, select the answer button, or type your answer and select **Send answer**. While your answer goes out, the ask says **Sending to** and the teammate's name. When you answer the last ask, the question closes, the next item opens, and the task moves from **Needs you** to **Working on it**. The teammate wakes with your answers and continues. You can also answer on **Today**, on the task page under **This task needs you**, and on a question card in chat. It is the same card everywhere. On **Today**, the card shows the first ask that you can answer. See [Answer chat cards](/docs/chat#answer-chat-cards). To talk about an ask before you answer, select **Discuss with** and the teammate's name. The chat opens in a conversation for this question. Talking there does not answer the question. To see the task, select **View task**. In an **Input** ask, you cannot upload a file. The ask says **To send a file, attach it in the chat with** and the teammate's name. Select it to open the chat for this question, then attach the file there. See [Attach files](/docs/chat#attach-files). Never paste a password or API key into an answer. Use the question's **Connect** button, or **Open Custom integrations**, instead. See [Add an MCP server or an API key](/docs/custom-integrations). If you answer the question in chat instead, the teammate can close the ask for you with your words quoted. After each message that you send a teammate in the dashboard or Squad for Mac (private beta), Squad reminds the teammate of the asks it still waits on, so that it closes the one your message answers. A message from a person other than the owner does not remind the teammate of **Access** or **Action** asks. If an answer cannot be sent, the ask says **Couldn’t send that. Your answer is kept; try again.** ### Who can answer | Person | What they can answer | | - | - | | Owner | Every ask. | | Administrator and Collaborator | Approval, decision, and input asks, **Skip**, and **Undo**. Their answer is recorded with their name. On **Access** and **Action** asks, they see that the teammate asked the squad’s owner, so the owner marks it done. | | Viewer | Nothing. A Viewer can read the questions. | A person who is limited to some teammates sees only the questions of those teammates. See [Invite people to your squad](/docs/teammates). ## Undo an answer Right after you answer, the answer shows under **Just answered**, with **Undo**. **Just answered** is at the bottom of the list in **Needs you**, under **Needs you** on **Today**, on the task page, and on the question card in chat. Each answer stays there for 45 seconds, and only in this browser tab. See [Limits and defaults](/docs/limits-and-defaults#tasks-and-questions). After that, undo an answer from the resolved questions: 1. Select **Show resolved** and the count. The answered questions show under **Resolved**. 2. Select the question. It shows **All answered** and each ask with your answer, for example **Approved** or **Skipped**. Select **Show request** to see what the teammate asked. 3. Select **Undo**. Squad reopens the ask, blocks the task again, and tells the teammate. If the task is already done, Squad shows **Too late to undo. This task already finished.** If the task was archived, moved to Trash, or deleted, Squad shows **Can’t undo. This task is no longer waiting on it.** **Show resolved** lists the squad's 30 most recently resolved questions, whoever answered them, including questions that were canceled. A person who is limited to some teammates sees only those teammates' questions. An ask that you answered in a question that still has other open asks shows only under **Just answered**. After that, you can undo it once the whole question is answered. Undo does not reverse what the teammate already did with your answer. If the teammate sent an email or spent money, that stays done. Select **Hide resolved** to hide the resolved questions again. ## Answer a question about a stuck task When a task has had no update for 2 days, Squad first asks the teammate for progress, and asks you a question only if the task still does not move. When the task's state has not changed for 7 days, or its teammate was removed, Squad asks you directly. For the timing, see [Stuck tasks](/docs/missions#stuck-tasks). The question offers three numbered options, plus **Something else…** and **Skip**: | Option (starts with) | What happens | | - | - | | **Nudge** and the teammate's name | The teammate wakes now and must work the task or report what blocks it. A comment in the task records it. | | **Park it** | The task goes back to **Not started**. No teammate is woken. | | **It's fine** | Squad marks the task as ongoing work. It does not flag this task as stuck again. To undo, open the task and select **⋯**, then **Unmark as ongoing**, or undo your answer. | The owner, Administrators, and Collaborators can choose. Teammates cannot answer this question. ## Review an email that waits for you When a teammate drafted an email reply for your review, or needs your call on an email, it shows in the list as **Reply ready:** or **Needs your call:** and the subject. Open it to see the email as it would go. * For a reply: **Send now** sends it from the teammate's inbox, exactly as written. **Revise with** and the teammate's name opens a chat to change it. **Discard** throws it away. * For an email that needs your call: **Tell** the teammate's name **what to do** opens a chat about it. **Dismiss** removes it from the list. The owner and Administrators can send, discard, and dismiss. Only the owner can revise or tell the teammate what to do. See [Give a teammate an email inbox](/docs/email). ## Approve a purchase When a teammate pays with your card, the purchase shows under **Purchases to approve**, as the same card as in chat: the teammate's sentence, for example "Otis wants to pay \$23.06 at Example Store.", why it buys, the card, **Review and approve**, and the time by which you must approve. A checkout that charges nothing, such as a free trial, says that the teammate wants to save your card, "with nothing to pay now". When the store will charge later, the sentence ends with "then" and the charge. Nothing is paid until you approve. A request that you leave expires by itself. Select **Review and approve**. The approval page opens in a new tab, and you approve on your own device. You do not approve inside **Needs you**. See [Approve a purchase](/docs/payment-cards#approve-a-purchase). ## Fix work that did not finish For the owner and Administrators, the top of the list shows a card for each teammate whose work did not finish today, and a card for each app that a teammate must reconnect. Each card says what did not finish and why, with the fix. See [Fix work that did not finish](/docs/runs-and-health#fix-work-that-did-not-finish). ## Archive or trash one question The owner and Administrators can do this. 1. Open the question. 2. Select **⋯** (**More actions**) next to the teammate's name. 3. Select one: * **Archive…**: Squad asks **Archive these questions?** Type an optional reason (**Why? (optional, your teammate sees this)**), then select **Archive**. The question closes with no answer, and its task moves to **Archived**. * **Move to Trash**: the question closes with no answer, and its task moves to **Trash**. You can restore the task from **Archived** or **Trash** on [Tasks](/docs/missions#archive-delete-and-restore-tasks). Restoring the task does not reopen the question. The teammate can ask again if it still needs you. ## Clear all open questions The owner and Administrators can do this when more than one question is open. An Administrator who is limited to some teammates cannot. It closes every question that is open when you confirm. No ask gets an answer. Select **⋯** (**More**) next to the **Needs you** heading. Select **Clear all** and the count, for example **Clear all 6 questions…**. Read the message: **Clears all N open questions without answering them. Choose what happens to their tasks:** Select one option: | Option | What happens to the tasks | | - | - | | **Archive tasks too** | The tasks leave the board and go to **Archived**. You can restore each one. | | **Keep tasks on the board** | The tasks stay on the board, in **Working on it**. No teammate is woken. | | **Cancel** | Nothing changes. | With **Keep tasks on the board**, the teammates are not told. A task moves only when its teammate runs again, for example on its heartbeat. See [Turn on heartbeats](/docs/scheduled#turn-on-heartbeats). If the task shows no progress, Squad asks the teammate for progress, and later asks you a new question. ### Clear only old questions When at least one question or email has waited more than a day, filter chips show **All**, **Over a day**, and, when something has waited more than 30 days, **Over 30 days**, each with a count. The counts include the emails that wait on you, by when they came to you. They never include a purchase. When something has waited more than 30 days, a card says so and names each kind with its own way out, for example "11 emails have waited on you for more than 30 days. Dismiss the ones you’re done with." A draft reply has its own words, for example "Send it or discard it." **Review them** selects the **Over 30 days** chip. Under a filter, the owner and Administrators can clear what it shows. An Administrator who is limited to some teammates cannot archive the filtered questions. Select **Over a day** or **Over 30 days**. Select **Archive** and the number of questions, for example **Archive 4 questions**. It asks "Archive 4 questions? Their tasks leave the board too." Type an optional reason (**Why? (optional, your teammates see this)**). Your teammates see it. Select **Yes, archive them**. To stop, select **Keep them**. The questions close with no answer, and their tasks move to **Archived**. The confirmation archives only the questions of the filter that it named. To clear the filtered emails, select **Dismiss** and the number of emails, for example **Dismiss 3 emails**. There is no question first. A message says, for example, "Dismissed 3 emails. They stay in Email.", with **Undo**, which brings them back. * One dismiss clears the email's whole conversation. * A draft reply is never dismissed with them. Send or discard each one. * An old email whose conversation has a newer one waiting is left out, because dismissing it would also clear the newer one. A conversation that gets a new email while Squad dismisses the others also stays. When a filter has nothing left, the list goes back to **All**. ## Handle tasks that wait with nothing asked Some tasks wait for you but have no question. They show under **Waiting on you, nothing asked yet** with the count. The section says: **These tasks are paused for you, but the teammate never said what it needs. Ask, and it sends you its questions.** * To ask one teammate, select **Ask what it needs** on the row. The row changes to **Asked**. * To ask every teammate, select **Ask them all**. * A task no one is assigned to shows **No one has it yet. Open it to choose a teammate**. Open it and assign a teammate. * A task assigned to a person shows **It’s on you. Answer it from the task**. Open it and answer. * To clear the whole section, select **Clear all**. The button changes to **Archive all N? They move to Archived**. Select it again to confirm. The tasks move to **Archived**. ## What teammates can do with questions * Ask a question with one or more asks. The task moves to **Needs you**. * Show a question in chat as a question card. * Close an ask for you when you answered it somewhere else, for example in chat or Telegram. The teammate must quote your exact words, and the question records the quote. * Withdraw its own open asks when they are no longer needed. The teammate posts the reason in the task. * Archive every open question at once, only when you ask for it in your own words. The tasks move to **Archived**. * Put decisions that are not urgent into one question. Your squad's instructions ask for this. Teammates cannot answer the questions that Squad asks about stuck tasks. ```text Ask your chief of staff theme={null} Put every decision that is not urgent into one question each morning, and keep the rest of the day free of questions unless something blocks work. ``` ## On Squad for Mac (private beta) **Needs you** in Squad for Mac (private beta) works as on this page, with these differences. ### Open Needs you on the Mac Select the link under **Needs you** on **Today**, a link in the menu bar panel, or the notch's button. The notch's button says **Answer** with the count. It says **Open Needs You** only when fixes or triggers suggested by a teammate also wait. **Needs you** is also in the **Go** menu and in the command palette (⌘K). See [Use the notch and the menu bar](/docs/mac/notch-and-menu-bar). ### What the list holds on the Mac A purchase that waits for your approval shows as a card near the top of the list, with the urgent questions, not under **Purchases to approve**, with **Review and approve**. See [Let your teammates pay with your card](/docs/payment-cards#on-squad-for-mac-private-beta). The list also adds three kinds of cards, which work as on **Today** in the app. See [Today on Squad for Mac (private beta)](/docs/today#on-squad-for-mac-private-beta). * A low or full disk on your squad's computer, after the signed-out AI account. A Viewer does not see it. * Routines that never run as they are set up, after the work that did not finish. For the owner and Administrators. * Triggers suggested by a teammate, after the routines. For the owner and Administrators. See [Triggers](/docs/triggers). Purchases that wait for your approval, and questions with urgent or high priority, come first, newest first. Then the rest, newest first. The number on **Today** and in the sidebar counts one more for all the routines that cannot run, one for a low or full disk, and one for each suggested trigger. It also counts each purchase that waits for your approval. The menu bar and the notch add what needs you in your other squads, and show conversations with new replies apart from that number. The Dock adds both into one number. See [The Dock badge](/docs/mac/settings#the-dock-badge). ### Answer on the Mac * **Decisions.** A decision with no options shows **Approve** and **Decline**, and **Something else…** to answer in your own words. * **Ask what it needs.** The row shows **Asking…**, then **Asked**. When the ask does not go through, a message says so and the button shows again. * **Access asks.** The owner or an Administrator selects **Connect** and the app's name, or **Open Custom integrations** when the ask names no app. The Mac writes the name as the app catalog does, for example **Connect HubSpot**. Only the owner then selects **Mark granted**. * **Viewers.** A Viewer sees the card without the answer buttons, with the note "Your access is view-only, so the owner or a collaborator answers this." * **Keys.** Press J and K to move through the list, A to approve, 1 to 9 to pick an option, ⌘Return for the main action, and U to undo your last answer. See [Needs you keys](/docs/mac/keyboard-shortcuts#needs-you). * **Touch ID.** With **Confirm approvals with Touch ID** on, approvals, decisions, and **Send now** on an email draft ask for Touch ID or your Mac's password first. See [Touch ID](/docs/mac/settings#touch-id). * **The notch.** The notch shows a shorter card with quick answers. See [Answer in place](/docs/mac/notch-and-menu-bar#answer-in-place). ### Close a question that you answered in chat When you or another person in your squad wrote to the teammate after it asked, the card in Squad for Mac (private beta) says so, for example "You wrote to Nina after this came up." Select **That answered it** to close the question. The teammate finds the answer in what was written. A Viewer does not see **That answered it**, and it does not show on an ask that you cannot answer. Another person's message does not mark an **Access** or **Action** ask this way. ### Email items on the Mac **Send now** also works with ⌘Return. Only the owner sees **Revise with** on a draft and **Tell** and the teammate's name and **what to do** on an escalation, because both open the email's conversation, where only the owner can write. An Administrator sees **Send now** and **Discard** on a draft, and on an escalation **Dismiss** with "Only the squad's owner can tell" the teammate "what to do about an email." A Collaborator and a Viewer see only a note that the owner or an Administrator handles the email or sends the draft. ## Common questions The task stays in **Needs you**, and the teammate does not continue that task. After 30 days, a banner offers **Review them**. You can archive old questions at any time. The question closes with no answer, and the task moves to **Archived**. Restore the task from **Archived** on **Tasks** to bring it back. The question stays closed. Yes. Open **Today** in the dashboard on your phone. The **Needs you** section is right under the greeting. ## Check that it works * After your last answer, the question leaves the list and the task moves from **Needs you** to **Working on it**. * Your answer shows under **Just answered** with **Undo**. * When nothing waits, **Needs you** shows **You’re all caught up.** ## Troubleshooting * You answered, but the task did not move. Cause: the question has more asks. Fix: read the line under the question, for example **Answer both and** the teammate's name **carries on.**, and answer the rest. * An answered question shows again. Cause: the teammate needs more from you and added new asks. Fix: answer the new asks. * You see an **Access** or **Action** ask but no buttons. Cause: only the owner answers these asks. Fix: ask the owner of the squad. * You get the same kind of question again and again. Cause: the rule lives only in your old answers. Fix: tell your chief of staff to save the rule as standing policy. See [Give your squad work that it can finish](/docs/delegate#make-a-brief-permanent). # Use Today Source: https://squad.so/docs/today What each section of Today shows, when it shows, and where its links go. **Today** is your home screen. It says who is working, what needs you, what your squad did today, and which routines run today. It shows one column, from top to bottom, in the order of this page. Most sections show only when they have something in them. To open **Today**, select **Today** in the sidebar, or press `H` when you are not typing in a field. On a phone, select **Today** in the bar at the bottom, or the Squad mark at the top. See [Search and keyboard shortcuts](/docs/search). **Today** has no message box. To give your squad work, chat with a teammate or create a task. See [Give your squad work that it can finish](/docs/delegate). ## Greeting and summary sentence The top of **Today** says "Good morning", "Good afternoon", or "Good evening", with your first name, and today's date. Under it, one sentence sums up your squad, in this order: | Part | Examples | | - | - | | Who is working | "Mara and Otis are working, and …". With more than 3 teammates at work, it names 3 and counts the others, for example "and 2 others". When nobody works, the sentence starts with what needs you. | | What needs you | "1 thing needs you, about a minute", "4 things need you, about 4 minutes", or "nothing needs you". Problems that only you can fix are counted apart, for example "and 1 problem needs fixing". | | AI limit | "\[provider] is limiting your squad right now.", when an AI provider limits your squad. See [Rate limits and fallback](/docs/agent-stuck#rate-limits-and-fallback). | | Finished today | "Your squad finished 1 task today.", or the number of tasks. Select the number to open **Tasks**. It shows only after a task finished today. | The number on **Today** in the sidebar, and at the start of the browser tab's title, counts everything that waits in **Needs you**. See [What the number counts](/docs/tickets#what-the-number-counts). ## Connect the apps your squad works in While your squad has no connected app, the owner sees this card. **Connect an app** opens the app catalog. **Not now** hides the card for this squad. See [Connect apps](/docs/integrations). ## Needs you Shows when something waits for you. It lists, in this order: 1. Your AI account is signed out: "\[AI account] is signed out, so your squad can't work." Squad sends this only to the owner and Administrators, so only they see this row. **Reconnect** and the account's name opens **Settings** > **AI**. It goes away when the account works again. 2. Work that did not finish today, one card for each teammate, and one for each app that a teammate must reconnect. For the owner and Administrators. See [Fix work that did not finish](/docs/runs-and-health#fix-work-that-did-not-finish). 3. The first 3 questions and emails that wait for you, urgent first, then newest. A question shows on the same card as in **Needs you**, with its first ask that you can answer. Select the task's title to open the task. An email shows the teammate, how long ago, "Reply ready:" or "Needs your call:" and the subject, with **Review draft** or **Review**, which opens it in **Needs you**. See [Answer a question](/docs/tickets#answer-a-question) and [Review an email that waits for you](/docs/tickets#review-an-email-that-waits-for-you). 4. Tasks that your teammates gave you: **Your teammates gave you a task:** and the title, with **Open it**. 5. Each purchase that waits for your approval: the teammate, its sentence, for example "Otis wants to pay \$23.06 at Example Store.", **Review and approve**, which opens the approval page of your card vault in a new tab, and the time by which to approve. When the request has no link yet, the button is **Review**, which opens **Needs you**. See [Approve a purchase](/docs/payment-cards#approve-a-purchase). When more questions and emails wait than **Today** shows, or tasks wait on you with nothing asked, **See all** and the count opens **Needs you**. When only tasks with nothing asked wait, the link says how many tasks wait on you instead, for example "2 tasks waiting on you". Right after you answer, the answer shows under **Just answered**, with **Undo**. See [Undo an answer](/docs/tickets#undo-an-answer). ## Today so far Shows when a teammate did something today. It gives one line for each teammate: its latest update today. What you did yourself is left out. For how many teammates show, see [Limits and defaults](/docs/limits-and-defaults#today). Select a line to open its task. **See all activity** opens **Activity**. See [Follow Activity](/docs/runs-and-health#follow-activity). ## Today's routines Shows the routines on your squad's computer that are on and run today. A routine that is off or paused does not show. Each row has: * The time it first runs today, in your browser's time zone. A routine that runs more than once a day on a fixed interval, for example every few minutes or every hour, shows **All day**. * The routine's name. * The teammate who runs it, or "Your squad", and how often it runs when that applies, for example "Every minute" or "2 times today". The routines with a time come first, in time order, and the **All day** ones last. **Today** shows the first few, then a line such as "One more runs today." or "3 more run today." **See all routines** opens **Routines**. While your squad's computer answers, the rows wait instead of guessing. For how many routines show, see [Limits and defaults](/docs/limits-and-defaults#today). See [Open Routines](/docs/scheduled#open-routines). ## What's possible A row of ready-made jobs that your squad can take on. Select a job to open its page. **See all** opens the full gallery. See [Start from a ready-made job](/docs/delegate#start-from-a-ready-made-job). ## On Squad for Mac (private beta) **Today** in Squad for Mac (private beta) shows the same greeting, sentence, **Needs you**, and **Today's routines**, with these differences. To open it there, press ⌘1. See [Keyboard shortcuts](/docs/mac/keyboard-shortcuts). * **The sentence.** The dot before it is dark while someone works. It also says how many tasks wait on you, and how many triggers a teammate suggested. When nobody works, it starts with "Nobody is working right now". With more than 3 teammates at work, it names 2 and counts the others, for example "Mara, Otis and 2 others are working". The number of finished tasks does not open **Tasks**. * **Needs you.** The app has no **Connect the apps your squad works in** card. It adds these cards: * A low or full disk on your squad's computer. **Ask** followed by your chief of staff's name and **to free up space** opens a new conversation with your chief of staff, with the request written but not sent. The X (**Set this aside for a day**) sets a low disk aside. A full disk stays until there is room. A Viewer does not see this card. * Routines that never run as they are set up. **Fix it** opens **Routines**. For the owner and Administrators. * Triggers suggested by a teammate. **Turn it on** turns the trigger on. **Look first** opens it. For the owner and Administrators. See [Triggers](/docs/triggers). * The X on a card of work that did not finish sets it aside on this Mac, until something fails again. The disk card comes right after the signed-out AI card. The routines that cannot run and the suggested triggers come after the work that did not finish, before the questions. If some questions did not load, a line says "Some questions may be missing" and why. * **Counts on the Mac.** The menu bar, the Dock, and the notch also count what needs you in your other squads. See [Use the notch and the menu bar](/docs/mac/notch-and-menu-bar) and [The Dock badge](/docs/mac/settings#the-dock-badge). * **Today so far, or Yesterday.** Each teammate's line ends with "Plus one more update today." or the number of other updates. When nothing happened yet today, the section is called **Yesterday** and shows yesterday's updates. A line with no task opens **Activity** on that update. **See all tasks** opens **Tasks**. * **Today's routines.** The times are in your Mac's time zone. **Today** asks your squad's computer once each time it opens. The routines that you see follow your role, so an Administrator can see routines that a Collaborator does not. The app has three sections that the web does not have. For their numbers, see [Limits and defaults](/docs/limits-and-defaults#squad-for-mac). ### Assigned to you Shows when open tasks are assigned to you, instead of the rows of tasks that your teammates gave you. It lists the most recently updated first, each with its priority, title, and age. Select a task to open it. ### Ideas for your squad Takes the place of **What's possible**. It suggests work that your squad can take on. It shows during a new squad's first days, and later only when nothing needs you and nobody is working. **See all ideas** opens the full list. ### Share your squad's day At the end of **Today**, **Share your squad's day** makes an image card of what your squad did today, ready to post. The card shares only numbers and names, never what your squad worked on. * Choose **Range**: **Today** or **This week**, and **Theme**: **Dark** or **Light**. * Turn on **Show my business name** to add it to the card. * Edit the **Caption**, or select **Reset** to go back to the default. * Select **Post on X**, **Share…**, **Copy image** (⌘C), or **Save…**. When your squad has not finished anything in the range yet, the card says so and the buttons are off. You can also open the card from the command palette, from **Share your squad's day…** in the menu bar panel's **⋯** (**More**) menu, and from the Friday recap notification. See [Notifications on this Mac](/docs/mac/settings#notifications-on-this-mac). # Start work when something happens (triggers) Source: https://squad.so/docs/triggers Wake a teammate with a webhook from another app or an event on a connected account, approve the triggers that teammates suggest, and see what each event did. A trigger is a standing instruction to one teammate, like a routine, but an event starts it instead of a clock. When the event arrives, the teammate starts a run and does what the trigger's instructions say. For work that runs at set times, see [Schedule recurring work with routines](/docs/scheduled). There are two kinds of trigger: * **A webhook**: Squad gives you a URL. Another app, such as GitHub, Stripe, Zapier, or your own code, sends events to it. * **An event in a connected app**: for example a new email in Gmail or a new issue in GitHub, on an account that you connected. Triggers are on the **Routines** page, under **When something happens**, below your routines. The section shows when at least one trigger exists. To open **Routines**, see [Open Routines](/docs/scheduled#open-routines). Squad for Mac (private beta) has the same triggers, with some other labels. See [On Squad for Mac (private beta)](#on-squad-for-mac-private-beta). ## Before you start * To create, change, approve, pause, or delete triggers, you must be the owner or an Administrator. These are the same people who can save routines. An Administrator who is limited to some teammates manages only the triggers of those teammates. See [Invite people to your squad](/docs/teammates#choose-a-role). * Collaborators and Viewers can read the triggers of the teammates they can use, under **When something happens**. They do not see webhook URLs, secrets, the settings of an app event, or what each event contained. * For an app event trigger, connect the account yourself first. Only accounts that you connected are offered. See [Connect apps](/docs/integrations). ## Add a webhook trigger Open **Routines**. See [Open Routines](/docs/scheduled#open-routines). Select **New routine**, then **When something happens**. The **New trigger** form opens. Under **What should wake the teammate?**, select **A webhook**. In **Name**, type a short name, for example "New GitHub issue". In **Teammate it wakes**, select the teammate. In **What the teammate does with each event**, write what the teammate must do with each event. The teammate gets these instructions with every event. The event itself is treated as data, never as instructions. When they name a skill or a file on your squad's computer, a chip under them shows it by name. See [Skills and files named in instructions](/docs/skills#skills-and-files-named-in-instructions). In **Who sends it**, select the app that sends the events. See [Choose the sender](#choose-the-sender). For **Stripe**, **Shopify**, or **Standard Webhooks**, paste the secret from the sender into **Stripe signing secret**, **Shopify client secret**, or **Signing secret**. If the sender shows the secret only after you add the URL, leave the field empty and add the secret later on the trigger's page. If your squad has or had other people in it, choose in **Accounts the teammate may use while it works**: **Mine and the shared ones** or **Only the shared ones**. See [Choose the accounts of a routine](/docs/scheduled#choose-the-accounts-of-a-routine). The same rules apply. Open **More settings** to limit the fields, set **Most runs per day**, or send the result to a URL. See [More settings](#more-settings). Select **Create trigger**. The trigger's page opens. It shows the trigger's **URL** and the steps to set up the sender. The trigger shows **On**, or **Needs a secret** when the sender is **Stripe**, **Shopify**, or **Standard Webhooks** and you did not paste the secret yet. Add the secret once the sender shows it. Continue with [Set up the sender](#set-up-the-sender). ### Choose the sender | **Who sends it** | Use it for | The secret | | - | - | - | | **URL only** | Zapier, Make, n8n, forms, and your own scripts | No secret. The URL is the secret, so keep it private. | | **GitHub** | GitHub webhooks | Squad makes it. You paste it into GitHub. | | **Stripe** | Stripe webhooks | Stripe makes it. It starts with `whsec_`. You paste it into Squad. | | **Shopify** | Shopify webhooks | Your app's client secret, from its API credentials. You paste it into Squad. | | **Standard Webhooks** | Senders that use `webhook-id`, `webhook-timestamp`, and `webhook-signature` headers, such as Clerk and Resend | The sender makes it. It usually starts with `whsec_`. You paste it into Squad. | | **HMAC signature** | Your own code, when you want each request signed | Squad makes it. Your code signs each request with it. | With **Stripe**, **Shopify**, or **Standard Webhooks**, Squad refuses every request until you add the secret. The trigger shows **Needs a secret** until then. ### More settings * **Only send these fields (optional)**: one field path per line, such as `issue.title` or `data.object.amount`. The teammate then gets only those fields. Leave it empty and the teammate gets the whole event. The teammate can still read the full event when it needs to. * **Most runs per day**: how many runs the trigger can start each day. Events past the limit are kept, not run. You can run them from the trigger's page. For the default and the highest value, see [Limits and defaults](/docs/limits-and-defaults#triggers). * **Send the result to a URL (optional)**: an HTTPS address where Squad posts the result of each run. See [Get the result back in your app](#get-the-result-back-in-your-app). ### Set up the sender On the trigger's page, **Where events come from** shows the **URL**, with **Copy** and **New URL**. Under **Set up the sender**, Squad shows the steps for your sender, with your URL already in them. For **GitHub** and **HMAC signature**, the secret is hidden. Select **Show** to see it, and the steps then include it. Select **Copy** to copy it. Each **Copy** on the trigger's page says **Copied** for a moment once it is copied. Pick your tool with **Zapier**, **Make**, **n8n**, or **Your own code**, and follow its steps: * **Zapier**: add a Webhooks by Zapier action and choose POST. Set the URL to your trigger's URL and the payload type to JSON. Map the fields that your teammate needs, and test the step. * **Make**: add an HTTP module and choose Make a request. Set the URL to your trigger's URL, the method to POST, and the body type to JSON. Put the fields that your teammate needs in the request content. * **n8n**: add an HTTP Request node with the method POST. Set the URL to your trigger's URL and send the body as JSON. * **Your own code**: send a POST request with a JSON body to the URL. Optional: send an `Idempotency-Key` header, so a request that you retry runs once. In your repository or organization, open Settings, then Webhooks, then Add webhook. Set the payload URL to your trigger's URL, and the content type to application/json. Paste the trigger's secret into the Secret field. Choose the events you want, and save. In the Stripe dashboard, open Developers, then Webhooks, then Add endpoint. Set the endpoint URL to your trigger's URL. Choose the events you want, and save. Reveal the endpoint's signing secret and copy it. On the trigger's page, next to **Stripe signing secret: not added yet**, select **Add it**. Paste the secret and select **Save**. Squad shows **Secret saved.** In your Shopify app's settings, add a webhook subscription for the topic you want. Set the URL to your trigger's URL and the format to JSON. On the trigger's page, next to **Shopify client secret: not added yet**, select **Add it**. Paste your app's client secret and select **Save**. In the sending app, add a webhook endpoint with your trigger's URL. Copy the endpoint's signing secret. On the trigger's page, next to **Signing secret: not added yet**, select **Add it**. Paste the secret and select **Save**. Send a POST request with a JSON body to your trigger's URL. Sign the raw body with HMAC-SHA256 and the trigger's secret. Put the result in the `X-Squad-Signature` header as `sha256=`. Send an `Idempotency-Key` header, so a request that you retry runs once. When a sender delivers the same event again with the same delivery ID, Squad keeps it once and runs it once. Squad reads the ID from GitHub, Shopify, and Standard Webhooks headers, from the Stripe event ID, and from an `Idempotency-Key` header. ### Send a test event On the trigger's page, select **Send test event**. Squad sends an example event. For **GitHub**, **Stripe**, and **Shopify**, it is shaped like the sender's own events. For other senders, it is a short test message. It wakes the teammate for real, and the teammate is told that it is a test. The event shows with a **Test** tag under **Recent events**. **Send test event** works only while the trigger is on. ### Get the result back in your app When you set **Send the result to a URL (optional)**, Squad posts a JSON body to that URL each time a run ends. No result is sent when the teammate was woken but no run started. The URL must start with `https://` and use a public host name. The body holds the trigger's ID and name, the run's ID and status, the events in the run, and `result`, a short summary of the teammate's final reply. See [Limits and defaults](/docs/limits-and-defaults#triggers). Squad signs it in the `Squad-Signature` header as `t=,v1=`. The signature is the HMAC-SHA256 of `.` with the trigger's callback signing secret, in hex. To copy that secret, select **Copy its signing secret** next to **Result sent to** on the trigger's page. If Squad cannot deliver the result, the event says "The result was not delivered to your callback URL" and the reason. ## Add an app event trigger Open **Routines**. See [Open Routines](/docs/scheduled#open-routines). Select **New routine**, then **When something happens**. Under **What should wake the teammate?**, select **An event in a connected app**. In **Name**, type a short name. In **Teammate it wakes**, select the teammate. In **What the teammate does with each event**, write what the teammate must do with each event. In **Account**, select one of your accounts. Only the accounts that you connected yourself are listed. In **Event**, select the event. The list comes from the app, so each app offers its own events. Some events have settings, such as a label or a channel. Fill in the required ones. Fields marked **(optional)** can stay empty, and the app then uses its own default. If your squad has or had other people in it, choose in **Accounts the teammate may use while it works**. Open **More settings** for the other options. See [More settings](#more-settings). Select **Create trigger**. The trigger's page opens. While Squad asks the app to send the event, the trigger shows **Connecting** and the page says "Squad is asking the app to send this event. This usually takes a few seconds." Then it shows **On**. There is no URL to set up. On the trigger's page, **Where events come from** names the event, the app, and the account. Below that, it lists the settings that the trigger was saved with, for example the owner and the repository of a GitHub event. Each setting name shows as words, for example **Repo name**. A yes or no setting shows **Yes** or **No**. A setting that you left empty is not listed, because the app uses its own default. * You cannot change the account or the event later. To listen for a different event or account, create a new trigger. * If you have no connected accounts, the form says "You haven’t connected an account yet. Connect one, then come back." Select **Connect an app** to connect one. * If the app offers no events, the form says "This app has no events Squad can listen for yet." * If an event needs a setting that the form cannot show, the form says so and you cannot save. Pick another event, or ask your teammate to suggest the trigger with those settings. ## Approve a trigger that a teammate suggests Teammates can suggest triggers, for example when you ask for work to be done each time something happens. A suggestion does nothing until you approve it. ```text Ask your chief of staff theme={null} Each time a new issue opens in our GitHub repository, read it, label it bug, feature, or question, and post a one-line summary in the Squad chat. Suggest a trigger for this. ``` A suggestion shows first under **When something happens**, with the line "\[name] suggests this. It does nothing until you turn it on." On its page, it shows **Waiting for approval**. Squad tells the teammate to let the owner or an Administrator know where it waits. On Squad for Mac (private beta), suggestions also show in **Needs you**. See [Answer what needs you](/docs/tickets). On **Routines**, under **When something happens**, select the suggestion. The page says which teammate suggested it, and why when the teammate gave a reason. Select **Edit first**, change the fields, and select **Save changes**. Select **Approve**. To turn it down instead, select **Dismiss**, then **Dismiss** again to confirm. After you approve it, the trigger is on. Until it is ready, it can show **Needs a secret** (a webhook that needs a pasted secret) or **Connecting** (an app event). * A webhook suggestion has no URL until you approve it. Then set up the sender. See [Set up the sender](#set-up-the-sender). * An app event suggestion listens on your own account for that app. If you have not connected one, Squad says "Your own \[app] account is not connected, and approving uses your own account. Connect it first, then approve." * Unless you chose otherwise with **Edit first**, the trigger's runs use your own accounts and the shared ones. ## Pause, change, or delete a trigger Open the trigger from **Routines**: select its row under **When something happens**. Then: | To | Do this | | - | - | | Pause or turn on the trigger | Select the switch next to **On** or **Off**. You can also use the switch on its row on **Routines**. | | Change the name, teammate, instructions, or settings | Select **Edit**, change the fields, and select **Save changes**. | | Give the trigger to another teammate | Select **Edit**, then pick the teammate in **Teammate it wakes**, and select **Save changes**. | | Get a new URL | Select **New URL**, then **Make a new URL**. The old URL stops answering at once. Put the new URL in every app that sends to this trigger. | | Get a new secret (**GitHub**, **HMAC signature**) | Select **New secret**, then **Make a new secret**. Requests signed with the old secret are refused from then on. Put the new secret in the sender. | | Replace a pasted secret (**Stripe**, **Shopify**, **Standard Webhooks**) | Select **Replace**, paste the new secret, and select **Save**. | | Delete the trigger | Select **Delete**, then **Delete trigger**. | Delete cannot be undone. The trigger's event history is deleted with it, and a webhook URL stops answering at once. * If you change **Who sends it**, the secret changes with it. For **GitHub** or **HMAC signature**, Squad makes a new secret. Put it in the sender. For **Stripe**, **Shopify**, or **Standard Webhooks**, the trigger shows **Needs a secret** until you paste the sender's secret. **URL only** has no secret. * A paused webhook trigger still receives events. It keeps them as "Not run: the trigger was paused", and wakes no one. Turn the trigger on, then select **Run now** on an event to run it. * When you pause an app event trigger, Squad asks the app to stop sending that event, so events that happen while it is paused usually do not arrive. This does not apply while another trigger listens for the same event on the same account. * Pausing also stops events that were waiting or being retried. Turn the trigger on, then use **Run now** or **Retry**. * Squad sends no bell notification or email for suggested triggers, paused triggers, or failed events. Check **Routines**. * When you pause a teammate, its triggers stay on. Their events wait as "Held while the teammate is paused", and Squad delivers them when you resume the teammate. See [Add, change, and pause teammates](/docs/agents#pause-a-teammate). * When a teammate is removed, its triggers pause. Give them to another teammate, then turn them on. ## What a trigger run looks like Each time an event arrives, Squad wakes the teammate with the trigger's instructions and the event. A trigger runs one run at a time. Events that arrive during a run wait, and the next run gets them together. For how many events one run can carry, see [Limits and defaults](/docs/limits-and-defaults#triggers). * In History, a trigger run is its own row. Its title is "Webhook:" or "App event:" followed by the trigger's name. In the filters, **Triggers** under **Kind** shows or hides these runs. See [See what your squad did](/docs/runs-and-health#see-trigger-runs). * On the trigger's page, the line under the name shows the last event and today's events and runs. * **Recent events** lists the newest events, each with what became of it, such as **Done**, **Teammate working**, or **Could not wake the teammate**. For every outcome, see [Statuses](/docs/statuses#triggers). In **Recent events**: | To | Do this | | - | - | | See the run that an event started | Select **Open in Runs**. The run opens in History. | | Run an event that was not run | Select **Run now**. With more than one, select **Run them all now**. The trigger must be on. | | Try a failed event again | Select **Retry**. It sends all the events of that run again. The trigger must be on. | | See what the event contained | Select **Payload**. Select **Hide payload** to close it. | **Run now**, **Retry**, and **Send test event** are not held back by **Most runs per day**. Squad keeps events and their payloads for a limited time. See [Limits and defaults](/docs/limits-and-defaults#triggers). ## On Squad for Mac (private beta) On Squad for Mac (private beta), triggers are in the **List** view of **Routines**, under **When something happens**. Triggers work the same, but some labels differ: | On the web | On Squad for Mac (private beta) | | - | - | | **New routine** > **When something happens** | **New routine** > **New trigger…** | | **What should wake the teammate?**: **A webhook** or **An event in a connected app** | **What starts it**: **Something sent to its address** or **An event in one of your apps** | | **Teammate it wakes** | **Who does it** | | **What the teammate does with each event** | **What they do with each event** | | **Accounts the teammate may use while it works**: **Mine and the shared ones** or **Only the shared ones** | **Whose accounts its runs use**: **Your own accounts** or **The squad's shared accounts** | | **Only send these fields (optional)**, **Most runs per day**, **Send the result to a URL (optional)** | **What each event includes**, **Most runs in a day**, **Send each result to** | | **Approve** or **Dismiss** a suggestion | **Turn it on**, or **Delete** and then **Click again to delete** | | **New URL** | **New address** | | **Send test event** | **Send a test event** | | **Recent events** | **Latest events** | | **Open in Runs**, **Run now**, **Retry**, **Payload** | **Open the run**, **Run it now**, **Try again**, **What arrived** | On the Mac, **Where you send from** picks the tool whose setup steps show, for example Zapier or your own code. People who cannot change triggers do not see the address, the secret, or what an event carried, the same as on the web. ## Check that it works * Select **Send test event**. Under **Recent events**, the test event moves to **Done**. * Select **Open in Runs** on the event to see the teammate's run in History. * Send a real event from the sender. It shows under **Recent events** with a one-line summary, such as the sender's event name. ## Troubleshooting | Symptom | Cause | Fix | | - | - | - | | The trigger shows **Needs a secret**, and the page says to add the secret. | The sender is **Stripe**, **Shopify**, or **Standard Webhooks**, and no secret is saved. Squad refuses every request until then. | Select **Add it**, paste the sender's secret, and select **Save**. | | The page says "Squad refused a request" and "The signature did not match the secret." | The sender signs with a different secret. This happens after **New secret**, or when the wrong secret was pasted. | Copy the secret again into the sender, or paste the sender's current secret with **Replace**. | | The page says "Squad refused a request" and that a header is missing. | The sender does not sign its requests the way **Who sends it** expects. | Check that **Who sends it** matches the app that sends the events, and that the sender has the secret. For an app that does not sign, use **URL only**. | | The page says "The signature timestamp is too old." | The request was signed too long ago, for example a delivery resent much later. | Send a new event from the sender. See [Limits and defaults](/docs/limits-and-defaults#triggers). | | The page says "The signing secret is not a valid Standard Webhooks secret." | The pasted secret is not in the form that the sender gives. | Copy the endpoint's signing secret again, in full, and paste it with **Replace**. | | The page says that requests were refused today because the sender went over the rate limit. The sender gets "Too many events. Slow down and retry." | The sender sent more events than a trigger accepts in a short time. | Slow the sender down, or send fewer, larger events. See [Limits and defaults](/docs/limits-and-defaults#triggers). | | The sender gets "No trigger answers at this URL." | The URL is old, or the trigger was deleted. | Copy the current **URL** from the trigger's page into the sender. | | Events show "Not run: the daily limit was reached". | The trigger started as many runs today as **Most runs per day** allows. | Select **Run now** or **Run them all now**, or raise **Most runs per day** with **Edit**. | | An event shows "Could not wake the teammate", or "Teammate woken, no run started". | Squad could not reach the teammate, or the teammate did not start the run. | Select **Retry**. If the error says "The agent is still being set up on your computer.", wait for the new teammate to be ready, then retry. | | An event shows "Held while the teammate is paused". | The teammate is paused. | Resume the teammate. Squad then delivers the held events. | | The trigger paused with "The agent this trigger woke was removed." | The teammate was removed. | Select **Edit**, pick another teammate in **Teammate it wakes**, select **Save changes**, then turn the trigger on. | | The trigger paused with "The account this trigger listens to was signed out. Reconnect it, then turn the trigger on again." | The app account's sign-in expired. | Reconnect the account on the **Apps** page in **Settings**, then turn the trigger on. See [Connect apps](/docs/integrations). | | The trigger paused with "The account this trigger listens to was disconnected." | Someone disconnected the account. | Connect the account again, create a new app event trigger on it, and delete the paused one. | | The trigger paused with "The app refused this event setup", and a reason. | The app did not accept the event or its settings. | Check the event's settings. **Edit** cannot change them, so create a new trigger with the right settings and delete this one. | | The trigger paused with "The app did not answer while setting up this event", "The app did not turn this event back on", or "The app stopped sending this event". | The app did not respond, or stopped sending the event on its side. | Turn the trigger on again to retry. | | An event shows "The result was not delivered to your callback URL". | Your callback URL did not accept the result, or it is not an HTTPS address on a public host. | Check that the URL works and answers, and change it with **Edit** if needed. | | **Send test event** is greyed out. | The trigger is off. | Turn the trigger on first. | # What Squad is and how it works Source: https://squad.so/docs/what-squad-is Understand the parts of Squad, where each part runs, what Squad does not do, and where each place in the dashboard is. Squad gives you a team of AI teammates that you run from a web dashboard. You tell your teammates what you want in plain words. They do the work on their own computer, with your AI subscription and the apps that you connect. When a decision needs you, they stop and ask. This page explains the parts of Squad and how they fit together. To set up your squad, follow [Get started](/docs/get-started). Squad for Mac (private beta) is a native app for the same squad. The dashboard uses the same names and layout as the Mac app, and the pages here note where the Mac differs. See [Get started with Squad for Mac](/docs/mac/overview). ## Who is in a squad Your workspace is one squad and everything in it: your teammates, their work, your settings, and your connections. The dashboard calls it your squad. One account can own more than one squad, and can be a person in other people's squads. **You, the owner.** You sign in to the dashboard, give work, answer questions, and control billing and settings. Your teammates know you by **Your name** in **Settings** > **Squad** > **General**. **People in your squad.** You can invite other people into your squad. Each person signs in with their own email address and has a role: **Administrator**, **Collaborator**, or **Viewer**. People see your squad's work and, except Viewers, talk to your teammates. Your teammates know who wrote each message and answer that person by name. Billing always stays with you. Each person uses a paid seat. See [Invite people to your squad](/docs/teammates). **The chief of staff.** Every squad starts with one teammate that leads it, the chief of staff. By default it is named **Chief of Staff**, with the handle **@chief**, and you can rename it. It runs your onboarding conversation, designs your squad with you, creates the other teammates, and coordinates work that crosses more than one area. When you are not sure who should do something, ask your chief of staff. **Other teammates.** During onboarding, the chief of staff proposes 4 or 5 teammates, each with a name, a role, and a personality. They are created after you approve them. Later, you add more teammates by asking the chief of staff. You can talk to any teammate directly. A teammate that gets your message owns that work. Each teammate has its own page, its own conversations with you, and its own files on your squad's computer. All teammates share the same knowledge about you and your company, and one memory. While its switches are on, the memory learns from your squad's work and gives teammates what it holds about a request before they start. See [Manage what your squad remembers](/docs/memory). ## How work moves A few words describe almost everything in Squad. **Conversation.** Every chat message that you start opens a conversation with one teammate. A quick question gets an answer in the conversation. **Task.** Bigger work becomes a task. A task has an owner, a priority, a description, comments, and a progress trail. Tasks live on **Tasks**, in four columns: **Not started**, **Needs you**, **Working on it**, and **Done**. You can create a task yourself, but usually you ask in chat and the teammate creates it. See [Track work on Tasks](/docs/missions). **Question.** A question blocks a task until you answer it. When a teammate needs a decision, an approval, access, an action, or information that only you have, it asks you a question. The task moves to **Needs you**. When you answer every question on it, the task continues. Questions wait in **Needs you**, and the first ones also show on **Today**. See [Answer what needs you](/docs/tickets). **Routine.** Work that repeats on a schedule is a routine. A trigger starts work when something happens, for example when another app sends an event. Both are on **Routines**. See [Schedule recurring work with routines](/docs/scheduled). **Run.** A run is one execution by one teammate: a chat reply, a routine, a trigger event, an email it handles, or a tool call. Each run is recorded with what started it, its duration, and how it ended. See [See what your squad did](/docs/runs-and-health). **Doc.** A doc is written output from a teammate: a report, a brief, a draft, a reference page. Teammates keep docs up to date, and you can read and edit them in **Docs**. See [Find and manage your squad's docs](/docs/squad-docs). **Project.** A project keeps the conversations about one client or job together, with any of your teammates. Every teammate in a project reads its notes first. Projects are in the sidebar. The everyday loop is: you ask, a teammate works, a question comes back only if it needs you, you answer, the work is done, and the squad remembers what it learned. ## What runs where Squad has three parts. It helps to know which part does what. **The dashboard.** The dashboard is the web app that you open in your browser. It keeps your tasks, questions, docs, chat history, activity, and settings. It is also where you connect apps and AI accounts. **Your squad's computer.** Each squad has its own computer in the cloud. Your teammates run there. It holds each teammate's working files, notes, and skills, and the credentials that you connect for your AI accounts and custom integrations. Teammates use a browser on this computer to open web pages, and you can watch a teammate's screen or take over. See [Watch or take over a teammate's computer](/docs/computer). Your squad's computer is not your computer. Teammates cannot see your laptop, your browser, or your files. Files reach them when you attach them in chat or email, or when you connect an app. **Your AI provider.** The thinking happens in the AI models of the provider that you connect, such as ChatGPT or Claude. Your teammates call the models from your squad's computer with your account. See [Connect your AI subscription](/docs/connect-your-ai). ## Your own AI subscription Squad does not include AI model usage. You bring your own subscription or API key from one of 13 providers, and your provider bills you for it. You can connect more than one account and more than one provider, and set the order in which they are used when one fails or reaches a limit. See [Choose models and manage AI accounts](/docs/ai-accounts). Squad charges for a few optional things beyond the plan. Built-in research and scrape tools use credits. Teammate email inboxes and seats for people are paid add-ons. Each extra squad is a separate subscription. The app shows each price before you confirm. For details, see [What Squad costs and what uses credits](/docs/costs). ## When teammates work Teammates do not work all the time. A teammate starts a run when something wakes it: * You send it a message, or mention it with @. * A task is assigned to it. * A routine that you switched on reaches its time. * An email arrives in its inbox, if it has one. * A trigger that you turned on receives an event, for example a webhook from another app. See [Start work when something happens (triggers)](/docs/triggers). Each teammate has a heartbeat: a routine that wakes the teammate to check its work. Heartbeats start switched off. Nothing runs on a timer until you turn a heartbeat on or create a routine. See [Schedule recurring work with routines](/docs/scheduled). ## A tour of the dashboard ### Sidebar On a wide window, the dashboard has no bar at the top. Everything starts in the sidebar. From top to bottom: * Your squad's name. Select it to open **Switch workspace**. It lists every squad that you own or were invited to, with **Standard** for a squad that you own, **Shared with you** for a squad that another person shared with you, and **Setting up** while a squad is being built. The open squad has a check mark. Select another squad to move to it. **New squad team** starts another squad. See [Run more than one squad](/docs/billing#run-more-than-one-squad). You change the name in **Settings** > **Squad** > **General** > **Squad name**. * The bell, beside the name. It lists your notifications. See [Choose your notifications](/docs/notifications). * **Today**: what needs you, what your squad did today, and today's routines. The count on it is everything that waits in **Needs you**. The browser tab's title shows the same number. See [Use Today](/docs/today). * The places that you pinned, in your order. At first these are **Email** (your teammates' inboxes, with a count of unread email), **Docs** (everything your teammates wrote, with a count of new and changed docs), and **Contacts**. See [Pin a place to the sidebar](#pin-a-place-to-the-sidebar). * **More**: every other place, one click away. Select **More** to fold or open it. It starts folded and stays the way you left it in this browser. While it is folded, a dot on it means that something inside needs you, is unread, or is new to the sidebar. * **Your squad**: every teammate, with a line that shows what it is doing. A small dot circles a teammate's face while it works. When it needs you, an orange mark sits on its face and the line under its name says **Needs you**. A blue dot at the end of the row means a reply that you have not read. Select a teammate to open its chat. The **+** beside the heading opens a chat with your chief of staff to hire a teammate. * **Projects**: the projects worked in most recently, then **All projects** for the rest and **Archived**. The **+** makes a new project. * **Group chats**: **Squad chat**, a room with all your teammates, and any group chats. **Squad chat** appears when you have two or more teammates. Conversations between two teammates fold under **Between teammates**. * **Pinned**: items that you pinned, one line each. A pinned conversation shows its teammate's face. This section appears after your first pin. Pins are saved to your account, so they show on every device where you sign in. At the bottom of the sidebar, **Help** (the question mark) opens a menu with **Help and support**, **What’s new**, and **Ideas for your squad**, and **Settings** opens Settings. A blue dot on **Help** means that **What's new** has updates that you have not read. The menu then says how many, for example **What’s new (3 new)**. See [Get help](/docs/getting-help). **Collapse sidebar** shrinks the sidebar to a narrow column of icons, with the bell, your places, **More**, your teammates' faces, **Help**, and **Settings**. A blue dot on a place's icon there can also mean that the place is new. **Expand sidebar** opens it again. To change the sidebar's width, drag its right edge. Your account is in **Settings**: select your name at the top of the Settings list to open **You**, with your email address and **Sign out**. A person in your squad sees only the rows that their role allows. ### Places in the sidebar Besides **Today**, the sidebar has these places. Each one is either pinned under **Today** or listed under **More**, never both. **More** lists them in this order: | Place | What it holds | | - | - | | **Email** | Your teammates' inboxes. See [Give a teammate an email inbox](/docs/email). | | **Docs** | Everything your teammates wrote. See [Find and manage your squad's docs](/docs/squad-docs). | | **Contacts** | The people and companies your squad works with. See [Keep your contacts and pipelines](/docs/contacts). | | **Wallet** | The cards your teammates can use, and what they bought. See [Let your teammates pay with your card](/docs/payment-cards). | | **Routines** | What repeats, and the triggers. See [Schedule recurring work with routines](/docs/scheduled). | | **Tasks** | The board of all tasks. See [Track work on Tasks](/docs/missions). | | **Activity** | What your squad did, newest first. See [See what your squad did](/docs/runs-and-health). | | **Skills** | The skills your teammates use. See [Add and manage skills](/docs/skills). | | **What your squad knows** | Your squad's memory. See [Manage what your squad remembers](/docs/memory). | A person sees only the places that their role can open. For example, **What your squad knows** shows only for you and Administrators. The open place's row is marked. A page inside a place marks that place: a task marks **Tasks**, a trigger marks **Routines**, and **History** marks **Activity**. **Needs you** and **Health** mark **Today**. When **More** is folded and the open page is one of its places, **More** is marked. ### Pin a place to the sidebar 1. Point to the place's row in the sidebar, under **More** or under **Today**. 2. Select the pin at the end of the row: **Pin to sidebar**, or **Unpin from sidebar** for a pinned place. You can also right-click the row, or press Shift+F10 while the row has the keyboard focus, and choose the same action. Or press P while the row has the keyboard focus. A new pin goes to the end of your pinned places. To change their order, drag a pinned place, or press Option (Alt on Windows) and the Up or Down arrow while its row has the keyboard focus. The row moves after Squad saves the change. A pinned place shows the pin filled in. A place under **More** shows it as an outline. A place that is new to the sidebar says **New** in blue for its first month, until you open it or pin it. **Contacts** and **Wallet** joined the sidebar on October 14, 2026. The mark is yours, in this browser, in all your squads. While **More** is folded over a new place, **More** shows a blue dot. For when the mark ends, see [Limits and defaults](/docs/limits-and-defaults#sidebar). While **Docs** has a count, its row's menu also has **Mark all docs as read**, which clears the count without opening each doc. You can also press U while the **Docs** row has the keyboard focus. See [Read state](/docs/squad-docs#read-state). Your pinned places are your own. Each person in your squad has their own, in each squad, and they follow you to every device where you sign in to that squad. Until you change them, **Email**, **Docs**, and **Contacts** are pinned. Pinned places are not the same as the **Pinned** section, which keeps single tasks, docs, emails, reminders, and conversations. See [Pins](/docs/search#pins). On Squad for Mac (private beta), the sidebar has the same **Today**, pinned places, **More**, **New** marks, and keys, and your pinned places are the same as on the web. These are the differences: * **More** and the **New** marks are kept on this Mac, not in your browser. * The right-click menu says **Pin to Sidebar** or **Unpin from Sidebar**, and on **Docs**, **Mark All Docs as Read**. When a pin or a move does not save, the sidebar says "Couldn’t update your sidebar. Try again in a moment." * ⌘1 to ⌘4 open **Today**, **Email**, **Docs**, and **Contacts**, wherever they are in the sidebar. The **Go** menu lists every place. See [Keyboard shortcuts](/docs/mac/keyboard-shortcuts#the-go-menu). * An update card shows when an update of the app is available or ready. See [Settings, notifications, and updates on the Mac](/docs/mac/settings). * The footer says "Reconnecting…" when the connection to Squad drops. Its gear opens **Settings** (⌘,). * The sidebar has no Delegate button. To hand over work, press ⌥Space in any app. See [Delegate, talk, and use Siri](/docs/mac/delegate-voice-siri). ### Pages that open from where they belong Some pages are not in the sidebar. They open from the place where they belong, keep their own link, and the browser's Back returns you. You can also open any of them by name with ⌘K or Ctrl+K. See [Search and keyboard shortcuts](/docs/search). * **Needs you**: every question that waits for you. Open it from the link under **Needs you** on **Today** (**See all** and a number, shown when more wait than Today lists), from **Open Needs you** on a teammate's **About** when it waits on you, or with ⌘K. * **History**: every run, by day. Open it from **Every run, by day** at the end of **Activity**, from **See what happened** on a problem under **Needs you** or on a routine that failed, or press R. * **Health**: today's run problems. A teammate's **About** links to it when its runs failed today. Health opens only for you and Administrators. * **Apps**, **AI**, **Tools**, and **Teammates** (teammate setup): in **Settings**. See [Settings reference](/docs/settings). * **What's new** and **What's possible**: open **Help**, then **What’s new** or **Ideas for your squad**. The places in the sidebar also open from other pages. For example, **See all tasks** on a teammate's **About** opens **Tasks**, and **See all activity** on **Today** opens **Activity**. For every way to reach each place, see [Places and pages](/docs/search#places-that-are-not-in-the-sidebar). On Squad for Mac (private beta), **Needs you**, **History**, and **Computer** are the pages without a place in the sidebar. They are in the **Go** menu, and **Computer** only for the owner and Administrators while your squad's computer is on. **Health** is not on the Mac. The notch and the menu bar panel open **Needs you**, and the menu bar panel also opens **History**. At the top of these pages, a back link names the place that you came from, or **Today** when there is none. A teammate's page has no back link, so use **Back** (⌘\[). See [Keyboard shortcuts](/docs/mac/keyboard-shortcuts) and [Use the notch and the menu bar](/docs/mac/notch-and-menu-bar). ### A teammate's page A teammate's page has two places at the top, **Chat** and **About**. **Chat** lists your conversations with the teammate beside the conversation that is open. **About** says what the teammate is working on, what it did lately, who waits on it, and its tasks and routines. The gear opens the teammate's setup. See [Chat with your teammates](/docs/chat) and [Add, change, and pause teammates](/docs/agents). ### On a phone or a narrow window When the window is narrow, for example in a phone's browser, a bar at the bottom opens **Today**, **Squad**, your first two pinned places, and **More**. At first, the two places are **Email** and **Docs**. **More** opens a page that lists every other place, each with a pin that you tap to pin or unpin it. A pinned place's pin is filled in, and a new place says **New**. A dot on **More** means that something there needs you, is unread, or is new. **Squad** opens the full sidebar, with your places, teammates, projects, group chats, and pins. A row at the top has **Menu**, which opens the same sidebar, the Squad mark, which opens **Today**, **Search or jump to…**, the message icon, the bell, and the button with your initial, which opens the account menu. See [Search and keyboard shortcuts](/docs/search#on-a-phone). ## What Squad does not do * Squad does not include AI model usage. Your teammates cannot work until you connect an AI account. * Teammates do not run on a timer by default. Heartbeats start switched off. * The dashboard does not add or delete a teammate by itself. You ask your chief of staff to add or remove a teammate. The **+** beside **Your squad** only opens that chat. Teammates cannot remove the chief of staff or you, and a squad always has exactly one chief of staff. * Teammates cannot erase all of your squad's memory at once. Only you and the Administrators who can see every teammate can, with **Forget all…** in **Memory**. A teammate can still forget one memory. * Teammates do not work on your own computer. They cannot reach your files or your browser unless you send the files or connect the app. The exception is Squad for Mac (private beta), where you approve each request on your Mac. See [Let your teammates use your Mac](/docs/mac/mac-access). * Credits do not pay for AI models. They pay only for the built-in research and scrape tools. ## Related