Risotto



Overview

Automate any routine internal HR workflow using natural language. Give employees a single front door for internal enterprise support.

Risotto is an AI agent that runs inside Slack or Microsoft Teams and connects to BambooHR via OAuth. Once installed, employees can ask Risotto (which can be branded with your company name and logo) in plain language common HR questions which Risotto can answer by checking BambooHR profile information (address, department, date of hire, PTO balance) or taking common actions on their behalf such as submitting a time off request.

Meanwhile, Risotto keeps track of questions by managing the tickets. Risotto can be the ticketing system or it can integrate with your existing ticketing system such as Zendesk, Freshservice, Jira, or ServiceNow (or others).

For employees, it means no portal logins, no new apps to learn, and they never need to wonder where to go for help.

Beyond Risotto’s BambooHR native actions, Risotto can automate any routine HR workflow via runbooks and custom tool creation - if your operational stack has a tool with an API, Risotto can drive it to solve internal workflows.

And Risotto isn't just for HR: the same agent handles IT, Finance, and other internal support, so employees get one place to go for help.

Out of the Box with BambooHR

Extend to Any HR Workflow

Key Differentiators

Better Together Story:

Risotto + BambooHR brings HR support into Slack where employees already work. Risotto reads from BambooHR to answer "who's my manager?", "how do I update my address?", "how much PTO do I have?", and submits updates + routes approvals conversationally — no ticket portal required. And because Risotto handles IT and other internal support in the same agent, BambooHR customers get a single front door for every routine employee request. HR teams get back hours of Tier-1 work; employees get instant answers 24/7.

Integration

How it works

Risotto connects to BambooHR via OAuth and through Slack or Microsoft teams, employees can request information regarding their employment information and time off through chat clients like Slack and Microsoft Teams. Risotto makes API requests to the GET Employees endpoint to look up the employee record and POST Employees to update the home address. Risotto makes GET /time_off/calculator and GET /time_off/requests to retrieve information about the employee PTO balance and current time off requests. Employees can submit PTO requests and Risotto submits those using PUT /time_off/request. These requests are made through the chat client and the employee does not need to login to BambooHR directly.

How to Install:

Risotto organization administrators connect BambooHR by logging into the Risotto dashboard and navigating to Settings > People > Connect. From the Connect page, the admin can install various HRIS integrations, including BambooHR. The "Install" button initiates the authorization flow so the user can login to a BambooHR admin account, authorize the listed scopes, and connect the accounts.

What data syncs?

BambooHR Field
Sync Direction
Risotto Field
Field Logic or Notes
Is this turned on by default or is it configurable?
id (Employee #)
Name and Surname
Identifying field for the integration. Resolved via GET /employees?filter[workEmail]=… on first lookup, then cached on the Risotto identity record.
Default
workEmail
HRISEmployee.email (primary)
Used as the join key against the employee's Risotto / Slack / Teams identity. Preferred over homeEmail.
Default
homeEmail
HRISEmployee.email (fallback)
Only used when workEmail is empty.
Default
displayName
HRISEmployee.descriptor (primary)
Preferred presentation name.
Default
preferredName
HRISEmployee.descriptor (fallback)
Used when displayName is empty.
Default
firstName
HRISEmployee.descriptor (fallback)
Combined with lastName when no display/preferred name is set.
Default
lastName
HRISEmployee.descriptor (fallback)
Combined with firstName when no display/preferred name is set.
Default
jobTitle
HRISEmployee.business_title
Surfaced to the agent for routing and access-rule conditions.
Default
department
HRISEmployee.primary_supervisory_organization_descriptor
Used by access rules and request routing.
Default
division
(read; not mapped onto HRISEmployee)
Available to the agent context; no dedicated Risotto field today.
Default
location
HRISEmployee.primary_work_location_descriptor
Used for location-based policy.
Default
hireDate
HRISEmployee.hire_date
Used for tenure-based policy and lifecycle triggers.
Default
supervisor
(read; manager descriptor)
Manager name, displayed to the agent.
Default
supervisorEmail
supervisorEmail
Resolves the requester's manager for manager-approval flows.
Default
employmentHistoryStatus
Drives OrgUserIdentity.is_active
Flips identity back to active on rehire (joined event); deactivates on termination.
Default
address1
EmployeeAddress.address_line_1
Current home address line 1. Read for display, written via the agent's update_home_address tool.
Configurable
address2
EmployeeAddress.address_line_2
Optional second address line. Sent via additional_properties (not a typed field on the BambooHR update model).
Configurable
city
EmployeeAddress.city
Current home address city.
Configurable
state
EmployeeAddress.state_province
Current home address state/province.
Configurable
zipcode
EmployeeAddress.postal_code
Current home address postal code.
Configurable
country
EmployeeAddress.country
Current home address country.
Configurable
Time-off balance (/time_off/calculator)
EmployeeTimeOffBalance
Per-policy balance, units, and policy type. Discretionary/manual policies surface balance=None (BambooHR doesn't track a running balance for these).
Default
Time-off requests (/time_off/requests)
EmployeeTimeOffEntry
Expanded to one entry per day so the agent can match against specific calendar dates.
Default
Time-off request creation (PUT /employees/{id}/time_off/request)
EmployeeTimeOffRequest
Submits a new PTO request on the employee's behalf with per-day dates and optional note.
Configurable

Publisher

Risotto

Integration Published: 05/19/2026

Integration Updated: 05/19/2026

Email Support:

support@tryrisotto.com

Support Office Hours and Time Zone:

Mon-Fri 9am-6pm Pacific Time