Loading…
Omniposter

Create your account

Start your 14-day free trial — no charge today.

Passwords don't match.

Passwords match.

Already have an account?

Check your inbox

If that email has an account, a reset link is on its way.

Sign in to your account.

Enter your email and we'll send you a reset link.

New here?

← Back to omniposter.ai

Omniposter

Payment received.

Setting up your account…

Choose a plan to start your 14-day free trial.

Invalid code.

Signed in as .

Omniposter

Let's set up your account

Connect your site, create a reporter, and link your socials. No card needed yet — your 14-day free trial starts once you're set up.

Signed in as .

Omniposter Omniposter
Your payment method needs attention — update it to keep Omniposter running.
Your key is out of credits — generation is paused until you top it up.
You're acting as . Changes you make affect this account.

Add an AI API key to enable automation

Editorial story commissioning and marketing post generation are paused until you add a Claude, OpenAI, or Gemini key. Onboarding + weekly analytics still work on the platform's key.

This project is deleted

Deleted on . All data — stories, posts, reporters, sources, schedules, briefings, images — is scheduled to be permanently removed on ( days from now).

We built an export zip at deletion time. It contains every story (with body markdown + hero images), reporter (with portraits), posts, sources, seeds, schedules, and trendline briefings. Credentials are not included — re-enter API keys if you restore or rebuild elsewhere.

Export size:

↓ Download zip

Restoring brings everything back exactly as it was. If you let the grace period expire, the data is gone — we don't keep backups beyond the export zip.

Loading GA4 data…
Sessions
Engaged
Users
Conv.

Daily trend

No daily data — try a longer window.

Top countries

No geographic data.

Devices

No device data.

By source

No traffic in this window.

Top pages

No page data in this window.

By campaign × source

No campaign-tagged traffic yet.
Loading Search Console data…
Clicks
Impressions
CTR
Avg position

Top queries

No query data — site may be new or service account lacks Search Console access.

Top pages

No page data.
Loading social engagement…
No published social posts with engagement data in this window. Connect a platform under and publish, then metrics show up here daily.

means the platform doesn't report that metric. Reach and saves are Instagram-only; X, Facebook, and LinkedIn don't expose them.

By platform

Analytics & Search

Connect this project's Google account once, then pick the GA4 property and Search Console site to read below.

No platforms enabled — add credentials in settings first

No posts in queue

Recurring schedules

No schedules yet — click "New schedule" to set one up.

Loading GA4 data…
Sessions
Engaged
Users
Conv.

By source

No traffic in this window.

Top pages

No page data in this window.

By campaign × source

No campaign-tagged traffic yet.
Loading Search Console data…
Clicks
Impressions
CTR
Avg position

Top queries

No query data — site may be new or service account lacks Search Console access.

Top pages

No page data.
Loading…

Social Platforms

Sign in to each platform once and Omniposter handles the API keys for you. Recommended — replaces the hand-typed key flow below.

Or paste API keys manually (legacy)

Credentials are encrypted and stored on your server.

Reporters

Cap reached. Email dev@omniposter.ai if your publication needs more.

No reporters yet. Reporters are AI personas with their own beat, persona, and pitching style. Click + New Reporter to add one.

Commissioning runs the full pipeline: reporter pitches 4 ideas → editor picks one → reporter writes the article → Pexels finds a hero image. Takes ~30-60s. Story lands in Story Queue awaiting your approval.

No stories awaiting review. Commission one from Reporters.
No published articles yet.
No rejected articles.

Seeds

Grow your audience

Ideas for new stories and fixes to existing ones — drawn from your GA4 + Search Console data, to grow readership. Your editor agent acts on these automatically each run. A fresh briefing is generated automatically — or hit Generate new anytime.

No recommendations yet — hit Generate new to analyze your latest GA4 + Search Console data.

Loading…

