Agents

Suggest Agent System Prompt

Changed on

Generate a starter customInstructions block for an agent.

Same two credential shapes as /agents/validate-llm:

  • Inline - raw apiKey (+ optional baseUrl) supplied directly.
  • Saved connection - savedConnectionId references a saved LLM connection; Streamkap loads its apiKey, baseUrl and provider server-side, so the stored secret never leaves the server.

Describes the agent (type, name, description, topics, fields, tools, output schema, optional existing draft) to your own LLM and returns the suggested instructions. The base template, schema field listing and tool signatures are added to the system prompt automatically at deploy time, so the suggestion covers only the custom-instructions part. Nothing is persisted.

Per-tenant rate limit: 30 req/min, counted separately from validate-llm -> 429 with Retry-After. 404 if savedConnectionId does not match a saved connection. Provider failures (timeouts, 4xx, schema errors) return 400 with the provider's error message.

post/agents/system-prompt-suggestion

Request

Request body

provider'anthropic' | 'openai' | 'openai-responses' | 'ollama' | 'azure' | 'azure-openai' | 'bedrock' | 'qwen' | 'openai-compatible' required

Unified LLM provider enum.

A single AgentLlmConnection carries one provider and a set of capabilities (chat / embedding). Each provider supports a fixed set of capabilities, validated on every write.

modelstring
apiKeystring

Raw key - never stored

baseUrlstring nullable
savedConnectionIdstring nullable

If set, Streamkap uses the provider, apiKey and baseUrl of the tenant's saved LLM connection with this id and ignores the inline apiKey / baseUrl.

agentTypestring required

Agent type (e.g. react, workflow)

agentNamestring nullable
descriptionstring nullable
inputTopicsstring[]
selectedFieldsstring[]
filterSQLstring nullable

Active record-filter (matches AgentInputConfig.filterSQL). Anchors the LLM's prompt to the actual shape of records reaching the agent.

existingCustomInstructionsstring nullable

Existing draft to refine.

generationHintstring nullable

Optional one-line steer the user types into the wizard's 'Hint for AI' input. The meta-prompt already gets the agent's metadata, so this should carry use-case intent (tone, edge-case priority, what to emphasize) rather than restate the data shape.

Response

Successful Response

generatedPromptstring required
tokensIninteger required
tokensOutinteger required
modelstring required
providerstring required

Changes