Works with every existing connector
Instructions are purely additive. Every connector you already have supports them today with a singlePATCH. There is no reconnection, reconfiguration or migration, and nothing changes until you set one:
Two levels: connector default and per-resource override
- Connector level: applies to every resource that has no instructions of its own. Set it with
custom_instructionsonPOST /connectorsorPATCH /connectors/{id}. - Resource level: applies to documents synced from that one resource. Set it with
PATCH /connectors/{id}/resources/{resource_id}, or withcustom_instructionson a resource in configure.
Set the connector default at creation
Set a resource override
At configure time, per entry:C_RELEASES carries no value, so it inherits the connector default. Or on an already-configured resource:
Clear instructions
Send an explicit empty string. Omitting the field leaves the stored value unchanged;"" removes it:
Read them back
GET /connectors/{id} returns the connector’s custom_instructions; GET /connectors/{id}/resources returns each resource’s, absent when the resource inherits.
From the dashboard
- At connect time: the connect wizard has a dedicated Instructions step between resource selection and review. Set the connector default there, and click any selected resource to give it its own instructions before ingestion starts.
- After connecting: open the connector and click Instructions, or click the instructions icon on any resource row. The dialog lists the connector default and every resource with its override-or-inherits state, so you can see and edit the whole hierarchy in one place. Resources with their own instructions are badged in the resource table.
Semantics and limits
- Applies to future syncs only. Instructions are read at sync time and stamped onto each document as it is ingested. Already-indexed documents are not re-processed; each document keeps the instructions it was ingested under, recorded in its stored metadata.
- Length limit: 4,000 characters, counted in characters rather than bytes, so multi-byte scripts get the same budget. Longer values are rejected with a 400 and the stored value is left unchanged.
- Cost. The text rides the extraction and inference prompts for every synced document, so a long value on a high-volume connector is a recurring processing cost. Say what matters and stop.
- Steering, not string rewriting. Instructions guide the language models that build the knowledge graph. Explicit, unambiguous instructions (“X was renamed to Y; they are the same product; index under Y”) get the strongest adherence; vague guidance gets vague results. State each rule directly, name the exact terms involved, and keep unrelated rules as separate sentences.
- No filtering or routing. Instructions do not change which documents sync, where they are stored, or who can access them. Use resource selection, multi-tenant routing, and ACLs for those.
Related
- Connectors: creating, configuring, and syncing connectors
- App Sources: the ingestion model connector objects use
- Context Graphs: how extracted entities and relations are stored
- Query: querying connector-synced data
