APIs + AI Extraction
Build a live API that fetches any GitHub issue and uses AI to triage it into clean, structured JSON.
What you’ll learn
- Webhook triggers, with separate test and production URLs
- Calling a real API (GitHub) with the HTTP Request node
- Passing data between steps with {{variables}}
- Forcing structured AI output with a JSON schema
- Testing, inspecting each node's output, and publishing
Docs used in this lesson
Transcript
Intro
Welcome to the Falcon Builder AI automation course. In lesson one, you'll build a live API that reads any GitHub issue and triages it with AI.
What we'll build
Here's the plan. A webhook receives a repo and an issue number. An HTTP request fetches that issue from GitHub. Then an AI step reads it and returns clean, structured JSON: a summary, a category, a severity, the component, and a next step.
Create the agent
First, create an agent. An agent is a container for related workflows. We'll call ours AI Automation Course. Inside the agent, add a workflow, and start from a blank canvas. Give it a clear name, like Issue Triage API.
Webhook trigger
Every workflow starts with a trigger. Click Webhook Trigger in the node library, and it lands on the canvas. Name the node, and give the endpoint a readable path. Set it to respond when the workflow finishes, so whoever calls this API gets the AI result back. Falcon gives you two URLs: a test URL for drafts, and a production URL for the published version.
HTTP request
Next, add an HTTP Request node. Notice it connects to the trigger automatically. For the URL, use the GitHub issues API. The double curly braces pull the repo and issue number straight from the webhook body. Store the response in a variable called issue, so later steps can read it.
AI extraction
Now the AI step. Add an AI Prompt node, and switch the provider to Anthropic. Claude Haiku is fast and inexpensive for extraction work. The system prompt sets the role. The user prompt passes in the issue's title and body from the HTTP response. Here's the key move. Name the output triage, and add a JSON schema. That forces the model to return exactly these five fields, every time.
Test it
Let's test it. Open Test Workflow, and pass in a sample body: the React repo, issue #13991. Each node lights up as it runs. All three nodes passed. Click any node in the run panel to inspect exactly what it did.
Inspect the output
Open the full execution log to see the final output. There it is. Clean JSON: a summary, a category, a severity, the affected component, and a recommended next step. Any later step can use these fields directly, like triage.data.severity, to route urgent issues.
Publish
Finally, The production URL now serves this exact version. publish.
Recap
That's lesson one: a live API that calls a real service, and turns messy text into structured data you can build on. Next up, an AI support agent that remembers each customer, and waits for a human to approve every reply.