Active seeds are queued for the next editor agent run ( daily). The agent reads every seed in the window, weighs them against your editorial mission + recent performance, and commissions story pitches to reporters whose cadence has lapsed. Seeds that don't make the cut stay here until they're archived (per the source's seed-expiry setting). Active seeds are available for manual commissioning. Open a reporter on the and click Commission to write a story from one of these seeds. Or switch Editor mode to Auto in to let the editor agent route them automatically.
No archived seeds — seeds are archived when they exceed the source's expiry window. No seeds yet. Configure a content source in Sources and hit Poll now.

Pick where Omniposter pushes approved stories. Only one destination fires at a time.

Publish destination

Custom webhook

When a story is approved (manually or by the auto-editor), Omniposter POSTs the article JSON to this URL with Authorization: Bearer <secret>.

What you need to build on your side ↓

Your server needs an HTTP endpoint that:

  • Accepts POST with JSON body
  • Verifies the Authorization: Bearer <secret> header matches the secret you set below
  • Reads fields: external_id, title, body (markdown), summary, hero_image_url, hero_image_attribution, reporter_display_name, reporter_beat, reporter_persona, reporter_avatar_url, published_at, topic_seed
  • Creates a post on your site and returns 200 OK (any 2xx counts as success)
  • Strongly recommended — return the published URL: respond with a JSON body like {"url": "https://yoursite.com/articles/your-slug-123/"}. Without it, Omniposter can't know your CMS's article id and social posts will link to a URL pattern that may not exist (it falls back to the template, which uses Omniposter's internal Story.id). Accepted keys: url, published_url, link, permalink, or article_url — pick whichever fits your API.

If your site runs WordPress, switch to the WordPress option above — no custom code needed.

Saved

How published articles are addressed on your site. Drives the URL embedded in social posts and the analytics ↔ Story join.

Placeholders: {project_url} · {slug} (slugified-title-id) · {id} (numeric story id). Leave blank to use {project_url}/blog/{slug} (the default).

Examples — {project_url}/articles/{slug}/ · {project_url}/p/{id} · {project_url}/?p={id}

Saving rewrites the canonical URL on every existing story in this project (skipping ones already pushed to WordPress, which keep their real WP permalink).

Saved (existing stories' URLs rewritten)

WordPress publishing

Push approved stories directly to your WordPress blog with title, body, hero image, SEO meta, and per-reporter author bylines. Uses WordPress's built-in Application Passwords (no plugin required). For per-reporter authors, use an Administrator-level account.

How to create an Application Password →
  1. Sign into WP admin (https://yourblog.com/wp-admin/)
  2. Go to Users → Profile in the left sidebar
  3. Scroll to the bottom — last section is "Application Passwords"
  4. Name it Omniposter, click Add New Application Password
  5. Copy the full generated string (shown only once) and paste it below

Section not visible? Check that the site is on HTTPS (required), WordPress is 5.6+, and no security plugin (Wordfence / iThemes / Solid Security) is blocking it.

Open your WP profile page directly
Connected: SEO plugin: Avatar plugin: Can create authors:

Generated in WordPress under Users → Profile → Application Passwords. Spaces are stripped on save.

No reporters synced — see errors below.

Sources

External feeds polled for raw material. Paste any of: RSS / Atom feed URLs, JSON APIs returning an array of objects with a title field, GitHub repo URLs (we pull releases via the GitHub App if connected, otherwise public API), or just a website URL — we'll auto-discover the feed from <link rel="alternate"> tags, or fall back to HTML scrape. New items become seeds the editor uses to commission stories.

Recommended sources

The AI searched the web based on your site URL, mission, and voice. Review each suggestion's feed URL before adding — click Add to open the new-source modal pre-filled with the name and URL.

No sources yet — click + Add source to connect one, or Recommend sources to let the AI find some for you.

Editor agent — run history

Every time the editor agent runs (Auto mode, daily at the time in Settings), it leaves a full audit trail here: the inputs it saw, the prompt it built, the raw model output, and the pitches it commissioned. Click a row to expand.

Loading editor runs…

No editor agent runs yet. Switch Editor mode to Auto in to enable scheduled runs.

The canonical URL of this publication. Reporters use it for web-search context; analytics + GSC join on this domain.

Comma-separated. Appended to social posts.

Longer-form than the voice. Tell the AI what this publication is FOR and what it's explicitly NOT for — both halves carry weight. The editor agent (toggle below) treats this as its strict-quality reference; if nothing in the seed pool advances it, the agent commissions nothing.

Hero images

Automation

Run daily at

Each day at the time above, the AI editor agent reads new seeds plus last 14-day performance plus 30-day rejection patterns and automatically commissions story pitches to reporters whose publishing cadence has lapsed. Reporters write the stories; the AI editor reviews each draft against the standards above and either auto-approves it for publishing or sends it back to the reporter for correction — up to 3 revision rounds, after which the story is rejected with the full editor-comment history preserved. The editorial mission acts as the strict-quality reference — if nothing in the seed pool advances it, the agent commissions nothing for that run (a fine outcome).

You commission stories yourself by clicking the Commission button next to a reporter on the . Reporters write the stories; the AI editor reviews each draft against the standards above and flags issues, but you make the final call — approve for publishing, or send back to the reporter for correction. No automated commissioning or auto-approval; every story passes through your hands.

Leave blank to use the default shown in the placeholder. Markdown is supported.

Falls back to the site favicon when blank.

Saved

Danger zone

Delete this project. We'll bundle every story, post, reporter, source, schedule, briefing, and image into a downloadable export zip. The project stays visible (grayed out in your nav) for 30 days so you can download the zip, email yourself a link, or restore. After 30 days everything is permanently deleted.

Select a project to get started

Credentials are stored in the local database and never leave your server.

Ask Omni

Help with

Past conversations

Loading…
Loading your setup…
Thinking…

Sent

Uses your AI key.

Admin

Pick an account to act as — you'll edit its projects and settings through the normal app, with a banner up top the whole time.

Loading accounts…
No accounts match.

Estimated LLM spend. Customer = accounts' own API keys · Platform = Omniposter's key (onboarding, auto-generation).

Loading…

Account & email settings

AI Model Keys

Account keys apply to all sites. Site keys override them for a specific project.

Account keys — apply to all sites

Default routing strategy

Site override —

overrides account keys for this site only

Set up your publication

Step of 8

Mission & standards are configured later in Editorial → Settings.

Please review our updated terms

We've updated our Terms of Service and Privacy Policy. To keep using Omniposter, please review and accept the current versions.

Current version:

You previously accepted:

You haven't accepted these terms yet.

Delete this project?

We'll build a downloadable export of everything (stories, posts, reporters, sources, schedules, briefings, images) and keep it available for 30 days. After that, your data is permanently deleted.

Type to confirm:

Building export zip… this may take 10-30 seconds depending on how many stories and images you have.

Email me a download link

We'll send a link that requires sign-in to download — a forwarded email can't be used to grab your data.

Sent. Check — the link expires when the project is purged.

Don't want to write this yourself? Let AI draft a reporter that fits your site — type a beat below to steer it, or leave everything blank.

Save the reporter first to enable Generate (uses Flux based on persona).

(2-hour window)

The auto-editor cron commissions stories during this window when the reporter is due.

WordPress sync

Detecting feed type…

Send back to writer with notes

The reporter will rewrite the draft addressing every point. Takes ~30-60 seconds. Be specific — vague notes ("make it better") produce vague rewrites.

Story:

Loading GA4 data…
Sessions
Engaged
Users
Conv.

By source

No traffic in this window.

Top pages

No page data in this window.

By campaign × source

No campaign-tagged traffic yet.
Loading Search Console data…
Clicks
Impressions
CTR
Avg position

Top queries

No query data — site may be new or service account lacks Search Console access.

Top pages

No page data.