Rabobank Capabilities
Naftiko 0.5 capability definitions for Rabobank - 100 capabilities showing integration workflows and service orchestrations.
Generates a bank account statement for a specified period from the core banking system, returning the statement as a downloadable PDF link.
naftiko: "0.5"
info:
label: "Account Statement Generation"
description: "Generates a bank account statement for a specified period from the core banking system, returning the statement as a downloadable PDF link."
tags:
- banking
- accounts
- statements
capability:
exposes:
- type: mcp
namespace: statements
port: 8080
tools:
- name: generate-statement
description: "Generate a bank account statement for a date range."
inputParameters:
- name: account_iban
in: body
type: string
description: "The customer's IBAN."
- name: start_date
in: body
type: string
description: "Start date in YYYY-MM-DD format."
- name: end_date
in: body
type: string
description: "End date in YYYY-MM-DD format."
call: "core-banking.generate-statement"
with:
iban: "{{account_iban}}"
from: "{{start_date}}"
to: "{{end_date}}"
outputParameters:
- name: download_url
type: string
mapping: "$.data.statementUrl"
- name: transaction_count
type: string
mapping: "$.data.transactionCount"
consumes:
- type: http
namespace: core-banking
baseUri: "https://api.rabobank.nl/internal/cbs/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: statements
path: "/accounts/{{iban}}/statements"
inputParameters:
- name: iban
in: path
operations:
- name: generate-statement
method: POST
Retrieves agri commodity futures lookup data from the Rabobank agricultural banking systems.
naftiko: "0.5"
info:
label: "Agri Commodity Futures Lookup"
description: "Retrieves agri commodity futures lookup data from the Rabobank agricultural banking systems."
tags:
- agri
- rabobank
- lookup
capability:
exposes:
- type: mcp
namespace: agri
port: 8080
tools:
- name: agri-commodity-futures-lookup
description: "Retrieves agri commodity futures lookup data from the Rabobank agricultural banking systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "rabobank.agri-commodity-futures-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: rabobank
baseUri: "https://api.rabobank.nl/v2"
authentication:
type: bearer
token: "$secrets.rabobank_api_token"
resources:
- name: resource
path: "/agri/commodity/futures/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: agri-commodity-futures-lookup
method: GET
Orchestrates agricultural data marketplace pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Agricultural Data Marketplace Pipeline"
description: "Orchestrates agricultural data marketplace pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- agricultural
- rabobank
- servicenow
- snowflake
- slack
capability:
exposes:
- type: mcp
namespace: agricultural
port: 8080
tools:
- name: agricultural-data-marketplace-pipeline
description: "Orchestrates agricultural data marketplace pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "servicenow.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "snowflake.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "slack.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: servicenow
baseUri: "https://rabobank.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/agricultural"
operations:
- name: execute-1
method: POST
- type: http
namespace: snowflake
baseUri: "https://rabobank.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/agricultural"
operations:
- name: execute-2
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/agricultural"
operations:
- name: execute-3
method: POST
Orchestrates agricultural innovation funding pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Agricultural Innovation Funding Pipeline"
description: "Orchestrates agricultural innovation funding pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- agricultural
- rabobank
- sap
- confluence
- bloomberg
capability:
exposes:
- type: mcp
namespace: agricultural
port: 8080
tools:
- name: agricultural-innovation-funding-pipeline
description: "Orchestrates agricultural innovation funding pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "sap.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "confluence.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "bloomberg.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: sap
baseUri: "https://rabobank-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/agricultural"
operations:
- name: execute-1
method: POST
- type: http
namespace: confluence
baseUri: "https://rabobank.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: confluence-resource
path: "/api/agricultural"
operations:
- name: execute-2
method: POST
- type: http
namespace: bloomberg
baseUri: "https://api.bloomberg.com/v1"
authentication:
type: bearer
token: "$secrets.bloomberg_token"
resources:
- name: bloomberg-resource
path: "/api/agricultural"
operations:
- name: execute-3
method: POST
Orchestrates agricultural lending risk pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Agricultural Lending Risk Pipeline"
description: "Orchestrates agricultural lending risk pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- agricultural
- rabobank
- rabobank
- salesforce
- servicenow
capability:
exposes:
- type: mcp
namespace: agricultural
port: 8080
tools:
- name: agricultural-lending-risk-pipeline
description: "Orchestrates agricultural lending risk pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "rabobank.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "salesforce.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "servicenow.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: rabobank
baseUri: "https://api.rabobank.nl/v2"
authentication:
type: bearer
token: "$secrets.rabobank_api_token"
resources:
- name: rabobank-resource
path: "/api/agricultural"
operations:
- name: execute-1
method: POST
- type: http
namespace: salesforce
baseUri: "https://rabobank.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/agricultural"
operations:
- name: execute-2
method: POST
- type: http
namespace: servicenow
baseUri: "https://rabobank.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/agricultural"
operations:
- name: execute-3
method: POST
Retrieves the status of an agricultural loan application from the loan origination system, returning application stage, requested amount, collateral type, and assigned loan officer.
naftiko: "0.5"
info:
label: "Agricultural Loan Application Status"
description: "Retrieves the status of an agricultural loan application from the loan origination system, returning application stage, requested amount, collateral type, and assigned loan officer."
tags:
- agricultural-lending
- loans
- origination
capability:
exposes:
- type: mcp
namespace: agri-lending
port: 8080
tools:
- name: get-loan-application
description: "Look up an agricultural loan application by application ID."
inputParameters:
- name: application_id
in: body
type: string
description: "The loan application identifier."
call: "loan-origination.get-application"
with:
application_id: "{{application_id}}"
outputParameters:
- name: stage
type: string
mapping: "$.data.applicationStage"
- name: requested_amount
type: string
mapping: "$.data.requestedAmount"
- name: collateral_type
type: string
mapping: "$.data.collateralType"
- name: loan_officer
type: string
mapping: "$.data.assignedOfficer"
consumes:
- type: http
namespace: loan-origination
baseUri: "https://api.rabobank.nl/internal/lending/v2"
authentication:
type: bearer
token: "$secrets.loan_origination_token"
resources:
- name: applications
path: "/applications/{{application_id}}"
inputParameters:
- name: application_id
in: path
operations:
- name: get-application
method: GET
Retrieves agricultural market outlook report data from the Rabobank agricultural banking systems.
naftiko: "0.5"
info:
label: "Agricultural Market Outlook Report"
description: "Retrieves agricultural market outlook report data from the Rabobank agricultural banking systems."
tags:
- agricultural
- rabobank
- report
capability:
exposes:
- type: mcp
namespace: agricultural
port: 8080
tools:
- name: agricultural-market-outlook-report
description: "Retrieves agricultural market outlook report data from the Rabobank agricultural banking systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "rabobank.agricultural-market-outlook-report"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: rabobank
baseUri: "https://api.rabobank.nl/v2"
authentication:
type: bearer
token: "$secrets.rabobank_api_token"
resources:
- name: resource
path: "/agricultural/market/outlook/report/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: agricultural-market-outlook-report
method: GET
Generates a quarterly agricultural lending portfolio risk report by aggregating loan exposures from the lending system, commodity price risks from Refinitiv, and weather risks from KNMI, then distributes the report via SharePoint and Slack.
naftiko: "0.5"
info:
label: "Agricultural Portfolio Risk Report Orchestrator"
description: "Generates a quarterly agricultural lending portfolio risk report by aggregating loan exposures from the lending system, commodity price risks from Refinitiv, and weather risks from KNMI, then distributes the report via SharePoint and Slack."
tags:
- agricultural-lending
- risk
- reporting
- refinitiv
- knmi
- sharepoint
- slack
capability:
exposes:
- type: mcp
namespace: agri-portfolio-risk
port: 8080
tools:
- name: generate-portfolio-risk-report
description: "Given a quarter, aggregate agricultural lending risks across multiple dimensions and distribute the report."
inputParameters:
- name: quarter
in: body
type: string
description: "Reporting quarter in YYYY-Q# format."
steps:
- name: get-loan-exposures
type: call
call: "loan-system.get-agri-portfolio"
with:
period: "{{quarter}}"
- name: get-commodity-risks
type: call
call: "refinitiv.get-agri-volatility"
with:
period: "{{quarter}}"
- name: get-weather-risks
type: call
call: "knmi.get-seasonal-outlook"
with:
period: "{{quarter}}"
- name: upload-report
type: call
call: "sharepoint.upload-file"
with:
site_id: "risk_reporting"
file_path: "AgriPortfolio/{{quarter}}_risk_report.pdf"
content: "Total exposure: EUR {{get-loan-exposures.total_exposure}}M, Commodity VaR: EUR {{get-commodity-risks.portfolio_var}}M, Weather risk index: {{get-weather-risks.risk_index}}"
- name: notify-team
type: call
call: "slack.post-message"
with:
channel: "#agri-risk"
text: "Q{{quarter}} Agri Portfolio Risk Report published. Exposure: EUR {{get-loan-exposures.total_exposure}}M. Commodity VaR: EUR {{get-commodity-risks.portfolio_var}}M. Weather risk: {{get-weather-risks.risk_index}}."
consumes:
- type: http
namespace: loan-system
baseUri: "https://api.rabobank.nl/internal/lending/v2"
authentication:
type: bearer
token: "$secrets.loan_origination_token"
resources:
- name: portfolio
path: "/portfolio/agricultural"
inputParameters:
- name: period
in: query
operations:
- name: get-agri-portfolio
method: GET
- type: http
namespace: refinitiv
baseUri: "https://api.refinitiv.com/data/analytics/v1"
authentication:
type: bearer
token: "$secrets.refinitiv_token"
resources:
- name: volatility
path: "/agricultural/volatility"
inputParameters:
- name: period
in: query
operations:
- name: get-agri-volatility
method: GET
- type: http
namespace: knmi
baseUri: "https://api.knmi.nl/open-data/v1"
authentication:
type: bearer
token: "$secrets.knmi_token"
resources:
- name: seasonal
path: "/seasonal-outlook"
inputParameters:
- name: period
in: query
operations:
- name: get-seasonal-outlook
method: GET
- type: http
namespace: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: files
path: "/{{site_id}}/drive/root:/{{file_path}}:/content"
inputParameters:
- name: site_id
in: path
- name: file_path
in: path
operations:
- name: upload-file
method: PUT
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: messages
path: "/chat.postMessage"
operations:
- name: post-message
method: POST
Orchestrates agricultural portfolio stress test pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Agricultural Portfolio Stress Test Pipeline"
description: "Orchestrates agricultural portfolio stress test pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- agricultural
- rabobank
- confluence
- bloomberg
- rabobank
capability:
exposes:
- type: mcp
namespace: agricultural
port: 8080
tools:
- name: agricultural-portfolio-stress-test-pipeline
description: "Orchestrates agricultural portfolio stress test pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "confluence.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "bloomberg.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "rabobank.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: confluence
baseUri: "https://rabobank.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: confluence-resource
path: "/api/agricultural"
operations:
- name: execute-1
method: POST
- type: http
namespace: bloomberg
baseUri: "https://api.bloomberg.com/v1"
authentication:
type: bearer
token: "$secrets.bloomberg_token"
resources:
- name: bloomberg-resource
path: "/api/agricultural"
operations:
- name: execute-2
method: POST
- type: http
namespace: rabobank
baseUri: "https://api.rabobank.nl/v2"
authentication:
type: bearer
token: "$secrets.rabobank_api_token"
resources:
- name: rabobank-resource
path: "/api/agricultural"
operations:
- name: execute-3
method: POST
Assists a farmer in applying for EU agricultural subsidies by pulling farm registration data from RVO, verifying land use from the Kadaster, compiling the application, and submitting it through the RVO portal.
naftiko: "0.5"
info:
label: "Agricultural Subsidy Application Orchestrator"
description: "Assists a farmer in applying for EU agricultural subsidies by pulling farm registration data from RVO, verifying land use from the Kadaster, compiling the application, and submitting it through the RVO portal."
tags:
- agricultural-lending
- subsidies
- rvo
- kadaster
capability:
exposes:
- type: mcp
namespace: agri-subsidies
port: 8080
tools:
- name: submit-subsidy-application
description: "Given a farmer's RVO registration and land parcels, compile and submit an EU subsidy application."
inputParameters:
- name: rvo_number
in: body
type: string
description: "The RVO (Netherlands Enterprise Agency) registration number."
- name: subsidy_type
in: body
type: string
description: "Type of subsidy (basic_payment, greening, agri_environment)."
- name: land_parcels
in: body
type: string
description: "Comma-separated Kadaster parcel IDs."
steps:
- name: get-farm-registration
type: call
call: "rvo.get-registration"
with:
rvo_number: "{{rvo_number}}"
- name: verify-parcels
type: call
call: "kadaster.get-parcels-batch"
with:
parcel_ids: "{{land_parcels}}"
- name: submit-application
type: call
call: "rvo.submit-subsidy"
with:
rvo_number: "{{rvo_number}}"
subsidy_type: "{{subsidy_type}}"
total_hectares: "{{verify-parcels.total_hectares}}"
eligible_land: "{{verify-parcels.eligible_hectares}}"
consumes:
- type: http
namespace: rvo
baseUri: "https://api.rvo.nl/v1"
authentication:
type: bearer
token: "$secrets.rvo_token"
resources:
- name: registrations
path: "/farm-registrations/{{rvo_number}}"
inputParameters:
- name: rvo_number
in: path
operations:
- name: get-registration
method: GET
- name: subsidies
path: "/subsidy-applications"
operations:
- name: submit-subsidy
method: POST
- type: http
namespace: kadaster
baseUri: "https://api.kadaster.nl/v2"
authentication:
type: bearer
token: "$secrets.kadaster_token"
resources:
- name: parcels-batch
path: "/parcels/batch"
operations:
- name: get-parcels-batch
method: POST
Facilitates supply chain finance for agricultural buyers and sellers by verifying the trade invoice, discounting the receivable, paying the seller early, and scheduling the buyer's payment.
naftiko: "0.5"
info:
label: "Agricultural Supply Chain Finance Orchestrator"
description: "Facilitates supply chain finance for agricultural buyers and sellers by verifying the trade invoice, discounting the receivable, paying the seller early, and scheduling the buyer's payment."
tags:
- agricultural-lending
- trade-finance
- payments
capability:
exposes:
- type: mcp
namespace: supply-chain-finance
port: 8080
tools:
- name: process-scf-transaction
description: "Given an invoice between buyer and seller, discount the receivable, pay seller, and schedule buyer payment."
inputParameters:
- name: invoice_id
in: body
type: string
description: "The trade invoice identifier."
- name: seller_iban
in: body
type: string
description: "Seller's IBAN for early payment."
- name: buyer_id
in: body
type: string
description: "The buyer customer identifier."
steps:
- name: verify-invoice
type: call
call: "trade-finance-system.verify-invoice"
with:
invoice_id: "{{invoice_id}}"
- name: discount-receivable
type: call
call: "trade-finance-system.discount-invoice"
with:
invoice_id: "{{invoice_id}}"
amount: "{{verify-invoice.amount}}"
- name: pay-seller
type: call
call: "payment-engine.create-sepa-payment"
with:
creditor_iban: "{{seller_iban}}"
amount: "{{discount-receivable.discounted_amount}}"
reference: "SCF-{{invoice_id}}"
- name: schedule-buyer-payment
type: call
call: "core-banking.schedule-debit"
with:
customer_id: "{{buyer_id}}"
amount: "{{verify-invoice.amount}}"
date: "{{verify-invoice.due_date}}"
consumes:
- type: http
namespace: trade-finance-system
baseUri: "https://api.rabobank.nl/internal/trade-finance/v2"
authentication:
type: bearer
token: "$secrets.trade_finance_token"
resources:
- name: invoices
path: "/invoices/{{invoice_id}}"
inputParameters:
- name: invoice_id
in: path
operations:
- name: verify-invoice
method: GET
- name: discounting
path: "/invoices/{{invoice_id}}/discount"
inputParameters:
- name: invoice_id
in: path
operations:
- name: discount-invoice
method: POST
- type: http
namespace: payment-engine
baseUri: "https://api.rabobank.nl/internal/payments/v3"
authentication:
type: bearer
token: "$secrets.payment_engine_token"
resources:
- name: sepa
path: "/sepa-credit-transfers"
operations:
- name: create-sepa-payment
method: POST
- type: http
namespace: core-banking
baseUri: "https://api.rabobank.nl/internal/cbs/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: scheduled-debits
path: "/scheduled-debits"
operations:
- name: schedule-debit
method: POST
Orchestrates agricultural supply chain tracking pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Agricultural Supply Chain Tracking Pipeline"
description: "Orchestrates agricultural supply chain tracking pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- agricultural
- rabobank
- sap
- confluence
- bloomberg
capability:
exposes:
- type: mcp
namespace: agricultural
port: 8080
tools:
- name: agricultural-supply-chain-tracking-pipeline
description: "Orchestrates agricultural supply chain tracking pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "sap.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "confluence.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "bloomberg.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: sap
baseUri: "https://rabobank-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/agricultural"
operations:
- name: execute-1
method: POST
- type: http
namespace: confluence
baseUri: "https://rabobank.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: confluence-resource
path: "/api/agricultural"
operations:
- name: execute-2
method: POST
- type: http
namespace: bloomberg
baseUri: "https://api.bloomberg.com/v1"
authentication:
type: bearer
token: "$secrets.bloomberg_token"
resources:
- name: bloomberg-resource
path: "/api/agricultural"
operations:
- name: execute-3
method: POST
Orchestrates agricultural weather risk pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Agricultural Weather Risk Pipeline"
description: "Orchestrates agricultural weather risk pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- agricultural
- rabobank
- snowflake
- slack
- jira
capability:
exposes:
- type: mcp
namespace: agricultural
port: 8080
tools:
- name: agricultural-weather-risk-pipeline
description: "Orchestrates agricultural weather risk pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "snowflake.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "slack.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "jira.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: snowflake
baseUri: "https://rabobank.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/agricultural"
operations:
- name: execute-1
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/agricultural"
operations:
- name: execute-2
method: POST
- type: http
namespace: jira
baseUri: "https://rabobank.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/agricultural"
operations:
- name: execute-3
method: POST
Orchestrates aml suspicious activity pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Aml Suspicious Activity Pipeline"
description: "Orchestrates aml suspicious activity pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- aml
- rabobank
- slack
- jira
- teams
capability:
exposes:
- type: mcp
namespace: aml
port: 8080
tools:
- name: aml-suspicious-activity-pipeline
description: "Orchestrates aml suspicious activity pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "slack.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "jira.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "teams.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/aml"
operations:
- name: execute-1
method: POST
- type: http
namespace: jira
baseUri: "https://rabobank.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/aml"
operations:
- name: execute-2
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/aml"
operations:
- name: execute-3
method: POST
Processes a batch payment file by validating the SEPA XML format, screening all beneficiaries for sanctions, and submitting the batch to the payment engine for execution.
naftiko: "0.5"
info:
label: "Batch Payment File Processing"
description: "Processes a batch payment file by validating the SEPA XML format, screening all beneficiaries for sanctions, and submitting the batch to the payment engine for execution."
tags:
- payments
- sepa
- compliance
capability:
exposes:
- type: mcp
namespace: batch-payments
port: 8080
tools:
- name: process-batch-payment
description: "Given a batch payment file, validate format, screen beneficiaries, and submit for execution."
inputParameters:
- name: file_reference
in: body
type: string
description: "The batch file reference identifier."
- name: total_amount
in: body
type: string
description: "Total batch amount in EUR."
- name: payment_count
in: body
type: string
description: "Number of payments in the batch."
steps:
- name: validate-file
type: call
call: "payment-engine.validate-batch"
with:
file_reference: "{{file_reference}}"
- name: screen-beneficiaries
type: call
call: "sanctions-api.screen-batch"
with:
file_reference: "{{file_reference}}"
count: "{{payment_count}}"
- name: submit-batch
type: call
call: "payment-engine.execute-batch"
with:
file_reference: "{{file_reference}}"
screening_result: "{{screen-beneficiaries.result}}"
consumes:
- type: http
namespace: payment-engine
baseUri: "https://api.rabobank.nl/internal/payments/v3"
authentication:
type: bearer
token: "$secrets.payment_engine_token"
resources:
- name: batch-validation
path: "/batches/{{file_reference}}/validate"
inputParameters:
- name: file_reference
in: path
operations:
- name: validate-batch
method: POST
- name: batch-execution
path: "/batches/{{file_reference}}/execute"
inputParameters:
- name: file_reference
in: path
operations:
- name: execute-batch
method: POST
- type: http
namespace: sanctions-api
baseUri: "https://api.rabobank.nl/internal/sanctions/v1"
authentication:
type: bearer
token: "$secrets.sanctions_token"
resources:
- name: batch-screening
path: "/screen-batch"
operations:
- name: screen-batch
method: POST
Retrieves business account overdraft status data from the Rabobank agricultural banking systems.
naftiko: "0.5"
info:
label: "Business Account Overdraft Status"
description: "Retrieves business account overdraft status data from the Rabobank agricultural banking systems."
tags:
- business
- rabobank
- status
capability:
exposes:
- type: mcp
namespace: business
port: 8080
tools:
- name: business-account-overdraft-status
description: "Retrieves business account overdraft status data from the Rabobank agricultural banking systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "rabobank.business-account-overdraft-status"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: rabobank
baseUri: "https://api.rabobank.nl/v2"
authentication:
type: bearer
token: "$secrets.rabobank_api_token"
resources:
- name: resource
path: "/business/account/overdraft/status/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: business-account-overdraft-status
method: GET
Orchestrates business loan covenant monitoring pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Business Loan Covenant Monitoring Pipeline"
description: "Orchestrates business loan covenant monitoring pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- business
- rabobank
- teams
- sap
- confluence
capability:
exposes:
- type: mcp
namespace: business
port: 8080
tools:
- name: business-loan-covenant-monitoring-pipeline
description: "Orchestrates business loan covenant monitoring pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "teams.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "sap.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "confluence.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/business"
operations:
- name: execute-1
method: POST
- type: http
namespace: sap
baseUri: "https://rabobank-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/business"
operations:
- name: execute-2
method: POST
- type: http
namespace: confluence
baseUri: "https://rabobank.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: confluence-resource
path: "/api/business"
operations:
- name: execute-3
method: POST
Retrieves the current interest rate for a business loan from the pricing engine, returning the base rate, spread, all-in rate, and applicable risk premium.
naftiko: "0.5"
info:
label: "Business Loan Interest Rate Check"
description: "Retrieves the current interest rate for a business loan from the pricing engine, returning the base rate, spread, all-in rate, and applicable risk premium."
tags:
- banking
- lending
- pricing
capability:
exposes:
- type: mcp
namespace: lending-rates
port: 8080
tools:
- name: get-business-loan-rate
description: "Look up the current interest rate for a business loan."
inputParameters:
- name: loan_type
in: body
type: string
description: "Type of business loan (working_capital, term_loan, revolving_credit)."
- name: risk_rating
in: body
type: string
description: "The internal risk rating (1-10)."
- name: term_months
in: body
type: string
description: "Loan term in months."
call: "pricing-engine.get-rate"
with:
product_type: "{{loan_type}}"
risk_rating: "{{risk_rating}}"
term: "{{term_months}}"
outputParameters:
- name: base_rate
type: string
mapping: "$.data.baseRate"
- name: spread
type: string
mapping: "$.data.spread"
- name: all_in_rate
type: string
mapping: "$.data.allInRate"
- name: risk_premium
type: string
mapping: "$.data.riskPremium"
consumes:
- type: http
namespace: pricing-engine
baseUri: "https://api.rabobank.nl/internal/pricing/v2"
authentication:
type: bearer
token: "$secrets.pricing_engine_token"
resources:
- name: rates
path: "/business-loan-rates"
operations:
- name: get-rate
method: POST
Tracks carbon credits for farmers participating in Rabobank's sustainability programs by pulling farm emission data, verifying credits on the carbon registry, and updating the farmer's sustainability dashboard in the customer portal.
naftiko: "0.5"
info:
label: "Carbon Credit Tracking Orchestrator"
description: "Tracks carbon credits for farmers participating in Rabobank's sustainability programs by pulling farm emission data, verifying credits on the carbon registry, and updating the farmer's sustainability dashboard in the customer portal."
tags:
- agricultural-lending
- sustainability
- carbon
capability:
exposes:
- type: mcp
namespace: sustainability
port: 8080
tools:
- name: update-carbon-credits
description: "Given a farmer ID, pull emission data, verify credits, and update the sustainability dashboard."
inputParameters:
- name: farmer_id
in: body
type: string
description: "The farmer/customer identifier."
- name: reporting_period
in: body
type: string
description: "Reporting period in YYYY format."
steps:
- name: get-emission-data
type: call
call: "sustainability-platform.get-emissions"
with:
farmer_id: "{{farmer_id}}"
year: "{{reporting_period}}"
- name: verify-credits
type: call
call: "carbon-registry.verify-credits"
with:
farmer_id: "{{farmer_id}}"
emissions_reduced: "{{get-emission-data.co2_reduced_tons}}"
- name: update-dashboard
type: call
call: "customer-portal.update-sustainability"
with:
customer_id: "{{farmer_id}}"
carbon_credits: "{{verify-credits.verified_credits}}"
total_reduction: "{{get-emission-data.co2_reduced_tons}}"
consumes:
- type: http
namespace: sustainability-platform
baseUri: "https://api.rabobank.nl/internal/sustainability/v1"
authentication:
type: bearer
token: "$secrets.sustainability_token"
resources:
- name: emissions
path: "/farmers/{{farmer_id}}/emissions"
inputParameters:
- name: farmer_id
in: path
- name: year
in: query
operations:
- name: get-emissions
method: GET
- type: http
namespace: carbon-registry
baseUri: "https://api.rabobank.nl/internal/carbon-registry/v1"
authentication:
type: bearer
token: "$secrets.carbon_registry_token"
resources:
- name: credits
path: "/verifications"
operations:
- name: verify-credits
method: POST
- type: http
namespace: customer-portal
baseUri: "https://api.rabobank.nl/internal/portal/v1"
authentication:
type: bearer
token: "$secrets.portal_token"
resources:
- name: sustainability
path: "/customers/{{customer_id}}/sustainability"
inputParameters:
- name: customer_id
in: path
operations:
- name: update-sustainability
method: PUT
Orchestrates carbon credit verification pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Carbon Credit Verification Pipeline"
description: "Orchestrates carbon credit verification pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- carbon
- rabobank
- salesforce
- servicenow
- snowflake
capability:
exposes:
- type: mcp
namespace: carbon
port: 8080
tools:
- name: carbon-credit-verification-pipeline
description: "Orchestrates carbon credit verification pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "salesforce.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "servicenow.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "snowflake.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://rabobank.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/carbon"
operations:
- name: execute-1
method: POST
- type: http
namespace: servicenow
baseUri: "https://rabobank.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/carbon"
operations:
- name: execute-2
method: POST
- type: http
namespace: snowflake
baseUri: "https://rabobank.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/carbon"
operations:
- name: execute-3
method: POST
Prepares a client relationship review for an agricultural client by pulling their loan portfolio from the lending system, deposit balances from core banking, and recent interactions from Salesforce, then compiling into a review document in SharePoint.
naftiko: "0.5"
info:
label: "Client Relationship Review Orchestrator"
description: "Prepares a client relationship review for an agricultural client by pulling their loan portfolio from the lending system, deposit balances from core banking, and recent interactions from Salesforce, then compiling into a review document in SharePoint."
tags:
- agricultural-lending
- banking
- salesforce
- sharepoint
capability:
exposes:
- type: mcp
namespace: client-reviews
port: 8080
tools:
- name: prepare-client-review
description: "Given a customer ID, compile loan, deposit, and interaction data into a relationship review."
inputParameters:
- name: customer_id
in: body
type: string
description: "The customer identifier."
- name: review_date
in: body
type: string
description: "Review date in YYYY-MM-DD format."
steps:
- name: get-loans
type: call
call: "loan-system.get-customer-loans"
with:
customer_id: "{{customer_id}}"
- name: get-deposits
type: call
call: "core-banking.get-customer-balances"
with:
customer_id: "{{customer_id}}"
- name: get-interactions
type: call
call: "salesforce.get-recent-activities"
with:
account_id: "{{customer_id}}"
- name: upload-review
type: call
call: "sharepoint.upload-file"
with:
site_id: "relationship_reviews"
file_path: "Reviews/{{customer_id}}/{{review_date}}_review.pdf"
content: "Loans: {{get-loans.count}}, Total exposure: EUR {{get-loans.total_exposure}}, Deposits: EUR {{get-deposits.total_balance}}, Interactions: {{get-interactions.count}}"
consumes:
- type: http
namespace: loan-system
baseUri: "https://api.rabobank.nl/internal/lending/v2"
authentication:
type: bearer
token: "$secrets.loan_origination_token"
resources:
- name: customer-loans
path: "/customers/{{customer_id}}/loans"
inputParameters:
- name: customer_id
in: path
operations:
- name: get-customer-loans
method: GET
- type: http
namespace: core-banking
baseUri: "https://api.rabobank.nl/internal/cbs/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: balances
path: "/customers/{{customer_id}}/balances"
inputParameters:
- name: customer_id
in: path
operations:
- name: get-customer-balances
method: GET
- type: http
namespace: salesforce
baseUri: "https://rabobank.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: activities
path: "/sobjects/Task"
inputParameters:
- name: account_id
in: query
operations:
- name: get-recent-activities
method: GET
- type: http
namespace: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: files
path: "/{{site_id}}/drive/root:/{{file_path}}:/content"
inputParameters:
- name: site_id
in: path
- name: file_path
in: path
operations:
- name: upload-file
method: PUT
Retrieves current commodity prices from the Refinitiv market data platform for agricultural commodities, returning spot price, 30-day change, and forward curve for wheat, corn, soy, and dairy.
naftiko: "0.5"
info:
label: "Commodity Price Lookup"
description: "Retrieves current commodity prices from the Refinitiv market data platform for agricultural commodities, returning spot price, 30-day change, and forward curve for wheat, corn, soy, and dairy."
tags:
- agricultural-lending
- market-data
- refinitiv
capability:
exposes:
- type: mcp
namespace: market-data
port: 8080
tools:
- name: get-commodity-price
description: "Look up current commodity market price from Refinitiv."
inputParameters:
- name: commodity_ric
in: body
type: string
description: "The Refinitiv instrument code (RIC) for the commodity."
call: "refinitiv.get-price"
with:
ric: "{{commodity_ric}}"
outputParameters:
- name: spot_price
type: string
mapping: "$.data.spotPrice"
- name: change_30d
type: string
mapping: "$.data.change30Day"
- name: forward_curve
type: string
mapping: "$.data.forwardCurve"
consumes:
- type: http
namespace: refinitiv
baseUri: "https://api.refinitiv.com/data/pricing/v1"
authentication:
type: bearer
token: "$secrets.refinitiv_token"
resources:
- name: pricing
path: "/instruments/{{ric}}/pricing"
inputParameters:
- name: ric
in: path
operations:
- name: get-price
method: GET
Checks an employee's compliance training status from the LMS, returning completed modules, overdue trainings, and next due date.
naftiko: "0.5"
info:
label: "Compliance Training Status Check"
description: "Checks an employee's compliance training status from the LMS, returning completed modules, overdue trainings, and next due date."
tags:
- compliance
- hr
- training
capability:
exposes:
- type: mcp
namespace: compliance-training
port: 8080
tools:
- name: check-training-compliance
description: "Check compliance training status for a Rabobank employee."
inputParameters:
- name: employee_id
in: body
type: string
description: "The employee identifier."
call: "lms.get-compliance-status"
with:
user_id: "{{employee_id}}"
outputParameters:
- name: completed
type: string
mapping: "$.data.completedCount"
- name: overdue
type: string
mapping: "$.data.overdueCount"
- name: next_due
type: string
mapping: "$.data.nextDueDate"
consumes:
- type: http
namespace: lms
baseUri: "https://api.rabobank.nl/internal/lms/v1"
authentication:
type: bearer
token: "$secrets.lms_token"
resources:
- name: compliance
path: "/users/{{user_id}}/compliance"
inputParameters:
- name: user_id
in: path
operations:
- name: get-compliance-status
method: GET
Creates a credit card transaction dispute in the card management system, documenting the disputed transaction, reason, and amount.
naftiko: "0.5"
info:
label: "Credit Card Transaction Dispute"
description: "Creates a credit card transaction dispute in the card management system, documenting the disputed transaction, reason, and amount."
tags:
- banking
- payments
- disputes
capability:
exposes:
- type: mcp
namespace: card-disputes
port: 8080
tools:
- name: create-dispute
description: "File a credit card transaction dispute."
inputParameters:
- name: card_number_last4
in: body
type: string
description: "Last 4 digits of the card."
- name: transaction_id
in: body
type: string
description: "The transaction identifier."
- name: dispute_reason
in: body
type: string
description: "Reason (unauthorized, duplicate, not_received, defective)."
- name: amount
in: body
type: string
description: "Disputed amount."
call: "card-system.create-dispute"
with:
card_last4: "{{card_number_last4}}"
transaction: "{{transaction_id}}"
reason: "{{dispute_reason}}"
amount: "{{amount}}"
outputParameters:
- name: dispute_id
type: string
mapping: "$.data.disputeId"
- name: status
type: string
mapping: "$.data.status"
consumes:
- type: http
namespace: card-system
baseUri: "https://api.rabobank.nl/internal/cards/v2"
authentication:
type: bearer
token: "$secrets.card_system_token"
resources:
- name: disputes
path: "/disputes"
operations:
- name: create-dispute
method: POST
Processes an agricultural crop insurance claim by verifying the policy, pulling weather data from KNMI to confirm adverse conditions, obtaining satellite imagery from the European Space Agency, and creating the claim in the insurance system.
naftiko: "0.5"
info:
label: "Crop Insurance Claim Processing Orchestrator"
description: "Processes an agricultural crop insurance claim by verifying the policy, pulling weather data from KNMI to confirm adverse conditions, obtaining satellite imagery from the European Space Agency, and creating the claim in the insurance system."
tags:
- agricultural-lending
- insurance
- knmi
- claims
capability:
exposes:
- type: mcp
namespace: crop-insurance
port: 8080
tools:
- name: process-crop-claim
description: "Given a farmer ID and crop loss details, verify policy, check weather, pull satellite data, and create claim."
inputParameters:
- name: farmer_id
in: body
type: string
description: "The farmer/customer identifier."
- name: policy_number
in: body
type: string
description: "The crop insurance policy number."
- name: loss_type
in: body
type: string
description: "Type of loss (drought, flood, hail, frost, disease)."
- name: loss_date
in: body
type: string
description: "Date of loss in YYYY-MM-DD format."
- name: affected_hectares
in: body
type: string
description: "Number of hectares affected."
steps:
- name: verify-policy
type: call
call: "insurance-system.get-policy"
with:
policy_number: "{{policy_number}}"
- name: get-weather-data
type: call
call: "knmi.get-historical-data"
with:
region: "{{verify-policy.farm_region}}"
date: "{{loss_date}}"
- name: get-satellite-imagery
type: call
call: "esa.get-ndvi-data"
with:
coordinates: "{{verify-policy.farm_coordinates}}"
date: "{{loss_date}}"
- name: create-claim
type: call
call: "insurance-system.create-claim"
with:
policy_number: "{{policy_number}}"
loss_type: "{{loss_type}}"
loss_date: "{{loss_date}}"
hectares: "{{affected_hectares}}"
weather_confirmation: "{{get-weather-data.event_confirmed}}"
ndvi_score: "{{get-satellite-imagery.ndvi}}"
consumes:
- type: http
namespace: insurance-system
baseUri: "https://api.rabobank.nl/internal/crop-insurance/v1"
authentication:
type: bearer
token: "$secrets.crop_insurance_token"
resources:
- name: policies
path: "/policies/{{policy_number}}"
inputParameters:
- name: policy_number
in: path
operations:
- name: get-policy
method: GET
- name: claims
path: "/claims"
operations:
- name: create-claim
method: POST
- type: http
namespace: knmi
baseUri: "https://api.knmi.nl/open-data/v1"
authentication:
type: bearer
token: "$secrets.knmi_token"
resources:
- name: historical
path: "/historical-data"
inputParameters:
- name: region
in: query
- name: date
in: query
operations:
- name: get-historical-data
method: GET
- type: http
namespace: esa
baseUri: "https://scihub.copernicus.eu/dhus/api/v1"
authentication:
type: basic
username: "$secrets.esa_user"
password: "$secrets.esa_password"
resources:
- name: imagery
path: "/ndvi"
operations:
- name: get-ndvi-data
method: POST
Orchestrates crop yield forecasting pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Crop Yield Forecasting Pipeline"
description: "Orchestrates crop yield forecasting pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- crop
- rabobank
- snowflake
- slack
- jira
capability:
exposes:
- type: mcp
namespace: crop
port: 8080
tools:
- name: crop-yield-forecasting-pipeline
description: "Orchestrates crop yield forecasting pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "snowflake.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "slack.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "jira.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: snowflake
baseUri: "https://rabobank.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/crop"
operations:
- name: execute-1
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/crop"
operations:
- name: execute-2
method: POST
- type: http
namespace: jira
baseUri: "https://rabobank.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/crop"
operations:
- name: execute-3
method: POST
Processes a cross-border SWIFT payment by validating the beneficiary through sanctions screening, initiating the payment via the SWIFT gateway, and sending a payment confirmation to the customer via Salesforce Marketing Cloud.
naftiko: "0.5"
info:
label: "Cross-Border Payment Orchestrator"
description: "Processes a cross-border SWIFT payment by validating the beneficiary through sanctions screening, initiating the payment via the SWIFT gateway, and sending a payment confirmation to the customer via Salesforce Marketing Cloud."
tags:
- payments
- swift
- compliance
- salesforce-marketing-cloud
capability:
exposes:
- type: mcp
namespace: cross-border-payments
port: 8080
tools:
- name: process-swift-payment
description: "Given payment details, screen beneficiary, initiate SWIFT payment, and send confirmation."
inputParameters:
- name: debtor_iban
in: body
type: string
description: "Debtor IBAN."
- name: beneficiary_name
in: body
type: string
description: "Beneficiary name."
- name: beneficiary_account
in: body
type: string
description: "Beneficiary account number."
- name: beneficiary_bic
in: body
type: string
description: "Beneficiary bank BIC/SWIFT code."
- name: amount
in: body
type: string
description: "Payment amount."
- name: currency
in: body
type: string
description: "Payment currency (e.g., USD, GBP)."
steps:
- name: screen-beneficiary
type: call
call: "sanctions-api.screen"
with:
name: "{{beneficiary_name}}"
country: "{{beneficiary_bic}}"
- name: initiate-payment
type: call
call: "swift-gateway.create-payment"
with:
debtor_iban: "{{debtor_iban}}"
beneficiary_name: "{{beneficiary_name}}"
beneficiary_account: "{{beneficiary_account}}"
beneficiary_bic: "{{beneficiary_bic}}"
amount: "{{amount}}"
currency: "{{currency}}"
- name: send-confirmation
type: call
call: "sfmc.send-email"
with:
template: "swift_payment_confirmation"
to: "{{initiate-payment.debtor_email}}"
merge_amount: "{{amount}} {{currency}}"
merge_beneficiary: "{{beneficiary_name}}"
merge_reference: "{{initiate-payment.uetr}}"
consumes:
- type: http
namespace: sanctions-api
baseUri: "https://api.rabobank.nl/internal/sanctions/v1"
authentication:
type: bearer
token: "$secrets.sanctions_token"
resources:
- name: screening
path: "/screen"
operations:
- name: screen
method: POST
- type: http
namespace: swift-gateway
baseUri: "https://api.rabobank.nl/internal/swift/v2"
authentication:
type: bearer
token: "$secrets.swift_gateway_token"
resources:
- name: payments
path: "/mt103"
operations:
- name: create-payment
method: POST
- type: http
namespace: sfmc
baseUri: "https://mc.rabobank.nl/rest"
authentication:
type: bearer
token: "$secrets.sfmc_token"
resources:
- name: emails
path: "/messaging/v1/email/messages"
operations:
- name: send-email
method: POST
Orchestrates cross border trade finance pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Cross Border Trade Finance Pipeline"
description: "Orchestrates cross border trade finance pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- cross
- rabobank
- servicenow
- snowflake
- slack
capability:
exposes:
- type: mcp
namespace: cross
port: 8080
tools:
- name: cross-border-trade-finance-pipeline
description: "Orchestrates cross border trade finance pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "servicenow.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "snowflake.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "slack.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: servicenow
baseUri: "https://rabobank.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/cross"
operations:
- name: execute-1
method: POST
- type: http
namespace: snowflake
baseUri: "https://rabobank.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/cross"
operations:
- name: execute-2
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/cross"
operations:
- name: execute-3
method: POST
Retrieves a customer's bank account balance and recent transaction summary from the core banking system, returning available balance, ledger balance, and last 5 transactions.
naftiko: "0.5"
info:
label: "Customer Account Balance Lookup"
description: "Retrieves a customer's bank account balance and recent transaction summary from the core banking system, returning available balance, ledger balance, and last 5 transactions."
tags:
- banking
- accounts
- core-banking
capability:
exposes:
- type: mcp
namespace: banking
port: 8080
tools:
- name: get-account-balance
description: "Look up a customer's bank account balance and recent transactions."
inputParameters:
- name: account_iban
in: body
type: string
description: "The customer's IBAN."
call: "core-banking.get-balance"
with:
iban: "{{account_iban}}"
outputParameters:
- name: available_balance
type: string
mapping: "$.data.availableBalance"
- name: ledger_balance
type: string
mapping: "$.data.ledgerBalance"
- name: currency
type: string
mapping: "$.data.currency"
- name: recent_transactions
type: string
mapping: "$.data.recentTransactions"
consumes:
- type: http
namespace: core-banking
baseUri: "https://api.rabobank.nl/internal/cbs/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: balances
path: "/accounts/{{iban}}/balance"
inputParameters:
- name: iban
in: path
operations:
- name: get-balance
method: GET
When a customer complaint is received, creates a case in Salesforce Service Cloud, pulls the customer's account and recent transactions from core banking, and sends an acknowledgment email via Salesforce Marketing Cloud.
naftiko: "0.5"
info:
label: "Customer Complaint Handling Orchestrator"
description: "When a customer complaint is received, creates a case in Salesforce Service Cloud, pulls the customer's account and recent transactions from core banking, and sends an acknowledgment email via Salesforce Marketing Cloud."
tags:
- customer-service
- salesforce
- core-banking
- salesforce-marketing-cloud
capability:
exposes:
- type: mcp
namespace: customer-complaints
port: 8080
tools:
- name: handle-complaint
description: "Given customer and complaint details, create case, pull account context, and send acknowledgment."
inputParameters:
- name: customer_id
in: body
type: string
description: "The customer identifier."
- name: complaint_type
in: body
type: string
description: "Type of complaint (service, product, fees, fraud)."
- name: description
in: body
type: string
description: "Complaint description."
steps:
- name: get-customer-account
type: call
call: "core-banking.get-customer"
with:
customer_id: "{{customer_id}}"
- name: create-case
type: call
call: "salesforce.create-case"
with:
contact_name: "{{get-customer-account.name}}"
type: "{{complaint_type}}"
description: "{{description}}"
priority: "High"
- name: send-acknowledgment
type: call
call: "sfmc.send-email"
with:
template: "complaint_acknowledgment"
to: "{{get-customer-account.email}}"
merge_name: "{{get-customer-account.name}}"
merge_case: "{{create-case.case_number}}"
consumes:
- type: http
namespace: core-banking
baseUri: "https://api.rabobank.nl/internal/cbs/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: customers
path: "/customers/{{customer_id}}"
inputParameters:
- name: customer_id
in: path
operations:
- name: get-customer
method: GET
- type: http
namespace: salesforce
baseUri: "https://rabobank.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_token"
resources:
- name: cases
path: "/sobjects/Case"
operations:
- name: create-case
method: POST
- type: http
namespace: sfmc
baseUri: "https://mc.rabobank.nl/rest"
authentication:
type: bearer
token: "$secrets.sfmc_token"
resources:
- name: emails
path: "/messaging/v1/email/messages"
operations:
- name: send-email
method: POST
Orchestrates customer complaint handling pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Customer Complaint Handling Pipeline"
description: "Orchestrates customer complaint handling pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- customer
- rabobank
- slack
- jira
- teams
capability:
exposes:
- type: mcp
namespace: customer
port: 8080
tools:
- name: customer-complaint-handling-pipeline
description: "Orchestrates customer complaint handling pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "slack.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "jira.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "teams.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/customer"
operations:
- name: execute-1
method: POST
- type: http
namespace: jira
baseUri: "https://rabobank.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/customer"
operations:
- name: execute-2
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/customer"
operations:
- name: execute-3
method: POST
Retrieves customer complaint history lookup data from the Rabobank agricultural banking systems.
naftiko: "0.5"
info:
label: "Customer Complaint History Lookup"
description: "Retrieves customer complaint history lookup data from the Rabobank agricultural banking systems."
tags:
- customer
- rabobank
- lookup
capability:
exposes:
- type: mcp
namespace: customer
port: 8080
tools:
- name: customer-complaint-history-lookup
description: "Retrieves customer complaint history lookup data from the Rabobank agricultural banking systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "rabobank.customer-complaint-history-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: rabobank
baseUri: "https://api.rabobank.nl/v2"
authentication:
type: bearer
token: "$secrets.rabobank_api_token"
resources:
- name: resource
path: "/customer/complaint/history/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: customer-complaint-history-lookup
method: GET
Retrieves customer credit rating lookup data from the Rabobank agricultural banking systems.
naftiko: "0.5"
info:
label: "Customer Credit Rating Lookup"
description: "Retrieves customer credit rating lookup data from the Rabobank agricultural banking systems."
tags:
- customer
- rabobank
- lookup
capability:
exposes:
- type: mcp
namespace: customer
port: 8080
tools:
- name: customer-credit-rating-lookup
description: "Retrieves customer credit rating lookup data from the Rabobank agricultural banking systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "rabobank.customer-credit-rating-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: rabobank
baseUri: "https://api.rabobank.nl/v2"
authentication:
type: bearer
token: "$secrets.rabobank_api_token"
resources:
- name: resource
path: "/customer/credit/rating/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: customer-credit-rating-lookup
method: GET
Orchestrates customer credit review pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Customer Credit Review Pipeline"
description: "Orchestrates customer credit review pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- customer
- rabobank
- bloomberg
- rabobank
- salesforce
capability:
exposes:
- type: mcp
namespace: customer
port: 8080
tools:
- name: customer-credit-review-pipeline
description: "Orchestrates customer credit review pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "bloomberg.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "rabobank.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "salesforce.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: bloomberg
baseUri: "https://api.bloomberg.com/v1"
authentication:
type: bearer
token: "$secrets.bloomberg_token"
resources:
- name: bloomberg-resource
path: "/api/customer"
operations:
- name: execute-1
method: POST
- type: http
namespace: rabobank
baseUri: "https://api.rabobank.nl/v2"
authentication:
type: bearer
token: "$secrets.rabobank_api_token"
resources:
- name: rabobank-resource
path: "/api/customer"
operations:
- name: execute-2
method: POST
- type: http
namespace: salesforce
baseUri: "https://rabobank.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/customer"
operations:
- name: execute-3
method: POST
Orchestrates customer digital channel migration pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Customer Digital Channel Migration Pipeline"
description: "Orchestrates customer digital channel migration pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- customer
- rabobank
- confluence
- bloomberg
- rabobank
capability:
exposes:
- type: mcp
namespace: customer
port: 8080
tools:
- name: customer-digital-channel-migration-pipeline
description: "Orchestrates customer digital channel migration pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "confluence.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "bloomberg.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "rabobank.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: confluence
baseUri: "https://rabobank.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: confluence-resource
path: "/api/customer"
operations:
- name: execute-1
method: POST
- type: http
namespace: bloomberg
baseUri: "https://api.bloomberg.com/v1"
authentication:
type: bearer
token: "$secrets.bloomberg_token"
resources:
- name: bloomberg-resource
path: "/api/customer"
operations:
- name: execute-2
method: POST
- type: http
namespace: rabobank
baseUri: "https://api.rabobank.nl/v2"
authentication:
type: bearer
token: "$secrets.rabobank_api_token"
resources:
- name: rabobank-resource
path: "/api/customer"
operations:
- name: execute-3
method: POST
Orchestrates customer digital onboarding pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Customer Digital Onboarding Pipeline"
description: "Orchestrates customer digital onboarding pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- customer
- rabobank
- sap
- confluence
- bloomberg
capability:
exposes:
- type: mcp
namespace: customer
port: 8080
tools:
- name: customer-digital-onboarding-pipeline
description: "Orchestrates customer digital onboarding pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "sap.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "confluence.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "bloomberg.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: sap
baseUri: "https://rabobank-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/customer"
operations:
- name: execute-1
method: POST
- type: http
namespace: confluence
baseUri: "https://rabobank.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: confluence-resource
path: "/api/customer"
operations:
- name: execute-2
method: POST
- type: http
namespace: bloomberg
baseUri: "https://api.bloomberg.com/v1"
authentication:
type: bearer
token: "$secrets.bloomberg_token"
resources:
- name: bloomberg-resource
path: "/api/customer"
operations:
- name: execute-3
method: POST
Orchestrates customer financial review pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Customer Financial Review Pipeline"
description: "Orchestrates customer financial review pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- customer
- rabobank
- slack
- jira
- teams
capability:
exposes:
- type: mcp
namespace: customer
port: 8080
tools:
- name: customer-financial-review-pipeline
description: "Orchestrates customer financial review pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "slack.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "jira.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "teams.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/customer"
operations:
- name: execute-1
method: POST
- type: http
namespace: jira
baseUri: "https://rabobank.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/customer"
operations:
- name: execute-2
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/customer"
operations:
- name: execute-3
method: POST
Orchestrates customer kyc refresh pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Customer Kyc Refresh Pipeline"
description: "Orchestrates customer kyc refresh pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- customer
- rabobank
- teams
- sap
- confluence
capability:
exposes:
- type: mcp
namespace: customer
port: 8080
tools:
- name: customer-kyc-refresh-pipeline
description: "Orchestrates customer kyc refresh pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "teams.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "sap.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "confluence.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/customer"
operations:
- name: execute-1
method: POST
- type: http
namespace: sap
baseUri: "https://rabobank-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/customer"
operations:
- name: execute-2
method: POST
- type: http
namespace: confluence
baseUri: "https://rabobank.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: confluence-resource
path: "/api/customer"
operations:
- name: execute-3
method: POST
Orchestrates customer mortgage origination pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Customer Mortgage Origination Pipeline"
description: "Orchestrates customer mortgage origination pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- customer
- rabobank
- snowflake
- slack
- jira
capability:
exposes:
- type: mcp
namespace: customer
port: 8080
tools:
- name: customer-mortgage-origination-pipeline
description: "Orchestrates customer mortgage origination pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "snowflake.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "slack.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "jira.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: snowflake
baseUri: "https://rabobank.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/customer"
operations:
- name: execute-1
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/customer"
operations:
- name: execute-2
method: POST
- type: http
namespace: jira
baseUri: "https://rabobank.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/customer"
operations:
- name: execute-3
method: POST
Orchestrates customer offboarding pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Customer Offboarding Pipeline"
description: "Orchestrates customer offboarding pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- customer
- rabobank
- servicenow
- snowflake
- slack
capability:
exposes:
- type: mcp
namespace: customer
port: 8080
tools:
- name: customer-offboarding-pipeline
description: "Orchestrates customer offboarding pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "servicenow.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "snowflake.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "slack.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: servicenow
baseUri: "https://rabobank.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/customer"
operations:
- name: execute-1
method: POST
- type: http
namespace: snowflake
baseUri: "https://rabobank.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/customer"
operations:
- name: execute-2
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/customer"
operations:
- name: execute-3
method: POST
Orchestrates customer pricing review pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Customer Pricing Review Pipeline"
description: "Orchestrates customer pricing review pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- customer
- rabobank
- salesforce
- servicenow
- snowflake
capability:
exposes:
- type: mcp
namespace: customer
port: 8080
tools:
- name: customer-pricing-review-pipeline
description: "Orchestrates customer pricing review pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "salesforce.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "servicenow.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "snowflake.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://rabobank.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/customer"
operations:
- name: execute-1
method: POST
- type: http
namespace: servicenow
baseUri: "https://rabobank.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/customer"
operations:
- name: execute-2
method: POST
- type: http
namespace: snowflake
baseUri: "https://rabobank.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/customer"
operations:
- name: execute-3
method: POST
Orchestrates customer relationship review pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Customer Relationship Review Pipeline"
description: "Orchestrates customer relationship review pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- customer
- rabobank
- rabobank
- salesforce
- servicenow
capability:
exposes:
- type: mcp
namespace: customer
port: 8080
tools:
- name: customer-relationship-review-pipeline
description: "Orchestrates customer relationship review pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "rabobank.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "salesforce.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "servicenow.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: rabobank
baseUri: "https://api.rabobank.nl/v2"
authentication:
type: bearer
token: "$secrets.rabobank_api_token"
resources:
- name: rabobank-resource
path: "/api/customer"
operations:
- name: execute-1
method: POST
- type: http
namespace: salesforce
baseUri: "https://rabobank.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/customer"
operations:
- name: execute-2
method: POST
- type: http
namespace: servicenow
baseUri: "https://rabobank.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/customer"
operations:
- name: execute-3
method: POST
Retrieves customer risk classification lookup data from the Rabobank agricultural banking systems.
naftiko: "0.5"
info:
label: "Customer Risk Classification Lookup"
description: "Retrieves customer risk classification lookup data from the Rabobank agricultural banking systems."
tags:
- customer
- rabobank
- lookup
capability:
exposes:
- type: mcp
namespace: customer
port: 8080
tools:
- name: customer-risk-classification-lookup
description: "Retrieves customer risk classification lookup data from the Rabobank agricultural banking systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "rabobank.customer-risk-classification-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: rabobank
baseUri: "https://api.rabobank.nl/v2"
authentication:
type: bearer
token: "$secrets.rabobank_api_token"
resources:
- name: resource
path: "/customer/risk/classification/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: customer-risk-classification-lookup
method: GET
Retrieves customer transaction pattern lookup data from the Rabobank agricultural banking systems.
naftiko: "0.5"
info:
label: "Customer Transaction Pattern Lookup"
description: "Retrieves customer transaction pattern lookup data from the Rabobank agricultural banking systems."
tags:
- customer
- rabobank
- lookup
capability:
exposes:
- type: mcp
namespace: customer
port: 8080
tools:
- name: customer-transaction-pattern-lookup
description: "Retrieves customer transaction pattern lookup data from the Rabobank agricultural banking systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "rabobank.customer-transaction-pattern-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: rabobank
baseUri: "https://api.rabobank.nl/v2"
authentication:
type: bearer
token: "$secrets.rabobank_api_token"
resources:
- name: resource
path: "/customer/transaction/pattern/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: customer-transaction-pattern-lookup
method: GET
Orchestrates customer vulnerability assessment pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Customer Vulnerability Assessment Pipeline"
description: "Orchestrates customer vulnerability assessment pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- customer
- rabobank
- snowflake
- slack
- jira
capability:
exposes:
- type: mcp
namespace: customer
port: 8080
tools:
- name: customer-vulnerability-assessment-pipeline
description: "Orchestrates customer vulnerability assessment pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "snowflake.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "slack.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "jira.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: snowflake
baseUri: "https://rabobank.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/customer"
operations:
- name: execute-1
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/customer"
operations:
- name: execute-2
method: POST
- type: http
namespace: jira
baseUri: "https://rabobank.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/customer"
operations:
- name: execute-3
method: POST
Generates a dairy sector analysis for lending decisions by pulling milk price data from Refinitiv, farm production statistics from CBS (Statistics Netherlands), and Rabobank's internal sector research, then publishes to the advisor portal.
naftiko: "0.5"
info:
label: "Dairy Sector Analysis Orchestrator"
description: "Generates a dairy sector analysis for lending decisions by pulling milk price data from Refinitiv, farm production statistics from CBS (Statistics Netherlands), and Rabobank's internal sector research, then publishes to the advisor portal."
tags:
- agricultural-lending
- analytics
- refinitiv
- cbs
capability:
exposes:
- type: mcp
namespace: sector-analysis
port: 8080
tools:
- name: generate-dairy-analysis
description: "Given a reporting period, compile dairy market data, farm stats, and internal research into a sector analysis."
inputParameters:
- name: period
in: body
type: string
description: "Analysis period in YYYY-Q# format."
steps:
- name: get-milk-prices
type: call
call: "refinitiv.get-dairy-prices"
with:
period: "{{period}}"
- name: get-production-stats
type: call
call: "cbs.get-dairy-production"
with:
period: "{{period}}"
- name: get-research
type: call
call: "research-platform.get-sector-note"
with:
sector: "dairy"
period: "{{period}}"
- name: publish-analysis
type: call
call: "advisor-portal.publish-analysis"
with:
sector: "dairy"
period: "{{period}}"
milk_price: "{{get-milk-prices.avg_price}}"
production_volume: "{{get-production-stats.total_volume}}"
outlook: "{{get-research.outlook}}"
consumes:
- type: http
namespace: refinitiv
baseUri: "https://api.refinitiv.com/data/pricing/v1"
authentication:
type: bearer
token: "$secrets.refinitiv_token"
resources:
- name: dairy
path: "/dairy/prices"
inputParameters:
- name: period
in: query
operations:
- name: get-dairy-prices
method: GET
- type: http
namespace: cbs
baseUri: "https://opendata.cbs.nl/ODataApi/odata/v4"
authentication:
type: none
resources:
- name: dairy-production
path: "/83781NED/TypedDataSet"
inputParameters:
- name: period
in: query
operations:
- name: get-dairy-production
method: GET
- type: http
namespace: research-platform
baseUri: "https://api.rabobank.nl/internal/research/v1"
authentication:
type: bearer
token: "$secrets.research_token"
resources:
- name: sector-notes
path: "/sectors/{{sector}}/notes"
inputParameters:
- name: sector
in: path
- name: period
in: query
operations:
- name: get-sector-note
method: GET
- type: http
namespace: advisor-portal
baseUri: "https://api.rabobank.nl/internal/portal/v1"
authentication:
type: bearer
token: "$secrets.portal_token"
resources:
- name: analyses
path: "/sector-analyses"
operations:
- name: publish-analysis
method: POST
Orchestrates dairy sector risk pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Dairy Sector Risk Pipeline"
description: "Orchestrates dairy sector risk pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- dairy
- rabobank
- jira
- teams
- sap
capability:
exposes:
- type: mcp
namespace: dairy
port: 8080
tools:
- name: dairy-sector-risk-pipeline
description: "Orchestrates dairy sector risk pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "jira.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "teams.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "sap.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: jira
baseUri: "https://rabobank.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/dairy"
operations:
- name: execute-1
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/dairy"
operations:
- name: execute-2
method: POST
- type: http
namespace: sap
baseUri: "https://rabobank-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/dairy"
operations:
- name: execute-3
method: POST
Compares available deposit products for a customer based on their balance and term preference, returning product options with rates, minimum balances, and features.
naftiko: "0.5"
info:
label: "Deposit Product Comparison"
description: "Compares available deposit products for a customer based on their balance and term preference, returning product options with rates, minimum balances, and features."
tags:
- banking
- savings
- product
capability:
exposes:
- type: mcp
namespace: product-comparison
port: 8080
tools:
- name: compare-deposit-products
description: "Compare deposit product options based on customer needs."
inputParameters:
- name: deposit_amount
in: body
type: string
description: "Amount to deposit in EUR."
- name: term_months
in: body
type: string
description: "Desired term in months (0 for demand deposit)."
call: "product-catalog.compare-deposits"
with:
amount: "{{deposit_amount}}"
term: "{{term_months}}"
outputParameters:
- name: products
type: string
mapping: "$.data.products"
consumes:
- type: http
namespace: product-catalog
baseUri: "https://api.rabobank.nl/internal/products/v1"
authentication:
type: bearer
token: "$secrets.product_catalog_token"
resources:
- name: comparisons
path: "/deposits/compare"
operations:
- name: compare-deposits
method: POST
Retrieves a SEPA direct debit mandate from the mandate management system, returning mandate status, creditor name, maximum amount, and mandate reference.
naftiko: "0.5"
info:
label: "Direct Debit Mandate Lookup"
description: "Retrieves a SEPA direct debit mandate from the mandate management system, returning mandate status, creditor name, maximum amount, and mandate reference."
tags:
- payments
- sepa
- mandates
capability:
exposes:
- type: mcp
namespace: mandates
port: 8080
tools:
- name: get-mandate
description: "Look up a SEPA direct debit mandate by mandate reference."
inputParameters:
- name: mandate_reference
in: body
type: string
description: "The SEPA mandate reference."
call: "mandate-system.get-mandate"
with:
reference: "{{mandate_reference}}"
outputParameters:
- name: status
type: string
mapping: "$.data.mandateStatus"
- name: creditor_name
type: string
mapping: "$.data.creditorName"
- name: max_amount
type: string
mapping: "$.data.maximumAmount"
- name: scheme
type: string
mapping: "$.data.scheme"
consumes:
- type: http
namespace: mandate-system
baseUri: "https://api.rabobank.nl/internal/mandates/v2"
authentication:
type: bearer
token: "$secrets.mandate_token"
resources:
- name: mandates
path: "/mandates/{{reference}}"
inputParameters:
- name: reference
in: path
operations:
- name: get-mandate
method: GET
On new hire creation in Workday, opens a ServiceNow onboarding ticket, provisions a SharePoint folder, and sends a Microsoft Teams welcome message.
naftiko: "0.5"
info:
label: "Employee Onboarding Orchestrator"
description: "On new hire creation in Workday, opens a ServiceNow onboarding ticket, provisions a SharePoint folder, and sends a Microsoft Teams welcome message."
tags:
- hr
- onboarding
- workday
- servicenow
- sharepoint
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: hr-onboarding
port: 8080
tools:
- name: trigger-onboarding
description: "Given a Workday employee ID and start date, orchestrate the full onboarding sequence."
inputParameters:
- name: employee_id
in: body
type: string
description: "The Workday worker ID."
- name: start_date
in: body
type: string
description: "Employee start date in YYYY-MM-DD format."
- name: department
in: body
type: string
description: "Department the new hire is joining."
steps:
- name: get-employee
type: call
call: "workday.get-worker"
with:
worker_id: "{{employee_id}}"
- name: open-ticket
type: call
call: "servicenow.create-incident"
with:
short_description: "New hire onboarding: {{get-employee.full_name}}"
category: "hr_onboarding"
assigned_group: "IT_Onboarding"
- name: provision-folder
type: call
call: "sharepoint.create-folder"
with:
site_id: "hr_onboarding_site"
folder_path: "OnboardingDocs/{{get-employee.full_name}}_{{start_date}}"
- name: send-welcome
type: call
call: "msteams.send-message"
with:
recipient_upn: "{{get-employee.work_email}}"
text: "Welcome to Rabobank, {{get-employee.first_name}}! Your onboarding ticket is {{open-ticket.number}}. Documents folder: {{provision-folder.url}}."
consumes:
- type: http
namespace: workday
baseUri: "https://wd2-impl-services1.workday.com/ccx/api/v1"
authentication:
type: bearer
token: "$secrets.workday_token"
resources:
- name: workers
path: "/workers/{{worker_id}}"
inputParameters:
- name: worker_id
in: path
operations:
- name: get-worker
method: GET
- type: http
namespace: servicenow
baseUri: "https://rabobank.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: incidents
path: "/table/incident"
operations:
- name: create-incident
method: POST
- type: http
namespace: sharepoint
baseUri: "https://graph.microsoft.com/v1.0/sites"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: drive-items
path: "/{{site_id}}/drive/root:/{{folder_path}}"
inputParameters:
- name: site_id
in: path
- name: folder_path
in: path
operations:
- name: create-folder
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/users/{{recipient_upn}}/sendMail"
inputParameters:
- name: recipient_upn
in: path
operations:
- name: send-message
method: POST
Orchestrates farm biodiversity monitoring pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Farm Biodiversity Monitoring Pipeline"
description: "Orchestrates farm biodiversity monitoring pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- farm
- rabobank
- rabobank
- salesforce
- servicenow
capability:
exposes:
- type: mcp
namespace: farm
port: 8080
tools:
- name: farm-biodiversity-monitoring-pipeline
description: "Orchestrates farm biodiversity monitoring pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "rabobank.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "salesforce.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "servicenow.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: rabobank
baseUri: "https://api.rabobank.nl/v2"
authentication:
type: bearer
token: "$secrets.rabobank_api_token"
resources:
- name: rabobank-resource
path: "/api/farm"
operations:
- name: execute-1
method: POST
- type: http
namespace: salesforce
baseUri: "https://rabobank.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/farm"
operations:
- name: execute-2
method: POST
- type: http
namespace: servicenow
baseUri: "https://rabobank.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/farm"
operations:
- name: execute-3
method: POST
Retrieves farm collateral valuation lookup data from the Rabobank agricultural banking systems.
naftiko: "0.5"
info:
label: "Farm Collateral Valuation Lookup"
description: "Retrieves farm collateral valuation lookup data from the Rabobank agricultural banking systems."
tags:
- farm
- rabobank
- lookup
capability:
exposes:
- type: mcp
namespace: farm
port: 8080
tools:
- name: farm-collateral-valuation-lookup
description: "Retrieves farm collateral valuation lookup data from the Rabobank agricultural banking systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "rabobank.farm-collateral-valuation-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: rabobank
baseUri: "https://api.rabobank.nl/v2"
authentication:
type: bearer
token: "$secrets.rabobank_api_token"
resources:
- name: resource
path: "/farm/collateral/valuation/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: farm-collateral-valuation-lookup
method: GET
Generates a farm equipment financing quote by looking up the equipment specifications and calculating monthly payments based on the equipment value, down payment, and term.
naftiko: "0.5"
info:
label: "Farm Equipment Financing Quote"
description: "Generates a farm equipment financing quote by looking up the equipment specifications and calculating monthly payments based on the equipment value, down payment, and term."
tags:
- agricultural-lending
- equipment
- financing
capability:
exposes:
- type: mcp
namespace: equipment-financing
port: 8080
tools:
- name: get-equipment-quote
description: "Generate a financing quote for farm equipment purchase."
inputParameters:
- name: equipment_value
in: body
type: string
description: "Equipment purchase value in EUR."
- name: down_payment
in: body
type: string
description: "Down payment amount in EUR."
- name: term_months
in: body
type: string
description: "Financing term in months."
call: "pricing-engine.calculate-equipment-financing"
with:
value: "{{equipment_value}}"
down_payment: "{{down_payment}}"
term: "{{term_months}}"
outputParameters:
- name: monthly_payment
type: string
mapping: "$.data.monthlyPayment"
- name: interest_rate
type: string
mapping: "$.data.interestRate"
- name: total_cost
type: string
mapping: "$.data.totalCost"
consumes:
- type: http
namespace: pricing-engine
baseUri: "https://api.rabobank.nl/internal/pricing/v2"
authentication:
type: bearer
token: "$secrets.pricing_engine_token"
resources:
- name: equipment
path: "/equipment-financing-quotes"
operations:
- name: calculate-equipment-financing
method: POST
Orchestrates farm equipment leasing pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Farm Equipment Leasing Pipeline"
description: "Orchestrates farm equipment leasing pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- farm
- rabobank
- salesforce
- servicenow
- snowflake
capability:
exposes:
- type: mcp
namespace: farm
port: 8080
tools:
- name: farm-equipment-leasing-pipeline
description: "Orchestrates farm equipment leasing pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "salesforce.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "servicenow.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "snowflake.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://rabobank.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/farm"
operations:
- name: execute-1
method: POST
- type: http
namespace: servicenow
baseUri: "https://rabobank.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/farm"
operations:
- name: execute-2
method: POST
- type: http
namespace: snowflake
baseUri: "https://rabobank.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/farm"
operations:
- name: execute-3
method: POST
Orchestrates farm income verification pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Farm Income Verification Pipeline"
description: "Orchestrates farm income verification pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- farm
- rabobank
- salesforce
- servicenow
- snowflake
capability:
exposes:
- type: mcp
namespace: farm
port: 8080
tools:
- name: farm-income-verification-pipeline
description: "Orchestrates farm income verification pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "salesforce.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "servicenow.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "snowflake.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: salesforce
baseUri: "https://rabobank.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/farm"
operations:
- name: execute-1
method: POST
- type: http
namespace: servicenow
baseUri: "https://rabobank.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/farm"
operations:
- name: execute-2
method: POST
- type: http
namespace: snowflake
baseUri: "https://rabobank.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/farm"
operations:
- name: execute-3
method: POST
Retrieves farm insurance policy lookup data from the Rabobank agricultural banking systems.
naftiko: "0.5"
info:
label: "Farm Insurance Policy Lookup"
description: "Retrieves farm insurance policy lookup data from the Rabobank agricultural banking systems."
tags:
- farm
- rabobank
- lookup
capability:
exposes:
- type: mcp
namespace: farm
port: 8080
tools:
- name: farm-insurance-policy-lookup
description: "Retrieves farm insurance policy lookup data from the Rabobank agricultural banking systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "rabobank.farm-insurance-policy-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: rabobank
baseUri: "https://api.rabobank.nl/v2"
authentication:
type: bearer
token: "$secrets.rabobank_api_token"
resources:
- name: resource
path: "/farm/insurance/policy/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: farm-insurance-policy-lookup
method: GET
Calculates crop insurance premiums based on farm size, crop type, coverage level, and historical yield data from the pricing engine.
naftiko: "0.5"
info:
label: "Farm Insurance Premium Calculation"
description: "Calculates crop insurance premiums based on farm size, crop type, coverage level, and historical yield data from the pricing engine."
tags:
- agricultural-lending
- insurance
- pricing
capability:
exposes:
- type: mcp
namespace: crop-insurance-pricing
port: 8080
tools:
- name: calculate-crop-premium
description: "Calculate crop insurance premium based on farm and coverage details."
inputParameters:
- name: farmer_id
in: body
type: string
description: "The farmer identifier."
- name: crop_type
in: body
type: string
description: "Crop type."
- name: hectares
in: body
type: string
description: "Number of hectares insured."
- name: coverage_level
in: body
type: string
description: "Coverage level percentage (50-90)."
call: "pricing-engine.calculate-crop-premium"
with:
farmer_id: "{{farmer_id}}"
crop: "{{crop_type}}"
hectares: "{{hectares}}"
coverage: "{{coverage_level}}"
outputParameters:
- name: annual_premium
type: string
mapping: "$.data.annualPremium"
- name: deductible
type: string
mapping: "$.data.deductible"
consumes:
- type: http
namespace: pricing-engine
baseUri: "https://api.rabobank.nl/internal/pricing/v2"
authentication:
type: bearer
token: "$secrets.pricing_engine_token"
resources:
- name: crop-premium
path: "/crop-insurance-premiums"
operations:
- name: calculate-crop-premium
method: POST
Processes a new farm loan application by pulling the farmer's credit profile from Experian, verifying land collateral via the Kadaster land registry, creating the loan in the origination system, and notifying the loan officer in Microsoft Teams.
naftiko: "0.5"
info:
label: "Farm Loan Origination Orchestrator"
description: "Processes a new farm loan application by pulling the farmer's credit profile from Experian, verifying land collateral via the Kadaster land registry, creating the loan in the origination system, and notifying the loan officer in Microsoft Teams."
tags:
- agricultural-lending
- origination
- experian
- kadaster
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: agri-lending
port: 8080
tools:
- name: originate-farm-loan
description: "Given farmer details and land parcel, pull credit, verify collateral, create loan, and notify officer."
inputParameters:
- name: farmer_id
in: body
type: string
description: "The customer/farmer identifier."
- name: requested_amount
in: body
type: string
description: "Loan amount requested in EUR."
- name: land_parcel_id
in: body
type: string
description: "The Kadaster land parcel identifier."
- name: loan_purpose
in: body
type: string
description: "Purpose of the loan (equipment, land_acquisition, working_capital, expansion)."
steps:
- name: pull-credit
type: call
call: "experian.get-business-credit"
with:
customer_id: "{{farmer_id}}"
- name: verify-land
type: call
call: "kadaster.get-parcel"
with:
parcel_id: "{{land_parcel_id}}"
- name: create-application
type: call
call: "loan-origination.create-application"
with:
customer_id: "{{farmer_id}}"
amount: "{{requested_amount}}"
purpose: "{{loan_purpose}}"
credit_score: "{{pull-credit.score}}"
collateral_value: "{{verify-land.estimated_value}}"
collateral_type: "farmland"
- name: notify-officer
type: call
call: "msteams.send-message"
with:
channel_id: "agri-lending-queue"
text: "New farm loan application: {{create-application.application_id}}. Customer: {{farmer_id}}, Amount: EUR {{requested_amount}}, Purpose: {{loan_purpose}}, Credit: {{pull-credit.score}}, Land value: EUR {{verify-land.estimated_value}}."
consumes:
- type: http
namespace: experian
baseUri: "https://api.experian.nl/business/v2"
authentication:
type: bearer
token: "$secrets.experian_token"
resources:
- name: credit
path: "/reports"
operations:
- name: get-business-credit
method: POST
- type: http
namespace: kadaster
baseUri: "https://api.kadaster.nl/v2"
authentication:
type: bearer
token: "$secrets.kadaster_token"
resources:
- name: parcels
path: "/parcels/{{parcel_id}}"
inputParameters:
- name: parcel_id
in: path
operations:
- name: get-parcel
method: GET
- type: http
namespace: loan-origination
baseUri: "https://api.rabobank.nl/internal/lending/v2"
authentication:
type: bearer
token: "$secrets.loan_origination_token"
resources:
- name: applications
path: "/applications"
operations:
- name: create-application
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
inputParameters:
- name: team_id
in: path
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Assesses agricultural credit risk by pulling farm financial data from the customer file, retrieving crop yield forecasts from the KNMI weather service, checking commodity futures from Refinitiv, and generating a risk score in the credit risk engine.
naftiko: "0.5"
info:
label: "Farm Risk Assessment Orchestrator"
description: "Assesses agricultural credit risk by pulling farm financial data from the customer file, retrieving crop yield forecasts from the KNMI weather service, checking commodity futures from Refinitiv, and generating a risk score in the credit risk engine."
tags:
- agricultural-lending
- risk
- knmi
- refinitiv
capability:
exposes:
- type: mcp
namespace: agri-risk
port: 8080
tools:
- name: assess-farm-risk
description: "Given a farmer ID and primary crop, pull financials, weather outlook, commodity futures, and compute risk score."
inputParameters:
- name: farmer_id
in: body
type: string
description: "The farmer/customer identifier."
- name: primary_crop
in: body
type: string
description: "Primary crop type (wheat, corn, potatoes, dairy, sugar_beet)."
- name: region
in: body
type: string
description: "Dutch province or region."
steps:
- name: get-farm-financials
type: call
call: "customer-file.get-financials"
with:
customer_id: "{{farmer_id}}"
- name: get-weather-outlook
type: call
call: "knmi.get-forecast"
with:
region: "{{region}}"
period: "next_90_days"
- name: get-commodity-outlook
type: call
call: "refinitiv.get-futures"
with:
commodity: "{{primary_crop}}"
- name: compute-risk
type: call
call: "credit-risk-engine.assess-agri-risk"
with:
customer_id: "{{farmer_id}}"
revenue: "{{get-farm-financials.annual_revenue}}"
debt_ratio: "{{get-farm-financials.debt_to_equity}}"
weather_risk: "{{get-weather-outlook.risk_index}}"
commodity_outlook: "{{get-commodity-outlook.forward_price}}"
consumes:
- type: http
namespace: customer-file
baseUri: "https://api.rabobank.nl/internal/customer/v2"
authentication:
type: bearer
token: "$secrets.customer_file_token"
resources:
- name: financials
path: "/customers/{{customer_id}}/financials"
inputParameters:
- name: customer_id
in: path
operations:
- name: get-financials
method: GET
- type: http
namespace: knmi
baseUri: "https://api.knmi.nl/open-data/v1"
authentication:
type: bearer
token: "$secrets.knmi_token"
resources:
- name: forecasts
path: "/forecasts"
inputParameters:
- name: region
in: query
- name: period
in: query
operations:
- name: get-forecast
method: GET
- type: http
namespace: refinitiv
baseUri: "https://api.refinitiv.com/data/pricing/v1"
authentication:
type: bearer
token: "$secrets.refinitiv_token"
resources:
- name: futures
path: "/instruments/{{commodity}}/futures"
inputParameters:
- name: commodity
in: path
operations:
- name: get-futures
method: GET
- type: http
namespace: credit-risk-engine
baseUri: "https://api.rabobank.nl/internal/risk/v2"
authentication:
type: bearer
token: "$secrets.risk_engine_token"
resources:
- name: assessments
path: "/agri-risk-assessments"
operations:
- name: assess-agri-risk
method: POST
Retrieves farm subsidy eligibility check data from the Rabobank agricultural banking systems.
naftiko: "0.5"
info:
label: "Farm Subsidy Eligibility Check"
description: "Retrieves farm subsidy eligibility check data from the Rabobank agricultural banking systems."
tags:
- farm
- rabobank
- check
capability:
exposes:
- type: mcp
namespace: farm
port: 8080
tools:
- name: farm-subsidy-eligibility-check
description: "Retrieves farm subsidy eligibility check data from the Rabobank agricultural banking systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "rabobank.farm-subsidy-eligibility-check"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: rabobank
baseUri: "https://api.rabobank.nl/v2"
authentication:
type: bearer
token: "$secrets.rabobank_api_token"
resources:
- name: resource
path: "/farm/subsidy/eligibility/check/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: farm-subsidy-eligibility-check
method: GET
Orchestrates farm succession planning pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Farm Succession Planning Pipeline"
description: "Orchestrates farm succession planning pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- farm
- rabobank
- rabobank
- salesforce
- servicenow
capability:
exposes:
- type: mcp
namespace: farm
port: 8080
tools:
- name: farm-succession-planning-pipeline
description: "Orchestrates farm succession planning pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "rabobank.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "salesforce.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "servicenow.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: rabobank
baseUri: "https://api.rabobank.nl/v2"
authentication:
type: bearer
token: "$secrets.rabobank_api_token"
resources:
- name: rabobank-resource
path: "/api/farm"
operations:
- name: execute-1
method: POST
- type: http
namespace: salesforce
baseUri: "https://rabobank.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/farm"
operations:
- name: execute-2
method: POST
- type: http
namespace: servicenow
baseUri: "https://rabobank.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/farm"
operations:
- name: execute-3
method: POST
Orchestrates farm sustainability assessment pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Farm Sustainability Assessment Pipeline"
description: "Orchestrates farm sustainability assessment pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- farm
- rabobank
- jira
- teams
- sap
capability:
exposes:
- type: mcp
namespace: farm
port: 8080
tools:
- name: farm-sustainability-assessment-pipeline
description: "Orchestrates farm sustainability assessment pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "jira.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "teams.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "sap.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: jira
baseUri: "https://rabobank.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/farm"
operations:
- name: execute-1
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/farm"
operations:
- name: execute-2
method: POST
- type: http
namespace: sap
baseUri: "https://rabobank-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/farm"
operations:
- name: execute-3
method: POST
Retrieves the current foreign exchange spot rate from the FX desk for a given currency pair, returning bid, ask, and mid rates.
naftiko: "0.5"
info:
label: "FX Spot Rate Lookup"
description: "Retrieves the current foreign exchange spot rate from the FX desk for a given currency pair, returning bid, ask, and mid rates."
tags:
- banking
- fx
- treasury
capability:
exposes:
- type: mcp
namespace: fx-rates
port: 8080
tools:
- name: get-fx-spot-rate
description: "Get the current FX spot rate for a currency pair."
inputParameters:
- name: base_currency
in: body
type: string
description: "Base currency (e.g., EUR)."
- name: quote_currency
in: body
type: string
description: "Quote currency (e.g., USD)."
call: "fx-desk.get-spot-rate"
with:
base: "{{base_currency}}"
quote: "{{quote_currency}}"
outputParameters:
- name: bid
type: string
mapping: "$.data.bid"
- name: ask
type: string
mapping: "$.data.ask"
- name: mid
type: string
mapping: "$.data.mid"
consumes:
- type: http
namespace: fx-desk
baseUri: "https://api.rabobank.nl/internal/fx/v2"
authentication:
type: bearer
token: "$secrets.fx_token"
resources:
- name: spot-rates
path: "/spot-rates"
inputParameters:
- name: base
in: query
- name: quote
in: query
operations:
- name: get-spot-rate
method: GET
Processes grain storage financing by verifying the grain quantity with the warehouse receipt system, calculating the loan amount based on current commodity prices from Refinitiv, and creating the financing arrangement.
naftiko: "0.5"
info:
label: "Grain Storage Financing Orchestrator"
description: "Processes grain storage financing by verifying the grain quantity with the warehouse receipt system, calculating the loan amount based on current commodity prices from Refinitiv, and creating the financing arrangement."
tags:
- agricultural-lending
- commodity
- refinitiv
capability:
exposes:
- type: mcp
namespace: commodity-financing
port: 8080
tools:
- name: finance-grain-storage
description: "Given warehouse receipt and grain details, verify stock, price, and create financing."
inputParameters:
- name: warehouse_receipt_id
in: body
type: string
description: "The warehouse receipt identifier."
- name: commodity
in: body
type: string
description: "Commodity type (wheat, corn, barley)."
- name: quantity_tons
in: body
type: string
description: "Quantity in metric tons."
steps:
- name: verify-receipt
type: call
call: "warehouse-system.verify-receipt"
with:
receipt_id: "{{warehouse_receipt_id}}"
- name: get-price
type: call
call: "refinitiv.get-commodity-price"
with:
ric: "{{commodity}}"
- name: create-financing
type: call
call: "loan-origination.create-commodity-facility"
with:
receipt_id: "{{warehouse_receipt_id}}"
commodity: "{{commodity}}"
quantity: "{{quantity_tons}}"
market_value: "{{get-price.spotPrice}}"
consumes:
- type: http
namespace: warehouse-system
baseUri: "https://api.rabobank.nl/internal/warehouse/v1"
authentication:
type: bearer
token: "$secrets.warehouse_token"
resources:
- name: receipts
path: "/receipts/{{receipt_id}}/verify"
inputParameters:
- name: receipt_id
in: path
operations:
- name: verify-receipt
method: GET
- type: http
namespace: refinitiv
baseUri: "https://api.refinitiv.com/data/pricing/v1"
authentication:
type: bearer
token: "$secrets.refinitiv_token"
resources:
- name: pricing
path: "/instruments/{{ric}}/pricing"
inputParameters:
- name: ric
in: path
operations:
- name: get-commodity-price
method: GET
- type: http
namespace: loan-origination
baseUri: "https://api.rabobank.nl/internal/lending/v2"
authentication:
type: bearer
token: "$secrets.loan_origination_token"
resources:
- name: commodity-facilities
path: "/commodity-facilities"
operations:
- name: create-commodity-facility
method: POST
Orchestrates grain trade settlement pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Grain Trade Settlement Pipeline"
description: "Orchestrates grain trade settlement pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- grain
- rabobank
- jira
- teams
- sap
capability:
exposes:
- type: mcp
namespace: grain
port: 8080
tools:
- name: grain-trade-settlement-pipeline
description: "Orchestrates grain trade settlement pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "jira.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "teams.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "sap.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: jira
baseUri: "https://rabobank.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/grain"
operations:
- name: execute-1
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/grain"
operations:
- name: execute-2
method: POST
- type: http
namespace: sap
baseUri: "https://rabobank-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/grain"
operations:
- name: execute-3
method: POST
Checks the status of an iDEAL online payment transaction, returning payment status, amount, debtor bank, and timestamp.
naftiko: "0.5"
info:
label: "iDEAL Payment Status Check"
description: "Checks the status of an iDEAL online payment transaction, returning payment status, amount, debtor bank, and timestamp."
tags:
- payments
- ideal
- banking
capability:
exposes:
- type: mcp
namespace: payments
port: 8080
tools:
- name: get-ideal-payment-status
description: "Check the status of an iDEAL payment transaction."
inputParameters:
- name: transaction_id
in: body
type: string
description: "The iDEAL transaction identifier."
call: "payment-engine.get-ideal-status"
with:
transaction_id: "{{transaction_id}}"
outputParameters:
- name: status
type: string
mapping: "$.data.status"
- name: amount
type: string
mapping: "$.data.amount"
- name: debtor_bank
type: string
mapping: "$.data.debtorBank"
- name: timestamp
type: string
mapping: "$.data.completionTimestamp"
consumes:
- type: http
namespace: payment-engine
baseUri: "https://api.rabobank.nl/internal/payments/v3"
authentication:
type: bearer
token: "$secrets.payment_engine_token"
resources:
- name: ideal
path: "/ideal/transactions/{{transaction_id}}"
inputParameters:
- name: transaction_id
in: path
operations:
- name: get-ideal-status
method: GET
Compiles an interest rate risk report by pulling the bank's rate-sensitive positions from the ALM system, running NII and EVE simulations, and pushing results to Power BI.
naftiko: "0.5"
info:
label: "Interest Rate Risk Report Orchestrator"
description: "Compiles an interest rate risk report by pulling the bank's rate-sensitive positions from the ALM system, running NII and EVE simulations, and pushing results to Power BI."
tags:
- risk
- treasury
- alm
- power-bi
capability:
exposes:
- type: mcp
namespace: irr-reporting
port: 8080
tools:
- name: generate-irr-report
description: "Given a reporting date, pull rate positions, run simulations, and update dashboard."
inputParameters:
- name: reporting_date
in: body
type: string
description: "Reporting date in YYYY-MM-DD format."
steps:
- name: get-positions
type: call
call: "alm-system.get-rate-positions"
with:
date: "{{reporting_date}}"
- name: run-simulations
type: call
call: "alm-system.run-nii-eve"
with:
date: "{{reporting_date}}"
positions: "{{get-positions.positions}}"
- name: push-dashboard
type: call
call: "powerbi.push-rows"
with:
dataset_id: "irr_dashboard"
rows_date: "{{reporting_date}}"
rows_nii_impact: "{{run-simulations.nii_impact}}"
rows_eve_impact: "{{run-simulations.eve_impact}}"
consumes:
- type: http
namespace: alm-system
baseUri: "https://api.rabobank.nl/internal/alm/v1"
authentication:
type: bearer
token: "$secrets.alm_token"
resources:
- name: positions
path: "/rate-sensitive-positions"
inputParameters:
- name: date
in: query
operations:
- name: get-rate-positions
method: GET
- name: simulations
path: "/nii-eve-simulations"
operations:
- name: run-nii-eve
method: POST
- type: http
namespace: powerbi
baseUri: "https://api.powerbi.com/v1.0/myorg"
authentication:
type: bearer
token: "$secrets.powerbi_token"
resources:
- name: datasets
path: "/datasets/{{dataset_id}}/tables/IRR/rows"
inputParameters:
- name: dataset_id
in: path
operations:
- name: push-rows
method: POST
Processes an international wire transfer by screening the beneficiary for sanctions, converting currency via the FX desk, initiating the SWIFT payment, and sending confirmation to the customer.
naftiko: "0.5"
info:
label: "International Wire Transfer Orchestrator"
description: "Processes an international wire transfer by screening the beneficiary for sanctions, converting currency via the FX desk, initiating the SWIFT payment, and sending confirmation to the customer."
tags:
- payments
- swift
- compliance
- fx
capability:
exposes:
- type: mcp
namespace: intl-wire
port: 8080
tools:
- name: process-international-wire
description: "Given wire details, screen beneficiary, convert currency, initiate SWIFT, and confirm."
inputParameters:
- name: debtor_iban
in: body
type: string
description: "Debtor IBAN."
- name: beneficiary_name
in: body
type: string
description: "Beneficiary name."
- name: beneficiary_bic
in: body
type: string
description: "Beneficiary bank BIC."
- name: amount_eur
in: body
type: string
description: "Amount in EUR."
- name: target_currency
in: body
type: string
description: "Target currency code."
steps:
- name: screen-beneficiary
type: call
call: "sanctions-api.screen"
with:
name: "{{beneficiary_name}}"
- name: convert-currency
type: call
call: "fx-desk.get-rate"
with:
from: "EUR"
to: "{{target_currency}}"
amount: "{{amount_eur}}"
- name: initiate-wire
type: call
call: "swift-gateway.create-payment"
with:
debtor_iban: "{{debtor_iban}}"
beneficiary_name: "{{beneficiary_name}}"
beneficiary_bic: "{{beneficiary_bic}}"
amount: "{{convert-currency.converted_amount}}"
currency: "{{target_currency}}"
consumes:
- type: http
namespace: sanctions-api
baseUri: "https://api.rabobank.nl/internal/sanctions/v1"
authentication:
type: bearer
token: "$secrets.sanctions_token"
resources:
- name: screening
path: "/screen"
operations:
- name: screen
method: POST
- type: http
namespace: fx-desk
baseUri: "https://api.rabobank.nl/internal/fx/v2"
authentication:
type: bearer
token: "$secrets.fx_token"
resources:
- name: rates
path: "/rates"
operations:
- name: get-rate
method: POST
- type: http
namespace: swift-gateway
baseUri: "https://api.rabobank.nl/internal/swift/v2"
authentication:
type: bearer
token: "$secrets.swift_gateway_token"
resources:
- name: payments
path: "/mt103"
operations:
- name: create-payment
method: POST
Creates an IT service request in ServiceNow for Rabobank employees, covering system access, software installation, and hardware requests.
naftiko: "0.5"
info:
label: "IT Service Request"
description: "Creates an IT service request in ServiceNow for Rabobank employees, covering system access, software installation, and hardware requests."
tags:
- it-support
- servicenow
capability:
exposes:
- type: mcp
namespace: it-support
port: 8080
tools:
- name: create-service-request
description: "Submit an IT service request to ServiceNow."
inputParameters:
- name: category
in: body
type: string
description: "Request category (access, software, hardware, network)."
- name: description
in: body
type: string
description: "Description of the request."
- name: priority
in: body
type: string
description: "Priority (low, medium, high)."
call: "servicenow.create-request"
with:
category: "{{category}}"
short_description: "IT Service: {{category}}"
description: "{{description}}"
priority: "{{priority}}"
outputParameters:
- name: request_number
type: string
mapping: "$.result.number"
consumes:
- type: http
namespace: servicenow
baseUri: "https://rabobank.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: requests
path: "/table/sc_request"
operations:
- name: create-request
method: POST
Runs KYC screening on a new business customer by verifying identity through the Dutch Chamber of Commerce (KvK), screening sanctions lists, checking PEP status, and logging results in the compliance system.
naftiko: "0.5"
info:
label: "KYC Customer Screening Orchestrator"
description: "Runs KYC screening on a new business customer by verifying identity through the Dutch Chamber of Commerce (KvK), screening sanctions lists, checking PEP status, and logging results in the compliance system."
tags:
- risk
- kyc
- compliance
- kvk
capability:
exposes:
- type: mcp
namespace: kyc-screening
port: 8080
tools:
- name: screen-business-customer
description: "Given a business customer and KvK number, verify identity, screen sanctions and PEP, and log compliance results."
inputParameters:
- name: kvk_number
in: body
type: string
description: "The Dutch Chamber of Commerce (KvK) number."
- name: company_name
in: body
type: string
description: "The company name."
- name: beneficial_owner
in: body
type: string
description: "Name of the ultimate beneficial owner."
steps:
- name: verify-kvk
type: call
call: "kvk.get-company"
with:
kvk_number: "{{kvk_number}}"
- name: screen-sanctions
type: call
call: "sanctions-api.screen"
with:
name: "{{company_name}}"
ubo_name: "{{beneficial_owner}}"
- name: check-pep
type: call
call: "sanctions-api.check-pep"
with:
name: "{{beneficial_owner}}"
- name: log-results
type: call
call: "compliance-system.create-screening"
with:
kvk_number: "{{kvk_number}}"
company_name: "{{company_name}}"
kvk_verified: "{{verify-kvk.active}}"
sanctions_hit: "{{screen-sanctions.hit}}"
pep_status: "{{check-pep.is_pep}}"
consumes:
- type: http
namespace: kvk
baseUri: "https://api.kvk.nl/api/v1"
authentication:
type: bearer
token: "$secrets.kvk_token"
resources:
- name: companies
path: "/basisprofielen/{{kvk_number}}"
inputParameters:
- name: kvk_number
in: path
operations:
- name: get-company
method: GET
- type: http
namespace: sanctions-api
baseUri: "https://api.rabobank.nl/internal/sanctions/v1"
authentication:
type: bearer
token: "$secrets.sanctions_token"
resources:
- name: screening
path: "/screen"
operations:
- name: screen
method: POST
- name: pep
path: "/pep-check"
operations:
- name: check-pep
method: POST
- type: http
namespace: compliance-system
baseUri: "https://api.rabobank.nl/internal/compliance/v1"
authentication:
type: bearer
token: "$secrets.compliance_token"
resources:
- name: screenings
path: "/screening-records"
operations:
- name: create-screening
method: POST
Retrieves leasing contract status lookup data from the Rabobank agricultural banking systems.
naftiko: "0.5"
info:
label: "Leasing Contract Status Lookup"
description: "Retrieves leasing contract status lookup data from the Rabobank agricultural banking systems."
tags:
- leasing
- rabobank
- lookup
capability:
exposes:
- type: mcp
namespace: leasing
port: 8080
tools:
- name: leasing-contract-status-lookup
description: "Retrieves leasing contract status lookup data from the Rabobank agricultural banking systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "rabobank.leasing-contract-status-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: rabobank
baseUri: "https://api.rabobank.nl/v2"
authentication:
type: bearer
token: "$secrets.rabobank_api_token"
resources:
- name: resource
path: "/leasing/contract/status/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: leasing-contract-status-lookup
method: GET
Orchestrates liquidity management pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Liquidity Management Pipeline"
description: "Orchestrates liquidity management pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- liquidity
- rabobank
- confluence
- bloomberg
- rabobank
capability:
exposes:
- type: mcp
namespace: liquidity
port: 8080
tools:
- name: liquidity-management-pipeline
description: "Orchestrates liquidity management pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "confluence.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "bloomberg.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "rabobank.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: confluence
baseUri: "https://rabobank.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: confluence-resource
path: "/api/liquidity"
operations:
- name: execute-1
method: POST
- type: http
namespace: bloomberg
baseUri: "https://api.bloomberg.com/v1"
authentication:
type: bearer
token: "$secrets.bloomberg_token"
resources:
- name: bloomberg-resource
path: "/api/liquidity"
operations:
- name: execute-2
method: POST
- type: http
namespace: rabobank
baseUri: "https://api.rabobank.nl/v2"
authentication:
type: bearer
token: "$secrets.rabobank_api_token"
resources:
- name: rabobank-resource
path: "/api/liquidity"
operations:
- name: execute-3
method: POST
Compiles daily liquidity risk metrics by pulling cash flows from the treasury system, interbank exposure from the ALM system, and regulatory LCR data from the risk engine, then pushes to the Power BI dashboard and alerts Treasury in Microsoft Teams.
naftiko: "0.5"
info:
label: "Liquidity Risk Dashboard Orchestrator"
description: "Compiles daily liquidity risk metrics by pulling cash flows from the treasury system, interbank exposure from the ALM system, and regulatory LCR data from the risk engine, then pushes to the Power BI dashboard and alerts Treasury in Microsoft Teams."
tags:
- risk
- treasury
- power-bi
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: liquidity-risk
port: 8080
tools:
- name: update-liquidity-dashboard
description: "Given a reporting date, aggregate cash flows, interbank exposure, and LCR, then update dashboard and notify Treasury."
inputParameters:
- name: reporting_date
in: body
type: string
description: "Reporting date in YYYY-MM-DD format."
steps:
- name: get-cash-flows
type: call
call: "treasury-system.get-cash-flows"
with:
date: "{{reporting_date}}"
- name: get-interbank-exposure
type: call
call: "alm-system.get-exposure"
with:
date: "{{reporting_date}}"
- name: get-lcr
type: call
call: "risk-reporting.get-lcr"
with:
date: "{{reporting_date}}"
- name: push-to-powerbi
type: call
call: "powerbi.push-rows"
with:
dataset_id: "liquidity_dashboard"
rows_date: "{{reporting_date}}"
rows_net_cash: "{{get-cash-flows.net_position}}"
rows_interbank: "{{get-interbank-exposure.total}}"
rows_lcr: "{{get-lcr.ratio}}"
- name: notify-treasury
type: call
call: "msteams.send-message"
with:
channel_id: "treasury-risk"
text: "Liquidity update ({{reporting_date}}): Net cash: EUR {{get-cash-flows.net_position}}M, Interbank: EUR {{get-interbank-exposure.total}}M, LCR: {{get-lcr.ratio}}%. Dashboard updated."
consumes:
- type: http
namespace: treasury-system
baseUri: "https://api.rabobank.nl/internal/treasury/v2"
authentication:
type: bearer
token: "$secrets.treasury_token"
resources:
- name: cash-flows
path: "/cash-flows"
inputParameters:
- name: date
in: query
operations:
- name: get-cash-flows
method: GET
- type: http
namespace: alm-system
baseUri: "https://api.rabobank.nl/internal/alm/v1"
authentication:
type: bearer
token: "$secrets.alm_token"
resources:
- name: exposure
path: "/interbank-exposure"
inputParameters:
- name: date
in: query
operations:
- name: get-exposure
method: GET
- type: http
namespace: risk-reporting
baseUri: "https://api.rabobank.nl/internal/risk-reporting/v2"
authentication:
type: bearer
token: "$secrets.risk_reporting_token"
resources:
- name: lcr
path: "/lcr"
inputParameters:
- name: date
in: query
operations:
- name: get-lcr
method: GET
- type: http
namespace: powerbi
baseUri: "https://api.powerbi.com/v1.0/myorg"
authentication:
type: bearer
token: "$secrets.powerbi_token"
resources:
- name: datasets
path: "/datasets/{{dataset_id}}/tables/Liquidity/rows"
inputParameters:
- name: dataset_id
in: path
operations:
- name: push-rows
method: POST
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
inputParameters:
- name: team_id
in: path
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Monitors agricultural loan covenants by pulling quarterly financial statements from the customer file, checking covenant thresholds in the loan system, and alerting the relationship manager in Microsoft Teams if a breach is detected.
naftiko: "0.5"
info:
label: "Loan Covenant Monitoring Orchestrator"
description: "Monitors agricultural loan covenants by pulling quarterly financial statements from the customer file, checking covenant thresholds in the loan system, and alerting the relationship manager in Microsoft Teams if a breach is detected."
tags:
- agricultural-lending
- risk
- monitoring
- microsoft-teams
capability:
exposes:
- type: mcp
namespace: covenant-monitoring
port: 8080
tools:
- name: check-loan-covenants
description: "Given a loan ID, pull customer financials, check covenant compliance, and alert if breached."
inputParameters:
- name: loan_id
in: body
type: string
description: "The agricultural loan identifier."
steps:
- name: get-loan-details
type: call
call: "loan-system.get-loan"
with:
loan_id: "{{loan_id}}"
- name: get-financials
type: call
call: "customer-file.get-financials"
with:
customer_id: "{{get-loan-details.customer_id}}"
- name: check-covenants
type: call
call: "loan-system.evaluate-covenants"
with:
loan_id: "{{loan_id}}"
current_ratio: "{{get-financials.current_ratio}}"
debt_service_coverage: "{{get-financials.dscr}}"
debt_to_equity: "{{get-financials.debt_to_equity}}"
- name: alert-rm
type: call
call: "msteams.send-message"
with:
channel_id: "agri-risk-alerts"
text: "Covenant check for loan {{loan_id}} (Customer: {{get-loan-details.customer_id}}). Status: {{check-covenants.overall_status}}. DSCR: {{get-financials.dscr}}, D/E: {{get-financials.debt_to_equity}}."
consumes:
- type: http
namespace: loan-system
baseUri: "https://api.rabobank.nl/internal/lending/v2"
authentication:
type: bearer
token: "$secrets.loan_origination_token"
resources:
- name: loans
path: "/loans/{{loan_id}}"
inputParameters:
- name: loan_id
in: path
operations:
- name: get-loan
method: GET
- name: covenants
path: "/loans/{{loan_id}}/covenant-evaluation"
inputParameters:
- name: loan_id
in: path
operations:
- name: evaluate-covenants
method: POST
- type: http
namespace: customer-file
baseUri: "https://api.rabobank.nl/internal/customer/v2"
authentication:
type: bearer
token: "$secrets.customer_file_token"
resources:
- name: financials
path: "/customers/{{customer_id}}/financials"
inputParameters:
- name: customer_id
in: path
operations:
- name: get-financials
method: GET
- type: http
namespace: msteams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.msgraph_token"
resources:
- name: messages
path: "/teams/{{team_id}}/channels/{{channel_id}}/messages"
inputParameters:
- name: team_id
in: path
- name: channel_id
in: path
operations:
- name: send-message
method: POST
Disburses an approved agricultural loan by creating the loan account in the core banking system, transferring funds via SEPA, updating the loan origination status, and sending a disbursement confirmation to the farmer.
naftiko: "0.5"
info:
label: "Loan Disbursement Orchestrator"
description: "Disburses an approved agricultural loan by creating the loan account in the core banking system, transferring funds via SEPA, updating the loan origination status, and sending a disbursement confirmation to the farmer."
tags:
- agricultural-lending
- payments
- core-banking
- salesforce-marketing-cloud
capability:
exposes:
- type: mcp
namespace: loan-disbursement
port: 8080
tools:
- name: disburse-loan
description: "Given an approved loan ID, create account, transfer funds, update status, and send confirmation."
inputParameters:
- name: loan_id
in: body
type: string
description: "The approved loan identifier."
steps:
- name: get-loan
type: call
call: "loan-origination.get-loan"
with:
loan_id: "{{loan_id}}"
- name: create-loan-account
type: call
call: "core-banking.create-loan-account"
with:
customer_id: "{{get-loan.customer_id}}"
amount: "{{get-loan.approved_amount}}"
rate: "{{get-loan.interest_rate}}"
term: "{{get-loan.term_months}}"
- name: transfer-funds
type: call
call: "payment-engine.create-sepa-transfer"
with:
debtor_iban: "{{create-loan-account.loan_iban}}"
creditor_iban: "{{get-loan.customer_iban}}"
amount: "{{get-loan.approved_amount}}"
reference: "Loan disbursement {{loan_id}}"
- name: send-confirmation
type: call
call: "sfmc.send-email"
with:
template: "loan_disbursement"
to: "{{get-loan.customer_email}}"
merge_amount: "{{get-loan.approved_amount}}"
merge_loan_id: "{{loan_id}}"
consumes:
- type: http
namespace: loan-origination
baseUri: "https://api.rabobank.nl/internal/lending/v2"
authentication:
type: bearer
token: "$secrets.loan_origination_token"
resources:
- name: loans
path: "/loans/{{loan_id}}"
inputParameters:
- name: loan_id
in: path
operations:
- name: get-loan
method: GET
- type: http
namespace: core-banking
baseUri: "https://api.rabobank.nl/internal/cbs/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: loan-accounts
path: "/loan-accounts"
operations:
- name: create-loan-account
method: POST
- type: http
namespace: payment-engine
baseUri: "https://api.rabobank.nl/internal/payments/v3"
authentication:
type: bearer
token: "$secrets.payment_engine_token"
resources:
- name: transfers
path: "/sepa-credit-transfers"
operations:
- name: create-sepa-transfer
method: POST
- type: http
namespace: sfmc
baseUri: "https://mc.rabobank.nl/rest"
authentication:
type: bearer
token: "$secrets.sfmc_token"
resources:
- name: emails
path: "/messaging/v1/email/messages"
operations:
- name: send-email
method: POST
Retrieves the loan repayment schedule from the lending system, returning upcoming payment dates, amounts, principal/interest split, and remaining balance.
naftiko: "0.5"
info:
label: "Loan Repayment Schedule Lookup"
description: "Retrieves the loan repayment schedule from the lending system, returning upcoming payment dates, amounts, principal/interest split, and remaining balance."
tags:
- banking
- lending
capability:
exposes:
- type: mcp
namespace: loan-servicing
port: 8080
tools:
- name: get-repayment-schedule
description: "Look up the repayment schedule for a loan."
inputParameters:
- name: loan_id
in: body
type: string
description: "The loan identifier."
call: "loan-system.get-schedule"
with:
loan_id: "{{loan_id}}"
outputParameters:
- name: schedule
type: string
mapping: "$.data.payments"
- name: remaining_balance
type: string
mapping: "$.data.remainingBalance"
- name: next_payment_date
type: string
mapping: "$.data.nextPaymentDate"
consumes:
- type: http
namespace: loan-system
baseUri: "https://api.rabobank.nl/internal/lending/v2"
authentication:
type: bearer
token: "$secrets.loan_origination_token"
resources:
- name: schedules
path: "/loans/{{loan_id}}/schedule"
inputParameters:
- name: loan_id
in: path
operations:
- name: get-schedule
method: GET
Processes a loan restructuring request by pulling the current loan terms, running a restructuring analysis in the credit engine, creating the restructured terms, and notifying the borrower via Salesforce Marketing Cloud.
naftiko: "0.5"
info:
label: "Loan Restructuring Orchestrator"
description: "Processes a loan restructuring request by pulling the current loan terms, running a restructuring analysis in the credit engine, creating the restructured terms, and notifying the borrower via Salesforce Marketing Cloud."
tags:
- agricultural-lending
- risk
- banking
- salesforce-marketing-cloud
capability:
exposes:
- type: mcp
namespace: loan-restructuring
port: 8080
tools:
- name: restructure-loan
description: "Given a loan ID and restructuring request, analyze, create new terms, and notify borrower."
inputParameters:
- name: loan_id
in: body
type: string
description: "The loan identifier."
- name: restructuring_type
in: body
type: string
description: "Type (term_extension, rate_reduction, payment_holiday, principal_reduction)."
steps:
- name: get-current-terms
type: call
call: "loan-system.get-loan"
with:
loan_id: "{{loan_id}}"
- name: run-analysis
type: call
call: "credit-risk-engine.analyze-restructuring"
with:
loan_id: "{{loan_id}}"
type: "{{restructuring_type}}"
current_balance: "{{get-current-terms.outstanding_balance}}"
- name: apply-restructuring
type: call
call: "loan-system.apply-restructuring"
with:
loan_id: "{{loan_id}}"
new_terms: "{{run-analysis.proposed_terms}}"
- name: notify-borrower
type: call
call: "sfmc.send-email"
with:
template: "loan_restructuring"
to: "{{get-current-terms.customer_email}}"
merge_loan_id: "{{loan_id}}"
merge_new_terms: "{{run-analysis.proposed_terms}}"
consumes:
- type: http
namespace: loan-system
baseUri: "https://api.rabobank.nl/internal/lending/v2"
authentication:
type: bearer
token: "$secrets.loan_origination_token"
resources:
- name: loans
path: "/loans/{{loan_id}}"
inputParameters:
- name: loan_id
in: path
operations:
- name: get-loan
method: GET
- name: restructuring
path: "/loans/{{loan_id}}/restructure"
inputParameters:
- name: loan_id
in: path
operations:
- name: apply-restructuring
method: POST
- type: http
namespace: credit-risk-engine
baseUri: "https://api.rabobank.nl/internal/risk/v2"
authentication:
type: bearer
token: "$secrets.risk_engine_token"
resources:
- name: restructuring-analysis
path: "/restructuring-analyses"
operations:
- name: analyze-restructuring
method: POST
- type: http
namespace: sfmc
baseUri: "https://mc.rabobank.nl/rest"
authentication:
type: bearer
token: "$secrets.sfmc_token"
resources:
- name: emails
path: "/messaging/v1/email/messages"
operations:
- name: send-email
method: POST
Records a mobile banking app event for analytics purposes, logging the event type, user session, and feature used in the analytics platform.
naftiko: "0.5"
info:
label: "Mobile Banking App Event Tracking"
description: "Records a mobile banking app event for analytics purposes, logging the event type, user session, and feature used in the analytics platform."
tags:
- banking
- mobile
- analytics
capability:
exposes:
- type: mcp
namespace: mobile-analytics
port: 8080
tools:
- name: track-app-event
description: "Record a mobile banking app event for analytics."
inputParameters:
- name: customer_id
in: body
type: string
description: "The customer identifier."
- name: event_type
in: body
type: string
description: "Event type (login, transfer, balance_check, payment)."
- name: feature
in: body
type: string
description: "Feature used."
call: "analytics-platform.track-event"
with:
user_id: "{{customer_id}}"
event: "{{event_type}}"
feature: "{{feature}}"
outputParameters:
- name: event_id
type: string
mapping: "$.data.eventId"
consumes:
- type: http
namespace: analytics-platform
baseUri: "https://api.rabobank.nl/internal/analytics/v1"
authentication:
type: bearer
token: "$secrets.analytics_token"
resources:
- name: events
path: "/events"
operations:
- name: track-event
method: POST
Processes a mortgage application by pulling the customer's income verification from the UWV, checking the property valuation via the Kadaster, running credit scoring, and creating the mortgage offer in the origination system.
naftiko: "0.5"
info:
label: "Mortgage Application Processing Orchestrator"
description: "Processes a mortgage application by pulling the customer's income verification from the UWV, checking the property valuation via the Kadaster, running credit scoring, and creating the mortgage offer in the origination system."
tags:
- banking
- mortgage
- uwv
- kadaster
capability:
exposes:
- type: mcp
namespace: mortgage
port: 8080
tools:
- name: process-mortgage-application
description: "Given customer and property details, verify income, check property value, score credit, and create offer."
inputParameters:
- name: customer_id
in: body
type: string
description: "The customer identifier."
- name: property_address
in: body
type: string
description: "The property address."
- name: requested_amount
in: body
type: string
description: "Requested mortgage amount in EUR."
steps:
- name: verify-income
type: call
call: "uwv.get-income-verification"
with:
bsn: "{{customer_id}}"
- name: get-property-value
type: call
call: "kadaster.get-woz-value"
with:
address: "{{property_address}}"
- name: run-credit-check
type: call
call: "credit-risk-engine.assess-mortgage-risk"
with:
customer_id: "{{customer_id}}"
income: "{{verify-income.annual_income}}"
property_value: "{{get-property-value.woz_value}}"
loan_amount: "{{requested_amount}}"
- name: create-offer
type: call
call: "mortgage-origination.create-offer"
with:
customer_id: "{{customer_id}}"
amount: "{{requested_amount}}"
ltv: "{{run-credit-check.ltv_ratio}}"
rate: "{{run-credit-check.offered_rate}}"
consumes:
- type: http
namespace: uwv
baseUri: "https://api.uwv.nl/v1"
authentication:
type: bearer
token: "$secrets.uwv_token"
resources:
- name: income
path: "/income-verifications"
operations:
- name: get-income-verification
method: POST
- type: http
namespace: kadaster
baseUri: "https://api.kadaster.nl/v2"
authentication:
type: bearer
token: "$secrets.kadaster_token"
resources:
- name: woz
path: "/woz-values"
inputParameters:
- name: address
in: query
operations:
- name: get-woz-value
method: GET
- type: http
namespace: credit-risk-engine
baseUri: "https://api.rabobank.nl/internal/risk/v2"
authentication:
type: bearer
token: "$secrets.risk_engine_token"
resources:
- name: mortgage-risk
path: "/mortgage-risk-assessments"
operations:
- name: assess-mortgage-risk
method: POST
- type: http
namespace: mortgage-origination
baseUri: "https://api.rabobank.nl/internal/mortgage/v2"
authentication:
type: bearer
token: "$secrets.mortgage_token"
resources:
- name: offers
path: "/offers"
operations:
- name: create-offer
method: POST
Retrieves mortgage rate schedule lookup data from the Rabobank agricultural banking systems.
naftiko: "0.5"
info:
label: "Mortgage Rate Schedule Lookup"
description: "Retrieves mortgage rate schedule lookup data from the Rabobank agricultural banking systems."
tags:
- mortgage
- rabobank
- lookup
capability:
exposes:
- type: mcp
namespace: mortgage
port: 8080
tools:
- name: mortgage-rate-schedule-lookup
description: "Retrieves mortgage rate schedule lookup data from the Rabobank agricultural banking systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "rabobank.mortgage-rate-schedule-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: rabobank
baseUri: "https://api.rabobank.nl/v2"
authentication:
type: bearer
token: "$secrets.rabobank_api_token"
resources:
- name: resource
path: "/mortgage/rate/schedule/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: mortgage-rate-schedule-lookup
method: GET
Opens a new business bank account by verifying the company through KvK, running KYC screening, creating the account in the core banking system, and sending the welcome pack via Salesforce Marketing Cloud.
naftiko: "0.5"
info:
label: "New Business Account Opening Orchestrator"
description: "Opens a new business bank account by verifying the company through KvK, running KYC screening, creating the account in the core banking system, and sending the welcome pack via Salesforce Marketing Cloud."
tags:
- banking
- onboarding
- kvk
- core-banking
- salesforce-marketing-cloud
capability:
exposes:
- type: mcp
namespace: business-onboarding
port: 8080
tools:
- name: open-business-account
description: "Given a KvK number and authorized representative, verify company, run KYC, create account, and send welcome."
inputParameters:
- name: kvk_number
in: body
type: string
description: "The Dutch Chamber of Commerce (KvK) number."
- name: representative_name
in: body
type: string
description: "Name of the authorized representative."
- name: email
in: body
type: string
description: "Business email address."
- name: account_type
in: body
type: string
description: "Account type (current, savings, combined)."
steps:
- name: verify-company
type: call
call: "kvk.get-company"
with:
kvk_number: "{{kvk_number}}"
- name: run-kyc
type: call
call: "compliance-system.quick-kyc"
with:
company_name: "{{verify-company.company_name}}"
kvk_number: "{{kvk_number}}"
representative: "{{representative_name}}"
- name: create-account
type: call
call: "core-banking.create-business-account"
with:
kvk_number: "{{kvk_number}}"
company_name: "{{verify-company.company_name}}"
account_type: "{{account_type}}"
kyc_status: "{{run-kyc.status}}"
- name: send-welcome
type: call
call: "sfmc.send-email"
with:
template: "business_welcome"
to: "{{email}}"
merge_company: "{{verify-company.company_name}}"
merge_iban: "{{create-account.iban}}"
consumes:
- type: http
namespace: kvk
baseUri: "https://api.kvk.nl/api/v1"
authentication:
type: bearer
token: "$secrets.kvk_token"
resources:
- name: companies
path: "/basisprofielen/{{kvk_number}}"
inputParameters:
- name: kvk_number
in: path
operations:
- name: get-company
method: GET
- type: http
namespace: compliance-system
baseUri: "https://api.rabobank.nl/internal/compliance/v1"
authentication:
type: bearer
token: "$secrets.compliance_token"
resources:
- name: kyc
path: "/quick-kyc"
operations:
- name: quick-kyc
method: POST
- type: http
namespace: core-banking
baseUri: "https://api.rabobank.nl/internal/cbs/v2"
authentication:
type: bearer
token: "$secrets.core_banking_token"
resources:
- name: accounts
path: "/business-accounts"
operations:
- name: create-business-account
method: POST
- type: http
namespace: sfmc
baseUri: "https://mc.rabobank.nl/rest"
authentication:
type: bearer
token: "$secrets.sfmc_token"
resources:
- name: emails
path: "/messaging/v1/email/messages"
operations:
- name: send-email
method: POST
Orchestrates payment fraud detection pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Payment Fraud Detection Pipeline"
description: "Orchestrates payment fraud detection pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- payment
- rabobank
- bloomberg
- rabobank
- salesforce
capability:
exposes:
- type: mcp
namespace: payment
port: 8080
tools:
- name: payment-fraud-detection-pipeline
description: "Orchestrates payment fraud detection pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "bloomberg.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "rabobank.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "salesforce.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: bloomberg
baseUri: "https://api.bloomberg.com/v1"
authentication:
type: bearer
token: "$secrets.bloomberg_token"
resources:
- name: bloomberg-resource
path: "/api/payment"
operations:
- name: execute-1
method: POST
- type: http
namespace: rabobank
baseUri: "https://api.rabobank.nl/v2"
authentication:
type: bearer
token: "$secrets.rabobank_api_token"
resources:
- name: rabobank-resource
path: "/api/payment"
operations:
- name: execute-2
method: POST
- type: http
namespace: salesforce
baseUri: "https://rabobank.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/payment"
operations:
- name: execute-3
method: POST
Integrates precision agriculture data by pulling soil sensor readings from the farm IoT platform, weather data from KNMI, and combining them with the farmer's financial profile to update the lending risk assessment.
naftiko: "0.5"
info:
label: "Precision Agriculture Data Integration Orchestrator"
description: "Integrates precision agriculture data by pulling soil sensor readings from the farm IoT platform, weather data from KNMI, and combining them with the farmer's financial profile to update the lending risk assessment."
tags:
- agricultural-lending
- iot
- knmi
- risk
capability:
exposes:
- type: mcp
namespace: precision-ag
port: 8080
tools:
- name: integrate-precision-ag-data
description: "Given a farmer ID, pull IoT sensor data, weather data, and update risk assessment."
inputParameters:
- name: farmer_id
in: body
type: string
description: "The farmer identifier."
- name: farm_id
in: body
type: string
description: "The farm/field identifier."
steps:
- name: get-sensor-data
type: call
call: "iot-platform.get-soil-readings"
with:
farm_id: "{{farm_id}}"
- name: get-weather
type: call
call: "knmi.get-forecast"
with:
region: "{{get-sensor-data.region}}"
period: "next_30_days"
- name: update-risk
type: call
call: "credit-risk-engine.update-agri-risk"
with:
farmer_id: "{{farmer_id}}"
soil_moisture: "{{get-sensor-data.soil_moisture}}"
soil_ph: "{{get-sensor-data.soil_ph}}"
weather_risk: "{{get-weather.risk_index}}"
consumes:
- type: http
namespace: iot-platform
baseUri: "https://api.rabobank.nl/internal/agri-iot/v1"
authentication:
type: bearer
token: "$secrets.iot_token"
resources:
- name: soil
path: "/farms/{{farm_id}}/soil-readings"
inputParameters:
- name: farm_id
in: path
operations:
- name: get-soil-readings
method: GET
- type: http
namespace: knmi
baseUri: "https://api.knmi.nl/open-data/v1"
authentication:
type: bearer
token: "$secrets.knmi_token"
resources:
- name: forecasts
path: "/forecasts"
inputParameters:
- name: region
in: query
- name: period
in: query
operations:
- name: get-forecast
method: GET
- type: http
namespace: credit-risk-engine
baseUri: "https://api.rabobank.nl/internal/risk/v2"
authentication:
type: bearer
token: "$secrets.risk_engine_token"
resources:
- name: agri-risk
path: "/agri-risk-updates"
operations:
- name: update-agri-risk
method: POST
Orchestrates precision farming data pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Precision Farming Data Pipeline"
description: "Orchestrates precision farming data pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- precision
- rabobank
- slack
- jira
- teams
capability:
exposes:
- type: mcp
namespace: precision
port: 8080
tools:
- name: precision-farming-data-pipeline
description: "Orchestrates precision farming data pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "slack.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "jira.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "teams.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/precision"
operations:
- name: execute-1
method: POST
- type: http
namespace: jira
baseUri: "https://rabobank.atlassian.net/rest/api/3"
authentication:
type: bearer
token: "$secrets.jira_token"
resources:
- name: jira-resource
path: "/api/precision"
operations:
- name: execute-2
method: POST
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/precision"
operations:
- name: execute-3
method: POST
Creates a PSD2 account access consent for third-party providers, returning the consent ID, allowed access scopes, and expiration date.
naftiko: "0.5"
info:
label: "PSD2 Account Access Consent"
description: "Creates a PSD2 account access consent for third-party providers, returning the consent ID, allowed access scopes, and expiration date."
tags:
- banking
- psd2
- open-banking
capability:
exposes:
- type: mcp
namespace: open-banking
port: 8080
tools:
- name: create-account-consent
description: "Create a PSD2 account access consent for a TPP."
inputParameters:
- name: tpp_id
in: body
type: string
description: "The third-party provider identifier."
- name: account_iban
in: body
type: string
description: "The customer's IBAN."
- name: scopes
in: body
type: string
description: "Access scopes (balances, transactions, details)."
call: "psd2-gateway.create-consent"
with:
tpp_id: "{{tpp_id}}"
iban: "{{account_iban}}"
access_scopes: "{{scopes}}"
outputParameters:
- name: consent_id
type: string
mapping: "$.data.consentId"
- name: expiration
type: string
mapping: "$.data.expirationDate"
consumes:
- type: http
namespace: psd2-gateway
baseUri: "https://api.rabobank.nl/openapi/psd2/v3"
authentication:
type: bearer
token: "$secrets.psd2_gateway_token"
resources:
- name: consents
path: "/consents"
operations:
- name: create-consent
method: POST
Orchestrates psd2 consent management pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Psd2 Consent Management Pipeline"
description: "Orchestrates psd2 consent management pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- psd2
- rabobank
- teams
- sap
- confluence
capability:
exposes:
- type: mcp
namespace: psd2
port: 8080
tools:
- name: psd2-consent-management-pipeline
description: "Orchestrates psd2 consent management pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "teams.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "sap.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "confluence.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: teams
baseUri: "https://graph.microsoft.com/v1.0"
authentication:
type: bearer
token: "$secrets.teams_token"
resources:
- name: teams-resource
path: "/api/psd2"
operations:
- name: execute-1
method: POST
- type: http
namespace: sap
baseUri: "https://rabobank-erp.s4hana.ondemand.com/api/v1"
authentication:
type: bearer
token: "$secrets.sap_token"
resources:
- name: sap-resource
path: "/api/psd2"
operations:
- name: execute-2
method: POST
- type: http
namespace: confluence
baseUri: "https://rabobank.atlassian.net/wiki/rest/api"
authentication:
type: bearer
token: "$secrets.confluence_token"
resources:
- name: confluence-resource
path: "/api/psd2"
operations:
- name: execute-3
method: POST
Retrieves the bank's regulatory capital metrics from the risk reporting system, returning CET1 ratio, total capital ratio, leverage ratio, and risk-weighted assets.
naftiko: "0.5"
info:
label: "Regulatory Capital Report"
description: "Retrieves the bank's regulatory capital metrics from the risk reporting system, returning CET1 ratio, total capital ratio, leverage ratio, and risk-weighted assets."
tags:
- risk
- compliance
- regulatory
capability:
exposes:
- type: mcp
namespace: regulatory-capital
port: 8080
tools:
- name: get-capital-metrics
description: "Retrieve regulatory capital metrics from the risk reporting system."
inputParameters:
- name: reporting_date
in: body
type: string
description: "Reporting date in YYYY-MM-DD format."
call: "risk-reporting.get-capital"
with:
date: "{{reporting_date}}"
outputParameters:
- name: cet1_ratio
type: string
mapping: "$.data.cet1Ratio"
- name: total_capital_ratio
type: string
mapping: "$.data.totalCapitalRatio"
- name: leverage_ratio
type: string
mapping: "$.data.leverageRatio"
- name: rwa
type: string
mapping: "$.data.riskWeightedAssets"
consumes:
- type: http
namespace: risk-reporting
baseUri: "https://api.rabobank.nl/internal/risk-reporting/v2"
authentication:
type: bearer
token: "$secrets.risk_reporting_token"
resources:
- name: capital
path: "/capital-metrics"
inputParameters:
- name: date
in: query
operations:
- name: get-capital
method: GET
Orchestrates regulatory capital reporting pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Regulatory Capital Reporting Pipeline"
description: "Orchestrates regulatory capital reporting pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- regulatory
- rabobank
- servicenow
- snowflake
- slack
capability:
exposes:
- type: mcp
namespace: regulatory
port: 8080
tools:
- name: regulatory-capital-reporting-pipeline
description: "Orchestrates regulatory capital reporting pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "servicenow.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "snowflake.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "slack.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: servicenow
baseUri: "https://rabobank.service-now.com/api/now"
authentication:
type: bearer
token: "$secrets.servicenow_token"
resources:
- name: servicenow-resource
path: "/api/regulatory"
operations:
- name: execute-1
method: POST
- type: http
namespace: snowflake
baseUri: "https://rabobank.snowflakecomputing.com/api/v2"
authentication:
type: bearer
token: "$secrets.snowflake_token"
resources:
- name: snowflake-resource
path: "/api/regulatory"
operations:
- name: execute-2
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: slack-resource
path: "/api/regulatory"
operations:
- name: execute-3
method: POST
Compiles and submits regulatory reports to the Dutch Central Bank (DNB) by pulling data from the risk reporting system, validating against the reporting taxonomy, and submitting via the DNB portal.
naftiko: "0.5"
info:
label: "Regulatory Reporting Submission Orchestrator"
description: "Compiles and submits regulatory reports to the Dutch Central Bank (DNB) by pulling data from the risk reporting system, validating against the reporting taxonomy, and submitting via the DNB portal."
tags:
- compliance
- regulatory
- risk
capability:
exposes:
- type: mcp
namespace: regulatory-reporting
port: 8080
tools:
- name: submit-dnb-report
description: "Given a report type and period, compile data, validate, and submit to DNB."
inputParameters:
- name: report_type
in: body
type: string
description: "Report type (corep, finrep, liquidity, large_exposures)."
- name: reporting_period
in: body
type: string
description: "Reporting period in YYYY-Q# format."
steps:
- name: compile-data
type: call
call: "risk-reporting.compile-report"
with:
type: "{{report_type}}"
period: "{{reporting_period}}"
- name: validate-taxonomy
type: call
call: "risk-reporting.validate-xbrl"
with:
report_id: "{{compile-data.report_id}}"
- name: submit-to-dnb
type: call
call: "dnb-portal.submit-report"
with:
report_id: "{{compile-data.report_id}}"
type: "{{report_type}}"
validation_status: "{{validate-taxonomy.status}}"
consumes:
- type: http
namespace: risk-reporting
baseUri: "https://api.rabobank.nl/internal/risk-reporting/v2"
authentication:
type: bearer
token: "$secrets.risk_reporting_token"
resources:
- name: reports
path: "/reports"
operations:
- name: compile-report
method: POST
- name: validation
path: "/reports/{{report_id}}/validate"
inputParameters:
- name: report_id
in: path
operations:
- name: validate-xbrl
method: POST
- type: http
namespace: dnb-portal
baseUri: "https://api.dnb.nl/reporting/v1"
authentication:
type: bearer
token: "$secrets.dnb_token"
resources:
- name: submissions
path: "/submissions"
operations:
- name: submit-report
method: POST
Orchestrates regulatory stress test pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders.
naftiko: "0.5"
info:
label: "Regulatory Stress Test Pipeline"
description: "Orchestrates regulatory stress test pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
tags:
- regulatory
- rabobank
- bloomberg
- rabobank
- salesforce
capability:
exposes:
- type: mcp
namespace: regulatory
port: 8080
tools:
- name: regulatory-stress-test-pipeline
description: "Orchestrates regulatory stress test pipeline across agricultural banking systems, coordinating multiple services and notifying stakeholders."
inputParameters:
- name: input_id
in: body
type: string
description: "The primary input identifier."
steps:
- name: step-1
type: call
call: "bloomberg.execute-1"
with:
input: "{{input_id}}"
- name: step-2
type: call
call: "rabobank.execute-2"
with:
input: "{{input_id}}"
- name: step-3
type: call
call: "salesforce.execute-3"
with:
input: "{{input_id}}"
consumes:
- type: http
namespace: bloomberg
baseUri: "https://api.bloomberg.com/v1"
authentication:
type: bearer
token: "$secrets.bloomberg_token"
resources:
- name: bloomberg-resource
path: "/api/regulatory"
operations:
- name: execute-1
method: POST
- type: http
namespace: rabobank
baseUri: "https://api.rabobank.nl/v2"
authentication:
type: bearer
token: "$secrets.rabobank_api_token"
resources:
- name: rabobank-resource
path: "/api/regulatory"
operations:
- name: execute-2
method: POST
- type: http
namespace: salesforce
baseUri: "https://rabobank.my.salesforce.com/services/data/v58.0"
authentication:
type: bearer
token: "$secrets.salesforce_access_token"
resources:
- name: salesforce-resource
path: "/api/regulatory"
operations:
- name: execute-3
method: POST
Retrieves current interest rates for savings products from the product catalog, returning rate tier, applicable balance range, and annual percentage yield.
naftiko: "0.5"
info:
label: "Savings Account Interest Rate Lookup"
description: "Retrieves current interest rates for savings products from the product catalog, returning rate tier, applicable balance range, and annual percentage yield."
tags:
- banking
- savings
- rates
capability:
exposes:
- type: mcp
namespace: product-rates
port: 8080
tools:
- name: get-savings-rates
description: "Look up current savings account interest rates by product type."
inputParameters:
- name: product_code
in: body
type: string
description: "The savings product code."
call: "product-catalog.get-rates"
with:
product_code: "{{product_code}}"
outputParameters:
- name: rate_tiers
type: string
mapping: "$.data.rateTiers"
- name: base_rate
type: string
mapping: "$.data.baseRate"
consumes:
- type: http
namespace: product-catalog
baseUri: "https://api.rabobank.nl/internal/products/v1"
authentication:
type: bearer
token: "$secrets.product_catalog_token"
resources:
- name: rates
path: "/products/{{product_code}}/rates"
inputParameters:
- name: product_code
in: path
operations:
- name: get-rates
method: GET
Retrieves savings goal progress lookup data from the Rabobank agricultural banking systems.
naftiko: "0.5"
info:
label: "Savings Goal Progress Lookup"
description: "Retrieves savings goal progress lookup data from the Rabobank agricultural banking systems."
tags:
- savings
- rabobank
- lookup
capability:
exposes:
- type: mcp
namespace: savings
port: 8080
tools:
- name: savings-goal-progress-lookup
description: "Retrieves savings goal progress lookup data from the Rabobank agricultural banking systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "rabobank.savings-goal-progress-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: rabobank
baseUri: "https://api.rabobank.nl/v2"
authentication:
type: bearer
token: "$secrets.rabobank_api_token"
resources:
- name: resource
path: "/savings/goal/progress/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: savings-goal-progress-lookup
method: GET
Initiates a SEPA credit transfer payment through the payment processing system, accepting debtor IBAN, creditor IBAN, amount, and reference, returning the payment status and end-to-end ID.
naftiko: "0.5"
info:
label: "SEPA Payment Initiation"
description: "Initiates a SEPA credit transfer payment through the payment processing system, accepting debtor IBAN, creditor IBAN, amount, and reference, returning the payment status and end-to-end ID."
tags:
- payments
- sepa
- banking
capability:
exposes:
- type: mcp
namespace: payments
port: 8080
tools:
- name: initiate-sepa-transfer
description: "Initiate a SEPA credit transfer payment."
inputParameters:
- name: debtor_iban
in: body
type: string
description: "The debtor's IBAN."
- name: creditor_iban
in: body
type: string
description: "The creditor's IBAN."
- name: amount
in: body
type: string
description: "Payment amount in EUR."
- name: reference
in: body
type: string
description: "Payment reference text."
call: "payment-engine.create-sepa-transfer"
with:
debtor_iban: "{{debtor_iban}}"
creditor_iban: "{{creditor_iban}}"
amount: "{{amount}}"
currency: "EUR"
reference: "{{reference}}"
outputParameters:
- name: payment_status
type: string
mapping: "$.data.status"
- name: end_to_end_id
type: string
mapping: "$.data.endToEndId"
consumes:
- type: http
namespace: payment-engine
baseUri: "https://api.rabobank.nl/internal/payments/v3"
authentication:
type: bearer
token: "$secrets.payment_engine_token"
resources:
- name: transfers
path: "/sepa-credit-transfers"
operations:
- name: create-sepa-transfer
method: POST
Retrieves the status of an SME overdraft facility, returning the approved limit, current utilization, available headroom, and review date.
naftiko: "0.5"
info:
label: "SME Overdraft Facility Lookup"
description: "Retrieves the status of an SME overdraft facility, returning the approved limit, current utilization, available headroom, and review date."
tags:
- banking
- lending
- sme
capability:
exposes:
- type: mcp
namespace: sme-lending
port: 8080
tools:
- name: get-overdraft-status
description: "Check the status of an SME overdraft facility."
inputParameters:
- name: facility_id
in: body
type: string
description: "The overdraft facility identifier."
call: "loan-system.get-facility"
with:
facility_id: "{{facility_id}}"
outputParameters:
- name: approved_limit
type: string
mapping: "$.data.approvedLimit"
- name: current_utilization
type: string
mapping: "$.data.currentUtilization"
- name: available_headroom
type: string
mapping: "$.data.availableHeadroom"
- name: review_date
type: string
mapping: "$.data.nextReviewDate"
consumes:
- type: http
namespace: loan-system
baseUri: "https://api.rabobank.nl/internal/lending/v2"
authentication:
type: bearer
token: "$secrets.loan_origination_token"
resources:
- name: facilities
path: "/facilities/{{facility_id}}"
inputParameters:
- name: facility_id
in: path
operations:
- name: get-facility
method: GET
When the transaction monitoring system flags a suspicious transaction, pulls the transaction and customer details, files a report in the compliance system, creates an investigation case in ServiceNow, and alerts the AML team in Slack.
naftiko: "0.5"
info:
label: "Suspicious Transaction Alert Orchestrator"
description: "When the transaction monitoring system flags a suspicious transaction, pulls the transaction and customer details, files a report in the compliance system, creates an investigation case in ServiceNow, and alerts the AML team in Slack."
tags:
- risk
- aml
- compliance
- servicenow
- slack
capability:
exposes:
- type: mcp
namespace: aml-monitoring
port: 8080
tools:
- name: process-suspicious-alert
description: "Given a transaction alert ID, pull details, file compliance report, create investigation, and notify AML team."
inputParameters:
- name: alert_id
in: body
type: string
description: "The transaction monitoring alert identifier."
steps:
- name: get-alert
type: call
call: "txn-monitoring.get-alert"
with:
alert_id: "{{alert_id}}"
- name: get-customer
type: call
call: "customer-file.get-customer"
with:
customer_id: "{{get-alert.customer_id}}"
- name: file-report
type: call
call: "compliance-system.create-str"
with:
alert_id: "{{alert_id}}"
customer_id: "{{get-alert.customer_id}}"
transaction_amount: "{{get-alert.amount}}"
risk_indicators: "{{get-alert.indicators}}"
- name: create-investigation
type: call
call: "servicenow.create-case"
with:
short_description: "AML Investigation: Alert {{alert_id}}"
description: "Customer: {{get-customer.name}}. Amount: EUR {{get-alert.amount}}. Indicators: {{get-alert.indicators}}. STR: {{file-report.str_id}}."
assignment_group: "AML_Investigations"
- name: alert-team
type: call
call: "slack.post-message"
with:
channel: "#aml-alerts"
text: "Suspicious alert {{alert_id}}: Customer {{get-customer.name}}, EUR {{get-alert.amount}}. STR filed: {{file-report.str_id}}. Investigation: {{create-investigation.number}}."
consumes:
- type: http
namespace: txn-monitoring
baseUri: "https://api.rabobank.nl/internal/txn-monitoring/v1"
authentication:
type: bearer
token: "$secrets.txn_monitoring_token"
resources:
- name: alerts
path: "/alerts/{{alert_id}}"
inputParameters:
- name: alert_id
in: path
operations:
- name: get-alert
method: GET
- type: http
namespace: customer-file
baseUri: "https://api.rabobank.nl/internal/customer/v2"
authentication:
type: bearer
token: "$secrets.customer_file_token"
resources:
- name: customers
path: "/customers/{{customer_id}}"
inputParameters:
- name: customer_id
in: path
operations:
- name: get-customer
method: GET
- type: http
namespace: compliance-system
baseUri: "https://api.rabobank.nl/internal/compliance/v1"
authentication:
type: bearer
token: "$secrets.compliance_token"
resources:
- name: strs
path: "/suspicious-transaction-reports"
operations:
- name: create-str
method: POST
- type: http
namespace: servicenow
baseUri: "https://rabobank.service-now.com/api/now"
authentication:
type: basic
username: "$secrets.servicenow_user"
password: "$secrets.servicenow_password"
resources:
- name: cases
path: "/table/sn_si_case"
operations:
- name: create-case
method: POST
- type: http
namespace: slack
baseUri: "https://slack.com/api"
authentication:
type: bearer
token: "$secrets.slack_bot_token"
resources:
- name: messages
path: "/chat.postMessage"
operations:
- name: post-message
method: POST
Retrieves sustainability score lookup data from the Rabobank agricultural banking systems.
naftiko: "0.5"
info:
label: "Sustainability Score Lookup"
description: "Retrieves sustainability score lookup data from the Rabobank agricultural banking systems."
tags:
- sustainability
- rabobank
- lookup
capability:
exposes:
- type: mcp
namespace: sustainability
port: 8080
tools:
- name: sustainability-score-lookup
description: "Retrieves sustainability score lookup data from the Rabobank agricultural banking systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "rabobank.sustainability-score-lookup"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: rabobank
baseUri: "https://api.rabobank.nl/v2"
authentication:
type: bearer
token: "$secrets.rabobank_api_token"
resources:
- name: resource
path: "/sustainability/score/lookup/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: sustainability-score-lookup
method: GET
Processes a sustainable farming loan with preferential rates by verifying the farm's sustainability certification, pulling the environmental score, calculating the green discount, and creating the loan application.
naftiko: "0.5"
info:
label: "Sustainable Farming Loan Orchestrator"
description: "Processes a sustainable farming loan with preferential rates by verifying the farm's sustainability certification, pulling the environmental score, calculating the green discount, and creating the loan application."
tags:
- agricultural-lending
- sustainability
- green-finance
capability:
exposes:
- type: mcp
namespace: green-lending
port: 8080
tools:
- name: originate-green-loan
description: "Given a farmer ID and sustainability cert, verify certification, calculate green discount, and create loan."
inputParameters:
- name: farmer_id
in: body
type: string
description: "The farmer identifier."
- name: cert_id
in: body
type: string
description: "Sustainability certification ID."
- name: requested_amount
in: body
type: string
description: "Loan amount requested."
steps:
- name: verify-cert
type: call
call: "sustainability-platform.verify-certification"
with:
farmer_id: "{{farmer_id}}"
cert_id: "{{cert_id}}"
- name: get-env-score
type: call
call: "sustainability-platform.get-environmental-score"
with:
farmer_id: "{{farmer_id}}"
- name: create-application
type: call
call: "loan-origination.create-green-application"
with:
customer_id: "{{farmer_id}}"
amount: "{{requested_amount}}"
sustainability_score: "{{get-env-score.score}}"
cert_verified: "{{verify-cert.valid}}"
consumes:
- type: http
namespace: sustainability-platform
baseUri: "https://api.rabobank.nl/internal/sustainability/v1"
authentication:
type: bearer
token: "$secrets.sustainability_token"
resources:
- name: certifications
path: "/certifications/verify"
operations:
- name: verify-certification
method: POST
- name: scores
path: "/farmers/{{farmer_id}}/environmental-score"
inputParameters:
- name: farmer_id
in: path
operations:
- name: get-environmental-score
method: GET
- type: http
namespace: loan-origination
baseUri: "https://api.rabobank.nl/internal/lending/v2"
authentication:
type: bearer
token: "$secrets.loan_origination_token"
resources:
- name: green-applications
path: "/green-applications"
operations:
- name: create-green-application
method: POST
Retrieves trade finance document status data from the Rabobank agricultural banking systems.
naftiko: "0.5"
info:
label: "Trade Finance Document Status"
description: "Retrieves trade finance document status data from the Rabobank agricultural banking systems."
tags:
- trade
- rabobank
- status
capability:
exposes:
- type: mcp
namespace: trade
port: 8080
tools:
- name: trade-finance-document-status
description: "Retrieves trade finance document status data from the Rabobank agricultural banking systems."
inputParameters:
- name: input_id
in: body
type: string
description: "The input id."
call: "rabobank.trade-finance-document-status"
with:
input_id: "{{input_id}}"
outputParameters:
- name: result
type: string
mapping: "$.data"
- name: status
type: string
mapping: "$.status"
consumes:
- type: http
namespace: rabobank
baseUri: "https://api.rabobank.nl/v2"
authentication:
type: bearer
token: "$secrets.rabobank_api_token"
resources:
- name: resource
path: "/trade/finance/document/status/{{input_id}}"
inputParameters:
- name: input_id
in: path
operations:
- name: trade-finance-document-status
method: GET
Checks the status of a trade finance letter of credit from the trade finance system, returning LC status, beneficiary, amount, expiry date, and documents presented.
naftiko: "0.5"
info:
label: "Trade Finance Letter of Credit Status"
description: "Checks the status of a trade finance letter of credit from the trade finance system, returning LC status, beneficiary, amount, expiry date, and documents presented."
tags:
- banking
- trade-finance
capability:
exposes:
- type: mcp
namespace: trade-finance
port: 8080
tools:
- name: get-lc-status
description: "Look up a letter of credit by LC number."
inputParameters:
- name: lc_number
in: body
type: string
description: "The letter of credit number."
call: "trade-finance-system.get-lc"
with:
lc_number: "{{lc_number}}"
outputParameters:
- name: status
type: string
mapping: "$.data.lcStatus"
- name: beneficiary
type: string
mapping: "$.data.beneficiaryName"
- name: amount
type: string
mapping: "$.data.amount"
- name: expiry_date
type: string
mapping: "$.data.expiryDate"
consumes:
- type: http
namespace: trade-finance-system
baseUri: "https://api.rabobank.nl/internal/trade-finance/v2"
authentication:
type: bearer
token: "$secrets.trade_finance_token"
resources:
- name: lcs
path: "/letters-of-credit/{{lc_number}}"
inputParameters:
- name: lc_number
in: path
operations:
- name: get-lc
method: GET
Retrieves the daily cash position across all treasury accounts from the treasury management system, returning total cash, currency breakdown, and net position.
naftiko: "0.5"
info:
label: "Treasury Cash Position Report"
description: "Retrieves the daily cash position across all treasury accounts from the treasury management system, returning total cash, currency breakdown, and net position."
tags:
- banking
- treasury
capability:
exposes:
- type: mcp
namespace: treasury
port: 8080
tools:
- name: get-cash-position
description: "Retrieve the daily treasury cash position across all accounts."
inputParameters:
- name: as_of_date
in: body
type: string
description: "Position date in YYYY-MM-DD format."
call: "treasury-system.get-cash-position"
with:
date: "{{as_of_date}}"
outputParameters:
- name: total_cash_eur
type: string
mapping: "$.data.totalCashEUR"
- name: currency_breakdown
type: string
mapping: "$.data.currencyBreakdown"
- name: net_position
type: string
mapping: "$.data.netPosition"
consumes:
- type: http
namespace: treasury-system
baseUri: "https://api.rabobank.nl/internal/treasury/v2"
authentication:
type: bearer
token: "$secrets.treasury_token"
resources:
- name: positions
path: "/cash-positions"
inputParameters:
- name: date
in: query
operations:
- name: get-cash-position
method: GET