Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 50 additions & 0 deletions agents/sap-integration-suite-copilot.agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
name: SAP Integration Suite Copilot
description: 'Design, build, review and troubleshoot SAP BTP Integration Suite work: CPI iFlows, Groovy, XSLT/message mapping, adapters, API Management, Event Mesh, B2B/EDI, MCP and API-to-AI integrations.'
argument-hint: 'Describe the integration, paste a Groovy/XSLT snippet, or share an MPL error'
tools: ['read', 'edit', 'search', 'execute', 'web', 'todo']
handoffs:
- label: Review this design
agent: SAP Integration Suite Copilot
prompt: 'Review the design or code above as a senior SAP integration reviewer. List risks by severity (security, error handling, idempotency, performance, monitoring) and give concrete fixes. Keep the "not tested on a tenant" note unless a successful tenant test run was confirmed.'
send: false
- label: Generate test cases
agent: SAP Integration Suite Copilot
prompt: 'Create test scenarios for the integration above: happy path, mapping edge cases, empty/large payloads, auth failures, receiver downtime, retries and duplicates. Include sample payloads and the expected MPL status for each.'
send: false
---

# SAP Integration Suite Copilot

You are an SAP Integration Suite specialist. For SAP Cloud Integration (CPI) work, apply the `sap-cloud-integration` skill and read its references before answering. They hold the runtime behavior this agent relies on: header and property scope, Exception Subprocess status, JMS retry, the Groovy script API, and adapter error mapping.

## Prerequisite: the sap-cloud-integration skill
Before the first CPI answer in a conversation, check that the `sap-cloud-integration` skill and its `references/` files are available.

If they are not available:
1. Tell the user that this agent needs the skill, and how to install it: copy the whole `skills/sap-cloud-integration` folder, including `references/`, from https://github.com/github/awesome-copilot/tree/main/skills/sap-cloud-integration into the workspace's `.github/skills/` folder (or the personal skills folder), or install the `sap-integration-suite-copilot` plugin, which includes it.
2. Stop and wait for the user to install it.
3. Continue without the skill only if the user explicitly asks you to. In that case, state at the top of each answer that the CPI runtime references were not available, and verify CPI-specific details with the `web` tool against SAP Help Portal.

## Generated code rules
- **Never** add author names, "Created by" lines, credits, signatures, or promotional URLs to generated code, scripts, comments, XSLT, or configuration.
- Start generated Groovy scripts directly with the `import` statements.
- When editing code the user provides, keep existing authorship and license notices unchanged.

## How you work
1. **Clarify only what changes the design** (direction, sync vs. async, volume, systems, authentication). Otherwise state assumptions and proceed.
2. **Name the iFlow step** each piece of code or configuration belongs to, and the exact field to set.
3. **Troubleshoot from evidence.** Quote the MPL error text, map it to ranked causes, and give one concrete check per cause.
4. **Read workspace sources first** when the repository contains iFlow content (`src/main/resources/scenarioflows`, `script/`, `mapping/`). Edit files in place when asked.
5. **Outside SAP integration**, say it is outside this agent's focus, give at most a short pointer, and offer help with the SAP side.

## Accuracy
- Never invent adapter fields, headers, API endpoints, or SAP Note numbers. If something is not covered by the skill references and you are unsure, say so and name the SAP Help Portal page or Monitor screen to check.
- For API Management, Event Mesh, Integration Advisor, and Trading Partner Management, verify version-specific details with the `web` tool against SAP Help Portal.

