{"ref":"artifact:sap-samples-teched2025-ai165","page":"/artifacts/sap-samples-teched2025-ai165","json":"/artifacts/sap-samples-teched2025-ai165.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"sap-samples-teched2025-ai165","name":"teched2025-AI165","artifact_type":"sample","ecosystem":"btp","domain":"ai-and-agents","origin_ring":"sap-official","use_as":"reference","description":{"one_line":"An SAP TechEd 2025 hands-on that builds a custom agent in [Joule Studio](artifact:sap-joule-studio)'s Agent Builder and has it collaborate with an external partner agent over the Agent2Agent (A2A) protocol.","short":"TechEd 2025 hands-on on a Joule Studio agent collaborating over A2A","what_it_solves":"A fictional Business Partner Invoicing scenario runs through [Joule Studio](artifact:sap-joule-studio)'s Agent Builder: either attach one of its out-of-the-box tools to an agent or build your own with Joule Skills, which is also what agent collaboration uses. The Business Partner Invoicing Agent answers from the records of known business partners, creates tickets in ServiceNow to have new ones added, and attaches an invoice to the business partner record in [SAP S/4HANA](external:sap-s4hana), which the README marks simulated. Where it cannot find the business partner in question, it collaborates in the background with IBM's ServiceNow Ticketing Agent, invoked through IBM watsonx Orchestrate, over the Agent2Agent (A2A) protocol. Joule, SAP's AI Copilot, is what the goal list calls the primary entry point; the agent itself is fictional, built on a pre-release Agent Builder against systems and a machine the session provides."},"links":{"repo":"https://github.com/SAP-samples/teched2025-AI165"},"identity":{"license":"Apache-2.0"},"source_available":true,"type_properties":{"form":{"value":"workshop","sources":[{"url":"https://github.com/SAP-samples/teched2025-AI165","title":"SAP-samples/teched2025-AI165 — README","checked":"2026-10-19","quote":"This repository contains the material for the SAP TechEd 2025 session called AI165 - Interconnect custom AI agents with your cloud and partner ecosystem."}]}},"demonstrates":["capability:agent-tooling"],"requires":[{"ref":"artifact:sap-joule-studio","for":"where the custom agent and its Joule Skills are built; the session grants access to it and to its Agent Builder.","sources":[{"url":"https://github.com/SAP-samples/teched2025-AI165","title":"SAP-samples/teched2025-AI165 — README, Requirements","checked":"2026-10-19","quote":"Access to Joule Studio and its Agent Builder"}]},{"ref":"external:nodejs","for":"one of the few things the exercises need on the machine, at the version the README names; the session's machine has it installed already.","sources":[{"url":"https://github.com/SAP-samples/teched2025-AI165","title":"SAP-samples/teched2025-AI165 — README, Requirements","checked":"2026-10-19","quote":"Node.js v22.17.0 (LTS)"}]}],"maintainers":["actor:sap-samples"],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-14"},"contributors":["actor:ajaysoreng","actor:julian-schambeck","actor:kay-schmitteckert","actor:wernertod"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"good","evidence":"4 contributors, org-owned"},{"label":"Repository","tier":"fair","evidence":"pushed 2026-01, not archived"}],"compatibility":[{"label":"Declared for","tier":"unknown","evidence":"no BTP release lines in the atlas"},{"label":"Survived majors","tier":"unknown","evidence":"no BTP release lines in the atlas"},{"label":"Maintainer's CI","tier":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"fair","evidence":"none found in the tree"},{"label":"Docs","tier":"good","evidence":"README 6 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":4,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-25","npm":"not published under this name","stars":4,"forks":7,"open_issues":1,"archived":false,"pushed_at":"2026-01-13","license_spdx":"Apache-2.0","org_owned":true,"default_branch":"main","created_at":"2025-08-07T10:17:43Z","open_prs":0,"tree_truncated":false,"test_files":0,"workflows":0,"other_ci":false,"readme_bytes":5792,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2025-08-07","last_commit":"2026-01-13","commits":59,"contributors":4,"readme_path":"README.md","readme_sha":"433d4698b2c9ec49e6cea3f64761ff907949cf23","repo_read":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:sap-samples","name":"SAP Samples","json":"/actors/sap-samples.json"}],"contributors":[{"ref":"actor:ajaysoreng","name":"Ajay Soreng","json":"/actors/ajaysoreng.json"},{"ref":"actor:julian-schambeck","name":"julian-schambeck","json":"/actors/julian-schambeck.json"},{"ref":"actor:kay-schmitteckert","name":"Kay Schmitteckert","json":"/actors/kay-schmitteckert.json"},{"ref":"actor:wernertod","name":"Werner Tod","json":"/actors/wernertod.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}