[{"data":1,"prerenderedAt":3595},["ShallowReactive",2],{"docs-search-nav":3,"docs:all":92},[4],{"title":5,"path":6,"stem":7,"children":8,"page":34},"Docs","\u002Fdocs","docs",[9,13,17,21,35,88],{"title":10,"path":11,"stem":12},"Connect your ad accounts","\u002Fdocs\u002Fplatforms","docs\u002F1.platforms",{"title":14,"path":15,"stem":16},"Connecting multiple ad accounts","\u002Fdocs\u002Fmultiple-accounts","docs\u002F2.multiple-accounts",{"title":18,"path":19,"stem":20},"Team members and access levels","\u002Fdocs\u002Fteam-access","docs\u002F3.team-access",{"title":22,"path":23,"stem":24,"children":25,"page":34},"Agents","\u002Fdocs\u002Fagents","docs\u002Fagents",[26,30],{"title":27,"path":28,"stem":29},"Control what an AI agent can do (access levels)","\u002Fdocs\u002Fagents\u002Faccess-levels","docs\u002Fagents\u002Faccess-levels",{"title":31,"path":32,"stem":33},"Upload ad creatives from an AI agent","\u002Fdocs\u002Fagents\u002Fupload-creative-media","docs\u002Fagents\u002Fupload-creative-media",false,{"title":36,"path":37,"stem":38,"children":39,"page":34},"Clients","\u002Fdocs\u002Fclients","docs\u002Fclients",[40,44,48,52,56,60,64,68,72,76,80,84],{"title":41,"path":42,"stem":43},"Connect Claude to AdKit","\u002Fdocs\u002Fclients\u002Fclaude","docs\u002Fclients\u002F1.claude",{"title":45,"path":46,"stem":47},"Connect Hermes to AdKit","\u002Fdocs\u002Fclients\u002Fhermes","docs\u002Fclients\u002F10.hermes",{"title":49,"path":50,"stem":51},"Connect n8n to AdKit","\u002Fdocs\u002Fclients\u002Fn8n","docs\u002Fclients\u002F11.n8n",{"title":53,"path":54,"stem":55},"Connect Grok Bot to AdKit","\u002Fdocs\u002Fclients\u002Fgrok-bot","docs\u002Fclients\u002F12.grok-bot",{"title":57,"path":58,"stem":59},"Connect Claude Cowork to AdKit","\u002Fdocs\u002Fclients\u002Fclaude-cowork","docs\u002Fclients\u002F2.claude-cowork",{"title":61,"path":62,"stem":63},"Connect ChatGPT to AdKit","\u002Fdocs\u002Fclients\u002Fchatgpt","docs\u002Fclients\u002F3.chatgpt",{"title":65,"path":66,"stem":67},"Connect Perplexity to AdKit","\u002Fdocs\u002Fclients\u002Fperplexity","docs\u002Fclients\u002F4.perplexity",{"title":69,"path":70,"stem":71},"Connect Claude Code to AdKit","\u002Fdocs\u002Fclients\u002Fclaude-code","docs\u002Fclients\u002F5.claude-code",{"title":73,"path":74,"stem":75},"Connect Codex to AdKit","\u002Fdocs\u002Fclients\u002Fcodex","docs\u002Fclients\u002F6.codex",{"title":77,"path":78,"stem":79},"Connect Cursor to AdKit","\u002Fdocs\u002Fclients\u002Fcursor","docs\u002Fclients\u002F7.cursor",{"title":81,"path":82,"stem":83},"Connect Gemini CLI to AdKit","\u002Fdocs\u002Fclients\u002Fgemini","docs\u002Fclients\u002F8.gemini",{"title":85,"path":86,"stem":87},"Connect OpenClaw to AdKit","\u002Fdocs\u002Fclients\u002Fopenclaw","docs\u002Fclients\u002F9.openclaw",{"title":89,"path":90,"stem":91},"Getting started with AdKit","\u002Fdocs\u002Fgetting-started","docs\u002Fgetting-started",[93,544,694,920,1111,1366,1764,1974,2097,2252,2396,2573,2716,2856,2990,3175,3321,3488],{"id":94,"title":10,"body":95,"description":527,"extension":528,"icon":529,"iconInvert":34,"meta":530,"navTitle":531,"navigation":532,"path":11,"related":533,"section":538,"sectionOrder":539,"seo":540,"stem":12,"type":541,"updatedAt":542,"wip":34,"__hash__":543},"docs\u002Fdocs\u002F1.platforms.md",{"type":96,"value":97,"toc":518},"minimark",[98,111,114,117,122,128,134,138,141,231,234,243,247,250,261,264,290,293,299,302,305,338,341,344,348,351,357,360,407,410,413,418,422,425,440,447,450,453,459,463,469,475,481,495,505,514],[99,100,101,102,106,107,110],"p",{},"Connecting a platform takes two steps: sign in to the platform once, then choose the ad accounts AdKit should manage. AdKit saves each sign-in as a ",[103,104,105],"strong",{},"login",", and one login can cover many ad accounts. Each ad account then goes to a ",[103,108,109],{},"project",", which is one brand or client.",[99,112,113],{},"The sign-in is the only part you have to do yourself. On Meta, Google, TikTok, and Reddit, your agent can do the rest, including connecting dozens of accounts in one go.",[99,115,116],{},"You never type a platform password into AdKit. The sign-in happens in the platform's own window, and AdKit gets permission to act for you (an access token, never your password).",[118,119,121],"h2",{"id":120},"before-you-start","Before you start",[99,123,124,127],{},[103,125,126],{},"You need to be a workspace admin."," Your workspace is your team's shared space in AdKit, and whoever created it is an admin. Only admins can add logins and assign ad accounts, because one login opens every ad account behind it. A teammate who has to connect their own login can be made admin for a few minutes, then switched back. The login stays connected.",[99,129,130,133],{},[103,131,132],{},"Sign in with the login that already has access."," AdKit can only see the ad accounts your login can see on the platform. If your own profile can open the client's account in Meta Business Manager, that's enough. You don't need the client's password.",[118,135,137],{"id":136},"supported-platforms","Supported platforms",[99,139,140],{},"AdKit connects to seven ad platforms. On four of them, your agent can connect the ad accounts for you once you've signed in.",[142,143,144,160],"table",{},[145,146,147],"thead",{},[148,149,150,154,157],"tr",{},[151,152,153],"th",{},"Platform",[151,155,156],{},"Status",[151,158,159],{},"Agent can connect ad accounts",[161,162,163,175,184,193,203,213,222],"tbody",{},[148,164,165,169,172],{},[166,167,168],"td",{},"Meta (Facebook and Instagram)",[166,170,171],{},"Live",[166,173,174],{},"Yes",[148,176,177,180,182],{},[166,178,179],{},"Google Ads",[166,181,171],{},[166,183,174],{},[148,185,186,189,191],{},[166,187,188],{},"TikTok",[166,190,171],{},[166,192,174],{},[148,194,195,198,201],{},[166,196,197],{},"Reddit",[166,199,200],{},"Beta",[166,202,174],{},[148,204,205,208,210],{},[166,206,207],{},"LinkedIn",[166,209,200],{},[166,211,212],{},"Not yet, use the dashboard",[148,214,215,218,220],{},[166,216,217],{},"Microsoft",[166,219,200],{},[166,221,212],{},[148,223,224,227,229],{},[166,225,226],{},"X",[166,228,200],{},[166,230,212],{},[99,232,233],{},"Beta platforms are newer in AdKit, so tell us if something looks off. Campaign management works on all seven once the accounts are connected.",[99,235,236,237,242],{},"If your platform says Yes, the next section is the quickest way. For LinkedIn, Microsoft, and X, skip to ",[238,239,241],"a",{"href":240},"#connect-in-the-dashboard","Connect in the dashboard",".",[118,244,246],{"id":245},"let-your-agent-do-the-setup","Let your agent do the setup",[99,248,249],{},"Tell your agent what you want connected, and for which project:",[251,252,258],"pre",{"className":253,"code":255,"language":256,"meta":257},[254],"language-text","Connect my Meta and Google ad accounts to AdKit for the Acme project.\n","text","",[259,260,255],"code",{"__ignoreMap":257},[99,262,263],{},"What happens next:",[265,266,267,274,284],"ol",{},[268,269,270,273],"li",{},[103,271,272],{},"The agent sends you a connect link."," It opens the AdKit Integrations page with the right platform already selected.",[268,275,276,279,280,283],{},[103,277,278],{},"You sign in."," Click ",[103,281,282],{},"Add login"," for the platform and approve access in the platform's sign-in window. Platforms only grant access to a person signed in on their own page, so no agent can do this step.",[268,285,286,289],{},[103,287,288],{},"The agent connects the accounts."," Tell it the sign-in is done. It lists every ad account your login can access and connects the ones you name.",[99,291,292],{},"To see what's connected at any point, ask for a check-in, the agent's report of your platforms and accounts:",[251,294,297],{"className":295,"code":296,"language":256,"meta":257},[254],"Run an AdKit check-in and list my connected platforms and ad accounts.\n",[259,298,296],{"__ignoreMap":257},[118,300,241],{"id":301},"connect-in-the-dashboard",[99,303,304],{},"Use the dashboard if you prefer clicking through it yourself, or if you're connecting LinkedIn, Microsoft, or X.",[265,306,307,316,327,330],{},[268,308,309,310,242],{},"Open ",[238,311,315],{"href":312,"rel":313},"https:\u002F\u002Fapp.adkit.so\u002Fdashboard\u002Fsettings\u002Fworkspace-integrations",[314],"nofollow","Settings, then Integrations",[268,317,318,319,322,323,326],{},"Find the platform under ",[103,320,321],{},"Ad platforms"," and click ",[103,324,325],{},"+"," (Add login).",[268,328,329],{},"Approve access in the platform's sign-in window.",[268,331,309,332,337],{},[238,333,336],{"href":334,"rel":335},"https:\u002F\u002Fapp.adkit.so\u002Fdashboard\u002Fsettings\u002Fad-accounts",[314],"Ad accounts"," and choose which accounts each project uses.",[99,339,340],{},"Logins belong to the whole workspace. Connect a platform once, and every project can use the accounts behind that login.",[99,342,343],{},"To remove a login later, first unassign its ad accounts, then remove it on the Integrations page. You can reconnect it any time.",[118,345,347],{"id":346},"agencies-many-accounts-many-clients","Agencies: many accounts, many clients",[99,349,350],{},"One sign-in per platform covers every account that login can access. If your Meta profile has access to 40 client ad accounts, you sign in once and your agent can connect all 40.",[251,352,355],{"className":353,"code":354,"language":256,"meta":257},[254],"List every Meta ad account my login can access, then connect the ones for\nAcme and Northwind to their projects.\n",[259,356,354],{"__ignoreMap":257},[99,358,359],{},"If your agent runs the AdKit CLI (the command-line version, used by coding agents like Claude Code), the list and connect commands look like this, with no new sign-in per account (TikTok shown):",[251,361,365],{"className":362,"code":363,"language":364,"meta":257,"style":257},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","adkit manage tiktok accounts available\nadkit manage tiktok accounts connect 1234567890\n","bash",[259,366,367,389],{"__ignoreMap":257},[368,369,372,376,380,383,386],"span",{"class":370,"line":371},"line",1,[368,373,375],{"class":374},"sBMFI","adkit",[368,377,379],{"class":378},"sfazB"," manage",[368,381,382],{"class":378}," tiktok",[368,384,385],{"class":378}," accounts",[368,387,388],{"class":378}," available\n",[368,390,392,394,396,398,400,403],{"class":370,"line":391},2,[368,393,375],{"class":374},[368,395,379],{"class":378},[368,397,382],{"class":378},[368,399,385],{"class":378},[368,401,402],{"class":378}," connect",[368,404,406],{"class":405},"sbssI"," 1234567890\n",[99,408,409],{},"Your plan sets how many you can connect. The entry plan includes one project with one ad account per platform, and the higher plans are unlimited.",[99,411,412],{},"Add a second login for a platform only when some client accounts sit under a different login. Each project then picks its accounts from whichever login has them.",[99,414,415,416,242],{},"To keep clients apart, use one project per client. Each project gets its own ad accounts, so campaigns and reporting don't mix, and your agent can create the projects for you. See ",[238,417,14],{"href":15},[118,419,421],{"id":420},"after-connecting","After connecting",[99,423,424],{},"Set the account defaults once, and your agent won't have to ask for them with every campaign. These are the things each campaign on that account reuses:",[426,427,428,434],"ul",{},[268,429,430,433],{},[103,431,432],{},"Meta:"," the Facebook Page, the Instagram account, and the pixel.",[268,435,436,439],{},[103,437,438],{},"TikTok:"," the TikTok profile your ads run under, and the pixel.",[99,441,442,443,446],{},"The other platforms don't need any. Ask your agent to set them, or click an account on the ",[238,444,336],{"href":334,"rel":445},[314]," page.",[99,448,449],{},"AdKit reads the pixels and conversion settings you already have. Creating a pixel, installing tracking code on your website, and billing stay in the platform's own interface (Meta Events Manager, Google Ads billing).",[99,451,452],{},"Once a platform shows up in your agent's check-in, you can manage it from the conversation:",[251,454,457],{"className":455,"code":456,"language":256,"meta":257},[254],"Show me this week's spend and results for the Acme project, by campaign.\n",[259,458,456],{"__ignoreMap":257},[118,460,462],{"id":461},"troubleshooting","Troubleshooting",[99,464,465,468],{},[103,466,467],{},"An ad account is missing from the list.","\nThe login you connected can't see that account. Access is granted on the platform's side (Meta Business Manager, Google Ads account access). Get your login added to the account there, or add the login that already has access on the Integrations page.",[99,470,471,474],{},[103,472,473],{},"A new TikTok advertiser account doesn't show up.","\nA TikTok sign-in only covers the advertiser accounts TikTok shared when you approved it. Accounts added to your Business Center later may not be included. Reconnect the login once on the Integrations page, then check the list again.",[99,476,477,480],{},[103,478,479],{},"Google says the account was \"not found\".","\nThis usually means the Google Ads account is inactive or cancelled. Check its status at ads.google.com. If it was cancelled, reactivate it there first, then reconnect.",[99,482,483,486,487,490,491,494],{},[103,484,485],{},"Microsoft says \"You must use a different identity type to sign in\".","\nThis happens when your Microsoft Advertising login is a work email that signs in through Google. On Microsoft's sign-in screen, pick ",[103,488,489],{},"Microsoft account"," instead of ",[103,492,493],{},"Sign in with Google",", and enter your work email. Microsoft then sends you to Google to log in as usual. Remove any failed Microsoft logins on the Integrations page first.",[99,496,497,500,501,242],{},[103,498,499],{},"A platform that worked before now fails.","\nSign-ins expire or get cancelled (the access token stops working), for example when the platform password changes. Your agent hands you a reconnect link when this happens, or you can reconnect the login yourself on the ",[238,502,504],{"href":312,"rel":503},[314],"Integrations page",[99,506,507,508,513],{},"Still stuck? ",[238,509,512],{"href":510,"rel":511},"https:\u002F\u002Fapp.adkit.so",[314],"Reach out"," and we'll help.",[515,516,517],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":257,"searchDepth":391,"depth":391,"links":519},[520,521,522,523,524,525,526],{"id":120,"depth":391,"text":121},{"id":136,"depth":391,"text":137},{"id":245,"depth":391,"text":246},{"id":301,"depth":391,"text":241},{"id":346,"depth":391,"text":347},{"id":420,"depth":391,"text":421},{"id":461,"depth":391,"text":462},"Link your Meta, Google, TikTok, Reddit, LinkedIn, Microsoft, and X ad accounts to AdKit, in the dashboard or with your AI agent doing most of the work.","md","fa6-solid:plug",{},"Connect ad accounts",true,[534,536],{"label":14,"to":15,"description":535},"Give each brand its own project and tell your agent which one to use.",{"label":89,"to":90,"description":537},"Connect an agent, verify the connection, and start managing ads.","Accounts & projects",3,{"title":10,"description":527},"guide","2026-09-17","7DS1LFSJWIU0mYyeYw6Ik77Qn30kIVoAJ7ZmDdR58Wg",{"id":545,"title":14,"body":546,"description":680,"extension":528,"icon":681,"iconInvert":34,"meta":682,"navTitle":683,"navigation":532,"path":15,"related":684,"section":538,"sectionOrder":539,"seo":692,"stem":16,"type":541,"updatedAt":542,"wip":34,"__hash__":693},"docs\u002Fdocs\u002F2.multiple-accounts.md",{"type":96,"value":547,"toc":674},[548,553,556,559,563,574,582,585,591,594,597,601,604,611,618,623,627,630,633,639,643,650,653,660,665,668],[99,549,550,551,242],{},"Running ads for more than one business? Give each one its own ",[103,552,109],{},[99,554,555],{},"A project is one brand or client, usually one website, with its own ad accounts, creatives, and competitors. That way a campaign for the coffee brand can't be created in the SaaS app's ad account.",[99,557,558],{},"Your plan sets how many projects you get. The entry plan includes one, and the higher plans are unlimited.",[118,560,562],{"id":561},"adding-more-projects","Adding more projects",[99,564,565,566,569,570,573],{},"Click the ",[103,567,568],{},"project name"," at the top of the dashboard, then ",[103,571,572],{},"Add Project",". Give it a name and the website address.",[99,575,576],{},[577,578],"img",{"alt":579,"src":580,"width":581},"The project menu, where you add a project or switch between them","\u002Fdocs\u002Faccounts\u002Fswitcher-add.png",460,[99,583,584],{},"Your agent can create one too:",[251,586,589],{"className":587,"code":588,"language":256,"meta":257},[254],"Create an AdKit project for Northwind, website northwind.com.\n",[259,590,588],{"__ignoreMap":257},[99,592,593],{},"That same menu is how you switch later: open it and pick another project. Campaigns, Studio, and the ad library then all show the project you picked.",[99,595,596],{},"A new project starts empty. Next you'll give it that brand's ad accounts.",[118,598,600],{"id":599},"each-brand-keeps-its-own-accounts","Each brand keeps its own accounts",[99,602,603],{},"Every project has its own list of ad accounts, so each brand's campaigns and reporting stay separate.",[99,605,606,607,610],{},"You sign in to each ad platform once for the whole workspace (the shared space that holds all your projects, more on it below), under ",[103,608,609],{},"Settings → Integrations",". AdKit saves that sign-in as a login.",[99,612,613,614,617],{},"Then, under ",[103,615,616],{},"Settings → Ad accounts",", you choose which of the accounts behind that login belong to which project. One Meta login with access to five client accounts can cover five projects.",[99,619,620,621,242],{},"Both steps need a workspace admin. The step-by-step, including how to let your agent do it, is in ",[238,622,10],{"href":11},[118,624,626],{"id":625},"using-projects-with-ai-agents","Using projects with AI agents",[99,628,629],{},"If you run AdKit through an AI agent like Claude, it connects once and can reach every project you can open yourself.",[99,631,632],{},"With one project, the agent just uses it. Once you have several, it needs to know which one. It'll usually ask, but naming the brand yourself saves the back-and-forth:",[251,634,637],{"className":635,"code":636,"language":256,"meta":257},[254],"List my AdKit projects, then use [your brand] and show its active campaigns.\n",[259,638,636],{"__ignoreMap":257},[118,640,642],{"id":641},"workspaces-and-teammates","Workspaces and teammates",[99,644,645,646,649],{},"One workspace is enough for most teams, agencies included. A ",[103,647,648],{},"workspace"," holds your projects, your platform logins, and the people you invite.",[99,651,652],{},"AdKit creates a workspace for you when you sign up, named after you. It works exactly like any other workspace, so a team can rename it under Settings and invite people into it. There's no need to create a separate company one.",[99,654,655,656,659],{},"Teammates don't have to see every client. When you invite someone under ",[103,657,658],{},"Settings → Members",", you choose which projects they can open. New invites start on \"All projects\", so change that for anyone who should only work on certain clients.",[99,661,662,663,242],{},"An agent connected by that teammate gets the same limits. Roles and the full setup order are in ",[238,664,18],{"href":19},[99,666,667],{},"Logins are shared by the whole workspace. Create a second workspace only when two teams must not see each other's logins.",[99,669,670,671,513],{},"Need a hand? ",[238,672,512],{"href":510,"rel":673},[314],{"title":257,"searchDepth":391,"depth":391,"links":675},[676,677,678,679],{"id":561,"depth":391,"text":562},{"id":599,"depth":391,"text":600},{"id":625,"depth":391,"text":626},{"id":641,"depth":391,"text":642},"Run several brands in AdKit by giving each its own project, and switch between them from one place.","fa6-solid:briefcase",{},"Multiple ad accounts",[685,687,689],{"label":10,"to":11,"description":686},"Sign in to each ad platform once, then let your agent connect the accounts.",{"label":41,"to":42,"description":688},"Set up the chat assistant you use across all your brands.",{"label":690,"to":90,"description":691},"Use AI agents with AdKit","What to do once everything is connected.",{"title":14,"description":680},"cC0yE_XTgcwzcKykqHC3XX303D8GK83LVXYvQ7y5QHE",{"id":695,"title":18,"body":696,"description":908,"extension":528,"icon":909,"iconInvert":34,"meta":910,"navTitle":911,"navigation":532,"path":19,"related":912,"section":538,"sectionOrder":539,"seo":917,"stem":20,"type":541,"updatedAt":918,"wip":34,"__hash__":919},"docs\u002Fdocs\u002F3.team-access.md",{"type":96,"value":697,"toc":903},[698,710,717,720,724,731,785,788,796,799,803,806,842,845,849,856,859,862,868,883,897],[99,699,700,701,703,704,706,707,709],{},"Admins decide who sees what. Your ",[103,702,648],{}," is your team's shared space in AdKit. Inside it, each client or brand is a ",[103,705,109],{}," with its own ad accounts, and those accounts come from a platform ",[103,708,105],{},", the Meta or Google sign-in an admin added once.",[99,711,712,713,716],{},"Every teammate gets an ",[103,714,715],{},"access level"," and a list of projects, and works only inside those.",[99,718,719],{},"This matters most for agencies: a teammate assigned to two clients can't open the other twenty, or see their ads.",[118,721,723],{"id":722},"roles","Roles",[99,725,726,727,242],{},"Every member of a workspace has one of four levels, set under ",[238,728,658],{"href":729,"rel":730},"https:\u002F\u002Fapp.adkit.so\u002Fdashboard\u002Fsettings\u002Fmembers",[314],[142,732,733,743],{},[145,734,735],{},[148,736,737,740],{},[151,738,739],{},"Level",[151,741,742],{},"What they can do",[161,744,745,755,765,775],{},[148,746,747,752],{},[166,748,749],{},[103,750,751],{},"Owner",[166,753,754],{},"Everything an Admin can, plus remove admins. The person who created the workspace.",[148,756,757,762],{},[166,758,759],{},[103,760,761],{},"Admin",[166,763,764],{},"Add platform logins, assign ad accounts to projects, invite and remove members, set anyone's access level and projects. Sees every project.",[148,766,767,772],{},[166,768,769],{},[103,770,771],{},"Write",[166,773,774],{},"Create, edit, and publish campaigns and drafts inside their assigned projects. Can't add logins or assign ad accounts.",[148,776,777,782],{},[166,778,779],{},[103,780,781],{},"Read only",[166,783,784],{},"View campaigns, results, and drafts inside their assigned projects. Can't change anything or publish.",[99,786,787],{},"Pick Write for anyone who runs campaigns, and Read only for clients or reviewers who only check results.",[99,789,790,791,795],{},"Two guardrails. Admins can't lower their own access, so nobody locks themselves out of Settings by accident. And only the owner can remove an admin, so one admin can't lock the others out. The owner's role can't be changed or transferred yet. If the owner leaves your company, ",[238,792,794],{"href":510,"rel":793},[314],"reach out"," and we'll move it.",[99,797,798],{},"With the levels clear, here is the order to set the team up.",[118,800,802],{"id":801},"set-up-your-team","Set up your team",[99,804,805],{},"Logins first, then accounts, then people. A member invited before their project has ad accounts lands in an empty project.",[265,807,808,820,829],{},[268,809,810,813,814,817,818,242],{},[103,811,812],{},"Add the platform logins."," Under ",[238,815,609],{"href":312,"rel":816},[314],", sign in to Meta, Google, and the other platforms once. Only admins can do this, because one login opens every ad account behind it. See ",[238,819,10],{"href":11},[268,821,822,813,825,828],{},[103,823,824],{},"Assign ad accounts to projects.",[238,826,616],{"href":334,"rel":827},[314],", give each project the accounts it should manage. One project per client keeps campaigns and reporting apart.",[268,830,831,813,834,837,838,841],{},[103,832,833],{},"Invite the member.",[238,835,658],{"href":729,"rel":836},[314],", enter their email, pick Write or Read only, and pick their projects. New invites start on ",[103,839,840],{},"All projects",", which also includes any project created later, so change it for anyone who should only work on certain clients. You can also give someone no projects at all, for example while their client is still being set up.",[99,843,844],{},"When they sign in, they see only the projects you picked, with the accounts you assigned. Nothing else in the workspace is open to them.",[118,846,848],{"id":847},"change-or-remove-access","Change or remove access",[99,850,851,852,855],{},"To change someone's level or projects, open ",[238,853,658],{"href":729,"rel":854},[314]," and edit their row.",[99,857,858],{},"Changes apply immediately. Remove someone from a project, or switch them from Write to Read only, and their next click gets refused. If they had a tab open, it may keep showing the old screen until they reload, but nothing they do in it goes through.",[99,860,861],{},"The same goes for their AI agents. An agent connects with an AdKit key tied to the member's own account, so it gets that member's level and projects, whatever the member asks it to do. If Jade can only open the KPMG project, her Claude can only manage KPMG's campaigns.",[99,863,864,865,242],{},"Removing Jade from the workspace ends her access to every project, and her agents' access with it. How keys work is in ",[238,866,867],{"href":28},"Control what an AI agent can do",[869,870,872,877,880],"note",{"icon":871},"fa6-solid:lightbulb",[99,873,874],{},[103,875,876],{},"Let a Write member add a platform login",[99,878,879],{},"Make them an admin for a few minutes. Sometimes the right login belongs to a Write member, for example a teammate who manages a client's Microsoft Advertising account under their own email. Change their level under Settings → Members, let them add the login under Integrations, then switch them back to Write.",[99,881,882],{},"While they're admin they can open every client and change any member, so do it while you're with them. The login stays connected after the switch. Assign its accounts to projects under Settings → Ad accounts like any other.",[869,884,886,891,894],{"icon":885},"fa6-solid:circle-info",[99,887,888],{},[103,889,890],{},"Personal and company workspaces",[99,892,893],{},"They're the same thing. AdKit creates a workspace for you when you sign up, named after you. Rename it under Settings, invite your team, and that's your company workspace.",[99,895,896],{},"A second workspace is only useful when two teams must not see each other's logins at all. It runs on the same plan if you own both, but it needs its own logins, so you sign in to each platform again.",[99,898,899,900,513],{},"Questions? ",[238,901,512],{"href":510,"rel":902},[314],{"title":257,"searchDepth":391,"depth":391,"links":904},[905,906,907],{"id":722,"depth":391,"text":723},{"id":801,"depth":391,"text":802},{"id":847,"depth":391,"text":848},"Invite teammates to AdKit, limit each one to specific projects, and control who can add logins, assign ad accounts, and publish.","fa6-solid:users",{},"Team members & access",[913,914,915],{"label":10,"to":11,"description":686},{"label":14,"to":15,"description":535},{"label":867,"to":28,"description":916},"The access levels for agent keys, from read-only to draft and publish.",{"title":18,"description":908},"2026-09-18","mBn_l_lo0ZxaO0YwNcG9X5MTArdB2D8J9dOOHCcHeoc",{"id":921,"title":27,"body":922,"description":1102,"extension":528,"icon":1103,"iconInvert":34,"meta":1104,"navTitle":1105,"navigation":532,"path":28,"related":1106,"section":1107,"sectionOrder":539,"seo":1108,"stem":29,"type":541,"updatedAt":1109,"wip":34,"__hash__":1110},"docs\u002Fdocs\u002Fagents\u002Faccess-levels.md",{"type":96,"value":923,"toc":1095},[924,930,937,941,993,1002,1006,1030,1034,1037,1056,1059,1063,1070,1074,1084,1090],[99,925,926,927,929],{},"Every connection you create in AdKit, whether it's an AI agent, a CLI session, or a plain API key, has an ",[103,928,715],{},". The level decides what that connection can do with your ad accounts: pull reports, prepare drafts, or publish changes live. New connections get full access by default, and you can lower any of them whenever you want.",[99,931,932,933,936],{},"The most common reason to change it: give a reporting agent ",[103,934,935],{},"Read-only",", so it can pull combined reports with no way to edit, pause, or delete a live ad.",[118,938,940],{"id":939},"the-four-levels","The four levels",[142,942,943,952],{},[145,944,945],{},[148,946,947,949],{},[151,948,739],{},[151,950,951],{},"What the connection can do",[161,953,954,964,973,983],{},[148,955,956,961],{},[166,957,958],{},[103,959,960],{},"Disabled",[166,962,963],{},"Nothing, not even reading. Use it to switch a key off without deleting it.",[148,965,966,970],{},[166,967,968],{},[103,969,935],{},[166,971,972],{},"View your campaigns and pull reports. Cannot change anything in your ad accounts.",[148,974,975,980],{},[166,976,977],{},[103,978,979],{},"Draft only",[166,981,982],{},"Create and edit campaigns as drafts. Drafts can only be published from the dashboard, by you.",[148,984,985,990],{},[166,986,987],{},[103,988,989],{},"Draft + Publish",[166,991,992],{},"Create and edit campaigns as drafts, and publish them. This is the default for new connections.",[99,994,995,996,998,999,1001],{},"Every level except Disabled can read your data. And every change an agent makes is saved as a draft first, so the only difference between ",[103,997,979],{}," and ",[103,1000,989],{}," is who can push a draft live: you from the dashboard, or the agent itself.",[118,1003,1005],{"id":1004},"set-the-level-when-you-create-a-key","Set the level when you create a key",[265,1007,1008,1016,1027],{},[268,1009,309,1010,1015],{},[238,1011,1014],{"href":1012,"rel":1013},"https:\u002F\u002Fapp.adkit.so\u002Fdashboard\u002Fsettings\u002Fdevices?new",[314],"Devices & Keys"," in AdKit. The new-key dialog opens automatically.",[268,1017,1018,1019,1022,1023,1026],{},"Under ",[103,1020,1021],{},"Access level",", click ",[103,1024,1025],{},"Customize"," and pick a level.",[268,1028,1029],{},"Name the key and create it.",[118,1031,1033],{"id":1032},"change-a-level-later","Change a level later",[99,1035,1036],{},"You don't have to recreate a key to change what it can do.",[265,1038,1039,1046,1053],{},[268,1040,309,1041,1045],{},[238,1042,1014],{"href":1043,"rel":1044},"https:\u002F\u002Fapp.adkit.so\u002Fdashboard\u002Fsettings\u002Fdevices",[314]," in AdKit.",[268,1047,1048,1049,1052],{},"Find the connection in the list. Its current level shows in the ",[103,1050,1051],{},"Access"," column.",[268,1054,1055],{},"Click the access control on that row, pick a new level, and save.",[99,1057,1058],{},"The new level applies on the connection's next request.",[118,1060,1062],{"id":1061},"what-a-read-only-agent-runs-into","What a read-only agent runs into",[99,1064,1065,1066,1069],{},"A read-only connection pulls reports and reads campaigns normally. The moment it tries to make a change, AdKit blocks the request and tells the agent that its connection doesn't have permission, with a link back to ",[238,1067,1014],{"href":1043,"rel":1068},[314],". Nothing reaches your ad accounts. To allow the change, raise the level on that page and have the agent try again.",[118,1071,1073],{"id":1072},"agents-you-connect-by-login","Agents you connect by login",[99,1075,1076,1077,1079,1080,1083],{},"When you connect an agent through the in-app flow (\"Connect an agent\" or the OAuth login), it starts at ",[103,1078,989],{},". To restrict it, open ",[238,1081,1014],{"href":1043,"rel":1082},[314]," afterward and lower its level. Picking the level during the connect flow is coming later.",[99,1085,1086,1087,242],{},"New to connecting agents? Start with the ",[238,1088,1089],{"href":90},"getting started guide",[99,1091,670,1092,513],{},[238,1093,512],{"href":510,"rel":1094},[314],{"title":257,"searchDepth":391,"depth":391,"links":1096},[1097,1098,1099,1100,1101],{"id":939,"depth":391,"text":940},{"id":1004,"depth":391,"text":1005},{"id":1032,"depth":391,"text":1033},{"id":1061,"depth":391,"text":1062},{"id":1072,"depth":391,"text":1073},"Give an AI agent read-only access to your ad accounts, or let it publish. Set a permission level per connection so an agent can pull reports without touching live ads.","fa6-solid:lock",{},"Access levels",null,"Using agents",{"title":27,"description":1102},"2026-06-18","-AmKcZjjq2YLiV_6NVeNLu5e-XWz-NBxuYJd_mckV2k",{"id":1112,"title":31,"body":1113,"description":1359,"extension":528,"icon":1360,"iconInvert":34,"meta":1361,"navTitle":1362,"navigation":532,"path":32,"related":1106,"section":1107,"sectionOrder":391,"seo":1363,"stem":33,"type":541,"updatedAt":1364,"wip":34,"__hash__":1365},"docs\u002Fdocs\u002Fagents\u002Fupload-creative-media.md",{"type":96,"value":1114,"toc":1355},[1115,1118,1125,1129,1135,1318,1322,1352],[99,1116,1117],{},"Drag an image or video into your AI agent, ask it to upload to Meta Ads or Google Ads, and AdKit handles the rest. You get back a media ID ready to use in your ads.",[99,1119,1120,1121,1124],{},"For larger files, AdKit uses a direct upload flow that requires your agent to reach ",[259,1122,1123],{},"*.adkit.so",". Most agents block unknown domains by default, so you'll need to allowlist it. Pick your agent below.",[118,1126,1128],{"id":1127},"whitelist-adkits-upload-domain","Whitelist AdKit's upload domain",[99,1130,1131,1132,1134],{},"Add ",[259,1133,1123],{}," to your agent's allowed domains. This lets the agent use AdKit's direct upload flow, which bypasses the file size limits of inline transfer.",[1136,1137,1139,1178,1269,1296,1307],"agent-tabs",{"default":1138},"claude",[1140,1141,1142,1163,1172],"template",{"v-slot:claude":257},[99,1143,1144,1145,1152,1153,1156,1157,1159,1160,242],{},"Go to ",[103,1146,1147],{},[238,1148,1151],{"href":1149,"target":1150},"https:\u002F\u002Fclaude.ai\u002Fsettings\u002Fcapabilities#Code%20execution%20and%20file%20creation:~:text=in%20the%20conversation.-,Code%20execution%20and%20file%20creation,-Code%20execution%20and","_blank","Settings > Capabilities",", turn on ",[103,1154,1155],{},"Allow network egress",", then add ",[259,1158,1123],{}," under ",[103,1161,1162],{},"Additional allowed domains",[99,1164,1165,1166,242],{},"On Claude Team or Enterprise, this is an organization setting: an admin adds it at ",[103,1167,1168],{},[238,1169,1171],{"href":1170,"target":1150},"https:\u002F\u002Fclaude.ai\u002Fadmin-settings\u002Fcapabilities","Admin settings > Capabilities",[99,1173,1174],{},[577,1175],{"alt":1176,"src":1177},"Claude settings showing *.adkit.so added to Additional allowed domains","\u002Fdocs\u002Fagents\u002Fclaude-domain-allowlist.png",[1140,1179,1180,1193,1258],{"v-slot:claude-code":257},[99,1181,1131,1182,1184,1185,1188,1189,1192],{},[259,1183,1123],{}," to the ",[259,1186,1187],{},"allowedHosts"," array in your project's ",[259,1190,1191],{},".claude\u002Fsettings.json",":",[251,1194,1198],{"className":1195,"code":1196,"language":1197,"meta":257,"style":257},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n    \"permissions\": {\n        \"allowedHosts\": [\"*.adkit.so\"]\n    }\n}\n","json",[259,1199,1200,1206,1223,1246,1252],{"__ignoreMap":257},[368,1201,1202],{"class":370,"line":371},[368,1203,1205],{"class":1204},"sMK4o","{\n",[368,1207,1208,1211,1215,1218,1220],{"class":370,"line":391},[368,1209,1210],{"class":1204},"    \"",[368,1212,1214],{"class":1213},"spNyl","permissions",[368,1216,1217],{"class":1204},"\"",[368,1219,1192],{"class":1204},[368,1221,1222],{"class":1204}," {\n",[368,1224,1225,1228,1230,1232,1234,1237,1239,1241,1243],{"class":370,"line":539},[368,1226,1227],{"class":1204},"        \"",[368,1229,1187],{"class":374},[368,1231,1217],{"class":1204},[368,1233,1192],{"class":1204},[368,1235,1236],{"class":1204}," [",[368,1238,1217],{"class":1204},[368,1240,1123],{"class":378},[368,1242,1217],{"class":1204},[368,1244,1245],{"class":1204},"]\n",[368,1247,1249],{"class":370,"line":1248},4,[368,1250,1251],{"class":1204},"    }\n",[368,1253,1255],{"class":370,"line":1254},5,[368,1256,1257],{"class":1204},"}\n",[99,1259,1260,1261,1264,1265,1268],{},"You can also add it to ",[259,1262,1263],{},"~\u002F.claude\u002Fsettings.json"," if you want it allowed across all projects, or to ",[259,1266,1267],{},".claude\u002Fsettings.local.json"," for just your machine.",[1140,1270,1271,1279],{"v-slot:codex":257},[99,1272,1131,1273,1275,1276,1192],{},[259,1274,1123],{}," to your network domain permissions in ",[259,1277,1278],{},".codex\u002Fconfig.toml",[251,1280,1284],{"className":1281,"code":1282,"language":1283,"meta":257,"style":257},"language-toml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","[permissions.default.network.domains]\n\"*.adkit.so\" = \"allow\"\n","toml",[259,1285,1286,1291],{"__ignoreMap":257},[368,1287,1288],{"class":370,"line":371},[368,1289,1290],{},"[permissions.default.network.domains]\n",[368,1292,1293],{"class":370,"line":391},[368,1294,1295],{},"\"*.adkit.so\" = \"allow\"\n",[1140,1297,1298],{"v-slot:cursor":257},[99,1299,1131,1300,1302,1303,1306],{},[259,1301,1123],{}," to your MCP server's allowed hosts. In ",[259,1304,1305],{},".cursor\u002Fmcp.json",", make sure your AdKit server config includes the domain, or add it to your project's network allowlist in Cursor settings.",[1140,1308,1309,1312],{"v-slot:other":257},[99,1310,1311],{},"Paste this into your agent and it will figure out the best approach for your setup:",[251,1313,1316],{"className":1314,"code":1315,"language":256},[254],"AdKit has an MCP tool for uploading creatives that sends the file as base64 in\nthe tool call. If you can handle large base64 payloads, that's the simplest\npath.\n\nIf not, AdKit also supports temporary signed upload URLs: you request a URL from\nAdKit, then upload the file directly via fetch\u002Fcurl\n\nWhich approach works best for you, and do I need to configure anything (like\ndomain allowlisting for *.adkit.so) to make it work?\n",[259,1317,1315],{"__ignoreMap":257},[118,1319,1321],{"id":1320},"common-questions","Common questions",[1323,1324,1326,1334,1340,1346],"accordion",{"type":1325},"single",[1327,1328,1331],"accordion-item",{"icon":1329,"label":1330},"fa6-solid:circle-question","What if the agent says the upload link expired?",[99,1332,1333],{},"Upload links are temporary. Just ask the agent to start the upload again. It will request a new link automatically.",[1327,1335,1337],{"icon":1329,"label":1336},"Which agents work with AdKit?",[99,1338,1339],{},"Any agent that supports an AdKit connector: Claude, Claude Code, Codex, ChatGPT, and others. Local agents (CLI-based) usually work without any config. Cloud-hosted agents need the domain allowlisted first.",[1327,1341,1343],{"icon":1329,"label":1342},"What media formats are supported?",[99,1344,1345],{},"AdKit passes your file to Meta or Google as-is. Generally: JPEG, PNG, and MP4 for most ad types. Check your ad platform's creative specs for exact requirements.",[1327,1347,1349],{"icon":1329,"label":1348},"How do I know the upload worked?",[99,1350,1351],{},"The agent returns a media ID from the ad platform. For Meta, that's an image hash or video ID. For Google, it's an asset ID. You can verify by asking the agent to list your account's media.",[515,1353,1354],{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":257,"searchDepth":391,"depth":391,"links":1356},[1357,1358],{"id":1127,"depth":391,"text":1128},{"id":1320,"depth":391,"text":1321},"Upload images and videos to Meta Ads or Google Ads from Claude, Codex, or any AI agent using AdKit. Includes domain allowlist setup for each client.","fa6-solid:cloud-arrow-up",{},"Upload creative media",{"title":31,"description":1359},"2026-08-03","jFHEIYe_Rm4GVt59bh3_xDToG9n36g57bBxdKeMlmB0",{"id":1367,"title":41,"body":1368,"description":1751,"extension":528,"icon":1752,"iconInvert":34,"meta":1753,"navTitle":1754,"navigation":532,"path":42,"related":1755,"section":1760,"sectionOrder":371,"seo":1761,"stem":43,"type":541,"updatedAt":1762,"wip":34,"__hash__":1763},"docs\u002Fdocs\u002Fclients\u002F1.claude.md",{"type":96,"value":1369,"toc":1741},[1370,1377,1388,1393,1416,1420,1486,1495,1500,1510,1516,1522,1529,1533,1551,1555,1558,1589,1593,1596,1622,1629,1633,1639,1645,1651,1653,1659,1681,1684,1695,1704,1717,1723,1733,1738],[99,1371,1372,1373,1376],{},"Connect Claude to AdKit with one MCP connector and manage ",[103,1374,1375],{},"Meta, Google, TikTok, and Reddit"," ads from a normal conversation: pull campaigns, draft changes, generate creatives, and research competitors.",[99,1378,1379,1380,1383,1384,1387],{},"There is ",[103,1381,1382],{},"one AdKit connector for every platform",". You do not add a separate connector for Google or Meta. The same ",[259,1385,1386],{},"adkit_manage"," tool handles all of them once the ad account is connected in AdKit.",[99,1389,1390,1391,242],{},"Using Claude Cowork instead? See ",[238,1392,57],{"href":58},[869,1394,1395,1400],{"icon":885},[99,1396,1397],{},[103,1398,1399],{},"Prerequisites",[426,1401,1402,1409],{},[268,1403,1404,1405,1408],{},"A ",[103,1406,1407],{},"paid Claude plan"," (Pro, Max, Team, or Enterprise). Custom connectors are not available on the free tier.",[268,1410,1411,1412,1415],{},"An AdKit account with ",[238,1413,1414],{"href":11},"at least one ad account connected"," (Meta, Google, TikTok, or Reddit).",[118,1417,1419],{"id":1418},"setup-2-minutes","Setup (2 minutes)",[265,1421,1422,1444,1464,1476],{},[268,1423,1424,1427,1428,322,1433,1436,1437,1440,1441,242],{},[103,1425,1426],{},"Add AdKit from the connector directory."," Open the ",[238,1429,1432],{"href":1430,"rel":1431},"https:\u002F\u002Fclaude.ai\u002Fdirectory\u002Fconnectors\u002Fadkit",[314],"AdKit listing",[103,1434,1435],{},"Connect",". You can also find it in Claude under ",[103,1438,1439],{},"Customize → Connectors"," by searching for ",[103,1442,1443],{},"AdKit",[268,1445,1446,1449,1450,1452,1453,1456,1457,1460],{},[103,1447,1448],{},"Turn it on."," In a conversation, click ",[103,1451,325],{}," → ",[103,1454,1455],{},"Connectors"," → turn AdKit on.",[1458,1459],"br",{},[577,1461],{"alt":1462,"src":1463},"The + menu in a Claude conversation with the Connectors submenu open and AdKit toggled on","\u002Fdocs\u002Fclients\u002Fclaude-enable-connector.png",[268,1465,1466,1469,1470],{},[103,1467,1468],{},"Ask Claude to connect."," Send this in a new chat:",[251,1471,1474],{"className":1472,"code":1473,"language":256,"meta":257},[254],"Use the AdKit connector and run the AdKit checkin tool with agentId: \"claude\".\nTell me if AdKit is connected and ready. If not, tell me how to connect it.\n",[259,1475,1473],{"__ignoreMap":257},[268,1477,1478,1481,1482,1485],{},[103,1479,1480],{},"Done."," When Claude reports it's connected, you're ready. Ask it to ",[259,1483,1484],{},"list my ad accounts"," to confirm it can see them.",[1487,1488,1489],"warning",{},[99,1490,1491,1494],{},[103,1492,1493],{},"Team \u002F Enterprise workspaces:"," an admin has to add the connector from the workspace admin settings first. If you added it on your personal account but are chatting inside an org workspace, it won't appear. Add it in the workspace you actually use.",[1496,1497,1499],"h3",{"id":1498},"add-it-manually-instead","Add it manually instead",[99,1501,1502,1503,1506,1507,1509],{},"In Claude, go to ",[103,1504,1505],{},"Customize → Connectors → Add Connector",". Name it ",[103,1508,1443],{}," and enter this URL:",[251,1511,1514],{"className":1512,"code":1513,"language":256,"meta":257},[254],"https:\u002F\u002Fmcp.adkit.so\n",[259,1515,1513],{"__ignoreMap":257},[99,1517,1518],{},[577,1519],{"alt":1520,"src":1521},"The Add custom connector dialog in Claude settings, with the name AdKit and the URL mcp.adkit.so filled in","\u002Fdocs\u002Fclients\u002Fclaude-add-connector.png",[99,1523,1524,1525,1452,1527,1456],{},"Then enable it in a conversation: click ",[103,1526,325],{},[103,1528,1455],{},[118,1530,1532],{"id":1531},"optional-allow-file-uploads","Optional: allow file uploads",[99,1534,1535,1536,1538,1539,1543,1544,1548,1549,242],{},"Only needed if you want to upload ad creatives through Claude. Add ",[259,1537,1123],{}," to your ",[238,1540,1542],{"href":1149,"rel":1541},[314],"allowed domains"," so Claude can upload files directly. On Team or Enterprise, an admin adds it in the ",[238,1545,1547],{"href":1170,"rel":1546},[314],"organization capabilities settings"," instead. Full steps: ",[238,1550,1362],{"href":32},[118,1552,1554],{"id":1553},"optional-install-ad-strategy-skills","Optional: install ad strategy skills",[99,1556,1557],{},"Teach Claude how to plan and run campaigns:",[251,1559,1561],{"className":362,"code":1560,"language":364,"meta":257,"style":257},"npx skills add adkit\u002Fads-skills --skill '*'\n",[259,1562,1563],{"__ignoreMap":257},[368,1564,1565,1568,1571,1574,1577,1580,1583,1586],{"class":370,"line":371},[368,1566,1567],{"class":374},"npx",[368,1569,1570],{"class":378}," skills",[368,1572,1573],{"class":378}," add",[368,1575,1576],{"class":378}," adkit\u002Fads-skills",[368,1578,1579],{"class":378}," --skill",[368,1581,1582],{"class":1204}," '",[368,1584,1585],{"class":378},"*",[368,1587,1588],{"class":1204},"'\n",[118,1590,1592],{"id":1591},"what-you-can-do","What you can do",[99,1594,1595],{},"Once connected, Claude can:",[426,1597,1598,1604,1610,1616],{},[268,1599,1600,1603],{},[103,1601,1602],{},"Manage campaigns:"," read live campaigns, draft budget, status, and targeting changes across Meta, Google, TikTok, and Reddit.",[268,1605,1606,1609],{},[103,1607,1608],{},"Create ads:"," generate images and copy in AdKit Studio, then push them as drafts.",[268,1611,1612,1615],{},[103,1613,1614],{},"Research competitors:"," search the ad library (500k+ ads, 1000+ advertisers).",[268,1617,1618,1621],{},[103,1619,1620],{},"Analyze:"," pull performance and spot what needs attention.",[99,1623,1624,1625,1628],{},"Nothing goes live automatically. Every change is created as a ",[103,1626,1627],{},"draft"," for you to review and publish.",[118,1630,1632],{"id":1631},"example-prompts","Example prompts",[251,1634,1637],{"className":1635,"code":1636,"language":256,"meta":257},[254],"Pull my active Meta campaigns and show me which ones are overspending this week.\n",[259,1638,1636],{"__ignoreMap":257},[251,1640,1643],{"className":1641,"code":1642,"language":256,"meta":257},[254],"Research my top 3 competitors' Facebook ads and summarize the angles they use.\n",[259,1644,1642],{"__ignoreMap":257},[251,1646,1649],{"className":1647,"code":1648,"language":256,"meta":257},[254],"Draft a new Google Search campaign for my SaaS, budget $30\u002Fday, and let me review before publishing.\n",[259,1650,1648],{"__ignoreMap":257},[118,1652,462],{"id":461},[99,1654,1655,1658],{},[103,1656,1657],{},"AdKit shows as connected, but Claude says its tools aren't available, or the connection times out.","\nClaude sometimes keeps a broken copy of AdKit's tool list, and clicking Reconnect doesn't clear it. A new chat won't help either. Do a full reset:",[265,1660,1661,1670,1673],{},[268,1662,1502,1663,322,1666,1669],{},[103,1664,1665],{},"Settings → Connectors → AdKit",[103,1667,1668],{},"Remove"," (not Disconnect).",[268,1671,1672],{},"Quit the Claude desktop app completely (Cmd+Q on Mac). Closing the window isn't enough.",[268,1674,1675,1676,1680],{},"Reopen Claude and add AdKit again from the ",[238,1677,1679],{"href":1430,"rel":1678},[314],"connector directory",", then start a new chat.",[99,1682,1683],{},"Your ad accounts and projects stay connected in AdKit, so nothing needs to be set up again on that side.",[99,1685,1686,1689,1690,1452,1692,1694],{},[103,1687,1688],{},"Claude doesn't see AdKit at all.","\nConnectors are enabled per conversation: click ",[103,1691,325],{},[103,1693,1455],{}," and check AdKit is switched on. If it's not in the list, you installed it on a different workspace (personal vs. org), so add it in the one you're chatting in. On Team\u002FEnterprise, an admin must add it first.",[99,1696,1697,1703],{},[103,1698,1699,1700,1702],{},"Claude only shows old or Meta-only tools (no ",[259,1701,1386],{},").","\nClaude is showing a cached tool list from a previous connection. Remove the AdKit connector, add it again, and start a new chat. Also check the connector's tool permissions in Claude's settings: a tool category blocked there never reaches Claude.",[99,1705,1706,1709,1710,1712,1713,1716],{},[103,1707,1708],{},"Claude says a platform \"isn't connected\" even though it is.","\nThere is no separate per-platform connector. Google and Meta share ",[259,1711,1386],{},". Confirm the ad account is connected in AdKit (ask Claude to run ",[259,1714,1715],{},"adkit_status","), then retry. If tools are missing, reconnect as above.",[99,1718,1719,1722],{},[103,1720,1721],{},"Another ads tool answers instead, or results mix up advertisers.","\nTwo ads connectors running side by side confuse Claude about which one to call. Disable the other one, remove any older AdKit connector that has a long URL, and start a new chat.",[99,1724,1725,1728,1729,1732],{},[103,1726,1727],{},"It worked before and stopped.","\nThe authorization expires after about 30 days without use. Reset it: revoke the old connection under ",[238,1730,1014],{"href":1043,"rel":1731},[314],", remove the connector in Claude, and run the setup above again.",[99,1734,507,1735,513],{},[238,1736,512],{"href":510,"rel":1737},[314],[515,1739,1740],{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":257,"searchDepth":391,"depth":391,"links":1742},[1743,1746,1747,1748,1749,1750],{"id":1418,"depth":391,"text":1419,"children":1744},[1745],{"id":1498,"depth":539,"text":1499},{"id":1531,"depth":391,"text":1532},{"id":1553,"depth":391,"text":1554},{"id":1591,"depth":391,"text":1592},{"id":1631,"depth":391,"text":1632},{"id":461,"depth":391,"text":462},"Connect Claude (web or Desktop) to AdKit via the MCP connector and manage Meta, Google, TikTok, and Reddit ads in natural language.","\u002Fimages\u002Flogos\u002Fclaude.svg",{},"Claude",[1756,1758],{"label":10,"to":11,"description":1757},"Link Meta, Google, or TikTok so Claude has something to manage.",{"label":690,"to":90,"description":1759},"What to do once the connector is set up.","Connect an agent",{"title":41,"description":1751},"2026-09-03","6dwAwm8xZ5a1AAltsfA7J8yPqXFOxepnUY6l1a5WO9k",{"id":1765,"title":45,"body":1766,"description":1963,"extension":528,"icon":1964,"iconInvert":532,"meta":1965,"navTitle":1966,"navigation":532,"path":46,"related":1967,"section":1760,"sectionOrder":371,"seo":1971,"stem":47,"type":541,"updatedAt":1972,"wip":34,"__hash__":1973},"docs\u002Fdocs\u002Fclients\u002F10.hermes.md",{"type":96,"value":1767,"toc":1957},[1768,1774,1778,1781,1787,1790,1794,1797,1884,1887,1889,1905,1911,1929,1942,1944,1949,1954],[99,1769,1770,1771,1773],{},"Connect Hermes to AdKit and manage ",[103,1772,1375],{}," ads. The CLI setup works whether Hermes runs locally or on a persistent server: Hermes sends you a public sign-in URL that you can open in your own browser.",[118,1775,1777],{"id":1776},"recommended-let-hermes-set-it-up","Recommended: let Hermes set it up",[99,1779,1780],{},"Give Hermes this prompt:",[251,1782,1785],{"className":1783,"code":1784,"language":256,"meta":257},[254],"Help me set up AdKit.\n\n1. Install the CLI: npm i -g @adkit\u002Fcli\n2. Start `adkit setup` as a background process so it can keep waiting. Read its output and send me the login URL immediately.\n3. Wait for me to finish login in my browser, then wait for the background process to complete.\n4. Run `adkit status`.\n5. Run `adkit checkin --agent hermes`.\n6. Tell me if AdKit is connected and ready. If not, tell me what failed.\n\nIf you cannot install or run the AdKit CLI in this environment, stop and tell me to use the MCP setup instead.\n",[259,1786,1784],{"__ignoreMap":257},[99,1788,1789],{},"Open the URL Hermes sends you. After you approve access, the waiting CLI process stores the connection where Hermes runs.",[118,1791,1793],{"id":1792},"alternative-mcp-with-an-api-key","Alternative: MCP with an API key",[99,1795,1796],{},"Use this when Hermes cannot run the CLI.",[265,1798,1799,1806,1874],{},[268,1800,1801,1802,1805],{},"Create a key under ",[238,1803,1014],{"href":1012,"rel":1804},[314],". It is shown once, so copy it immediately.",[268,1807,1808,1809,1812,1813,1192,1816],{},"Add this to ",[259,1810,1811],{},"~\u002F.hermes\u002Fconfig.yaml",", replacing ",[259,1814,1815],{},"adk_your_key",[251,1817,1821],{"className":1818,"code":1819,"language":1820,"meta":257,"style":257},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","mcp_servers:\n    adkit:\n        url: 'https:\u002F\u002Fmcp.adkit.so'\n        headers:\n            Authorization: 'Bearer adk_your_key'\n","yaml",[259,1822,1823,1832,1839,1853,1860],{"__ignoreMap":257},[368,1824,1825,1829],{"class":370,"line":371},[368,1826,1828],{"class":1827},"swJcz","mcp_servers",[368,1830,1831],{"class":1204},":\n",[368,1833,1834,1837],{"class":370,"line":391},[368,1835,1836],{"class":1827},"    adkit",[368,1838,1831],{"class":1204},[368,1840,1841,1844,1846,1848,1851],{"class":370,"line":539},[368,1842,1843],{"class":1827},"        url",[368,1845,1192],{"class":1204},[368,1847,1582],{"class":1204},[368,1849,1850],{"class":378},"https:\u002F\u002Fmcp.adkit.so",[368,1852,1588],{"class":1204},[368,1854,1855,1858],{"class":370,"line":1248},[368,1856,1857],{"class":1827},"        headers",[368,1859,1831],{"class":1204},[368,1861,1862,1865,1867,1869,1872],{"class":370,"line":1254},[368,1863,1864],{"class":1827},"            Authorization",[368,1866,1192],{"class":1204},[368,1868,1582],{"class":1204},[368,1870,1871],{"class":378},"Bearer adk_your_key",[368,1873,1588],{"class":1204},[268,1875,1876,1877,1880,1881,242],{},"Run ",[259,1878,1879],{},"\u002Freload-mcp"," in Hermes, then ask Hermes to run the AdKit check-in tool with ",[259,1882,1883],{},"agentId: \"hermes\"",[99,1885,1886],{},"Keep the key in Hermes's MCP configuration, not in an agent conversation.",[118,1888,462],{"id":461},[99,1890,1891,1896,1897,1900,1901,1904],{},[103,1892,1893,242],{},[259,1894,1895],{},"adkit: command not found","\nThe CLI is not installed in that environment. Run ",[259,1898,1899],{},"npm i -g @adkit\u002Fcli",", then try ",[259,1902,1903],{},"adkit status"," again. On a server, make sure it is installed in the same environment Hermes runs in.",[99,1906,1907,1910],{},[103,1908,1909],{},"The setup command keeps waiting.","\nComplete the sign-in URL Hermes sent you. The background process must remain running until browser authorization finishes.",[99,1912,1913,1916,1917,1919,1920,1922,1923,1925,1926,1928],{},[103,1914,1915],{},"MCP shows zero tools.","\nCheck that ",[259,1918,1811],{}," points to ",[259,1921,1850],{}," and the header value is exactly ",[259,1924,1871],{}," (capital B, one space), then run ",[259,1927,1879],{},". Verify by invoking the AdKit check-in tool from an actual Hermes conversation.",[99,1930,1931,1934,1935,1938,1939,1941],{},[103,1932,1933],{},"Rotate or revoke a key.","\nGo to ",[238,1936,1014],{"href":1043,"rel":1937},[314]," in AdKit to revoke a key and create a new one, then update ",[259,1940,1811],{},". API keys don't expire on their own.",[118,1943,1592],{"id":1591},[99,1945,1946,1947,1628],{},"Once connected, Hermes can pull your live campaigns, draft budget and targeting changes, generate ad creatives, and research competitors. Nothing goes live on its own: every change is saved as a ",[103,1948,1627],{},[99,1950,670,1951,513],{},[238,1952,512],{"href":510,"rel":1953},[314],[515,1955,1956],{},"html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":257,"searchDepth":391,"depth":391,"links":1958},[1959,1960,1961,1962],{"id":1776,"depth":391,"text":1777},{"id":1792,"depth":391,"text":1793},{"id":461,"depth":391,"text":462},{"id":1591,"depth":391,"text":1592},"Connect Hermes to AdKit with the CLI or an API key and manage Meta, Google, TikTok, and Reddit ads, whether Hermes runs locally or on a server.","\u002Fimages\u002Flogos\u002Fhermes.png",{},"Hermes",[1968,1970],{"label":14,"to":15,"description":1969},"Give each brand its own project and tell Hermes which one to use.",{"label":690,"to":90,"description":691},{"title":45,"description":1963},"2026-08-02","C9Ob7CY3S8RnJGSbAtHaVTHnqd6k0P_Ps2xvEk5TlaM",{"id":1975,"title":49,"body":1976,"description":2087,"extension":528,"icon":2088,"iconInvert":34,"meta":2089,"navTitle":2090,"navigation":532,"path":50,"related":2091,"section":1760,"sectionOrder":371,"seo":2095,"stem":51,"type":541,"updatedAt":1972,"wip":34,"__hash__":2096},"docs\u002Fdocs\u002Fclients\u002F11.n8n.md",{"type":96,"value":1977,"toc":2081},[1978,1984,1988,2015,2018,2022,2025,2031,2033,2038,2040,2054,2067,2076],[99,1979,1980,1981,1983],{},"Use AdKit inside n8n to automate your ",[103,1982,1375],{}," ad workflows through the MCP Client Tool.",[118,1985,1987],{"id":1986},"connect-the-mcp-client-tool","Connect the MCP Client Tool",[265,1989,1990,1996,2003,2012],{},[268,1991,1992,1993,1805],{},"Create an API key under ",[238,1994,1014],{"href":1012,"rel":1995},[314],[268,1997,1998,1999,2002],{},"Add an ",[103,2000,2001],{},"MCP Client Tool"," node to your workflow.",[268,2004,2005,2006],{},"Configure it with these values:",[251,2007,2010],{"className":2008,"code":2009,"language":256,"meta":257},[254],"Endpoint: https:\u002F\u002Fmcp.adkit.so\nServer transport: HTTP Streamable\nAuthentication: Bearer Auth\nBearer token: adk_your_key\n",[259,2011,2009],{"__ignoreMap":257},[268,2013,2014],{},"Connect the MCP Client Tool to your AI Agent node and save the workflow.",[99,2016,2017],{},"Keep the key in the n8n credential, not in a workflow prompt or chat message.",[118,2019,2021],{"id":2020},"check-it-worked","Check it worked",[99,2023,2024],{},"Run the workflow with this test message:",[251,2026,2029],{"className":2027,"code":2028,"language":256,"meta":257},[254],"Use the AdKit checkin tool with agentId: \"n8n\", then list my connected ad accounts.\nTell me if AdKit is connected and ready. If not, tell me what failed.\n",[259,2030,2028],{"__ignoreMap":257},[118,2032,1592],{"id":1591},[99,2034,2035,2036,1628],{},"Once connected, n8n can pull your live campaigns, draft budget and targeting changes, and research competitors as part of a workflow. Nothing goes live on its own: every change is saved as a ",[103,2037,1627],{},[118,2039,462],{"id":461},[99,2041,2042,2045,2046,2049,2050,2053],{},[103,2043,2044],{},"The node connects but calls fail with an auth error.","\nThe Bearer token must be the full key starting with ",[259,2047,2048],{},"adk_",", nothing else around it. If the key was revoked or lost, create a new one under ",[238,2051,1014],{"href":1012,"rel":2052},[314],": it is shown once.",[99,2055,2056,2059,2060,2062,2063,2066],{},[103,2057,2058],{},"The tool lists zero AdKit tools.","\nCheck the endpoint is exactly ",[259,2061,1850],{}," and the transport is ",[103,2064,2065],{},"HTTP Streamable",", then re-save the credential and run the workflow again.",[99,2068,2069,2071,2072,2075],{},[103,2070,1933],{},"\nRevoke the old key under ",[238,2073,1014],{"href":1043,"rel":2074},[314],", create a new one, and update the n8n credential. API keys don't expire on their own.",[99,2077,670,2078,513],{},[238,2079,512],{"href":510,"rel":2080},[314],{"title":257,"searchDepth":391,"depth":391,"links":2082},[2083,2084,2085,2086],{"id":1986,"depth":391,"text":1987},{"id":2020,"depth":391,"text":2021},{"id":1591,"depth":391,"text":1592},{"id":461,"depth":391,"text":462},"Connect n8n workflows to AdKit through the MCP server or an API key and manage Meta, Google, TikTok, and Reddit ads.","\u002Fimages\u002Flogos\u002Fn8n.svg",{},"n8n",[2092,2094],{"label":14,"to":15,"description":2093},"Give each brand its own project and tell n8n which one to use.",{"label":690,"to":90,"description":691},{"title":49,"description":2087},"ttci47DJ0y4pnSC62BzoAx2Xcyz_Gf7W63dEKg2dx78",{"id":2098,"title":53,"body":2099,"description":2242,"extension":528,"icon":2243,"iconInvert":532,"meta":2244,"navTitle":2245,"navigation":532,"path":54,"related":2246,"section":1760,"sectionOrder":371,"seo":2250,"stem":55,"type":541,"updatedAt":542,"wip":34,"__hash__":2251},"docs\u002Fdocs\u002Fclients\u002F12.grok-bot.md",{"type":96,"value":2100,"toc":2236},[2101,2107,2110,2114,2171,2173,2176,2182,2184,2189,2191,2200,2214,2223,2231],[99,2102,2103,2104,2106],{},"Add AdKit to Grok Bot as a custom MCP server, then manage ",[103,2105,1375],{}," ads from a normal conversation. Connectors are account-wide, so every Bot you run can use AdKit once it is added.",[99,2108,2109],{},"Grok Bot is the desktop and mobile app you sign in to with a Cursor account. It is not the same as Grok chat on grok.com, which has its own connectors page.",[118,2111,2113],{"id":2112},"setup","Setup",[265,2115,2116,2132,2155,2161],{},[268,2117,2118,2121,2122,2125,2126,2131],{},[103,2119,2120],{},"Open Plugins."," In the Grok Bot app, go to ",[103,2123,2124],{},"Settings → Plugins",". If you haven't installed the app yet, get it from ",[238,2127,2130],{"href":2128,"rel":2129},"https:\u002F\u002Fx.ai\u002Fbot",[314],"x.ai\u002Fbot"," and sign in with your Cursor account.",[268,2133,2134,2137,2138,2140,2141,2146,2148,2149],{},[103,2135,2136],{},"Add AdKit as a custom MCP server."," Use the name ",[103,2139,1443],{}," and this URL:",[251,2142,2144],{"className":2143,"code":1513,"language":256,"meta":257},[254],[259,2145,1513],{"__ignoreMap":257},[1458,2147],{},"You can also ask your Bot to do it. Send this in a chat and confirm when it shows you the name and URL:",[251,2150,2153],{"className":2151,"code":2152,"language":256,"meta":257},[254],"Add a custom MCP server called adkit at https:\u002F\u002Fmcp.adkit.so\n",[259,2154,2152],{"__ignoreMap":257},[268,2156,2157,2160],{},[103,2158,2159],{},"Authorize."," Grok Bot opens a browser window. Sign in to AdKit and allow access. No API key needed.",[268,2162,2163,2166,2167,2170],{},[103,2164,2165],{},"Attach it to a task."," In a chat, type ",[259,2168,2169],{},"@"," and pick AdKit so the Bot uses it for that task.",[118,2172,2021],{"id":2020},[99,2174,2175],{},"Send this in a new chat. It confirms Grok Bot can actually use AdKit:",[251,2177,2180],{"className":2178,"code":2179,"language":256,"meta":257},[254],"Use the AdKit connector you just added and run the AdKit checkin tool with agentId: \"grok\".\nIf sign-in is needed, send me the link and wait for me to finish.\nThen tell me if AdKit is connected and ready. If not, tell me what failed.\n",[259,2181,2179],{"__ignoreMap":257},[118,2183,1592],{"id":1591},[99,2185,2186,2187,1628],{},"Once connected, Grok Bot can pull your live campaigns, draft budget and targeting changes, generate ad creatives, and research competitors. It also runs scheduled routines, so you can have a Bot send you a performance recap every Monday. Nothing goes live on its own: every change is saved as a ",[103,2188,1627],{},[118,2190,462],{"id":461},[99,2192,2193,2196,2197,2199],{},[103,2194,2195],{},"You can't add a custom server.","\nOn a Cursor Teams or Enterprise plan, your admin decides which MCP servers members can use. Ask them to allow ",[259,2198,1850],{}," from the Plugins page of the Cursor dashboard.",[99,2201,2202,2205,2206,2210,2211,2213],{},[103,2203,2204],{},"You connected the wrong AdKit account.","\nThe sign-in step uses whoever is already logged in to AdKit in that browser. If you use several browsers or AdKit accounts, log in to the right one at ",[238,2207,2209],{"href":510,"rel":2208},[314],"app.adkit.so"," first. Then remove AdKit under ",[103,2212,2124],{}," and add it again.",[99,2215,2216,2219,2220,2222],{},[103,2217,2218],{},"AdKit is added but the Bot doesn't use it.","\nType ",[259,2221,2169],{}," and attach AdKit to the task, or name it in your message (\"use the AdKit connector\"). Long chats sometimes hold on to a broken session, so try a new chat too.",[99,2224,2225,1728,2227,2230],{},[103,2226,1727],{},[238,2228,1014],{"href":1043,"rel":2229},[314],", remove AdKit in Grok Bot, and add it again.",[99,2232,670,2233,513],{},[238,2234,512],{"href":510,"rel":2235},[314],{"title":257,"searchDepth":391,"depth":391,"links":2237},[2238,2239,2240,2241],{"id":2112,"depth":391,"text":2113},{"id":2020,"depth":391,"text":2021},{"id":1591,"depth":391,"text":1592},{"id":461,"depth":391,"text":462},"Add AdKit to Grok Bot as a custom MCP server and manage Meta, Google, TikTok, and Reddit ads in plain language.","\u002Fimages\u002Flogos\u002Fgrok.svg",{},"Grok Bot",[2247,2249],{"label":14,"to":15,"description":2248},"Give each brand its own project and tell Grok Bot which one to use.",{"label":690,"to":90,"description":691},{"title":53,"description":2242},"H_EwZTtxuYDe0JkkwR_u4oWGE5gRCfwWPWSrwPv-MPU",{"id":2253,"title":57,"body":2254,"description":2386,"extension":528,"icon":1752,"iconInvert":34,"meta":2387,"navTitle":2388,"navigation":532,"path":58,"related":2389,"section":1760,"sectionOrder":371,"seo":2394,"stem":59,"type":541,"updatedAt":1762,"wip":34,"__hash__":2395},"docs\u002Fdocs\u002Fclients\u002F2.claude-cowork.md",{"type":96,"value":2255,"toc":2377},[2256,2262,2265,2267,2288,2296,2298,2306,2311,2313,2316,2321,2323,2336,2338,2343,2345,2358,2364,2372],[99,2257,2258,2259,2261],{},"Connect Claude Cowork to AdKit and manage ",[103,2260,1375],{}," ads from a normal conversation. The one connector covers every platform once your ad account is connected in AdKit.",[99,2263,2264],{},"Adding the AdKit connector takes about a minute.",[118,2266,2113],{"id":2112},[265,2268,2269,2278],{},[268,2270,2271,1427,2273,322,2276,242],{},[103,2272,1426],{},[238,2274,1432],{"href":1430,"rel":2275},[314],[103,2277,1435],{},[268,2279,2280,1449,2282,2284,2285,2287],{},[103,2281,1448],{},[103,2283,325],{},", open ",[103,2286,1455],{},", and switch AdKit on.",[1487,2289,2290],{},[99,2291,2292,2295],{},[103,2293,2294],{},"Team or Enterprise workspaces:"," an admin has to add the connector from the workspace admin settings first. If you added it on your personal account but are working inside an org workspace, it won't show up. Add it in the workspace you actually use.",[1496,2297,1499],{"id":1498},[99,2299,1144,2300,2302,2303,2305],{},[103,2301,1505],{},", name it ",[103,2304,1443],{},", and enter this address:",[251,2307,2309],{"className":2308,"code":1513,"language":256,"meta":257},[254],[259,2310,1513],{"__ignoreMap":257},[118,2312,2021],{"id":2020},[99,2314,2315],{},"Send this in a new conversation. It confirms Cowork can actually use AdKit:",[251,2317,2319],{"className":2318,"code":1473,"language":256,"meta":257},[254],[259,2320,1473],{"__ignoreMap":257},[118,2322,1532],{"id":1531},[99,2324,2325,2326,1538,2328,1543,2331,1548,2334,242],{},"Only needed if you want to upload ad creatives through Cowork. Add ",[259,2327,1123],{},[238,2329,1542],{"href":1149,"rel":2330},[314],[238,2332,1547],{"href":1170,"rel":2333},[314],[238,2335,1362],{"href":32},[118,2337,1592],{"id":1591},[99,2339,2340,2341,1628],{},"Once connected, Cowork can pull your live campaigns, draft budget and targeting changes, generate ad creatives, and research competitors. Nothing goes live on its own: every change is saved as a ",[103,2342,1627],{},[118,2344,462],{"id":461},[99,2346,2347,2352,2353,2357],{},[103,2348,2349,2350,1702],{},"Tools are missing or vanish mid-session (no ",[259,2351,1386],{},"\nCowork sometimes loads a partial tool list, and it doesn't let you adjust connector permissions the way Claude web does. Start a new session so the full tool list is fetched again. If every AdKit tool is gone, or the connection times out, remove the connector and quit the app completely before adding it back (",[238,2354,2356],{"href":2355},"\u002Fdocs\u002Fclients\u002Fclaude#troubleshooting","full steps","). If only one tool is still missing, open Claude web and check the connector's tool permissions in settings: a category blocked there never reaches Cowork.",[99,2359,2360,2363],{},[103,2361,2362],{},"The connector doesn't show up.","\nYou likely added it on a different workspace (personal vs. org). Add it in the workspace you're working in. On Team or Enterprise, an admin has to add it first (see the warning above).",[99,2365,2366,1728,2368,2371],{},[103,2367,1727],{},[238,2369,1014],{"href":1043,"rel":2370},[314],", remove the connector, and run the setup above again.",[99,2373,670,2374,513],{},[238,2375,512],{"href":510,"rel":2376},[314],{"title":257,"searchDepth":391,"depth":391,"links":2378},[2379,2382,2383,2384,2385],{"id":2112,"depth":391,"text":2113,"children":2380},[2381],{"id":1498,"depth":539,"text":1499},{"id":2020,"depth":391,"text":2021},{"id":1531,"depth":391,"text":1532},{"id":1591,"depth":391,"text":1592},{"id":461,"depth":391,"text":462},"Connect Claude Cowork to AdKit by adding the MCP connector and manage Meta, Google, TikTok, and Reddit ads in natural language.",{},"Claude Cowork",[2390,2392],{"label":41,"to":42,"description":2391},"The standard Claude web and Desktop setup.",{"label":14,"to":15,"description":2393},"Give each brand its own project and tell Claude which one to use.",{"title":57,"description":2386},"eqlZpaXWdZB4mncruhbzEIbseSW8dabpzFNSd18GjnY",{"id":2397,"title":61,"body":2398,"description":2563,"extension":528,"icon":2564,"iconInvert":532,"meta":2565,"navTitle":2566,"navigation":532,"path":62,"related":2567,"section":1760,"sectionOrder":371,"seo":2571,"stem":63,"type":541,"updatedAt":1972,"wip":34,"__hash__":2572},"docs\u002Fdocs\u002Fclients\u002F3.chatgpt.md",{"type":96,"value":2399,"toc":2555},[2400,2406,2408,2411,2447,2451,2454,2497,2499,2502,2508,2510,2515,2517,2523,2533,2542,2550],[99,2401,2402,2403,2405],{},"Add AdKit to ChatGPT as an app, then manage ",[103,2404,1375],{}," ads from a normal conversation. One app covers every platform once your ad account is connected in AdKit.",[118,2407,2113],{"id":2112},[99,2409,2410],{},"AdKit is an approved app in the ChatGPT app directory, so installing it takes one click:",[265,2412,2413,2425,2441],{},[268,2414,2415,2418,2419,2424],{},[103,2416,2417],{},"Open the AdKit app page."," Go to ",[238,2420,2423],{"href":2421,"rel":2422},"https:\u002F\u002Fchatgpt.com\u002Fplugins\u002Fplugin_asdk_app_6a1e848decdc8191a4974b315c51661f",[314],"AdKit on ChatGPT"," and log in to ChatGPT if you are not already.",[268,2426,2427,279,2430,2433,2434,2436,2437,2440],{},[103,2428,2429],{},"Install it.",[103,2431,2432],{},"Install plugin"," (or ",[103,2435,1435],{},"), review what AdKit can access, and pick ",[103,2438,2439],{},"Sign in with AdKit"," to link your account.",[268,2442,2443,2446],{},[103,2444,2445],{},"Add it to a chat."," Open a new chat and add AdKit from the tools or apps menu, or just start your prompt with \"AdKit\".",[1496,2448,2450],{"id":2449},"manual-setup","Manual setup",[99,2452,2453],{},"Use this if the one-click install is not available to you, for example when a workspace admin restricts app installs:",[265,2455,2456,2474,2487],{},[268,2457,2458,2418,2461,2466,2467,1152,2470,2473],{},[103,2459,2460],{},"Open Apps.",[238,2462,2465],{"href":2463,"rel":2464},"https:\u002F\u002Fchatgpt.com\u002F#settings\u002FConnectors",[314],"Settings → Apps"," in ChatGPT. If you don't see ",[103,2468,2469],{},"New App",[103,2471,2472],{},"Developer mode"," first, or ask your workspace admin to turn it on.",[268,2475,2476,279,2479,2481,2482],{},[103,2477,2478],{},"Create a new app.",[103,2480,2469],{}," and paste this address:",[251,2483,2485],{"className":2484,"code":1513,"language":256,"meta":257},[254],[259,2486,1513],{"__ignoreMap":257},[268,2488,2489,2492,2493,2496],{},[103,2490,2491],{},"Finish setup."," Set authentication to ",[103,2494,2495],{},"OAuth",", review the warning, and create the app. If ChatGPT opens a browser window, sign in to AdKit to finish.",[118,2498,2021],{"id":2020},[99,2500,2501],{},"Send this in a new chat. It confirms ChatGPT can actually use AdKit, not just see the app:",[251,2503,2506],{"className":2504,"code":2505,"language":256,"meta":257},[254],"Use the AdKit app you just enabled and run the AdKit checkin tool with agentId: \"chatgpt\".\nIf sign-in is needed, send me the link and wait for me to finish.\nThen tell me if AdKit is connected and ready. If not, tell me what failed.\n",[259,2507,2505],{"__ignoreMap":257},[118,2509,1592],{"id":1591},[99,2511,2512,2513,1628],{},"Once connected, ChatGPT can pull your live campaigns, draft budget and targeting changes, generate ad creatives, and research competitors. Nothing goes live on its own: every change is saved as a ",[103,2514,1627],{},[118,2516,462],{"id":461},[99,2518,2519,2522],{},[103,2520,2521],{},"AdKit is installed but ChatGPT doesn't use it.","\nApps are enabled per chat. Add AdKit from the tools or apps menu, or start your prompt with \"AdKit\", then retry in a new conversation.",[99,2524,2525,2528,2529,2532],{},[103,2526,2527],{},"Sign-in finished but nothing is connected.","\nSome flows show two screens: a sign-in first, then a separate ",[103,2530,2531],{},"Authorize"," button. If the window was closed after the first screen, AdKit never got access. Run the sign-in again and complete both steps.",[99,2534,2535,2538,2539,2541],{},[103,2536,2537],{},"The app is stuck half-installed or tools keep failing.","\nRemove the AdKit app under ",[103,2540,2465],{},", add it again, then start a new chat. This is the reliable fix when the app shows up but calls fail.",[99,2543,2544,1728,2546,2549],{},[103,2545,1727],{},[238,2547,1014],{"href":1043,"rel":2548},[314],", remove the app in ChatGPT, and run the setup above again.",[99,2551,670,2552,513],{},[238,2553,512],{"href":510,"rel":2554},[314],{"title":257,"searchDepth":391,"depth":391,"links":2556},[2557,2560,2561,2562],{"id":2112,"depth":391,"text":2113,"children":2558},[2559],{"id":2449,"depth":539,"text":2450},{"id":2020,"depth":391,"text":2021},{"id":1591,"depth":391,"text":1592},{"id":461,"depth":391,"text":462},"Add AdKit to ChatGPT as an app and manage Meta, Google, TikTok, and Reddit ads in plain language.","\u002Fimages\u002Flogos\u002Fopenai.png",{},"ChatGPT",[2568,2570],{"label":14,"to":15,"description":2569},"Give each brand its own project and tell ChatGPT which one to use.",{"label":690,"to":90,"description":691},{"title":61,"description":2563},"HdjjXhia1ZxIhK8vfyL26x_fiZsQXmkeSuH9S0NaM2o",{"id":2574,"title":65,"body":2575,"description":2706,"extension":528,"icon":2707,"iconInvert":34,"meta":2708,"navTitle":2709,"navigation":532,"path":66,"related":2710,"section":1760,"sectionOrder":371,"seo":2714,"stem":67,"type":541,"updatedAt":1972,"wip":34,"__hash__":2715},"docs\u002Fdocs\u002Fclients\u002F4.perplexity.md",{"type":96,"value":2576,"toc":2700},[2577,2583,2585,2647,2649,2652,2658,2660,2665,2667,2673,2681,2687,2695],[99,2578,2579,2580,2582],{},"Add AdKit to Perplexity as a custom connector, then manage ",[103,2581,1375],{}," ads from a normal conversation. One connector covers every platform once your ad account is connected in AdKit.",[118,2584,2113],{"id":2112},[265,2586,2587,2600,2642],{},[268,2588,2589,2418,2592,2595,2596,2599],{},[103,2590,2591],{},"Open Connectors.",[103,2593,2594],{},"Account settings → Connectors"," in Perplexity. If you don't see ",[103,2597,2598],{},"+ Custom connector",", remote connectors aren't turned on for your account or workspace yet.",[268,2601,2602,279,2605,2607,2608,2611,2612,2637],{},[103,2603,2604],{},"Add a remote connector.",[103,2606,2598],{},", choose ",[103,2609,2610],{},"Remote",", then fill in:",[426,2613,2614,2620,2626,2632],{},[268,2615,2616,2619],{},[103,2617,2618],{},"Name:"," AdKit",[268,2621,2622,2625],{},[103,2623,2624],{},"Authentication:"," OAuth",[268,2627,2628,2631],{},[103,2629,2630],{},"Transport:"," Streamable HTTP",[268,2633,2634],{},[103,2635,2636],{},"URL:",[251,2638,2640],{"className":2639,"code":1513,"language":256,"meta":257},[254],[259,2641,1513],{"__ignoreMap":257},[268,2643,2644,2646],{},[103,2645,1448],{}," Add the connector, then click the AdKit card to sign in to AdKit and enable it.",[118,2648,2021],{"id":2020},[99,2650,2651],{},"Send this in a new chat. It confirms Perplexity can actually use AdKit:",[251,2653,2656],{"className":2654,"code":2655,"language":256,"meta":257},[254],"Use the AdKit connector you just added and run the AdKit checkin tool with agentId: \"perplexity\".\nIf sign-in is needed, send me the link and wait for me to finish.\nThen tell me if AdKit is connected and ready. If not, tell me what failed.\n",[259,2657,2655],{"__ignoreMap":257},[118,2659,1592],{"id":1591},[99,2661,2662,2663,1628],{},"Once connected, Perplexity can pull your live campaigns, draft budget and targeting changes, generate ad creatives, and research competitors. Nothing goes live on its own: every change is saved as a ",[103,2664,1627],{},[118,2666,462],{"id":461},[99,2668,2669,2672],{},[103,2670,2671],{},"There is no \"+ Custom connector\" option.","\nRemote connectors aren't enabled for your Perplexity account or workspace yet. Ask your workspace admin, or check that your plan includes custom connectors.",[99,2674,2675,2205,2677,2680],{},[103,2676,2204],{},[238,2678,2209],{"href":510,"rel":2679},[314]," first. Then redo the sign-in from the connector card.",[99,2682,2683,2686],{},[103,2684,2685],{},"The connector is on but Perplexity stops using it.","\nLong threads sometimes hold on to a broken session. Start a new thread and try again.",[99,2688,2689,1728,2691,2694],{},[103,2690,1727],{},[238,2692,1014],{"href":1043,"rel":2693},[314],", remove the connector in Perplexity, and add it again.",[99,2696,670,2697,513],{},[238,2698,512],{"href":510,"rel":2699},[314],{"title":257,"searchDepth":391,"depth":391,"links":2701},[2702,2703,2704,2705],{"id":2112,"depth":391,"text":2113},{"id":2020,"depth":391,"text":2021},{"id":1591,"depth":391,"text":1592},{"id":461,"depth":391,"text":462},"Add AdKit to Perplexity as a custom connector and manage Meta, Google, TikTok, and Reddit ads in plain language.","\u002Fimages\u002Flogos\u002Fperplexity.png",{},"Perplexity",[2711,2713],{"label":14,"to":15,"description":2712},"Give each brand its own project and tell Perplexity which one to use.",{"label":690,"to":90,"description":691},{"title":65,"description":2706},"4mFbFDaquHePWh2krHnV-MGbaYUjHEWYfKmVYZdAZLw",{"id":2717,"title":69,"body":2718,"description":2846,"extension":528,"icon":2847,"iconInvert":34,"meta":2848,"navTitle":2849,"navigation":532,"path":70,"related":2850,"section":1760,"sectionOrder":371,"seo":2854,"stem":71,"type":541,"updatedAt":1972,"wip":34,"__hash__":2855},"docs\u002Fdocs\u002Fclients\u002F5.claude-code.md",{"type":96,"value":2719,"toc":2840},[2720,2726,2730,2733,2739,2743,2783,2785,2790,2792,2802,2811,2821,2832,2837],[99,2721,2722,2723,2725],{},"Connect Claude Code to AdKit and manage ",[103,2724,1375],{}," ads from the terminal. Pick the CLI path (recommended) or the MCP server.",[118,2727,2729],{"id":2728},"recommended-let-claude-code-set-it-up","Recommended: let Claude Code set it up",[99,2731,2732],{},"Paste this into Claude Code. It installs the AdKit CLI and connects it for you:",[251,2734,2737],{"className":2735,"code":2736,"language":256,"meta":257},[254],"Help me set up AdKit.\n\n1. Install the CLI: npm i -g @adkit\u002Fcli\n2. Run `adkit setup` and send me the login URL so I can finish authentication.\n3. Wait for me to finish login in the browser.\n4. Run `adkit checkin --agent claude-code`.\n5. Tell me if AdKit is connected and ready. If not, tell me what failed.\n\nIf you cannot install or run the AdKit CLI here, stop and tell me to use the MCP setup instead.\n",[259,2738,2736],{"__ignoreMap":257},[118,2740,2742],{"id":2741},"alternative-mcp-server","Alternative: MCP server",[265,2744,2745,2774],{},[268,2746,2747,2748],{},"Add the server in Claude Code:",[251,2749,2751],{"className":362,"code":2750,"language":364,"meta":257,"style":257},"claude mcp add --transport http adkit https:\u002F\u002Fmcp.adkit.so\n",[259,2752,2753],{"__ignoreMap":257},[368,2754,2755,2757,2760,2762,2765,2768,2771],{"class":370,"line":371},[368,2756,1138],{"class":374},[368,2758,2759],{"class":378}," mcp",[368,2761,1573],{"class":378},[368,2763,2764],{"class":378}," --transport",[368,2766,2767],{"class":378}," http",[368,2769,2770],{"class":378}," adkit",[368,2772,2773],{"class":378}," https:\u002F\u002Fmcp.adkit.so\n",[268,2775,2776,2777],{},"Then paste this to confirm it works:",[251,2778,2781],{"className":2779,"code":2780,"language":256,"meta":257},[254],"Use the AdKit MCP server you just added and run the AdKit checkin tool with agentId: \"claude-code\".\nIf sign-in is needed, send me the link and wait for me to finish.\nThen tell me if AdKit is connected and ready. If not, tell me what failed.\n",[259,2782,2780],{"__ignoreMap":257},[118,2784,1592],{"id":1591},[99,2786,2787,2788,1628],{},"Once connected, Claude Code can pull your live campaigns, draft budget and targeting changes, generate ad creatives, and research competitors. Nothing goes live on its own: every change is saved as a ",[103,2789,1627],{},[118,2791,462],{"id":461},[99,2793,2794,2797,2798,2801],{},[103,2795,2796],{},"AdKit is not in the plugin or MCP directory.","\nCorrect, it isn't listed there yet. Use the setup prompt above or the ",[259,2799,2800],{},"claude mcp add"," command instead.",[99,2803,2804,1896,2808,2810],{},[103,2805,2806,242],{},[259,2807,1895],{},[259,2809,1899],{}," and try again.",[99,2812,2813,2816,2817,2820],{},[103,2814,2815],{},"The MCP server is added but tools fail or ask for auth.","\nRun ",[259,2818,2819],{},"\u002Fmcp"," in Claude Code, complete the browser sign-in for adkit, then retry in a fresh session.",[99,2822,2823,2826,2827,2829,2830,242],{},[103,2824,2825],{},"It worked before and stopped (MCP path).","\nThe MCP authorization expires after about 30 days without use. Run ",[259,2828,2819],{}," and re-authenticate. CLI connections use an API key that doesn't expire; check them with ",[259,2831,1903],{},[99,2833,670,2834,513],{},[238,2835,512],{"href":510,"rel":2836},[314],[515,2838,2839],{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":257,"searchDepth":391,"depth":391,"links":2841},[2842,2843,2844,2845],{"id":2728,"depth":391,"text":2729},{"id":2741,"depth":391,"text":2742},{"id":1591,"depth":391,"text":1592},{"id":461,"depth":391,"text":462},"Connect Claude Code to AdKit through the CLI or the MCP server and manage Meta, Google, TikTok, and Reddit ads.","\u002Fimages\u002Flogos\u002Fclaude-code.svg",{},"Claude Code",[2851,2853],{"label":14,"to":15,"description":2852},"Give each brand its own project and tell Claude Code which one to use.",{"label":690,"to":90,"description":691},{"title":69,"description":2846},"UOm1SVsReKgA9fZhxDQgty2A7YbtXdYQPTq-Ms51Acc",{"id":2857,"title":73,"body":2858,"description":2980,"extension":528,"icon":2981,"iconInvert":34,"meta":2982,"navTitle":2983,"navigation":532,"path":74,"related":2984,"section":1760,"sectionOrder":371,"seo":2988,"stem":75,"type":541,"updatedAt":1972,"wip":34,"__hash__":2989},"docs\u002Fdocs\u002Fclients\u002F6.codex.md",{"type":96,"value":2859,"toc":2974},[2860,2865,2869,2872,2878,2880,2934,2936,2941,2943,2952,2958,2967,2972],[99,2861,2862,2863,2725],{},"Connect Codex to AdKit and manage ",[103,2864,1375],{},[118,2866,2868],{"id":2867},"recommended-let-codex-set-it-up","Recommended: let Codex set it up",[99,2870,2871],{},"Paste this into Codex. It installs the AdKit CLI and connects it for you:",[251,2873,2876],{"className":2874,"code":2875,"language":256,"meta":257},[254],"Help me set up AdKit.\n\n1. Install the CLI: npm i -g @adkit\u002Fcli\n2. Run `adkit setup` and send me the login URL so I can finish authentication.\n3. Wait for me to finish login in the browser.\n4. Run `adkit checkin --agent codex`.\n5. Tell me if AdKit is connected and ready. If not, tell me what failed.\n\nIf you cannot install or run the AdKit CLI here, stop and tell me to use the MCP setup instead.\n",[259,2877,2875],{"__ignoreMap":257},[118,2879,2742],{"id":2741},[265,2881,2882,2906,2926],{},[268,2883,2884,2885],{},"Add the server in Codex:",[251,2886,2888],{"className":362,"code":2887,"language":364,"meta":257,"style":257},"codex mcp add adkit --url https:\u002F\u002Fmcp.adkit.so\n",[259,2889,2890],{"__ignoreMap":257},[368,2891,2892,2895,2897,2899,2901,2904],{"class":370,"line":371},[368,2893,2894],{"class":374},"codex",[368,2896,2759],{"class":378},[368,2898,1573],{"class":378},[368,2900,2770],{"class":378},[368,2902,2903],{"class":378}," --url",[368,2905,2773],{"class":378},[268,2907,2908,2909],{},"If Codex asks you to sign in:",[251,2910,2912],{"className":362,"code":2911,"language":364,"meta":257,"style":257},"codex mcp login adkit\n",[259,2913,2914],{"__ignoreMap":257},[368,2915,2916,2918,2920,2923],{"class":370,"line":371},[368,2917,2894],{"class":374},[368,2919,2759],{"class":378},[368,2921,2922],{"class":378}," login",[368,2924,2925],{"class":378}," adkit\n",[268,2927,2776,2928],{},[251,2929,2932],{"className":2930,"code":2931,"language":256,"meta":257},[254],"Use the AdKit MCP server you just installed and run the AdKit checkin tool with agentId: \"codex\".\nIf sign-in is needed, send me the link and wait for me to finish.\nThen tell me if AdKit is connected and ready. If not, tell me what failed.\n",[259,2933,2931],{"__ignoreMap":257},[118,2935,1592],{"id":1591},[99,2937,2938,2939,1628],{},"Once connected, Codex can pull your live campaigns, draft budget and targeting changes, generate ad creatives, and research competitors. Nothing goes live on its own: every change is saved as a ",[103,2940,1627],{},[118,2942,462],{"id":461},[99,2944,2945,2816,2948,2951],{},[103,2946,2947],{},"Codex asks to sign in, or tool calls fail with an auth error.",[259,2949,2950],{},"codex mcp login adkit"," and finish the browser sign-in.",[99,2953,2954,2957],{},[103,2955,2956],{},"The server is added but tools don't show up.","\nRestart the Codex session so it reloads the server's tool list.",[99,2959,2960,2826,2962,2964,2965,242],{},[103,2961,2825],{},[259,2963,2950],{}," again. CLI connections use an API key that doesn't expire; check them with ",[259,2966,1903],{},[99,2968,670,2969,513],{},[238,2970,512],{"href":510,"rel":2971},[314],[515,2973,2839],{},{"title":257,"searchDepth":391,"depth":391,"links":2975},[2976,2977,2978,2979],{"id":2867,"depth":391,"text":2868},{"id":2741,"depth":391,"text":2742},{"id":1591,"depth":391,"text":1592},{"id":461,"depth":391,"text":462},"Connect Codex to AdKit through the CLI or the MCP server and manage Meta, Google, TikTok, and Reddit ads.","\u002Fimages\u002Flogos\u002Fcodex.svg",{},"Codex",[2985,2987],{"label":14,"to":15,"description":2986},"Give each brand its own project and tell Codex which one to use.",{"label":690,"to":90,"description":691},{"title":73,"description":2980},"meo9ykCr99fInnqU402QqhviCbnELtcN39XRJ5XT9HQ",{"id":2991,"title":77,"body":2992,"description":3165,"extension":528,"icon":3166,"iconInvert":532,"meta":3167,"navTitle":3168,"navigation":532,"path":78,"related":3169,"section":1760,"sectionOrder":371,"seo":3173,"stem":79,"type":541,"updatedAt":1972,"wip":34,"__hash__":3174},"docs\u002Fdocs\u002Fclients\u002F7.cursor.md",{"type":96,"value":2993,"toc":3158},[2994,3000,3004,3007,3013,3017,3026,3096,3098,3101,3107,3109,3114,3116,3126,3135,3141,3150,3155],[99,2995,2996,2997,2999],{},"Connect Cursor to AdKit and manage ",[103,2998,1375],{}," ads while you work. The fastest way is the MCP server.",[118,3001,3003],{"id":3002},"recommended-one-click-install","Recommended: one-click install",[99,3005,3006],{},"Open this link to install AdKit straight into Cursor:",[99,3008,3009],{},[238,3010,3012],{"href":3011},"cursor:\u002F\u002Fanysphere.cursor-deeplink\u002Fmcp\u002Finstall?name=adkit&config=eyJ1cmwiOiJodHRwczovL21jcC5hZGtpdC5zbyJ9","Install with Cursor",[118,3014,3016],{"id":3015},"manual-install","Manual install",[99,3018,1808,3019,3021,3022,3025],{},[259,3020,1305],{}," in your project, or ",[259,3023,3024],{},"~\u002F.cursor\u002Fmcp.json"," for every project:",[251,3027,3029],{"className":1195,"code":3028,"language":1197,"meta":257,"style":257},"{\n  \"mcpServers\": {\n    \"adkit\": {\n      \"url\": \"https:\u002F\u002Fmcp.adkit.so\"\n    }\n  }\n}\n",[259,3030,3031,3035,3049,3061,3081,3085,3091],{"__ignoreMap":257},[368,3032,3033],{"class":370,"line":371},[368,3034,1205],{"class":1204},[368,3036,3037,3040,3043,3045,3047],{"class":370,"line":391},[368,3038,3039],{"class":1204},"  \"",[368,3041,3042],{"class":1213},"mcpServers",[368,3044,1217],{"class":1204},[368,3046,1192],{"class":1204},[368,3048,1222],{"class":1204},[368,3050,3051,3053,3055,3057,3059],{"class":370,"line":539},[368,3052,1210],{"class":1204},[368,3054,375],{"class":374},[368,3056,1217],{"class":1204},[368,3058,1192],{"class":1204},[368,3060,1222],{"class":1204},[368,3062,3063,3066,3069,3071,3073,3076,3078],{"class":370,"line":1248},[368,3064,3065],{"class":1204},"      \"",[368,3067,3068],{"class":405},"url",[368,3070,1217],{"class":1204},[368,3072,1192],{"class":1204},[368,3074,3075],{"class":1204}," \"",[368,3077,1850],{"class":378},[368,3079,3080],{"class":1204},"\"\n",[368,3082,3083],{"class":370,"line":1254},[368,3084,1251],{"class":1204},[368,3086,3088],{"class":370,"line":3087},6,[368,3089,3090],{"class":1204},"  }\n",[368,3092,3094],{"class":370,"line":3093},7,[368,3095,1257],{"class":1204},[118,3097,2021],{"id":2020},[99,3099,3100],{},"Paste this in Cursor's chat. It confirms Cursor can actually use AdKit:",[251,3102,3105],{"className":3103,"code":3104,"language":256,"meta":257},[254],"Use the AdKit MCP server you just installed and run the AdKit checkin tool with agentId: \"cursor\".\nIf sign-in is needed, send me the link and wait for me to finish.\nThen tell me if AdKit is connected and ready. If not, tell me what failed.\n",[259,3106,3104],{"__ignoreMap":257},[118,3108,1592],{"id":1591},[99,3110,3111,3112,1628],{},"Once connected, Cursor can pull your live campaigns, draft budget and targeting changes, generate ad creatives, and research competitors. Nothing goes live on its own: every change is saved as a ",[103,3113,1627],{},[118,3115,462],{"id":461},[99,3117,3118,3121,3122,3125],{},[103,3119,3120],{},"The one-click link does nothing.","\nYour browser has to allow opening ",[259,3123,3124],{},"cursor:\u002F\u002F"," links. If nothing happens, use the manual install above instead.",[99,3127,3128,1916,3131,3134],{},[103,3129,3130],{},"The server shows an error or no tools in Cursor's MCP settings.",[259,3132,3133],{},"mcp.json"," matches the block above exactly, save, and restart Cursor. A typo in the URL or a stray comma is the usual cause.",[99,3136,3137,3140],{},[103,3138,3139],{},"Cursor never asked you to sign in.","\nRemove the adkit server, add it again, and complete the browser sign-in when it appears.",[99,3142,3143,3145,3146,3149],{},[103,3144,1727],{},"\nThe authorization expires after about 30 days without use. Sign in again when Cursor prompts, or revoke the old connection under ",[238,3147,1014],{"href":1043,"rel":3148},[314]," and reconnect.",[99,3151,670,3152,513],{},[238,3153,512],{"href":510,"rel":3154},[314],[515,3156,3157],{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":257,"searchDepth":391,"depth":391,"links":3159},[3160,3161,3162,3163,3164],{"id":3002,"depth":391,"text":3003},{"id":3015,"depth":391,"text":3016},{"id":2020,"depth":391,"text":2021},{"id":1591,"depth":391,"text":1592},{"id":461,"depth":391,"text":462},"Connect Cursor to AdKit through the MCP server and manage Meta, Google, TikTok, and Reddit ads.","\u002Fimages\u002Flogos\u002Fcursor.png",{},"Cursor",[3170,3172],{"label":14,"to":15,"description":3171},"Give each brand its own project and tell Cursor which one to use.",{"label":690,"to":90,"description":691},{"title":77,"description":3165},"2X53Fr_G_MxBUYv3D7N-hCmwTTOYORT9CsslgM_ZPc0",{"id":3176,"title":81,"body":3177,"description":3311,"extension":528,"icon":3312,"iconInvert":34,"meta":3313,"navTitle":3314,"navigation":532,"path":82,"related":3315,"section":1760,"sectionOrder":371,"seo":3319,"stem":83,"type":541,"updatedAt":1972,"wip":34,"__hash__":3320},"docs\u002Fdocs\u002Fclients\u002F8.gemini.md",{"type":96,"value":3178,"toc":3305},[3179,3184,3188,3191,3197,3199,3247,3249,3254,3256,3266,3280,3289,3298,3303],[99,3180,3181,3182,2725],{},"Connect Gemini CLI to AdKit and manage ",[103,3183,1375],{},[118,3185,3187],{"id":3186},"recommended-let-gemini-set-it-up","Recommended: let Gemini set it up",[99,3189,3190],{},"Paste this into Gemini CLI. It installs the AdKit CLI and connects it for you:",[251,3192,3195],{"className":3193,"code":3194,"language":256,"meta":257},[254],"Help me set up AdKit.\n\n1. Install the CLI: npm i -g @adkit\u002Fcli\n2. Run `adkit setup` and send me the login URL so I can finish authentication.\n3. Wait for me to finish login in the browser.\n4. Run `adkit checkin --agent gemini`.\n5. Tell me if AdKit is connected and ready. If not, tell me what failed.\n\nIf you cannot install or run the AdKit CLI here, stop and tell me to use the MCP setup instead.\n",[259,3196,3194],{"__ignoreMap":257},[118,3198,2742],{"id":2741},[265,3200,3201,3226,3238],{},[268,3202,3203,3204],{},"Add the server in Gemini CLI:",[251,3205,3207],{"className":362,"code":3206,"language":364,"meta":257,"style":257},"gemini mcp add --transport http adkit https:\u002F\u002Fmcp.adkit.so\n",[259,3208,3209],{"__ignoreMap":257},[368,3210,3211,3214,3216,3218,3220,3222,3224],{"class":370,"line":371},[368,3212,3213],{"class":374},"gemini",[368,3215,2759],{"class":378},[368,3217,1573],{"class":378},[368,3219,2764],{"class":378},[368,3221,2767],{"class":378},[368,3223,2770],{"class":378},[368,3225,2773],{"class":378},[268,3227,3228,3229,3235,3237],{},"Authenticate the server inside Gemini CLI:",[251,3230,3233],{"className":3231,"code":3232,"language":256,"meta":257},[254],"\u002Fmcp auth adkit\n",[259,3234,3232],{"__ignoreMap":257},[1458,3236],{},"Finish signing in through the browser before continuing.",[268,3239,3240,3241],{},"Paste this to confirm it works:",[251,3242,3245],{"className":3243,"code":3244,"language":256,"meta":257},[254],"Use the AdKit MCP server you just added and run the AdKit checkin tool with agentId: \"gemini\".\nTell me if AdKit is connected and ready. If not, tell me what failed.\n",[259,3246,3244],{"__ignoreMap":257},[118,3248,1592],{"id":1591},[99,3250,3251,3252,1628],{},"Once connected, Gemini can pull your live campaigns, draft budget and targeting changes, generate ad creatives, and research competitors. Nothing goes live on its own: every change is saved as a ",[103,3253,1627],{},[118,3255,462],{"id":461},[99,3257,3258,3261,3262,3265],{},[103,3259,3260],{},"Zero AdKit tools, or every call fails with an auth error.","\nThe step people skip: run ",[259,3263,3264],{},"\u002Fmcp auth adkit"," and finish the browser sign-in. Adding the server alone is not enough.",[99,3267,3268,3273,3274,3277,3278,242],{},[103,3269,3270,3272],{},[259,3271,2819],{}," doesn't list adkit.","\nRe-run the ",[259,3275,3276],{},"gemini mcp add"," command above, then ",[259,3279,3264],{},[99,3281,3282,1896,3287,2810],{},[103,3283,3284,3286],{},[259,3285,1895],{}," (CLI path).",[259,3288,1899],{},[99,3290,3291,3293,3294,2964,3296,242],{},[103,3292,2825],{},"\nThe authorization expires after about 30 days without use. Run ",[259,3295,3264],{},[259,3297,1903],{},[99,3299,670,3300,513],{},[238,3301,512],{"href":510,"rel":3302},[314],[515,3304,2839],{},{"title":257,"searchDepth":391,"depth":391,"links":3306},[3307,3308,3309,3310],{"id":3186,"depth":391,"text":3187},{"id":2741,"depth":391,"text":2742},{"id":1591,"depth":391,"text":1592},{"id":461,"depth":391,"text":462},"Connect Gemini CLI to AdKit through the CLI or the MCP server and manage Meta, Google, TikTok, and Reddit ads.","\u002Fimages\u002Flogos\u002Fgemini.png",{},"Gemini CLI",[3316,3318],{"label":14,"to":15,"description":3317},"Give each brand its own project and tell Gemini which one to use.",{"label":690,"to":90,"description":691},{"title":81,"description":3311},"lnJA1VWwkohMZFaJQmwVCV3bsB851jhqWg2JGA6tMO4",{"id":3322,"title":85,"body":3323,"description":3478,"extension":528,"icon":3479,"iconInvert":34,"meta":3480,"navTitle":3481,"navigation":532,"path":86,"related":3482,"section":1760,"sectionOrder":371,"seo":3486,"stem":87,"type":541,"updatedAt":1972,"wip":34,"__hash__":3487},"docs\u002Fdocs\u002Fclients\u002F9.openclaw.md",{"type":96,"value":3324,"toc":3472},[3325,3331,3335,3338,3344,3347,3349,3352,3413,3416,3418,3429,3434,3450,3458,3460,3465,3470],[99,3326,3327,3328,3330],{},"Connect OpenClaw to AdKit and manage ",[103,3329,1375],{}," ads. The CLI setup works whether OpenClaw runs locally or on a persistent server: OpenClaw sends you a public sign-in URL that you can open in your own browser.",[118,3332,3334],{"id":3333},"recommended-let-openclaw-set-it-up","Recommended: let OpenClaw set it up",[99,3336,3337],{},"Give OpenClaw this prompt:",[251,3339,3342],{"className":3340,"code":3341,"language":256,"meta":257},[254],"Help me set up AdKit.\n\n1. Install the CLI: npm i -g @adkit\u002Fcli\n2. Run `adkit setup`. Keep the command running in the background if needed, read its output, and send me the login URL immediately.\n3. Wait for me to finish login in my browser, then wait for the setup command to complete.\n4. Run `adkit status`.\n5. Run `adkit checkin --agent openclaw`.\n6. Tell me if AdKit is connected and ready. If not, tell me what failed.\n\nIf you cannot install or run the AdKit CLI in this environment, stop and tell me to use the MCP setup instead.\n",[259,3343,3341],{"__ignoreMap":257},[99,3345,3346],{},"Open the URL OpenClaw sends you. After you approve access, the waiting CLI process stores the connection where OpenClaw runs.",[118,3348,1793],{"id":1792},[99,3350,3351],{},"Use this when OpenClaw cannot run the CLI.",[265,3353,3354,3364,3369,3398,3407],{},[268,3355,1876,3356,3359,3360,3363],{},[259,3357,3358],{},"openclaw --version",". Update OpenClaw if it is older than ",[103,3361,3362],{},"2026.5.12","; older versions do not include the live MCP verification commands below.",[268,3365,1801,3366,1805],{},[238,3367,1014],{"href":1012,"rel":3368},[314],[268,3370,3371,3372,1192,3374],{},"Add AdKit to OpenClaw, replacing ",[259,3373,1815],{},[251,3375,3377],{"className":362,"code":3376,"language":364,"meta":257,"style":257},"openclaw mcp set adkit '{\"url\":\"https:\u002F\u002Fmcp.adkit.so\",\"transport\":\"streamable-http\",\"headers\":{\"Authorization\":\"Bearer adk_your_key\"}}'\n",[259,3378,3379],{"__ignoreMap":257},[368,3380,3381,3384,3386,3389,3391,3393,3396],{"class":370,"line":371},[368,3382,3383],{"class":374},"openclaw",[368,3385,2759],{"class":378},[368,3387,3388],{"class":378}," set",[368,3390,2770],{"class":378},[368,3392,1582],{"class":1204},[368,3394,3395],{"class":378},"{\"url\":\"https:\u002F\u002Fmcp.adkit.so\",\"transport\":\"streamable-http\",\"headers\":{\"Authorization\":\"Bearer adk_your_key\"}}",[368,3397,1588],{"class":1204},[268,3399,1876,3400,3403,3404,242],{},[259,3401,3402],{},"openclaw mcp reload",", followed by ",[259,3405,3406],{},"openclaw mcp doctor adkit --probe",[268,3408,3409,3410,242],{},"Ask OpenClaw to run the AdKit check-in tool with ",[259,3411,3412],{},"agentId: \"openclaw\"",[99,3414,3415],{},"Keep the key in OpenClaw's MCP configuration, not in an agent conversation.",[118,3417,462],{"id":461},[99,3419,3420,1896,3424,1900,3426,3428],{},[103,3421,3422,242],{},[259,3423,1895],{},[259,3425,1899],{},[259,3427,1903],{}," again. On a server, make sure it is installed in the same environment OpenClaw runs in.",[99,3430,3431,3433],{},[103,3432,1909],{},"\nComplete the sign-in URL OpenClaw sent you. The remote command must remain running until browser authorization finishes.",[99,3435,3436,3273,3438,3441,3442,3445,3446,998,3448,242],{},[103,3437,1915],{},[259,3439,3440],{},"openclaw mcp set adkit ..."," command above and check the header is exactly ",[259,3443,3444],{},"Authorization: Bearer adk_your_key"," (capital B, one space). Then run ",[259,3447,3402],{},[259,3449,3406],{},[99,3451,3452,1934,3454,3457],{},[103,3453,1933],{},[238,3455,1014],{"href":1043,"rel":3456},[314]," in AdKit to revoke a key and create a new one, then update the MCP configuration. API keys don't expire on their own.",[118,3459,1592],{"id":1591},[99,3461,3462,3463,1628],{},"Once connected, OpenClaw can pull your live campaigns, draft budget and targeting changes, generate ad creatives, and research competitors. Nothing goes live on its own: every change is saved as a ",[103,3464,1627],{},[99,3466,670,3467,513],{},[238,3468,512],{"href":510,"rel":3469},[314],[515,3471,1740],{},{"title":257,"searchDepth":391,"depth":391,"links":3473},[3474,3475,3476,3477],{"id":3333,"depth":391,"text":3334},{"id":1792,"depth":391,"text":1793},{"id":461,"depth":391,"text":462},{"id":1591,"depth":391,"text":1592},"Connect OpenClaw to AdKit with the CLI or an API key and manage Meta, Google, TikTok, and Reddit ads, whether OpenClaw runs locally or on a server.","\u002Fimages\u002Flogos\u002Fopenclaw.png",{},"OpenClaw",[3483,3485],{"label":14,"to":15,"description":3484},"Give each brand its own project and tell OpenClaw which one to use.",{"label":690,"to":90,"description":691},{"title":85,"description":3478},"U3GhDQUhtw5L73Hc8fJGWLOM0kymR3Oeqi8HiBD14H8",{"id":3489,"title":89,"body":3490,"description":3578,"extension":528,"icon":3579,"iconInvert":34,"meta":3580,"navTitle":3581,"navigation":532,"path":90,"related":3582,"section":3589,"sectionOrder":3590,"seo":3591,"stem":91,"type":3592,"updatedAt":3593,"wip":34,"__hash__":3594},"docs\u002Fdocs\u002Fgetting-started.md",{"type":96,"value":3491,"toc":3572},[3492,3495,3499,3502],[99,3493,3494],{},"AdKit lets supported AI agents manage your ads directly: pull live campaigns, draft budget and targeting changes, generate creatives, and research competitors. Connect once, then work from a normal conversation.",[118,3496,3498],{"id":3497},"_1-connect-your-agent","1. Connect your agent",[99,3500,3501],{},"Pick your client and follow its setup guide:",[3503,3504,3505,3508,3512,3515,3521,3524,3528,3531,3545,3551,3555],"connect-agents",{},[99,3506,3507],{},"Most setups follow the same shape: add the AdKit connector or install the CLI, then authenticate. You sign in through the browser when running locally, or use an API key when running on a server.",[118,3509,3511],{"id":3510},"_2-verify-the-connection","2. Verify the connection",[99,3513,3514],{},"Once connected, have the agent run the AdKit check-in and list what it can see. Paste this:",[251,3516,3519],{"className":3517,"code":3518,"language":256,"meta":257},[254],"Use the AdKit connector and run the AdKit checkin tool.\nThen list the connected platforms and ad accounts.\nTell me if AdKit is ready to manage ads from this conversation.\n",[259,3520,3518],{"__ignoreMap":257},[99,3522,3523],{},"If it reports your connected platforms and accounts, you are ready. If not, it will tell you what is missing.",[118,3525,3527],{"id":3526},"_3-start-managing-ads","3. Start managing ads",[99,3529,3530],{},"With AdKit connected, ask your agent to:",[426,3532,3533,3536,3539,3542],{},[268,3534,3535],{},"Pull performance for a campaign or account",[268,3537,3538],{},"Draft a new campaign, ad set, or ad",[268,3540,3541],{},"Generate ad creatives from a brief",[268,3543,3544],{},"Research competitor ads in the ad library",[99,3546,3547,3548,3550],{},"Everything you create starts as a ",[103,3549,1627],{},". Nothing goes live until you review and approve it.",[118,3552,3554],{"id":3553},"next-steps","Next steps",[426,3556,3557,3564],{},[268,3558,3559,3563],{},[103,3560,3561],{},[238,3562,1362],{"href":32}," when your agent has an image or video to turn into a Meta or Google ad asset.",[268,3565,3566,3571],{},[103,3567,3568],{},[238,3569,3570],{"href":15},"Connect multiple ad accounts"," when you run ads for more than one brand or client.",{"title":257,"searchDepth":391,"depth":391,"links":3573},[3574,3575,3576,3577],{"id":3497,"depth":391,"text":3498},{"id":3510,"depth":391,"text":3511},{"id":3526,"depth":391,"text":3527},{"id":3553,"depth":391,"text":3554},"Connect an AI agent to AdKit, verify the connection, and start managing your ads from a conversation.","fa6-solid:book-open",{},"Getting started",[3583,3585,3588],{"label":1760,"to":42,"description":3584},"Pick your AI client and connect it to AdKit.",{"label":3586,"to":32,"description":3587},"Upload creative media with an AI agent","Move local images and videos from an agent session into Meta or Google Ads.",{"label":14,"to":15,"description":535},"Start here",0,{"title":89,"description":3578},"overview","2026-06-08","0rtTKrV2pSuyrevTJNJMl6MIjZpo0OGxV6BRhu13s_w",1789704059600]