Skip to main content
Version: Current

Process · simple — answer an HR question

The case. A manager asks: "how much overtime in my team this month, and which week was the worst?" The answer is in the HR tool.

What the example shows. A station that only answers: reads, a "report" frame, no reachable write, so neither a selection nor a submit guard.

examples/actuelle/process-simple.yaml
# Process · simple — HR questions answered from the HR tool. Reads only: nothing is chosen,
# nothing is submitted, so there is no selection, no submit_guard and no write in the allowlist.
station:
id: rh-reporting
name: Reporting RH

global:
language: fr
currency: EUR
locale: fr-FR

domain:
domain_type: saas
entity_name: feuille d'heures
entity_name_plural: feuilles d'heures


agent:
tone: professional
name: Reporting RH
persona: "un analyste RH qui parle chiffres, brièvement"
rules:
- "Ne jamais avancer une heure qui n'a pas été mesurée : tout chiffre vient du rapport."
emoji: false
portals:
web:
widget:
origins: [https://rh.example.fr]

apis:
- name: rh-lecture
openapi_url: https://rh-api.example.fr/openapi.json
base_url: https://rh-api.example.fr
operations: # reads only — the write is not reachable
- {id: listTeams, access: read}
- {id: getOvertimeReport, access: read}
auth: {type: api_key, key_name: X-RH-Key, key_location: header, key_env: RH_API_KEY}

skills:
- name: equipes
invoke: {method: listTeams}
- name: rapport-heures-sup
invoke: {method: getOvertimeReport}
render:
component: report
report:
headline: total_overtime_hours # the number that answers
headline_label: "heures supplémentaires"
unit: h
series: weeks
point_label: week_starting
point_value: overtime_hours
highlight: worst_week # marked, never re-sorted

What happens​

questionCoreresult
"which teams?"equipes → listTeamsthe list, as cards
"overtime for the Logistics team"rapport-heures-sup → getOvertimeReporta headline figure, one bar per week, the worst one marked
"approve Awa's timesheets"no skill writesthe agent says what it can do instead

Key points​

  • No write in operations: the HR tool may have some, the station cannot reach them.
  • Both skills call only access: read operations: Core deduces that they only answer, and no line of a report can enter a selection, whatever the door.
  • No submit_guard: a guard in front of a door that does not exist would suggest that it exists.