# Approval preferences
Source: https://docs.daoco.org/account-and-billing/approval-preferences
Choose how much daoco does on its own for a brand, and set exceptions per connection.
Every brand has one setting for how much daoco does on its own. It applies everywhere that brand works: chat, post workflows, automations, and the assistant.
## Where to set it
Brand owners and admins set it per brand:
Choose **Settings** from the manage sidebar.
Select the brand you want to configure.
Pick one of the three options. Exceptions for a single account or integration live on the brand's **Connections** page.
## The three options
| Option | What daoco does without asking |
| --------------------- | ------------------------------------------------------------------------------------------------------------- |
| **Ask before acting** | Research and drafts only. Anything that changes a connected app, or goes out to your audience, waits for you. |
| **Work autonomously** | Ordinary updates in the apps you have connected. Publishing and sending still ask. |
| **Full autonomy** | Also publishes and sends. Large sends, new spend, and big batches still come to you. |
Reading and drafting never need approval. **Deleting or removing things in a connected app always asks**, whichever option you pick.
Under **Full autonomy**, daoco still asks before an unusually large action: more than 500 recipients, more than 100 records written at once, more than 10 posts scheduled in one go, any new or increased spend, or the first thing it ever publishes through a connection.
## Per-connection exceptions
Exceptions live with the connection itself. Open **Connections** from the manage sidebar, find the account or integration, and choose **Access & approvals** from its **⋯** menu. The dialog has two controls:
| Control | Options |
| ------------------------ | ------------------------------------------------------------------------------------------------------- |
| **Before acting here** | **Follow the brand setting**, **Always ask**, or **Never ask** for ordinary updates on that connection. |
| **What daoco may touch** | **Read and write**, or **Read only**. |
Access is enforced before anything runs. A connection set to **Read only** refuses writes outright. daoco is told why and plans around it instead of sending you an approval to grant.
One chat-side exception: a workspace owner or admin can turn on **Bypass approvals** for a single thread from the composer, which answers that thread's ordinary asks, including a connection set to **Always ask**, until it is turned off. Deletes and always-confirm actions still ask, and **Read only** still refuses. See [Brand chat](/core-workflows/brand-chat#work-safely).
To stop daoco using a connection entirely, disconnect it from the same menu.
## Automations
Automations run under the brand's setting. You can make an individual automation stricter when you edit it. Making one looser than its brand requires an explicit grant.
When an unattended run reaches something that needs approval, it pauses and waits rather than failing or proceeding. Run history shows the decision, the action, and the setting that applied.
Approving from the chat card or workflow panel resumes the approved work automatically. daoco does not add an "Approve" message to the conversation or place one in the follow-up queue.
Destructive decisions are bound to the specific operation, connection, resource scope, and run that requested them, so approving a delete never covers anything else. Approving an ordinary connected-app update is broader on purpose: it runs exactly that action and also lets daoco keep making ordinary updates on the same provider for the rest of that thread without asking again, so one approval covers the whole job. That thread-scoped access appears in the brand's grant list and only ever applies inside that thread.
Run history can show **approval audit events** with the decision, action type, connection scope, and policy that applied. See [Automations](/core-workflows/automations).
## Related guides
* [Brand chat](/core-workflows/brand-chat) explains when daoco asks before publishing, scheduling, or applying brand updates.
* [Create posts](/core-workflows/create-posts) covers preview review before publish or schedule actions run.
* [Integrations](/connections/integrations) explains how `/integration` handles writes to a connected integration.
* [Workspace settings](/account-and-billing/organization-settings) shows where to open brand settings from the **Brands** tab.
# Workspace settings
Source: https://docs.daoco.org/account-and-billing/organization-settings
Manage account preferences, brands, preview features, team access, billing, and workspace-level controls.
Open **Settings** from the manage sidebar when you need account, brand, team, billing, or workspace-level controls.
## Settings tabs
| Tab | What it is for | Access |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| Account | Switch account, sign out, manage display preferences, and choose whether to use brand colors in the UI. | Available to signed-in users. |
| Brands | Review brands in the workspace, create a brand while you are under your plan's limit, update brand appearance, configure [approval preferences](/account-and-billing/approval-preferences), transfer brand ownership, or delete a brand. | Brand creation is open to every plan up to its brand limit. Only a brand's owner can delete it. |
| Preview features | Enable preview flags such as Dev Testing integrations and the video editor. | Workspace owner or admin, on any plan. |
| Teams | Member invites, roles and access, the **Approvals** control for per-thread approval bypass, and the **Privacy** card holding **Help improve daoco**. See [Privacy and data deletion](/account-and-billing/privacy-and-data-deletion). | Growth plan, and workspace owner or admin. The tab does not appear on Starter. |
| Billing | Review plan state, token usage, top-ups, and plan changes. | Visible to workspace members; plan management requires billing/admin access. |
## Preview feature access
Only workspace owners and admins can toggle workspace-gated preview features. After saving a preview toggle, related surfaces may appear in the sidebar or **Connections** page.
## Billing and usage
Use **Billing** to review plan state, trial status, monthly token quotas, top-up options, and plan changes. See [Plans, add-ons, and tokens](/account-and-billing/plans-add-ons-and-tokens) and [Understand token usage](/account-and-billing/understand-token-usage).
## Teams and brands
Use [Accounts, teams, and brands](/account-and-billing/workspaces-teams-and-brands) for the current account model, Growth team limits, role meanings, and multi-brand behavior.
Workspace-level changes can affect every brand and member in the workspace. Confirm preview disablement, brand deletion, ownership transfer, and billing changes before saving.
# Plans, add-ons, and tokens
Source: https://docs.daoco.org/account-and-billing/plans-add-ons-and-tokens
Understand plan pricing, monthly token limits, add-ons, and how included usage works.
This page explains plan basics and included monthly usage.
## Plan pricing and trial
* **Starter Trial** is free for **2 months** and does not require a credit card.
* **Starter** is **\$49/month** for up to 2 brands in one account.
* **Growth** is **\$199/month** for teams and multi-brand workspaces.
* Trial and paid token credits reset monthly.
* You can see plan status in **Settings** -> **Billing**.
## Token amounts by plan
| Plan | Basic tokens | Premium tokens | Workspace limits | Reset |
| ------------- | -----------: | -------------: | --------------------------- | -------------------------------- |
| Starter Trial | 150/month | 20/month | Up to 2 brands | Monthly during the 2-month trial |
| Starter | 300/month | 30/month | Up to 2 brands | Monthly billing cycle |
| Growth | 1,200/month | 200/month | Up to 10 brands and 5 seats | Monthly billing cycle |
Growth also raises the SEO and AI visibility limits. See [Accounts, teams, and brands](/account-and-billing/workspaces-teams-and-brands#plan-limits). If you need more than Growth offers, contact us at **[support@daoco.org](mailto:support@daoco.org)**.
## Add-ons
Paid workspaces can add token packs from **Settings** -> **Billing** when included monthly usage is not enough.
| Plan | Add-on | Included tokens | Price |
| ------- | ----------------------- | ------------------: | ----: |
| Starter | Basic token pack | +100 basic tokens | \$39 |
| Starter | Premium token pack | +25 premium tokens | \$39 |
| Growth | Basic token pack | +100 basic tokens | \$37 |
| Growth | Premium token pack | +25 premium tokens | \$37 |
| Growth | Bulk basic token pack | +1,000 basic tokens | \$349 |
| Growth | Bulk premium token pack | +250 premium tokens | \$349 |
Top-ups are available to paid subscribers. Trial workspaces should upgrade before buying additional token packs.
## Plan changes
Growth is the self-serve plan for teams, agencies, and multi-brand work. Downgrading from Growth to Starter with more than 2 brands asks you to choose a brand to keep, because Starter holds 2. daoco keeps that brand plus one more to fill the second slot and permanently deletes the rest. Accounts with 2 or fewer brands downgrade without removing anything.
A brand deleted by a downgrade always keeps anonymized agent data. See [Privacy and data deletion](/account-and-billing/privacy-and-data-deletion#switching-from-growth-to-starter).
See [Understand token usage](/account-and-billing/understand-token-usage) for what consumes each token type.
# Privacy and data deletion
Source: https://docs.daoco.org/account-and-billing/privacy-and-data-deletion
Choose whether daoco may learn from your workspace, and delete a brand, a workspace, or your account with a durable receipt.
daoco keeps two kinds of records about a workspace: the content you create (brand context, drafts, posts, assets, chat transcripts) and the agent's own working record (which runtime handled a request, which tools ran, how the run ended, how you rated it). Both are yours. This page covers the controls over each.
## Help improve daoco
Open **Settings**, then the **Teams** tab. The **Privacy** card holds one switch, **Help improve daoco**. Only a workspace owner or admin on the Growth plan can see the Teams tab, so this switch is a Growth control. On Starter it stays at its default of on.
| Setting | What daoco keeps | What deletion does |
| ------------ | --------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
| On (default) | Prompts, outputs, and agent activity may be used to improve the product. | A deletion form preselects keeping an anonymized copy of the agent's working record. |
| Off | Diagnostics store only ids, timings, token counts, decisions, and error classes. They do not store prompts, outputs, or tool arguments. | A deletion form preselects removing the agent's working record along with everything else. |
The switch sets the starting point for each deletion form, not the outcome. You choose again at the moment you delete.
Errors are still recorded either way so support can help you. With the switch off they carry no content, only the error class, the runtime it happened in, and timing.
This switch has no effect on how model requests are routed. That is unconditional: OpenRouter requests always require a zero-data-retention endpoint and always deny routing to providers that may collect request data.
## Delete a brand
Only the brand's owner sees this control. A workspace admin who does not own the brand cannot delete it.
1. Open **Settings**, then **Brands**, and pick the brand.
2. Under **Delete brand**, type the brand's exact name. Capitalization must match.
3. Under **After deletion**, choose **Delete all agent data** or **Help improve daoco**. The preselected option follows the workspace's **Help improve daoco** setting.
4. Confirm.
daoco records a deletion receipt and removes the brand's content, assets, connected-account records, active storage, and search indexes in the background. Access to the brand is blocked from the moment you confirm. While cleanup runs, the brand stays in the **Brands** list as a disabled row marked **Deleting** and drops out of navigation, defaults, and your brand count right away. Deleting a brand never touches the workspace's billing account.
If you choose **Help improve daoco**, daoco keeps two things under a random key that is not linked to the brand, the workspace, or a person:
* **How the agent worked.** The working record is rewritten with every approval title, note, and artifact reference cleared. What remains is the shape of the work: runtimes, tool order, outcomes, and ratings.
* **A redacted copy of the conversation.** Before the thread is deleted, daoco takes a copy of its messages and runs a redaction pass over the text. The pass strips the brand and product names, the names and emails of everyone on the workspace, connected-account handles, and anything that looks like an email, link, @handle, phone number, IP address, long number, or credential. Tool inputs and outputs are dropped; only tool names are kept. If a thread cannot be read and redacted, it is deleted without a copy.
Redaction is deterministic and versioned. Each retained record says which rules produced it, and the receipt reports how many conversations were kept. A very long thread is copied up to its first 2,000 messages.
A brand that is the only brand in the workspace cannot be deleted from the dashboard. Create another brand first, or use workspace deletion below.
## Switching from Growth to Starter
Starter holds two brands. If your workspace has more, the downgrade dialog asks you to pick the brand to keep and then permanently deletes the brands above the Starter limit.
That deletion always keeps the anonymized agent data described above. It does not offer the **After deletion** choice, and the workspace's **Help improve daoco** setting does not change it. Delete a brand yourself first if you want the other outcome.
## Delete a workspace or your account
Go to [daoco.org/data-deletion](https://daoco.org/data-deletion) while signed in.
* **Workspace**: the owner types the workspace's exact name, with no extra spaces and matching capitalization. Only an owner can do this; an admin cannot. daoco deletes every brand in it, then the workspace's assistant configuration, channels, memories, memberships, billing customer, and WorkOS organization.
* **Account**: type your email address. daoco deletes your memberships and personal preferences, your WorkOS login, and your product-analytics profile (if the analytics provider's deletion API is unavailable, the receipt lists it as an exception and daoco completes it by hand). Workspaces owned by someone else keep their content. If you own any workspace, you must tick **Also permanently delete my owned workspaces** to continue; you cannot delete your account and leave a workspace you own behind.
Both forms carry a **Keep anonymized agent data** checkbox that does the same thing as the brand choice. On the account form it appears only after you tick the owned-workspaces box, and it starts ticked only when every workspace you own has **Help improve daoco** on.
If a deletion fails and you start it again, retype the confirmation. A request that is still running keeps the anonymized-data choice you confirmed the first time; only a failed request takes a new one.
## Reading the receipt
Workspace and account deletions show a receipt with the current stage, rows deleted, rows anonymized, conversations kept, and any retained-data exceptions. Exceptions name records daoco cannot erase immediately: provider backups that age out on their own schedule, billing and security records kept where required by law, and third-party cleanups that need a retry. The receipt is the record of what daoco did, not a claim that every third party has already purged its copy.
Because deleting your account ends your session, the account receipt stays readable from the same browser for 7 days. Brand deletion does not have a receipt page; it confirms with a short receipt id when the deletion starts. Keep that id if you need to ask us about it.
# Transfer brand ownership
Source: https://docs.daoco.org/account-and-billing/transfer-ownership
Hand off a daoco brand to another person with a secure email claim link.
Transfer brand ownership when another person should become the owner for a specific brand.
## How transfer works
The current brand owner creates a transfer for the recipient's email address. The recipient signs in or creates an account, then claims the brand from the secure link.
Each brand can have one pending transfer at a time. Transfers expire if they are not claimed.
Before a transfer link is created, daoco checks whether the recipient account can claim the brand based on the recipient's workspace plan and brand limit. Starter workspaces can hold up to 2 brands, while Growth workspaces can hold up to 10. If the recipient's selected workspace is already at its plan limit, the claim page asks them to choose one of their existing owned brands to replace.
## Send a transfer
Go to **Settings**.
Open **Brands**, choose the brand, and find the ownership transfer section.
Use the email address the new owner will use to sign in.
daoco emails the recipient. If a link is shown or copied, share it through a trusted channel.
After the claim succeeds, the new owner controls that brand's ownership-sensitive settings. Workspace billing, team access, and plan management remain controlled from workspace settings.
# Understand token usage
Source: https://docs.daoco.org/account-and-billing/understand-token-usage
Learn what basic and premium tokens are, what actions consume them, and how to read usage.
daoco uses two token types to meter usage: **basic tokens** and **premium tokens**.
## Basic tokens
Basic tokens power chat and text-heavy work.
* New threads start with a base chat charge.
* Longer conversations can use more basic tokens as context grows.
* Content drafts, brand summaries, post generation, SEO help, campaign planning, and research can use basic tokens.
* If you stop a run after daoco has already processed context or generated output, the consumed basic tokens can still count. Stop prevents more work; it does not undo work already processed.
## Premium tokens
Premium tokens cover heavier media and generation work, such as image generation, logo exploration, video clipping, and rendering-heavy workflows.
## Context meter in chat
Every chat thread has a **context meter** in the composer, next to the send button. It shows how full the active context window is and, once the thread has billed usage, how many **basic tokens** the thread has charged so far.
Hover or focus the meter to open the usage tooltip.
### Circle
* The ring fills as the thread uses more of its **current context** window.
* When billing has started, the number in the center is how many **basic tokens** this thread has charged so far. Large values are shortened (for example `1.2k`).
* The ring may turn **amber** when context is nearly full, compaction is running, or the assistant is paused at a safe boundary. It may turn **green** briefly after context is successfully refreshed.
### Tooltip
The tooltip has two layers of information:
**Current context.** This is what daoco can actively use on the next turn.
* **Percentage.** How full the working window is.
* **Progress bar.** The same percentage shown visually.
* **`15,808 / 375,000 tokens`.** Tokens currently in context compared with the thread's context limit.
Below that, a single line summarizes **cumulative usage for the whole thread**:
* **Input (`in:`).** Your messages, retained history, attachments, and tool context sent to the model.
* **Output (`out:`).** Assistant responses in this thread.
* **Total (`total:`).** Combined input and output for the thread. The tooltip emphasizes this value.
Current context and thread totals measure different things. After compaction, current context may drop while **total** still reflects everything daoco has processed in the thread.
### Compaction
When the thread gets long, daoco can compact older messages into a summary so the conversation can continue. You may briefly see compaction status in the tooltip. See [Context management](/tips/context-management).
## Queued follow-ups and stopped runs
Follow-up messages queued while a run is active do not start a separate run immediately. They begin using tokens when daoco starts processing them.
Stopped, timed-out, or failed runs may still show usage if daoco already processed part of the request. This keeps the context meter and billing history aligned with the work that actually ran.
## Review usage
Open **Settings** -> **Billing** to review monthly token quotas, plan state, and usage. Growth workspaces can use billing analytics to understand usage across brands and users when the workspace role has access.
## Reduce avoidable usage
* Start focused threads for distinct projects.
* Provide clear constraints in the first prompt.
* Reuse existing assets and brand context.
* Ask for one revision at a time when narrowing output.
# Accounts, teams, and brands
Source: https://docs.daoco.org/account-and-billing/workspaces-teams-and-brands
Understand how daoco organizes accounts, team access, brands, roles, and plan limits.
daoco is organized around **accounts** and **brands**.
An account, also called a workspace, holds the plan, billing, and team access. A brand is the marketing identity inside an account. It has its own profile, assets, campaigns, posts, connections, and dashboard. One account can hold multiple brands, so you do not need a separate account for each brand.
Most work happens inside a selected account and brand.
## How the pieces fit
| Layer | What it controls | Where to manage it |
| ------------ | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| Account | Plan, billing, team access, preview features, account name, account switching | **Settings** -> **Billing**, **Teams**, **Preview features**, and the account picker |
| Brand | Brand profile, assets, posts, campaigns, connections, dashboard appearance, brand ownership | **Settings** -> **Brands** and the **Brand** dashboard |
| User account | Account preferences, account switching, sign out | **Settings** -> **Account** |
## Adding more brands
Add brands from **Settings** -> **Brands** inside the account. Every plan supports at least two brands, so a second brand never requires a new account.
Create a new account only when you need separate billing or a separate team, such as a client with their own plan.
## Plan limits
| Plan | Best for | Brands | Team access |
| ------------- | ------------------------------------------- | --------------: | ----------------------- |
| Starter Trial | Trying daoco without a card | Up to 2 brands | Personal account access |
| Starter | Running one or two brands | Up to 2 brands | Included account access |
| Growth | Teams, agencies, and multi-brand operations | Up to 10 brands | Up to 5 seats |
Growth accounts unlock:
* The **Teams** settings tab, and with it member invitations, roles, the per-thread approval bypass control, and the workspace [privacy switch](/account-and-billing/privacy-and-data-deletion).
* Up to 10 brands instead of 2, and up to 5 seats.
* Higher monthly token limits.
* 50 [tracked keywords](/core-workflows/keyword-and-backlink-data) instead of 10, backlink data for up to 5 domains (Starter has none), and 30 saved [AI visibility](/core-workflows/ai-visibility) questions instead of 10.
If you need more than this, contact us at **[support@daoco.org](mailto:support@daoco.org)** and we will work out the arrangement with you.
## The account picker
Signing in takes you straight into your account. The account picker under **Settings** -> **Account** -> **Switch account** appears when you have more than one account to choose from. This can happen on a Growth plan or when another team invites you. Each picker entry is a separate account with its own plan and billing, not a separate brand.
## Team roles
Growth accounts support team members with roles:
* **Owner** controls billing, account settings, team access, brands, and preview features.
* **Admin** can manage most account settings, brands, team members, and preview features.
* **Marketer** can work in the account without managing billing or team administration. This is how an ordinary member appears in the app.
Some main admin controls are protected in the app. For example, the primary account admin cannot be removed or changed from the normal team-management flow.
## Multi-brand accounts
Every account can hold multiple brands: up to 2 on Starter and up to 10 on Growth. Each brand keeps its own brand profile, assets, posts, campaigns, connections, and settings. Use this when one team manages several brands or clients from the same account.
Create or manage brands from **Settings** -> **Brands**. Team members with the right access can switch accounts and brands from the account picker.
Downgrading a Growth account with more than 2 brands to Starter asks you to choose a brand to keep. daoco keeps that brand plus one more to fill the two Starter slots, and permanently deletes the rest. Accounts with 2 or fewer brands downgrade without losing anything. See [Privacy and data deletion](/account-and-billing/privacy-and-data-deletion#switching-from-growth-to-starter) for what a downgrade retains.
## Brand ownership transfer
Brand ownership transfer is separate from team membership. Use [Transfer brand ownership](/account-and-billing/transfer-ownership) when another person should become the owner for a specific brand.
# Changelog
Source: https://docs.daoco.org/changelog
Product release notes for daoco.
## 1.1.15
Released September 4, 2026.
### New
* The brand's **Website** page now has SEO, AI visibility, and Articles tabs: stored page audits with reviewable **Fix** actions, tracked keyword rankings, answer-engine visibility runs, and the site's articles in one place. Fixes require a usable CMS or GitHub connection and stop for approval before any write. AI visibility runs record their fixes, so **Fix** works from the measured finding rather than a summary.
* Keyword rank tracking and saved keyword lists. Track where your site ranks for chosen keywords, check on demand or on a schedule, save research keywords with the volume and difficulty they had when measured, and read any domain's strongest rankings. Rank tracking covers 10 keywords on Starter and 50 on Growth.
* Tracked competitors now follow your competitor analysis document. Entries become watched competitors automatically once their website is found, entries that leave the document are paused rather than deleted, and hand-added competitors are never touched.
* Community conversations. Reddit and Hacker News discoveries and new replies collect under **Social > Conversations**, and the Conversation Monitor automation checks both every two hours. Choose **Draft reply** on a result to start a reviewable response; publishing remains a manual hand-off.
* Campaigns add **Assets** and **Notes** views: the brand asset library filtered to the campaign, and a shared Markdown scratchpad. Both travel with delegated campaign work.
* Instagram and Facebook drafts can publish as **stories**. Post previews and editors now adapt to the format: stories render in a phone frame, multi-image posts page through their images, and Reddit drafts get a title field and a long-form Markdown body editor.
* GitHub now connects through a repository-scoped GitHub App. Install it on a personal account or organization, choose the repositories daoco may use, set one default repository, and pick the working branch it reads from and targets. Code and content changes land as one approved pull request, and the reply carries the pull request link.
* A **Custom SMTP** connection sends approved individual emails through your own SMTP server.
* Assistants now have a notepad for ideas you want to save without starting work. Ask the assistant to handle the pad later and it groups related notes, answers quick items in the channel, and opens one brand thread for each larger task. Notes close with their outcome when the work finishes.
* Assistant tasks can start from events as well as schedules. They can react when a post is published, a brand thread finishes, a campaign is created, or a new item reaches the review queue.
* Workspace privacy controls. Settings > Teams has a **Help improve daoco** switch for Growth workspace admins (on by default). Turning it off keeps only metadata in daoco's own diagnostics. Deleting a brand, workspace, or account now asks whether to keep anonymized agent data: structural run records with every identifying field cleared, and a redacted copy of agent conversations. The deletion receipt reports what was deleted, anonymized, and kept. See the new Privacy and data deletion page under Account and billing.
### Changed
* Every workspace can connect the shared daoco WhatsApp Business number. Incoming messages follow the member's verified workspace pairing.
* Assistants can answer detailed questions about campaigns, posts, performance, documents, assets, articles, automations, skills, and website standing directly in Slack, Discord, or WhatsApp. Voice notes and audio clips on supported channels are transcribed and handled like typed requests.
* After useful work finishes, assistants can offer one or two concrete next steps. Nothing starts until you accept, and accepted work continues in the same thread with the original drafts, assets, sources, and feedback. Finished work links directly to the relevant campaign, draft, asset set, or thread.
* New first-run walkthroughs for the **Website** page and **Social > Conversations**. The campaigns, connections, assistants, and manual post walkthroughs now cover Assets and Notes, the GitHub App and SMTP connections, the shared WhatsApp number, and stories.
* Articles, AI visibility, keyword, SERP, and backlink data, GitHub, and Competitor pulse have graduated from preview and are on for every workspace.
* Brand context now carries the brand's website, other first-party sites, social profiles, and key pages, so you can ask about your own site without pasting the URL.
* Connecting Instagram, Facebook, TikTok, or YouTube asks the provider for fresh authorization or account selection instead of silently reusing the account in the current browser session.
* Airtable now connects through Airtable's hosted MCP server with your existing Airtable permissions. New or updated automations are saved as drafts for review in Airtable.
* A brand that is being deleted stays visible in the Brands list as a disabled status until cleanup finishes, and drops out of navigation, defaults, and brand counts immediately. Deleting a brand never touches the workspace's billing account.
### Fixed
* The caption editor keeps your post formatting and literal text such as `&` instead of rewriting it while you type.
* Social connections recover from temporary provider errors instead of showing as disconnected, and a failed publish no longer locks the account out of later publishing. Disconnecting an account no longer puts the whole connections list into a loading state.
* Shopify connections complete authorization again and use Shopify's current token flow, and the app handles Shopify's customer privacy requests.
* Failed brand, workspace, and account deletions retry with the choices you confirmed, and concurrent retries no longer start duplicate cleanup jobs.
* Slack, Discord, and WhatsApp assistant delivery now handles replies, interactive actions, attachments, and provider-specific message limits more reliably.
## 1.1.14
Released August 28, 2026.
### New
* Brand Hub now maintains a document catalog for each brand. Business brands get Brand Summary, Products & Offers, Design Guide, Strategy, and Competitor Analysis. Personal brands get a summary plus documents for expertise, audience, content, goals, and peers. You can edit, export, turn off, restore, and review the version history of each document.
* Learned voice builds a writing profile from at least 10 posts imported from your connected social accounts. You can edit or hide individual voice fields, refresh the profile, and keep your manual changes when daoco learns from newer posts.
* The Daily Content Engine uses learned voice and recent post performance to prepare one social draft each day. It can skip a day when it has no useful angle instead of producing filler.
* Research can use bounded, read-only public-data sources for structured facts that connected tools and authoritative webpages do not provide. Results include links to the source records.
### Changed
* Brand onboarding now writes Brand Summary and the documents for the selected brand type. Research-assisted setup starts from public sources, while guided setup uses your answers. Existing brands can create missing documents without replacing the profile, logo, colors, voice, or documents they already have.
* Source refreshes let you choose which brand documents to revisit. Each existing document gets its own reviewable proposal, and missing documents get a first version. Unselected documents stay untouched.
* Workspace owners and admins can use **Bypass approvals** for one chat thread. Destructive actions, paid final renders, and read-only connection policies still keep their existing controls.
* Assistants now return requested replies and other conversational copy directly to Slack, Discord, or WhatsApp. Ask to save a social draft when you want a durable post instead.
### Fixed
* Brand setup and document reviews now keep the selected document and current editing state visible across the workflow.
* Specialist transcripts remain visible after delegated work finishes. Workflow links and social queue draft cards use a simpler layout.
* LinkedIn research now reports an anonymous sign-in wall directly instead of retrying until the request times out.
## 1.1.13
Released August 23, 2026.
### New
* Pinterest image Pins, Reddit research, browser-backed social work, assistants, and the Skills library are now available without a preview opt-in.
* Assistants now connect to Slack, Discord, and the daoco WhatsApp Business number. They can read attached files and images, return media, route different channels to the right assistant and brand, and keep follow-ups with the work they belong to.
* The Skills library lets teams inspect daoco's built-in playbooks, turn them on or off, make an editable copy, or create and import their own. Custom skills can be limited to selected brands and types of work.
* Campaign calendars can include connected-app actions beside posts. Each action records its schedule, approval, run state, and result in the campaign workspace and analytics.
* Connected-tool reads that return a large table can open in a dataset panel with a bounded preview, basic column statistics, protected fields, copy support, and a link back to the active campaign.
### Changed
* Campaigns, Assistants, and Skills now have first-run walkthroughs. The dashboard, connections, automations, and manual-post walkthroughs now match current permissions, triggers, connection controls, media rules, Skills, and Assistants.
* Chat now keeps a turn-by-turn execution ledger. Each turn shows the work daoco planned, the current step, completed and skipped steps, elapsed time, and anything waiting for you. You can stop one delegated branch without stopping unrelated work.
* Approval cards use one format across chat, posts, campaigns, browser actions, brand updates, video renders, assistants, and automations. The card names the operation and target. Approving resumes the paused work without adding a new chat message.
* Google Ads can collect the full brief for a responsive Display campaign and create the private budget, paused campaign, paused ad group, image assets, and paused ad in one approved transaction. Account discovery now reads manager-account hierarchies and refreshes expired access before retrying.
* WhatsApp setup pairs each team member with the shared business number. Slack, Discord, and WhatsApp preserve supported formatting and can return approvals to the channel where the request started.
* Google Drive document creation now uses the connected Drive integration. Gmail, Calendar, and Drive expose more of their provider tools after connection.
### Fixed and removed
* The Social Inbox has been removed. Old Inbox links now open brand chat.
* An expired sign-in session in an open tab now sends you to sign in instead of leaving every dashboard query in an error state.
* Connection checks now separate missing setup, expired access, and temporary provider failures. OAuth tokens persist between service restarts and refresh before expiry.
* Chat no longer exposes skill-loading traces or internal specialist labels. Approval pauses, resumed work, and completed child runs now keep the correct status after refresh.
## 1.1.12
Released August 16, 2026.
### Highlights
* Approval cards for connected tools now name the action, connection, and scope. A confirmation is bound to that operation and cannot authorize a different write later.
* daoco now checks a connection with a lightweight read before using it. Setup failures and expired authorization have separate recovery instructions.
* Logo uploads, brand colors, summaries, questionnaire edits, and refreshed brand details now save under the same workspace role checks.
* Research and delegated tasks can return partial results at their time limit. Finished work no longer stays behind an active spinner.
* The automation schedule builder reparses edited times and recurring schedules. Approval state stays attached to the exact run and action.
### Quality improvements
* Sensitive provider errors are redacted before they reach chat while keeping useful recovery guidance.
* Connected-tool retries keep their approval and connection context instead of broadening access.
* New users with incomplete identity claims can finish account setup through a server-side profile recovery path.
* SVG-only logos can be rasterized for product surfaces that require a bitmap preview.
* Brand setup recovers from stalled summary generation and incomplete migrations without reporting a save that did not happen.
## 1.1.11
Released August 7, 2026.
### Highlights
* Automations can run recurring content planning, social listening, Reddit mention, breakout post, and campaign launch workflows. You can start with a saved workflow or build the steps yourself.
* Each automation has its own permission setting. daoco can research, prepare drafts, or take allowed actions in connected tools. Work that needs approval waits in the review queue.
* The automation page shows each step and whether the run is active, paused, or scheduled. A retry keeps the existing run context.
* daoco now loads specialist guidance only when a task matches it. At the time of this release, the transcript showed each loaded guide.
* Multiple attachments upload together, files already shared in a conversation can be reused, and video work chooses among the available source files.
### Other changes
* Remove draft posts or individual media directly from preview and studio screens.
* Exported assets are checked more carefully so incorrect dimensions are caught before delivery.
* Longer, more complex requests recover more gracefully and keep useful work instead of losing the whole result.
* Pasted articles and reference material are less likely to be mistaken for instructions.
* Returning users now get separate setup and reconnect instructions for connections used by automations.
## 1.1.10
Released August 2, 2026.
### Highlights
* The brand home now uses a map instead of stacked blocks. Your brand sits at the center, with **Social**, **Website**, **Creative**, **Email**, and **Sales & Commerce** around it. Select the center for brand identity or an area for its connections. Areas without connections stay dimmed.
* Suggested actions under the map now show the live state of the run they start.
* Brand setup now asks for the brand type and name, then the public sources daoco should read. You can watch the research run, edit each field in a paged review, and finish on the brand map. Guided questions remain available when you do not want to provide sources.
* A walkthrough now runs once per user after onboarding. It covers channels, suggested actions, Home, Automations, chat, and settings. Manual post creation has a separate walkthrough.
* Posts, assets, campaigns, research, SEO, and video now use the same chat runtime. Active turns show live progress, elapsed time, and tool activity. Finished turns fold under their answer with the total time, and repeated tool steps collapse behind a **+N previous tool calls** control.
* Specialist cards now show recorded work, stay active between child runs, and list basic-token charges with raw counts on hover. A run that delivered its result no longer appears as failed.
* Long chat transcripts now support in-thread search with **⇧⌘F** on macOS or **⇧Ctrl+F** on Windows.
* The composer's run control now pauses at the next safe point instead of ending the run.
* Intercom, Granola, Mixpanel, Amplitude, and Gong can now be connected from **Connections** without a preview opt-in. Gong is read-only and covers account, deal, and conversation data.
* Plan limits now appear in one place, the workspace selector only appears when there are several teams to choose from, and Starter allows two brands.
### Changes to existing surfaces
* **Manage Posts has been retired.** Post analytics now live in the calendar's hover card, and the sidebar entry is replaced by **Home**. Links to the old posts page open the calendar on your brand home instead; older links to a single post's analytics page no longer resolve.
* Brand dashboard blocks were renamed and reorganized to match the new map.
### Quality improvements
* WhatsApp assistant channels now connect the registered daoco Business number in one click, react when the assistant accepts a message, send a one-time capabilities welcome, preserve supported text formatting, and show routing controls that match each chat platform.
* Chat assistants now decide more carefully whether a message continues work they already did or starts something new: follow-ups ("make it shorter", "post the second one") stay on the thread that holds the drafts, while distinct asks each get their own thread instead of queuing behind one another.
* Brand dashboards with a long publishing history now use bounded reads and stay within backend read limits.
* Chat turns finalize in a single step, so an interrupted turn cannot leave a half-finished record or a stranded follow-up.
* A follow-up that was being promoted when a run ended is now recovered automatically instead of leaving a "Starting follow-up" item that never resolves.
* Long messages are no longer clipped in the transcript, and source references stay intact.
* Pasting an article or other source material into chat no longer causes daoco to read that content as instructions.
* Research work that reaches its time limit now returns what it found instead of discarding it.
* Duplicate final answers from delegated work, and restarted-assistant reconciliation, were fixed.
* Chat progress now replaces an incorrect initial specialist guess with the work that actually started, so integration requests no longer show unrelated campaign planning.
* Reddit data handling was hardened to match Reddit's data policy, including retention cleanup and narrower thread tracking.
* The workflow panel renders on one layout path on mobile, and loading states now show a skeleton of the conversation instead of a bare spinner.
## 1.1.9
Released July 27, 2026.
### Highlights
* Workspace owners and admins can enable the **Video editor** preview under **Settings → Preview features**. It supports short-form captions, clipping, new compositions from video and still images, and vertical reframing. The editor prepares a source-backed brief, orders scenes, and can add hooks, timed captions, zooms, music, sound effects, and brand overlays.
* Candidate cuts now have a timeline, edit rationale, and playable preview. You can request another pass before approving the final render. Requests over the supported clip limit stop with an error.
* A finished MP4 can be downloaded, saved to the asset library, or sent into post creation with its selected placement.
* The brand dashboard now shows recent chat activity. Newly connected social accounts can import recent native posts, and Momentum analytics can be refreshed with other provider metrics.
* Connected Google Ads workflows can collect every required input, then create a private budget, paused Display campaign, paused ad group, image assets, and paused responsive Display ad in one approved transaction. Campaign changes, image uploads, and paused ads in existing groups use the same approval controls.
### Try the video editor
Enable **Video editor**, upload a short talking-head or screen-recording clip in brand chat, and try:
> Turn this into a 20-second vertical clip. Lead with the strongest claim, remove pauses, keep the speaker and screen readable, add clean captions, and give me two cuts to compare before the final render.
### Hotfixes and quality improvements
* Video edits preserve searchable visual evidence and can start another edit from the reviewed cut. Preview recovery and delegated usage accounting were corrected.
* Subject-aware auto reframing is metered correctly and falls back safely when subject detection is unavailable.
* Large integration results are bounded before they re-enter chat context, reducing failures from oversized tool responses.
* Live tool activity is visible again during active chat work. Delegated failures and panels restored during a run now keep their recorded state.
* Onboarding research now runs more durably in the background, retains source evidence across handoffs, accepts more forgiving source inputs, and uses the standard progress overlay when you redo sources.
* Derived-asset fingerprints now store compact hashes instead of full brand snapshots, avoiding oversized dashboard reads; analytics groupings are reused and invalidated when their source data changes.
* OAuth callback origins, video thumbnail dimension validation, upload fallbacks, render billing, and final-render guardrails were tightened.
## 1.1.8
Released July 22, 2026.
### Highlights
* Workspace owners and admins can enable the **Reddit** preview to discover subreddits, manage target communities, find reply opportunities, monitor mentions, and repurpose posts. daoco opens a pre-filled Reddit post or reply for manual publishing. At the time of this release, **Mark as posted** started reply tracking in the Social Inbox.
* Brand onboarding now asks whether the brand is personal or business. Setup can start with public sources or 14 guided questions, and website analysis continues after a reload or route change.
* Social research can search named platforms through connected APIs and a bounded public-data broker. The result lists counts and source categories per platform, including partial coverage and no results.
### Quality improvements
* Social searches use connected native sources first, keep public-source searches bounded, and report unavailable platforms without failing successful results from other platforms.
* Repeated research steps can reuse a matching completed search instead of triggering duplicate provider work.
* Superseded website-analysis attempts cannot overwrite a newer onboarding run.
* Reddit publishing stays in your hands, and broker-backed research uses public content without passing customer social-account credentials to the broker.
## 1.1.7
Released July 21, 2026.
### Highlights
* Active turns now show **Queued**, **Understanding the request**, **Planning the approach**, and **Drafting** instead of an unexplained loading state.
* Plain-text follow-ups now appear immediately and can steer the active run at its next safe step. Otherwise, the message stays queued. You can cancel a queued message or interrupt the active run.
* The Browser automation preview now supports authenticated UI tasks for LinkedIn, Instagram, Facebook, X, Threads, TikTok, YouTube, and Bluesky. daoco prefers native APIs, restricts navigation to approved platform origins, and keeps step evidence and screenshots.
* Delegated run cards preserve browser steps, links, screenshots, tables, partial results, and token usage without repeating the final answer. Wide tables scroll on smaller screens.
* A request for one social draft now stays at one draft across specialist handoffs. Completed schedules remain authoritative, and a finished run recovers its saved result instead of ending without one.
* Article previews now require extracted source content, broken hero images stay hidden, and the timeline records saved memory or workflow guidance.
* Campaign workspaces now render the full campaign range beside the selected week. Horizontal scrolling keeps phases and dependency lines aligned.
* Smartlead adds campaign, lead, deliverability, and sender-health workflows. Higgsfield and FLORA add connected image, video, character, Technique, and creative iteration tools.
### Quality improvements
* Internal deliberation and provider lookup narration stay out of the customer-facing transcript while useful progress remains visible.
* Superseded runs stop cleanly and cannot write stale customer-visible timeline updates over a newer run.
* Browser enrollment rejects stale completions, keeps secure connection details out of the client and database, and records blocked target attempts in the audit trail.
* Social publishing now refreshes expired provider access when scheduled or immediate delivery first reaches the connection.
* Research, integration, campaign, and social runs now preserve their terminal state through failover and connection checks.
* Large runtime prompts were tightened without removing workflow rules, reducing repeated context before specialist work begins.
## 1.1.6
Released July 2026.
### Highlights
* Active chat runs now have separate **Pause**, **Resume**, **Stop**, and **Retry** controls. Pause waits for a safe point, Resume continues a user pause, Stop ends the run, and Retry starts from the latest request.
* Follow-up instructions sent during a run now wait below the composer, where you can edit or remove them before they start.
* Stopped, timed-out, and failed runs now settle the basic tokens already consumed instead of leaving a hold open or refunding completed work.
* Chat timelines now separate specialist progress, delegated cards, memory and tool output, article previews, and stopped states. Internal reasoning is omitted.
* Post and campaign analytics refreshes now repair stale or orphaned rows, show the refresh state, and accept provider metrics that arrive later.
* Campaign calendars, published-post placement, social queue grouping, and publish results now use the same state across post, campaign, and chat workflows.
* Website refreshes now allow slower crawls, check more logo candidates, and hide empty source previews. A brand refresh with no changes no longer opens a review panel.
### Follow-up updates
* Automations, the Social Platform Import Job, and the production integration categories are now available to every workspace. Their opt-in toggles are gone from **Settings → Preview features**.
* Brand dashboard blocks now use **Published**, **Interactions**, and **Seen** metrics, account snapshots with follower changes, empty states, and direct links to posts, campaigns, calendars, and analytics.
* Post metrics a platform cannot report now show **Not reported** instead of zero. Account refreshes renew expiring platform tokens and name provider errors.
* **Team invites now require the Growth plan**, matching the workspace team model.
* Multi-step chat now follows instructions such as "skip research", "only create the image", or a requested step order. Saved workflow preferences can also shape the plan.
* Fixed mobile multi-image chat attachments and updated the underlying models across chat, asset, and analysis workflows.
### Quality improvements
* Queued follow-ups keep the active run from being overwritten by a second run.
* Delegated specialist runs now keep distinct paused and resumed states.
* Long specialist results are compacted into model-facing summaries with durable IDs and artifact references, reducing failures from oversized tool output.
* Local and staging deployment automation is more predictable, including idempotent staging branch/tag handling and safer Convex environment sync.
* Browser automation evidence is scoped and bounded more carefully when supported integration workflows collect page evidence.
## 1.1.5
Released June 2026.
### Highlights
* Workspace owners and admins can enable a daily Social Platform Import Job preview. It reads recent posts from connected accounts into **Manage Posts**, groups likely cross-platform duplicates, and preserves available metrics without writing to the providers.
* The composer context circle now shows billed basic tokens beside context pressure. Its tooltip lists input, output, and total thread usage.
* daoco now refreshes LinkedIn OAuth tokens before scheduled and immediate publishes for profiles and Pages.
* Scheduled social posts now record separate auth, delivery, failure, and reconnect states.
* Large uploads and exports now use storage handoffs shared by chat and the Assets page.
### Hotfix updates
* Large tool results are now stored outside the chat message before it is saved, so oversized research, integration, and publishing results do not discard the turn.
* Google Drive Workspace folder browsing now resolves nested folder contents.
* Runs now record timeline receipts, permission decisions, connection health, and explicit no-artifact outcomes for recovery.
* Sentry events now include the runtime, organization, thread, and request identifiers needed to trace an error.
### Quality improvements
* Context pressure warnings now appear before automatic compaction.
* Asset downloads now preserve their export payload through the storage handoff.
* R2 uploads now recover media-storage credentials before retrying.
* LinkedIn publishing now records provider errors and clears completed schedule jobs.
* Updated token usage guidance and Social Platform Import Job preview docs in the knowledge base.
## 1.1.4
Released June 2026.
### Highlights
* Brand owners and admins can set per-brand defaults for scheduled posts and integration writes with **Always ask**, **Learn after 3**, or **Auto when connected**. Both policies default to **Auto when connected**.
* Automations can update their saved prompt after successful runs when **Improve prompt** is on. The separate workflow memory library was removed.
* LinkedIn UI tasks can use a secure browser session beside OAuth. Start browser auth from chat, manage the session from Connections, or clear it without disconnecting OAuth.
* Workspace owners can enable the Browser automation preview for supported integration workflows from preview settings.
* WorkOS invitation links now preserve workspace selection through invite acceptance and rescind flows.
* Token top-ups now count toward billing totals. Purchase history and remaining balances stay visible on inactive plans.
* Account settings now include light and dark themes.
* Follow-up turns now skip repeated setup, delegated work stays in its own thread, and sent messages reconcile with their saved copy.
* Product docs now cover approval preferences, automation prompt updates, LinkedIn browser sessions, specialist runs, workflow panels, and integration routing.
### Quality improvements
* Intent classification now has a bounded fallback when the primary route times out.
* Safer asset generation auth boundaries and memory extraction indexing in chat.
* Attachment source menus close predictably after you pick a source.
* Approval decisions now stay bound to the paused run and operation.
* LinkedIn browser enrollment and session observability improvements.
* Browserbase-backed social scraping replaces the previous Apify path.
* Removed the legacy webpage builder product surface to keep the dashboard focused on chat, publishing, assets, and campaigns.
## 1.1.3
Released June 2026.
### Highlights
* The new self-serve Growth plan includes more monthly tokens, up to 10 brands, up to 5 seats, and discounted credit packs.
* Integration categories now cover commerce, websites, mail, calendars, files, docs, work, knowledge, CRM, and sales. Provider cards still under test are labeled **Dev Testing**.
* The knowledge base now documents plan limits, add-ons, token top-ups, and usage.
* Brand setup, the getting started guide, public site copy, and pricing now use the same plan and workspace terms.
* The planning workspace now groups multi-platform posts for scheduling and review.
* Mobile calendar rows now open the scheduled post and keep schedule edits and publish states visible.
* The asset library now has gallery previews, selection, and detail views.
* Chat now separates post, research, and workflow results from internal progress messages.
* Drafts now show their schedule, media variants, and final approval before posting.
* Platform support and preview guides were updated for the publishing, integration, Pinterest, and social features available in this release.
### Quality improvements
* Fewer confusing duplicate or stale messages in chat.
* Unavailable work now says whether it needs a connected account or has not shipped.
* More consistent handling for drafts, attachments, media variants, schedules, and publish failures.
* Post compatibility now runs before scheduling or publishing.
* Integrations now separate reconnect, provider availability, and preview-access failures.
* Analytics events now use shared app and backend reporting paths.
* Unfinished automation pages were removed from the active preview registry.
* Updated internal agent and runtime guidance so future work follows the current Convex-native stack.
## 1.1.2
Released June 2026.
### Highlights
* Brand chat can now start a brand refresh, show the proposed changes, and apply the approved version.
* The planning view now groups multi-platform posts for scheduling and review.
* Mobile calendar rows now open their scheduled post from smaller screens.
* The asset library now has gallery previews and multi-select.
* Chat now marks work that finishes in another thread.
* Drafts now show their schedule, media, and final approval before posting.
### Quality improvements
* Fewer confusing duplicate messages in chat.
* Unavailable work now names the missing feature or connection.
* More consistent handling for drafts, attachments, media, and schedules.
* Easier-to-understand brand update previews.
## 1.1.1
Released May 2026.
### Highlights
* The Automations preview can schedule recurring prompts and show each automated run.
* The Integrations preview can connect external tools for approved provider tasks from chat.
* Chat routing now distinguishes writing, research, publishing, SEO, campaign, and visual requests.
* Drafts and posts now require a review state before publishing.
* Research and chart answers can now cite the source of key information.
* The **Getting Started** card became the main desktop guide, and website-based setup can resume after interruption.
* Product docs now group core workflows, billing, usage, and platform support into separate sections.
### Quality improvements
* Disabled features now show their access requirement.
* Imports, chat history, and specialist results now keep their saved state after refresh.
* Platform guides now list supported post types and connection requirements.
# Browser automation
Source: https://docs.daoco.org/connections/browser-automation
Use secure browser sessions for supported social tasks when a native platform API cannot complete the work.
Browser automation handles authenticated social tasks that need a platform's website. daoco still prefers native platform APIs and uses the browser only for an authenticated UI gap or an explicit UI fallback. It is on for every workspace and has no preview toggle.
## Supported platforms
* LinkedIn
* Instagram
* Facebook
* X
* Threads
* TikTok
* YouTube
* Bluesky
## Supported work
Browser-backed reads can inspect profiles or pages, collect posts and comments, review UI-visible analytics, and run limited extraction steps. Browser-backed writes are limited to posting, commenting, and replying with the exact approved text.
Available work still depends on the selected platform, account type, authenticated session, and the page state at the time of the run.
## Complete browser auth
Ask in brand chat. If the selected social connection needs browser auth, daoco shows a browser auth card.
Open the secure browser window and complete the platform's login, account selection, MFA, or CAPTCHA yourself.
Confirm the completed login when prompted. daoco verifies the session and resumes the original request.
You can review or clear a saved browser session from the connected social account in **Connections** without disconnecting its OAuth or API connection. Clearing it means the next browser-backed task will ask you to authenticate again.
## Review browser evidence
Specialist run cards can show the browser steps daoco completed, links it visited, screenshots it retained, and whether a result was complete, partial, blocked, or failed. Expand the run card to review this evidence before relying on a browser-backed result or approving another action.
An uncertain browser write is not retried automatically. Review the destination before trying again so you do not create a duplicate post, comment, or reply.
## Safety boundaries
* daoco resolves the social connection, platform, account ownership, and approved website origins on the server.
* Browser navigation is restricted to approved origins for the selected platform.
* Credentials, cookies, tokens, authorization headers, recovery codes, and MFA values are excluded from evidence.
* Login challenges stay in the secure browser window for you to complete.
* Live browser sessions are bounded to the operation; the saved browser profile can be cleared from **Connections**.
For platform publishing and analytics caveats, see [Platform support and limitations](/preview-features/platform-support-and-limitations).
# Integrations
Source: https://docs.daoco.org/connections/integrations
Connect third-party integrations and use /integration for governed provider work from brand chat.
Integrations let daoco read and write data in connected commerce, site, mail, calendar, outreach, files, docs, creative, work, knowledge, analytics, CRM, sales, and Dev Testing tools through governed provider connections.
Integrations use the [Model Context Protocol (MCP)](#what-is-mcp) or a
daoco-managed adapter. In chat, use the [`/integration`](#what-is-mcp)
command to work with connected providers.
## What is MCP?
[MCP](https://modelcontextprotocol.io/) (Model Context Protocol) is an open standard for connecting AI tools to external apps and data. Providers such as Notion, Salesforce, Google, and HubSpot expose an **MCP server** that daoco connects to after you approve OAuth or admin access.
In daoco, we call these connections **integrations**. The [`/integration`](#what-is-mcp) slash command is how you ask daoco to read from or write to a connected integration in brand chat, with approval gates on sensitive changes.
Before connected work begins, daoco may run a lightweight read to confirm that the selected connection is usable. If that check fails, the recovery message distinguishes a missing setup step from authorization that needs to be renewed whenever the provider exposes enough detail.
## Connect integrations
Open **Connections** → **Integrations**. Commerce & Website, Mail &
Calendar, Files & Docs, Creative Assets, Work & Knowledge, CRM & Sales, and
Analytics & Search providers are available to every workspace.
Select the provider card and complete its OAuth or tenant-access setup. Dev
Testing providers remain workspace-gated.
## Provider status
| Status | Meaning |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| Available | The provider is exposed in its normal product category. |
| Preview | The provider is available for early use and may still change. |
| Conditional | The provider requires admin approval, tenant setup, wrapper configuration, or provider-side prerequisites before users can connect. |
| Legacy | The provider still works through daoco's legacy integration path while support is modernized. |
| Dev Testing | The provider guide remains available, but the card is for testing or provider approval work and is not part of the normal production categories. |
## Current catalog
| Category | Providers |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Commerce & Website | Shopify Admin (Legacy), Square (Available), WordPress (Available), Stripe (Preview), Webflow (Available), Wix (Available) |
| Mail & Calendar | Custom SMTP (Available), Gmail Workspace (Conditional), Klaviyo (Available), Outlook Workspace (Conditional), Smartlead (Available) |
| Files & Docs | Google Drive Workspace (Conditional), Dropbox (Preview), SharePoint Workspace (Conditional) |
| Creative Assets | Logo.dev (Conditional), Pexels (Conditional), fal (Available), Cloudinary (Preview), AltText.ai (Conditional), Miro (Preview) |
| Work & Knowledge | Notion (Available), Asana (Available), Linear (Available), Atlassian (Preview), Airtable (Available), monday.com (Available), GitHub (Available), PostHog (Available), Granola (Available), Mixpanel (Available), Amplitude (Available), Higgsfield (Available), FLORA (Available) |
| CRM & Sales | HubSpot (Available), Salesforce (Available), Intercom (Available), Zoho CRM (Preview), Sprout Social (Conditional), Clay (Available) |
| Analytics & Search | Google Analytics (Conditional) |
| Dev Testing | Gmail Individual, Google Drive Individual, Google Calendar, ClickUp, Canva, Figma, Gong, Google Search Console, Google Ads, Meta Ads, TikTok Ads, and LinkedIn Ads |
## Creative asset connections
Creative asset integrations extend image, video, audio, media-library, brand-identity, and accessibility workflows:
* **Logo.dev** searches company identity, logo, color, and social metadata. It is read-only and requires a provider API key.
* **Pexels** searches attributed stock photos and videos. It is read-only and requires a provider API key.
* **fal** discovers and runs image, video, audio, and other media models with an API key. Generation is treated as a provider write.
* **Cloudinary** connects through OAuth for media search, upload, organization, transformation, and generation.
* **AltText.ai** generates accessible alt text and reads its image library with an API key.
* **Miro** connects through OAuth for board search, summaries, creation, and updates.
Provider writes and generation jobs follow the approval controls described below. Conditional providers appear only when their daoco service endpoint and provider requirements are configured.
## Provider guides
Legacy Commerce & Website connection for Shopify Admin stores.
Connect Square merchant data through Square OAuth.
Connect WordPress.com sites, pages, posts, and media.
Preview billing and payments connection for Stripe.
Connect Webflow sites, CMS content, and assets.
Connect Wix sites and business data.
Dev Testing connection for one Google user's Gmail account.
Connect admin-approved Google Workspace mailboxes.
Send approved individual emails through an existing SMTP server.
Dev Testing connection for one Google user's Calendar data.
Connect Klaviyo account and campaign data.
Connect admin-approved Microsoft 365 mailboxes.
Connect Smartlead campaigns, leads, deliverability, and sender health with
an API key.
Dev Testing connection for one Google user's Drive files.
Connect admin-approved shared drives and folders.
Connect Dropbox files and folders.
Connect selected SharePoint and OneDrive resources.
Connect Notion pages and databases.
Connect Asana tasks, projects, and workspaces.
Dev Testing connection for ClickUp tasks, lists, and workspaces.
Connect Linear issues, projects, and teams.
Preview Jira, Confluence, and Atlassian work data.
Dev Testing connection for Figma designs, FigJam boards, and design context.
Connect Airtable bases, records, and schema.
Connect monday.com boards, items, and workflows.
Install the repository-scoped GitHub App to read code and land approved pull
requests.
Connect PostHog analytics, feature flags, and product data.
Connect meeting notes, transcripts, decisions, and action items.
Analyze events, funnels, retention, cohorts, and product insights.
Work with analytics, dashboards, cohorts, experiments, and taxonomy.
Generate and iterate on cinematic images, videos, clips, and characters.
Discover and run FLORA Techniques for creative generation and iteration.
Dev Testing connection for Canva designs and workspace assets.
Connect HubSpot CRM and marketing data.
Search conversations, contacts, companies, and Help Center content.
Connect Salesforce hosted integration with an External Client App.
Connect Clay enrichment and CRM workflows.
Connect approved Sprout Social analytics for published TikTok insights.
Dev Testing reporting with one approval-bound path for a complete paused
Display campaign and ad, plus campaign controls and image uploads.
Connect Google's hosted read-only Analytics MCP endpoint.
Dev Testing connection for read-only Google Search performance and index
coverage.
Dev Testing connection to Meta's official hosted Ads MCP server.
Dev Testing connection to TikTok for Business's hosted MCP server.
Dev Testing connection through daoco's approval-bound read/write LinkedIn
Marketing API service, including create, update, archive, and delete tools.
## Use integrations from chat
Use [`/integration`](#what-is-mcp) or ask about a connected provider.
For write actions, review the operation name, selected connection, account or resource scope, and proposed change on the approval card. Approving an ordinary update runs exactly that action and also lets daoco keep making ordinary updates on the same provider for the rest of that thread without asking again. Destructive operations, such as deletes, are always approved one at a time and grant nothing beyond the exact approved action.
```text theme={null}
/integration Review my Shopify product titles and suggest SEO improvements.
```
```text theme={null}
/integration Check my WordPress pages for missing meta descriptions.
```
Writes use the permissions you granted. Start with read-only prompts and
review proposed changes before approving provider updates.
## Approval preferences
Integration writes follow the brand's [approval preferences](/account-and-billing/approval-preferences). Brand owners and admins choose **Ask before acting**, **Work autonomously**, or **Full autonomy** under **Settings** → **Brands**. New and migrated brands default to **Ask before acting**.
**Work autonomously** and **Full autonomy** allow ordinary updates to connected apps without an extra prompt. **Full autonomy** can also allow publishing and sending. Large sends, new spend, big batches, and first-time publishing still ask.
Each connection can override the brand setting for ordinary updates with **Inherit**, **Always ask**, or **Allow**. Its access control can also limit daoco to **Read/write**, **Read only**, or **None**.
Reading does not need approval when connection access permits it. Deleting or removing provider data always asks.
Chat instructions can guide how daoco plans provider work, but they do not
grant permission to send, publish, update, delete, or bypass an approval gate.
# Connect Airtable
Source: https://docs.daoco.org/connections/mcp/airtable
Connect Airtable bases, records, and schema as a daoco integration.
Airtable is an **Available** Work & Knowledge integration. daoco connects directly to Airtable's hosted MCP server over Streamable HTTP. It can inspect or update bases, tables, fields, records, interfaces, forms, and automation drafts from chat.
daoco uses Airtable's default Dynamic Client Registration flow. You do not need Airtable to review or approve the connection, and you do not need to create an Airtable OAuth app first. Your Airtable organization may still require an administrator to allow the integration under its own third-party integration policy.
## Connect Airtable
In daoco, open **Connections** -> **Integrations** -> **Work & Knowledge** and choose **Airtable**.
Choose **Connect**, sign in to Airtable, and select the bases, apps, or workspaces daoco should use. Airtable applies your existing permissions to every MCP call.
Ask [`/integration`](/connections/integrations#what-is-mcp) for a read-only base, table, field, or record summary before approving updates.
Review proposed base, table, field, record, interface, form, and automation
changes before approving writes. Airtable saves new or updated automations as
drafts. Turn them on from the Airtable UI after review.
## Airtable organization controls
Airtable may block third-party integrations when an organization administrator has enabled an allowlist. That is an organization policy, not an Airtable product approval. Ask the Airtable administrator to allow the OAuth client used by the daoco connection.
You can change the permitted bases and apps from Airtable's [third-party integrations pane](https://airtable.com/?integrations=thirdParty). Disconnecting Airtable in daoco removes the stored daoco connection. Delete the integration in Airtable as well when you want Airtable to revoke the grant.
See Airtable's [custom MCP client setup](https://airtable.com/developers/agents/mcp/other) and [tool reference](https://airtable.com/developers/agents/mcp/tools) for the current provider contract.
# Connect Asana
Source: https://docs.daoco.org/connections/mcp/asana
Connect Asana projects, tasks, and workspace data as a daoco integration.
Asana is an **Available** Work & Knowledge integration. It uses provider OAuth, and some deployments require Asana OAuth app setup before users can start OAuth.
## Connect Asana
In daoco, open **Connections** -> **Integrations** -> **Work & Knowledge** and choose **Asana**.
If daoco asks for OAuth setup, add the callback URI shown in daoco to the Asana OAuth app and save the required app details.
Choose **Connect**, sign in to Asana, and approve access to the workspace daoco should inspect.
Start with read-only project or task summaries. Review proposed task, project, completion, or delete actions before approving them.
# Connect Atlassian
Source: https://docs.daoco.org/connections/mcp/atlassian
Connect Jira, Confluence, and Atlassian work data as a daoco integration.
Atlassian is a **Preview** Work & Knowledge integration. Use it when daoco should inspect Jira issues, Confluence pages, projects, spaces, and related Atlassian work data from chat.
## Connect Atlassian
In daoco, open **Connections** -> **Integrations** -> **Work & Knowledge** and choose **Atlassian**.
Choose **Connect**, sign in to Atlassian, and approve access for the sites, projects, or spaces daoco should use.
Ask [`/integration`](/connections/integrations#what-is-mcp) for a read-only project, issue, space, or page summary before approving updates.
Review proposed Jira, Confluence, project, and page changes before approving writes.
# Connect Canva
Source: https://docs.daoco.org/connections/mcp/canva
Connect Canva designs and workspace assets as a daoco integration.
Canva is a **Dev Testing** integration. The guide remains available while provider approval and production readiness work continues.
## Connect Canva
A workspace owner or admin must enable **Dev Testing** integrations in **Settings** -> **Preview features**.
In daoco, open **Connections** -> **Integrations** -> **Dev Testing** and choose **Canva**.
Choose **Connect**, sign in to Canva, and approve access for the account or workspace daoco should inspect.
Return to daoco and confirm the Canva connection is healthy.
Ask [`/integration`](/connections/integrations#what-is-mcp) for a read-only design or asset summary before using Canva data in a workflow.
Canva is not part of the normal Work & Knowledge production category yet.
# Connect Clay
Source: https://docs.daoco.org/connections/mcp/clay
Connect Clay enrichment and CRM workflows as a daoco integration.
Clay is an **Available** CRM & Sales integration. Use it when daoco should inspect or update Clay tables, people, companies, enrichments, and CRM workflows from chat.
## Connect Clay
In daoco, open **Connections** -> **Integrations** -> **CRM & Sales** and choose **Clay**.
Choose **Connect**, sign in to Clay, and approve access for the workspace daoco should use.
Ask [`/integration`](/connections/integrations#what-is-mcp) for a read-only table, contact, company, or workflow summary before approving enrichments or record changes.
Clay actions may consume Clay credits. Review proposed enrichments, table updates, imports, and CRM changes before approving writes.
# Connect ClickUp
Source: https://docs.daoco.org/connections/mcp/clickup
Connect ClickUp tasks, lists, and workspace data as a daoco integration.
ClickUp is a **Dev Testing** integration. The guide remains available while provider approval and production readiness work continues.
## Connect ClickUp
A workspace owner or admin must enable **Dev Testing** integrations in **Settings** -> **Preview features**.
In daoco, open **Connections** -> **Integrations** -> **Dev Testing** and choose **ClickUp**.
Choose **Connect**, sign in to ClickUp, and approve read/write access for the workspace.
Return to daoco and confirm the ClickUp connection is healthy.
Use read-only prompts first and review proposed task, list, or comment changes before approving them.
ClickUp is not part of the normal Work & Knowledge production category yet.
# Connect a custom SMTP server
Source: https://docs.daoco.org/connections/mcp/custom-smtp
Send approved individual emails through an existing SMTP server with encrypted credentials.
Custom SMTP is an **Available** Mail & Calendar integration for outbound email. It works with SMTP credentials from providers such as Amazon SES, Mailgun, Postmark, Microsoft 365, and ordinary hosted mailboxes.
Custom SMTP sends individual messages. It does not read inboxes, manage mailing lists, process bounces, track opens, or replace a campaign email provider.
## Before you connect
Get these values from the mail provider:
* SMTP hostname
* Port 25, 465, 587, or 2525
* TLS or STARTTLS security mode
* Username
* Password or app password
* Approved sender email
The server must have a public internet address and a valid TLS certificate. daoco blocks private and local network addresses.
## Connect the server
In daoco, open **Connections** → **Integrations** → **Mail & Calendar** and
choose **Custom SMTP**.
Enter the server, port, security mode, username, password, and sender email.
The sender name and reply-to email are optional.
Choose **Test and connect**. daoco authenticates with the server and sends a
test message to the sender address. daoco saves the connection only after
the test succeeds.
Ask [`/integration`](/connections/integrations#what-is-mcp) to send a
completed email through the Custom SMTP connection. daoco shows the exact
send for approval before it contacts the server.
Do not paste SMTP credentials into chat. daoco encrypts credentials entered in
the connection form. Reconnect the integration after rotating the provider
password.
## Delivery and compliance
The connected mail provider controls sender authorization, sending limits, and delivery. Configure SPF, DKIM, and DMARC with that provider before sending customer email.
SMTP can leave delivery uncertain if a network timeout happens after the server accepts message data. daoco does not retry a failed SMTP send automatically. Check the provider's sent-mail or delivery logs before requesting another send.
Use an email marketing provider for bulk campaigns, unsubscribe management, suppression lists, bounce handling, and complaint processing.
# Connect Dropbox
Source: https://docs.daoco.org/connections/mcp/dropbox
Connect Dropbox files and folders as a daoco integration.
Dropbox is a **Preview** Files & Docs integration. It uses provider OAuth, and some deployments require Dropbox app details before users can start OAuth.
## Connect Dropbox
In daoco, open **Connections** -> **Integrations** -> **Files & Docs** and choose **Dropbox**.
If daoco asks for Dropbox app details, use the callback URI shown in daoco in the Dropbox App Console, then paste the app key and secret.
Choose **Save and connect** or **Connect**, sign in to Dropbox, and approve file metadata, content, sharing, account, and file request scopes.
Ask [`/integration`](/connections/integrations#what-is-mcp) for a read-only folder summary before approving upload, share, move, copy, or delete actions.
# Connect Figma
Source: https://docs.daoco.org/connections/mcp/figma
Connect Figma designs, FigJam boards, and design context as a daoco integration.
Figma is an **Available** Work & Knowledge integration. Use it when daoco should inspect Figma files, frames, components, FigJam boards, or design context from chat.
## Connect Figma
In daoco, open **Connections** -> **Integrations** -> **Work & Knowledge** and choose **Figma**.
Choose **Connect**, sign in to Figma, and approve access for the files or workspace daoco should inspect.
Ask [`/integration`](/connections/integrations#what-is-mcp) for a read-only file, component, frame, or board summary before using Figma data in a workflow.
Review proposed design, comment, file, or workspace changes before approving writes.
# Connect FLORA
Source: https://docs.daoco.org/connections/mcp/flora
Connect FLORA to discover and run Techniques for creative generation, iteration, branching, and batches.
FLORA is an **Available** Work & Knowledge integration. It uses FLORA OAuth and the provider's official [MCP](/connections/integrations#what-is-mcp) server.
## Connect FLORA
In daoco, open **Connections** → **Integrations** → **Work & Knowledge** and choose **FLORA**.
Choose **Connect** and sign in with the same FLORA account that owns the Techniques and projects daoco should use.
Ask [`/integration`](/connections/integrations#what-is-mcp) to list matching Techniques before running one for a campaign brief, variation set, motion task, or batch.
FLORA's [MCP guide](https://developer.flora.ai/mcp/) describes discovering and running Techniques, iterating from prior outputs, branching into another Technique, and batching work. Access to Techniques, projects, and provider usage follows the connected FLORA account.
Review the Technique, inputs, output count, and provider usage before approving a run, especially for batches or multi-step generation.
# Connect GitHub
Source: https://docs.daoco.org/connections/mcp/github
Install daoco's GitHub App for personal or organization repositories, then choose a default repository and working branch.
Connect GitHub from **Connections**.
daoco connects through its GitHub App and calls GitHub's API with short-lived installation tokens. Install the app on a personal account or organization, grant all repositories or select only the repositories daoco should use, then authorize your GitHub identity.
Each installation is a separate connection. After connecting, choose a default repository on the connection card. daoco uses that repository when a request does not name one. An explicit `owner/repository` in the request still wins.
## Working branch
By default daoco reads the repository's default branch and opens pull requests against it. If your deployed content lives on a different branch, such as a release branch, choose it as the **working branch** on the connection card. daoco then reads files from that branch, creates new branches from it, and targets it with pull requests. A branch named in the request still wins.
GitHub's code search only covers the default branch. When a working branch is set, daoco lists directories on that branch instead of relying on search, so files that exist only there are still found.
The working branch belongs to the default repository. Any other repository you name in a request uses its own GitHub default branch instead.
Update the working branch whenever your release branch changes.
## Approval and access
Reads can run without approval. Every GitHub write requires approval in chat, even when the workspace uses an autonomous preset or automation. Approval applies to one named tool and its hash-bound input. Approving an issue write does not approve a merge, deletion, workflow run, or any later call.
A code or content change is one write. daoco proposes it as a single pull request: the approval card shows the repository, the base branch, the new branch name, the pull request title, every file with its size, and the description. Approving it creates the branch, commits those exact files, and opens the pull request in one step, and daoco replies with the pull request link so a reviewer can merge it. Changing any of those details needs a new approval. One pull request carries at most 20 files; a larger change has to be split.
The app can read repository metadata and contents, search code, and list issues and pull requests. It can create issues, branches, file commits, and pull requests only after daoco's write-approval gate accepts that exact call.
Changes made before disconnecting remain in GitHub. Disconnecting removes daoco's access; it does not undo issues, branches, commits, pull requests, comments, or other completed actions.
## Content and article pull requests
daoco has an internal GitHub workflow for repository-backed content. It first reads comparable files to learn the repository's directory, filename, front matter, image, and formatting conventions. It then proposes one pull request that carries the new branch, the full file contents, and the pull request title and description, and asks for a single approval.
If a later step inside that write fails, daoco reports the branch and the files already committed instead of guessing whether GitHub applied the call or deleting anything automatically.
Content that cannot be authored safely from repository evidence becomes an issue for a maintainer. This includes application code, shared templates, schema markup, redirects, build configuration, and changes that depend on product or engineering judgment.
## Permissions
The GitHub App requests repository metadata read access plus read and write access for contents, issues, and pull requests. GitHub limits each installation to the repositories selected during setup. daoco briefly exchanges GitHub's user-authorization code to verify that the installer can access the installation, then discards that user token. Repository work always uses short-lived installation tokens; daoco does not store a personal access token or broad account OAuth token.
An organization owner may need to approve the installation request. If GitHub records a request instead of an installation, daoco reports that state and does not create a connection until an owner approves it. If the card later says the connection is missing its installation details, choose **Reconnect** and run the install again.
## Connect GitHub
Open **Connections** -> **Integrations** -> **Work & Knowledge** and choose **GitHub**.
Choose **Connect**. GitHub opens its authorization page for the daoco App. Approve it. daoco uses that identity only to check which installations you can reach, then discards the token.
If you have not installed the app yet, GitHub takes you to the installation page. Pick your personal account or an organization, then grant all repositories or select the repositories daoco should use. GitHub returns you to daoco automatically.
Open the **⋯** menu on the connected GitHub card and choose **Default repository**. Pick the repository daoco should use when a request does not name one. If deployed content lives on a release branch, pick it as the **working branch** in the same dialog, then choose **Save default**.
Ask daoco to read a file from the default repository.
## Example requests
* "Read the existing articles in this repository, then open a PR for the approved draft."
* "Open GitHub issues for the SEO findings that need engineering work."
* "Review the open pull requests touching the marketing site."
## Disconnecting
Disconnecting removes the brand's connection immediately. If no other brand connection uses that GitHub App installation, daoco also uninstalls it from the personal account or organization. Existing GitHub records and repository changes remain in place.
# Connect Gmail Individual
Source: https://docs.daoco.org/connections/mcp/gmail-individual
Connect one Google user's Gmail account through Google's hosted integration endpoint.
Gmail Individual is a **Dev Testing** integration. Use it when one signed-in Google user should grant daoco access only to Gmail data available to that user during provider approval or testing. Google hosts the [MCP](/connections/integrations#what-is-mcp) endpoint for this connection.
## Connect Gmail Individual
A workspace owner or admin must enable **Dev Testing** integrations in **Settings** -> **Preview features**.
Open **Connections** -> **Integrations** -> **Dev Testing** and choose **Gmail Individual**.
Choose **Connect**, sign in with the Google user, and approve Gmail read and compose scopes.
Confirm the row is healthy, then run a minimal read-only [`/integration`](/connections/integrations#what-is-mcp) proof such as listing labels. Do not prove access by reading message bodies, subjects, snippets, or recipients.
## What the connection can do
Read work (search threads, read a message, list labels and drafts) runs as soon as you ask. Writing is two steps: the assistant can create a Gmail draft for review, and it can send mail (a new message, a reply, or an existing draft) once you approve that exact send in chat. Label, trash, and spam changes are not offered on this connection.
## Workspace restrictions
If the Google account belongs to a restricted Workspace, a Google Workspace admin may need to trust the daoco OAuth app or allow these scopes:
```text theme={null}
https://www.googleapis.com/auth/gmail.readonly
https://www.googleapis.com/auth/gmail.compose
```
daoco Google OAuth client ID:
```text theme={null}
96740286304-9cfdidtfpagihnu2i2dmkk9is3ann2mr.apps.googleusercontent.com
```
This guide remains available for testing, but Gmail Individual is not part of the normal Mail & Calendar production category.
# Connect Gmail Workspace
Source: https://docs.daoco.org/connections/mcp/gmail-workspace
Connect admin-approved Gmail mailboxes through daoco's Google Workspace integration gateway.
Gmail Workspace is a **Conditional** Mail & Calendar integration. Use it when a Google Workspace super admin wants to authorize daoco for approved company mailboxes or groups. daoco connects through a Google Workspace [MCP](/connections/integrations#what-is-mcp) gateway after admin approval.
## Connect Gmail Workspace
In daoco, open **Connections** -> **Integrations** -> **Mail & Calendar** and choose **Gmail Workspace**.
Copy the client ID shown in daoco. daoco's Workspace domain-wide delegation client ID is:
```text theme={null}
101332151355781817835
```
A Google Workspace super admin opens **Security** -> **Access and data control** -> **API controls** -> **Manage Domain Wide Delegation**, adds the client ID, and authorizes these scopes:
```text theme={null}
https://www.googleapis.com/auth/gmail.readonly
https://www.googleapis.com/auth/gmail.compose
```
Paste the Workspace domain and exact mailbox or group addresses daoco may use, such as `marketing@acme.com` or `support@acme.com`.
Choose **Save request** after admin approval is complete.
## Notes
* End users cannot grant company-wide Gmail access with ordinary OAuth consent.
* daoco v1 can create drafts behind approval, but direct send is unavailable.
* Do not send service account JSON keys, private keys, or Google Cloud secrets to customer admins.
# Connect Google Ads
Source: https://docs.daoco.org/connections/mcp/google-ads
Connect Google Ads for reporting, assets, and approval-bound ad management.
Google Ads is a **Dev Testing** and **Conditional** integration. daoco hosts [Google's official MCP package](https://developers.google.com/google-ads/api/docs/developer-toolkit/mcp-server) for discovery and reporting. DAOCO-owned tools can atomically create a complete paused responsive Display campaign, create paused Display foundations, handle campaign status and daily-budget changes, upload images, and create paused responsive ads. Workspace users do not enter client IDs, secrets, endpoints, developer tokens, or scopes.
## Connect Google Ads
A workspace owner or admin must enable **Dev Testing** integrations in **Settings** -> **Preview features**.
In daoco, open **Connections** -> **Integrations** -> **Dev Testing** and choose **Google Ads**.
Choose **Connect**. The first connection from a browser asks you to confirm the daoco callback before Google opens. FastMCP remembers that approval for later connections from the same browser and callback. There is no workspace configuration form.
Sign in with a Google user who can access the ad account and approve `https://www.googleapis.com/auth/adwords`. Google does not define a separate write scope.
Ask [`/integration`](/connections/integrations#what-is-mcp) for an account or campaign summary. You can then request a paused Display campaign and ad group, a campaign pause, enable, daily-budget change, image upload, or a new responsive ad. daoco validates the exact mutation without executing it and uses the normal connected-app approval panel before applying it.
The Connect button remains unavailable until daoco's Google Ads developer
token and OAuth app are configured for Dev Testing and the service is online.
Google Ads writes also require shared service authorization configured by
daoco. This service boundary does not replace the approval shown in chat.
New Display campaign foundations use a private daily budget, Manual CPC bidding,
and paused campaign and ad-group statuses. The setup does not add targeting or
enable serving. New ads are also created paused. Responsive search ads require
an existing Search ad group. Responsive display ads require a Display ad group
plus a landscape image of at least 600 x 314 and a square image of at least 300 x 300.
daoco checks both images again when approval is redeemed so changed URLs cannot
silently change the approved creative.
When no Display campaign exists, daoco can validate the private budget, paused
campaign, paused ad group, both images, and paused responsive Display ad as one
atomic request. It collects the complete budget, bid, EU political-ad
declaration, copy, URL, and creative first, then presents one approval. Google
creates all resources or none of them.
The approval covers that exact validated proposal, not the short-lived Google
preview token. If the token expires while the approval waits for review, daoco
validates the same proposal again and applies it under the existing approval.
Any change to the account, budget, bid, copy, images, targeting, or status needs
a new approval.
If the connected Google Ads identity opens a manager account, daoco reads its
account hierarchy before any write. The manager customer ID is used only as
the login context. Campaigns and their budgets are created in an enabled,
non-manager client account. daoco selects the client automatically when there
is exactly one eligible account and asks you to choose when several are
available.
This integration does not remove campaigns, create Search campaigns, configure
campaign targeting, manage billing or conversions, apply recommendations, or
perform unrestricted bulk mutations.
# Connect Google Analytics
Source: https://docs.daoco.org/connections/mcp/google-analytics
Connect Google's hosted Analytics MCP endpoint with one-click read-only OAuth.
Google Analytics is available to every workspace under **Connections** -> **Integrations** -> **Analytics & Search**. Google hosts the MCP endpoint and daoco manages the OAuth app, so you never enter client IDs, secrets, endpoints, or scopes.
## Connect Google Analytics
Open **Connections** -> **Integrations** -> **Analytics & Search** and choose **Google Analytics**.
Choose **Connect**. A Google authorization window opens immediately.
Choose a Google user with access to the Analytics properties you need and approve `analytics.readonly`.
Ask the agent which Analytics properties it can see, then ask for a report from one of them.
Google's hosted Analytics MCP endpoint is read-only. It cannot modify properties, events, audiences, or account settings.
## Finding the right property
GA4 identifies a property by a resource name like `properties/123456789`, which cannot be guessed from a domain. The agent lists the properties your connected account can read before it builds any report, so you can ask for a report by name ("how did the marketing site do last month") rather than by id.
If you ask what it can show you, it reads the property's own dimension and metric vocabulary, including any custom fields you have defined, so the reports it offers are ones that property will actually accept.
## What you can ask for
* "What's working on my site?" returns landing pages by qualified traffic and engagement.
* "Where's my biggest conversion leak?"
* "How many people are on the site right now?" returns the realtime report, covering roughly the last 30 minutes.
Ask for anything else about a date range and the agent builds the report from the property's real fields.
## Alongside Search Console
Analytics and [Search Console](/connections/mcp/google-search-console) answer different halves of the same question: Search Console covers what happens in Google's results, Analytics covers what happens after the click. Connecting both lets an SEO report say that a page ranks, that people click it, and that the session went nowhere, which is a content problem rather than an SEO one.
The two will not report the same numbers, because a search impression is not a session. daoco reports both rather than reconciling them.
## Disconnecting
Disconnecting removes the agent's access immediately. The Analytics tools stop being offered in chat, and any automation that depended on them stops pulling traffic data.
# Connect Google Calendar
Source: https://docs.daoco.org/connections/mcp/google-calendar
Connect one Google user's Calendar data through Google's hosted integration endpoint.
Google Calendar is a **Dev Testing** integration. Use it when one signed-in Google user should grant daoco access to calendar lists, free/busy data, and read-only event data during provider approval or testing. Google hosts the [MCP](/connections/integrations#what-is-mcp) endpoint for this connection.
## Connect Google Calendar
A workspace owner or admin must enable **Dev Testing** integrations in **Settings** -> **Preview features**.
Open **Connections** -> **Integrations** -> **Dev Testing** and choose **Google Calendar**.
Choose **Connect**, sign in with the Google account whose calendars daoco may inspect, and approve the Calendar scopes.
Confirm the row is healthy, then run a minimal read-only [`/integration`](/connections/integrations#what-is-mcp) proof such as listing calendars. Do not list event details, calendar IDs, attendees, or times as a proof step.
## Workspace restrictions
If the Google account belongs to a restricted Workspace, ask the admin to trust the daoco OAuth app or allow these scopes:
```text theme={null}
https://www.googleapis.com/auth/calendar.calendarlist.readonly
https://www.googleapis.com/auth/calendar.events.freebusy
https://www.googleapis.com/auth/calendar.events.readonly
```
This guide remains available for testing, but Google Calendar is not part of the normal Mail & Calendar production category.
# Connect Google Drive Individual
Source: https://docs.daoco.org/connections/mcp/google-drive-individual
Connect one Google user's Drive files through Google's hosted integration endpoint.
Google Drive Individual is a **Dev Testing** integration. Use it when one signed-in Google user should grant daoco access only to Drive files available to that user during provider approval or testing. Google hosts the [MCP](/connections/integrations#what-is-mcp) endpoint for this connection.
## Connect Google Drive Individual
A workspace owner or admin must enable **Dev Testing** integrations in **Settings** -> **Preview features**.
Open **Connections** -> **Integrations** -> **Dev Testing** and choose **Google Drive Individual**.
Choose **Connect**, sign in with the Google user, and approve the Drive read, file, and Google Docs scopes.
Confirm the row is healthy, then run a minimal read-only [`/integration`](/connections/integrations#what-is-mcp) proof. Do not prove access by showing file contents, file IDs, private names, or folder details.
## What the connection can do
The assistant can search, read, and download files, create new files (text content is converted to a Google Doc by default), copy files, and edit an existing Google Doc in place by appending paragraphs or replacing exact text. Creates, copies, and edits wait for your approval in chat. In-place editing needs the Google Docs scope: connections made before it was added keep working for reads, and the assistant will ask you to reconnect Google Drive before its first edit.
## Workspace restrictions
If the Google account belongs to a restricted Workspace, a Google Workspace admin may need to trust the daoco OAuth app or allow these scopes:
```text theme={null}
https://www.googleapis.com/auth/drive.readonly
https://www.googleapis.com/auth/drive.file
https://www.googleapis.com/auth/documents
```
daoco Google OAuth client ID:
```text theme={null}
96740286304-9cfdidtfpagihnu2i2dmkk9is3ann2mr.apps.googleusercontent.com
```
This guide remains available for testing, but Google Drive Individual is not part of the normal Files & Docs production category.
# Connect Google Drive Workspace
Source: https://docs.daoco.org/connections/mcp/google-drive-workspace
Connect admin-approved shared drives and folders through daoco's Google Workspace integration gateway.
Google Drive Workspace is a **Conditional** Files & Docs integration. Use it when a Google Workspace super admin wants to authorize daoco for approved shared drives or folders. daoco connects through a Google Workspace [MCP](/connections/integrations#what-is-mcp) gateway after admin approval.
## Connect Google Drive Workspace
In daoco, open **Connections** -> **Integrations** -> **Files & Docs** and choose **Google Drive Workspace**.
Copy the client ID shown in daoco. daoco's Workspace domain-wide delegation client ID is:
```text theme={null}
101332151355781817835
```
A Google Workspace super admin opens **Security** -> **Access and data control** -> **API controls** -> **Manage Domain Wide Delegation**, adds the client ID, and authorizes this scope:
```text theme={null}
https://www.googleapis.com/auth/drive
```
Paste the Workspace domain, delegated user email, and approved shared drive or folder URLs/IDs. The delegated user must be able to open each root.
Choose **Save request** after admin approval is complete.
## Boundary rules
Use exact shared drive or folder URLs/IDs. Do not use `My Drive`, Workspace domains, wildcards, display names, or Drive search URLs. The base Drive scope is constrained by the approved roots, the delegated user's Drive permissions, and daoco's approval gate.
daoco v1 does not support share, delete, or permission-edit actions for this connection.
# Connect Google Search Console
Source: https://docs.daoco.org/connections/mcp/google-search-console
Read what your site actually earns in Google Search: clicks, impressions, and position by query and page, with read-only OAuth.
Search Console sits in the **Dev Testing** category because Google is still reviewing our request for the Search Console read scope. A workspace owner or admin turns that category on under **Settings** -> **Preview features** -> **Dev Testing integrations**, and Search Console then appears under **Connections** -> **Integrations** -> **Dev Testing**. Until Google approves the scope, authorization can be limited to accounts we have added to the review, so contact us if the Google screen refuses the request.
Connecting it changes what the SEO agent can say. Without it, an audit can tell you a page's title is too long. With it, the audit can tell you that page has 4,000 impressions at 0.9% click-through and rank the fix by the traffic actually at stake.
## What daoco can read
* **Search performance.** Clicks, impressions, click-through rate, and average position, broken down by search query, page, country, device, or date.
* **Verified properties.** The sites the connected Google account is verified on.
* **Sitemap status.** What you submitted, when Google last downloaded it, and any errors or warnings.
* **Index coverage for a URL.** Whether Google has indexed a page, why not if it hasn't, and whether Google chose a different canonical than the page declares.
The connection is read-only. daoco cannot submit or remove sitemaps, request indexing, change property settings, or add and remove users.
## Before you start
The Google account you connect must already be **verified on the Search Console properties you want to read**. daoco cannot verify a property for you. Search Console requires you to prove site ownership through Google directly. If you connect an account with no verified properties, the connection succeeds and returns an empty property list.
## Connect Search Console
A workspace owner or admin opens **Settings** -> **Preview features** and enables **Dev Testing integrations**.
Open **Connections** -> **Integrations** -> **Dev Testing** and choose **Google Search Console**.
Choose **Connect**. A Google authorization window opens.
Sign in with a Google account that is verified on the properties you want, and approve read-only Search Console access.
Ask the agent which Search Console properties it can see. It should list them by their exact property name.
## Domain properties and URL-prefix properties
Search Console keys a property one of two ways, and they are different resources:
* **Domain property** (`sc-domain:example.com`) covers every subdomain and both `http` and `https`.
* **URL-prefix property** (`https://example.com/`) covers only that exact prefix.
The agent uses whichever name Search Console returned. If a report looks like it is missing traffic, check which of the two you verified. A URL-prefix property will not show data for a subdomain.
## Data is about three days behind
Search Console settles its data on a delay, so the last few days of any range are incomplete. daoco ends its default reporting windows where the data actually ends and says so in the report, specifically so a partial final day is not read as a traffic collapse. If you ask for a range ending today, expect the last entries to be low.
## What you can ask for
* "Which queries am I close to ranking for?"
* "Find pages Google isn't indexing and tell me why."
* "Run an SEO analysis on my site". The audit uses search performance to rank its recommendations once this is connected.
* "How did organic search do last month compared to the month before?"
## Disconnecting
Disconnecting removes the agent's access immediately: the Search Console tools stop being offered in chat, and any automation that depended on them stops pulling search data. Audits you already ran keep their history; they just stop refreshing.
# Connect Higgsfield
Source: https://docs.daoco.org/connections/mcp/higgsfield
Connect Higgsfield for cinematic image, video, clip, character, and creation-history workflows.
Higgsfield is an **Available** Work & Knowledge integration. It uses Higgsfield OAuth and the provider's official [MCP](/connections/integrations#what-is-mcp) server.
## Connect Higgsfield
In daoco, open **Connections** → **Integrations** → **Work & Knowledge** and choose **Higgsfield**.
Choose **Connect**, sign in with the Higgsfield account daoco should use, and approve the connection.
Ask [`/integration`](/connections/integrations#what-is-mcp) to list recent generations or analyze a reference before starting a new image, video, clip, or character task.
Higgsfield's [MCP overview](https://higgsfield.ai/mcp) describes image and video generation, video analysis, character training, clipping, virality scoring, and generation-history access. Available models, output limits, processing time, and credit cost are controlled by Higgsfield and can vary by plan.
Generations use the connected Higgsfield account's credits. Review the requested model, format, quantity, and expected credit use before approving a generation.
# Connect HubSpot
Source: https://docs.daoco.org/connections/mcp/hubspot
Connect HubSpot CRM and marketing data as a daoco integration.
HubSpot is an **Available** CRM & Sales integration. It uses provider OAuth, and some deployments require HubSpot [MCP](/connections/integrations#what-is-mcp) Auth App setup before users can connect.
## Connect HubSpot
In daoco, open **Connections** -> **Integrations** -> **CRM & Sales** and choose **HubSpot**.
If daoco asks for OAuth setup, add the callback URI shown in daoco to the HubSpot [MCP](/connections/integrations#what-is-mcp) Auth App and save the client ID and secret.
Choose **Connect**, sign in to HubSpot, and approve access with a user whose HubSpot permissions match the records daoco may inspect.
Start with read-only CRM or marketing object summaries before approving record updates.
# Connect Klaviyo
Source: https://docs.daoco.org/connections/mcp/klaviyo
Connect Klaviyo so daoco can inspect email marketing and campaign data as a daoco integration.
Klaviyo is an **Available** Mail & Calendar integration. It uses provider OAuth.
## Connect Klaviyo
In daoco, open **Connections** -> **Integrations** -> **Mail & Calendar** and choose **Klaviyo**.
If the card says setup is required, finish the OAuth/integration host configuration shown on the card before connecting.
Choose **Connect**, sign in to Klaviyo, and approve access for the account daoco should inspect.
Ask [`/integration`](/connections/integrations#what-is-mcp) for a read-only account or campaign summary before using Klaviyo data in a workflow.
# Connect Linear
Source: https://docs.daoco.org/connections/mcp/linear
Connect Linear issues, projects, and teams as a daoco integration.
Linear is an **Available** Work & Knowledge integration. It uses provider OAuth through Linear's [MCP](/connections/integrations#what-is-mcp) server.
## Connect Linear
In daoco, open **Connections** -> **Integrations** -> **Work & Knowledge** and choose **Linear**.
Choose **Connect**, sign in to Linear, and approve the requested workspace access.
Return to daoco and confirm the Linear workspace is connected.
Ask [`/integration`](/connections/integrations#what-is-mcp) for issue, project, or team summaries before approving changes.
# Connect LinkedIn Ads
Source: https://docs.daoco.org/connections/mcp/linkedin-ads
Connect LinkedIn Ads through daoco's approval-gated Marketing API MCP service and one-click OAuth.
LinkedIn Ads is a **Dev Testing** and **Conditional** integration. daoco manages the LinkedIn developer app and MCP service. Workspace users do not enter client IDs, secrets, endpoints, or scopes.
## Connect LinkedIn Ads
A workspace owner or admin must enable **Dev Testing** integrations in **Settings** -> **Preview features**.
Open **Connections** -> **Integrations** -> **Dev Testing** and choose **LinkedIn Ads**.
Choose **Connect**. A LinkedIn authorization window opens immediately; there is no workspace configuration form.
Sign in with a LinkedIn member who can access the required ad accounts and approve `rw_ads` and `r_ads_reporting`.
Ask [`/integration`](/connections/integrations#what-is-mcp) for accessible ad accounts, campaigns, or performance over a date range.
The Connect button remains unavailable until LinkedIn approves daoco's Advertising API product request. Campaign-group, campaign, and creative writes require human approval. Conversion and matched-audience modules remain subject to separate LinkedIn access and rollout gates.
# Connect Meta Ads
Source: https://docs.daoco.org/connections/mcp/meta-ads
Connect Meta's official hosted Ads MCP server with one-click OAuth.
Meta Ads is a **Dev Testing** integration. Meta hosts the [Ads MCP server](https://www.facebook.com/business/help/1456422242197840) and OAuth flow. daoco supplies its fixed Meta App ID for this custom-platform connection, so workspace users do not enter client IDs, secrets, endpoints, or scopes.
Before **Connect** is enabled, a daoco operator must add Meta's **Create & manage ads with ads MCP server** use case to the existing daoco Meta app, register the tenant MCP callback in Facebook Login for Business, and configure that app as `FACEBOOK_CLIENT_ID`. Meta Ads intentionally shares this app identity with daoco's existing Meta integrations; a separate `MCP_META_ADS_CLIENT_ID` is not used. Meta's hosted MCP does not require the app secret.
## Connect Meta Ads
A workspace owner or admin must enable **Dev Testing** integrations in **Settings** -> **Preview features**.
In daoco, open **Connections** -> **Integrations** -> **Dev Testing** and choose **Meta Ads**.
Choose **Connect**. A Meta authorization window opens immediately; there is no workspace configuration form.
Sign in with a Meta user who can access the Business or ad account and approve the permissions requested by Meta's hosted server.
Ask [`/integration`](/connections/integrations#what-is-mcp) for an ad-account list, campaign list, or performance report before requesting an approved write.
Meta's hosted server includes write tools. daoco requires approval for consequential changes, and Meta separately enforces the AI-agent capability rules configured for each ad account and catalog. Some accounts may not have every tool yet.
# Connect monday.com
Source: https://docs.daoco.org/connections/mcp/monday
Connect monday.com boards, items, and workflows as a daoco integration.
monday.com is an **Available** Work & Knowledge integration. Use it when daoco should inspect or update monday.com boards, items, columns, projects, automations, or workspace data from chat.
## Connect monday.com
In daoco, open **Connections** -> **Integrations** -> **Work & Knowledge** and choose **monday.com**.
Choose **Connect**, sign in to monday.com, and approve access for the workspace daoco should use.
Ask [`/integration`](/connections/integrations#what-is-mcp) for a read-only board, item, or project summary before approving updates.
Review proposed board, item, project, automation, and workspace changes before approving writes.
# Connect Notion
Source: https://docs.daoco.org/connections/mcp/notion
Connect Notion workspace pages and databases as a daoco integration.
Notion is an **Available** Work & Knowledge integration. It uses provider OAuth through Notion's [MCP](/connections/integrations#what-is-mcp) server.
## Connect Notion
In daoco, open **Connections** -> **Integrations** -> **Work & Knowledge** and choose **Notion**.
Choose **Connect**, sign in to Notion, and choose the pages or workspace access Notion asks you to share with daoco.
Ask [`/integration`](/connections/integrations#what-is-mcp) to list accessible Notion resources before requesting page or database edits.
# Connect Outlook Workspace
Source: https://docs.daoco.org/connections/mcp/outlook-workspace
Connect admin-approved Microsoft 365 mailboxes through daoco's Outlook Workspace integration gateway.
Outlook Workspace is a **Conditional** Mail & Calendar integration. Use it when a Microsoft 365 admin wants to authorize daoco for approved company mailboxes. daoco connects through an Outlook Workspace [MCP](/connections/integrations#what-is-mcp) gateway after admin approval.
## Connect Outlook Workspace
In daoco, open **Connections** -> **Integrations** -> **Mail & Calendar** and choose **Outlook Workspace**.
Paste the Microsoft tenant domain or tenant ID, such as `acme.onmicrosoft.com` or the Entra tenant GUID.
A Microsoft Entra admin grants tenant-wide consent for the daoco application. See [Permissions and admin consent](#permissions-and-admin-consent) below.
Paste exact mailbox addresses daoco may use, such as `marketing@acme.com` or `support@acme.com`.
After admin consent is complete, choose **Connect**.
## Permissions and admin consent
daoco connects through a shared Microsoft Entra application. A Microsoft 365 admin must grant **tenant-wide admin consent** before daoco can access approved mailboxes.
daoco Microsoft 365 application client ID:
```text theme={null}
96751d00-c515-49a1-a1e4-5dd326653aa5
```
Requested Microsoft Graph application permission:
```text theme={null}
Mail.ReadWrite
```
daoco v1 can read approved mailboxes and create drafts. It does **not** request `Mail.Send`.
### Admin consent flow
An Entra admin can grant consent from the Microsoft Entra admin center, or by opening this URL after replacing `{tenant}` with the tenant domain or tenant GUID:
```text theme={null}
https://login.microsoftonline.com/{tenant}/adminconsent?client_id=96751d00-c515-49a1-a1e4-5dd326653aa5
```
Example for `contoso.onmicrosoft.com`:
```text theme={null}
https://login.microsoftonline.com/contoso.onmicrosoft.com/adminconsent?client_id=96751d00-c515-49a1-a1e4-5dd326653aa5
```
1. Copy the daoco Entra client ID from daoco if needed.
2. Have a Microsoft 365 / Entra admin grant tenant-wide consent for the daoco app.
3. Return to daoco, enter the tenant, set the mailbox boundary, and choose **Connect**.
For more detail on app-only Microsoft Graph access, see [Microsoft Graph app-only access](https://learn.microsoft.com/en-us/graph/auth-v2-service).
# Connect PostHog
Source: https://docs.daoco.org/connections/mcp/posthog
Connect PostHog analytics, feature flags, and product data as a daoco integration.
PostHog is an **Available** Work & Knowledge integration. Use it when daoco should inspect product analytics, events, funnels, feature flags, experiments, recordings, and related PostHog data from chat.
## Connect PostHog
In daoco, open **Connections** -> **Integrations** -> **Work & Knowledge** and choose **PostHog**.
Choose **Connect**, sign in to PostHog, and approve access for the project daoco should use.
Ask [`/integration`](/connections/integrations#what-is-mcp) for a read-only project, insight, event, or feature-flag summary before approving updates.
Review proposed feature flag, experiment, dashboard, insight, and project changes before approving writes.
# Connect Salesforce
Source: https://docs.daoco.org/connections/mcp/salesforce
Connect Salesforce as a daoco integration with an External Client App and OAuth.
Salesforce is an **Available** CRM & Sales integration. Use Salesforce-hosted [MCP](/connections/integrations#what-is-mcp) when a Salesforce admin has enabled a hosted MCP server and users should connect from daoco with OAuth.
## Connect Salesforce
In Salesforce Setup, enable the hosted [MCP](/connections/integrations#what-is-mcp) server you want to expose. Start with `platform/sobject-reads` while validating access because it is read-only.
In Salesforce **External Client App Manager**, create an External Client App for daoco. Include `mcp_api` and `refresh_token`, require PKCE, and use JWT-based access tokens for named users.
Add the callback URI shown in the daoco Salesforce card to the External Client App. If your deployment uses `MCP_TENANT_OAUTH_CALLBACK_URL`, use that exact value.
In daoco, open **Connections** -> **Integrations** -> **CRM & Sales** -> **Salesforce**. Paste the External Client App consumer key. Leave the client secret blank unless your Salesforce External Client App requires one.
Save and connect, then complete Salesforce OAuth with a user who can access the enabled hosted [MCP](/connections/integrations#what-is-mcp) server.
## Default endpoint
daoco defaults Salesforce to the production read-only SObject [MCP](/connections/integrations#what-is-mcp) server:
```text theme={null}
https://api.salesforce.com/platform/mcp/v1/platform/sobject-reads
```
For sandbox, scratch, or custom Salesforce-hosted [MCP](/connections/integrations#what-is-mcp) servers, configure the backend override values before users connect.
# Connect SharePoint Workspace
Source: https://docs.daoco.org/connections/mcp/sharepoint-workspace
Connect selected SharePoint and OneDrive resources through daoco's Microsoft 365 integration gateway.
SharePoint Workspace is a **Conditional** Files & Docs integration. Use it when a Microsoft 365 admin wants to authorize daoco for approved SharePoint sites, libraries, folders, files, or selected OneDrive resources. daoco connects through a Microsoft 365 [MCP](/connections/integrations#what-is-mcp) gateway after admin approval.
## Connect SharePoint Workspace
In daoco, open **Connections** -> **Integrations** -> **Files & Docs** and choose **SharePoint Workspace**.
Paste the Microsoft tenant domain or tenant ID.
A Microsoft Entra admin grants tenant-wide consent for the daoco application. See [Permissions and admin consent](#permissions-and-admin-consent) below.
A SharePoint admin must grant the daoco app access to each approved site, library, folder, or file.
Paste the approved site URLs, site IDs, file IDs, folder IDs, or folder URLs into **Access boundary**, then choose **Connect**.
## Permissions and admin consent
daoco connects through a shared Microsoft Entra application. A Microsoft 365 admin must grant **tenant-wide admin consent** before daoco can use selected SharePoint and OneDrive resources.
daoco Microsoft 365 application client ID:
```text theme={null}
96751d00-c515-49a1-a1e4-5dd326653aa5
```
Requested Microsoft Graph application permissions:
```text theme={null}
Sites.Selected
Files.SelectedOperations.Selected
```
Do not grant `Files.ReadWrite.All` for this setup. daoco v1 uses selected permissions instead of tenant-wide file access.
### Admin consent flow
An Entra admin can grant consent from the Microsoft Entra admin center, or by opening this URL after replacing `{tenant}` with the tenant domain or tenant GUID:
```text theme={null}
https://login.microsoftonline.com/{tenant}/adminconsent?client_id=96751d00-c515-49a1-a1e4-5dd326653aa5
```
Example for `contoso.onmicrosoft.com`:
```text theme={null}
https://login.microsoftonline.com/contoso.onmicrosoft.com/adminconsent?client_id=96751d00-c515-49a1-a1e4-5dd326653aa5
```
1. Copy the daoco Entra client ID from daoco if needed.
2. Have a Microsoft 365 / Entra admin grant tenant-wide consent for the daoco app.
3. Assign the daoco app access to each approved site, library, folder, or file in SharePoint / Entra.
4. Return to daoco, enter the tenant, paste the approved resources into **Access boundary**, and choose **Connect**.
For more detail on selected-resource access, see [Microsoft Graph selected permissions](https://learn.microsoft.com/en-us/graph/permissions-selected-overview).
# Connect Shopify Admin
Source: https://docs.daoco.org/connections/mcp/shopify-admin
Connect Shopify Admin so daoco can work with products, inventory, content, and store data as a daoco integration.
Shopify Admin is a **Legacy** Commerce & Website integration. It uses daoco's legacy Shopify [MCP](/connections/integrations#what-is-mcp) path while support is modernized.
You can start with the store handle, `*.myshopify.com` domain, Shopify Admin URL, or Shopify-hosted storefront domain; after OAuth, daoco stores Shopify's canonical `myshopify.com` Admin domain for the connection.
## Connect Shopify Admin
In daoco, open **Connections** -> **Integrations** -> **Commerce & Website** and choose **Shopify Admin**.
Enter the store domain or URL, for example `your-store.myshopify.com`, `your-store`, or the store's Shopify Admin URL.
Choose **Connect**, sign in as a Shopify admin for that store, and approve the requested Admin scopes.
Confirm the row is healthy, then ask [`/integration`](/connections/integrations#what-is-mcp) for a read-only store or catalog summary before approving edits.
## Review writes
Review proposed product, inventory, collection, content, file, discount, and SEO changes before approving them.
## Disconnecting
Disconnect from the connection card when you want daoco to stop reading and writing in the store.
Removing the daoco app from inside Shopify also removes the connection here. Shopify sends a redaction request when a store uninstalls an app, and daoco deletes the store's connection and its tool list in response. Reconnect from **Connections** if that was not what you intended.
# Connect Smartlead
Source: https://docs.daoco.org/connections/mcp/smartlead
Connect Smartlead campaigns, leads, deliverability, and sender health with an encrypted API key.
Smartlead is an **Available** Mail & Calendar integration. It uses Smartlead's official SSE [MCP](/connections/integrations#what-is-mcp) server and a Smartlead API key.
## Connect Smartlead
In Smartlead, open **Settings** → **API Keys**. Generate a key if you do not already have one, then copy it. Treat the key like a password.
In daoco, open **Connections** → **Integrations** → **Mail & Calendar** and choose **Smartlead**.
Paste the API key, add an optional connection label, and choose **Connect**. daoco encrypts the key before storage and verifies that the provider tools are available.
Ask [`/integration`](/connections/integrations#what-is-mcp) for a campaign status, deliverability check, sender-health summary, or lead lookup before requesting an approved change.
Do not paste the API key into brand chat or a shared document. Rotate the key in Smartlead and reconnect if it may have been exposed.
Smartlead documents campaign insights, deliverability diagnostics, lead data, sender data, and performance data in its [MCP setup guide](https://helpcenter.smartlead.ai/en/articles/300-smartlead-mcp-server). Provider usage limits still depend on the connected Smartlead plan.
# Connect Sprout Social
Source: https://docs.daoco.org/connections/mcp/sprout-social
Connect an eligible Sprout Social account to daoco with its own OAuth client.
Sprout Social is a **Conditional**, read-only CRM & Sales integration. It uses Sprout-hosted OAuth and [MCP](/connections/integrations#what-is-mcp) to analyze connected TikTok post performance and published insights.
Each customer workspace needs a Sprout OAuth client created from an eligible
Sprout account. daoco keeps every workspace's client secret and OAuth tokens
separate.
## Connect a customer workspace
You need a Sprout administrator who can access **Global Features > API**. Confirm that the customer's use complies with their Sprout API agreement.
In Sprout, open **Settings > Global Features > API**. Accept the Analytics API terms if prompted, then open **OAuth Client Management**.
Choose **Generate configuration** and select **User-based authentication**.
Copy the exact **OAuth redirect URI** shown on the Sprout Social setup card in daoco and add it to the client's allowed redirect URIs.
In daoco, open **Connections > Integrations > CRM & Sales > Sprout Social**. Paste the customer's client ID and client secret. The endpoint and scopes are already filled in.
Choose **Save and connect**, then sign in to the customer's Sprout account and approve access.
The setup card reads the callback URI resolved by the daoco backend for the active deployment. By default it uses that deployment's Convex HTTP endpoint. If `MCP_TENANT_OAUTH_CALLBACK_URL` is configured, the card displays that exact override instead.
daoco preconfigures these values, so customers do not need to enter them:
```text theme={null}
Endpoint: https://mcp.sproutsocial.com/mcp
Scopes: openid profile organization_id
```
If Sprout explicitly approves a multi-tenant OAuth client for daoco, set
`MCP_SPROUT_SOCIAL_CLIENT_ID` and `MCP_SPROUT_SOCIAL_CLIENT_SECRET` in the
Convex deployment environment. Customers will then see a one-click OAuth
connection instead of the credential form. Do not use this model without
confirmation from Sprout.
If **Global Features > API** is missing, ask a Sprout account administrator to confirm your plan, role, and API access. Do not paste the OAuth client secret into chat, tickets, or customer-facing documentation.
See Sprout's [API setup documentation](https://api.sproutsocial.com/docs/) and [hosted MCP connection overview](https://support.sproutsocial.com/hc/en-us/articles/41236268336653-ChatGPT-Connection-Overview-and-Setup) for provider requirements.
# Connect Square
Source: https://docs.daoco.org/connections/mcp/square
Connect Square so daoco can inspect and manage merchant data as a daoco integration.
Square is an **Available** Commerce & Website integration. It uses provider OAuth through Square's hosted integration server.
## Connect Square
In daoco, open **Connections** -> **Integrations** -> **Commerce & Website** and choose **Square**.
Choose **Connect**, sign in to Square, and approve merchant profile, catalog, order, and customer permissions.
Return to daoco and confirm the Square connection is healthy.
Ask [`/integration`](/connections/integrations#what-is-mcp) for a read-only catalog or merchant summary before approving catalog, order, or customer writes.
# Connect Stripe
Source: https://docs.daoco.org/connections/mcp/stripe
Connect Stripe billing and payment data as a daoco integration.
Stripe is a **Preview** Commerce & Website integration. Use it when daoco should inspect Stripe customers, products, prices, invoices, subscriptions, and payment data from chat.
## Connect Stripe
In daoco, open **Connections** -> **Integrations** -> **Commerce & Website** and choose **Stripe**.
Choose **Connect**, sign in to Stripe, and approve access for the account daoco should use.
Ask [`/integration`](/connections/integrations#what-is-mcp) for a read-only account, product, or subscription summary before approving billing changes.
Review any proposed customer, invoice, subscription, product, or payment changes carefully before approving writes.
# Connect TikTok Ads
Source: https://docs.daoco.org/connections/mcp/tiktok-ads
Connect directly to TikTok for Business's hosted MCP server with one-click OAuth.
TikTok Ads is a **Dev Testing** integration. TikTok hosts both the MCP server and OAuth flow, so no daoco developer app, API key, client secret, or workspace configuration form is required.
## Connect TikTok Ads
A workspace owner or admin must enable **Dev Testing** integrations in **Settings** -> **Preview features**.
Open **Connections** -> **Integrations** -> **Dev Testing** and choose **TikTok Ads**.
Choose **Connect**. TikTok for Business opens its authorization flow immediately.
Sign in with a TikTok for Business account, review the requested access, and choose **Authorize**.
Ask [`/integration`](/connections/integrations#what-is-mcp) to list ad accounts or report campaign performance before requesting a write.
TikTok says the hosted server is public to all TikTok for Business users and does not require a separate provider application. Authorization lasts 30 days, after which daoco will ask you to reconnect.
TikTok exposes campaign, audience, catalog, creative, and Business Center write tools. daoco applies provider-write approval controls before consequential changes.
# Connect Webflow
Source: https://docs.daoco.org/connections/mcp/webflow
Connect Webflow sites, CMS content, and assets as a daoco integration.
Webflow is an **Available** Commerce & Website integration. Use it when daoco should inspect or update Webflow sites, CMS items, assets, and site data through Webflow's [MCP](/connections/integrations#what-is-mcp) support.
## Connect Webflow
In daoco, open **Connections** -> **Integrations** -> **Commerce & Website** and choose **Webflow**.
Choose **Connect**, sign in to Webflow, and approve the site or workspace access Webflow requests.
Ask [`/integration`](/connections/integrations#what-is-mcp) for a read-only site, CMS collection, or page summary before approving content updates.
Review proposed CMS, page, asset, and site changes before approving writes.
# Connect Wix
Source: https://docs.daoco.org/connections/mcp/wix
Connect Wix sites and business data as a daoco integration.
Wix is an **Available** Commerce & Website integration. Use it when daoco should inspect or update Wix site, store, booking, contact, or content data from chat.
## Connect Wix
In daoco, open **Connections** -> **Integrations** -> **Commerce & Website** and choose **Wix**.
Choose **Connect**, sign in to Wix, and approve access for the site or account daoco should use.
Ask [`/integration`](/connections/integrations#what-is-mcp) for a read-only site or catalog summary before approving site, store, booking, or contact changes.
Review proposed site, store, booking, contact, and content changes before approving writes.
# Connect WordPress
Source: https://docs.daoco.org/connections/mcp/wordpress
Connect WordPress.com so daoco can work with site, page, post, and media data as a daoco integration.
WordPress is an **Available** Commerce & Website integration. It uses provider OAuth through WordPress.com's hosted [MCP](/connections/integrations#what-is-mcp) endpoint.
## Connect WordPress
In daoco, open **Connections** -> **Integrations** -> **Commerce & Website** and choose **WordPress**.
Choose **Connect**, sign in to WordPress.com, and approve access to the site daoco should manage.
Return to daoco and confirm the WordPress connection is healthy.
Ask [`/integration`](/connections/integrations#what-is-mcp) to inspect pages or posts before approving page, post, media, or settings changes.
# Connect Bluesky
Source: https://docs.daoco.org/connections/social/bluesky
Connect Bluesky with a dedicated app password.
Bluesky does not use the same OAuth popup flow as most social platforms in daoco. You connect with a Bluesky app password.
## Connect Bluesky
In Bluesky, open **Settings** -> **App passwords** and create a dedicated app password for daoco. Do not use your main Bluesky password.
In daoco, open **Connections**, choose **Add Account**, and select **Bluesky**.
Paste your handle or DID and the app password. Add a custom service URL only if you use a self-hosted PDS.
Choose **Connect** and confirm the Bluesky handle appears in the connected accounts list.
## Notes
* daoco does not store the app password itself. It stores the session tokens Bluesky returns.
* If the app password is revoked in Bluesky, reconnect the account with a new app password.
# Connect Facebook
Source: https://docs.daoco.org/connections/social/facebook
Connect a Facebook Page for daoco publishing and insights workflows.
Use a Facebook account that can manage the Page daoco should publish to.
## Connect Facebook
Sign in to Facebook with an account that can manage the target Page.
In daoco, open **Connections**, choose **Add Account**, and select **Facebook**.
Complete Facebook OAuth and allow daoco to list Pages, read engagement, manage posts, and read insights for approved Pages.
Return to daoco and confirm the intended Facebook Page appears in the connected accounts list.
## Publish a story
A Facebook draft can publish as a Page story instead of a feed post. Set **Publish as** to **Story** on the draft, or ask brand chat for a Facebook story. A story is one image or one video, vertical 9:16, video 60 seconds or shorter, and it publishes no caption. See [Create posts](/core-workflows/create-posts#post-formats).
## Troubleshoot
* If the wrong Page appears, reconnect with an account that manages the intended Page.
* If no Page appears, confirm the signed-in Facebook user has the right Page permissions in Meta Business settings.
# Connect Instagram
Source: https://docs.daoco.org/connections/social/instagram
Connect an Instagram Business or Creator account for daoco publishing workflows.
Instagram connections use the Instagram Business API. Personal Instagram Basic Display accounts are not supported.
## Connect Instagram
Make sure the Instagram profile is a Business or Creator account.
In daoco, open **Connections**, choose **Add Account**, and select **Instagram**.
Sign in with the Instagram or Meta account that controls the Business or Creator profile and approve the requested publishing permissions.
Return to daoco and confirm the Instagram username appears in the connected accounts list.
## Publish a story
An Instagram draft can publish as a story instead of a feed post. Set **Publish as** to **Story** on the draft, or ask brand chat for an Instagram story. A story is one image or one video, vertical 9:16, video 60 seconds or shorter, and it publishes no caption. See [Create posts](/core-workflows/create-posts#post-formats).
## Troubleshoot
* If the wrong profile connects, disconnect it and reconnect with the Meta account that manages the correct Instagram profile.
* If the profile does not appear, confirm the Instagram account is attached to a Meta asset the signed-in user can manage.
# Connect LinkedIn
Source: https://docs.daoco.org/connections/social/linkedin
Connect a LinkedIn profile or Page for professional publishing workflows and browser-backed LinkedIn tasks.
LinkedIn supports profile and company Page connection flows. Choose the flow that matches where daoco should publish.
## Connect LinkedIn
In daoco, open **Connections**, choose **Add Account**, and select **LinkedIn**.
Select the LinkedIn profile flow for member posting, or the Page flow when daoco should publish for a company Page.
Sign in to LinkedIn and approve the requested profile, posting, and Page permissions for the flow you chose.
Return to daoco and confirm the connected LinkedIn profile or Page appears in the connected accounts list.
## LinkedIn OAuth vs browser session
LinkedIn uses two layers of access:
| Layer | What it enables |
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| **OAuth connection** | Publishing, analytics, and API-backed workflows daoco can run through LinkedIn's official connection. |
| **Browser session** | Secure browser-backed tasks on LinkedIn's website, such as comment replies and UI inspection that need an authenticated browser profile. |
OAuth alone is not always enough for browser-backed LinkedIn work. When daoco needs the browser layer, it prompts you in chat with a browser auth card. The same layer supports selected UI tasks on other social platforms; see [Browser automation](/connections/browser-automation).
## Complete browser auth from chat
When brand chat needs a LinkedIn browser session:
On the LinkedIn browser auth card, choose to open the secure browser session. Allow popups for daoco if your browser blocks the window.
Complete LinkedIn login or verification in the secure browser window.
Return to the card and confirm when login is complete. daoco verifies the session and resumes the original request.
If enrollment is still in progress, daoco can poll the session and complete auth when LinkedIn reports success.
## Manage the browser session from Connections
On the connected LinkedIn row in **Connections**, open the **Browser session** menu to:
* See whether a browser session is active, pending, or not linked.
* Review when the session was last used.
* **Clear browser session** without disconnecting OAuth.
Clearing the browser session removes the saved browser profile for that connection. OAuth stays connected, but daoco will ask you to complete browser auth again before the next browser-backed LinkedIn task.
## After connecting
* Reconnect OAuth if LinkedIn reports a missing refresh token, expired token, or revoked access. daoco also refreshes LinkedIn tokens before scheduled and immediate publishes when possible, so healthy connections stay publish-ready longer.
* Review the LinkedIn preview before publishing because profile and Page posts can have different requirements.
* For comment replies and other UI tasks, confirm the browser session shows **Browser session active** or complete auth when chat prompts you.
# Connect Pinterest
Source: https://docs.daoco.org/connections/social/pinterest
Connect a Pinterest account and publish image Pins from daoco.
Pinterest is available to every workspace. Support is focused on image Pin workflows.
## Connect Pinterest
Open **Connections**, choose **Add Account**, and select **Pinterest**.
Sign in to Pinterest and approve account, board, and Pin permissions.
Return to daoco and confirm the Pinterest account appears in the connected accounts list.
## Create an image Pin
Open **Manual post** or use `/post` in brand chat.
Select the connected Pinterest account and provide image media.
Check the Pin preview, media, title, destination link, board, and any warnings before approval.
Approve the final action only after the image Pin details are correct.
## Limits
* Pinterest publishing covers image Pins. Video Pins and idea Pins are not supported.
* Provider review, account configuration, or API behavior may add extra requirements at publish time.
See [Platform support and limitations](/preview-features/platform-support-and-limitations) before major launches.
# Reddit
Source: https://docs.daoco.org/connections/social/reddit
Use Reddit research, drafting, and hand-off publishing in daoco without connecting a Reddit account.
You do not connect a Reddit account to daoco. daoco researches Reddit, drafts posts and replies, and gives you pre-filled Reddit links. You post from your own logged-in Reddit account, then tell daoco where the post landed so it can track replies.
## Get started
Ask daoco in brand chat to find subreddits, threads, or brand mentions. There is no connection card or OAuth step.
## What works today
* Discover subreddits with fit scores and notes about community rules.
* Keep a target list that guides discovery and scheduled sweeps.
* Find recent threads worth replying to, with a suggested angle and draft.
* Run a daily brand-mention sweep and draft replies to relevant mentions.
* Turn top-performing posts from other platforms into Reddit drafts.
* Register a live Reddit thread with **Mark as posted**. Reply sweeps begin when Reddit data access is enabled.
See [Reddit research and engagement](/core-workflows/reddit-research) for the full workflow guide.
## What stays manual
Publishing is always a hand-off. When a draft is ready, **Copy reply & open Reddit** or **Open on Reddit** opens the target thread or a pre-filled Reddit submit page. You review, post from your own Reddit account, then choose **Mark as posted** and paste the live Reddit link so daoco can record the delivery and register the thread for reply tracking.
daoco never posts to Reddit on your behalf, and there is no scheduled auto-publish to Reddit. Post from your own account so you can check the destination and each subreddit's rules.
## Pending Reddit API access
Reddit post metrics (score, comments, upvote ratio) require Reddit Data API access, which is pending Reddit's approval. Until then:
* Post analytics for Reddit show as coming soon.
* Thread state (locked or archived) is estimated from open-web research rather than confirmed.
Marked posts are registered for reply tracking immediately. Reply sweeps start when access is granted, and you do not need to mark the posts again.
# Connect Threads
Source: https://docs.daoco.org/connections/social/threads
Connect a Threads account for text and media publishing workflows.
Use Threads when daoco should publish to a Threads profile.
## Connect Threads
In daoco, open **Connections**, choose **Add Account**, and select **Threads**.
Sign in with the Threads account and approve basic profile and content publishing access.
Return to daoco and confirm the Threads username appears in the connected accounts list.
Check the Threads preview before publishing because media and text limits can differ from Instagram or X.
## After connecting
* Reconnect if Threads revokes access or the token expires.
* Review final captions and media in the Threads preview before publishing.
# Connect TikTok
Source: https://docs.daoco.org/connections/social/tiktok
Connect a TikTok account for short-form video publishing workflows.
Use TikTok when daoco should create or schedule TikTok video posts.
## Connect TikTok
In daoco, open **Connections**, choose **Add Account**, and select **TikTok**.
Sign in to TikTok and approve profile, video list, upload, and publish access.
Return to daoco and confirm the TikTok profile appears in the connected accounts list.
Before publishing, check TikTok media format, caption, and account settings in the post preview.
## After connecting
* Use TikTok-ready video media before scheduling.
* Reconnect if TikTok revokes access or asks for fresh approval.
# Connect X
Source: https://docs.daoco.org/connections/social/x
Connect an X account so daoco can publish posts and upload media.
Use **X (Twitter)** when daoco should publish posts, upload media, or use connected account data for X workflows.
## Connect X
In daoco, open **Connections** from the manage sidebar and choose **Add Account**.
Select **X (Twitter)** from the social account list.
Sign in to the X account daoco should use and approve posting, media, profile, and offline access permissions.
Return to daoco and confirm the X handle appears in the connected accounts list.
## After connecting
* Create or schedule X posts from **Manual post** or brand chat.
* Reconnect the account if the token expires, the account is revoked, or X asks for fresh approval.
* Review the X preview before publishing because media and text limits can differ from other platforms.
# Connect YouTube
Source: https://docs.daoco.org/connections/social/youtube
Connect a YouTube channel for video publishing workflows.
Use YouTube when daoco should upload or schedule video content for a connected channel.
## Connect YouTube
In daoco, open **Connections**, choose **Add Account**, and select **YouTube**.
Sign in with the Google account that owns or can manage the YouTube channel.
Approve YouTube read and upload permissions. If Google asks you to pick a channel, choose the channel daoco should use.
Return to daoco and confirm the YouTube channel appears in the connected accounts list.
## After connecting
* Use YouTube-ready video assets before scheduling.
* Reconnect if Google revokes the grant, the token expires, or channel access changes.
# AI visibility
Source: https://docs.daoco.org/core-workflows/ai-visibility
Ask the answer engines what your customers ask, and measure whether they mention and cite you.
Search increasingly happens inside an answer, not a results page. AI visibility measures the part of that you can actually observe: for the questions your customers ask, do the answer engines name your brand, and do they read your pages?
## How it works
1. **Questions.** daoco writes a dozen or so customer-style questions from your brand context: your audience, the problems you solve, your category, and your competitors. Most of them do not name your brand, because a question that names you only proves you can be looked up.
2. **A run.** Each question goes to every answer engine daoco can reach, and the answers are parsed for your brand, your cited pages, your position among the brands named, and which competitors appeared.
3. **A scorecard.** Rates per engine, the per-question grid, competitor movement since your last run, and the fixes the results support.
## Where it lives
Open **Home**, choose **Website**, and open the **AI visibility** tab. That is the durable home for this work and it survives refreshes and new chats.
The hero band shows your mention rate, how often your own site was cited, and how many questions at least one engine named you in, with a chip for each engine. **Check my AI visibility** runs it the first time and **Check again** afterwards. **Automate** sets up the recurring watch.
The **Questions asked** card is where you manage the question set: type a question and choose **Add**, or hover a question and remove it. Removing a question stops asking it and keeps its history. Hover a question to see what each engine said and which sites the answers were sourced from. Edits apply on the next run.
A chat run also opens an **AI visibility** panel with the same scorecard.
## Ask for it in chat
```text theme={null}
Do AI assistants recommend us?
```
```text theme={null}
Write the questions our customers would ask an AI, then check whether we show up.
```
```text theme={null}
Re-run the AI visibility check and tell me what changed.
```
## The engines
| Engine | What it is |
| --------------------- | --------------------------------------------------------------------------------------------------------------- |
| ChatGPT-style answers | OpenAI's API with web search on. Close to what someone asking ChatGPT sees, though not the consumer app itself. |
| Perplexity | Perplexity's API, which cites its sources directly. |
| Google Gemini | Gemini with Google Search grounding. |
An engine only runs where daoco has a key for it. Engines without one are reported as **not asked** and are never counted as a zero, so a rate you see is always over answers that actually came back.
## Reading the scorecard
**Mentioned** means an answer named your brand. **Cited** means the answer used a page on your own domain as a source. They are different problems:
* Mentioned but not cited is the common case. Engines know you from third-party sources and are not reading your site. That is a citability problem on your pages.
* Absent while competitors are named is the strongest signal you can get, and the fixes based on it are the ones worth doing first.
* Absent with nobody named usually means the question was not a recommendation question. Replace it.
**Position** is where your brand first appeared among all the brands an answer named.
A single run is a sample. Answer engines are not deterministic, and the same question can return a different set of brands later. Movement only means something against a previous run.
## Fixes
The **Fix** action follows the same rule as SEO fixes. It needs a usable CMS or GitHub connection before it starts. daoco inspects the connected resource and prepares a reviewable change. If the target is outside that connection's reach, the run stops with that blocker instead of returning a generic plan.
Each run joins its results with what daoco already measures per page (FAQ sections, definition blocks, comparison tables, author attribution, original data, schema markup, and freshness) and lists the gaps on pages that should have answered the questions you lost.
Every fix names the page or source it applies to and the measured signal it came from. Nothing is suggested that the run did not observe. When a check completes, its fixes are recorded alongside your SEO findings, so a Fix run reads the recorded finding rather than a summary of it, and the same gap measured again refreshes that finding. If recording fails, the Fix run works from the brief shown on the tab. Without a usable connection the control reads **Connect CMS or GitHub** and takes you to Connections instead.
## Keeping it running
Create the **AI Visibility Watch** automation on the [Automations](/core-workflows/automations) page to run the check on a schedule. Each run reports what changed since the last one into your automation reports: citations gained and lost, competitor movement, and the fixes that follow.
The watch is report-only. It never publishes or changes anything on your site.
Pause the watch from the Automations page like any other automation. Add,
edit, re-run, or remove individual questions from the **Questions asked**
card or from chat, or ask daoco to regenerate the whole set. Your own
questions are kept when it does.
## Limits
* A single run asks at most 20 questions, whatever your plan.
* Starter workspaces keep 10 saved questions; Growth keeps 30.
* Each question costs a model call per engine, billed like other daoco usage.
# Articles
Source: https://docs.daoco.org/core-workflows/article-writing
Write long-form articles in brand chat as versioned artifacts with search metadata.
Ask for an article in brand chat and daoco writes it, then saves it as a durable artifact: a title, a URL slug, the markdown body, search metadata, and a version history. It opens in an **Article** panel beside the chat that survives a refresh.
An article is not a social draft. Social drafts are shaped around platforms: one idea, a variant per channel, media, target accounts. An article is one body of markdown with one set of search metadata, so it lives in its own place with its own history.
Saving an article does not publish it. If your site content lives in a
connected GitHub repository, you can separately ask daoco to propose the
article as a pull request. You still review and merge that pull request.
## Ask for an article
"Write an article about X", "write a blog post that beats this page", or
paste a URL you want to write against.
## The Articles tab
Open **Home**, choose **Website**, and open the **Articles** tab. Every article the brand has is listed there with its title, when it was last updated, its word count, its version, and whether it is a **Draft**, **Published**, or **Archived**.
The first time you open it, the tab offers to bring in what you already have. Enter the page where your articles live, for example `yoursite.com/blog`, and choose **Bring in my existing articles**. daoco reads them and saves each one as an article here. **Draft a blog post** starts a new one instead.
Once the tab has articles, **Draft another** starts the next one. If the last run finished without producing anything, the tab says so and links you to that thread.
## Writing against a real page
Give daoco a URL and it reads the page before it outlines. It crawls the page and uses what is actually there (the real headings, the real length, whether the page has a comparison table or an FAQ, what schema it carries) to decide what your article has to match, where it can go deeper, and what page one is missing.
That is the difference between "write me a long article about email deliverability" and an article built to beat a specific page. Without a URL, daoco writes from your brand context and says so rather than implying research it did not do.
The panel lists the pages daoco reports auditing for the brief, under a heading that says exactly that. It is the writer's own account of what it read, not an independently verified record, and when nothing was reported the panel says so rather than leaving the space blank.
## What gets saved
The headline plus a URL-safe slug, derived from the title unless you name
one. Collisions inside a brand are resolved automatically.
The full article rendered with its headings, lists, links, quotes, and code.
Copy the original markdown out of the panel with one click.
Meta title, meta description, the single target query the article is written
to win, and any secondary queries the outline genuinely covers.
Every revision appends a version with a one-line summary of what changed.
Nothing is overwritten.
## Revising
Ask for changes in the same thread ("tighten the opening", "add a pricing section", "retarget this at b2b email deliverability") and daoco revises the article in place. Each content change appends a version; the panel shows the history.
Every article appears under **Website > Articles**, drafts included. The list labels imported live pages **Published** and opens their webpages in a new tab. Articles written in daoco stay **Draft**; select one to return to the chat thread where it was written, which is where editing happens.
Metadata-only edits are recorded as such, so "we rewrote it" and "we retitled it" are different entries.
## Archiving and restoring
Articles you no longer want are archived, not deleted. Use **Archive** in the article panel, or ask in chat. Archived articles stay queryable and can be restored from the same button.
## Current limits
* **No direct publishing.** Articles are saved in daoco. daoco can propose a reviewed article as a pull request to a [connected GitHub repository](/connections/mcp/github), but it does not merge the pull request or publish directly to WordPress or Webflow.
* **No keyword data yet.** daoco grounds a brief in the page it crawls, not in search volume or difficulty. This is true even when your workspace has keyword data and Search Console available to the SEO agent; the writing lane does not read them yet. It will tell you the target query is inferred rather than measured, and it will not invent numbers.
* **One article per piece.** Revise the article you have rather than asking for a second one on the same topic; the history is more useful than two drafts.
# Assets
Source: https://docs.daoco.org/core-workflows/assets
Use the Assets surface to find, reuse, download, and manage generated or uploaded brand media.
The **Assets** surface is the library for media you create or use in daoco. It supports generated visuals, uploaded files, post media, thumbnails, and reusable brand assets.
## What Assets helps you do
* Browse media created in chat and post workflows in a masonry gallery that preserves each asset's natural shape.
* Reuse assets in new posts or campaigns.
* Download files for external use, including exports from chat and the Assets surface.
* Compare generated variations.
* Open media details, inspect metadata, and select multiple assets for batch actions.
* Keep post media connected to the brand workspace.
* See which campaigns an asset belongs to from the gallery, inspector, or asset details.
## Create or reuse assets
Ask brand chat or `/image` to generate or edit a visual. Generated results appear in the workflow panel and can be reused later from Assets.
Add, generate, or adapt media while creating a post. Post media can become part of the workspace asset library.
Choose **Upload assets** when a workflow asks for source media, reference images, or post assets. Uploads accept images, videos, and PDFs.
The gallery shows your 100 most recent assets. Use search and the **Type**, **Category**, and sort controls to narrow it rather than scrolling for an older file.
## Download and resize
Open an asset and use its export control when you need a copy outside daoco. You can keep the original shape or export at 1:1, 16:9, 9:16, 4:3, 3:2, or a size you enter, as PNG or JPEG. A vector asset can also export as SVG, including variants prepared for Adobe, Figma, and Canva. Logos offer ready sizes for icons, app and print use, a horizontal lockup, and social sharing.
## Link assets to a campaign
Open a campaign and choose **Assets** to see the same asset-library experience filtered to that campaign. Choose **Upload assets** for a new file or **Add from library** to link an existing item. Campaign membership appears as a campaign label in the main Assets surface and is searchable by campaign name.
**Remove** takes an asset off the campaign and leaves the file in the library. Delete the asset from the main library when you want to remove the underlying file. Deleting a core brand asset asks twice before it goes.
## Logo generation
Ask brand chat for logo concepts when you need visual exploration.
```text theme={null}
Generate three minimal logo concepts for a premium coffee brand using our existing brand colors.
```
Review concepts in the logo gallery workflow panel, then ask for smaller iterations such as color, type, spacing, or icon simplification.
## Review assets on mobile
On smaller screens, asset details open as a focused sheet. Use the preview, details, and save actions in that sheet instead of trying to manage the full desktop inspector layout.
# Assistants and slash commands
Source: https://docs.daoco.org/core-workflows/assistants-and-slash-commands
Run daoco from Slack, Discord, WhatsApp, or a specific brand chat workflow.
daoco has two ways to direct work outside a plain chat request:
* A workspace **assistant** listens on Slack, Discord, or WhatsApp. It answers quick questions there and starts a brand chat thread for longer marketing work.
* A **slash command** sends a dashboard chat request to a specific specialist.
## Set up an assistant
Open **Assistants** from the brand switcher. Create an assistant, name it, and choose the brands it may use. Leaving the brand list empty allows every brand in the workspace.
The first time you open **Assistants**, a four-step walkthrough explains creation, brand scope, status, channels, threads, and recurring tasks. It does not create or connect anything.
Next, connect a channel:
| Channel | Setup | Where it answers |
| -------- | ------------------------------------------------------------------------ | ---------------------------------------------------------------- |
| Slack | Authorize the daoco Slack app. | Direct messages, threads, and channels where the app is present. |
| Discord | Add the daoco bot to a server. | The selected server channels and threads. |
| WhatsApp | Connect the shared daoco Business number, then pair each member's phone. | One-to-one conversations with paired workspace members. |
A workspace owner or admin connects the channel. Individual pairing is up to each person.
The assistant page shows what it is doing now, every brand thread it started, and its recurring tasks. You can pause the assistant without removing its channels or history.
## What an assistant does
An assistant can answer from allowed brand context, read connected data, remember useful details, and manage its own recurring tasks. A request such as "draft three launch posts for Acme" opens a normal Acme brand thread, monitors the run, and returns the result to the channel.
Follow-ups such as "make the second one shorter" stay with the thread that holds the drafts. A separate request starts another thread instead of waiting behind unrelated work.
Questions about what a brand already has are answered in the channel, without starting a thread. Ask for a catch-up on a brand and the assistant reports campaigns, drafts waiting, what is scheduled next, what published recently, active automations and projects, connections, and anything waiting on you. It can also read one campaign in detail with its posts, rollout actions, notes, and engagement; list posts by state, campaign, platform, or date; show a draft with its per-platform copy and its images in the conversation; report how published posts performed; read brand documents and articles; summarize the asset library; list standing automations and available skills; and report website standing across SEO audits, AI-answer visibility, tracked competitors, keywords, and backlink domains. These reads never change anything: queueing, scheduling, and publishing still go through the normal approval flow, and changing a draft continues the thread that produced it.
The assistant distinguishes copy you want returned in the conversation from work you want saved in daoco. Ask it to "draft a reply" when you want text back in the channel. Say "save this as a LinkedIn draft" when you want a durable post you can review and publish later. Internal run warnings stay in daoco instead of appearing as a second answer beside the finished copy.
After useful work finishes, the assistant may offer one or two concrete follow-ups. For example, three launch scripts can become a campaign with three saved drafts. Nothing is created until you accept. A button click, an unambiguous "yes," or a numbered reply continues the same brand thread, so the assistant keeps the drafts, assets, evidence, and feedback that produced the result.
Finished work includes one direct daoco link when there is something useful to review. Campaigns open in their workspace, a single draft opens in its editor, and asset batches open in the library. The complete answer still appears in the channel.
Slack, Discord, and WhatsApp accept supported files and images as input. The assistant can also return images and files produced by the brand thread. Provider limits still apply to file size, format, and message length.
Voice notes and audio clips are transcribed on arrival and handled exactly like a typed message, so you can send a WhatsApp voice note or a Slack audio clip instead of typing. If a clip cannot be transcribed, the assistant says so and asks you to type the request rather than guessing at it.
## Route channels to brands and assistants
Each connection has routing controls. A rule can choose the assistant that answers, the brand it works in by default, and whether it listens to direct messages or channel mentions where the provider supports that choice.
Use separate rules when one Slack workspace or Discord server covers several brands. WhatsApp routing applies to every conversation on the connected business number, then uses the paired member identity to enforce workspace access.
## Approve work from a channel
When brand work needs approval, the assistant returns the same approval request shown in the dashboard thread. The request names the action and target. Approve or deny it from the supported channel control, or open the linked thread for the full preview. One decision resolves the request everywhere and approved work resumes automatically.
The brand's [approval preferences](/account-and-billing/approval-preferences) still apply. A channel message cannot widen the assistant's brand scope or a connection's read-only setting.
## Connect your WhatsApp identity
All workspaces can connect the same daoco WhatsApp Business number. Each phone can be paired with one workspace at a time so incoming messages reach the right assistant:
1. Choose **Connect my WhatsApp** beside the WhatsApp channel.
2. Enter your complete phone number, including the country code.
3. Text the assistant from that phone.
4. Enter the six-digit code daoco sends back.
You have 15 minutes to finish the whole pairing and 10 minutes to enter the code once it arrives. Five wrong entries end the attempt, and you must start again. Until pairing is complete, that phone cannot access brand context or start work; messages from an unpaired number get a short notice telling you to pair first. Canceling the first required pairing removes a newly added WhatsApp channel. Disconnecting your own identity later does not disconnect the shared number for everyone else.
WhatsApp only allows a business to reply within 24 hours of your last message to it. If the assistant needs to reach you after that, message it first so it can answer.
## Park work on the notepad
Not everything is worth starting the moment you think of it. Tell the assistant "note: the Q3 deck needs the new retention numbers" or "park this for later" and it saves the note instead of opening a thread. Photos, links, and files sent with a note are saved alongside it.
When you are ready, ask it to go through the pad: "handle my notes", "go through the notepad", "do everything from this week". The assistant groups related notes, answers what it can in the conversation, and opens one brand thread per piece of real work. If there is more work than it can start at once, it says which notes are still waiting and picks them up next time.
A note stays on the pad until the work it was handed to actually finishes, then closes with the outcome. If that run fails, the note goes back on the pad.
The **Notepad** section on the assistant page shows what is parked, what a thread is already working, and what closed in the last 14 days with a link to the work. You can add a note there too, edit one, dismiss it, or put a closed note back on the pad.
To run the pad on a schedule, ask for it: "process my notepad every Friday afternoon." That task runs in the conversation you asked from and reports there.
## Run recurring tasks
Ask the assistant for standing work in plain language, such as "every Monday, summarize last week's campaign results." The task appears under **Recurring tasks** on the assistant page. Pause or delete it there.
Recurring assistant tasks start brand work through the same chat runtime as dashboard requests. They use the assistant's allowed brands and the brand's approval settings.
A task can also wait on something happening instead of a clock. Phrase it as "whenever" rather than "every": "whenever a post is published, send me the link and a three-line summary", "when a campaign is created, draft a launch checklist", "ping me when something needs approval". The assistant can watch a post being published, a brand thread finishing a run, a campaign being created, and anything new landing in the review queue. When one of those happens, the run receives the ids, a link to the exact item, and a short summary, then does what you asked and reports back in the channel you set it up from. Event tasks appear in the same **Recurring tasks** list, marked with what they watch for and when they last fired, and pause and delete the same way. Each one stays quiet for a cooldown window after it fires, so a batch of posts going out produces one message rather than one per post.
## Use slash commands in brand chat
Type `/` in the dashboard chat input to open the command menu.
| Command | Best for |
| ------------------ | ---------------------------------------------------------------------------------- |
| `/post` | Drafting, previewing, scheduling, publishing, and inspecting social posts. |
| `/image` | Generating, editing, resizing, or reusing visuals. |
| `/content` | Copy, hooks, rewrites, and brand messaging. |
| `/campaigns` | Campaign planning, calendar slots, actions, and linked posts. |
| `/clip` or `/edit` | Captioning, clipping, composing, reframing, rendering, and refining social video. |
| `/seo` | Page audits, URL comparisons, content gaps, schema, and technical recommendations. |
| `/research` | Public research and connected-account analysis that is not SEO-specific. |
| `/brand` | Refreshing brand evidence and applying approved brand changes. |
| `/integration` | Reading or updating a connected provider. |
| `/automations` | Creating and managing recurring automations and their runs. |
Use a command when the destination is clear. Ask naturally when the request needs several kinds of work and daoco should choose the order. Keep a follow-up in the same thread when it depends on drafts, files, or decisions already there.
# Automations
Source: https://docs.daoco.org/core-workflows/automations
Build multi-step marketing workflows, choose triggers and permissions, and review every run.
Automations run repeatable marketing work for a brand. A workflow can research, read or update integrations, create reports and drafts, send summaries, and prepare social posts in a sequence of up to eight steps.
## Start with a suggestion or build your own
Open **Automations** from the sidebar. The suggestion cards include workflows for daily content, social listening, Reddit and Hacker News conversations, breakout posts, campaign launches, integration handoffs, and [AI visibility](/core-workflows/ai-visibility). Suggestions that depend on a social account or integration send you to **Connections** when the required connection is missing.
**Conversation Monitor** checks Reddit and Hacker News every two hours. It saves every candidate returned within the configured scan budget, and you dismiss the ones you do not want. Known locked, archived, removed, stale, or non-replyable items are excluded. Results land under **Social > Conversations**. See [Community conversations](/core-workflows/community-conversations). Reddit replies can become editable drafts; Hacker News results become response briefs because HN prohibits generated and AI-edited text.
Suggested workflows come with editable production instructions. Their steps name the records or sources to inspect, the comparison window where one is needed, the evidence and coverage to preserve, the expected report or draft, and the actions that still require approval. A run reports sources it could not check instead of treating missing access as no change, and it does not invent facts to fill a thin result.
**Daily Content Engine** writes one post a day in your brand's voice. It reads your [learned brand voice](/core-workflows/learned-brand-voice) and your best recent posts, picks an angle that avoids what the last few days covered, and leaves a draft for review. It varies the format across the week, and on a day with nothing worth saying it creates no draft and tells you why rather than filling the slot. Queueing the draft is an optional extra step, and like every queue or publish step it waits for your approval.
Choose **Build workflow** when you want to define the workflow yourself. The first-visit walkthrough explains the workspace and keeps a practice builder open while it introduces goals, triggers, steps, and approvals. It does not save or run the practice workflow.
## Choose when the workflow starts
| Trigger | When it runs |
| --------------- | --------------------------------------------------------------------------------------------------------------- |
| On a schedule | At the interval and time you choose, using your timezone. |
| When I start it | Only when you select **Run now**. |
| App event | When a selected integration sends a supported event. |
| On a change | Checks an integration, or your tracked competitors' websites, on a schedule and starts when the result changes. |
| At a threshold | Starts when a numeric value from an integration crosses the limit you set. |
Event and threshold triggers require a connected integration, and so does a change trigger unless you point it at your tracked competitors' websites. See [Competitor tracking](/core-workflows/competitor-tracking). A competitor watch runs once a day at most. Schedule previews show the interpreted timing and timezone before you save. If you edit the start time or recurrence, confirm the preview again so the next run matches the schedule you intended.
## Add workflow steps
Steps run in order on one thread, so later steps can use the context and results produced earlier in the same run. Available step types include:
* Research.
* Check or update an integration.
* Check competitors, on a workflow that watches competitor websites.
* Write a report.
* Draft posts.
* Send a summary through an integration.
* Schedule or publish approved social posts.
You can reorder steps and set an automation to something stricter than the brand's autonomy setting. A looser setting requires an explicit grant.
## Set unattended permissions
Use the **Permissions** view to choose how much the brand may do without you present. The same setting applies in chat and to every automation that has not been set to something stricter.
| Setting | Behavior |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| Ask before acting | Research and drafts run on their own. Changes to connected apps, publishing, and sending wait for approval. |
| Work autonomously | Ordinary updates to connected apps can run without asking. Publishing and sending still ask. |
| Full autonomy | Ordinary updates, publishing, and sending can run without asking. Large sends, new spend, big batches, and first-time publishing still ask. |
Deleting or removing data in a connected app always asks. See [Approval preferences](/account-and-billing/approval-preferences) for per-connection exceptions and access controls.
## Review and manage runs
* Select **Review** to see drafts and actions that still need a decision. Read-only reports finish automatically and do not ask for approval.
* Open run history to inspect status, timing, step outcomes, reports, and errors. Empty report and deliverable sections stay hidden.
* Open a run's thread to see the exact step instructions and results. Completed reports open in the thread's workflow panel. A draft that needs approval uses the same live approval request in the thread and the Review inbox, so a decision in either place updates both.
* Run status describes the outcome. A quiet check says **Checked, no changes**, and incomplete source coverage says **Completed with gaps** instead of showing a generic success label.
* Use **Run now** to start an active automation outside its schedule.
* Retry a failed run to continue with its existing run context.
* Pause an automation to stop future triggers without deleting its configuration.
* Archive an automation when you no longer need it.
If the brand's [autonomy setting](/account-and-billing/approval-preferences) does not allow the action, the automation pauses and waits until someone approves or denies it.
Automations reconcile interrupted runs so completed steps are not silently abandoned between retries or monitor checks. Approval decisions stay tied to the specific run, provider operation, and connection scope that produced the review item.
Older runs may show legacy workflow memory references in run history.
# Brand chat
Source: https://docs.daoco.org/core-workflows/brand-chat
Use brand chat to create content, generate assets, research topics, and route work to daoco specialists.
Brand chat is the conversational workspace for most daoco work. Ask naturally, attach files or assets, or use slash commands when you want to start a specific workflow.
## What brand chat can do
* Write and revise on-brand copy.
* Work on your own website, other first-party sites, social profiles, and key pages without being given the URL. daoco carries them in brand context from the sources you used during onboarding, so "look at our pricing page" is enough.
* Generate, edit, and resize visuals.
* Create draft social posts and prepare publish approvals.
* Run research, SEO, campaign, clipping, and analytics tasks.
* Open workflow panels for richer review and editing.
* Refresh brand context after you approve the proposed changes.
* Work with connected integrations when the workspace has them enabled.
* Copy structured text blocks, such as hooks or campaign copy, directly from assistant responses when daoco renders them as copy cards.
* Pause, resume, stop, retry, or queue follow-up instructions while longer work is running.
* Follow a live, turn-by-turn execution ledger and stop an individual delegated branch when the control is available.
* Review large connected-tool tables in a dataset panel instead of reading raw provider output in the transcript.
## How chat routes your request
daoco uses one main chat thread for most work. When you send a message, daoco decides the best specialist for the job:
1. **Slash commands.** A command such as `/post` or `/research` starts with that specialist. See [Assistants and slash commands](/core-workflows/assistants-and-slash-commands).
2. **Follow-up in the same workflow.** A continued post, clip job, campaign, or brand refresh stays with the active workflow instead of restarting.
3. **Natural language.** For everything else, daoco interprets the request and may run one specialist or a short sequence, such as research before writing.
Complex requests can run as **specialist runs** inside the same thread. The execution panel lists the planned steps, current work, completed work, and anything waiting for you. The final result stays in chat and, when needed, in a panel on the right.
## Control active runs
Long-running work can involve research, publishing checks, campaign planning, or specialist tasks. When a run is active, the composer can show controls for the current state:
| Control | What it does |
| ---------- | ---------------------------------------------------------------------------------- |
| Pause run | Asks daoco to pause at the next safe stopping point. |
| Resume run | Continues a run that you paused. |
| Stop run | Ends the active run. Work already processed may still count toward usage. |
| Retry run | Starts a fresh attempt from the latest user request after a stopped or failed run. |
Some pauses are waiting for a required action, such as an approval, reconnect, or browser auth. Complete the card shown in chat instead of using Resume for those pauses.
## Send follow-ups while work is running
You can send another instruction before the current run finishes. The follow-up appears immediately as a queued message in the transcript.
When the active run is safe to steer, a plain-text follow-up can guide its next step without waiting for a second turn. If the run is compacting, paused for approval, using an active specialist, or otherwise cannot be steered, daoco keeps the message queued. Compatible plain-text messages can be combined into one follow-up turn; messages with attachments stay separate.
Use **Cancel** to remove a queued follow-up. Use **Interrupt** when available to stop the current run so the queued message can run next. If you paused the run yourself, queued follow-ups wait until you resume.
## Work safely
daoco asks for confirmation before sensitive actions such as publishing, scheduling, applying brand updates, or making provider changes through connected integration tools. The approval card identifies the requested operation, target connection, and relevant scope. Review those details with any previews, diffs, attachments, and dates before approving. Approving an ordinary provider write runs exactly that action and also lets daoco keep making updates on the same provider for the rest of the thread without asking again, so one approval covers the whole job. Destructive changes, such as deleting something in a connected app, are always approved one at a time.
The shield toggle in the composer turns on **Bypass approvals** for the current thread: gated actions, including publishing, run without asking until you turn it off. Turning it on while a connected-app write approval is already waiting answers that approval too, so the paused run resumes on its own; other kinds of waiting approvals keep their card and still need your answer. Deletes still ask, actions that always require confirmation (like a paid final render) still ask, and a connection that is turned off or read-only still refuses. The toggle is per thread, requires the workspace owner or admin role, and stays on across refreshes. Turning it off also withdraws the provider access the thread was granted while it ran open, so the thread goes back to asking. A workspace admin can turn the feature off entirely under **Settings → Team → Approvals**, which hides the toggle and puts already-bypassed threads back to asking.
Brand owners and admins set [approval preferences](/account-and-billing/approval-preferences) per brand. **Ask before acting** is the default. **Work autonomously** allows ordinary connected-app updates without asking, while **Full autonomy** can also publish and send. Per-connection exceptions can make access stricter or allow ordinary updates on one connection.
## Browser auth for social tasks
Browser automation can use a secure browser session for supported UI tasks on LinkedIn, Instagram, Facebook, X, Threads, TikTok, YouTube, and Bluesky. When required, daoco shows a browser auth card in chat. Open the secure browser, sign in to the selected platform, then confirm on the card so daoco can resume the request.
You can clear the browser session from **Connections** without disconnecting the platform's OAuth or API connection. See [Browser automation](/connections/browser-automation).
## Chat activity signals
When a background run finishes in another thread, the sidebar can highlight that thread until you open it. This is useful for long research, scheduling, brand refresh, and generation work that may complete after you switch surfaces.
While a turn is running, the transcript shows a single live status and elapsed time. The execution panel breaks the request into plain-language steps such as **Understanding the request**, **Researching**, or **Writing the copy**. A required approval changes the relevant step to **Waiting for you**. Finished turns keep their duration and can be reopened in the ledger.
The composer **context meter** shows current context pressure and, once usage has been billed, how many basic tokens the thread has charged so far. Hover it for **in**, **out**, and **total** thread usage. See [Understand token usage](/account-and-billing/understand-token-usage#context-meter-in-chat).
Stopped runs show a stopped state instead of a generic failure. Use **Retry run** when you want daoco to try again with the latest request.
If a connected-tool step fails, daoco separates connection setup problems, expired authorization, provider refusals, and temporary transport errors when it can. A retry keeps the original connection and approval scope. Reconnect only when the recovery card says the provider authorization needs attention.
## Use chat with product surfaces
| Surface | Best use from chat |
| ------------- | -------------------------------------------------------------------------------------- |
| Assets | Generate or refine images and reuse existing library assets. |
| Manual post | Turn an idea, article, or asset into a platform-ready draft. |
| Home calendar | Review scheduled and published posts and open available analytics from the hover card. |
| Campaigns | Create campaign plans and linked post ideas with `/campaigns`. |
| Connections | Connect accounts from the dashboard; use `/integration` for provider tasks in chat. |
| Skills | Choose or write playbooks that agents load when a task matches. |
See [Workflow panels](/core-workflows/workflow-panels) for the right-side review surfaces and [Assistants and slash commands](/core-workflows/assistants-and-slash-commands) when you want explicit routing.
# Brand documents
Source: https://docs.daoco.org/core-workflows/brand-documents
The maintained documents daoco keeps for a business or personal brand, with every agent change waiting for review.
Brand documents are the reference material daoco keeps about your brand and reads while it works. The default catalog follows the brand mode you selected during onboarding.
Business brands start with:
| Document | What it holds | Written from |
| ------------------- | ----------------------------------------------------------------------------------- | ---------------------------------------------------- |
| Brand Summary | The concise statement of what the brand is, who it serves, and how it is positioned | Your reviewed onboarding answers and site evidence |
| Products & Offers | What you sell, prices, who it is for, promises, and limits | Your brand profile and what daoco found on your site |
| Design Guide | Color roles, type, logo rules, and imagery direction | Your brand identity and your asset library |
| Strategy | Audience, positioning, messaging pillars, and what you have ruled out | Your audience and positioning answers |
| Competitor Analysis | The rivals you track, what they claim and charge, what changed | Your competitor research and positioning |
Personal brands start with:
| Document | What it holds | Written from |
| ---------------------------- | ------------------------------------------------------------------------------- | --------------------------------------------------------- |
| Personal Brand Summary | Who the person is, who they want to reach, and the position they can support | Your reviewed onboarding answers and public evidence |
| Expertise & Point of View | Subjects, experience, beliefs, credentials, supported claims, and boundaries | Your profile, published work, and reviewed answers |
| Audience & Community | Who you want to reach, what they need, and the relationship you want to build | Your audience answers, channels, and community evidence |
| Content Strategy | Content pillars, recurring formats, channel roles, cadence, and calls to action | Your channels, published content, audience, and goals |
| Goals & Opportunities | The outcomes and opportunities you want, plus constraints and exclusions | Your stated goals, current work, and offers when supplied |
| Peer & Inspiration Landscape | Peers, references, category habits, and room to stay distinct | Named inspirations and public research |
A personal brand does not receive a Competitor Analysis by default. Peers and inspirations keep their own language. daoco does not label people as competitors just to reuse a business document.
The catalog is a starting point. If you use documents from both catalogs, the workspace keeps the documents you have already created alongside your current defaults.
These documents are different from files you upload. Uploads stay in **Assets**. daoco writes and versions brand documents in the brand workspace.
## Where they come from
Guided setup uses the questionnaire as intake for the document system. Research-assisted onboarding starts the same document catalog directly from the researched profile and public sources, without sending you through the manual questions. Review uses the same document tabs and editor as Brand Hub, but keeps version history, export, and turn-off controls out of setup. Edits remain part of the setup draft; **Finish setup** accepts that draft as version 1. Later edits are authoritative when they differ from a research inference. Brand Summary and the document authors run in parallel. Thin evidence does not remove a catalog document: the first version keeps its required sections and names the information that is still unknown. daoco does not fill the space with an invented product, credential, peer, price, or claim.
Existing brands keep their current Brand Summary, profile, logo, colors, and voice. When a brand is missing documents, Brand Hub shows a **Set up brand documents** prompt. daoco fills in the brand's known website and public profiles and selects the missing documents. Missing documents become version 1. Existing documents stay unchanged unless you select them, in which case they receive a reviewable proposal.
Brands finalized before personal-brand onboarding are migrated to business mode when setup starts. A newer brand with no saved mode gets one business-or-personal choice before the document list appears. daoco saves that choice for later refreshes.
**Refresh from sources** starts with every document in the current catalog selected. Use the document menu in the refresh form to narrow the pass before it starts. The workflow panel has one page for the source review and one for each selected document, with a dropdown and previous or next controls. Selected documents with enough supporting evidence run separately and in parallel. A selected document with limited evidence is marked **Needs input** instead of receiving a version or proposal. A missing applicable document gets its first version. An existing applicable document gets its own proposal, so a source refresh never silently replaces edits you already accepted. If the source review finds no profile changes, the document jobs start immediately. Retrying a refresh keeps the same document selection unless you choose a different one. Unselected documents are not generated or refreshed.
## The document workspace
Open **Brand Hub** and select a document. The workspace stays focused on that document, with three simple views:
* **Document** renders the accepted Markdown in an inline editor and lets you create a document when none exists.
* **Suggestions** appears when daoco has proposed changes. Nothing is accepted until you apply it.
* **Versions** lets you read and restore any saved version.
Click a section to edit its formatted Markdown in place. Tables stay visible as editable grids, and the table controls let you add or remove rows and columns without working with pipe syntax. After setup, saving creates a new version instead of overwriting history. Go back to Brand and select another card when you want to work on a different document. Refreshing the page restores the same document.
If a document is missing, **Create from sources** opens the source refresh form with that document selected. **Start blank** opens the Markdown editor instead.
## Two kinds of changes
**Your edits apply immediately.** Click a section, change the Markdown, and **Save version** publishes your edit. You never approve your own change twice.
**daoco's changes wait for you.** When the brand-update runtime, a source refresh, or an automation wants to change a document, the changes appear under **Suggestions**. Proposed text renders as Markdown, with a separate **Edit** control when you want to change the draft itself. Each section shows the current text when one exists, the proposed text, the reasoning, and its sources. You can select the sections to apply or skip the whole proposal. Nothing touches the document until you apply it. The same durable review appears in normal chat, the document workspace, and your attention queue, so resolving it anywhere resolves it everywhere.
If the document changes while a review is open, the review is marked stale and can no longer be applied. Ask daoco to propose again from the current version.
## Versions, restoring, and turning a document off
Choose **Versions** to see every version, who or what wrote it, and when.
* **View** shows an older version read-only.
* **Restore** brings an older version back as the new current version. Nothing is erased. The version you restored away from stays in the history.
* **Turn off** stops daoco from reading a document without deleting it. **Turn on** reactivates the latest saved version without adding a history entry. You can restore an older version under **Versions**.
* **Export** downloads the current version as a markdown file.
## How daoco uses them
Agents do not read every document on every task. Each run sees the list of documents you have and retrieves one only when the work needs it. A caption writer may read pricing facts, while a personal-brand content run may read the point of view and content strategy. The summary stays short. It orients a run and points to the deeper documents instead of repeating them.
A document that is turned off, or has never been written, is not available for a run to read. Runs never read pending reviews. Only accepted versions count as brand truth.
# Campaigns
Source: https://docs.daoco.org/core-workflows/campaigns
Plan launches and content series with campaign workspaces, notes, assets, linked posts, calendar views, and analytics.
Campaigns help you organize related posts around a launch, promotion, content series, or recurring marketing theme.
The first time you open **Campaigns**, a five-step walkthrough points out creation, search and status filters, card and calendar views, campaign progress, and the views inside each campaign. You can skip it without changing any campaign.
## What campaigns help you do
* Set what a campaign is for, when it runs, and which channels it uses.
* Put posts and integration actions on the campaign calendar before any copy is written. A slot records the day, time, channel, and working title.
* Link drafts, queued posts, scheduled posts, and published posts.
* Keep campaign-specific source assets and shared Markdown notes beside the work.
* Work the campaign from chat: a chat attached to a campaign changes it directly.
* Review progress and analytics from linked posts and actions.
## Create a campaign
You can start from the **Campaigns** sidebar or from brand chat with `/campaigns` when you want daoco to inspect available posts and shape the campaign structure first.
Choose **Campaigns** from the sidebar, or ask in brand chat with
`/campaigns`.
Choose **New campaign**. daoco creates a campaign shell and opens its
calendar. Rename it and set its dates from the campaign header, then use
**Overview** to add the brief and objective.
Add new posts or link existing posts to the campaign.
Review linked posts and open campaign analytics when results are available.
Each campaign has six views, shown as icons across the top of the campaign. Hover an icon for its name. **Overview** holds its brief, current work, campaign context, decisions, and outputs, plus summary cards for Assets and Notes. **Calendar** schedules posts and connected-app actions. **Plan** shows the same work as an editable list. **Assets** is the brand asset library filtered to items linked to the campaign. **Notes** is a shared Markdown scratchpad. **Analytics** combines publishing results and completed actions.
A campaign's status shows on its card and on Overview: **Draft**, **Live**, **Paused**, or **Shipped**.
## Keep campaign context together
Use **Assets** to keep the campaign's creative in one place. Choose **Upload assets** for new files or **Add from library** to link items you already have. Linking does not copy the file: the asset stays in the brand asset library, a campaign label appears with it there, and **Remove** takes it off the campaign without deleting it. A campaign holds up to 200 assets, and you can add or remove up to 50 at a time. The library picker lists your 100 most recent assets, so upload directly into the campaign if an older file does not appear.
Use **Notes** for decisions, source links, handoff details, and working context. Each campaign has one shared Markdown document that both you and daoco read and write. Choose **Start campaign notes** the first time, then click the rendered document to edit it. The toolbar covers headings, bold, italic, code, lists, and quotes over the raw Markdown. Choose **Save notes** to keep the change or **Cancel** to discard it. If someone else saved while you were editing, daoco refuses the save and asks you to reload rather than overwriting their work.
Use [Create posts](/core-workflows/create-posts) for the publishing details of each individual post.
## Work a campaign from chat
A chat attached to a campaign operates that campaign directly. The chip above the message box names it. Ask daoco to rename the campaign, change the goal, move the dates, update its notes, find its linked assets, or put three LinkedIn posts between two dates. It answers with what it set up and the next step. Renaming a campaign and placing a slot happen immediately because you can undo them.
Campaign notes and linked assets travel with delegated campaign work, including requests that enter through the team Assistant or an automation and then open a brand thread. Specialists use that context without searching the entire brand library first. A specialist receives the start of the notes and the campaign's most recent assets rather than the whole document and library, so put the decisions that matter near the top. Visuals daoco generates in a campaign-attached chat are linked back to the campaign automatically; video renders and post media are not, so add those from **Assets** if you want them on the campaign.
Asking daoco to update the notes replaces the whole document, so tell it to read them first when you want to keep what is already there. The chat panel switches to the live notes editor when it does.
A **slot** records a planned post's day, time, channel, and working title before the copy exists. Slots appear on the campaign calendar like any other post. Ask "write the Sep 4 post" when you want daoco to add copy to that slot.
The panel beside the chat is the campaign itself. **Calendar** shows the campaign's own days with its posts and actions on them; clicking one opens the post or the action, the same as it does in the campaign workspace. **Overview** shows what the campaign is for, what is waiting on you, what the work has settled, and what it has produced.
Placing a slot from chat is immediate. Scheduling, publishing, and activating a campaign keep their existing approvals, including when you ask for those operations in chat.
## Review the campaign timeline
The campaign workspace shows the complete campaign date range alongside the selected week. Scroll horizontally to review dates outside the current week; phase spans and dependency lines stay aligned as you move across the timeline.
When you ask daoco to create exactly one draft for a campaign, the request stays scoped to one draft across specialist handoffs. Review the linked draft before scheduling it.
## Put an action on the calendar
A campaign can also schedule work in a connected integration. Right-click a slot on the campaign calendar and choose **Action**. For example, ask it to update the blog CMS, move a launch card in the project tracker, or send an announcement through an email tool.
The form asks what should happen, which integration should do it, and when. Saving approves the write made by that action, so it can run at the chosen time without asking again. The permission belongs to that action and ends when it does. Actions sit beside posts with the integration's logo and a status of **Scheduled**, **Running**, **Done**, or **Failed**. Open an action to change the instruction, move it, run it now, or delete it. The same panel opens from the brand calendar and campaign chat.
An action daoco proposes while planning a campaign works the same way, except it asks you once in the chat before it becomes schedulable. Actions daoco runs stay in "Confirm it ran" until you confirm the result.
## Campaign analytics
Campaign analytics show what the campaign did and what came back: how many posts published and how many are scheduled, each action's workflow state (Scheduled, Running, Done, or Failed), approval state, and any result still waiting for confirmation, plus the interactions and Seen totals from linked published posts. The chart plots those totals over time and marks the point where each action ran, and the table below it lists every post and action together, newest first. Use **Refresh** from the analytics view when you want daoco to fetch the most recent provider data for the campaign's recent published posts.
Provider coverage varies by platform and account permission. If metrics are delayed or unavailable, daoco keeps the campaign view usable with the latest successful snapshots it has.
# Video editor
Source: https://docs.daoco.org/core-workflows/clipping-videos
Caption, clip, compose, reframe, review, and export social video from brand chat.
The Video editor is a workspace-gated preview for chat-driven editing. Start with a source video, describe the result you want, and review the cut before daoco produces the final render.
The editor uses both transcript and visual evidence. It can bring still images and approved library assets into a video project, but it is not an asset-only slideshow generator: begin with source footage, a screen recording, or an existing library video.
## Enable the preview
A workspace owner or admin opens **Settings** → **Preview features**.
Turn on **Video editor** and save the workspace settings.
Attach a video, select a library video, provide a source URL, or continue an
existing video project in the same thread.
## What you can make
Burn in captions, hooks, and timed text. daoco keeps text inside
platform-safe areas and avoids covering other important on-screen text.
Find strong moments, remove pauses, tighten pacing, and reorder scenes into
focused short-form cuts.
Combine source footage with still images and approved library media. Use
brand assets as image scenes, overlays, logos, or supporting panes.
Adapt horizontal interviews and screen recordings for vertical placements
with subject-aware framing, readable detail, and safe crops.
Sequence video and image scenes, add image holds, zooms, music, sound
effects, captions, branded text, and one- to three-pane layouts.
Compare candidate cuts, request a different direction, and iterate from the
reviewed edit without rebuilding the project from scratch.
## Start an edit
Use `/clip` or `/edit` when you want to route directly to the Video editor. Plain-language video requests also route there when the preview is enabled.
### Caption and reframe a short video
```text theme={null}
/edit Add clean captions to this clip, keep the text clear of the speaker and platform controls, and reframe it for a vertical Reel.
```
### Turn a longer recording into clips
```text theme={null}
/clip Find the three strongest moments between 20 and 30 seconds in this recording. Remove pauses, lead with the strongest claim, and give me the cuts to compare.
```
### Construct a clip with library assets
```text theme={null}
/edit Build a 25-second product clip from this demo recording. Use the approved product image as a supporting scene, place our logo as an overlay, and keep the screen readable in a two-pane vertical layout.
```
### Reframe a screen recording
```text theme={null}
/edit Turn this wide screen recording into a vertical product demo. Keep the full workflow understandable, use a context-and-detail layout where needed, and do not crop through labels or controls.
```
Include the intended platform, target duration, audience, required moments,
caption style, and any assets that must appear. If you do not specify them,
daoco proposes an edit brief for review.
## Review the edit
The Video editor panel keeps the cut and its review state beside the conversation.
* **Review** shows the active cut, social preview, captions, crop, duration, rationale, QA status, and cut timeline.
* **Compare** shows candidate cuts so you can choose a direction or ask for another pass.
* **Render this cut** creates a representative preview when the current candidate has not been rendered yet.
* **Request changes** keeps the same project active for trims, new scene order, caption changes, zooms, hooks, music, or reframing.
* **Approve final render** starts the final render only after you approve the reviewed cut.
Preview and final renders use the same composition plan, so the framing, panes, overlays, captions, and safe-area placement you review carry into the final output.
## Deliver the finished video
After the final render:
* Download the MP4.
* Ask the editor in chat to save the video to **Assets** for reuse.
* Choose **Create post** to hand the finalized video to the social media manager with its placement context intact.
See [Create posts](/core-workflows/create-posts) for the post review and publishing flow, or [Assets](/core-workflows/assets) for library reuse and downloads.
## Current limits
* Video editor must be enabled for the workspace.
* A video source is required to start a new project. Images and library assets can support or compose the edit after the source is available.
* One pane owns the primary audio in a multi-pane composition. Supporting panes remain muted unless the edit explicitly replaces the primary audio.
* Subject-aware reframing can fall back to a non-destructive fit when reliable subject detection is unavailable.
* A preview is the visual review artifact; a saved edit plan alone is not proof that captions, crops, or overlays render correctly.
* Requests beyond the supported clip or render limits stop with an error instead of silently dropping part of the edit.
Rendering and media analysis can use premium tokens. See [Understand token usage](/account-and-billing/understand-token-usage).
# Community conversations
Source: https://docs.daoco.org/core-workflows/community-conversations
Review Reddit and Hacker News discussions worth joining, then draft a reply you hand off yourself.
daoco can watch public communities for discussions where your brand has something useful to say, and collect them in one queue for you to work through.
Open **Home**, choose the **Social** area, and open the **Conversations** tab. The tab carries a count of the items waiting on you.
## What the queue shows
The panel is headed **Conversation candidates** and says **Reply drafts stay editable. Nothing posts without you.** Under that is when daoco last searched, and a filter for **All**, **Reddit**, or **Hacker News**.
Each row gives you the platform, the community, how long ago the discussion appeared, its title as a link, a short excerpt, and a **Why this fits** line explaining why daoco surfaced it. Choose **Open conversation** to read it on the platform, or **Dismiss** to take it off the queue.
## Fill the queue
* Choose **Find now** to search immediately. daoco runs a search in the current brand and adds what it finds.
* Choose **Manage monitors** to open **Automations** and add the **Conversation Monitor**, which checks Reddit and Hacker News every two hours. See [Automations](/core-workflows/automations).
Nothing here needs a connected Reddit or Hacker News account. Discovery reads public discussions.
## Work an item
The action on a row depends on the platform:
| Platform | Action | What it does |
| ----------- | ----------------- | --------------------------------------------------------------- |
| Reddit | **Draft reply** | Opens a brand thread that writes an editable reply draft. |
| Hacker News | **Prepare brief** | Opens a brand thread that writes a response brief, not a reply. |
Once a thread is working on an item, the action becomes **Open work** so you can return to it.
**Publishing is always yours.** daoco never posts, votes, or comments in these communities. A Reddit draft finishes in the post preview with a hand-off control in place of the publish button, so you copy the reply and post it on Reddit yourself. Hacker News gets a brief instead of finished text, because Hacker News does not allow generated or AI-edited comments; when you submit something there yourself, paste the link back so daoco can record it.
## Housekeeping
An item that sits untouched drops off the queue after two weeks. Dismissed items are cleared a month later. Neither affects the discussion on the platform.
# Competitor tracking
Source: https://docs.daoco.org/core-workflows/competitor-tracking
Track competitors from the brand map and run a daily check of their pricing, pages, messaging, and public social profiles.
Competitor tracking is a list of the rivals you compete with and a workflow that checks them every day. When something changes, you get a report. When nothing changes, you get nothing. That is the point.
Competitor lists and Competitor Pulse are available to every workspace.
## Add the competitors you actually lose to
Open your brand, select the center of the brand map, then choose **Competitors** in the header.
Each competitor needs a name and a website. Everything else is optional:
| Field | What it does |
| ------------------ | ---------------------------------------------------------------------------------------------------------------- |
| Website | The site daoco checks. Required, because a competitor with no site cannot be watched. |
| Why you track them | Carried into reports and the competitor analysis document, so a later reader knows why this name is on the list. |
| X handle | Their public X profile, read without signing in. |
| LinkedIn page | Their LinkedIn **company** page, read without signing in. |
| Pricing page | Only needed when their pricing page is not linked from the homepage. |
Track three to five. Past that the daily report stops getting read, and daoco caps the list at eight.
A single run checks up to five competitors. If you track more, runs rotate through them, so with eight tracked every competitor is checked at least every second run. Each competitor's own last-checked time is shown on its row.
## The analysis document drives the list
The [competitor analysis document](/core-workflows/brand-documents) is where daoco names your competitors in full, and the tracked list follows it. When the document is written or refreshed, each entry becomes a tracked competitor automatically once daoco finds its website, and the row says **From your competitor analysis** so you know how it got there. When an entry leaves the document, its row is **paused, not deleted**: the watch stops but the change history stays, and resuming (or removing) is your call.
Competitors you added by hand are yours alone. A document refresh never touches them.
An entry whose website daoco could not find with confidence appears under **Named in your brand context** instead. From there, tap a name to prefill it and type the site yourself, or choose **Find their websites** to retry the lookup and confirm the matches one by one.
## Set up the daily check
Open **Automations** and choose the **Competitor Pulse** suggestion, or build a workflow yourself and pick **On a change → My competitors' websites** as the trigger.
Before you save, the builder tells you exactly what each run will do: how many competitors it will read, how many pages, and that nothing is signed into and nothing is written.
If nothing is being watched yet, the builder cannot create the workflow, and says so next to a **Discover competitors** button that takes you to the competitor list and starts the website lookup, so you are never told to go find a screen on your own. If every tracked competitor is paused, the button opens the list so you can resume one.
Scheduled checks run **once a day at most**. Faster options are not offered, because marketing pages do not move hourly and daoco spreads each workspace's checks out rather than crawling every watched site at the same minute. **Run now** performs fresh reads for the current rotation. A workspace tracking more than five competitors needs another run to cover the rest.
## What each run reads
For every competitor in this run's rotation:
* The homepage, the pricing page, and up to four more pages of the kind that carry positioning and product claims.
* Up to three public X or LinkedIn profiles across the whole run, rotating so every profile gets read over a few days.
daoco compares what it extracted (which pages exist, what the headlines say, and what the prices are) against the last run. It deliberately ignores the rest of the page, so a competitor redeploying their site does not show up as a change.
Prices are compared as a set of figures, not tier by tier: the pages daoco reads do not reliably keep a tier name next to its price. So a report tells you which figures appeared and disappeared, never which tier they belonged to, and a swap that keeps the same figures on different tiers will not be spotted.
If part of a site cannot be read, daoco says so rather than reporting the pages it missed as removed, and it keeps the previous run as the comparison point instead of treating a partial read as the new normal.
## What you get back
**When something changed**, daoco works out what it means for your brand and files a report under the automation's run history, alongside every other automation output. The report separates a pricing or packaging move from ordinary copy churn and says plainly which changes need a response.
**When nothing changed**, the run records the check and stops. No report, no notification, no tokens spent explaining that nothing happened.
The run thread still shows the competitor-check instruction, its exact result, and which conditional research or report steps were skipped. When a change does trigger those steps, their ordinary agent turns continue in the same thread.
Either way, daoco refreshes your [competitor analysis document](/core-workflows/brand-documents) so brand chat and content runs can cite the current picture without researching it again.
## When part of a check is blocked
Public social profiles are not always readable. LinkedIn in particular asks for a sign-in without warning, and daoco never signs in.
When that happens the run continues and reports **"web only this run"**. It never implies a competitor was quiet when it could not look, and a blocked social read never stops the website half of the check. A competitor whose site could not be read at all is named as unread rather than folded into "no changes".
A competitor whose profiles were simply not in this run's rotation is reported as not checked, which is a different thing from blocked and is not flagged as a problem.
## Pause, remove, and last checked
Each competitor shows when it was last checked and what that check found.
* **Pause** stops watching one competitor and keeps it, along with its change history.
* **Resume** starts watching it again.
* **Remove** deletes the competitor and its change history. Reports already filed stay where they are. To keep the history, pause instead.
* A paused competitor keeps showing when it was last checked and what that check found, so you can see what you would be resuming.
* Pause the whole automation from **Automations** to stop every check at once without changing the list.
# Create posts
Source: https://docs.daoco.org/core-workflows/create-posts
Create, preview, publish, and schedule social posts from Manual post or brand chat.
Use **Manual post** when you want to write and publish a post yourself. Ask brand chat with `/post` when you want daoco to research, write, or adapt the post with you.
## Create a post
Choose **Manual post** from the sidebar, or ask brand chat to draft a post
with `/post`.
Add the main content once. The selected accounts receive that content, with
account-specific titles, descriptions, and settings where supported.
Choose the connected accounts and platform variations you want to publish
to.
Check caption text, media, hashtags, platform-specific fields, and any
readiness warnings.
Save a draft, publish immediately, or choose a date and time. When daoco
prepares or publishes a post from chat, the action follows your brand's
[approval preferences](/account-and-billing/approval-preferences).
## Post formats
A post publishes as a **feed post** unless you choose otherwise. On Instagram and Facebook you can publish a draft as a **story** instead: set the **Publish as** control on that account to **Story**, and the target shows a **Story** badge wherever it appears. Other platforms do not offer a story option because their APIs do not support publishing one.
A story is one image or one video that sits in the story tray for 24 hours. Vertical 9:16 works best, and video must be 60 seconds or shorter. Captions, hashtags, and first comments are not published on a story, so put the message in the visual; the caption stays with the draft for your own reference and the editor says so. daoco blocks a story with no media, with more than one card, with an image and a video mixed together, or with video over the limit, and tells you which it is.
The preview matches the format. Stories render in a phone frame with a **Safe zone** toggle that shows what the platform's own controls will cover, multi-image posts page through their images the way Instagram and TikTok display them, and a Reddit draft gets a document-style preview with its own **Title** field and a long-form body editor that renders Markdown. Carousel, video, and article layouts are chosen from the platform and the media you attached, so there is nothing to select for them.
## Common tasks
* Create platform-specific variants from one idea.
* Reuse a library asset or generated visual.
* Add first comments or thread segments when supported by the platform.
* Send TikTok uploads to platform drafts when that option is available.
* Save a draft for later review instead of publishing.
Platform APIs can reject content even after daoco validates it. Review
[Platform support and
limitations](/preview-features/platform-support-and-limitations) before
important launches.
# Hacker News research and launches
Source: https://docs.daoco.org/core-workflows/hacker-news
Search Hacker News from brand chat, decide honestly whether a launch belongs there, and hand off a pre-filled submission you post yourself.
daoco researches Hacker News and prepares response briefs. It does not write or edit text for HN, and it never submits, votes, or comments. Hacker News prohibits generated and AI-edited text, so you write every word that you post. No Hacker News account connection is needed.
Relevant results appear under **Social > Conversations**, alongside Reddit threads and follow-ups. See [Community conversations](/core-workflows/community-conversations).
## Search Hacker News
Ask in brand chat and daoco searches HN's public index for stories or comments, filtered by date, points, or author.
```text theme={null}
What has Hacker News said about self-hosted analytics in the last six months?
```
Useful things to ask for:
* **Reception of a competitor.** The top comment on their launch is usually the objection waiting for yours.
* **Whether a problem is considered solved.** If a well-loved open-source tool covers most of it, HN will name it, so you want to name it first.
* **Citations for AI search.** HN threads get quoted by AI answer engines, so they show up in [SEO and GEO](/core-workflows/seo-agent) work as a real source.
* **A duplicate check before you launch.** Ask daoco to search your exact URL and your bare domain. A URL submitted inside the last year or so is treated as a duplicate and goes nowhere.
## Decide whether to post at all
Ask daoco to load the **Hacker News Launch** skill before planning anything. Its first job is to talk you out of a launch that will not land, and a clear "do not post this" is a real answer.
```text theme={null}
Should we post our new pricing page to Hacker News? Load the HN launch skill first.
```
It will say no when there is nothing to try without a signup wall, when the product's value is the go-to-market rather than the thing, when the differentiation is a claim someone will benchmark in the thread, when nobody can sit in the thread for the next six hours, or when the URL was already submitted.
## Prepare your submission
When a launch makes sense, daoco gives you the evidence and constraints to write it yourself.
```text theme={null}
Prepare a Show HN brief for our open-source proxy at https://example.com/ferrite
```
The brief covers duplicate history, likely objections, title constraints, technical facts worth explaining, current limitations, pricing, and the questions you want the thread to answer. It does not contain copy to paste into HN.
## Post it yourself: the hand-off flow
Write the title, body, and any first comment yourself. Do not ask daoco to edit them.
Give daoco your exact title and text if you want a hand-off. The **Hacker News** panel passes that copy through unchanged and opens the submit page with the title filled in. A title over 80 characters is rejected rather than trimmed, because shortening it is your edit to make. For a text post, copy your body from the panel into the form.
Submit from your account. Write any comments yourself.
Back in daoco, choose **Mark as posted** and paste the item link, for example `https://news.ycombinator.com/item?id=12345678`. daoco records the submission against your brand. Pasted the wrong link? Choose **Update link** on the posted submission.
Changed your mind before posting? Choose **Discard** on the panel. Nothing was submitted, and the hand-off closes.
## Current limits
* **No generated or AI-edited text.** daoco supplies research and response briefs, never copy to post on Hacker News.
* **No automated posting, voting, or commenting.** Every submission is a manual hand-off.
* **Never ask anyone to upvote.** Voting rings are detected and the penalty is a silent burial with no notification. Telling your team a post is live is fine; asking them to vote is how a launch dies.
* **Conversation monitoring is available.** Add the **Conversation Monitor** automation to check Reddit and Hacker News every two hours.
* **Post metrics are not tracked.** daoco records the item link you confirm, not the score or comment count.
# Keyword, SERP, and backlink data
Source: https://docs.daoco.org/core-workflows/keyword-and-backlink-data
Look up real search volume and keyword difficulty, snapshot live Google results, and track a domain's backlink profile from brand chat.
If this deployment's data provider is still being connected, daoco will tell you it cannot look these numbers up rather than estimating them.
Before this, daoco's SEO work was based on reading pages. It could tell you a page was missing an H1; it could not tell you whether anyone searched for the term the page was targeting. These lookups add the measurements.
## What you can ask for
**Keyword research**: real monthly search volume, keyword difficulty, cost-per-click, and related terms for a set of keywords, in a market you choose.
```text theme={null}
/seo Look up search volume and difficulty for "marketing automation for agencies" and four related terms, then tell me which one we could realistically win.
```
**SERP snapshot**: the current top Google results for a query, with titles, URLs, and which SERP features Google returned.
```text theme={null}
/seo Who ranks on page one for "invoice template for freelancers" in the UK, and what format are they using?
```
**Backlink summary**: a domain's referring domains, total backlinks, broken links, and top linking sites, plus what changed since the last reading.
```text theme={null}
/seo Pull the backlink profile for our domain and for competitor.com, and tell me who links to them that doesn't link to us.
```
## Tracking a domain's backlinks over time
New and lost links only exist as a difference between two readings, so daoco keeps a history for the domains you track. The first backlink lookup on a domain starts tracking it automatically; every later lookup adds a reading and reports what moved.
Ask for a backlink summary. daoco records the reading and starts tracking that domain.
Ask which domains are being tracked. daoco lists them with the date of each domain's last reading.
Ask daoco to stop tracking a domain. The history is kept, so tracking it again later resumes the same series rather than starting over.
New and lost referring domains are named from the top 100 linking domains for each reading. When a change is reported as partial, treat the named domains as examples rather than the complete list. The totals are exact, the names are a sample.
Keyword and SERP lookups are deliberately not stored. A ranking is true for minutes, and a saved one would get quoted back as if it were still current.
## Saving keywords
Ask daoco to save the keywords worth keeping ("save these to our list, tagged onboarding") and they survive past the research session, with the volume and difficulty they had when measured. The saved list is what the writer and the SEO agent start from next time, and each stored number carries its save date so it is never quoted as current.
## Tracking keyword rankings over time
Ask daoco to track the keywords your site targets ("track these keywords for example.com") and every check records where the site actually ranked, so the next check reports the movement: climbed five places, entered the top twenty, dropped off the page, or the ranking URL changed. A keyword not found in the checked depth is reported exactly that way, never as an estimated position. Checks run when you ask, or on a schedule through an automation. The tracked list and the latest positions also appear on the brand's Website page under the SEO tab.
## Reading a domain's ranked keywords
Ask what any domain ranks for, your own or a competitor's, and daoco reads its strongest rankings with positions, volumes, and the domain's overall organic footprint. Two of those reads side by side are the honest version of a keyword-gap analysis: measured, not inferred from the competitor's homepage.
## Plans and limits
* **Keyword research and SERP snapshots** are available on every plan.
* **Backlink data** is part of the Growth plan, which tracks up to five domains.
* **Rank tracking** covers up to 10 keywords on Starter and 50 on Growth. Each check spends one lookup per keyword.
* Each conversation turn has a lookup budget, because every lookup is a paid call to the data provider. If daoco says a turn has used its budget, ask for the one query that matters most in a new message.
## What daoco will not do
* It will not estimate a search volume, difficulty score, ranking position, or backlink count. If the provider is unavailable it says so and offers the work it can still do.
* It will not present a single SERP snapshot as a ranking history.
* It will not treat keyword difficulty as a probability of ranking. Difficulty compares keywords to each other; whether *your* site can win a term depends on what it already ranks for.
## Related
* [SEO in brand chat](/core-workflows/seo-agent)
# Learned brand voice
Source: https://docs.daoco.org/core-workflows/learned-brand-voice
How daoco learns the way your brand writes from your own published posts, and how to read, edit, and turn off that profile.
Learned brand voice is available automatically once the brand has enough
imported post history.
During onboarding you describe your voice in your own words: a few tone words and some writing notes. That is what you say you sound like. Once daoco has imported enough of your real posts, it also learns what you actually sound like, and writes from that.
## What it reads
Every day daoco imports the posts from your connected social accounts, together with the likes, comments, shares, and reach each one earned. See [Social platform import job](/core-workflows/social-platform-import-job).
Once a brand has at least **10** imported posts, daoco reads them and writes a voice profile covering:
* **Overall.** How the brand sounds, in a couple of sentences.
* **Sentence rhythm.** Length, variation, fragments, line breaks.
* **Vocabulary.** The words and constructions you actually reach for.
* **Never says.** Words, claims, and moves absent from every post.
* **Emoji** and **Hashtags.** Your habits, including "none".
* **Recurring themes.** The subjects you keep coming back to.
* **Hook patterns.** How your posts open.
* **Per-platform differences.** Only where a platform genuinely reads differently. Most brands have none.
It also keeps a handful of **exemplar posts**: real posts of yours that best show the voice, with the engagement each one earned. Drafting uses those as the rhythm to match, never as copy to reuse.
Only posts imported from your accounts are read. Posts daoco wrote for you are left out on purpose: learning your voice from daoco's own writing would drift the profile toward daoco rather than toward you.
Below 10 imported posts, no profile is written and your onboarding voice answers stay in charge.
## Where to find it
Open **Brand Hub** and select **Voice & Personality**. The learned voice appears first, followed by your initial voice setup.
## Editing it
Select a field to edit it, then choose **Save**.
An edited field is marked **Edited**, and daoco will not overwrite it. When the profile refreshes, your edited fields stay exactly as you wrote them and only the fields you never touched pick up the new reading.
**Removing a field.** Clear a field and save, and it is marked **Hidden by you**: it drops out of your voice profile and stays out. Refreshing will not bring it back.
**Handing a field back.** Edit the field and choose **Use learned version** to let daoco fill it in again.
Very long entries are refused rather than shortened. If a field is over its limit the save fails and the message names the field, so nothing you wrote is cut in half without telling you.
## Refreshing and turning it off
The profile refreshes about once a week, and sooner if a batch of new posts arrives. You do not need to do anything.
* **Refresh** rereads your posts now. Your edits are kept.
* The **Enabled** switch controls automatic updates for this brand. Turning it off keeps and continues to use the current profile. You can still choose **Refresh** when you want a new reading.
## What uses it
When the profile exists, it is used wherever daoco writes social copy for you: brand chat drafts, the post creation flow, and content automations. It outranks generic tone adjectives when the two disagree.
It is not used for research, analytics, image or video work, or SEO audits.
The [Daily Content Engine](/core-workflows/automations) automation is built on top of it.
# Post analytics
Source: https://docs.daoco.org/core-workflows/post-analytics
Open published-post analytics to review performance, compare variations, and ask follow-up questions in chat.
Post analytics are available from published posts when daoco has platform result data.
## Open analytics
Open the calendar on **Home** and find the published post.
Hover the post and open its available analytics. Campaign views and chat
panels can also surface related performance data.
Check available metrics such as likes, comments, shares, reach, views,
engagement rate, and per-platform breakdowns.
Use brand chat or the analytics panel to ask what worked, what
underperformed, and what to try next.
## What to expect
* Metrics depend on each provider's API and the account permissions you granted.
* Some metrics arrive later or refresh on a delay.
* Use **Refresh** on post or campaign analytics when you want daoco to request the latest available provider metrics.
* Imported native posts may have different metric coverage than posts published through daoco.
* Campaign analytics can combine linked post performance for campaign-level review.
* If a platform returns an error, daoco backs off repeated refreshes and keeps the last successful snapshot when one is available.
# Post scheduling and calendar
Source: https://docs.daoco.org/core-workflows/post-scheduling-and-calendar
Schedule approved posts for future publishing and review timing from post and campaign workflows.
Scheduling lets you approve a post now and publish it later.
## Schedule from chat
Ask for a date, time, and target platform.
```text theme={null}
/post Schedule this LinkedIn and Instagram post for next Tuesday at 10 AM Eastern.
```
daoco prepares the post, shows a preview, and asks for approval before scheduling.
## Schedule from Manual post
Create or open the post you want to schedule.
Confirm the connected accounts and platform variants.
Choose the schedule time in the workflow.
Confirm the scheduled publish action.
## Scheduling checks
* Use a specific timezone when timing matters.
* Check platform limits before scheduling mixed media, multi-account posts, or per-platform variants.
* Review scheduled and published posts in the calendar on **Home**.
* Use campaign calendars for launch planning across multiple posts.
* Campaign and post calendars place published and scheduled items more consistently across day, week, and campaign views.
* On mobile, use the compact calendar pills to open the post details instead of relying on full post text inside each month cell.
* If a scheduled publish fails because a social connection expired, reconnect the account from **Connections**, then review the delivery from the calendar or its chat workflow.
## Mixed schedules
If a multi-platform post has variants scheduled for different times, review the schedule details in the inspector before approving. daoco groups related variants together, but each delivery can still have its own platform-specific requirements and timing.
# Reddit research and engagement
Source: https://docs.daoco.org/core-workflows/reddit-research
Discover subreddits, find threads worth joining, monitor mentions, and hand off drafted Reddit posts and replies from brand chat.
Everything below runs in a single brand chat thread: discovery, targeting, drafting, and the hand-off to your own Reddit account. No Reddit account connection is required to start.
daoco never posts to Reddit for you. Every post and reply ends in a manual hand-off you complete from your own logged-in Reddit account.
Discoveries and new replies appear under [**Social > Conversations**](/core-workflows/community-conversations). The bounded scan keeps every candidate unless it is known to be locked, archived, removed, stale, or non-replyable. Dismiss the ones you do not want. Choose **Draft reply** to start a reviewable response run, or **Manage monitors** to change the automation.
## Discover subreddits
Ask daoco to find communities worth joining. The **Subreddits** panel opens with scored suggestions.
```text theme={null}
Find subreddits worth joining for our brand around home espresso gear
```
Each suggestion shows a fit score out of 10, notes on community rules, and self-promo tolerance when daoco can detect it. Use **Add to targets** on any suggestion to add it to your target list in one click.
## Manage target subreddits
Target subreddits steer discovery and scheduled sweeps toward the communities you care about. Adding a target never posts anything.
```text theme={null}
What subreddits are we targeting?
```
The same Subreddits panel shows your current targets, the keyword seeds that guide searches, and any excluded subreddits. Add or remove targets directly from the panel.
## Find threads worth joining
Ask for recent conversations and daoco opens the **Reddit Threads** panel with scored thread opportunities.
```text theme={null}
Find recent Reddit threads about espresso grinder recommendations and draft a reply for the best one
```
Threads from your target subreddits are prioritized. Each opportunity shows the thread's age and comment count plus a suggested angle for joining the conversation. Choose **Draft reply** on an opportunity to get a reply draft you can review, edit, and hand off.
## Monitor brand mentions
Turn on mention monitoring in the Reddit research settings and daoco checks every two hours for mentions of your brand. Ask any time to see the latest snapshot:
```text theme={null}
Check Reddit for mentions of our brand
```
daoco shows recent mentions and can draft replies for the ones worth responding to. Nothing is ever auto-replied.
## Repurpose top posts
Turn a post that already performed well on another platform into a Reddit-ready post.
```text theme={null}
Turn our best LinkedIn post into a Reddit post for r/espresso
```
daoco gathers the source material, proposes title options, and drafts a post shaped for the community. The hand-off flow below applies.
## Post it yourself: the hand-off flow
Publishing is a manual hand-off by design. Posting from your own account keeps you in control and compliant with each subreddit's rules.
Check the drafted post or reply in chat and request edits until it reads right.
Choose **Copy reply & open Reddit** for a reply, or **Open on Reddit** for a post. daoco opens the target thread or a pre-filled Reddit submit page.
Review the community's rules, make any final tweaks, and submit from your own logged-in Reddit account.
Back in daoco, choose **Mark as posted** and paste the live Reddit link. daoco records the delivery and registers the thread for reply tracking.
**Mark as posted** registers the thread. Once Reddit data access is enabled, daoco checks registered threads for new replies and reports them in chat. Replies are never sent automatically. daoco can draft a response, and you hand it off the same way.
## Automate sweeps
Use the **Conversation Monitor** in [Automations](/core-workflows/automations) to check Reddit and Hacker News every two hours. The run records every candidate returned within the configured scan budget in Social > Conversations. It does not draft every result.
```text theme={null}
Search our target subreddits for conversations about home espresso and grinder upgrades. Record only current threads where we can add a useful answer.
```
Choose **Draft reply** on a result when you are ready. The draft waits for your edits, and nothing is posted without the manual hand-off.
## Account health guardrail
Before you post, daoco can check your Reddit account's age, karma, and recent posting cadence, and advise caution or a cooldown when a post could look spammy to moderators.
Ask "Is my Reddit account in good shape to post in r/espresso this week?" before a first post in a new community.
## Current limits
* **No scheduled auto-publish to Reddit.** Every post and reply is a manual hand-off from your own account.
* **Post metrics are pending Reddit API access.** Score, comments, and upvote ratio require Reddit Data API approval, which is in progress. Reply sweeps on marked posts start once access is granted. Already registered threads pick up automatically.
* **Thread state is estimated.** Discovery runs on open-web search, so whether a thread is locked or archived is estimated until API access lands.
* **Community rules come first.** Review each subreddit's rules and self-promo norms before posting.
# Research and insights
Source: https://docs.daoco.org/core-workflows/research-and-insights
Research public topics and connected account performance with sourced reports inside brand chat.
Research runs inside brand chat and returns findings to the same thread.
## Research lanes
* **External public research** for companies, markets, competitors, websites, trends, public profiles, and public social posts.
* **Connected account insights** for first-party performance questions across linked social accounts.
* **TikTok discovery research** for niche, creator, trend, and content exploration when the research service is available.
Use `/research` for non-SEO research. Use [`/seo`](/core-workflows/seo-agent) for page audits, URL comparisons, schema, content gaps, and AI search readiness.
Research tasks often appear as specialist run cards in chat while daoco gathers sources or connected-account data. Results stream back into the same thread when the run completes.
## Search public social conversations
Name one or more platforms when you want daoco to find public social posts, videos, or discussions about a topic.
```text theme={null}
/research Search X, Reddit, and YouTube for recent conversations about home espresso grinders.
```
```text theme={null}
/research Find public Instagram, LinkedIn, and TikTok posts discussing AI adoption by small agencies.
```
daoco checks an eligible connected API first. When that route is unavailable or has no matching results, the social research preview can use a bounded server-side broker or platform-constrained public-web search. Broker coverage currently focuses on X, YouTube, Reddit, Instagram, LinkedIn, and TikTok; actual availability can vary by workspace and platform.
The inline research surface shows:
* Live search progress and elapsed time while sources are checked.
* A row for each requested platform with its source category and result count.
* Clear **No results**, **Unavailable**, or **Failed** states for platforms without usable coverage.
* Successful results from available platforms even when another requested platform fails.
Broker-backed searches use public content only. daoco does not pass your connected social-account credentials to the broker, and each broker request is bounded.
## Research structured public data
When daoco's dedicated research tools do not cover a structured public-data request, research can check Monid's catalog for a suitable source. The research agent may do one focused web-search pass first, but it will not keep rewriting the same search when the missing answer is a field or record that webpages do not expose. Common uses include public professional and company records, firmographic data, product catalogs, listings, and reviews.
daoco inspects the selected source before running it, verifies that it is read-only, and limits the request to a small result set. It skips Monid when a connected tool or an authoritative webpage already answers the question.
Completed Monid steps show the returned source links directly beneath the tool call. Use those links to review the evidence behind public profiles, company records, and other structured findings.
Monid is for public research. It does not receive connected-account credentials and cannot publish, message, purchase, schedule, or change external data. Private, residential, leaked, and personal-only contact data are outside the research agent's permitted scope.
## Start research
```text theme={null}
/research Compare how three competitors position their onboarding pages.
```
```text theme={null}
/research Which recent posts from our connected accounts performed best, and why?
```
Research uses basic tokens. Longer or multi-step research may consume more than a simple chat response.
Connected-account research depends on provider permissions and available analytics. LinkedIn personal profiles may return account-level insights without importing native posts, while LinkedIn pages and other supported accounts can use richer import and post-analysis flows when available.
# SEO in brand chat
Source: https://docs.daoco.org/core-workflows/seo-agent
Audit pages, compare URLs, find SEO gaps, and improve AI search readiness from brand chat.
Use `/seo` when you want daoco to review public pages or recommend concrete search improvements.
## The SEO tab
Open **Home**, choose **Website**, and stay on the **SEO** tab. This is where everything the SEO work produces is kept, so it is there when you come back.
The band across the top gives you a site score averaged across your audited pages, how many tracked keywords sit in Google's top 10, and how often AI answers mention you. **Run an SEO analysis** starts the first audit, **Re-audit** repeats it, and **Automate** turns it into a recurring watch.
Below that are four cards:
* **Pages**, weakest first. Hover a page for its content, authority, technical, and AI-readiness scores, when it was last audited, and **Fix this page**.
* **What to fix**, the recorded findings ordered by strength. Each one names the measured signal behind it. Choose **Fix with daoco** to start the run, **Copy prompt** to take it elsewhere, or **Source** to open the thread that found it.
* **Keywords**, your tracked positions with **Check now** beside them.
* **Backlinks**, what the backlink watch recorded on its last check.
Each page score is four categories that contribute up to 25 points each, for a total out of 100.
The **Fix** actions require a usable CMS or GitHub connection: GitHub, Shopify, Square, Webflow, Wix, or WordPress. A fix opens the connected resource, prepares the exact change, and stops for approval before any write. Without one of those connections, the control reads **Connect CMS or GitHub** and takes you to **Connections** instead of starting a run that cannot change the site. You can still copy the recorded fix prompt for use elsewhere.
On a connected GitHub repository, a fix that needs engineering judgment is filed as an issue for a maintainer. A fix daoco can author correctly from files it has read can instead become one pull request, opened after your approval. daoco never merges it. See [Connect GitHub](/connections/mcp/github).
## What `/seo` helps you do
* Audit a single page for SEO issues and prioritized fixes.
* Compare multiple URLs.
* Discover important pages from a domain.
* Research competitor SEO pages and positioning.
* Find content gaps for a topic, product category, or competitor set.
* Improve AI search readiness and citability.
* Review schema, headings, canonicals, meta tags, internal links, and page structure.
## Audits remember the last one
Every page audit is stored against the page. Re-audit the same URL later and the report leads with what changed since. It gives score movement by category, plus the specific edits behind it: a rewritten title, a canonical that moved, schema types that disappeared, images that lost their alt text.
If nothing changed, it says so in one line rather than repeating the scorecard. Two spellings of the same page (with and without `www`, with a tracking parameter, with a trailing slash) share one history, so a re-audit is a comparison rather than a fresh start.
Completed audits open separate **SEO audit** and **Rankings** tabs when the brand has recorded rank checks. The rankings tab shows the latest stored positions and their measurement date. Opening an audit does not run a new paid rank check.
## With Search Console and Analytics connected
Connecting [Search Console](/connections/mcp/google-search-console) or [Google Analytics](/connections/mcp/google-analytics) changes what an audit can claim. Instead of ranking fixes by severity, it ranks them by the traffic actually at stake, and it can state indexation and ranking as fact rather than inference.
Google Analytics is available to every workspace. Search Console still sits in the **Dev Testing** category while Google reviews the read scope. Without either connection, audits work exactly as described above and label anything they cannot verify.
## Example prompts
```text theme={null}
/seo Audit https://example.com/pricing and prioritize the top 5 fixes.
```
```text theme={null}
/seo Compare our product page with these three competitors and find content gaps.
```
```text theme={null}
/seo Review this page for AI search readiness and schema improvements.
```
```text theme={null}
/seo Which queries am I close to ranking for, and what should I change?
```
# Skills
Source: https://docs.daoco.org/core-workflows/skills
Choose, edit, and create the playbooks daoco agents use while they work.
Skills are playbooks that daoco loads when a task matches them. They can define a writing method, a design process, a research checklist, or rules for working with a specific tool. Skills guide the work; they do not start runs on their own.
Open the brand switcher and choose **Skills**. The page has daoco's built-in **Library** and **Your skills** for workspace-owned playbooks.
The first time you open **Skills**, a five-step walkthrough explains the library, workspace skills, triggers, agent access, brand scope, and publishing controls. It switches between the two tabs for you but does not change any skill.
## Use the built-in library
Search the library by name, category, or purpose. Open a skill to read its instructions and see which agents can use it.
Workspace admins can turn a built-in skill on or off. Turning it off keeps it in the library but prevents agents from loading it. Choose **Edit** to create a workspace copy when the shipped instructions are close but not quite right. Once that copy is on, agents use it instead of daoco's version.
## Create a skill
Under **Your skills**, choose **New skill**. Give it a clear name and
describe the tasks that should trigger it.
Select the agents that may load it. You can make the skill available to
every brand in the workspace or limit it to selected brands.
Add direct instructions in Markdown. Put examples, source material, or
longer reference notes in the skill's extra files instead of crowding the
main playbook.
New skills start off. Review the saved copy, then turn it on when agents
should begin using it.
Published skills can only be changed by workspace admins. Other members can draft skills for an admin to review.
## Import and export
Use **Import** to add a compatible skill package. Export a workspace skill when you want a backup or need to move it to another workspace. Imported skills still start off, so nothing changes agent behavior until someone enables them.
## Write a useful trigger
The **When to use** field decides whether daoco considers the skill for a task. Name the situation and the expected work. Avoid broad triggers such as "use for marketing" because they make unrelated requests compete for the same playbook.
Good trigger:
> Use when writing a customer case study from an interview transcript. Pull only claims supported by the transcript and keep direct quotes attached to the named speaker.
Keep the playbook concrete. Tell the agent what inputs to check, what decisions to make, what output to return, and what it must not invent.
## Manage a skill
* Turn a custom skill off to stop agents loading it without deleting the draft.
* Archive a custom skill when the workspace no longer needs it. If it replaced a built-in skill, archiving restores daoco's version.
* Edit the workspace copy rather than the built-in original. Library updates remain separate from your copy.
* Limit a specialist playbook to the agents that can act on it. A video editing checklist does not need to load during billing questions.
Skills load only when they match the current task. They do not appear as transcript steps. The work they guide remains visible in the normal [chat execution view](/core-workflows/workflow-panels#execution-ledger).
# Social Platform Import Job
Source: https://docs.daoco.org/core-workflows/social-platform-import-job
Understand the daily import that captures recent native social posts from connected platforms for calendars and analytics.
The **Social Platform Import Job** runs a daily import of recent posts from connected social accounts for every workspace. It only reads from connected platforms and creates published post records inside daoco. It does not publish anything.
## Prepare the import job
Make sure the brand has the social accounts you want imported from
**Connections**. The job only runs for connected accounts.
## What the job does
daoco runs the import job once per day for each brand:
* Looks back about **7 days** for recent posts on connected accounts.
* Fetches native post content, media, and available metrics where the platform supports it.
* Creates or reuses **published** post records in daoco so they can appear in calendar, campaign, analytics, and chat workflows.
* Groups likely cross-platform duplicates into one multi-platform post when daoco is confident they match. One example is the same launch posted to several accounts.
Imported posts are read-only snapshots from the provider. They do not change what is live on the social platform.
## Supported platforms
The job uses your existing OAuth connections. Platform support depends on what each provider exposes for owned-account content listing:
| Platform | Import support |
| --------- | -------------- |
| Bluesky | Supported |
| Facebook | Supported |
| Instagram | Supported |
| LinkedIn | Supported |
| Threads | Supported |
| TikTok | Supported |
| X | Supported |
| YouTube | Supported |
| Pinterest | Not supported |
Some platforms may return partial results or warnings when media, metrics, or older posts are unavailable. The job continues for other connected accounts when one platform fails.
## Review imported posts
Review imported items from the calendar on **Home**, campaign views, or chat. They appear alongside posts daoco published for you, with captions, media, platform variants, and analytics when the provider supplied metrics.
You can open imported posts in chat, link them to campaigns, or use them as reference when drafting new content.
# Workflow panels
Source: https://docs.daoco.org/core-workflows/workflow-panels
Review live work, approvals, datasets, drafts, and finished assets beside brand chat.
Workflow panels open beside brand chat when a result needs more room than the transcript. They stay attached to the thread, so the same panel returns after a refresh or when you reopen the work.
## Panel modes
The panel header shows a tab for every mode the thread has produced. These are the tab names you will see:
| Tab | What it is for |
| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Progress | A turn-by-turn list of planned, active, completed, skipped, and blocked steps. |
| Post Preview | Platform-specific post previews and readiness checks. The preview and editor adapt to the post's format: feed posts edit a caption, carousels page through their images, Reddit drafts edit a title and long-form body with rendered markdown, and stories render in a phone frame with no caption. |
| Dataset | A bounded table preview, column details, basic statistics, protected fields, and a related chart. |
| AI visibility | The scorecard for a brand visibility run across AI answer engines. |
| SEO audit | A stored page audit with its findings and the fixes you can start from it. |
| Rankings | Tracked keyword positions and their movement. |
| Post Setup | Structured caption, account, hashtag, and media details. |
| Social Queue | Queue and delivery overview for social posts in progress. |
| Social Templates | Saved post templates and template application. |
| Post Analytics | Metrics and breakdowns for a published or imported post. |
| Campaign | Campaign plans, linked posts, and campaign progress. |
| Action | A connected-app action on a campaign calendar, with its schedule and approval. |
| Video Editor | Candidate cuts, social previews, captions, timelines, render approval, and video delivery. |
| Source Preview | Fetched article or link content used as post or research context. |
| Article | A long-form article draft you can read and edit before publishing. |
| Brand Review | Proposed brand changes before you apply them. |
| Logo Gallery | Logo concepts, variations, and gallery exploration. |
| Automation | An automation's steps, triggers, and permissions while you build or edit it. |
| Reddit Threads | Reddit discussions found by research, with the ones worth replying to. |
| Subreddits | Subreddit discovery results and their fit for the brand. |
| Hacker News | A Hacker News submission or response hand-off. |
| Needs approval | The exact action, destination, and scope daoco needs you to approve or deny. |
| Reconnect integration | The reconnect step for an integration whose authorization needs attention. |
| Browser auth | The secure browser sign-in step for a platform task. |
| Assets | Generated images, media variations, and reusable visuals. |
| Thumbnail | Thumbnail options and selection for video or post packaging. |
## Execution ledger
The **Progress** panel keeps one entry for each turn in the thread. Open a turn to see its numbered steps. The current step says **Working**, a blocked step says **Waiting for you**, and future or skipped work stays visibly separate from completed work.
You can see how long a finished turn took. When one delegated branch can be stopped safely, its **Stop** control ends that part and skips work that depends on it without canceling unrelated branches.
The panel uses plain task labels such as **Researching**, **Writing the copy**, or **Preparing the post**. Internal agent names, prompts, and skill-loading traces do not belong in this view.
## Approval requests
Approval requests use the same card in chat, workflow panels, post previews, campaign actions, assistants, and automation review. Check the operation, provider or account, affected resource, and any preview before choosing **Approve** or **Deny**.
Approving resumes the paused run. It does not send an extra message or create a second turn. The decision applies only to the request shown on the card. See [Approval preferences](/account-and-billing/approval-preferences).
## Dataset panels
Large table-shaped results from connected tools can open as a dataset instead of pasting provider output into the transcript. The panel shows up to 20 preview rows, the source, fetch time, row and column counts, and available numeric or date statistics.
Restricted columns stay masked and are omitted when you copy rows. If the chat is attached to a campaign, **Open in campaign** records the dataset with that campaign and opens its workspace.
## Inline cards and panels
* **Specialist run cards** show progress and compact results inside chat while a delegated specialist is working.
* **Inline workflow cards** show compact summaries, copy blocks, charts, or action chips in the transcript.
* **Workflow panels** handle editing, selection, preview, and approval steps that need more space.
All of these belong to the same thread. Continue refining by chatting, or use controls inside the panel when daoco opens one.
Expanded specialist run cards can preserve browser steps, links, screenshots, tables, partial results, and token usage when the final answer only summarizes them. Wide tables scroll horizontally on smaller screens.
## Panel lifecycle
* Panels can open automatically when a workflow produces reviewable output, such as a post preview or brand proposal.
* While a turn is still running, the panel may update as new tool results arrive.
* If you close or switch panels, use the panel selector or reopen the item from the relevant dashboard surface.
* Some panels stay available after the run completes so you can edit, approve, or download results.
If chat mentions work you cannot see on the right, check whether a specialist run card is still running or whether the panel selector is set to a different mode.
## Source previews
Article previews open only when daoco extracts substantive page content. Metadata-only results do not open an empty preview, and unavailable hero images stay hidden. The source link remains available when daoco can cite or use the page without a full visual preview.
# daoco knowledge base
Source: https://docs.daoco.org/index
Self-serve guides for setting up daoco, creating content, publishing posts, and managing your workspace.
Start here for the core jobs most teams use first.
Set up your brand workspace, connect accounts, and create your first post.
Build the brand foundation daoco uses across chat, assets, posts, and campaigns.
Link social accounts and integrations to publish or use connected data from chat.
Route work to specialists, review workflow panels, and keep context in one thread.
Run daoco from Slack, Discord, WhatsApp, or a named chat workflow.
Choose, edit, or create the playbooks agents load for matching work.
Understand Starter, Growth, team access, brands, and workspace limits.
Choose what daoco can do on its own and set exceptions for individual connections.
Draft, preview, approve, publish, and schedule social posts.
Build repeatable workflows with triggers, ordered steps, and review controls.
Understand workspace-gated previews like Dev Testing integrations and the video editor.
See what changed in recent daoco releases.
Manage account preferences, brands, billing, usage, team access, and preview flags.
Improve output quality and reduce retries.
Need help? Contact us at **[support@daoco.org](mailto:support@daoco.org)**.
# Preview features
Source: https://docs.daoco.org/preview-features/overview
Understand workspace-gated preview flags and separately labeled preview surfaces in daoco.
Preview features are early surfaces that may change before general availability. Workspace owners and admins control them in Settings.
## Status matrix
| Feature | Workspace toggle | Default | What it unlocks | Guide |
| ------------------------ | ---------------: | ------: | ---------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- |
| Dev Testing integrations | Yes | Off | Provider connections still awaiting provider approval or production readiness. | [Integrations](/connections/integrations) |
| Video editor | Yes | Off | Captioning, clipping, asset-supported compositions, reframing, review, and final video delivery from brand chat. | [Video editor](/core-workflows/clipping-videos) |
## Enable a workspace-gated preview
Choose **Settings** from the manage sidebar.
Open the **Preview features** tab.
Enable Dev Testing providers or Video editor.
Save so the workspace opt-in applies.
Only workspace owners and admins can change workspace-gated previews.
## Graduated features
Pinterest, Reddit, browser automation, brand documents, learned brand voice, assistants, and the Skills library are now on without a preview toggle. New assistant connections support Slack, Discord, and WhatsApp. Existing Microsoft Teams or Telegram connections can still appear for inspection and disconnection, but they cannot be added from the current setup screen. See [Connect Pinterest](/connections/social/pinterest), [Reddit research and engagement](/core-workflows/reddit-research), [Browser automation](/connections/browser-automation), [Brand documents](/core-workflows/brand-documents), [Learned brand voice](/core-workflows/learned-brand-voice), [Assistants](/core-workflows/assistants-and-slash-commands), and [Skills](/core-workflows/skills).
[Articles](/core-workflows/article-writing), the [SEO surface](/core-workflows/seo-agent), [AI visibility](/core-workflows/ai-visibility), [keyword, SERP, and backlink data](/core-workflows/keyword-and-backlink-data), [GitHub](/connections/mcp/github), [Google Analytics](/connections/mcp/google-analytics), and [competitor tracking](/core-workflows/competitor-tracking) are on for every workspace. Provider-backed features still require a working connection.
[Google Search Console](/connections/mcp/google-search-console) has not graduated. It sits in the **Dev Testing** category until Google approves the read scope, so it needs the Dev Testing integrations toggle above.
# Platform support and limitations
Source: https://docs.daoco.org/preview-features/platform-support-and-limitations
Review supported social platforms, media rules, publishing limits, and beta restrictions before publishing.
Platform APIs and account settings can change. daoco validates posts before approval, and a provider may still require account-specific fields or reject content at publish time.
## Supported publishing platforms
* X
* Instagram
* TikTok
* LinkedIn
* YouTube
* Facebook
* Threads
* Bluesky
* Pinterest (image Pins)
## Post formats
Every platform publishes feed posts. Instagram and Facebook can also publish a draft as a **story**: one image or video, no published caption. No other platform offers a story option, because their APIs do not support publishing one. See [Create posts](/core-workflows/create-posts#post-formats).
## Planning checklist
* Confirm every target account is connected.
* Check media type, aspect ratio, file size, caption length, and required fields.
* Review first comment, thread, thumbnail, and draft-upload behavior per platform.
* Review each platform variant when one post targets multiple accounts or networks.
* Publish a low-risk test before a major launch when using a new account or platform.
* Leave time for provider-side review or delayed analytics.
## Browser-backed tasks
[Browser automation](/connections/browser-automation) supports authenticated UI tasks for LinkedIn, Instagram, Facebook, X, Threads, TikTok, YouTube, and Bluesky. Platform and account coverage can still vary by task.
daoco prefers native platform APIs. When a supported task needs the browser, it restricts navigation to approved platform origins and limits writes to posting, commenting, or replying with exact approved text. Review the retained steps, links, screenshots, and outcome before relying on the result or attempting an uncertain write again.
## Analytics caveats
Some providers expose publishing but not complete analytics for every account type. Threads analytics fetching is currently disabled until provider behavior is reliable. LinkedIn personal profiles can support account-level insights without native post import, while LinkedIn pages may support richer page and post workflows depending on connection permissions.
# Brand dashboard and onboarding
Source: https://docs.daoco.org/start-here/brand-dashboard-and-onboarding
Build and maintain the personal or business brand profile daoco uses for chat, assets, posts, and campaigns.
The **Brand Hub** is the home for your workspace's brand foundation. It stores the context daoco uses when it writes copy, generates assets, recommends campaign ideas, and prepares posts.
## What you can manage
* Brand summary, positioning, audience, promise, tone, and differentiators.
* Brand colors, theme preferences, and visual direction.
* Logo and visual identity notes.
* Website-derived context from onboarding.
* Brand updates after the initial setup is complete.
## Set up a brand
Start by choosing **Personal brand** or **Business brand**. daoco adapts the questions, research, profile image or logo step, and final profile to that choice.
Choose **Personal brand** when the public identity centers on a person,
creator, or expert. Choose **Business brand** for a company, product,
agency, or organization.
Enter the public name and add a website, public social profiles, or
both. Use sources that represent the identity you want daoco to
research.
daoco compares the public web and social presence, collects initial
visual references, and prepares an editable profile plus evidence briefs
for the documents that match the brand type.
daoco uses the researched profile to write Brand Summary and the full
document catalog. Research-assisted onboarding does not send you through
the guided questionnaire. Details that were not available from public
sources stay editable in review.
Review the generated documents in the same tabbed view and document
workspace used by Brand Hub. Finish setup when the brand is ready.
Go to **Brand** from the manage sidebar.
Select **Personal brand** or **Business brand** so the prompts use the
right language and visual identity path.
Work through the 14 guided questions. Suggestions adapt as you answer,
and you can write your own response whenever the suggested options are
not specific enough.
Review the completed profile, then open any summary or document card to
correct that one document before you finish.
Website and public-profile analysis continues on the server after it starts.
You can reload the page or visit another dashboard surface and return to the
same progress and result.
## Review and edit
Guided setup includes an editable profile review before it finishes. Check the draft for overly broad claims, missing proof, the wrong audience, or visual references that do not belong to the brand. For a personal brand, confirm the profile photo or headshot is the person, not a platform logo or unrelated artwork. For a business brand, confirm the primary logo and asset choices represent the organization.
Research can find and save a public logo from the sources you provide. To add or replace one yourself, upload a PNG or JPG during onboarding or from **Brand**.
With research-assisted onboarding, Brand Summary and every document in the selected personal or business catalog begin writing as soon as research finishes. Guided setup starts them after you complete the required questions. Research briefs add evidence but cannot override later edits. Thin evidence does not remove a catalog document. The document names what is still unknown instead of inventing a claim. Brand Summary is the only readiness gate, so slower documents do not extend setup. The review uses the same document tabs and formatted editor as Brand Hub. Setup keeps each document as one draft; **Finish setup** accepts the reviewed result as version 1. Version history and document on/off controls become available in Brand Hub afterward.
Nothing is locked after setup. Brand Hub keeps the profile and document workspaces available for edits, suggestions, and version history. If summary generation stalls, use the retry shown during setup instead of restarting the whole brand. daoco keeps the answers and sources already collected.
## Find your way around Home
**Home** shows the brand as five areas. Choose one to open its panel.
| Area | What is inside |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Social | **Analytics** for what your posts did, **Calendar** for scheduled and published work, **Conversations** for [public discussions worth joining](/core-workflows/community-conversations), and **Next steps**. |
| Website | **SEO** for [page audits and rankings](/core-workflows/seo-agent), **AI visibility** for [how answer engines describe you](/core-workflows/ai-visibility), **Articles** for [long-form writing](/core-workflows/article-writing), and **Next steps**. |
| Creative | Your [assets](/core-workflows/assets), brand look, and new work on demand. |
| Email | Campaigns and sends. Connect an email provider to fill it. |
| Sales & Commerce | Products, pipeline, and payments. Connect a commerce or CRM provider to fill it. |
Each area lists the connections it depends on, and **Next steps** suggests the work daoco thinks is worth doing there now.
## Keep brand context current
Update Brand when your offer, audience, pricing, positioning, or visual identity changes. You can start a refresh from the Brand dashboard or ask in **Brand chat** with `/brand`. The dashboard refresh form starts with the current personal or business document catalog selected. Narrow that selection when only some documents need the new sources. The workflow panel gives the source review and each selected document its own page. Document jobs run in parallel after the source review clears. Missing selected documents receive a first version and existing selected documents receive reviewable proposals. Unselected documents stay untouched.
Use the website refresh path when your public site has changed. Use direct edits when you already know the exact field, color, logo note, or positioning detail you want to adjust.
Logo uploads, brand colors, and summary edits show success only after the saved brand record is updated. If your source logo is SVG-only, daoco can prepare a bitmap version for surfaces that cannot display the SVG directly while retaining the original brand asset.
A specific brand profile reduces retries across posts, assets, and campaigns
because the assistant has better defaults.
# Connect platforms
Source: https://docs.daoco.org/start-here/connect-platforms
Connect social accounts and integrations before publishing posts or using provider data in chat.
Open **Connections** from the manage sidebar to connect the accounts and providers daoco can use.
## Connection areas
| Area | What it is for | Access |
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| Social accounts | Publishing and analytics connections for X, Instagram, TikTok, LinkedIn, YouTube, Facebook, Threads, Bluesky, and Pinterest. Supported UI-backed tasks can also use a separate [browser session](/connections/browser-automation). | Available from Connections. |
| Social Platform Import Job | Daily import of recent native posts from connected social accounts into daoco's calendar and analytics workflows. | Runs for connected accounts in every workspace. See [Social Platform Import Job](/core-workflows/social-platform-import-job). |
| Pinterest | Pinterest social publishing for image Pins. | Available from Connections. |
| Integrations | Commerce, website, mail, calendar, files, docs, creative assets, work, knowledge, analytics, CRM, sales, and Dev Testing provider connections for governed read/write work from chat. Built on [MCP](/connections/integrations#what-is-mcp). | Production categories are available to every workspace. Dev Testing providers are visible only when that category is enabled for testing. |
Gmail Individual, Google Drive Individual, and Google Calendar may also need
Google Workspace Admin app access approval when the customer's Workspace
restricts Gmail, Drive, Calendar, or high-risk OAuth scopes. See [Gmail
Individual](/connections/mcp/gmail-individual), [Google Drive
Individual](/connections/mcp/google-drive-individual), and [Google
Calendar](/connections/mcp/google-calendar) for the OAuth client ID and exact
scopes.
Gmail Workspace and Google Drive Workspace require a Google Workspace super
admin to approve domain-wide delegation in Google Admin Console. See [Gmail
Workspace](/connections/mcp/gmail-workspace) and [Google Drive
Workspace](/connections/mcp/google-drive-workspace) for the exact client ID,
scopes, and admin-console path. Google Drive boundaries must be specific
shared drive or folder URLs/IDs that the delegated user can open; display
names, `My Drive`, Workspace domains, and wildcards are not valid boundary
values.
Outlook Workspace and SharePoint Workspace require Microsoft 365 admin
approval. SharePoint and OneDrive also require selected-resource assignments
before daoco can access any files or folders. See [Outlook
Workspace](/connections/mcp/outlook-workspace) and [SharePoint
Workspace](/connections/mcp/sharepoint-workspace) for the exact client ID,
permissions, and admin steps.
## Connect a social account
Allow popups for daoco before you start. Most social platforms open OAuth in a new browser window and return to **Connections** after approval.
For Instagram, Facebook, TikTok, and YouTube, daoco asks the provider to show fresh authorization or account selection instead of silently reusing the current browser account. Other providers control account switching themselves, so check the account name shown in the approval window before continuing.
Connect an X account for posts and media.
Connect an Instagram Business or Creator account.
Connect a Facebook Page.
Connect a TikTok account for video workflows.
Connect a LinkedIn profile or company Page.
Connect a YouTube channel.
Connect a Threads profile.
Connect Bluesky with an app password.
Connect a Pinterest account for image Pins.
## When a connection needs attention
Each row on **Connections** carries a status. A temporary provider error does not change it: daoco only marks an account as needing you when the provider says the authorization itself is gone.
| Status | What it means | What to do |
| ---------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------- |
| **Connected** | Working. | Nothing. |
| **Reconnect Soon** | Access still works, but the provider did not issue something daoco needs to keep renewing it. | Reconnect when convenient, before access lapses. |
| **Token Expired** | Access lapsed. | Choose **Refresh**, or **Reconnect** if that does not clear it. |
| **Needs Attention** | The provider refused a publish on permissions, but the connection is alive. | Reconnect and confirm the permissions the platform asks for. |
| **Reconnect Required** | The provider revoked the authorization. | Reconnect the account. |
A **Reconnect** button appears beside any status that needs it. In the **Social** area of **Home**, an account that needs repair shows an amber ring on its avatar.
A failed publish no longer locks an account out of later publishing on its own. If a publish fails and the status stays **Connected**, the problem was the post or a temporary provider error, not the connection.
## Disconnect an account
Choose **Disconnect** on the connection row. daoco confirms first: it stops posting and reading there until you connect it again, and anything already published stays up. The dialog stays open if the disconnect does not go through, so you can try again.
## Connect integrations
Integrations live under **Connections** -> **Integrations** and are grouped by provider
category. See [Integrations](/connections/integrations) for
provider-specific guides, provider status, and Dev Testing notes.
The main integration categories are:
* **Commerce & Website** for Shopify Admin, Square, WordPress, Stripe, Webflow, and Wix.
* **Mail & Calendar** for Custom SMTP, Gmail Workspace, Klaviyo, Outlook Workspace, and Smartlead.
* **Files & Docs** for Google Drive Workspace, Dropbox, and SharePoint Workspace.
* **Creative Assets** for Logo.dev, Pexels, fal, Cloudinary, AltText.ai, and Miro.
* **Work & Knowledge** for Notion, Asana, Linear, Atlassian, Airtable, monday.com, GitHub, PostHog, Higgsfield, FLORA, Granola, Mixpanel, and Amplitude.
* **CRM & Sales** for HubSpot, Salesforce, Intercom, Zoho CRM, Sprout Social, and Clay.
* **Analytics & Search** for Google Analytics.
* **Dev Testing** for provider cards still awaiting provider approval, service readiness, or production rollout, including Gmail Individual, Google Drive Individual, Google Calendar, ClickUp, Canva, Figma, Gong, Google Search Console, Google Ads, Meta Ads, TikTok Ads, and LinkedIn Ads.
## Before publishing
* Review platform-specific requirements in [Platform support and limitations](/preview-features/platform-support-and-limitations).
* Connect every account you want to target before creating multi-platform posts.
* Reconnect accounts if a provider token expires or permissions change.
* Enable Dev Testing integrations only when your workspace owner or admin is ready to use providers that are still awaiting provider approval.
# Quickstart
Source: https://docs.daoco.org/start-here/quickstart
Set up your brand workspace, connect accounts, and create your first post in daoco.
Use this guide when you are starting a new workspace and want the fastest path to useful output.
Open the manage area and choose the workspace and brand you want to work in.
The sidebar gives you Home, Automations, Campaigns, Manual post, Assets,
Connections, and Settings.
Start on **Brand** and choose **Personal brand** or **Business brand**. Add
a public name plus a website, public social profiles, or both for
research-backed setup, or answer the guided questions. Review the
positioning, audience, voice, colors, and visual direction before you
finish.
Open **Connections** and connect the social accounts or integrations you
want daoco to use. Pinterest is available from the social account list. Dev
Testing integrations appear only when that category is enabled.
Open **Manual post** to write it yourself, or ask in **Brand chat** with
`/post`. Review the generated post, select accounts, fix any readiness
blockers, then publish now or schedule it.
Use the calendar on **Home** to review scheduled and published posts. Hover
a published post to open the metrics daoco can retrieve, or continue working
with drafts from **Manual post** and chat.
## Recommended first path
Build the brand foundation daoco uses for content, visuals, and strategy.
Link social accounts and connect the integrations your workspace uses.
Understand Starter, Growth, team access, and multi-brand workspaces.
Draft, preview, approve, publish, and schedule social posts.
Build repeatable workflows with explicit triggers, steps, approvals, and
permissions.
See which early features are workspace-gated and which are preview surfaces.
Start with a website and public social profiles when they accurately represent
the brand. Guided setup is useful when you do not have public sources yet or
want tighter control over the first profile.
# Context management
Source: https://docs.daoco.org/tips/context-management
How daoco manages long conversations with automatic context compaction and thread hygiene.
Each chat thread has a context window: the amount of conversation daoco can actively consider. The **context meter** in the composer shows how full that window is. When the thread has billed usage, the same circle also shows how many basic tokens the thread has charged so far.
Hover the meter to see **current context** pressure (percentage, progress bar, and tokens in context vs the limit) plus cumulative **`in`**, **`out`**, and **`total`** counts for the thread. See [Understand token usage](/account-and-billing/understand-token-usage#context-meter-in-chat) for a full breakdown.
## Automatic compaction
When the context window fills, daoco summarizes older messages so the thread can continue. The summary preserves important decisions, brand corrections, active drafts, file references, and outcomes from recent specialist runs.
You may briefly see a compaction status while this happens. After compaction, earlier detail is condensed, but daoco keeps the thread usable for follow-up work.
## Active runs and queued follow-ups
If you send a follow-up while daoco is still working, it appears immediately as a queued message instead of starting a competing run. When the active run is safe to steer, a plain-text follow-up can guide its next step. Otherwise, the message stays queued and is picked up at a safe stopping point.
Compatible plain-text follow-ups can be combined into one turn. Attachments and structured inputs stay separate. When you pause a run yourself, queued follow-ups wait until you resume. If you cancel a queued follow-up before it starts, it is not sent to the model.
## What stays in context
daoco prioritizes recent messages, active drafts, open approvals, attached assets, and durable workflow state such as campaign or post panels. Long research transcripts and large tool results may be summarized or trimmed before older casual chat history.
## When to continue a thread
* You are refining the same post, campaign, asset, or clip job.
* Earlier decisions still matter.
* You want daoco to remember constraints from the conversation.
* A specialist run already produced evidence or drafts you want to build on.
## When to start a new thread
* The task is unrelated to the current work.
* You want different assumptions or tone.
* The current thread contains old constraints that could confuse the next task.
* You finished a major workflow and want a clean slate for a new launch or campaign.
Shorter, focused threads are easier to steer and usually more token-efficient. See [Understand token usage](/account-and-billing/understand-token-usage).
# Get better results faster
Source: https://docs.daoco.org/tips/get-better-results
Practical prompting and workflow tips for specific output with fewer retries.
Use these habits to improve output quality and save time.
## Brand foundation tips
* Lock your core narrative before creating many posts.
* Back differentiation with proof, examples, or outcomes.
* Keep one main promise per page or campaign.
* Add constraints for tone, audience, format, and length.
## Chat tips
* Ask for a specific outcome instead of a vague topic.
* Use a [slash command](/core-workflows/assistants-and-slash-commands) when you already know the workflow you want.
* Iterate in small passes: structure, then tone, then length.
* Reuse the same thread when follow-up context matters.
* Start a new thread when the goal changes.
## Publishing tips
* Connect accounts before drafting multi-platform posts.
* Review previews and readiness warnings before approval.
* Schedule with explicit timezone language.
* Check analytics before repeating a format.