first commit
Security: Sync from Public / sync-from-public (push) Has been cancelled
Test: Benchmark Nightly / build (push) Has been cancelled
Test: Benchmark Nightly / Notify Cats on failure (push) Has been cancelled
CI: Python / Checks (push) Has been cancelled
Test: Evals Python / Workflow Comparison Python (push) Has been cancelled
Util: Check Docs URLs / check-docs-urls (push) Has been cancelled
Test: Visual Storybook / Cloudflare Pages (push) Has been cancelled
Test: E2E Performance / build-and-test-performance (push) Has been cancelled
Test: Workflows Nightly / Run Workflow Tests (push) Has been cancelled
Util: Cleanup CI Docker Images / Delete stale CI images (push) Has been cancelled
Test: Benchmark Destroy Env / build (push) Has been cancelled
Util: Update Node Popularity / update-popularity (push) Has been cancelled
Test: E2E Coverage Weekly / Coverage Tests (push) Has been cancelled

This commit is contained in:
2026-03-17 16:22:57 +03:30
commit 3d5eaf9445
15349 changed files with 2847338 additions and 0 deletions
@@ -0,0 +1,120 @@
{
"httpRequest": {
"method": "POST",
"path": "/v1/messages",
"body": {
"contentType": "application/json",
"type": "JSON",
"json": {
"model": "claude-sonnet-4-5",
"temperature": 0,
"stream": false,
"max_tokens": 16000,
"tools": [
{
"name": "extract",
"description": "A function available to call.",
"input_schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 10,
"maxLength": 128,
"description": "Name of the workflow based on the prompt"
}
},
"required": ["name"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
}
],
"tool_choice": {
"type": "tool",
"name": "extract"
},
"thinking": {
"type": "disabled"
},
"messages": [
{
"role": "user",
"content": "<role>\nBased on the initial user prompt, please generate a name for the workflow that captures its essence and purpose\n</role>\n\n<initial_prompt>\nCreate an automation that checks the weather for my location every morning at 5 a.m using OpenWeather. Send me a short weather report by email using Gmail. Use OpenAI `gpt-4.1-mini` to write a short, fun formatted email body by adding personality when describing the weather and how the day might feel. Include all details relevant to decide on my plans and clothes for the day.\n</initial_prompt>\n\n<output_rules>\nThis name should be concise, descriptive, and suitable for a workflow that automates tasks related to the given prompt. The name should be in a format that is easy to read and understand. Do not include the word \"workflow\" in the name.\n</output_rules>"
}
]
},
"rawBytes": "eyJtb2RlbCI6ImNsYXVkZS1zb25uZXQtNC01IiwidGVtcGVyYXR1cmUiOjAsInN0cmVhbSI6ZmFsc2UsIm1heF90b2tlbnMiOjE2MDAwLCJ0b29scyI6W3sibmFtZSI6ImV4dHJhY3QiLCJkZXNjcmlwdGlvbiI6IkEgZnVuY3Rpb24gYXZhaWxhYmxlIHRvIGNhbGwuIiwiaW5wdXRfc2NoZW1hIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsidHlwZSI6InN0cmluZyIsIm1pbkxlbmd0aCI6MTAsIm1heExlbmd0aCI6MTI4LCJkZXNjcmlwdGlvbiI6Ik5hbWUgb2YgdGhlIHdvcmtmbG93IGJhc2VkIG9uIHRoZSBwcm9tcHQifX0sInJlcXVpcmVkIjpbIm5hbWUiXSwiYWRkaXRpb25hbFByb3BlcnRpZXMiOmZhbHNlLCIkc2NoZW1hIjoiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNy9zY2hlbWEjIn19XSwidG9vbF9jaG9pY2UiOnsidHlwZSI6InRvb2wiLCJuYW1lIjoiZXh0cmFjdCJ9LCJ0aGlua2luZyI6eyJ0eXBlIjoiZGlzYWJsZWQifSwibWVzc2FnZXMiOlt7InJvbGUiOiJ1c2VyIiwiY29udGVudCI6Ijxyb2xlPlxuQmFzZWQgb24gdGhlIGluaXRpYWwgdXNlciBwcm9tcHQsIHBsZWFzZSBnZW5lcmF0ZSBhIG5hbWUgZm9yIHRoZSB3b3JrZmxvdyB0aGF0IGNhcHR1cmVzIGl0cyBlc3NlbmNlIGFuZCBwdXJwb3NlXG48L3JvbGU+XG5cbjxpbml0aWFsX3Byb21wdD5cbkNyZWF0ZSBhbiBhdXRvbWF0aW9uIHRoYXQgY2hlY2tzIHRoZSB3ZWF0aGVyIGZvciBteSBsb2NhdGlvbiBldmVyeSBtb3JuaW5nIGF0IDUgYS5tIHVzaW5nIE9wZW5XZWF0aGVyLiBTZW5kIG1lIGEgc2hvcnQgd2VhdGhlciByZXBvcnQgYnkgZW1haWwgdXNpbmcgR21haWwuIFVzZSBPcGVuQUkgYGdwdC00LjEtbWluaWAgdG8gd3JpdGUgYSBzaG9ydCwgZnVuIGZvcm1hdHRlZCBlbWFpbCBib2R5IGJ5IGFkZGluZyBwZXJzb25hbGl0eSB3aGVuIGRlc2NyaWJpbmcgdGhlIHdlYXRoZXIgYW5kIGhvdyB0aGUgZGF5IG1pZ2h0IGZlZWwuIEluY2x1ZGUgYWxsIGRldGFpbHMgcmVsZXZhbnQgdG8gZGVjaWRlIG9uIG15IHBsYW5zIGFuZCBjbG90aGVzIGZvciB0aGUgZGF5LlxuPC9pbml0aWFsX3Byb21wdD5cblxuPG91dHB1dF9ydWxlcz5cblRoaXMgbmFtZSBzaG91bGQgYmUgY29uY2lzZSwgZGVzY3JpcHRpdmUsIGFuZCBzdWl0YWJsZSBmb3IgYSB3b3JrZmxvdyB0aGF0IGF1dG9tYXRlcyB0YXNrcyByZWxhdGVkIHRvIHRoZSBnaXZlbiBwcm9tcHQuIFRoZSBuYW1lIHNob3VsZCBiZSBpbiBhIGZvcm1hdCB0aGF0IGlzIGVhc3kgdG8gcmVhZCBhbmQgdW5kZXJzdGFuZC4gRG8gbm90IGluY2x1ZGUgdGhlIHdvcmQgXCJ3b3JrZmxvd1wiIGluIHRoZSBuYW1lLlxuPC9vdXRwdXRfcnVsZXM+In1dfQ=="
}
},
"httpResponse": {
"statusCode": 200,
"reasonPhrase": "OK",
"headers": {
"x-envoy-upstream-service-time": ["1961"],
"strict-transport-security": ["max-age=31536000; includeSubDomains; preload"],
"request-id": ["req_011CX3pLkciCme3ExFoxCoGf"],
"cf-cache-status": ["DYNAMIC"],
"anthropic-ratelimit-tokens-reset": ["2026-01-12T16:41:45Z"],
"anthropic-ratelimit-tokens-remaining": ["15500000"],
"anthropic-ratelimit-tokens-limit": ["15500000"],
"anthropic-ratelimit-output-tokens-reset": ["2026-01-12T16:41:46Z"],
"anthropic-ratelimit-output-tokens-remaining": ["500000"],
"anthropic-ratelimit-output-tokens-limit": ["500000"],
"anthropic-ratelimit-input-tokens-reset": ["2026-01-12T16:41:45Z"],
"anthropic-ratelimit-input-tokens-remaining": ["15000000"],
"anthropic-ratelimit-input-tokens-limit": ["15000000"],
"X-Robots-Tag": ["none"],
"Server": ["cloudflare"],
"Date": ["Mon, 12 Jan 2026 16:41:46 GMT"],
"Content-Type": ["application/json"],
"CF-RAY": ["9bce1a627da983da-PRG"]
},
"body": {
"contentType": "application/json",
"type": "JSON",
"json": {
"model": "claude-sonnet-4-5-20250929",
"id": "msg_01Bs7quR6DerJHU8Zci4mPYg",
"type": "message",
"role": "assistant",
"content": [
{
"type": "tool_use",
"id": "toolu_01Qb6Yd8Max52Avqg1n8REpG",
"name": "extract",
"input": {
"name": "Daily Morning Weather Report with Personalized Email"
}
}
],
"stop_reason": "tool_use",
"stop_sequence": null,
"usage": {
"input_tokens": 896,
"cache_creation_input_tokens": 0,
"cache_read_input_tokens": 0,
"cache_creation": {
"ephemeral_5m_input_tokens": 0,
"ephemeral_1h_input_tokens": 0
},
"output_tokens": 41,
"service_tier": "standard"
}
},
"rawBytes": "eyJtb2RlbCI6ImNsYXVkZS1zb25uZXQtNC01LTIwMjUwOTI5IiwiaWQiOiJtc2dfMDFCczdxdVI2RGVySkhVOFpjaTRtUFlnIiwidHlwZSI6Im1lc3NhZ2UiLCJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRvb2xfdXNlIiwiaWQiOiJ0b29sdV8wMVFiNllkOE1heDUyQXZxZzFuOFJFcEciLCJuYW1lIjoiZXh0cmFjdCIsImlucHV0Ijp7Im5hbWUiOiJEYWlseSBNb3JuaW5nIFdlYXRoZXIgUmVwb3J0IHdpdGggUGVyc29uYWxpemVkIEVtYWlsIn19XSwic3RvcF9yZWFzb24iOiJ0b29sX3VzZSIsInN0b3Bfc2VxdWVuY2UiOm51bGwsInVzYWdlIjp7ImlucHV0X3Rva2VucyI6ODk2LCJjYWNoZV9jcmVhdGlvbl9pbnB1dF90b2tlbnMiOjAsImNhY2hlX3JlYWRfaW5wdXRfdG9rZW5zIjowLCJjYWNoZV9jcmVhdGlvbiI6eyJlcGhlbWVyYWxfNW1faW5wdXRfdG9rZW5zIjowLCJlcGhlbWVyYWxfMWhfaW5wdXRfdG9rZW5zIjowfSwib3V0cHV0X3Rva2VucyI6NDEsInNlcnZpY2VfdGllciI6InN0YW5kYXJkIn19"
},
"delay": {
"timeUnit": "MILLISECONDS",
"value": 2000
}
},
"id": "1768236114968-unknown-host-POST-_v1_messages-764da75c.json",
"priority": 0,
"timeToLive": {
"unlimited": true
},
"times": {
"unlimited": true
}
}
@@ -0,0 +1,133 @@
{
"httpRequest": {
"method": "POST",
"path": "/v1/messages",
"body": {
"contentType": "application/json",
"type": "JSON",
"json": {
"model": "claude-sonnet-4-5",
"temperature": 0,
"stream": false,
"max_tokens": 16000,
"tools": [
{
"name": "routing_decision",
"description": "A function available to call.",
"input_schema": {
"type": "object",
"properties": {
"reasoning": {
"type": "string",
"description": "One sentence explaining why this agent should act next"
},
"next": {
"type": "string",
"enum": ["responder", "discovery", "builder", "configurator"],
"description": "The next agent to call"
}
},
"required": ["reasoning", "next"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
}
],
"tool_choice": {
"type": "tool",
"name": "routing_decision"
},
"thinking": {
"type": "disabled"
},
"messages": [
{
"role": "user",
"content": "Create an automation that checks the weather for my location every morning at 5 a.m using OpenWeather. Send me a short weather report by email using Gmail. Use OpenAI `gpt-4.1-mini` to write a short, fun formatted email body by adding personality when describing the weather and how the day might feel. Include all details relevant to decide on my plans and clothes for the day."
}
],
"system": [
{
"type": "text",
"text": "<role>\nYou are a Supervisor that routes user requests to specialist agents.\n</role>\n\n<available_agents>\n- discovery: Find n8n nodes for building/modifying workflows\n- builder: Create nodes and connections (requires discovery first for new node types)\n- configurator: Set parameters on EXISTING nodes (no structural changes)\n- responder: Answer questions, confirm completion (TERMINAL)\n</available_agents>\n\n<routing_decision_tree>\n1. Is user asking a question or chatting? → responder\n Examples: \"what does this do?\", \"explain the workflow\", \"thanks\"\n\n2. Does the request involve NEW or DIFFERENT node types? → discovery\n Examples:\n - \"Build a workflow that...\" (new workflow)\n - \"Use [ServiceB] instead of [ServiceA]\" (replacing node type)\n - \"Add [some integration]\" (new integration)\n - \"Switch from [ServiceA] to [ServiceB]\" (swapping services)\n\n3. Is the request about connecting/disconnecting existing nodes? → builder\n Examples: \"Connect node A to node B\", \"Remove the connection to X\"\n\n4. Is the request about changing VALUES in existing nodes? → configurator\n Examples:\n - \"Change the URL to https://...\"\n - \"Set the timeout to 30 seconds\"\n - \"Update the email subject to...\"\n</routing_decision_tree>\n\n<key_distinction>\n- \"Use [ServiceB] instead of [ServiceA]\" = REPLACEMENT = discovery (new node type needed)\n- \"Change the [ServiceA] API key\" = CONFIGURATION = configurator (same node, different value)\n</key_distinction>\n\n<output>\n- reasoning: One sentence explaining your routing decision\n- next: Agent name\n</output>\n\n<instruction>\nGiven the conversation above, which agent should act next? Provide your reasoning and selection.\n</instruction>",
"cache_control": {
"type": "ephemeral"
}
}
]
},
"rawBytes": "eyJtb2RlbCI6ImNsYXVkZS1zb25uZXQtNC01IiwidGVtcGVyYXR1cmUiOjAsInN0cmVhbSI6ZmFsc2UsIm1heF90b2tlbnMiOjE2MDAwLCJ0b29scyI6W3sibmFtZSI6InJvdXRpbmdfZGVjaXNpb24iLCJkZXNjcmlwdGlvbiI6IkEgZnVuY3Rpb24gYXZhaWxhYmxlIHRvIGNhbGwuIiwiaW5wdXRfc2NoZW1hIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7InJlYXNvbmluZyI6eyJ0eXBlIjoic3RyaW5nIiwiZGVzY3JpcHRpb24iOiJPbmUgc2VudGVuY2UgZXhwbGFpbmluZyB3aHkgdGhpcyBhZ2VudCBzaG91bGQgYWN0IG5leHQifSwibmV4dCI6eyJ0eXBlIjoic3RyaW5nIiwiZW51bSI6WyJyZXNwb25kZXIiLCJkaXNjb3ZlcnkiLCJidWlsZGVyIiwiY29uZmlndXJhdG9yIl0sImRlc2NyaXB0aW9uIjoiVGhlIG5leHQgYWdlbnQgdG8gY2FsbCJ9fSwicmVxdWlyZWQiOlsicmVhc29uaW5nIiwibmV4dCJdLCJhZGRpdGlvbmFsUHJvcGVydGllcyI6ZmFsc2UsIiRzY2hlbWEiOiJodHRwOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA3L3NjaGVtYSMifX1dLCJ0b29sX2Nob2ljZSI6eyJ0eXBlIjoidG9vbCIsIm5hbWUiOiJyb3V0aW5nX2RlY2lzaW9uIn0sInRoaW5raW5nIjp7InR5cGUiOiJkaXNhYmxlZCJ9LCJtZXNzYWdlcyI6W3sicm9sZSI6InVzZXIiLCJjb250ZW50IjoiQ3JlYXRlIGFuIGF1dG9tYXRpb24gdGhhdCBjaGVja3MgdGhlIHdlYXRoZXIgZm9yIG15IGxvY2F0aW9uIGV2ZXJ5IG1vcm5pbmcgYXQgNSBhLm0gdXNpbmcgT3BlbldlYXRoZXIuIFNlbmQgbWUgYSBzaG9ydCB3ZWF0aGVyIHJlcG9ydCBieSBlbWFpbCB1c2luZyBHbWFpbC4gVXNlIE9wZW5BSSBgZ3B0LTQuMS1taW5pYCB0byB3cml0ZSBhIHNob3J0LCBmdW4gZm9ybWF0dGVkIGVtYWlsIGJvZHkgYnkgYWRkaW5nIHBlcnNvbmFsaXR5IHdoZW4gZGVzY3JpYmluZyB0aGUgd2VhdGhlciBhbmQgaG93IHRoZSBkYXkgbWlnaHQgZmVlbC4gSW5jbHVkZSBhbGwgZGV0YWlscyByZWxldmFudCB0byBkZWNpZGUgb24gbXkgcGxhbnMgYW5kIGNsb3RoZXMgZm9yIHRoZSBkYXkuIn1dLCJzeXN0ZW0iOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Ijxyb2xlPlxuWW91IGFyZSBhIFN1cGVydmlzb3IgdGhhdCByb3V0ZXMgdXNlciByZXF1ZXN0cyB0byBzcGVjaWFsaXN0IGFnZW50cy5cbjwvcm9sZT5cblxuPGF2YWlsYWJsZV9hZ2VudHM+XG4tIGRpc2NvdmVyeTogRmluZCBuOG4gbm9kZXMgZm9yIGJ1aWxkaW5nL21vZGlmeWluZyB3b3JrZmxvd3Ncbi0gYnVpbGRlcjogQ3JlYXRlIG5vZGVzIGFuZCBjb25uZWN0aW9ucyAocmVxdWlyZXMgZGlzY292ZXJ5IGZpcnN0IGZvciBuZXcgbm9kZSB0eXBlcylcbi0gY29uZmlndXJhdG9yOiBTZXQgcGFyYW1ldGVycyBvbiBFWElTVElORyBub2RlcyAobm8gc3RydWN0dXJhbCBjaGFuZ2VzKVxuLSByZXNwb25kZXI6IEFuc3dlciBxdWVzdGlvbnMsIGNvbmZpcm0gY29tcGxldGlvbiAoVEVSTUlOQUwpXG48L2F2YWlsYWJsZV9hZ2VudHM+XG5cbjxyb3V0aW5nX2RlY2lzaW9uX3RyZWU+XG4xLiBJcyB1c2VyIGFza2luZyBhIHF1ZXN0aW9uIG9yIGNoYXR0aW5nPyDihpIgcmVzcG9uZGVyXG4gICBFeGFtcGxlczogXCJ3aGF0IGRvZXMgdGhpcyBkbz9cIiwgXCJleHBsYWluIHRoZSB3b3JrZmxvd1wiLCBcInRoYW5rc1wiXG5cbjIuIERvZXMgdGhlIHJlcXVlc3QgaW52b2x2ZSBORVcgb3IgRElGRkVSRU5UIG5vZGUgdHlwZXM/IOKGkiBkaXNjb3ZlcnlcbiAgIEV4YW1wbGVzOlxuICAgLSBcIkJ1aWxkIGEgd29ya2Zsb3cgdGhhdC4uLlwiIChuZXcgd29ya2Zsb3cpXG4gICAtIFwiVXNlIFtTZXJ2aWNlQl0gaW5zdGVhZCBvZiBbU2VydmljZUFdXCIgKHJlcGxhY2luZyBub2RlIHR5cGUpXG4gICAtIFwiQWRkIFtzb21lIGludGVncmF0aW9uXVwiIChuZXcgaW50ZWdyYXRpb24pXG4gICAtIFwiU3dpdGNoIGZyb20gW1NlcnZpY2VBXSB0byBbU2VydmljZUJdXCIgKHN3YXBwaW5nIHNlcnZpY2VzKVxuXG4zLiBJcyB0aGUgcmVxdWVzdCBhYm91dCBjb25uZWN0aW5nL2Rpc2Nvbm5lY3RpbmcgZXhpc3Rpbmcgbm9kZXM/IOKGkiBidWlsZGVyXG4gICBFeGFtcGxlczogXCJDb25uZWN0IG5vZGUgQSB0byBub2RlIEJcIiwgXCJSZW1vdmUgdGhlIGNvbm5lY3Rpb24gdG8gWFwiXG5cbjQuIElzIHRoZSByZXF1ZXN0IGFib3V0IGNoYW5naW5nIFZBTFVFUyBpbiBleGlzdGluZyBub2Rlcz8g4oaSIGNvbmZpZ3VyYXRvclxuICAgRXhhbXBsZXM6XG4gICAtIFwiQ2hhbmdlIHRoZSBVUkwgdG8gaHR0cHM6Ly8uLi5cIlxuICAgLSBcIlNldCB0aGUgdGltZW91dCB0byAzMCBzZWNvbmRzXCJcbiAgIC0gXCJVcGRhdGUgdGhlIGVtYWlsIHN1YmplY3QgdG8uLi5cIlxuPC9yb3V0aW5nX2RlY2lzaW9uX3RyZWU+XG5cbjxrZXlfZGlzdGluY3Rpb24+XG4tIFwiVXNlIFtTZXJ2aWNlQl0gaW5zdGVhZCBvZiBbU2VydmljZUFdXCIgPSBSRVBMQUNFTUVOVCA9IGRpc2NvdmVyeSAobmV3IG5vZGUgdHlwZSBuZWVkZWQpXG4tIFwiQ2hhbmdlIHRoZSBbU2VydmljZUFdIEFQSSBrZXlcIiA9IENPTkZJR1VSQVRJT04gPSBjb25maWd1cmF0b3IgKHNhbWUgbm9kZSwgZGlmZmVyZW50IHZhbHVlKVxuPC9rZXlfZGlzdGluY3Rpb24+XG5cbjxvdXRwdXQ+XG4tIHJlYXNvbmluZzogT25lIHNlbnRlbmNlIGV4cGxhaW5pbmcgeW91ciByb3V0aW5nIGRlY2lzaW9uXG4tIG5leHQ6IEFnZW50IG5hbWVcbjwvb3V0cHV0PlxuXG48aW5zdHJ1Y3Rpb24+XG5HaXZlbiB0aGUgY29udmVyc2F0aW9uIGFib3ZlLCB3aGljaCBhZ2VudCBzaG91bGQgYWN0IG5leHQ/IFByb3ZpZGUgeW91ciByZWFzb25pbmcgYW5kIHNlbGVjdGlvbi5cbjwvaW5zdHJ1Y3Rpb24+IiwiY2FjaGVfY29udHJvbCI6eyJ0eXBlIjoiZXBoZW1lcmFsIn19XX0="
}
},
"httpResponse": {
"statusCode": 200,
"reasonPhrase": "OK",
"headers": {
"x-envoy-upstream-service-time": ["3188"],
"strict-transport-security": ["max-age=31536000; includeSubDomains; preload"],
"request-id": ["req_011CX3pLuuozzRcL5mMbhsPz"],
"cf-cache-status": ["DYNAMIC"],
"anthropic-ratelimit-tokens-reset": ["2026-01-12T16:41:48Z"],
"anthropic-ratelimit-tokens-remaining": ["15499000"],
"anthropic-ratelimit-tokens-limit": ["15500000"],
"anthropic-ratelimit-output-tokens-reset": ["2026-01-12T16:41:49Z"],
"anthropic-ratelimit-output-tokens-remaining": ["500000"],
"anthropic-ratelimit-output-tokens-limit": ["500000"],
"anthropic-ratelimit-input-tokens-reset": ["2026-01-12T16:41:48Z"],
"anthropic-ratelimit-input-tokens-remaining": ["14999000"],
"anthropic-ratelimit-input-tokens-limit": ["15000000"],
"X-Robots-Tag": ["none"],
"Server": ["cloudflare"],
"Date": ["Mon, 12 Jan 2026 16:41:49 GMT"],
"Content-Type": ["application/json"],
"CF-RAY": ["9bce1a7009a8278c-PRG"]
},
"body": {
"contentType": "application/json",
"type": "JSON",
"json": {
"model": "claude-sonnet-4-5-20250929",
"id": "msg_015gGoaENcqQ1xwWwrBPk3k7",
"type": "message",
"role": "assistant",
"content": [
{
"type": "tool_use",
"id": "toolu_01JwW5TB1ts9mom7aBDYPoLU",
"name": "routing_decision",
"input": {
"reasoning": "The user wants to build a new workflow with specific node types (OpenWeather, Gmail, OpenAI) that need to be discovered first.",
"next": "discovery"
}
}
],
"stop_reason": "tool_use",
"stop_sequence": null,
"usage": {
"input_tokens": 1259,
"cache_creation_input_tokens": 0,
"cache_read_input_tokens": 0,
"cache_creation": {
"ephemeral_5m_input_tokens": 0,
"ephemeral_1h_input_tokens": 0
},
"output_tokens": 78,
"service_tier": "standard"
}
},
"rawBytes": "eyJtb2RlbCI6ImNsYXVkZS1zb25uZXQtNC01LTIwMjUwOTI5IiwiaWQiOiJtc2dfMDE1Z0dvYUVOY3FRMXh3V3dyQlBrM2s3IiwidHlwZSI6Im1lc3NhZ2UiLCJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRvb2xfdXNlIiwiaWQiOiJ0b29sdV8wMUp3VzVUQjF0czltb203YUJEWVBvTFUiLCJuYW1lIjoicm91dGluZ19kZWNpc2lvbiIsImlucHV0Ijp7InJlYXNvbmluZyI6IlRoZSB1c2VyIHdhbnRzIHRvIGJ1aWxkIGEgbmV3IHdvcmtmbG93IHdpdGggc3BlY2lmaWMgbm9kZSB0eXBlcyAoT3BlbldlYXRoZXIsIEdtYWlsLCBPcGVuQUkpIHRoYXQgbmVlZCB0byBiZSBkaXNjb3ZlcmVkIGZpcnN0LiIsIm5leHQiOiJkaXNjb3ZlcnkifX1dLCJzdG9wX3JlYXNvbiI6InRvb2xfdXNlIiwic3RvcF9zZXF1ZW5jZSI6bnVsbCwidXNhZ2UiOnsiaW5wdXRfdG9rZW5zIjoxMjU5LCJjYWNoZV9jcmVhdGlvbl9pbnB1dF90b2tlbnMiOjAsImNhY2hlX3JlYWRfaW5wdXRfdG9rZW5zIjowLCJjYWNoZV9jcmVhdGlvbiI6eyJlcGhlbWVyYWxfNW1faW5wdXRfdG9rZW5zIjowLCJlcGhlbWVyYWxfMWhfaW5wdXRfdG9rZW5zIjowfSwib3V0cHV0X3Rva2VucyI6NzgsInNlcnZpY2VfdGllciI6InN0YW5kYXJkIn19"
},
"delay": {
"timeUnit": "MILLISECONDS",
"value": 2000
}
},
"id": "1768236114974-unknown-host-POST-_v1_messages-4759b5e5.json",
"priority": 0,
"timeToLive": {
"unlimited": true
},
"times": {
"unlimited": true
}
}
@@ -0,0 +1,120 @@
{
"httpRequest": {
"method": "POST",
"path": "/v1/messages",
"body": {
"contentType": "application/json",
"type": "JSON",
"json": {
"model": "claude-sonnet-4-5",
"temperature": 0,
"stream": false,
"max_tokens": 16000,
"tools": [
{
"name": "extract",
"description": "A function available to call.",
"input_schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 10,
"maxLength": 128,
"description": "Name of the workflow based on the prompt"
}
},
"required": ["name"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
}
],
"tool_choice": {
"type": "tool",
"name": "extract"
},
"thinking": {
"type": "disabled"
},
"messages": [
{
"role": "user",
"content": "<role>\nBased on the initial user prompt, please generate a name for the workflow that captures its essence and purpose\n</role>\n\n<initial_prompt>\nBuild an n8n workflow that automatically generates YouTube chapter timestamps from video captions. Use the n8n chat trigger for me to enter the URL of the YouTube video. Use the YouTube Get a video node to get the video title, description, and existing metadata. Use the YouTube Captions API to download the transcript for the given video ID. Send the transcript to AI agent using Anthropic's Claude model. Prompt the model to identify topic shifts and return structured output in timestamp - chapter format. Append the generated chapter list to the existing video description. Use the YouTube Update a video node to update the video description. Respond back with the updates using the respond to chat node.\n</initial_prompt>\n\n<output_rules>\nThis name should be concise, descriptive, and suitable for a workflow that automates tasks related to the given prompt. The name should be in a format that is easy to read and understand. Do not include the word \"workflow\" in the name.\n</output_rules>"
}
]
},
"rawBytes": "eyJtb2RlbCI6ImNsYXVkZS1zb25uZXQtNC01IiwidGVtcGVyYXR1cmUiOjAsInN0cmVhbSI6ZmFsc2UsIm1heF90b2tlbnMiOjE2MDAwLCJ0b29scyI6W3sibmFtZSI6ImV4dHJhY3QiLCJkZXNjcmlwdGlvbiI6IkEgZnVuY3Rpb24gYXZhaWxhYmxlIHRvIGNhbGwuIiwiaW5wdXRfc2NoZW1hIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOnsidHlwZSI6InN0cmluZyIsIm1pbkxlbmd0aCI6MTAsIm1heExlbmd0aCI6MTI4LCJkZXNjcmlwdGlvbiI6Ik5hbWUgb2YgdGhlIHdvcmtmbG93IGJhc2VkIG9uIHRoZSBwcm9tcHQifX0sInJlcXVpcmVkIjpbIm5hbWUiXSwiYWRkaXRpb25hbFByb3BlcnRpZXMiOmZhbHNlLCIkc2NoZW1hIjoiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNy9zY2hlbWEjIn19XSwidG9vbF9jaG9pY2UiOnsidHlwZSI6InRvb2wiLCJuYW1lIjoiZXh0cmFjdCJ9LCJ0aGlua2luZyI6eyJ0eXBlIjoiZGlzYWJsZWQifSwibWVzc2FnZXMiOlt7InJvbGUiOiJ1c2VyIiwiY29udGVudCI6Ijxyb2xlPlxuQmFzZWQgb24gdGhlIGluaXRpYWwgdXNlciBwcm9tcHQsIHBsZWFzZSBnZW5lcmF0ZSBhIG5hbWUgZm9yIHRoZSB3b3JrZmxvdyB0aGF0IGNhcHR1cmVzIGl0cyBlc3NlbmNlIGFuZCBwdXJwb3NlXG48L3JvbGU+XG5cbjxpbml0aWFsX3Byb21wdD5cbkJ1aWxkIGFuIG44biB3b3JrZmxvdyB0aGF0IGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVzIFlvdVR1YmUgY2hhcHRlciB0aW1lc3RhbXBzIGZyb20gdmlkZW8gY2FwdGlvbnMuIFVzZSB0aGUgbjhuIGNoYXQgdHJpZ2dlciBmb3IgbWUgdG8gZW50ZXIgdGhlIFVSTCBvZiB0aGUgWW91VHViZSB2aWRlby4gVXNlIHRoZSBZb3VUdWJlIEdldCBhIHZpZGVvIG5vZGUgdG8gZ2V0IHRoZSB2aWRlbyB0aXRsZSwgZGVzY3JpcHRpb24sIGFuZCBleGlzdGluZyBtZXRhZGF0YS4gVXNlIHRoZSBZb3VUdWJlIENhcHRpb25zIEFQSSB0byBkb3dubG9hZCB0aGUgdHJhbnNjcmlwdCBmb3IgdGhlIGdpdmVuIHZpZGVvIElELiBTZW5kIHRoZSB0cmFuc2NyaXB0IHRvIEFJIGFnZW50IHVzaW5nIEFudGhyb3BpYydzIENsYXVkZSBtb2RlbC4gUHJvbXB0IHRoZSBtb2RlbCB0byBpZGVudGlmeSB0b3BpYyBzaGlmdHMgYW5kIHJldHVybiBzdHJ1Y3R1cmVkIG91dHB1dCBpbiB0aW1lc3RhbXAgLSBjaGFwdGVyIGZvcm1hdC4gQXBwZW5kIHRoZSBnZW5lcmF0ZWQgY2hhcHRlciBsaXN0IHRvIHRoZSBleGlzdGluZyB2aWRlbyBkZXNjcmlwdGlvbi4gVXNlIHRoZSBZb3VUdWJlIFVwZGF0ZSBhIHZpZGVvIG5vZGUgdG8gdXBkYXRlIHRoZSB2aWRlbyBkZXNjcmlwdGlvbi4gUmVzcG9uZCBiYWNrIHdpdGggdGhlIHVwZGF0ZXMgdXNpbmcgdGhlIHJlc3BvbmQgdG8gY2hhdCBub2RlLlxuPC9pbml0aWFsX3Byb21wdD5cblxuPG91dHB1dF9ydWxlcz5cblRoaXMgbmFtZSBzaG91bGQgYmUgY29uY2lzZSwgZGVzY3JpcHRpdmUsIGFuZCBzdWl0YWJsZSBmb3IgYSB3b3JrZmxvdyB0aGF0IGF1dG9tYXRlcyB0YXNrcyByZWxhdGVkIHRvIHRoZSBnaXZlbiBwcm9tcHQuIFRoZSBuYW1lIHNob3VsZCBiZSBpbiBhIGZvcm1hdCB0aGF0IGlzIGVhc3kgdG8gcmVhZCBhbmQgdW5kZXJzdGFuZC4gRG8gbm90IGluY2x1ZGUgdGhlIHdvcmQgXCJ3b3JrZmxvd1wiIGluIHRoZSBuYW1lLlxuPC9vdXRwdXRfcnVsZXM+In1dfQ=="
}
},
"httpResponse": {
"statusCode": 200,
"reasonPhrase": "OK",
"headers": {
"x-envoy-upstream-service-time": ["1916"],
"strict-transport-security": ["max-age=31536000; includeSubDomains; preload"],
"request-id": ["req_011CX3pLit37ZZq59Hb2askd"],
"cf-cache-status": ["DYNAMIC"],
"anthropic-ratelimit-tokens-reset": ["2026-01-12T16:41:45Z"],
"anthropic-ratelimit-tokens-remaining": ["15499000"],
"anthropic-ratelimit-tokens-limit": ["15500000"],
"anthropic-ratelimit-output-tokens-reset": ["2026-01-12T16:41:45Z"],
"anthropic-ratelimit-output-tokens-remaining": ["499000"],
"anthropic-ratelimit-output-tokens-limit": ["500000"],
"anthropic-ratelimit-input-tokens-reset": ["2026-01-12T16:41:45Z"],
"anthropic-ratelimit-input-tokens-remaining": ["15000000"],
"anthropic-ratelimit-input-tokens-limit": ["15000000"],
"X-Robots-Tag": ["none"],
"Server": ["cloudflare"],
"Date": ["Mon, 12 Jan 2026 16:41:45 GMT"],
"Content-Type": ["application/json"],
"CF-RAY": ["9bce1a5fe8342790-PRG"]
},
"body": {
"contentType": "application/json",
"type": "JSON",
"json": {
"model": "claude-sonnet-4-5-20250929",
"id": "msg_01Nu38ya6N9u9FSX7FQR1T4E",
"type": "message",
"role": "assistant",
"content": [
{
"type": "tool_use",
"id": "toolu_01Bo6nfKaFCWVf9y8iVqtyR3",
"name": "extract",
"input": {
"name": "YouTube Video Chapter Generator from Captions with AI"
}
}
],
"stop_reason": "tool_use",
"stop_sequence": null,
"usage": {
"input_tokens": 950,
"cache_creation_input_tokens": 0,
"cache_read_input_tokens": 0,
"cache_creation": {
"ephemeral_5m_input_tokens": 0,
"ephemeral_1h_input_tokens": 0
},
"output_tokens": 42,
"service_tier": "standard"
}
},
"rawBytes": "eyJtb2RlbCI6ImNsYXVkZS1zb25uZXQtNC01LTIwMjUwOTI5IiwiaWQiOiJtc2dfMDFOdTM4eWE2Tjl1OUZTWDdGUVIxVDRFIiwidHlwZSI6Im1lc3NhZ2UiLCJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRvb2xfdXNlIiwiaWQiOiJ0b29sdV8wMUJvNm5mS2FGQ1dWZjl5OGlWcXR5UjMiLCJuYW1lIjoiZXh0cmFjdCIsImlucHV0Ijp7Im5hbWUiOiJZb3VUdWJlIFZpZGVvIENoYXB0ZXIgR2VuZXJhdG9yIGZyb20gQ2FwdGlvbnMgd2l0aCBBSSJ9fV0sInN0b3BfcmVhc29uIjoidG9vbF91c2UiLCJzdG9wX3NlcXVlbmNlIjpudWxsLCJ1c2FnZSI6eyJpbnB1dF90b2tlbnMiOjk1MCwiY2FjaGVfY3JlYXRpb25faW5wdXRfdG9rZW5zIjowLCJjYWNoZV9yZWFkX2lucHV0X3Rva2VucyI6MCwiY2FjaGVfY3JlYXRpb24iOnsiZXBoZW1lcmFsXzVtX2lucHV0X3Rva2VucyI6MCwiZXBoZW1lcmFsXzFoX2lucHV0X3Rva2VucyI6MH0sIm91dHB1dF90b2tlbnMiOjQyLCJzZXJ2aWNlX3RpZXIiOiJzdGFuZGFyZCJ9fQ=="
},
"delay": {
"timeUnit": "MILLISECONDS",
"value": 2000
}
},
"id": "1768236115199-unknown-host-POST-_v1_messages-989b3528.json",
"priority": 0,
"timeToLive": {
"unlimited": true
},
"times": {
"unlimited": true
}
}
@@ -0,0 +1,133 @@
{
"httpRequest": {
"method": "POST",
"path": "/v1/messages",
"body": {
"contentType": "application/json",
"type": "JSON",
"json": {
"model": "claude-sonnet-4-5",
"temperature": 0,
"stream": false,
"max_tokens": 16000,
"tools": [
{
"name": "routing_decision",
"description": "A function available to call.",
"input_schema": {
"type": "object",
"properties": {
"reasoning": {
"type": "string",
"description": "One sentence explaining why this agent should act next"
},
"next": {
"type": "string",
"enum": ["responder", "discovery", "builder", "configurator"],
"description": "The next agent to call"
}
},
"required": ["reasoning", "next"],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
}
],
"tool_choice": {
"type": "tool",
"name": "routing_decision"
},
"thinking": {
"type": "disabled"
},
"messages": [
{
"role": "user",
"content": "Build an n8n workflow that automatically generates YouTube chapter timestamps from video captions. Use the n8n chat trigger for me to enter the URL of the YouTube video. Use the YouTube Get a video node to get the video title, description, and existing metadata. Use the YouTube Captions API to download the transcript for the given video ID. Send the transcript to AI agent using Anthropic's Claude model. Prompt the model to identify topic shifts and return structured output in timestamp - chapter format. Append the generated chapter list to the existing video description. Use the YouTube Update a video node to update the video description. Respond back with the updates using the respond to chat node."
}
],
"system": [
{
"type": "text",
"text": "<role>\nYou are a Supervisor that routes user requests to specialist agents.\n</role>\n\n<available_agents>\n- discovery: Find n8n nodes for building/modifying workflows\n- builder: Create nodes and connections (requires discovery first for new node types)\n- configurator: Set parameters on EXISTING nodes (no structural changes)\n- responder: Answer questions, confirm completion (TERMINAL)\n</available_agents>\n\n<routing_decision_tree>\n1. Is user asking a question or chatting? → responder\n Examples: \"what does this do?\", \"explain the workflow\", \"thanks\"\n\n2. Does the request involve NEW or DIFFERENT node types? → discovery\n Examples:\n - \"Build a workflow that...\" (new workflow)\n - \"Use [ServiceB] instead of [ServiceA]\" (replacing node type)\n - \"Add [some integration]\" (new integration)\n - \"Switch from [ServiceA] to [ServiceB]\" (swapping services)\n\n3. Is the request about connecting/disconnecting existing nodes? → builder\n Examples: \"Connect node A to node B\", \"Remove the connection to X\"\n\n4. Is the request about changing VALUES in existing nodes? → configurator\n Examples:\n - \"Change the URL to https://...\"\n - \"Set the timeout to 30 seconds\"\n - \"Update the email subject to...\"\n</routing_decision_tree>\n\n<key_distinction>\n- \"Use [ServiceB] instead of [ServiceA]\" = REPLACEMENT = discovery (new node type needed)\n- \"Change the [ServiceA] API key\" = CONFIGURATION = configurator (same node, different value)\n</key_distinction>\n\n<output>\n- reasoning: One sentence explaining your routing decision\n- next: Agent name\n</output>\n\n<instruction>\nGiven the conversation above, which agent should act next? Provide your reasoning and selection.\n</instruction>",
"cache_control": {
"type": "ephemeral"
}
}
]
},
"rawBytes": "eyJtb2RlbCI6ImNsYXVkZS1zb25uZXQtNC01IiwidGVtcGVyYXR1cmUiOjAsInN0cmVhbSI6ZmFsc2UsIm1heF90b2tlbnMiOjE2MDAwLCJ0b29scyI6W3sibmFtZSI6InJvdXRpbmdfZGVjaXNpb24iLCJkZXNjcmlwdGlvbiI6IkEgZnVuY3Rpb24gYXZhaWxhYmxlIHRvIGNhbGwuIiwiaW5wdXRfc2NoZW1hIjp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7InJlYXNvbmluZyI6eyJ0eXBlIjoic3RyaW5nIiwiZGVzY3JpcHRpb24iOiJPbmUgc2VudGVuY2UgZXhwbGFpbmluZyB3aHkgdGhpcyBhZ2VudCBzaG91bGQgYWN0IG5leHQifSwibmV4dCI6eyJ0eXBlIjoic3RyaW5nIiwiZW51bSI6WyJyZXNwb25kZXIiLCJkaXNjb3ZlcnkiLCJidWlsZGVyIiwiY29uZmlndXJhdG9yIl0sImRlc2NyaXB0aW9uIjoiVGhlIG5leHQgYWdlbnQgdG8gY2FsbCJ9fSwicmVxdWlyZWQiOlsicmVhc29uaW5nIiwibmV4dCJdLCJhZGRpdGlvbmFsUHJvcGVydGllcyI6ZmFsc2UsIiRzY2hlbWEiOiJodHRwOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LTA3L3NjaGVtYSMifX1dLCJ0b29sX2Nob2ljZSI6eyJ0eXBlIjoidG9vbCIsIm5hbWUiOiJyb3V0aW5nX2RlY2lzaW9uIn0sInRoaW5raW5nIjp7InR5cGUiOiJkaXNhYmxlZCJ9LCJtZXNzYWdlcyI6W3sicm9sZSI6InVzZXIiLCJjb250ZW50IjoiQnVpbGQgYW4gbjhuIHdvcmtmbG93IHRoYXQgYXV0b21hdGljYWxseSBnZW5lcmF0ZXMgWW91VHViZSBjaGFwdGVyIHRpbWVzdGFtcHMgZnJvbSB2aWRlbyBjYXB0aW9ucy4gVXNlIHRoZSBuOG4gY2hhdCB0cmlnZ2VyIGZvciBtZSB0byBlbnRlciB0aGUgVVJMIG9mIHRoZSBZb3VUdWJlIHZpZGVvLiBVc2UgdGhlIFlvdVR1YmUgR2V0IGEgdmlkZW8gbm9kZSB0byBnZXQgdGhlIHZpZGVvIHRpdGxlLCBkZXNjcmlwdGlvbiwgYW5kIGV4aXN0aW5nIG1ldGFkYXRhLiBVc2UgdGhlIFlvdVR1YmUgQ2FwdGlvbnMgQVBJIHRvIGRvd25sb2FkIHRoZSB0cmFuc2NyaXB0IGZvciB0aGUgZ2l2ZW4gdmlkZW8gSUQuIFNlbmQgdGhlIHRyYW5zY3JpcHQgdG8gQUkgYWdlbnQgdXNpbmcgQW50aHJvcGljJ3MgQ2xhdWRlIG1vZGVsLiBQcm9tcHQgdGhlIG1vZGVsIHRvIGlkZW50aWZ5IHRvcGljIHNoaWZ0cyBhbmQgcmV0dXJuIHN0cnVjdHVyZWQgb3V0cHV0IGluIHRpbWVzdGFtcCAtIGNoYXB0ZXIgZm9ybWF0LiBBcHBlbmQgdGhlIGdlbmVyYXRlZCBjaGFwdGVyIGxpc3QgdG8gdGhlIGV4aXN0aW5nIHZpZGVvIGRlc2NyaXB0aW9uLiBVc2UgdGhlIFlvdVR1YmUgVXBkYXRlIGEgdmlkZW8gbm9kZSB0byB1cGRhdGUgdGhlIHZpZGVvIGRlc2NyaXB0aW9uLiBSZXNwb25kIGJhY2sgd2l0aCB0aGUgdXBkYXRlcyB1c2luZyB0aGUgcmVzcG9uZCB0byBjaGF0IG5vZGUuIn1dLCJzeXN0ZW0iOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6Ijxyb2xlPlxuWW91IGFyZSBhIFN1cGVydmlzb3IgdGhhdCByb3V0ZXMgdXNlciByZXF1ZXN0cyB0byBzcGVjaWFsaXN0IGFnZW50cy5cbjwvcm9sZT5cblxuPGF2YWlsYWJsZV9hZ2VudHM+XG4tIGRpc2NvdmVyeTogRmluZCBuOG4gbm9kZXMgZm9yIGJ1aWxkaW5nL21vZGlmeWluZyB3b3JrZmxvd3Ncbi0gYnVpbGRlcjogQ3JlYXRlIG5vZGVzIGFuZCBjb25uZWN0aW9ucyAocmVxdWlyZXMgZGlzY292ZXJ5IGZpcnN0IGZvciBuZXcgbm9kZSB0eXBlcylcbi0gY29uZmlndXJhdG9yOiBTZXQgcGFyYW1ldGVycyBvbiBFWElTVElORyBub2RlcyAobm8gc3RydWN0dXJhbCBjaGFuZ2VzKVxuLSByZXNwb25kZXI6IEFuc3dlciBxdWVzdGlvbnMsIGNvbmZpcm0gY29tcGxldGlvbiAoVEVSTUlOQUwpXG48L2F2YWlsYWJsZV9hZ2VudHM+XG5cbjxyb3V0aW5nX2RlY2lzaW9uX3RyZWU+XG4xLiBJcyB1c2VyIGFza2luZyBhIHF1ZXN0aW9uIG9yIGNoYXR0aW5nPyDihpIgcmVzcG9uZGVyXG4gICBFeGFtcGxlczogXCJ3aGF0IGRvZXMgdGhpcyBkbz9cIiwgXCJleHBsYWluIHRoZSB3b3JrZmxvd1wiLCBcInRoYW5rc1wiXG5cbjIuIERvZXMgdGhlIHJlcXVlc3QgaW52b2x2ZSBORVcgb3IgRElGRkVSRU5UIG5vZGUgdHlwZXM/IOKGkiBkaXNjb3ZlcnlcbiAgIEV4YW1wbGVzOlxuICAgLSBcIkJ1aWxkIGEgd29ya2Zsb3cgdGhhdC4uLlwiIChuZXcgd29ya2Zsb3cpXG4gICAtIFwiVXNlIFtTZXJ2aWNlQl0gaW5zdGVhZCBvZiBbU2VydmljZUFdXCIgKHJlcGxhY2luZyBub2RlIHR5cGUpXG4gICAtIFwiQWRkIFtzb21lIGludGVncmF0aW9uXVwiIChuZXcgaW50ZWdyYXRpb24pXG4gICAtIFwiU3dpdGNoIGZyb20gW1NlcnZpY2VBXSB0byBbU2VydmljZUJdXCIgKHN3YXBwaW5nIHNlcnZpY2VzKVxuXG4zLiBJcyB0aGUgcmVxdWVzdCBhYm91dCBjb25uZWN0aW5nL2Rpc2Nvbm5lY3RpbmcgZXhpc3Rpbmcgbm9kZXM/IOKGkiBidWlsZGVyXG4gICBFeGFtcGxlczogXCJDb25uZWN0IG5vZGUgQSB0byBub2RlIEJcIiwgXCJSZW1vdmUgdGhlIGNvbm5lY3Rpb24gdG8gWFwiXG5cbjQuIElzIHRoZSByZXF1ZXN0IGFib3V0IGNoYW5naW5nIFZBTFVFUyBpbiBleGlzdGluZyBub2Rlcz8g4oaSIGNvbmZpZ3VyYXRvclxuICAgRXhhbXBsZXM6XG4gICAtIFwiQ2hhbmdlIHRoZSBVUkwgdG8gaHR0cHM6Ly8uLi5cIlxuICAgLSBcIlNldCB0aGUgdGltZW91dCB0byAzMCBzZWNvbmRzXCJcbiAgIC0gXCJVcGRhdGUgdGhlIGVtYWlsIHN1YmplY3QgdG8uLi5cIlxuPC9yb3V0aW5nX2RlY2lzaW9uX3RyZWU+XG5cbjxrZXlfZGlzdGluY3Rpb24+XG4tIFwiVXNlIFtTZXJ2aWNlQl0gaW5zdGVhZCBvZiBbU2VydmljZUFdXCIgPSBSRVBMQUNFTUVOVCA9IGRpc2NvdmVyeSAobmV3IG5vZGUgdHlwZSBuZWVkZWQpXG4tIFwiQ2hhbmdlIHRoZSBbU2VydmljZUFdIEFQSSBrZXlcIiA9IENPTkZJR1VSQVRJT04gPSBjb25maWd1cmF0b3IgKHNhbWUgbm9kZSwgZGlmZmVyZW50IHZhbHVlKVxuPC9rZXlfZGlzdGluY3Rpb24+XG5cbjxvdXRwdXQ+XG4tIHJlYXNvbmluZzogT25lIHNlbnRlbmNlIGV4cGxhaW5pbmcgeW91ciByb3V0aW5nIGRlY2lzaW9uXG4tIG5leHQ6IEFnZW50IG5hbWVcbjwvb3V0cHV0PlxuXG48aW5zdHJ1Y3Rpb24+XG5HaXZlbiB0aGUgY29udmVyc2F0aW9uIGFib3ZlLCB3aGljaCBhZ2VudCBzaG91bGQgYWN0IG5leHQ/IFByb3ZpZGUgeW91ciByZWFzb25pbmcgYW5kIHNlbGVjdGlvbi5cbjwvaW5zdHJ1Y3Rpb24+IiwiY2FjaGVfY29udHJvbCI6eyJ0eXBlIjoiZXBoZW1lcmFsIn19XX0="
}
},
"httpResponse": {
"statusCode": 200,
"reasonPhrase": "OK",
"headers": {
"x-envoy-upstream-service-time": ["2843"],
"strict-transport-security": ["max-age=31536000; includeSubDomains; preload"],
"request-id": ["req_011CX3pLt4SQ9iEyt7WZJ7mo"],
"cf-cache-status": ["DYNAMIC"],
"anthropic-ratelimit-tokens-reset": ["2026-01-12T16:41:47Z"],
"anthropic-ratelimit-tokens-remaining": ["15499000"],
"anthropic-ratelimit-tokens-limit": ["15500000"],
"anthropic-ratelimit-output-tokens-reset": ["2026-01-12T16:41:48Z"],
"anthropic-ratelimit-output-tokens-remaining": ["500000"],
"anthropic-ratelimit-output-tokens-limit": ["500000"],
"anthropic-ratelimit-input-tokens-reset": ["2026-01-12T16:41:47Z"],
"anthropic-ratelimit-input-tokens-remaining": ["14999000"],
"anthropic-ratelimit-input-tokens-limit": ["15000000"],
"X-Robots-Tag": ["none"],
"Server": ["cloudflare"],
"Date": ["Mon, 12 Jan 2026 16:41:48 GMT"],
"Content-Type": ["application/json"],
"CF-RAY": ["9bce1a6d5c25f971-PRG"]
},
"body": {
"contentType": "application/json",
"type": "JSON",
"json": {
"model": "claude-sonnet-4-5-20250929",
"id": "msg_014nQU1xG4xPk35B7mLso9tf",
"type": "message",
"role": "assistant",
"content": [
{
"type": "tool_use",
"id": "toolu_01WuNQTJkBWqtWv9tmZ7YWXr",
"name": "routing_decision",
"input": {
"reasoning": "The user is requesting to build a new workflow with specific node types (n8n chat trigger, YouTube nodes, Anthropic Claude, respond to chat), which requires discovering the appropriate nodes first.",
"next": "discovery"
}
}
],
"stop_reason": "tool_use",
"stop_sequence": null,
"usage": {
"input_tokens": 1313,
"cache_creation_input_tokens": 0,
"cache_read_input_tokens": 0,
"cache_creation": {
"ephemeral_5m_input_tokens": 0,
"ephemeral_1h_input_tokens": 0
},
"output_tokens": 88,
"service_tier": "standard"
}
},
"rawBytes": "eyJtb2RlbCI6ImNsYXVkZS1zb25uZXQtNC01LTIwMjUwOTI5IiwiaWQiOiJtc2dfMDE0blFVMXhHNHhQazM1QjdtTHNvOXRmIiwidHlwZSI6Im1lc3NhZ2UiLCJyb2xlIjoiYXNzaXN0YW50IiwiY29udGVudCI6W3sidHlwZSI6InRvb2xfdXNlIiwiaWQiOiJ0b29sdV8wMVd1TlFUSmtCV3F0V3Y5dG1aN1lXWHIiLCJuYW1lIjoicm91dGluZ19kZWNpc2lvbiIsImlucHV0Ijp7InJlYXNvbmluZyI6IlRoZSB1c2VyIGlzIHJlcXVlc3RpbmcgdG8gYnVpbGQgYSBuZXcgd29ya2Zsb3cgd2l0aCBzcGVjaWZpYyBub2RlIHR5cGVzIChuOG4gY2hhdCB0cmlnZ2VyLCBZb3VUdWJlIG5vZGVzLCBBbnRocm9waWMgQ2xhdWRlLCByZXNwb25kIHRvIGNoYXQpLCB3aGljaCByZXF1aXJlcyBkaXNjb3ZlcmluZyB0aGUgYXBwcm9wcmlhdGUgbm9kZXMgZmlyc3QuIiwibmV4dCI6ImRpc2NvdmVyeSJ9fV0sInN0b3BfcmVhc29uIjoidG9vbF91c2UiLCJzdG9wX3NlcXVlbmNlIjpudWxsLCJ1c2FnZSI6eyJpbnB1dF90b2tlbnMiOjEzMTMsImNhY2hlX2NyZWF0aW9uX2lucHV0X3Rva2VucyI6MCwiY2FjaGVfcmVhZF9pbnB1dF90b2tlbnMiOjAsImNhY2hlX2NyZWF0aW9uIjp7ImVwaGVtZXJhbF81bV9pbnB1dF90b2tlbnMiOjAsImVwaGVtZXJhbF8xaF9pbnB1dF90b2tlbnMiOjB9LCJvdXRwdXRfdG9rZW5zIjo4OCwic2VydmljZV90aWVyIjoic3RhbmRhcmQifX0="
},
"delay": {
"timeUnit": "MILLISECONDS",
"value": 2000
}
},
"id": "1768236115212-unknown-host-POST-_v1_messages-2bb8783c.json",
"priority": 0,
"timeToLive": {
"unlimited": true
},
"times": {
"unlimited": true
}
}