
sap-btp-job-scheduling
This skill provides comprehensive guidance for SAP BTP Job Scheduling Service development, configuration, and operations. It should be used when creating, managing, or troubleshooting scheduled jobs on SAP Business Technology Platform. The skill covers service setup, REST API usage, schedule types and formats, OAuth 2.0 authentication, multitenancy, Cloud Foundry tasks, Kyma runtime integration, and monitoring with SAP Cloud ALM and Alert Notification Service. Keywords: SAP BTP, Job Scheduling, jobscheduler, cron, schedule, recurring jobs, one-time jobs, Cloud Foundry tasks, CF tasks, Kyma, OAuth 2.0, XSUAA, @sap/jobs-client, REST API, asynchronous jobs, action endpoint, run logs, SAP Cloud ALM, Alert Notification Service, multitenancy, tenant-aware, BC-CP-CF-JBS
- Installs
- 673
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/secondsky/sap-skills --skill sap-btp-job-scheduling- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads sap-btp-job-scheduling automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
SAP BTP Job Scheduling Service
Related Skills
- sap-dependency-security: Use for secure dependency and workflow hardening when your job scheduling microservices maintain npm/CLI dependency stacks
Table of Contents
- Overview
- When to Use This Skill
- Quick Decision Tree
- Core Concepts
- Service Constraints
- Quick Reference Tables
- Best Practices
- Authentication Quick Start
- Create Job Example
- Node.js Client Library
- Rate Limits
- Service Behavior
- Bundled Resources
- Common Pitfalls
- External Resources
- Updates and Maintenance
Overview
SAP Job Scheduling Service is a runtime-agnostic platform service for defining and managing one-time and recurring jobs or Cloud Foundry tasks on SAP BTP. It operates across multiple hyperscalers (AWS, Azure, GCP) without requiring application modifications.
Documentation Source: https://help.sap.com/docs/job-scheduling
Last Verified: 2025-11-27
When to Use This Skill
Use this skill when:
- Setting up Job Scheduling Service on Cloud Foundry or Kyma runtime
- Creating and managing jobs via REST API or dashboard
- Configuring schedules using cron, date/time, or human-readable formats
- Implementing asynchronous job execution for long-running processes
- Securing action endpoints with OAuth 2.0 and XSUAA
- Integrating with SAP Cloud ALM or Alert Notification Service
- Developing multitenant applications with tenant-aware job scheduling
- Troubleshooting job execution issues and schedule failures
- Using the Node.js client library (@sap/jobs-client)
Quick Decision Tree
What Task?
Setup & Configuration
├─ Initial setup prerequisites → references/setup-guide.md
├─ Create service instance
│ ├─ BTP Cockpit → references/setup-guide.md#cockpit
│ ├─ CF CLI → references/setup-guide.md#cf-cli
│ └─ Kyma Dashboard → references/setup-guide.md#kyma
└─ Configure XSUAA scopes → references/security.md
Job Management
├─ Create jobs → references/rest-api.md#create-job
├─ Configure schedules → references/rest-api.md#schedules
├─ Run logs & monitoring → references/rest-api.md#run-logs
└─ Dashboard operations → references/operations.md#dashboard
Schedule Configuration
├─ One-time vs recurring → references/concepts.md#schedule-types
├─ Cron format → references/concepts.md#cron-format
├─ Date/time formats → references/concepts.md#date-formats
└─ Human-readable → references/concepts.md#human-readable
Asynchronous Execution
├─ Async mode flow → references/concepts.md#async-mode
├─ Callback implementation → references/rest-api.md#update-run-log
└─ CF tasks → references/concepts.md#cf-tasks
Security & Authentication
├─ OAuth 2.0 setup → references/security.md#oauth
├─ XSUAA configuration → references/security.md#xsuaa
└─ Credential rotation → references/security.md#rotation
Integrations
├─ SAP Cloud ALM → references/integrations.md#cloud-alm
└─ Alert Notification → references/integrations.md#alert-notification
Troubleshooting
├─ Common errors → references/troubleshooting.md#errors
├─ FAQ → references/troubleshooting.md#faq
└─ Support: BC-CP-CF-JBS
Version History & Updates
└─ What's New (2021-2025) → references/changelog.md
Core Concepts
Job
A collection of schedules with an action endpoint. Jobs invoke a configured URL at specified times synchronously (short operations) or asynchronously (long processes).
Schedule
A one-time or recurring entity within a job. Supports multiple formats (cron, date/time, human-readable) and has three lifecycle states: SCHEDULED → RUNNING → COMPLETED.
Action Endpoint
An HTTP/REST endpoint exposed by your application that the service invokes when schedules trigger. Must be OAuth 2.0 protected in production.
Cloud Foundry Task
An app or script that runs independently in its own container. Always executes asynchronously with configurable memory allocation.
Service Constraints
| Constraint | Value |
|---|---|
| Minimum schedule interval | 5 minutes |
| Synchronous request timeout | 15 seconds |
| Asynchronous timeout (default) | 30 minutes (configurable up to 7 days) |
| POST request body limit | 100 KB |
| Run log retention | 15 days |
| Service SLA | ~20 minutes from scheduled time |
Quick Reference Tables
Schedule Formats
| Format | Example | Use Case |
|---|---|---|
| Cron | * * * * 10:12 0,30 0 | Every 30 min between 10:00-12:00 |
| Date/Time | 2025-10-20T04:30:00Z | ISO-8601 one-time execution |
| Human-readable | tomorrow at 4pm | Natural language scheduling |
| repeatInterval | 2 hours, 5 minutes | Recurring at fixed intervals |
| repeatAt | 4.40pm, 18:40 | Daily at specific time |
Cron Format (7 fields)
Year Month Day DayOfWeek Hour Minute Second
* * * * * * *
| Field | Values | Special |
|---|---|---|
| Year | 4-digit (2025) | * = any |
| Month | 1-12 | */a = every a-th |
| Day | -31 to 31 | negative = from end |
| DayOfWeek | mon, tue, wed... | a.y = a-th occurrence |
| Hour | 0-23 | a:b = range |
| Minute | 0-59 | a:b/c = step in range |
| Second | 0-59 | a,b,c = multiple values |
Schedule Lifecycle States
| Phase | States | Description |
|---|---|---|
| SCHEDULED | SCHEDULED | Queued for future run |
| RUNNING | TRIGGERED, ACK_RECVD, ACK_NOT_RECVD | Executing |
| COMPLETED | SUCCESS, ERROR, REQUEST_ERROR, UNKNOWN | Finished |
HTTP Methods for Jobs
| Method | Endpoint | Purpose |
|---|---|---|
| POST | /scheduler/jobs | Create job |
| GET | /scheduler/jobs | List all jobs |
| GET | /scheduler/jobs/{id} | Get job details |
| PUT | /scheduler/jobs/{id} | Update job |
| DELETE | /scheduler/jobs/{id} | Delete job |
Best Practices
Scheduling Optimization
Avoid Peak Times:
- ❌ 0th or 30th second of any minute
- ❌ 0th, 30th, or multiples of 5 minutes
- ❌ Top of each hour
- ❌ Midnight UTC (busiest time)
Use Irregular Times:
- ✅
01:12:17instead of01:00:00 - ✅
01:38:37instead of01:30:00
Asynchronous Jobs
- Return 202 Accepted immediately - Don't block the request
- Store request headers -
x-sap-job-id,x-sap-job-schedule-id,x-sap-job-run-id,x-sap-scheduler-host - Update run log on completion - Single API call with final status
- Handle timeouts - Default 30 min, configurable up to 7 days
One-Time Schedules
- Use only for testing/validation
- Auto-deactivate after execution
- Use
"time": "now"for immediate execution
Authentication Quick Start
Standard Plan (OAuth 2.0)
# Get access token
curl -X POST "<uaa_url>/oauth/token" \
-H "Authorization: Basic $(echo -n '<clientid>:<clientsecret>' | base64)" \
-d "grant_type=client_credentials"
# Use token in API calls
curl -X GET "https://jobscheduler-rest.<landscape>/scheduler/jobs" \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json"
xs-security.json Configuration
{
"xsappname": "<app-name>",
"scopes": [{
"name": "$XSAPPNAME.JOBSCHEDULER",
"description": "Job Scheduler Scope",
"grant-as-authority-to-apps": ["$XSSERVICENAME(<jobscheduler-instance>)"]
}]
}
Create Job Example
POST /scheduler/jobs
{
"name": "myJob",
"description": "Process daily reports",
"action": "https://myapp.cfapps.eu10.hana.ondemand.com/api/process",
"active": true,
"httpMethod": "POST",
"schedules": [{
"active": true,
"description": "Daily at 6 AM",
"repeatAt": "6.00am",
"startTime": {"date": "2025-01-01", "format": "YYYY-MM-DD"}
}]
}
Node.js Client Library
Requirements: Node.js 14.x or later
npm install @sap/jobs-client@1.8.6
const JobSchedulerClient = require('@sap/jobs-client');
const scheduler = new JobSchedulerClient.Scheduler();
// Create job
scheduler.createJob({ url: vcapServices.jobscheduler[0].credentials.url }, {
name: 'myJob',
action: 'https://myapp.../process',
active: true,
httpMethod: 'GET',
schedules: [{ cron: '* * * * 0 0 0', active: true }]
}, (err, result) => { /* handle */ });
Rate Limits
| Limit Type | Response Code | Header |
|---|---|---|
| Client limit exceeded | 429 | retry-after (seconds) |
| Absolute limit exceeded | 503 | throttling (milliseconds) |
Limits stack - both can apply simultaneously.
Service Behavior
Outage Recovery
| Outage Duration | Behavior |
|---|---|
| < 20 minutes | All missed executions run immediately |
| >= 20 minutes | Only last missed execution runs |
Auto-Deactivation Triggers
- One-time schedule executed
- No valid future dates exist
- Job/schedule endTime reached
- Action endpoint unreachable for 10+ days
Reference Files
Detailed Guides Available
- references/concepts.md - Schedule types, formats, lifecycle, async mode, multitenancy
- references/rest-api.md - Complete REST API reference with all endpoints
- references/setup-guide.md - Prerequisites, service instance creation
- references/security.md - OAuth 2.0, XSUAA scopes, credential rotation
- references/integrations.md - Cloud ALM, Alert Notification Service
- references/troubleshooting.md - FAQ, error scenarios, monitoring
- references/operations.md - Dashboard, backup/restore, service behavior
- references/changelog.md - Version history, feature updates (2021-2025)
Templates Available
- templates/job-creation.json - Job creation request template
- templates/xs-security.json - XSUAA configuration template
Common Pitfalls
Setup:
- ❌ Missing XSUAA binding before Job Scheduling binding
- ❌ Not granting scopes via
grant-as-authority-to-apps - ❌ Using HTTP instead of HTTPS for action endpoints
Scheduling:
- ❌ Using Linux cron format (service uses SAP cron)
- ❌ Scheduling at peak times (00:00, 00:30, etc.)
- ❌ Forgetting UTC timezone (only supported timezone)
Async Jobs:
- ❌ Not returning 202 Accepted immediately
- ❌ Forgetting to call Update Run Log API
- ❌ Multiple status updates instead of single final update
Multitenancy:
- ❌ Using
tenantIdfilter with SaaS tenant tokens (returns 400) - ❌ Missing Job Scheduling as application dependency
External Resources
SAP Documentation
- SAP Help Portal: https://help.sap.com/docs/job-scheduling
- SAP Developer Center: https://developers.sap.com/
Support
- Component: BC-CP-CF-JBS
- SAP Trust Center: Platform status verification
- Guided Answers: Self-service troubleshooting
Updates and Maintenance
Source: SAP BTP Job Scheduling Service Documentation
To Update This Skill:
- Check GitHub repository for documentation updates
- Review What's New section for changes
- Update affected reference files
- Update templates if configurations changed
- Update "Last Verified" date
Quarterly Review Recommended: Check for updates every 3 months
Next Review: 2026-02-27
Bundled Resources
Reference Files
- references/concepts.md - Schedule types, formats, lifecycle, async mode, multitenancy (12K lines)
- references/rest-api.md - Complete REST API reference with all endpoints (20K lines)
- references/setup-guide.md - Prerequisites, service instance creation (9K lines)
- references/security.md - OAuth 2.0, XSUAA scopes, credential rotation (11K lines)
- references/integrations.md - Cloud ALM, Alert Notification Service (8K lines)
- references/troubleshooting.md - FAQ, error scenarios, monitoring (9K lines)
- references/operations.md - Dashboard, backup/restore, service behavior (8K lines)
- references/changelog.md - Version history, feature updates (2021-2025) (9K lines)
Templates
- templates/job-creation.json - Job creation request template with examples
- templates/xs-security.json - XSUAA configuration template for OAuth scopes
License: GPL-3.0 Maintainer: Eduard Jiglau | hello@sap-ai-skills.com | sap-ai-skills.com | https://github.com/secondsky/sap-skills
FAQ
What does the sap-btp-job-scheduling skill do?
This skill provides comprehensive guidance for SAP BTP Job Scheduling Service development, configuration, and operations. It should be used when creating, managing, or troubleshooting scheduled jobs on SAP Business Technology Platform. The skill covers service setup, REST API usage, schedule types and formats, OAuth 2.0 authentication, multitenancy, Cloud Foundry tasks, Kyma runtime integration, and monitoring with SAP Cloud ALM and Alert Notification Service. Keywords: SAP BTP, Job Scheduling, jobscheduler, cron, schedule, recurring jobs, one-time jobs, Cloud Foundry tasks, CF tasks, Kyma, OAuth 2.0, XSUAA, @sap/jobs-client, REST API, asynchronous jobs, action endpoint, run logs, SAP Cloud ALM, Alert Notification Service, multitenancy, tenant-aware, BC-CP-CF-JBS
How do I install sap-btp-job-scheduling?
Run npx skills add https://github.com/secondsky/sap-skills --skill sap-btp-job-scheduling in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/sap-btp-job-scheduling/ (personal) or .claude/skills/sap-btp-job-scheduling/ (project).
Which AI agents can use sap-btp-job-scheduling?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is sap-btp-job-scheduling safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains sap-btp-job-scheduling?
It is published by secondsky in secondsky/sap-skills. It has 673 recorded installs.
More from secondsky/sap-skills
sap-abap
secondsky/sap-skills
Comprehensive ABAP development skill for SAP systems. Use when writing ABAP code, working with internal tables, structures, ABAP SQL, object-oriented programming, RAP (RESTful Application Programming Model), CDS views, EML statements, ABAP Cloud development, string processing, dynamic programming, RTTI/RTTC, field symbols, data references, exception handling, or ABAP unit testing. Covers both classic ABAP and modern ABAP for Cloud Development patterns.
sap-fiori-tools
secondsky/sap-skills
Develops SAP Fiori applications using SAP Fiori tools extensions for VS Code and SAP Business Application Studio. Use when: generating Fiori Elements or Freestyle SAPUI5 applications, configuring Page Editor for List Report or Object Page, working with annotations and Service Modeler, setting up deployment to ABAP or Cloud Foundry, creating adaptation projects, using Guided Development, previewing with mock data or live data, configuring SAP Fiori launchpad, or using AI-powered generation with Project Accelerator/Joule. Technologies: SAP Fiori Elements, SAPUI5, OData V2/V4, CAP, SAP BTP, ABAP, Cloud Foundry, fiori-mcp-server (MCP tools for AI-assisted generation).
sap-cap-capire
secondsky/sap-skills
SAP Cloud Application Programming Model (CAP) development skill using Capire documentation. Use when: building CAP applications, defining CDS models, implementing services, working with SAP HANA/SQLite/PostgreSQL databases, deploying to SAP BTP Cloud Foundry or Kyma, implementing Fiori UIs, handling authorization, multitenancy, or messaging. Covers CDL/CQL/CSN syntax, Node.js and Java runtimes, event handlers, OData services, and CAP plugins.
sap-btp-developer-guide
secondsky/sap-skills
Develops business applications on SAP Business Technology Platform (BTP) using CAP (Node.js/Java) or ABAP Cloud. Use when: building cloud applications on SAP BTP, deploying to Cloud Foundry or Kyma runtimes, integrating with SAP HANA Cloud, implementing SAP Fiori UIs, connecting to remote SAP systems, building multitenant SaaS applications, extending SAP S/4HANA or SuccessFactors, setting up CI/CD pipelines, implementing observability, or following SAP development best practices. Keywords: SAP BTP, Business Technology Platform, CAP, Cloud Application Programming Model, ABAP Cloud, Cloud Foundry, Kyma, SAP HANA Cloud, SAP Fiori, SAPUI5, CI/CD, observability, multitenant, SaaS, SAP BTP ABAP environment, SAP Business Application Studio, SAP Cloud SDK, SAP Integration Suite, SAP Event Mesh, SAP Connectivity Service, SAP Destination Service, XSUAA, OAuth, OpenID Connect, OData, CDS, Core Data Services, ABAP CDS, ABAP RESTful Application Programming Model, RAP, ABAP development, SAP BTP deve
sap-btp-best-practices
secondsky/sap-skills
SAP BTP best practices for enterprise architecture, account management, security, and operations, with verification evidence tracked in the repository ledger. Use when planning BTP implementations, setting up account hierarchies, configuring environments, implementing authentication, designing CI/CD pipelines, establishing governance, building Platform Engineering teams, implementing failover strategies, or managing application lifecycle on SAP BTP. Keywords: SAP BTP, account hierarchy, global account, directory, subaccount, Cloud Foundry, Kyma, ABAP, SAP Identity Authentication, CI/CD, governance, Platform Engineering, failover, multi-region, SAP BTP best practices
sap-btp-connectivity
secondsky/sap-skills
SAP BTP Connectivity skill covering Destination Service, Connectivity Service, Cloud Connector, Connectivity Proxy, and Transparent Proxy for Kubernetes. Use when configuring destinations (HTTP, RFC, LDAP, MAIL, TCP), setting up cloud-to-on-premise connectivity, implementing OAuth and principal propagation, deploying connectivity proxies in Kubernetes/Kyma, troubleshooting connectivity errors (405, 407, 503), or configuring multitenancy.
Popular backend & apis skills
find-skills
vercel-labs/skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
entra-app-registration
microsoft/azure-skills
Guides Microsoft Entra ID app registration, OAuth 2.0 authentication, and MSAL integration. USE FOR: create app registration, register Azure AD app, configure OAuth, set up authentication, add API permissions, generate service principal, MSAL example, console app auth, Entra ID setup, Azure AD authentication. DO NOT USE FOR: Key Vault secrets (use azure-keyvault-expiration-audit), general Azure resource security guidance.
google-agents-cli-adk-code
google/agents-cli
This skill should be used when the user wants to "write agent code", "build an agent with ADK", "add a tool", "create a callback", "define an agent", "use state management" — in a project that needs ADK (Agent Development Kit) API patterns and code examples. It provides a quick reference for agent types, tool definitions, orchestration patterns, callbacks, state management, the graph Workflow API, and reference recipes to study. Do NOT use for scaffolding (use google-agents-cli-scaffold) or deployment (use google-agents-cli-deploy).
embedded-captions
heygen-com/hyperframes
Add captions or subtitles to an existing single-subject talking-head video without editing the footage. Use for plain verbatim captions, cinematic captions embedded behind the subject, VFX captions, “炸/特效/酷炫字幕,” or a named identity from the 35-style catalog. Route by visual identity, not by backend engine. The quiet anchor rail is the default; embed every word only when the user explicitly wants a fully cinematic treatment. The workflow runs locally end to end, including transcription and subject matting; split multi-shot footage before applying it.
entra-agent-id
microsoft/azure-skills
Provision Microsoft Entra Agent Identity Blueprints, BlueprintPrincipals, and per-instance Agent Identities via Microsoft Graph, and configure OAuth 2.0 token exchange (fmipath, OBO, cross-tenant) including the Microsoft Entra SDK for AgentID sidecar. USE FOR: Agent Identity Blueprint, BlueprintPrincipal, agent OAuth, fmipath token exchange, agent OBO, Workload Identity Federation for agents, polyglot agent auth, Microsoft.Identity.Web.AgentIdentities. DO NOT USE FOR: standard Entra app registration (use entra-app-registration), Microsoft Foundry agent authoring (use microsoft-foundry).
neon
neondatabase/agent-skills
Overview of Neon, a complete set of cloud backend primitives around Lakebase Postgres: Auth, Object Storage, Functions, the AI Gateway, and Realtime. Start here to choose Neon for undecided login, files, APIs, and LLM calls, set up the CLI or MCP server, and follow the branch-first workflow. Use when building an app or backend on Neon, or when "Neon" or "Lakebase Postgres" is mentioned. Child skill neon-postgres wins for an existing DATABASEURL, SQL, schema, inspect, or search. Child skill neon-auth wins for login, users, sessions, identity routing, and Managed Better Auth setup. Child skill neon-realtime wins for live queries in reactive apps and agents. Also use for object storage, S3, buckets, serverless functions, function triggers, cron, AI gateway, LLM calls, realtime, logs, Loki, Grafana, observability, postgres, database, backend, Claimable Neon, neon.new, or a no-signup database.