- Brand
- Mondovo
- Category
- Content & Design
- Primary Subcategory
- AI Website Builders
Integration details
Description
Mondovo is a website design and creation tool for business owners, creators and agencies. Turn a description of your business into three distinct website designs, compare visual previews and choose the direction you prefer. Build a landing page or a business website without writing code. Refine your chosen design in plain language: change colors, typography, images, copy and page layout, or add new pages. Interactive cards show your designs, previews and progress in the conversation. When you are ready, ask Mondovo to publish the chosen website and share its live link. Your projects and revision history are saved in your Mondovo account. To support work on your website, you can also browse saved Creative Studio images and videos, review social post drafts, check video project progress and view contacts collected by your website. A Mondovo account is required. Access is limited to the workspace and permissions you approve when connecting.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- AI Website Builders
- Secondary Subcategories
- None listed
- Brand
- Mondovo
- Access
- Account required
- First tracked
- 2026-10-19
- Tool count
- 109
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Your score is coming
ChatGPT now suggests Plugins on its own when they match a user's request.Your Plugin Discovery Score measures how often yours appears, and it will show here as soon as it’s ready.
What discovery looks like

Get alerts for Mondovo
Get updates when Mondovo’s Discoverability Score or category rank changes.
Competing in ChatGPT AI Website Builders
View Category109 tools agents can invoke
Add ONE new inner page to an existing site that already has a design (create_site / create_site_from_design first). Two modes, chosen by whether you pass `code`: • MONDOVO WRITES IT (no `code`): Mondovo's AI generates the page to match the site's theme, header and footer. Give a `description` of what the page is for. Optional `nav_placement` ("main" header menu — the default, "footer", or "none") and `nav_label`: only this page's link is added; existing menu items are never changed. Returns a `job_id` immediately; poll get_job every ~10s until "completed" (~45-90s). Runs server-side even if this conversation ends. Counts as an AI refinement. • YOU WROTE IT (pass `code`): the page you authored is added as-is — no AI, no credits, no job. Send the COMPLETE TSX (same authoring contract as update_variation_file). Nothing wraps your page in the site's chrome, so build it the way this design's existing pages are built — read_design and copy an existing page's imports (usually <ThemeStyles />, <Header /> and <Footer /> from './ThemeStyles', './Header', './Footer'). Put the page's own text in `content` under NEW top-level keys, conventionally one key page_<slug> (e.g. { "page_marketing": {...} } for /marketing); the code reads them as content.page_marketing. Your code may also read keys the site already has, but `content` may not redefine them. Optional `seo` (title, description), `nav_placement` ("main" header menu — the default, "footer", or "none") and `nav_label`. `variation_id` picks the design (from list_variations); omit it for the site's chosen design. The page is validated with the same checks update_variation_file runs (content first, then code); a refusal writes NOTHING and returns the issues. A slug, file name or content key the design already has is refused — to change an EXISTING page use update_variation_file / patch_variation_content instead. On success it returns the page's slug, file and content key plus `how_to_edit`, and lands as one entry in version history (`version`; `history_warning` means it saved but was not recorded). Nothing is live until publish_site. To try an alternative version of an EXISTING page without touching the live one, use create_page_draft, not this tool.
add_page
Add one social post to a brand's content calendar on a date: platform, format, and whatever copy you have (hook, caption, call to action, hashtags, a direction for the visual). WITHOUT `publish_to` it is only a plan (a draft the owner sees in Creative Studio) — nothing is published. WITH `publish_to` (connection ids from list_social_accounts) the post is added AND scheduled to publish publicly on those accounts at that day and time, in one step, exactly as queue_post_for_publishing would. Name the time as `scheduled_date` + `scheduled_time` (the owner's wall-clock time; the brand's time zone is applied), or `scheduled_at`. A day or time already passed is refused. Free. To give it a picture, make one with create_visual and then attach_visual_to_post. Use get_calendar to see what is already planned.
schedule_social_post
Add ONE item to an existing collection: write a blog post, add a dish, a product, a listing. It is saved as a DRAFT by default and stays hidden from visitors. Set status "published" only when the user explicitly asked for it to go live; a published item is sent to the public site by collection auto-publish, so confirm that public change before calling. Does not create the collection — use create_collection for that. For several items at once use add_collection_items.
add_collection_item
Save up to 50 items into one existing collection in a single step — typically the drafts from draft_collection_items that the user kept. They are saved as DRAFTS by default and stay hidden from visitors. Set status to "published" only after the user explicitly asks for it; each published item is sent to the public site by collection auto-publish, so confirm that public change before calling. Each item is saved on its own, so one bad item never blocks the rest; the result lists any that failed.
add_collection_items
Add multiple inner pages to an existing site in one call (up to 10). Each page is generated to match the site's existing theme. Use this to stand up a full set of pages (About, Services, Contact, etc.) at once. The site must already have a design. Returns a `job_id` immediately; poll `get_job` every ~10s until its status is "completed". Pages are generated with bounded parallelism, so a batch of 10 takes minutes, not 10x one page. Per-page failures are reported individually in the job's `failed` array — one bad page does not abort the rest, so a "completed" job can still carry failures worth reporting to the user. These pages are NOT added to the site's menu — to link them, patch_variation_content `navigation` with the full edited array (or use add_page per page with `nav_placement`).
add_pages
Approve the plan the director put up — the only step that makes anything. Send `pending_plan.proposal_id` and its `quoted_credits` as `expected_credit_cost`; a mismatch is refused. Plans quoted at 0 (captions, end cards, trims, library music) are free; drawn beats, a custom music track, text behind the speaker and re-voicing are priced on the plan. A paid plan spends Creative Credits against this connection's daily cap: NEVER approve one without the user's explicit go-ahead on that price. Optional `resolution` picks one of `pending_plan.alternatives` — then send that alternative's credits. A plan with `pack: true` is separate shots: optional `shots` (its `shots[].shot_id` values) approves only those, and `expected_credit_cost` is then the sum of their credits; unchosen shots are not made or charged. If the plan cannot be applied (`request_failed`), its message says why, anything it charged is refunded, and the plan stays waiting to be approved again. Afterwards poll get_studio_video until `ready`.
approve_studio_video_plan
When get_studio_video shows `look_sheet` with `approved: false`, show the user the picture at `look_sheet.url` (the people, place and style every scene is filmed to) and send their answer: `approved: true` when it is right, or `notes` saying what to change (it is drawn again with everything said so far). Free — the film is priced and bought later, as always.
answer_studio_video_look_sheet
Put a finished visual (the job_id create_visual returned, once get_job says completed) on a planned post from get_calendar. A carousel attaches all its slides. Free.
attach_visual_to_post
Return what has happened across this workspace's sites since a given moment — designs generated, a client selecting a direction, sites published, generations failing. Call this at the START of a session to pick up where you left off, then pass the returned `next_since` on your next call to continue from there. Defaults to the last 7 days. This is how you stay current across conversations: events accumulate while nobody is connected, and you collect them when you reconnect.
list_events
Change the look across EVERY page of one design at once: colours, fonts, corner radius, or a complete ready-made preset. Send only what should change. For a change to one section or page use refine_site instead. Publish for visitors to see it.
apply_theme
Change how a site takes appointments. Name only what changes: `enabled` false pauses bookings (nothing is deleted) and true resumes; `mode`; the default appointment `title` / `duration_minutes`; `hours` (the whole weekly schedule); `timezone`; where people can book (`website`, `chat`, `voice` — voice needs the voice add-on); limits (`max_per_slot`, `min_notice_minutes`, `max_advance_days`, `buffer_minutes`); days off (`time_off_add`, `time_off_remove`); emails (`remind_day_before` / `remind_hour_before` — reminders to the visitor before a confirmed appointment, on by default; `morning_agenda_email` — the owner's morning email of the day's appointments). Provided `hours` replace the whole weekly schedule, `time_off_remove` deletes selected time-off rows, and supplied settings/reminder switches overwrite those values. Confirm before changing existing schedules or notifications. The result lists what changed in plain words.
manage_appointments
Whether a site takes appointments and, if not, the one next step — on/off, "pick a free time" or "ask for a time" mode, the weekly hours, the default appointment, where people can book (website, chat, voice — with why each is or is not working), how many are upcoming, waiting for confirmation, or waiting for the owner to pick a time. Pass `include_setup_defaults: true` before set_up_appointments: it adds the defaults a first setup would use for this business (appointment name and length, mode, weekly hours, time zone, channels). Changes nothing.
get_appointments_status
Whether a site has its chat widget — the AI assistant that answers the site's VISITORS, captures leads and can take booking requests — whether it is switched on, whether it is actually installed on the site, and whether voice is on. Not the same as site add-ons (popups, announcement bar, WhatsApp button): those are list_site_addons.
get_chat_widget_status
Choose how a visitor opens ONE item of a collection when they click it in a list or grid: "page" (its own full page — the default) or "modal" (a quick-view pop-up over the list, with photo, description, price, add to cart and a link to the full page). Works for any collection. Each item keeps its own page either way, so links and search are unaffected. The response carries `tradeoffs` — relay them to the owner. The preview shows the change at once; the live site updates on the next publish_site. list_collections reports each collection's current `item_display`.
set_collection_item_display
Make a full copy of a site — code, design, content and every design — as a NEW draft site in the same account. The copy is unpublished and has no address or custom domain; the original is untouched. Counts toward the plan's draft-site limit. Returns the new site's id.
clone_site
Start connecting a domain the user owns (e.g. "example.com") to a site. Returns the DNS records the owner must add at their domain provider; the domain is NOT live until those records exist and verify_domain succeeds. Custom domains need a paid plan — a free plan is refused with an upgrade message. Replaces any domain the site already had. A domain already connected to another site is refused.
claim_domain
Create a new catalog collection on a site that has a design — products, courses, events, jobs, properties, rooms, portfolio pieces. Mondovo sets up its fields, generates a detail-page template in every design plus a listing page, and seeds starter items. Takes up to a few minutes and costs no credits. If the collection already exists nothing is created (`already_existed`) — add items to it instead. Publish the site for its pages to go live.
create_collection
Start a film (does not spend credits). Returns `project.id`. Optional, as on the Video tool's start screen: `kind` (ad, reel, explainer, talking_head, polish) brings that kind's usual length, shape, voice and captions; `format` is a ready format's `slug` and `recipe_id` one of the brand's saved recipes, both from list_studio_video_templates (a recipe carries its own kind, so do not send both); `look` is what the film is made of — filmed (generated footage), photo (the photos of the brand moving in 3D), motion (motion graphics — the director decides from the brief whether to draw it scene by scene or cut it to the music as one film, and can show the product in use), kinetic (motion graphics cut to the music, chosen outright), website (the real site of the brand on screen) or auto (decided per scene, the default). Next, describe the film with studio_video_message: the director writes its storyboard, edits to it are free and undoable, and get_studio_video shows it with the price of making it; make_studio_video makes it once the user agrees to that price. Poll get_studio_video until `ready`. The same film is visible to the owner in Creative Studio. THEIR OWN VIDEO (a talking head, a recording, clips to cut together): send `from` instead of kind/format/recipe/look — one of `video_url` (an https link to an MP4, WebM or MOV up to 80 MB; it is stored in the brand's Library first), `asset_id` (a video from list_brand_assets), `asset_ids` (several, in order: a rough cut, joined with join_studio_video_cut — a finished film's `project_id` counts as a clip too, its export joined as it is, so two finished films are joined without re-opening either), `post_id` (a calendar post's video) or `cut_of` (a joined cut's project id). Free: the clip is read and put on the timeline; then studio_video_message says what to do with it (clean the voice, captions, motion graphics cut to what they say, a new background, presenter or voice, or NEW SCENES before or after their clip — drawn motion-graphics beats on the same timeline, joined into one export, never a separate film) and the director prices it — nothing is charged until approve_studio_video_plan. `title` names the film (otherwise it is named after the clip).
create_motion_project
Create a professional website — Mondovo generates the design (do NOT write HTML/React yourself). ONE call produces THREE competing designs (D1/D2/D3) for the user to choose between: see them with list_variations, make one live with switch_variation. Output quality scales with how RICH and OPINIONATED your brief is about the BUSINESS, so do not send a thin brief: business name (required), industry, location, services/offerings, target_audience, unique_selling_points, `business.tone_of_voice` (put the voice spec here, not in the description — it drives the copy voice directly); and a `goal` — the site's primary conversion objective ("free trial signups from agencies", "book a consultation") which drives the conversion narrative, section flow, and CTAs. All of that helps all three designs equally. The DESIGN inputs are a deliberate TRADEOFF, because they bind all three lanes to the same look: a stated `design.color_palette` fixes the colors for every design, a heavily-specified `mood`/creative direction fixes the whole aesthetic, and `content` you supply (headline, tagline, per-section copy) is used as written in all three — so the three come back differing only in layout and typography. Send them when the user wants ONE look executed well; leave `color_palette` and `mood` open, and omit `sections`/`pages`/per-section `content`, when the user wants genuinely different alternatives to compare (Mondovo's strategist then plans the section arc and page architecture around your goal, and each design picks its own palette and voice). Whatever you do send should be concrete, never generic placeholder text — reference real design styles if the user has a taste (e.g. "editorial serif, warm cream + terracotta, generous whitespace, Aesop-like"). To CLONE or closely reference a live site, set `design.source_url` to its HTTPS URL — Mondovo scrapes the page (screenshot + structure) and adopts its visual design (use `design.source_copy: "preserve"` to also keep its wording, default "rewrite"); this is stronger than describing it in `design.references` text. When `source_url` is set, do NOT send `design.color_palette` — the scraped design drives the colors and an explicit palette is ignored. To recreate from a design SCREENSHOT you already have (not a live URL), pass its HTTPS image URL(s) in `design.reference_images` and set `design.reference_fidelity`: "replicate" reproduces the reference faithfully (its section structure/order and imagery), "inspire" (default) honors its palette/typography/mood while adapting the structure to your business. Returns a site_id; poll get_site every 10s — it reports "generating" for the whole round (typically 3-15 min) and "ready" only when every design has landed. Then call list_variations to see the three. (For a design YOU author end-to-end, use create_site_from_design instead.) To set up a READY-MADE BUSINESS rather than generate a site — a directory, for instance, that arrives with its listings, its submission and claim flows and its pages already working — call list_packs, then pass that pack's `pack_slug` here with its questions answered in `pack_intake`. That path COPIES a curated design instead of generating one, so it costs no generation credits, finishes in about two minutes, and ignores `business`/`design`/`content`/`pages`/`goal` entirely.
create_site
Delete ONE page from a site's design. Links to it are removed from the other pages and it leaves the navigation. It goes to the site's trash and is recorded in version history, so it can be restored. The home page cannot be deleted. Publish for visitors to stop seeing it.
delete_page
Delete a page draft and its copy of the text. The live page is not touched. Recorded in version history, so restore_version can bring it back. Confirm with the user before deleting a draft they made. `page_slug` is optional — it is worked out from the draft.
delete_page_draft
Remove one planned post from the calendar. Cannot be undone. Anything already published stays published.
delete_social_post
Summarise colours, fonts and voices for a brand so you can write on-brand prompts. Does not spend credits.
describe_brand_kit
Write up to 12 new items for an existing collection from a short brief ("8 help articles about returns", "6 autumn menu dishes"), shaped by the collection's own fields. NOTHING IS SAVED: show the drafts to the user, then save the ones they keep with add_collection_items. Free to the user; limited per hour.
draft_collection_items
Copy one planned post on the calendar. The copy is not queued anywhere. Free.
duplicate_social_post
Merge a JSON patch into a design variation's content — headlines, prices, FAQ answers, image URLs, link targets. Because content and code are separate, most refinements are pure content edits and need no code change at all. Merge semantics: objects recurse (so patching content.hero.headline keeps hero.subhead), null deletes a key, everything else replaces. Validated against the code's references before writing — removing a key the code reads is rejected rather than silently blanking a section. Prefer this over refine_site for any copy change: it is instant and needs no AI round-trip. The edit is recorded in version history (`version` in the response) and can be undone with restore_version; a `history_warning` means it saved but was not recorded. Omit `index` to patch the active design. NOTE: form definitions (`forms`, `modalForms`) are site-global — a form id the site already defines is ONE definition shared by every design, so editing it applies site-wide regardless of `index`, and the response echoes the key in `site_global_keys` so you can say so rather than reporting a per-design change. Send the full edited form entry (same `id`); new form ids stay with this design. PAGE DRAFTS: a draft's text lives under its own `content_key` (from create_page_draft / list_page_drafts) — patch ONLY that key, with the draft's design `index`, to change the draft without touching the live page. Patching the live page's keys (hero, page_about, …) changes the live site.
patch_variation_content
Change a planned post's copy (hook, caption, call to action, hashtags), pillar, goal, visual direction, platform, format, day or draft/ready status. Only the fields you pass change. Free; this does not publish immediately. Changing the day of an already queued post also changes its external publishing schedule.
update_social_post
Change the script card the director put up (pending_plan.kind "script"): the words on screen, what is seen, the voice line or the seconds of any scene, by its scene_id — and answer the card's open questions (pending_plan.questions: words in the owner's own script the brand facts do not back) with keep or remove; editing that scene's field is the "change". FREE — nothing is recorded or drawn; the card is put up again. Approve it with approve_studio_video_plan at expected_credit_cost 0 once no question is open.
edit_studio_video_script
Change the film's storyboard directly — FREE, applied at once, and undoable; nothing is made or charged (what a change costs shows on get_studio_video `button`, and only make_studio_video spends). Send ONE of: `ops` with the storyboard `version` you read as `expected_version`; `undo: true` with `expected_version` to take back the latest edit; or `revert_turn: { turn_id, keep? }` to take back what one studio_video_message turn changed (keep lists that turn's change ids to leave in place). Ops: edit_scene (scene_id + see / say / on_screen / seconds; on a filmed scene with somebody on camera, `say` is their line as the storyboard shows it, "Riley: …", and replaces it — it is never narration there; `fit` on a scene showing their clip: frame|pan|split|crop — a device frame, a pan across it, under the presenter, or cropped to its subject), remove_scene, reorder (scene_ids in the new order), set_music (off, track_id, energy upbeat|steady|calm, mood, volume 0–1, level quieter|louder), set_captions (on, style), set_caption_tier (scene_id + tier heading|body: that scene's spoken words emphasised in the captions, scene 1's also as the title at the top, or ordinary captions; filmed or photo scenes only), set_follow_stretch (scene_id + from + to: a scene that copies a video's moves follows another part of it — exactly one of that scene's `follow.choices`; the scene then reads changed and is made again on the button), redraw_storyboard (scene_id + optional note, e.g. "she holds the laptop lower": a filmed scene's storyboard — its `storyboard_sheet_url` — drawn again, free; the scene is then made from the new one), set_voice (source library|own + id, or voice_name; source none turns the narrating voice off — lines said on camera stay), set_voiceover (on: true|false), set_style (bold|elegant|playful|minimal — a feel; it never changes colours), set_colours (mode brand|designer|custom, and for custom `hex` as #rrggbb, most important first: the film's own colours, which every drawn scene and caption uses), trim_to (seconds, on its own), set_thing (thing_id + confirm or asset_id), add_scene_action (scene_id, action remake|change_person|change_thing|bring_to_life|cutaway|longer|language|redraw, note, asset_ids, language as a BCP-47 tag) — a paid change that goes on the button — and remove_scene_action, pick_script_option (option_id from `storyboard.script_options`), place_media (scene_id + asset_id: that scene shows one of THEIR files — a `media[].id` from add_studio_video_media or one already on the film — free; for a clip, optional from + to in seconds pick the stretch shown, else its first usable part as long as the scene), clear_media (scene_id + as filmed|drawn: the reverse — a scene showing their file becomes a filmed or drawn scene again, its words kept), insert_media_scene (after_scene_id, null for first, + asset_id: a new scene of their file), and set_format (aspect 9:16|4:5|1:1|16:9 and/or resolution 720p|1080p; before anything is made only the price moves, after it drawn scenes are redrawn and filmed scenes reframed, for free where the shot covers the new frame). If the storyboard changed since `version`, nothing is applied and the answer carries the current storyboard to try again against. Returns `changes` ({ id, summary }), the new `version`, and the storyboard and button.
edit_studio_video_storyboard
File a ticket with the platform's support team in the signed-in person's name — for a bug, a billing question, a feature request, or anything the user wants a human to look at. Write a one-line subject and a description with the relevant detail from the conversation (what they tried, what happened, which page); put anything else useful in context. Use "urgent" only for a site that is down or data that is lost. Pass site_id when it is about one site. The team replies in Settings → Support.
create_support_ticket
Search one brand's library by title words. Prefer list_creations when you want a page of recent work.
find_creation
Scan every page and block of one design for internal links that point at a page the site does not have, with the page each one is on and its line. Dynamic links (e.g. to each blog post) are counted but not judged; external links are not fetched. variation_id picks the design (from list_variations); omit it for the site's chosen design. Changes nothing — fix a broken link with refine_site or add the missing page.
validate_links
Read the images on a public web page — e.g. the business's old website — optionally keeping only those matching `intent` ("team headshots"). Writes nothing. Show the user the candidates, then import the ones they pick with import_images_from_url. Only use pages the user has the right to take images from.
find_images_at_url
Start an image generation job. Spends Creative Credits. REQUIRED: call plan_visual first — with the same creative_kind, tier, `visual_type` and `references_count` (the length of `references`) — and send its `credits` as `expected_credit_cost`, plus a stable `idempotency_key` so a retry cannot double-charge. This connection also has a daily spend cap set at consent — if you hit it, wait until UTC midnight or tell the user to reconnect with a higher cap. SETS, as Creative Studio makes them — ONE job, ONE generation's price, cut into separate pictures (`output_urls`): by default you get 4 versions of your prompt (3 for a thumbnail) to choose from, as the Studio shows; `batch` changes how many (1-4). `options` (2-4 directions, each its own prompt and optionally its own words) gives competing alternatives instead. Never call this repeatedly for more choices. CAROUSELS: creative_kind "carousel" with `slides` (2-8, in swipe order: the first is the cover — headline + optional subhead; the last is the ask — cta + optional headline; the ones between are content frames — title, a frame_type and its fields) and optional `preset` (portrait 4:5, the default, or square). The whole deck is drawn as ONE picture and cut into its slides, at one flat price; the words on each slide are the words you send. Keep slides SHORT — big type renders cleanly, small dense type does not: a few words per line, list bullets of one short line. One call = one deck; do NOT make a carousel slide by slide. The answer (or get_job, while it runs) carries `slides`: the slide URLs in order. Look at them: a slide whose words came out wrong is fixed with redo_carousel_slides (one free redo per slide), not by remaking the deck. WORDS ON THE PICTURE: put the exact words to render in `exact_copy` (headline, offer = the sub-headline or supporting line, cta, brand_name); when you leave it out, the words the prompt quotes for the picture are lifted from it, and a prompt with none renders no text. ART DIRECTION, as the Studio's brief sets it: `typography` (how the words are set: weight, case, style), `layout` (where the copy sits), `goal`, `objective`, `awareness_stage`; `thumbnail_surface` for a thumbnail. REAL PHOTOS, LOGOS, PEOPLE: pass brand Library asset ids (list_brand_assets, or upload_brand_asset for a file at a URL) as `references`, with `reference_roles` saying what each is for. BRAND CONTEXT — decide it every time: by default the brand workspace's own business description, colours and logo are written into the brief, so the picture is ABOUT that business. When the piece is about anything else — a topic, an opinion, a how-to, an industry point, or another company — send `brand_context: "prompt_only"` so only your prompt (and exact_copy) is used, or the output reads as an advert for the workspace. For another company's work, use ITS brand (get_site_brand for its website, or create_brand). Output URLs are public CDN links.
create_visual
Return the organization Creative Credit wallet for this brand, plus this connection's remaining daily spend cap when the caller is a machine.
get_credit_balance
Fetch one brand workspace by id from list_brands.
get_brand
Where a film is. `storyboard`: its `version` (send it to edit_studio_video_storyboard), `scenes` (each `id`, `n`, `type`, `seconds`, what we `see`, what is `say`-d, the `on_screen` words, `status` made / changed / making / failed / new, a `picture_url`, on a filmed scene its `storyboard_sheet_url` (the sheet of its key moments the scene is made from — show it; redraw it free with edit_studio_video_storyboard `redraw_storyboard`), and on a scene that copies a video's moves `follow`: the part it copies (`from`/`to`), its `line` and the other parts it may follow (`choices`)), `things` (people, places, products, style), `layers` (music, voice — with `voice.take` { url, seconds, stale } once the voiceover is recorded, to play to the user — captions, and the film's `pace`, punchy or calm), `script_options` (other versions of the script; pick one with edit_studio_video_storyboard `pick_script_option`), `still_missing` (what the director will choose if nobody does) and `undo`. `button`: the film's one button — its `label` and `hint` exactly as the user sees them, its price in `credits` with the `lines` it is made of, the `quote_hash`, `step` (a narrated film is made in TWO presses: `voice` = this press records only the voiceover — the film after it costs about `film_after_voice_credits` — then `film` = the film, cut to that recorded read; `voice_after` = an ad or reel shot picture-first: its picture is done and this press records the voiceover fitted to it and puts it on the film, with any `lines_too_long` to shorten first), `nothing_to_make`, the allowance for fixes (`budget`) and `making.stoppable` while a press is making. Before make_studio_video the user must see that price: in a chat with approval cards, propose make_studio_video and the card shows it (never write the label as text); otherwise show them the label and the lines first. Also: `status`, the `timeline` (each clip's kind, duration, status, its file as `url` and a `file_name` to save it under; for a transparent drawn graphic `transparent.mov_url` / `transparent.webm_url`; a separate-clips shot is delivered trimmed to its planned length and usually without sound, so `url` is that delivered file only once it is ready, `full_take_url`/`full_take_file_name` the take as generated, and `delivery.state` one of finishing, finishing_late, delivered, as_generated), an older film's plan waiting for approval (`pending_plan` with `proposal_id`, `quoted_credits` and its `price_lines`), `drawn_on_film` (`motion_graphics`: playing = a motion-graphics edit plays with its captions and closing card in the picture, kept = taken off and kept to put back, null = none; `layers`: each overlay layer — captions, end_card, hook_title, lower_third, logo, drawing — with what it shows; `put_back_available`: what the last removal took off. To change any of it, ask in studio_video_message — "remove the motion graphics", "put the graphics back", "remove the extra captions" — free, at once), the director's last reply (`last_reply`, written at `last_reply_at`) and question, a `rough_cut` (several of their clips: joined or not, and what next), and `export.url` once the film is put together (`ready: true`). On a connection with a daily Creative Credit cap, `daily_cap` shows `remaining_today` and whether it `covers_button` / `covers_pending_plan`, and `max_budget_credits` — the largest make_studio_video `budget_credits` it can hold (a press reserves the larger of its price and that allowance) — check it before asking the user to agree to a price. Poll about every 30 seconds while making. Does not spend.
get_studio_video
Poll a queued operation started by refine_site, add_page, add_pages, or create_visual (a finished visual comes back with the image attached, so check it before showing the user). Call every ~10s with the `job_id` those tools returned until `status` is "completed" or "failed". IMPORTANT: a "completed" job can still carry per-item failures — check the `failed` array and tell the user about anything in it, because one failed page never aborts the rest of the batch. Use get_site (not this tool) to poll create_site and publish_site — those run a design generation round, which is tracked separately. Creative jobs require `creative:read`; site build jobs require `sites:read`.
get_job
Fetch a single contact by id, with every stored attribute: name, email, phone, company, address, pipeline stage, tags, custom fields, lead score and owner. Get the id from list_contacts. PERSONAL DATA — same handling rules as list_contacts.
get_contact
One form's fields (name, label, type, required, options), submit button text and full submission settings. Take the slug from list_forms.
get_form
Get the current status and details of a site. Use to poll for generation/refinement completion (every ~10s) and to get the preview/deployment URL. `status` is one of: generating (a round is running — this covers every phase, and is also what you get while the state is momentarily unknown, so keep polling) | ready | publishing | published | publish_held | error. "publish_held" means the last publish crashed or loaded blank in a browser check before going live, so it was NOT made live (any earlier version is still what visitors see) — tell the user `publish_message`, fix the page it names, then publish again. Only "ready"/"published" mean the work is finished; `generation_progress` is informational and is NOT a completion signal on its own.
get_site
List planned social posts between `from` and `to` (YYYY-MM-DD, inclusive). Max 400 days.
get_calendar
BEFORE creating a site, call this to get Mondovo's structured intake questions (goal, audience, visual lane, tone, density, color direction, sections, must-haves, references, etc.) AND the design-method choice (you design it vs Mondovo generates it). Pre-fill every answer you can already infer from the conversation/context, then ask the user ONLY the genuine gaps (conversationally, not a wall of text) and show your assumptions for confirmation. Collect answers, THEN call create_site / create_site_from_design. Running this interview first is what turns a generic site into a tailored one. Read-only.
get_intake_questions
Ask MONDOVO to generate an ADDITIONAL design variation for an existing site — an alternative layout the user can compare and switch to. This APPENDS a new variation (never overwrites the current design). Use this when the user wants "another option" but does NOT want you to author it; to author the alternative yourself instead, use import_design_variation. It is a WHOLE-SITE design — to try another version of ONE page (the home page included), use create_page_draft instead. TWO MODES. Omit `clone_index` and Mondovo generates a design deliberately DIFFERENT from every existing one (the user is collecting options to compare). Pass `clone_index` and Mondovo builds a SIBLING of that specific design instead — same style personality, palette and type, varying layout and composition. THIS IS THE RIGHT TOOL FOR "make another one like design N" or "same look, different layout". You do not need to read a design's source to build on it: name its index here and Mondovo generates from it server-side. Call get_render_diagnostics first if you want to SEE the design you are building on. Returns 202; poll get_site until status is "ready".
generate_design_variation
Copy images the user picked (from find_images_at_url) into the site's media library as permanent files. Importing the same image again reuses it. They are NOT placed on a page — place one with apply_hero_pattern, apply_image_replacements or refine_site.
import_images_from_url
Join a ROUGH CUT — a film made from several of their clips (create_motion_project `from.asset_ids`; get_studio_video shows `rough_cut`) — into one film, as the Video tool's Join does. Also PUTS A FINISHED STORYBOARD FILM TOGETHER AGAIN (nothing being made), so a change to its captions or overlays that needs no new scene reaches its file. Free: nothing is generated or charged, the clips are joined as they are, in order, and an unchanged film answers with the file it already has. Answers `joined: true` with `export_url`, or `joining: true` (poll get_studio_video until `ready` with `export.url`). A cut is not a film the director edits: to change the joined film (captions, motion graphics, a voice, new scenes), open it as one film with create_motion_project `from: { cut_of: <this project_id> }` and talk to that film with studio_video_message.
join_studio_video_cut
List waiting social-copy drafts for a brand (Content tab). Does not spend. Use quote_content_pack to price a new set. Ads and paid-media copy are plan_visual, not this.
list_content_drafts
List the Creative Studio brand workspaces this connection can see, one short row each (get_brand or describe_brand_kit for a brand's full kit; `query` filters by name). Use a returned id as `brand_id` on every other creative tool. Restricted members only see brands for sites they were granted. With `creative:generate`, also returns `websites_without_brand`: websites (e.g. one you just built) whose brand is made on first use — call get_site_brand with one's `site_id` to open it. For a client or pitch with no website here, create_brand. Make a client's work under THEIR brand, never another client's.
list_brands
The files uploaded to a brand's library — photos, logos, videos, documents — newest first, with ids and urls. Generated visuals, logos and films are list_creations.
list_brand_assets
List the catalog collections a site has — blog, menu, products, listings, help articles, events — with each one's fields (name, label, type, required) and item count. Call this before adding or editing items so you use the collection's real slug and field names.
list_collections
Mondovo ChatGPT Plugin FAQ
How the directory, categories and Discoverability Score work.
Read the methodologyHow do I improve Mondovo's ChatGPT Plugin discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are Mondovo alternatives on ChatGPT?
As of 2026-10-19, Mondovo competes with AgentBuild, Allo Christian, AVSBL Website Builder, B12 Website Generator, Beste, Croisa, Dazzly, Drivethrough and 22 more in ChatGPT AI Website Builders, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.