CHATBOTS

Sync Service Ownership from Confluence to Catalog DB

On a schedule, parses service runbook pages in Confluence and upserts owner, on-call, runbook URL, and SLA into the Postgres service catalog so the ownership bot always answers…

CategoryChatbots
Enginesim
Difficultyintermediate
Triggerschedule
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerNightly schedule fires
  • ActionFetch all service-runbook pages under the Confluence parentConfluenceConfluence
  • ActionParse owner, on-call, runbook URL, and SLA from each pageOpenAI
  • LogicSkip pages missing required ownership fields and collect them
  • ActionUpsert valid records into the Postgres service_catalogPostgreSQLPostgres
  • OutputPost sync summary and skipped-page list to SlackSlack

What it does

Keeps your machine-readable service catalog in sync with the human-written source of truth. It reads a designated Confluence space of service runbook pages, extracts the structured ownership fields from each, and upserts them into the Postgres catalog the Slack bot reads from.

When to use it

When teams document ownership in Confluence but your bot or dashboards need it in a queryable table. Run it nightly so answers never go stale and drift between docs and data is caught early.

How it works

  1. 1A scheduled trigger fires nightly.
  2. 2It fetches all child pages under the configured Confluence service-runbook parent page.
  3. 3For each page it parses the owner, on-call rotation, runbook URL, and SLA tier from the page's structured fields.
  4. 4A logic step skips pages missing required ownership fields and collects them for reporting.
  5. 5It upserts each valid record into the Postgres `service_catalog`, stamping `last_synced`.
  6. 6It posts a short summary to Slack listing pages skipped for missing fields.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect ConfluenceSpaces, pages, blueprints.
  2. 2
    Connect PostgresAny Postgres URL — query, write, migrate.
  3. 3
    Connect SlackChannels, DMs, threads, mentions.
  4. 4
    Connect OpenAIModels, embeddings, files.
  5. 5
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  6. 6
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  7. 7
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.