Skip to content

Opportunities ​

Opportunities brings discovery, recommendations, replies, and articles into one workspace. Existing Social and Content Strategy links remain usable.

Set up discovery ​

Open Sources & settings. Configure discovery sources and writing/publishing settings. Public product pages, roadmap, changelog, and the project description ground recommendations.

Competitors ​

Saving a project with a public website and description starts competitor discovery in the background. Existing projects also initialize discovery when Opportunities opens; visiting settings is not required. Discovery uses public product context and web evidence. Each entry includes its name, website, explanation, and supporting links. Add, edit, or remove entries anytime. Suggest more competitors preserves your edits and does not restore removed competitors. You can explicitly add a removed competitor back.

Competitors guide discovery and topic suggestions. Removing one stops future competitor-specific discovery; historical opportunities remain. Competitor changes do not enroll topics in paid search monitoring.

Connect a project DataForSEO account and choose up to five target countries from the searchable dropdown. Search by country name or ISO code, then select a country to add its tag. Remove a tag to stop including that country after saving. Choices come from DataForSEO’s supported countries; no country names need to be guessed. Existing supported single-country settings appear as one tag. Unsupported saved locations must be replaced.

Approve up to 20 topics. Suggest topics adds suggestions directly to the watchlist, one topic per line, preserving existing topics and skipping duplicates. Suggestions fill available space up to the 20-topic limit. Review or remove topics, then click Save trends. Suggestions alone do not save the watchlist or enable monitoring. Enable paid monitoring explicitly. Monitoring checks every topic in every selected country every 24 hours and charges your DataForSEO account per request. The form shows the total checks per scan: 20 topics across five countries means 100 paid checks daily. New monitoring is eligible immediately; editing an enabled watchlist keeps its next scheduled scan. Existing six-hour schedules wait until at least 24 hours after the previous scan, preserving any later scheduled time. Results and failures identify their country; a failed country does not discard other results.

Measurements describe relative Google search interest, not absolute search counts. Rising interest compares complete daily buckets from the same seven-day response: at least twice the baseline and a 20-point increase, with at least three baseline days. Insufficient, stale, and zero-baseline data are labeled separately. Trends alone never authorize publication.

Work an opportunity ​

  • Inbox: recommendations awaiting acceptance, regardless of Ghost delivery or automatic acceptance settings.
  • Actions: track accepted replies and articles together, with independent progress.
  • History: completed, published, dismissed work, and unscheduled replies below the relevance threshold.

Open an opportunity to inspect its evidence and actions. Opening does not generate or publish anything.

Queue article accepts work for the next eligible generation run. Queue position and next-run information explain what happens next. Generate now is separate and subject to plan limits. Publishing follows the displayed policy: ready for review, Ghost draft, or automatic Ghost publication. Under Automation, choose review or automatic article acceptance. Explicit project choices are preserved. Projects without a saved acceptance choice inherit their enabled Ghost automation. Automatic acceptance includes existing eligible recommendations, and articles discovered during a scheduled run can be generated in that run. Trend-only opportunities and manually created recommendations still require review.

Generate articles on a schedule controls when queued articles are written. After an article is generated controls whether finished articles stay in Managani, become Ghost drafts, or publish live. Ghost delivery does not enable generation or accept existing recommendations. Paused generation has no next scheduled run; queued articles have not started generating.

For an explicitly identified project whose prior automation was interrupted, the existing migration supports --restore-automation --host-id=<host> --site-id=<site>. It reports dry-run counts by default; --apply restores automatic article acceptance only when that project already has an enabled Ghost draft/live strategy. Repeating it reports zero changes. It does not generate or publish during the repair.

Prepare reply makes the suggested reply ready for review. Supported Bluesky targets offer Post reply; other sources offer Copy reply, Open conversation, and Mark replied. Completing a reply does not complete its related article. Only replies actually queued or scheduled for delivery are shown as automatic work. A missing draft cannot be prepared or posted; low-scoring replies remain in History with the reason.

Failures belong to their actions. Retry the failed action without repeating successful work.

Existing data ​

