The whole content operation, on one screen at a time.
Opal is the cockpit Arthea built to run its own brands: plan the calendar, hold every draft for approval, publish through each platform’s own API, and keep an audit trail of all of it. Here is each surface in detail.
One calendar for everything a brand puts out.
Posts, articles and launch days sit on the same grid, per brand and per channel. Day, week and month views are built into the product, so what you plan is what a channel will receive, with no export step in between.
- Day, week and month views, with the week as the working default
- Filter to one brand, one channel or one format
- Each slot shows the copy, the media and the exact publish time
- Move a post and its schedule moves with it, on every channel it targets
- Published, held and failed states are visible on the grid itself
- Booked calls appear on the same calendar as the content
Nothing publishes until a human says yes.
Drafts, whether written by you or assembled by the drafting agents, land in one queue per brand. You read the caption, look at the media, and approve, edit or reject. There is no path from draft to platform that skips this screen.
- Articles and social drafts in a single queue, per brand
- Approve or reject in batches when a week is ready
- Edit the caption and the media in place before approving
- Per-channel settings live on the card, next to what will be posted
- A post missing a required platform choice cannot be approved
- Rejections and edits are recorded with who did them and when
This gate is deliberate. Approval is the only way a draft becomes publishable, and a held post stays held until you decide otherwise.
Direct to each platform, through its own API.
Opal talks to Instagram, Facebook, Threads, X, TikTok and LinkedIn directly, with the tokens you granted on each platform’s own sign-in screen. There is no scheduling middleman in the path, and no third party ever holds your credentials.
- First-party API calls per platform, with per-platform formatting rules
- Scheduled dispatch at the hour you set, with retries on transient failures
- Per-post platform settings, including everything TikTok requires per post
- Live token health per channel, with a warning before access expires
- Takedown from inside Opal for anything already published
- A kill switch per channel, and a global one, that stops dispatch instantly
Every publish, retry and takedown writes an audit row: the actor, the time, the channel and the result.
What actually happened, not what flatters us.
Search Console and GA4 in one view, per property, next to the content that produced the numbers. Where a data source is not connected, the number reads as a dash instead of an invented figure.
- Impressions, clicks, positions and pages from Search Console
- Sessions and conversions from GA4, per property
- Indexing state per URL, and what is still waiting to be discovered
- The article and the post that a result came from, side by side
- No estimated numbers, ever. A missing source shows as a dash.
Every mailbox in one queue.
Connect the mailboxes you already run over IMAP and SMTP. Mail arrives classified and routed, with a reply drafted where a reply is obvious. Nothing is sent until you approve it, exactly like the content queue.
- Multiple mailboxes, one triage queue
- Classified and routed on arrival
- Drafted replies that wait for your approval
- Threads kept whole, with the original message always one click away
A pipeline for the work, a portal for the client.
Consulting clients get their own dashboard inside Opal, and a walled-off portal outside it where they see their deliverables, invoices, links and updates. The portal is a separate audience with its own sign-in, and it cannot reach the operator side.
- Pipeline, activity and health per client
- Invoices, deliverables and updates published to the portal in one click
- Magic-link sign-in for the client, invited by you and revocable by you
- A client sees only their own workspace, never another client’s
The controls that make the rest safe to run.
Settings, monitoring, budgets and the audit log. The switches that decide what can and cannot happen live in one place, and everything privileged that happens is written down.
- An append-only audit log of every privileged action
- Per-agent spend budgets, with a hard ceiling
- Kill switches per capability, off by default until deliberately armed
- Monitors for the jobs that run on a schedule, with a heartbeat
- Two-factor sign-in and sign-out-everywhere, effective on the next request
Want the permissions detail per platform? Every channel has its own page under integrations, and the lifecycle of a single post is written out in how it works.
See it on your brands.
A 30-minute call: your channels, your calendar, and what Opal would take off your plate first.