hermosodocs

Connectors

A connector is an account the user has linked to a profile. Tools that publish, read insights or manage campaigns act through one, so post_to_x works when X is connected and answers 401 when it is not.

Generated from the shipped connector table. The description and capability chips below are the same strings the product renders on its own Connectors page, and the approval notes are the same gate table the server enforces. Nothing here is a second copy that can drift.

Three rules that explain most connector behaviour

  1. Linking needs a browser; using does not. OAuth means a consent screen, so an agent can never connect a new account — it uses what is already linked and sends the user to the app for the rest. list_connectors shows what a workspace has.
  2. Accounts are picked, never guessed. One person often administers several Facebook Pages or LinkedIn company Pages. Only the accounts ticked for a brand are usable, enforced on the server, and an empty selection shares nothing. Read them with list_connector_accounts, change them with set_connector_accounts.
  3. “Not connected” has exactly one shape. 401 with a connector field naming the provider. A 401 without that field means the caller's own session or key is bad. See Errors.

Social & Publishing

Meta

Facebook & Instagram posts, ads, comments and DMs (Messenger + Instagram Direct, message requests included). A Page-less Instagram uses the Instagram connector. Posts can’t be edited.

FacebookInstagramAd campaignsLead formsInsightsCommentsDMs

Key
meta
Linked by
OAuth — the user approves it in a browser. An agent cannot link a new account; it can only use one already linked.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

Instagram

Instagram on its own, no Facebook Page needed: everything Meta does for Instagram, minus ads. A Page-linked or advertised account goes on Meta instead, never both.

PublishReelsCarouselInsightsCommentsDMs

Key
instagram
Linked by
OAuth — the user approves it in a browser. An agent cannot link a new account; it can only use one already linked.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

WhatsApp

Message opted-in customers from the business’s own WhatsApp number. Only for a number you don’t have yet; one you already manage is ticked on Meta instead, never both.

MessagingTemplatesInboxBroadcasts

Key
whatsapp
Linked by
OAuth — the user approves it in a browser. An agent cannot link a new account; it can only use one already linked.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

Telegram

Post to a channel, group or chat as your own bot, and read replies. 4096 characters of text, 1024 with media. Telegram can’t list a bot’s chats, so you name it.

PostScheduleCarouselVideoMessagesDelete

Key
telegram
Linked by
Pasting a credential in the app.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

Whop

Forum and chat posts in your whop, now or scheduled, with images, video, pins and polls. Your products set up your brand.

PostScheduleImagesVideoPinPolls

Key
whop
Linked by
Pasting a credential in the app.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

WordPress

Blog posts on your own WordPress site: publish, draft, schedule, edit or delete, with a featured image, inline images and video. Self-hosted sites only; WordPress has no per-post views.

PublishScheduleDraftsImagesVideoCategoriesDelete

Key
wordpress
Linked by
Pasting a credential in the app.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

Bluesky

Post as your account: 300 characters, plus EITHER up to 10 images OR one video, never both (video needs a confirmed email). DMs too: 1000 characters, text only.

PostScheduleImagesVideoDMsDelete

Key
bluesky
Linked by
Pasting a credential in the app.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

Threads

Publish text, image or video posts, repost anyone, read performance, reply to and hide replies, search Threads. No edit, only delete and repost.

PublishRepostInsightsRepliesSearchDelete

Key
threads
Linked by
OAuth — the user approves it in a browser. An agent cannot link a new account; it can only use one already linked.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

YouTube

Publish videos to your channel (public, unlisted or private), then read performance and reply to comments.

PublishCommentsAnalytics

Key
youtube
Linked by
OAuth — the user approves it in a browser. An agent cannot link a new account; it can only use one already linked.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

TikTok

Publish a video or photo post (up to 35 images), live or into drafts, and read how each did. TikTok’s API can’t delete or edit a post once it’s up.

PostingPost statsFollower stats

Key
tiktok
Linked by
OAuth — the user approves it in a browser. An agent cannot link a new account; it can only use one already linked.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

