Tools - External Integrations
Define tools (APIs, databases), equip agents with equips Tools wrap external services for agents to call
halo
// ============================================================
// STEP 3: Tools - External Integrations
// Learn: Define tools (APIs, databases), equip agents with `equips`
// Tools wrap external services for agents to call
// ============================================================
// Define a translation tool
tool Translator : REST("api.deepl.com/v2", apiKey: Env.DEEPL_KEY)
policy NoProfanity : Block(Profanity)
// Equip agent with Translator tool to use in pipeline
agent Greeter [gemini-3-1-pro, temp: 0.7]
equips Translator
requires NoProfanity
pipeline MultiLangHello(name: String, lang: String) -> Result:
name
|> Greeter.prompt("Write a warm, one-sentence greeting for {{name}}.") as greeting
// Call a tool method with named args: GET api.deepl.com/v2/translate?text=...&target_lang=...
|> Translator.translate(text: context.data.greeting, target_lang: lang)
|> System.Print()