Receiving Maintenance Calls
The Voice AI Agent answers incoming phone calls on behalf of your site and follows a rule-based call flow that you configure. Depending on who is calling and when, the system can play voice messages, forward the call to another number, create maintenance requests or work orders, or present a menu where the caller selects an option by pressing 1–9.
What is a Voice AI Agent?
The Voice AI Agent is an automated phone attendant for your building. When a tenant, service provider, or anyone else calls the configured phone number, the agent:
- Evaluates the configured call flow rules from top to bottom
- Finds the first rule where the time restrictions and caller restrictions both match
- Executes the action defined in that rule (play a message, forward the call, create a ticket, etc.)
This means you can set up different behaviors for business hours vs. after hours, for known tenants vs. unknown callers, or any combination.
Prerequisites
Before setting up the Voice AI Agent, you need a Twilio account with a phone number. If you don't have one yet:
- Create a Twilio account
- Purchase a phone number that supports voice calls — see How to Search for and Buy a Twilio Phone Number
- Make sure the number is in a country and area code that your callers will recognize
Setting up the webhook
Navigate to your site's Automation & AI tab and open Voice AI Agent. You will see a webhook URL that looks like this:
https://api.building.fentrica.com/beetle/automation/orgs/{orgId}/properties/{propertyId}/incoming-call
Copy this URL and configure it in your Twilio Console:
- Go to Twilio Console and navigate to Phone Numbers > Manage > Active Numbers
- Select your phone number
- Under Voice Configuration, set A call comes in to Webhook
- Paste the copied URL into the webhook URL field
- Set the HTTP method to POST
- Save the configuration
All calls to that Twilio number will now be handled by the Voice AI Agent.
Configuring the call flow
The call flow is a prioritized list of rules. Each rule consists of:
| Column | Description |
|---|---|
| Time Restrictions | Days of the week and optional start/end times when this rule applies |
| Caller Restrictions | Who can trigger this rule — everyone, site managers, tenants, or service providers |
| Action | What happens when the rule matches |
| Configuration | Action-specific settings (audio prompt, phone number, language, etc.) |
Rules are evaluated top to bottom — the first matching rule wins. You can drag rows to reorder them.
Time restrictions
For each rule you can define:
- Days — Select which days of the week this rule is active (Monday through Sunday)
- Start time — Earliest time of day this rule applies (format: HH:mm)
- End time — Latest time of day this rule applies (format: HH:mm)
If no time restrictions are set, the rule applies at all times on the selected days.
Create separate rules for business hours and after hours. Place the more specific rule (e.g., business hours with call forwarding) above the general fallback rule (e.g., after-hours voicemail).
Caller restrictions
Control who can trigger each rule:
| Restriction | Description |
|---|---|
| Public | Any caller — no restrictions |
| Site Managers | Only calls from phone numbers associated with site manager accounts |
| Tenants | Only calls from phone numbers associated with tenant (access group user) accounts |
| Service Providers | Only calls from phone numbers associated with external partner accounts |
A rule can have multiple caller restrictions. The call matches if the caller belongs to any of the selected groups.
Actions
Each rule has one of the following actions:
Say & hang up
Plays a voice message to the caller and then disconnects. Use this for informational messages like office hours, emergency contacts, or temporary closures.
Configuration:
- Audio prompt — The voice message to play (see Voice prompts below)
Forward call
Forwards the incoming call to another phone number. While the call is forwarded, the system can optionally record the conversation and create a maintenance request or work order from the recording.
Configuration:
- Audio prompt — Message played to the caller before forwarding (e.g., "Please hold while we connect you")
- Forward to number — The destination phone number including country code (e.g., +3725551234)
- Recording configuration — Optionally choose what happens with the call recording:
- Create Request — Automatically creates a maintenance request from the call recording, using speech-to-text to transcribe the conversation
- Create Work Order — Automatically creates a work order from the call recording
Create New Request
Records the caller's voice message, transcribes it using AI speech-to-text, and creates a maintenance request (ticket) automatically.
Configuration:
- Language — The language the caller speaks in (used for speech-to-text transcription)
- Initial prompt — Message played when the caller reaches this step (e.g., "Please describe your maintenance issue after the tone")
- Update prompt — Message played if the caller wants to re-record
- Updated confirmation — Message played after the caller confirms the update
- Created confirmation — Message played after the request is successfully created (e.g., "Your request has been submitted. Thank you.")
- Assigned to — Optionally assign the created request to a specific manager
Create New Work Order
Similar to creating a request, but creates a work order (task) instead. This is useful when calls should go directly to the service provider workflow.
Configuration:
- Language — The language for speech-to-text transcription
- Initial prompt — Message played at the start
- Update prompt — Message played if the caller re-records
- Updated confirmation — Confirmation after re-recording
- Created confirmation — Confirmation after the work order is created
- Service provider — Optionally assign to a specific service provider
- Technical system — Optionally link to a specific technical system
- Assigned to — Optionally assign to a specific manager
Caller chooses 1–9 (Gather)
Presents a voice menu where the caller selects an option by pressing a digit (1 through 9) on their phone keypad. Each digit can trigger a different sub-action.
Configuration:
- Audio prompt — The menu message (e.g., "Press 1 for maintenance, press 2 for emergencies, press 3 to leave a message")
- Sub-flow — For each digit option, configure a separate action. Each option supports the same action types: Say & hang up, Forward call, Create Request, Create Work Order, or even another nested Gather menu
Keep phone menus short — ideally 3 to 4 options. Callers are unlikely to listen to long menus and may hang up.
Voice prompts
Every action requires at least one audio prompt — the voice message the caller hears. You have two options for creating prompts:
AI text-to-speech
Use the built-in AI voice generator to create natural-sounding voice prompts:
- Click Generate or upload audio file
- Type your message text
- Select a voice and language
- Preview the generated audio
- Save when satisfied
This is the fastest way to create and update prompts. You can regenerate them at any time by changing the text.
Upload a recording
If you prefer a human voice or have professionally recorded audio:
- Click Generate or upload audio file
- Use the file picker to select an MP3 or WAV file
- The file is uploaded and linked to the action
Example configurations
Basic business-hours forwarding with after-hours voicemail
| # | Time | Caller | Action | Configuration |
|---|---|---|---|---|
| 1 | Mon–Fri 08:00–17:00 | Public | Forward call | Forward to +3725551234 |
| 2 | Mon–Sun (all day) | Public | Create Request | Language: English |
During business hours, calls are forwarded to the office. Outside of those hours, callers leave a voice message that becomes a maintenance request.
Phone menu with emergency option
| # | Time | Caller | Action | Configuration |
|---|---|---|---|---|
| 1 | Mon–Sun (all day) | Public | Caller chooses 1–9 | "Press 1 for maintenance, press 2 for emergencies" |
Sub-flow for option 1: Create Request (language: English) Sub-flow for option 2: Forward call to emergency number