Install
$ agentstack add skill-efeumutaslan-sap-skills-sap-build-process-automation ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
SAP Build Process Automation
Related Skills
sap-s4hana-extensibility— S/4HANA event sources and API integrationsap-security-authorization— BTP authorization for process automationsap-rap-comprehensive— RAP business events as process triggerssap-event-mesh— Event-driven triggers from S/4HANA business eventssap-signavio— Model processes in Signavio, automate in SBPAsap-integration-suite-advanced— Complex API connectors for Actions
Quick Start
Create a workflow in 5 steps:
- SAP Build Lobby → Create → Business Process Project
- Add a Process → Choose trigger: Form, API, or Event
- Add steps: Approval → Decision → Action → (repeat)
- Configure conditions (If/Else gateways)
- Release → Deploy → Test in Monitor tab
Architecture:
SAP Build Process Automation (BTP)
├── Process Builder — Visual workflow modeling
├── Decision Editor — Business rules / decision tables
├── Automation Editor — RPA bot designer
├── Form Builder — Trigger, approval, task forms
├── Visibility — Process monitoring dashboards
└── Actions — API connectors (OData, REST)
Core Concepts
Trigger Types
| Trigger | Start Method | Use Case | |---------|-------------|----------| | Form | User fills a request form | Leave request, purchase approval | | API | REST API call (OAuth2) | System integration, external apps | | Event | Event Mesh subscription | S/4HANA business events, SuccessFactors events |
Step Types
| Step | Description | |------|-------------| | Approval | Routes to approver(s) with approve/reject form | | Decision | Evaluates business rules (decision table or text rule) | | Automation | Runs RPA bot (attended or unattended) | | Action | Calls external API (OData/REST) | | Sub-Process | Reusable embedded process | | Mail | Sends notification email | | Condition | If/Else routing based on data |
Decision Tables
Decision tables are if/then rule engines:
IF OrderAmount > 10000 AND Region = "EMEA"
THEN ApprovalLevel = "Director", Priority = "High"
IF OrderAmount > 5000 AND Region = "EMEA"
THEN ApprovalLevel = "Manager", Priority = "Medium"
IF OrderAmount 10000 → [Approval: Director]
IF amount > 5000 → [Approval: Manager]
ELSE → [Auto-Approve]
→ [Action: Create PO in S/4HANA via OData]
→ [Mail: Notify Requester]
Pattern 2: API Trigger Setup
- Add API trigger to process
- Note the generated API endpoint and definition ID
- Configure OAuth2 credentials in BTP service key
- Call endpoint:
POST /workflow/rest/v1/workflow-instances
Headers: Authorization: Bearer
Body: {
"definitionId": "{{process_definition_id}}",
"context": {
"orderId": "PO-12345",
"amount": 15000,
"requester": "john.doe@company.com"
}
}
Pattern 3: Event Trigger from S/4HANA
- Configure SAP Event Mesh on BTP
- In S/4HANA: Enable business events (e.g.,
sap.s4.beh.purchaseorder.v1.PurchaseOrder.Created.v1) - In SBPA: Add Event Trigger → select event from catalog
- Map event payload to process context variables
- Process starts automatically when event fires
Pattern 4: Action (API Connector)
- Create Action Project in SAP Build
- Import API specification (OData metadata or OpenAPI)
- Configure destination:
{
"Name": "S4HANA_API",
"Type": "HTTP",
"URL": "https://my-s4.ondemand.com",
"Authentication": "OAuth2ClientCredentials",
"ProxyType": "Internet",
"sap.processautomation.enabled": true,
"sap.applicationdevelopment.actions.enabled": true
}
- Use Action step in process to call the API
Pattern 5: RPA Automation
Automation: Extract Invoice Data
1. Open Browser → Navigate to vendor portal
2. Read Table → Extract invoice line items
3. Loop → For each line item:
a. Map fields to S/4HANA format
b. Call Action: Post invoice via API
4. Log results → Send summary email
Desktop Agent requirements: Windows only, installed locally, connects to BTP tenant.
Error Catalog
| Error | Cause | Fix | |-------|-------|-----| | 403 Forbidden on deploy | Missing role collection ProcessAutomationAdmin | Assign role collection in BTP cockpit | | "Process stuck in running" | Approval task not assigned or recipient offline | Check Monitor → open instance → reassign task | | Action timeout | API destination unreachable or slow | Check destination config; increase timeout | | Automation "Agent Offline" | Desktop Agent not running or disconnected | Start Desktop Agent; check network connectivity | | Event trigger not firing | Event Mesh subscription misconfigured | Verify topic subscription and event format | | Decision returns empty | No matching rule found | Add a default/catch-all rule at bottom of decision table | | Form data not passing | Variable binding missing between steps | Check input/output mapping in process flow | | "503 Action Internal Error" | Destination missing required properties | Add sap.processautomation.enabled = true to destination | | Deploy fails "version exists" | Same version already deployed | Increment version number before release | | Memory exceeded in automation | Processing large dataset in single loop | Use batch processing (chunks of 100-500 records) |
Performance Tips
- Use sub-processes for reusable logic (DRY principle)
- Define custom variables as constants for magic values
- Batch processing in automations: process records in chunks, not one-by-one
- Use destination variables for multi-environment support (dev/test/prod)
- Deploy decisions independently when business rules change frequently
- Keep forms simple: 50000 → [Approval: CFO] (deadline: 3 days)
IF amount > 10000 → [Approval: Director] (deadline: 2 days) IF amount > 1000 → [Approval: Manager] (deadline: 1 day) ELSE → [Auto-Approve] → [Condition: Approved?] YES → [Action: Post to S/4HANA FI] → [Mail: Confirmation to requester] NO → [Mail: Rejection with reason] → [End]
Escalation: If no response within deadline → → [Action: Notify substitute approver] → [Approval: Substitute] (deadline: 1 day) → [Condition: Still no response?] → [Auto-Reject]
### Pattern 7: Parallel Processing with Aggregation
[API Trigger: Multi-Department Review] → [Parallel Gateway] ├── [Approval: Legal Review] ├── [Approval: Finance Review] └── [Approval: Compliance Review] → [Merge Gateway: All must approve] → [Decision: Final Assessment] → [Action: Update status in S/4HANA]
### Pattern 8: Exception Handling
```json
{
"errorHandling": {
"type": "boundary-event",
"attachedTo": "Action: Create PO",
"errorType": "timeout",
"handler": [
{ "step": "Log error to monitoring" },
{ "step": "Retry with exponential backoff", "maxRetries": 3 },
{ "step": "If still failing: route to manual queue" }
]
}
}
Source Documentation
- SAP Build Process Automation Documentation
- SAP Build Store
- SAP Tutorials: Build Process Automation
- GitHub: SAP-samples SBPA
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: efeumutaslan
- Source: efeumutaslan/SAP-SKILLS
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.