Connect Reddit Ads to plori, then verify it read-only

· the plori team

Connect Reddit Ads before you build a workflow that changes campaigns. The safest first run makes one request: GET https://ads-api.reddit.com/api/v3/me. A 200 response proves that plori can resolve the OAuth grant and call the Ads API as the person who authorized it. The workflow does not create, edit, pause, or delete an ad resource.

Keep this connection check after setup. It gives you a cheap way to tell an expired grant from a broken campaign workflow, but it does not manage ads.

One run, from consent to proof

The OAuth grant can support later campaign work. This first workflow makes no campaign write.

  1. 01

    Authorize

    Complete browser consent

    Reddit Ads OAuth

  2. 02

    Resolve grant

    Inject it at run time

    Bearer token

  3. 03

    Read identity

    Make exactly one request

    GET /api/v3/me

  4. 04

    Verify

    Inspect the safe result

    HTTP 200

What do you need?

  • A plori account and a Reddit Ads account.
  • Admin access to a verified Reddit Business so you can create a developer application.
  • An app ID and secret from that developer application.
  • This callback URL on the Reddit app: https://api.plori.ai/v1/oauth/callback.
  • Permission to use the Reddit Ads identity and accounts you plan to manage later.

Reddit's developer application guide and authentication guide cover the provider-side setup. Reddit documents adsread for reading advertising data and adsedit for editing it.

What prompt should you give plori?

The request is deliberately narrow. It names the one allowed endpoint and forbids every campaign write.

plori prompt
Build a manual workflow named "Reddit Ads connection check".

The workflow must contain exactly one HTTP step: GET https://ads-api.reddit.com/api/v3/me. Use plori's managed Reddit Ads OAuth connection named "reddit". Do not add any other HTTP step or call any campaign, ad group, ad, audience, funding, reporting, or conversion endpoint.

Do not create, update, pause, resume, or delete any Reddit Ads resource. Ask me to add the Reddit app credentials and complete browser authorization through the Connections surface. Never ask me to paste a client secret, access token, refresh token, or authorization code into chat.

Show me the complete workflow definition and validate it. Do not activate or run it until I approve. After I approve, run it once and report only the HTTP status and the returned data.type. Never print an Authorization header or any token.

How do you authorize Reddit Ads?

Create the developer application in Reddit Business first. Put the production callback URL above into the app, then save its app ID and secret through plori's Reddit Ads connection card. Plori sends you to Reddit for consent and stores the resulting grant on your account. The workflow definition keeps only a reference to that grant.

The current plori Reddit Ads profile requests both adsread and adsedit. That is useful when you later build a campaign-management workflow, but it also means this test is not least-privilege at the OAuth scope level. Its safety comes from the workflow definition: one GET /api/v3/me step and no write endpoint. If you need an authorization grant that cannot write under any circumstance, the current managed profile is not the right fit.

What did the real run prove?

We ran this workflow with a real Reddit Business developer app and browser authorization. The manual run returned HTTP 200 from /api/v3/me, and the response identified the authorized user as a MEMBER. No campaign endpoint ran.

The underlying OAuth connection has also passed a separate live refresh test. After refresh, the new access token could call /api/v3/me again. That matters for workflows that run after the first access token expires, but it does not prove that a future campaign edit will be valid. Account permissions, resource IDs, and the write request still need their own test.

How do you check the workflow before running it?

  1. Inspect the draft and count its HTTP steps. There should be one.
  2. Confirm that the method is GET and the URL ends exactly in /api/v3/me.
  3. Confirm that the step uses the managed connection named reddit. The definition should not contain a bearer token.
  4. Approve activation and one manual run.
  5. Look for HTTP 200 and data.type. Do not publish the full response because it can contain account details.
  6. Run it once more only if you need to test grant reuse. The second run should still make the same single read.

A 401 usually means the grant is missing or no longer usable. A 403 means the authorizing member lacks a required scope or permission. Fix the connection or Reddit Business permissions before changing the workflow.

How do you move from this check to campaign management?

Build a separate workflow. Start with a read such as listing the authorized businesses or ad accounts, then test the exact resource IDs you plan to use. Keep reporting and writes in different workflows when possible. A reporting failure should not share a retry path with a budget change.

For any workflow that edits spend, status, or targeting, require a dry preview and a human approval that names the account, campaign, old value, and proposed value. This example does not test those writes and should not be cited as evidence that they work.

What are the limits?

The Reddit app belongs to you. Plori does not provide a shared Reddit developer app. The managed connection currently stores one Reddit Ads identity per plori account, so it does not support switching among several Reddit identities under the same provider profile.

The connection check also says nothing about campaign health or ad performance. It proves authorization and one read endpoint. That small claim is useful because it is easy to repeat and hard to misread.

Build it in plori

Open plori and paste the prompt. Add the Reddit app credentials and finish consent only through the Connections surface.