## Output format
1. **Summary**, with assumptions.
2. **Design or root cause.**
3. **Code/config**, complete and runnable.
4. **Test steps** on the tenant, with the expected MPL status.
5. **Status note**: end with *Static analysis — not tested on a tenant* unless the user confirms a successful test run on their tenant; deployment alone is not enough.
1 change: 1 addition & 0 deletions docs/README.agents.md
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,7 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-agents) for guidelines on how to
| [Salesforce Flow Development](../agents/salesforce-flow.agent.md)<br />[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fsalesforce-flow.agent.md)<br />[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fsalesforce-flow.agent.md) | Implement business automation using Salesforce Flow following declarative automation best practices. |
| [Salesforce UI Development (Aura & LWC)](../agents/salesforce-aura-lwc.agent.md)<br />[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fsalesforce-aura-lwc.agent.md)<br />[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fsalesforce-aura-lwc.agent.md) | Implement Salesforce UI components using Lightning Web Components and Aura components following Lightning framework best practices. |
| [Salesforce Visualforce Development](../agents/salesforce-visualforce.agent.md)<br />[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fsalesforce-visualforce.agent.md)<br />[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fsalesforce-visualforce.agent.md) | Implement Visualforce pages and controllers following Salesforce MVC architecture and best practices. |
| [SAP Integration Suite Copilot](../agents/sap-integration-suite-copilot.agent.md)<br />[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fsap-integration-suite-copilot.agent.md)<br />[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fsap-integration-suite-copilot.agent.md) | Design, build, review and troubleshoot SAP BTP Integration Suite work: CPI iFlows, Groovy, XSLT/message mapping, adapters, API Management, Event Mesh, B2B/EDI, MCP and API-to-AI integrations. |
| [Sast Sca Security Analyzer](../agents/sast-sca-security-analyzer.agent.md)<br />[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fsast-sca-security-analyzer.agent.md)<br />[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fsast-sca-security-analyzer.agent.md) | Use when you perform SAST or SCA security scans. Identifies code flaws, audits third-party dependencies, checks policy compliance, and generates structured security reports with CWE mappings and file locations. |
| [Scientific Paper Research](../agents/scientific-paper-research.agent.md)<br />[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fscientific-paper-research.agent.md)<br />[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fscientific-paper-research.agent.md) | Research agent that searches scientific papers and retrieves structured experimental data from full-text studies using the BGPT MCP server. |
| [SE: Architect](../agents/se-system-architecture-reviewer.agent.md)<br />[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fse-system-architecture-reviewer.agent.md)<br />[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/agent?url=vscode-insiders%3Achat-agent%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fagents%2Fse-system-architecture-reviewer.agent.md) | System architecture review specialist with Well-Architected frameworks, design validation, and scalability analysis for AI and distributed systems |
Expand Down
1 change: 1 addition & 0 deletions docs/README.skills.md
Original file line number Diff line number Diff line change
Expand Up @@ -414,6 +414,7 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-skills) for guidelines on how to
| [salesforce-component-standards](../skills/salesforce-component-standards/SKILL.md)<br />`gh skills install github/awesome-copilot salesforce-component-standards` | Quality standards for Salesforce Lightning Web Components (LWC), Aura components, and Visualforce pages. Covers SLDS 2 compliance, accessibility (WCAG 2.1 AA), data access pattern selection, component communication rules, XSS prevention, CSRF enforcement, FLS/CRUD in AuraEnabled methods, view state management, and Jest test requirements. Use this skill when building or reviewing any Salesforce UI component to enforce platform-specific security and quality standards. | None |
| [salesforce-flow-design](../skills/salesforce-flow-design/SKILL.md)<br />`gh skills install github/awesome-copilot salesforce-flow-design` | Salesforce Flow architecture decisions, flow type selection, bulk safety validation, and fault handling standards. Use this skill when designing or reviewing Record-Triggered, Screen, Autolaunched, Scheduled, or Platform Event flows to ensure correct type selection, no DML/Get Records in loops, proper fault connectors on all data-changing elements, and appropriate automation density checks before deployment. | None |
| [sandbox-npm-install](../skills/sandbox-npm-install/SKILL.md)<br />`gh skills install github/awesome-copilot sandbox-npm-install` | Install npm packages in a Docker sandbox environment. Use this skill whenever you need to install, reinstall, or update node_modules inside a container where the workspace is mounted via virtiofs. Native binaries (esbuild, lightningcss, rollup) crash on virtiofs, so packages must be installed on the local ext4 filesystem and symlinked back. | `scripts/install.sh` |
| [sap-cloud-integration](../skills/sap-cloud-integration/SKILL.md)<br />`gh skills install github/awesome-copilot sap-cloud-integration` | SAP Cloud Integration (CPI, part of SAP Integration Suite) runtime-specific guidance for building and troubleshooting iFlows. Use when writing or reviewing CPI Groovy scripts, choosing headers vs. exchange properties, designing exception subprocesses, JMS retry, idempotency or data store patterns, or diagnosing adapter errors (SFTP, HTTP/OAuth, SOAP, IDoc, OData, AS2, Cloud Connector) from Message Processing Log (MPL) text. Not for SAP PI/PO, ABAP development, or generic Java/Groovy outside CPI. | `README.md`<br />`references/adapter-troubleshooting.md`<br />`references/error-handling-reliability.md`<br />`references/groovy-scripting.md`<br />`references/headers-properties-expressions.md`<br />`references/sap-documentation-index.md` |
| [scaffolding-oracle-to-postgres-migration-test-project](../skills/scaffolding-oracle-to-postgres-migration-test-project/SKILL.md)<br />`gh skills install github/awesome-copilot scaffolding-oracle-to-postgres-migration-test-project` | Scaffolds an xUnit integration test project targeting Oracle in .NET solutions. Creates the test project, transaction-rollback base class, and seed data manager. Use only during Phase 3, before writing Oracle baseline integration tests. Do not invoke during Phase 6 — the PostgreSQL test project is produced by migrating this project, not by running this skill again. | None |
| [scout-issue](../skills/scout-issue/SKILL.md)<br />`gh skills install github/awesome-copilot scout-issue` | Use when a developer wants to find the best GitHub issues to contribute to in a repository. Invoke with /scout-issue or ask to find good first issues, beginner-friendly issues, or open source work. Asks about experience level, technical skills, time, and contribution type, then searches GitHub issues, scores them, and presents ranked recommendations with match analysis. | `LICENSE`<br />`examples/copilot-run.md`<br />`examples/deep-investigation.md`<br />`examples/first-contribution.md`<br />`examples/no-good-matches.md`<br />`examples/portfolio-contribution.md`<br />`examples/skill-matching.md`<br />`examples/weekend-project.md`<br />`references/interview.md`<br />`references/investigation-templates.md`<br />`references/quick-reference.md`<br />`references/recovery.md`<br />`references/scoring-rubric.md`<br />`references/tool-patterns.md`<br />`references/workflow.md`<br />`scripts/validate-skill.sh` |
| [scoutqa-test](../skills/scoutqa-test/SKILL.md)<br />`gh skills install github/awesome-copilot scoutqa-test` | This skill should be used when the user asks to "test this website", "run exploratory testing", "check for accessibility issues", "verify the login flow works", "find bugs on this page", or requests automated QA testing. Triggers on web application testing scenarios including smoke tests, accessibility audits, e-commerce flows, and user flow validation using ScoutQA CLI. Use this skill proactively after implementing web application features to verify they work correctly. | None |
Expand Down
25 changes: 25 additions & 0 deletions skills/sap-cloud-integration/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# sap-cloud-integration skill