LinkedIn

Post to a company Page or your profile, run ads, sync lead form leads to Hermoso or your CRM, answer comments. Your profile is off unless you turn it on.

PublishingCompany PagesAd campaignsLead formsComments

Key
linkedin
Linked by
OAuth — the user approves it in a browser. An agent cannot link a new account; it can only use one already linked.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

X (Twitter)

Post, thread, poll or reply, read performance and mentions, answer DMs. X keeps only 30 days of them. X charges per API call, so every action costs credits.

PublishThreadsAnalyticsDMsMentions

Key
x
Linked by
OAuth — the user approves it in a browser. An agent cannot link a new account; it can only use one already linked.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

Pinterest

Publish image and video Pins to a board you pick, edit or delete Pins and boards afterwards, and read how each one did.

PublishBoardsEditDelete

Key
pinterest
Linked by
OAuth — the user approves it in a browser. An agent cannot link a new account; it can only use one already linked.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

Google Business Profile

Post updates, events and offers to your Google Search & Maps listing, and read the calls, clicks and directions they drive.

PublishOffersInsights

Key
google_business
Linked by
OAuth — the user approves it in a browser. An agent cannot link a new account; it can only use one already linked.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

Mailchimp

Your ads as Mailchimp emails: templates, campaign drafts and their opens, clicks and revenue. Nothing sends until you approve the recipient count.

Email templatesCampaign draftsOpens & revenue

Key
mailchimp
Linked by
Pasting a credential in the app.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

Klaviyo

Your ads as Klaviyo emails: templates, campaign drafts and their opens, clicks and revenue. Nothing sends until you approve the recipient count.

Email templatesCampaign draftsOpens & revenue

Key
klaviyo
Linked by
Pasting a credential in the app.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

Advertising

Meta

Facebook & Instagram posts, ads, comments and DMs (Messenger + Instagram Direct, message requests included). A Page-less Instagram uses the Instagram connector. Posts can’t be edited.

FacebookInstagramAd campaignsLead formsInsightsCommentsDMs

Key
meta
Linked by
OAuth — the user approves it in a browser. An agent cannot link a new account; it can only use one already linked.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

Google Ads

Campaigns, budgets and reporting for Google Ads. New campaigns start paused, so nothing spends until you enable them.

ReportingCampaignsBudgets

Key
google_ads
Linked by
OAuth — the user approves it in a browser. An agent cannot link a new account; it can only use one already linked.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

Microsoft Ads

Campaigns, ad groups, search ads, keywords, budgets and reporting on Bing.

ReportingCampaignsBudgets

Key
microsoft_ads
Linked by
OAuth — the user approves it in a browser. An agent cannot link a new account; it can only use one already linked.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

Apple Ads

App Store search ads and Ads on Apple Maps, all created PAUSED. An App Store ad renders from your App Store Connect page, not an image you upload; a Maps ad uses your own image.

CampaignsKeywordsReportingCreatives & adsApple Maps brands

Key
apple_ads
Linked by
Pasting a credential in the app.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

AppLovin Ads

Campaigns, creative sets, reporting and the website pixel for AppLovin Ads. New campaigns start paused, so nothing spends until you turn them live.

ReportingPixelCampaignsCreative sets

Key
applovin_ads
Linked by
Pasting a credential in the app.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

ChatGPT Ads

Ads inside ChatGPT: the sponsored card under an answer. Campaigns, budgets and reporting; one format only, a text + image card, no video.

ReportingCampaignsBudgets

Key
openai_ads
Linked by
Pasting a credential in the app.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

LinkedIn

Post to a company Page or your profile, run ads, sync lead form leads to Hermoso or your CRM, answer comments. Your profile is off unless you turn it on.

PublishingCompany PagesAd campaignsLead formsComments

Key
linkedin
Linked by
OAuth — the user approves it in a browser. An agent cannot link a new account; it can only use one already linked.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

TikTok Ads

