🏦 Raiffeisen Elba OpenClaw Plugin & Skill | ClawHub
Looking to integrate Raiffeisen Elba into your AI workflows? This free OpenClaw plugin from ClawHub helps you automate browser & automation tasks instantly, without having to write custom tools from scratch.
What this skill does
Automate Raiffeisen ELBA online banking: login/logout, list accounts, and fetch transactions via Playwright.
Install
openclaw skills install @odrobnik/raiffeisen-elbanpx clawhub@latest install raiffeisen-elbaFull SKILL.md
Open original| name | version | description | homepage |
|---|---|---|---|
| raiffeisen-elba | 1.5.3 | Automate Raiffeisen ELBA online banking: login/logout, list accounts, and fetch transactions via Playwright. | https://github.com/odrobnik/raiffeisen-elba-skill |
SKILL.md content below is scrollable.
Raiffeisen ELBA Banking Automation
Fetch current account balances, securities depot positions, and transactions for all account types in JSON format. Uses Playwright to automate Raiffeisen ELBA online banking.
⚠️ Security & 2FA Flow
This skill requires explicit 2FA approval on the user's mobile device (pushTAN).
- Start the Login Process: Start the login using the OpenClaw
processtool with theexeccommand or run it as a background job via theexectool. - Tell the user to approve: You MUST stop executing further commands and inform the user of the pushTAN code (e.g.,
ELBA PUSHTAN CODE: XXXX). Do not loop polling the process without telling the user what to do. Usesessions_yieldto wait for the user to confirm approval. - Wait for approval: Only resume the automation flow after the user confirms approval. If the login process exits with a timeout (usually 60-300 seconds), ask the user if they are ready before restarting the login.
- Ephemeral Bearer Token: After successful 2FA, the token is cached locally (
0600). - Always Logout: Run
logoutafter completing operations to clear the session.
Setup & Configuration
See SETUP.md for prerequisites and configuration.
- Profiles: Credentials live in
<WORKSPACE_ROOT>/raiffeisen-elba/config.json. If it has aprofilesobject, each key is a profile name; check which profiles exist when it is ambiguous which login the user means. - Profile Argument: If multiple profiles exist, pass
--profile <name>to all ELBA commands. The argument must match the key inconfig.json.
Commands
Entry point: python3 {baseDir}/scripts/elba.py
# Authenticate (requires pushTAN approval)
python3 {baseDir}/scripts/elba.py [--profile <name>] login
# List all accounts
python3 {baseDir}/scripts/elba.py [--profile <name>] accounts [--json]
# Download transactions (--json prints to stdout; --out <file> writes a file instead)
# Important: If the account ID/IBAN fails, check the exact ID string output by the `accounts` command. Some accounts have an internal ID rather than a pure IBAN.
python3 {baseDir}/scripts/elba.py [--profile <name>] transactions --account <id|iban> --from YYYY-MM-DD --until YYYY-MM-DD [--json]
# Fetch depot portfolio positions
python3 {baseDir}/scripts/elba.py [--profile <name>] portfolio --depot-id <id> [--json]
# Clear session and cached token
python3 {baseDir}/scripts/elba.py [--profile <name>] logout
Recommended Workflow
- Check
config.jsonfor the profile name if more than one login is configured. - Run the
loginprocess using theexecandprocesstools to read the generated pushTAN code. - Inform the user to approve the pushTAN on their device and wait for their confirmation.
- Once logged in, run
accounts --jsonto get the list of accounts and exact account IDs. - Run
transactions --account <exact-id-from-step-4> --from YYYY-MM-DD --until YYYY-MM-DD --jsonand redirect the output to a JSON file (e.g.> /tmp/elba_tx.json). Progress messages go to stderr, so the file contains only JSON. - Run
logoutto clear the session.