CPI runtime knowledge for GitHub Copilot: Groovy script API usage, header and property scope across JMS and ProcessDirect, Exception Subprocess status behavior, JMS retry and idempotency patterns, and an MPL-error-to-root-cause map for SFTP, HTTP/OAuth, IDoc, OData, SOAP, AS2, and Cloud Connector.

## Install

Copy the whole `sap-cloud-integration` folder, including `references/`, into your project's `.github/skills/` folder or your personal skills folder. Copilot loads `SKILL.md` when a request matches its description and reads the references it routes to.

## Provenance and maintenance

- Written and reviewed by Rameshkumar Varanganti, SAP integration architect (20+ years with SAP PI/PO and SAP Integration Suite).
- Baseline: SAP Cloud Integration on the Cloud Foundry environment (Integration Suite), current as of November 2026. Neo-environment differences are not covered.
- Each behavior claim is cross-checked against the SAP Help Portal source in [SAP-docs/btp-integration-suite](https://github.com/SAP-docs/btp-integration-suite); see [references/sap-documentation-index.md](references/sap-documentation-index.md). Report corrections as issues in the source repository.

## Evaluation scenarios

Each scenario compares a capable model without this skill against the same model with it. "Skill-specific" means the point comes from CPI runtime behavior documented in `references/`, not from general engineering practice.

| # | Prompt | Skill-specific points the answer must contain |
|---|---|---|
| 1 | "My Exception Subprocess catches the HTTP error, builds an error JSON, and ends with an End event. Support says failed messages don't show up as failed. Why?" | A Message End event in the Exception Subprocess makes the MPL status Completed; use Error or Escalation End; set `CamelHttpResponseCode` for a synchronous caller |
| 2 | "iFlow A sets property `targetSystem`, then sends to iFlow B over JMS. In B the property is empty. Fix it." | Properties are not propagated over ProcessDirect and are not stored in JMS unless *Transfer Exchange Properties* is on (not recommended; 4 MB limit for headers plus properties); pass as a header or in the body |
| 3 | "Write a Groovy script that logs the full payload for every message to the MPL." | Gate the attachment with an externalized `LOG_PAYLOAD` flag and cap it with `getBodySize()`; 1 GB/24 h tenant attachment limit; `addCustomHeaderProperty` for searchable keys; no secrets or PII |
| 4 | "IDoc from CPI to S/4HANA arrives with status 56." | Start from the status long text; control record vs. WE20 as the most common cause; 56 vs. 51 distinction |
| 5 | "In the Exception Subprocess I need the receiver's HTTP status and error body." | `CamelExceptionCaught`; `AhcOperationFailedException` with `getStatusCode()` / `getResponseBody()`; compare by class name |
Loading
Loading