TikTok ad campaigns, budgets and reporting.

Ad campaignsReporting

Key
tiktok_ads
Linked by
OAuth — the user approves it in a browser. An agent cannot link a new account; it can only use one already linked.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

Snapchat Ads

Snapchat campaigns, ad squads, budgets and performance. Headlines run up to 34 characters.

Ad campaignsReporting

Key
snapchat_ads
Linked by
OAuth — the user approves it in a browser. An agent cannot link a new account; it can only use one already linked.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

Reddit Ads

Reddit ad campaigns, ad groups, budgets and reporting.

Ad campaignsReporting

Key
reddit_ads
Linked by
OAuth — the user approves it in a browser. An agent cannot link a new account; it can only use one already linked.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

X Ads

X (Twitter) campaigns, line items, promoted posts, targeting and reporting.

Ad campaignsReporting

Key
x_ads
Linked by
OAuth — the user approves it in a browser. An agent cannot link a new account; it can only use one already linked.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

Pinterest Ads

Pinterest campaigns, ad groups, budgets and reporting, promoting Pins that are already live.

Ad campaignsReporting

Key
pinterest_ads
Linked by
OAuth — the user approves it in a browser. An agent cannot link a new account; it can only use one already linked.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

Analytics

Google Analytics

GA4 traffic, conversions and realtime activity by channel, campaign or landing page, plus key events and custom dimensions. Only properties you tick are readable.

ReportsRealtimeProperties

Key
google_analytics
Linked by
OAuth — the user approves it in a browser. An agent cannot link a new account; it can only use one already linked.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

Google Tag Manager

Your site’s analytics and conversion tags. Audit what is live and stage new ones. Nothing Hermoso writes reaches a visitor until you publish the container.

Tag auditConversion tagsTriggersPublish

Key
google_tag_manager
Linked by
OAuth — the user approves it in a browser. An agent cannot link a new account; it can only use one already linked.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

Google Search Console

Impressions, clicks, CTR and position for the organic traffic Google sends you, the one place real search terms still exist. Plus index status and sitemaps.

Search termsIndex statusSitemaps

Key
google_search_console
Linked by
OAuth — the user approves it in a browser. An agent cannot link a new account; it can only use one already linked.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

Bing Webmaster Tools

Bing search terms, clicks and position, crawl issues and inbound links, plus keyword research with real impression volumes. Bing also feeds Copilot.

Search termsKeywordsCrawl

Key
bing_webmaster
Linked by
Pasting a credential in the app.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

HubSpot

Your CRM: read and search contacts, create or update by email, push Meta and LinkedIn lead-form leads in without duplicates, and report deals by stage, source and month.

ContactsLead syncDeals

Key
hubspot
Linked by
OAuth — the user approves it in a browser. An agent cannot link a new account; it can only use one already linked.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

Mailchimp

Your ads as Mailchimp emails: templates, campaign drafts and their opens, clicks and revenue. Nothing sends until you approve the recipient count.

Email templatesCampaign draftsOpens & revenue

Key
mailchimp
Linked by
Pasting a credential in the app.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

Klaviyo

Your ads as Klaviyo emails: templates, campaign drafts and their opens, clicks and revenue. Nothing sends until you approve the recipient count.

Email templatesCampaign draftsOpens & revenue

Key
klaviyo
Linked by
Pasting a credential in the app.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

Vercel

Your Vercel sites: projects, deployments, domains, visitors by page, referrer and campaign, and landing pages published as a preview or to production when you say so.

SitesWeb AnalyticsDeploys

Key
vercel
Linked by
Pasting a credential in the app.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

Stripe

Revenue, customers, subscriptions and MRR from your Stripe account, plus products, prices, payment links, coupons and refunds made here. Live writes confirm first.

RevenueCustomersSubscriptionsProducts

Key
stripe
Linked by
Pasting a credential in the app.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

PostHog

Per-user funnels, retention and session replay: the questions GA4 cannot answer. Replays come back as links you open in PostHog.

