OxagenDocs
Connections

Custom inference prompts

Steer how a connection's data is turned into graph entities and relationships by setting per-connection ontology and semantic-edge prompts via integration.configure.

Overview

Each connection can carry two optional prompts that steer how its ingested data is turned into knowledge-graph structure:

  • ontologyPrompt — guides entity extraction from this source (what entity types to pull out and how to name them). Consumed by the enrichment worker fleet.
  • semanticEdgePrompt — guides cross-source relationship inference (what edges to propose between entities). Consumed by semantic.edge.infer.

Both are optional. When unset, Oxagen uses its built-in defaults.

Where the prompts live

The prompts are stored on the connection under deliveryConfig.semanticInference, alongside the other inference controls (enabled toggle, per-record-type map, confidence threshold). They are configured through the integration.configure capability, which is available across every surface.

Setting the prompts

REST API

PATCH /v1/{org}/{workspace}/integrations/{id}/configure

{
  "ontologyPrompt": "Extract Feature, Service, and Team entities. Treat repository topics as Capabilities.",
  "semanticEdgePrompt": "Prefer DEPENDS_ON edges between Services; link Features to the Team that owns them."
}

MCP

Call the integration.configure tool with the same fields (integrationId, plus any of ontologyPrompt, semanticEdgePrompt, displayName, syncCadence, inferenceEnabled, config).

Update semantics

  • Omitting a prompt field leaves the existing value untouched — you can patch one field without clearing the other.
  • Passing an empty string clears that prompt (falls back to the default).
  • The values round-trip: read the connection back and the prompts are present under deliveryConfig.semanticInference.

How they take effect

Updated prompts apply to subsequent enrichment and edge-inference runs for that connection. Re-syncing the source or re-running inference picks up the new guidance; already-materialized entities and edges are not retroactively rewritten.

On this page