{
  "name": "AI with Runtime Tools",
  "goal": "AI step that can call web_search + workspace_memory at runtime (aiActionWithTools shape).",
  "description": "Starting shape for an AI step that needs to pull fresh web context and recall/store workspace memory. Replace the prompt and response structure for your task.",
  "status": "draft",
  "context": {
    "executionInputConfig": {
      "title": "Research + Recall",
      "description": "Provide a topic or entity to research.",
      "runCTALabel": "Run",
      "fields": [
        { "name": "topic", "label": "Topic or entity", "type": "text", "required": true }
      ]
    }
  },
  "steps": [
    {
      "id": "start",
      "type": "trigger",
      "name": "Manual Start",
      "pipelineStepStartConditions": { "trigger": { "type": "manual" } },
      "next": { "stepId": "analyze" }
    },
    {
      "id": "analyze",
      "type": "aiActionWithTools",
      "name": "Analyze with Tools",
      "tools": [
        { "type": "builtin", "name": "web_search", "builtinType": "web_search" },
        { "type": "builtin", "name": "workspace_memory", "builtinType": "workspace_memory" }
      ],
      "pipelineStepPrompt": {
        "template": "Research the topic: {{input.topic}}.\n\nUse `web_search` for fresh external context. Use `workspace_memory` to recall what we already know about {{input.topic}} (call action \"search\" with a relevant query) and to `store` any durable fact you learn (category=fact, confidence 70-100).\n\nReturn a concise structured summary.",
        "responseStructure": {
          "summary": "string — 3-5 sentences synthesising research + prior memory",
          "sources": "array of strings — URLs cited from web_search",
          "stored_memories": "array of strings — keys of new memories written (if any)"
        }
      },
      "creditCost": 10,
      "next": { "stepId": "done" }
    },
    {
      "id": "done",
      "type": "milestone",
      "name": "Done"
    }
  ]
}