HogQLInsightsSession replay

Key
posthog
Linked by
Pasting a credential in the app.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

Mixpanel

Retention cohorts, event breakdowns and the events a project actually records, plus any saved Mixpanel report, read straight back by its id.

InsightsRetentionEvents

Key
mixpanel
Linked by
Pasting a credential in the app.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

Amplitude

Event segmentation, funnels with a conversion window, retention curves, and one person’s full activity stream, found by user id, device id or just the start of one.

FunnelsRetentionUser activity

Key
amplitude
Linked by
Pasting a credential in the app.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

Customer support

Intercom

Your support inbox: read and search, draft on-brand replies, reply or note when you say so, close, snooze, assign or tag, and mine customer language for ad copy.

InboxRepliesCustomer language

Key
intercom
Linked by
Pasting a credential in the app.
Scope
Shared with the whole profile: teammates can use it, and only the person who authorised it can disconnect it.

Files & Documents

Google Drive

One connection for Drive, Sheets and Docs: pull files into Studio, save renders back, build reports and briefs. Only the files you pick in the Google picker.

DriveSheetsDocs

Key
google_drive
Linked by
OAuth — the user approves it in a browser. An agent cannot link a new account; it can only use one already linked.
Scope
Private to the person who connected it.

OneDrive

Save finished renders into OneDrive, and organize them into folders.

Key
microsoft_onedrive
Linked by
OAuth — the user approves it in a browser. An agent cannot link a new account; it can only use one already linked.
Scope
Private to the person who connected it.

Notion

Save reports, teardowns, swipefile collections and your posting calendar into Notion as pages or database rows, and read pages you share. Only the pages you pick.

Save pagesSwipefileCalendarRead

Key
notion
Linked by
OAuth — the user approves it in a browser. An agent cannot link a new account; it can only use one already linked.
Scope
Private to the person who connected it.

Canva approval pending

Send renders to Canva to edit, and bring finished designs back to post, schedule or run as ads. Templates and autofill need Canva Pro, Teams or Enterprise.

Send rendersExport designsTemplatesFolders

Key
canva
Linked by
OAuth — the user approves it in a browser. An agent cannot link a new account; it can only use one already linked.
Scope
Private to the person who connected it.

Not offered yet. Canva is not available yet: Canva is still reviewing the Hermoso app, and until Canva approves it only the Hermoso team can connect a Canva account.

Everything above is built and tested; what is missing is the platform's approval, not the code. Set CANVA_APP_APPROVED=1 on the Cloud Run service (`gcloud run services update hermoso --region us-central1 --project ad-inspiration --update-env-vars=CANVA_APP_APPROVED=1`, never --set-env-vars) once Canva's Developer Portal reads Approved for app AAHOGMX9DNM (canva.com/developers/apps, App status) and the app is released; then set it to true in docs-site/prod-gate-flags.json, run node tools/mirror-gate-flags-check.mjs --write and rebuild the docs, which puts the seven Canva tools back in the published count.

Notifications & Automation

Slack

Add the Hermoso app: posts with images and video in the channel you pick, now or scheduled, thread replies, edits and deletes, and reactions read back. Alerts go to a private channel.

Key
slack
Linked by
Pasting a credential in the app.
Scope
Private to the person who connected it.

Discord

Add the Hermoso bot: posts with images and video in the channel you pick, now or scheduled, replies, threads, edits and deletes, and reactions read back. Alerts go to a private channel.

Key
discord
Linked by
Pasting a credential in the app.
Scope
Private to the person who connected it.

Webhook

POST a signed JSON event to any URL (Zapier, Make, n8n) for renders, posts, approvals, competitor ads, leads and low credits. Retried for about 16 hours if you’re down.

Key
webhook
Linked by
Pasting a credential in the app.
Scope
Private to the person who connected it.

Custom MCP

Tools from any MCP server you run become live tools for the Studio agent.

Key
mcp
Linked by
Pasting a credential in the app.
Scope
Private to the person who connected it.