How to connect Reddit Ads to Hermes Agent
Connect Reddit Ads to Hermes Agent with ClawLink: no app at reddit.com/prefs/apps, no client secret, no OAuth exchange to implement. 83 Reddit Ads tools your agent calls from chat.


Manage Reddit advertising campaigns and reports. Once connected, Hermes Agent can read and act on Reddit Ads from chat — pairing, token refresh, and tool wiring handled for you.
Most guides for giving Hermes Agent Reddit Ads access start with registering your own OAuth app or pasting API keys into env files, then leave the token refresh and tool wiring to you. ClawLink gives Hermes a more practical Reddit Ads setup: pair once in the browser and your always-on Hermes agent can act on Reddit Ads for you, reading and doing real work on your behalf with no auth, token refresh, or tool wiring to build yourself.
Copy this prompt into Hermes to install the plugin and pair your account.
Set up ClawLink for Hermes and tell me when it's ready.
1. Install the plugin:
hermes plugins install ClawLink-HQ/hermes-plugin --enable
2. Start pairing. It prints an approval link, so show me the link and stop, don't wait:
hermes clawlink begin
3. I'll approve it in my browser, then reply "approved".
4. When I say approved, finish setup:
hermes clawlink finish
5. Then run `hermes clawlink test` and tell me whether ClawLink is ready.Setup
It takes three steps to connect Hermes to Reddit Ads.
1Install and pair
Install the ClawLink plugin, then pair Hermes with a one-time browser approval:
hermes plugins install ClawLink-HQ/hermes-plugin --enable- 2
Connect Reddit Ads
One-click OAuth in the dashboard.
- 3
Use it from chat
Ask Hermes Agent: "What can you do with Reddit Ads?"
Install by command
The prompt above walks Hermes through this. By hand, it is four commands and a browser approval:
hermes plugins install ClawLink-HQ/hermes-plugin --enable
hermes clawlink begin # prints an approval link — open it and approve
hermes clawlink finish # after approving in the browser
hermes clawlink testThen connect Reddit Ads in the ClawLink dashboard — a one-click OAuth approval, no API keys.
Verify the connection by asking Hermes:
Run reddit_ads_get_me, then reddit_ads_list_my_businesses and reddit_ads_list_ad_accounts_by_business. For the ad account I pick, list active campaigns with reddit_ads_list_campaigns and pull last week's spend and CPC with reddit_ads_get_a_report. Sort by spend.
Using a different agent?
The Hermes plugin is one client of ClawLink's MCP server. Claude Code, Cursor, Codex, or any agent that can run a shell command pairs with the same ClawLink account through the CLI:
npx -y @useclawlink/cli loginlogin opens the same browser approval and stores a credential locally. Once Reddit Ads is connected in the dashboard, that agent calls the same 83 Reddit Ads tools over MCP. Full setup for MCP clients and shell agents: connect apps to any AI agent.
Reddit Ads MCP for Hermes
Looking for a Reddit Ads MCP server for Hermes Agent? ClawLink connects Reddit Ads to Hermes Agent and exposes 83 Reddit Ads tools your agent can call over MCP, with hosted auth and nothing to run or maintain yourself. Using OpenClaw instead? The OpenClaw Reddit Ads integration works the same way.
Reddit's own path to its Ads API is the reason most people never finish. You register an application at reddit.com/prefs/apps, note the client id and secret, send the user to /api/v1/authorize, exchange the code at /api/v1/access_token, and keep refreshing from there. That is a weekend of work before a single campaign metric appears. ClawLink connects through Reddit's OAuth flow with an application that is already registered, so you approve access in the browser and the 83 tools below work from Hermes chat. What you still need on Reddit's side is access to the ad account itself, because Reddit grants that to people, not to apps.
What the Hermes Agent Reddit Ads integration can do
83 Reddit Ads tools are ready for Hermes Agent once the account is connected. The 30 below are the ones people reach for most; your agent can call all 83.
30 of 83 Reddit Ads tools for Hermes
| Tool | What it does |
|---|---|
Create ad group reddit_ads_create_ad_group | Create a Reddit Ads ad group |
Create campaign reddit_ads_create_campaign | Create a Reddit Ads campaign |
Create custom audience reddit_ads_create_custom_audience | Create a Reddit Ads custom audience |
Create lead gen form reddit_ads_create_lead_gen_form | Create a Reddit Ads lead gen form |
Create post reddit_ads_create_post | Create a Reddit Ads post |
Create product catalog reddit_ads_create_product_catalog | Create a Reddit Ads product catalog |
Do keyword validations reddit_ads_do_keyword_validations | Validate keywords for Reddit Ads |
Generate inspiration creative summary reddit_ads_generate_inspiration_creative_summary | Generate creative inspiration for Reddit Ads |
Get a report reddit_ads_get_a_report | Get a Reddit Ads report |
Get ad account reddit_ads_get_ad_account | Get a Reddit Ads ad account |
Get ad account history reddit_ads_get_ad_account_history | Get Reddit Ads ad account history |
Get ad group reddit_ads_get_ad_group | Get a Reddit Ads ad group |
Get app last fired at reddit_ads_get_app_last_fired_at | Get Reddit Ads app last fired timestamp |
Get business reddit_ads_get_business | Get a Reddit Ads business |
Get campaign reddit_ads_get_campaign | Get a Reddit Ads campaign |
Do geolocation validations reddit_ads_do_geolocation_validations | Validate a list of geolocations for use in Reddit Ads targeting |
Get channel planning reach reddit_ads_get_channel_planning_reach | Retrieve estimated reach data for a given set of targeting parameters |
Get child funding instruments reddit_ads_get_child_funding_instruments | Retrieve a list of Funding Instrument Allocations for a parent funding instrument |
Get custom audience reddit_ads_get_custom_audience | Retrieve a custom audience by ID from Reddit Ads API |
Get lead gen form reddit_ads_get_lead_gen_form | Retrieve details for a specific lead generation form by ID from Reddit Ads |
Get me reddit_ads_get_me | Get the authenticated member's information from the Reddit Ads API |
Get pixel last fired at reddit_ads_get_pixel_last_fired_at | Retrieve the last time conversion events were fired for a specific conversion pixel |
Get post reddit_ads_get_post | Retrieve a promoted or organic Reddit post by its ID |
Get product catalog reddit_ads_get_product_catalog | Retrieve a specific product catalog by ID from the Reddit Ads API |
Get product feed reddit_ads_get_product_feed | Retrieve metadata for a specific product feed by ID |
Get product set reddit_ads_get_product_set | Retrieve metadata for a specific product set by ID from the Reddit Ads API |
Get profile reddit_ads_get_profile | Retrieve details for a specific profile by ID from the Reddit Ads API |
Get saved audience reddit_ads_get_saved_audience | Retrieve a saved audience by ID from Reddit Ads API |
Get sk ad network availability reddit_ads_get_sk_ad_network_availability | Get SKAdNetwork IDs availability quota for an iOS app |
Get structured post reddit_ads_get_structured_post | Retrieve a structured post by its ID from the Reddit Ads API |
Try it: find the Reddit Ads tool you need
Browse the 30 Reddit Ads tools
Click any tool to see exactly what Hermes can do and copy a ready-to-use prompt.
Example prompts
Run reddit_ads_get_me, then reddit_ads_list_my_businesses and reddit_ads_list_ad_accounts_by_business. For the ad account I pick, list active campaigns with reddit_ads_list_campaigns and pull last week's spend and CPC with reddit_ads_get_a_report. Sort by spend.
Use reddit_ads_search_communities and reddit_ads_list_communities_suggestions to find subreddits relevant to developer tooling. Show me the ones with enough reach to be worth targeting, and tell me which look off-topic despite matching the keyword.
In the ad account I name, create a paused campaign with reddit_ads_create_campaign called "Q3 developer tools", then one ad group with reddit_ads_create_ad_group targeting the subreddits I list, also paused. Validate my targeting first with reddit_ads_do_keyword_validations and reddit_ads_do_geolocation_validations. Do not create ads or unpause anything.
For my main ad account, list ad groups with reddit_ads_list_ad_groups and pull a 30-day report with reddit_ads_get_a_report broken down by ad group. Tell me which two are carrying the account and which one I should turn off.
How the Reddit Ads tools behave
From the manifest and from Reddit's account structure. The first two explain most confusing first sessions.
- The hierarchy is business, then ad account, then campaign.
reddit_ads_get_meidentifies the connected user,reddit_ads_list_my_businessesfinds the businesses, andreddit_ads_list_ad_accounts_by_businessfinds the accounts. Skipping to a campaign call with a guessed id is the direct cause of the 403 card above. - Reporting is one tool.
reddit_ads_get_a_reportcovers the metrics work rather than a family of per-level tools, so the level and breakdown come from the arguments you give it. - Validation tools exist and are worth using before creating.
reddit_ads_do_keyword_validationsandreddit_ads_do_geolocation_validationscheck targeting before a campaign is built, which is cheaper than creating something Reddit then rejects. - Targeting reference data has its own listing tools.
reddit_ads_list_communities,reddit_ads_list_interests,reddit_ads_list_geolocations,reddit_ads_list_devices, andreddit_ads_list_carriersreturn the values Reddit accepts. An agent inventing a targeting value gets a rejection that reads like a permissions problem. - Audiences split into two kinds.
reddit_ads_create_custom_audiencebuilds from data you supply;reddit_ads_create_saved_audiencesaves a targeting definition for reuse. They are not interchangeable. - "Post" here means a promoted post.
reddit_ads_create_post,reddit_ads_list_posts, andreddit_ads_update_postoperate inside an ad account. Organic submissions and comments belong to the separate Hermes Reddit integration. - Product catalogs are supported.
reddit_ads_create_product_catalog,reddit_ads_create_product_feed, andreddit_ads_create_product_setcover commerce advertising, which is the part of the toolset most people do not know is there.
ClawLink vs. building it yourself
The alternative to ClawLink is usually manual OAuth app setup plus your own token handling, permission troubleshooting, and tool plumbing for Hermes Agent. That is fine if you want to build and maintain the integration yourself. Most teams just want Reddit Ads working from chat.
| Manual | ClawLink | |
|---|---|---|
| Connection flow | Register a Reddit Ads app, configure redirect URLs, manage consent details, and reconnect users when auth settings drift. | Users connect Reddit Ads through the hosted browser flow and ClawLink keeps the token lifecycle out of your app code. |
| Ongoing maintenance | You own refresh logic, permission debugging, environment config, and every provider-specific edge case for Reddit Ads. | ClawLink handles the repetitive integration plumbing so your team can focus on the workflow instead of the infrastructure. |
| Agent usability | You still need to expose the right Reddit Ads actions to the runtime in a format your agent can reliably use. | 83 tools for Reddit Ads are already exposed through ClawLink, so the agent can read and act from chat immediately. |
ClawLink vs. Composio
Composio also exposes Reddit Ads to AI agents. It is developer infrastructure: Python and TypeScript SDKs, an MCP server, and a catalog past 1,000 apps, aimed at teams shipping agent products. ClawLink is built for Hermes Agent users instead. You install the plugin once, connect Reddit Ads in the browser, and the 83 tools above work from chat. There is no SDK, no config file, and no API key handling. Choosing between them? Read the full Composio alternatives comparison.
Troubleshooting
Hermes paired but still can't use Reddit Ads
Pairing is a two-step handshake: run hermes clawlink begin, approve the link in your browser, then run hermes clawlink finish. If you ran finish before approving, or the approval link expired, run hermes clawlink begin again to get a fresh link. Confirm the plugin was installed with --enable, then verify with hermes clawlink test.
Connection succeeds but no tools appear
Reconnect Reddit Ads from the dashboard, then start a fresh chat if the runtime still has the old tool catalog loaded.
"Tool schema not loaded yet" error when calling Reddit Ads tools
Reddit Ads tool schemas load on demand the first time a tool runs and are cached after that, so this error usually clears on its own: wait a few seconds and retry the same request. If every Reddit Ads call keeps failing with it in a fresh chat, reconnect from the dashboard, and contact support if it still persists — that pattern points to a configuration problem on our side, not something you can fix by reconnecting again.
Reddit Ads returns 403 or "permission denied" on one action while others work
Two usual causes. The connected account may not have access to the specific workspace, inbox, store, or project in the request — check that first. If access looks right, the agent may have sent a placeholder value (like "YOUR_ID" or an example id from documentation) instead of a real one: ask it to run a list or search tool first, then retry the action with a real id from those results. Most failures at this stage are one of these two, not ClawLink bugs.
Reddit Ads returns 403 "insufficient permissions", or reddit_ads_list_ad_accounts_by_business comes back empty
The advice you will find for this assumes you built the integration: check that your token carries the adsread and adsedit scopes, clear the cached token, re-run the OAuth exchange. On this connection the scopes were settled when you approved access, so an empty result almost always means the connected Reddit account is not associated with the ad account. Reddit assigns ad-account access to people through the business that owns it, so a brand new account, or one that was removed from a business, sees nothing while the connection itself reports healthy. Fix it in Reddit Ads by adding your account to the business with a role that covers ads, then retry. The second cause is a placeholder argument: an agent that has not listed anything yet invents an ad account id, and because Reddit's ids are opaque strings the call reaches the API and returns forbidden. Run reddit_ads_get_me and reddit_ads_list_my_businesses first.
Ask the agent to diagnose it:
Run reddit_ads_get_me and tell me which Reddit account is connected. Then run reddit_ads_list_my_businesses and reddit_ads_list_ad_accounts_by_business and show me exactly what came back, including empty lists. Do not retry the failing call until all three have returned.Reddit Ads returns 401 or an authentication error on a connection that shows as connected
There is no token in your possession to regenerate, so the usual checklist does not apply. On a hosted connection this means the stored authorization stopped being valid on Reddit's side, and the short list of ways that happens is: you revoked the application in your Reddit account settings, you changed your Reddit password, or your account was removed from the business that owns the ad account. Reconnect Reddit Ads from the ClawLink dashboard to replace the authorization. If the same error returns straight after reconnecting, the cause is on the Reddit account rather than the connection, and opening Reddit Ads in a browser as the same account will usually show it.
Ask the agent to diagnose it:
Run reddit_ads_get_me and report the exact error body if it fails. Do not retry the other Reddit Ads calls.A Reddit Ads tool returns "tool not found", or the agent reaches for a Reddit posting tool
If the name looks right, the catalog had not loaded when the first call went out; schemas load on demand and one retry usually fixes it. If the agent is asking for something like submitting a post or reading a subreddit feed, it is on the wrong integration: this connection covers advertising, and organic Reddit posting and reading live on the separate Reddit integration. Note also that reddit_ads_create_post and reddit_ads_list_posts here refer to promoted posts within an ad account rather than to organic submissions. Most search results for this phrase say Reddit has no official MCP server, which is a statement about Reddit rather than about this connection.
Ask the agent to diagnose it:
List the Reddit Ads tools you actually have available and tell me whether you also have any organic Reddit tools. Then use the exact name for what I asked.OAuth finished in the browser but the account is still missing
Try reconnecting Reddit Ads and complete the consent flow in the same browser session. Partial OAuth approvals or switching accounts mid-flow can leave the connection incomplete.
FAQ
Is there a Hermes Agent Reddit Ads integration?
Yes. ClawLink is the fastest way to connect Hermes to Reddit Ads: link your Reddit Ads account once in the browser and Hermes Agent can call the Reddit Ads API through 83 ready-made tools — no custom code or token handling.
How do I connect Reddit Ads to Hermes with ClawLink?
Install the plugin with hermes plugins install ClawLink-HQ/hermes-plugin --enable, then pair once: run hermes clawlink begin, approve the link in your browser, and run hermes clawlink finish. Connect Reddit Ads in the dashboard and Hermes can use it from the next message — no config files or API keys to manage.
How long does it take to connect Reddit Ads to Hermes Agent?
About two minutes. Sign in, click Connect next to Reddit Ads in the dashboard, authenticate, and Hermes Agent can use it from the next chat message.
Why use ClawLink instead of wiring Reddit Ads up myself?
The alternative to ClawLink is usually manual OAuth app setup plus your own token handling, permission troubleshooting, and tool plumbing for Hermes Agent. That is fine if you want to build and maintain the integration yourself. Most teams just want Reddit Ads working from chat.
Do I need to register a Reddit developer app for this?
No. Registering an app at reddit.com/prefs/apps, holding its client id and secret, and implementing the authorization-code exchange is what you do when you build the integration yourself. Here you sign in to Reddit, approve the access, and the connection exists. The part that is not removed, and cannot be, is Reddit's own permission model: the account you connect must have access to the ad account you want to work with. An app cannot grant you that, and neither can we.
What access do I need on the Reddit side?
Your Reddit account needs to be associated with the ad account, which in Reddit's business hierarchy means being a member of the business that owns it with a role that permits reading or managing ads. If you run the ads yourself from your own account, you already have this. If someone else set the account up, they add you from Reddit Ads under the business's member settings. The symptom of missing access is specific and worth recognizing: the connection succeeds, and then reddit_ads_list_ad_accounts_by_business comes back empty. That is an access gap, not a broken integration.
Can the agent spend money?
It can create and modify campaigns, ad groups, and ads, which means it can create things that spend. Treat that as a workflow decision rather than a technical one. Campaign creation here takes several deliberate calls, so nothing launches from a single vague instruction, and the safe pattern is to have the agent create campaigns paused and to review before anything goes live. If you only want analysis, say so and keep the agent on the reporting tools such as reddit_ads_get_a_report and reddit_ads_list_campaigns, which read without changing anything.
Is it safe to connect an ad account to an AI agent?
The mechanics worth checking are these, and they are more useful than a yes or no. The connection is an OAuth grant that Reddit lists in your account's authorized applications, so revoking it is a click on Reddit's side and does not depend on us. The agent's reach is the named tools on this page rather than an open API session, and the ones that create or modify are individually named, including reddit_ads_create_campaign, reddit_ads_create_ad_group, and reddit_ads_update_campaign. Your Reddit role still bounds everything: an account with read-only access to the business cannot be talked into spending. The risk that no connection model removes is the agent acting on bad input, which is why creating paused and reviewing before launch is the pattern worth keeping.
Hermes paired but still can't use Reddit Ads
Pairing is a two-step handshake: run hermes clawlink begin, approve the link in your browser, then run hermes clawlink finish. If you ran finish before approving, or the approval link expired, run hermes clawlink begin again to get a fresh link. Confirm the plugin was installed with --enable, then verify with hermes clawlink test.