continue_work
ChatGPTSend a follow-up into an existing Daoco thread: answer a question Daoco asked, ask for changes, or add detail. If the thread is still working, the message waits its turn. Each call without a clientRequestId sends a new message.
create_brand
ChatGPTCreate a Daoco brand for the person, a personal brand (the person is the brand) or a business, and select it for this app. Daoco then researches the website, public profiles, or description given and writes the brand's profile, voice, and documents; research takes a few minutes, then the drafted profile and the questions research could not answer are open for the person's review in review_brand_setup, and setup finishes when the review is confirmed or 30 minutes after the brand was created. The brand is created in a workspace the person administers; a person without one gets a new workspace on the free Starter trial, which needs no card. Uses an assistant slot and counts toward the workspace's brand limit. Each call without a clientRequestId creates a new brand; a refused call creates nothing and records no clientRequestId.
create_post
ChatGPTSave a social post in the selected brand exactly as given, to one or more connected accounts, as a draft. No model rewrites it and nothing is published. Returns its postId, status, each channel, a Daoco link, and any platform rule the post breaks (blockingIssues), such as a caption too long or missing media. Each call without a clientRequestId creates a new post.
get_brand_context
ChatGPTRead what Daoco knows about the selected brand: identity, summary, voice and tone, audience, positioning, colors, and typography, with counts of what the sections hold. sections adds the visual identity (logos, brand images, and visual styles with example images) or the list of brand documents. task returns the context for one piece of work: the visual style, references, and document passages that apply to it. While the brand's setup is unfinished, setup reports its status (researching, review, writing, or needs_review) and the brand's Daoco link. firstWork lists up to three suggested first pieces of work, each a start_work request, while the brand's first deliverable has not been started from onboarding in Daoco and no AI app has started work in the brand.
get_output
ChatGPTReturn a chart, report, image, or video Daoco made in a thread, the latest by default, plus the thread's other outputs. A chart or report shows in apps that support MCP Apps, with a link to the thread and a field to ask for changes, and every chart result has a PNG image link. An image or video has its download link; an image also comes back as an inline JPEG preview of at most 1568 pixels a side.
get_post
ChatGPTRead a post: its text, LinkedIn link card page, status (draft, awaiting_approval, scheduled, publishing, published, partly_published, or failed), each channel's state, scheduled time, published link or error, whether it waits for a sign-off review in Daoco, and Daoco links to the post and to any open approval.
get_work_status
ChatGPTRead a Daoco thread's status, current plan, the specialists working now, latest update, and Daoco link. Status indicates whether work is running, finished, failed, or waiting on the person. The latest update is cut at 4,000 characters; read_work returns the full thread. Lists the outputs Daoco made in the thread: charts, reports, images, and videos. With waitSeconds, a call on a working thread returns when its status or latest update changes, or when the wait ends; the wait never stops the work.
list_brands
ChatGPTList the Daoco brands this person can work in, and which one is selected for this app, with each brand's workspace. Also lists every workspace the person belongs to, with its workspaceId and the person's role there. When the person has no brands, a note says that create_brand creates one.
list_channels
ChatGPTList the selected brand's connected social accounts with their channelId, platform, account name, whether each is ready to post or needs reconnecting in Daoco, and each platform's limits: caption length, whether media is required, media kinds, image count, video length, and whether stories are supported.
list_work
ChatGPTList work in the selected brand. view "threads" (default): the most recent Daoco threads, in progress and finished, with status, last update time, and threadId. view "drafts": recent unpublished post drafts, newest first, each with a Daoco review link, plus when it has them its planned date (plannedDate, YYYY-MM-DD, a planning date that does not schedule), the time it is scheduled in Daoco (scheduledFor), and the id of the thread that made it. view "needs_you": what is waiting on a person, such as approvals, questions, failures, and reviews waiting on this person's sign-off, each with a Daoco link where the person decides and the threadId when it belongs to a thread; this app cannot approve or publish.
read_work
ChatGPTRead a Daoco thread in order: the person's messages and Daoco's finished answers, with each item's position. Results page by afterPosition and nextPosition. An answer longer than one item's limit has nextTextOffset; calling with itemId and textOffset returns the rest of that answer. An answer still being written is not returned until it is finished (answerInProgress).
review_brand_setup
ChatGPTRead or change the setup review of a brand made with create_brand, in the selected brand. Returns the profile Daoco drafted from its research (name, what the brand does, industry, audience, tone, voice notes) and the questions research could not answer, each with a questionId; while research is still running the profile is partial and there are no questions yet. Fields given replace the drafted values. questionId with answer records an answer, which the brand's documents are written from. confirm true ends the review: Daoco then writes the brand's summary, voice, and documents, which takes a few minutes. An unconfirmed review ends on its own 30 minutes after the brand was created. Only the person who created the brand can change it; brands set up in the Daoco dashboard or already finished have no review here and are edited on their Brand page.
schedule_post
ChatGPTPublish a post now, or schedule it for publishAt, on its channels. The brand's approval settings in Daoco decide whether a person approves first. When they allow it, a schedule is set at once and a publish starts at once (status publishing; get_post reports each channel's link when it is live). Otherwise the status is awaiting_approval with a Daoco link, the person is asked in Daoco and on their personal assistant, and the post goes out only after they approve. A post that breaks a platform's rules is refused with the reasons. Repeating the call while the post waits on its approval returns the same request.
search_brand
ChatGPTSearch the selected brand's shared documents and brand images. With query, returns matching document passages (with documentId) and images (with id and link). With id, reads one document's text in order (nextOffset while more remains) or returns one image with an inline preview.
start_work
ChatGPTStart asynchronous marketing work in the selected brand, such as research, strategy, campaigns, social posts, articles, SEO, or reports. Creates a durable thread and returns its threadId and Daoco link. Work can take minutes and consumes workspace tokens. Resulting drafts remain unpublished for review in Daoco. Each call without a clientRequestId creates a new thread.
stop_work
ChatGPTStop the work running in a Daoco thread, the same as Stop in Daoco, and remove the follow-ups this app queued there. Work done so far stays in the thread; a later continue_work starts it again. Refused while the thread waits on an approval, with the Daoco review link. If nothing is running, this still removes any follow-ups queued by this app.
upload_file
ChatGPTCreate an upload URL for an image (PNG, JPEG, WebP, or GIF, up to 20 MB) or a video (MP4, MOV, or WebM, up to 2 GB) to attach to work in the selected brand. A filename ending in .mp4, .m4v, .mov, or .webm makes a video upload, which needs sizeBytes; any other name makes an image upload. The file's bytes go in the body of an HTTP PUT to uploadUrl within an hour, with the returned headers; the returned uploadId then goes in files on start_work or continue_work. An upload not attached within the hour is deleted.
use_brand
ChatGPTSelect the person's chosen brand for this app's brand-scoped requests. The selection persists until changed and requires workspace access and an assistant slot, either free or already held by this app.