The resumable migration scripts/migrations/unify-opportunity-actions.mjs defaults to dry-run; --apply backfills actions, historical reply opportunities, and existing articles. Optional --host-id=... limits the migration. It does not generate content, discover competitors, or publish. Existing records, URLs, and automation settings are preserved.

Automatic Ghost Images ​

In Content Strategy settings, open Publishing and enable Automatic images. Add optional visual instructions and set a monthly image budget (up to $25 per project). Existing projects keep images disabled until you enable them. An OpenAI API key and Ghost connection are required; the existing tenant AI-key settings apply.

Managani generates a photorealistic cover and one inline image for articles below 1,200 words, or two inline images for longer articles. Images use GPT Image 1.5 at medium quality, are uploaded to Ghost, and include alt text. Images are prepared after article quality checks, before the post goes live. The article's publishing mode still determines whether Ghost keeps a draft or publishes it.

Open a post to see image progress and previews. If preparation fails, use Retry images and publish. Completed images are reused; failed uploads reuse saved image data. Each generation gets one automatic retry. Manual retries still count against the budget.

The budget resets by UTC calendar month. Each image request reserves $0.08 to cover output and its bounded prompt; reservations remain counted when billing is uncertain. This is a conservative spending limit, not an exact provider invoice. Budget exhaustion holds the post until the budget is increased or a later month allows a retry.

If Ghost's creation response is lost, Managani looks for the existing draft before continuing. If it cannot establish the outcome, publication stays on hold rather than creating another post. Retry reconciliation later. Unsplash+, stock libraries, and real product screenshot selection are not included in this version.

Article publishing checks ​

If publishing is blocked, open the article in Opportunities. Article checks lists the exact saved warnings, including missing internal links, missing external sources, or links outside the supplied source context. Article checks & tools opens the draft and repeats those warnings. Review Supporting evidence and your Writing & publishing instructions, then choose Regenerate post to generate a new draft and rerun checks. Required link failures disable the drawer’s publishing button; advisory warnings alone do not. Regeneration can incur generation costs and follows the existing confirmation flow.

Images from Razuna ​

Open Settings → Integrations → Razuna image source. Enter an access token and the Razuna URL (default https://app.razuna.com), then add AI instructions and save. For example: “Look in the workspace and find project-related assets in the same-named folder. The Photos folder contains general images you can use.” The AI discovers accessible workspaces and folders and uses these instructions to decide where to search. Team admins manage connections; tokens are encrypted and never returned to the browser. The URL supports public HTTPS Razuna installations and requires Razuna API access. In development, it also supports the matching Razuna dev hostname: g.n.lan connects to r.n.lan, g.d.lan to r.d.lan, and g.lan to r.lan. Production continues to require a public host. Enter a token when changing the URL; a saved token is not silently sent to a different server.

Enable Automatic images in Content Strategy and connect Ghost. Managani uses the project name, article, and saved source instructions to search appropriate folders for each cover and inline image, then inspects candidate previews and metadata. It prefers relevant, readable product screenshots for feature explanations, avoids duplicate assets within an article, and considers recent use. If nothing fits, it uses the existing AI image generation budget. A missing screenshot becomes a conceptual illustration, never an invented product screenshot. Provider errors pause preparation instead of silently switching to generation.

Open an unpublished article and choose Prepare / retry images to review images before publishing. Replace image lets you search or browse Razuna, select an asset, or generate an illustration. Manual choices survive retries; explicitly regenerating the article can replace the image plan. Replacements update only the affected article/image and preserve the open editor. Existing Ghost drafts receive explicit replacements; published articles cannot be changed through this picker.

Images are copied to Ghost, so publication does not depend on a private Razuna URL or an active connection. Razuna assets do not consume image-generation reservations; AI selection still uses your configured OpenAI access. Existing generated-only projects keep their current behavior until a source is connected.

You can store licensed Unsplash+ downloads in Razuna. Include only assets you are entitled to use for the intended publication; putting them in a workspace does not expand their license or permit sharing an individual subscription. There is no direct Unsplash connector in this version. Social sharing uses the blog article preview; native social image attachments are not included.