Voice AI for Property Management: Automating Maintenance Requests Step-by-Step
Managing maintenance calls is one of the most time-consuming and disruptive parts of running a property management operation. Missed or delayed calls often lead to unhappy tenants, unresolved issues, and added stress for your team.
In this post, we’ll walk you through how we built a Voice AI system that automates the entire maintenance request process. It captures key details such as tenant information, issue type, and urgency through a natural phone conversation, and then automatically sends a detailed request email to your maintenance team. Whether you’re a property manager, owner, or tech lead, this guide will show how modern tools like Twilio, ElevenLabs, and n8n can help streamline communication, reduce manual workload, and improve the experience for both staff and tenants.
Tools we’ll use:
- Twilio: For acquiring a phone number and handling call routing.
- ElevenLabs: To create and manage the conversational AI voice agent.
- n8n: An automation platform to process data and send an email.
Step 1: Set Up Your Twilio Phone Number
You don’t need Twilio to make this setup work. Your existing telephony system can be integrated with ElevenLabs using SIP trunking. For this demo, I’ll be using Twilio because it provides a simple and developer-friendly integration with ElevenLabs. A free trial account is more than enough to get everything up and running.
- Sign Up for Twilio: Create an account at Twilio.
- Obtain a Phone Number: Navigate to the Twilio Console and purchase a number suitable for your region.
- Configure Voice Settings: Set up the voice webhook to forward incoming calls to your ElevenLabs agent. This can also be configured automatically if you link your Twilio number directly through the ElevenLabs portal.
Step 2: Create a Voice AI agent with ElevenLabs
- Sign up for ElevenLabs: Visit ElevenLabs.io and create an account. The free tier includes enough credits to get started.
- Go to Conversational Dashboard
- Create a new agent
– Click on the Agents tab and then Create New Agent.
– You can use an existing template like Support Agent or start from scratch.
Step 3: Configure your voice agent
- First Message
The initial greeting your agent gives when picking up the call. Something like
“Hi there! This is Mary from Excellent Property Management Corp. How can I help you today?” - System Prompt
This defines your agent’s persona and instructions. Example:
“You are a friendly and professional Voice AI Agent for handling maintenance requests in a residential or commercial property. Your goal is to collect complete and accurate information about the maintenance issue from the caller and create a support ticket. You must guide the caller step-by-step, asking clear follow-up questions as needed…“
ElevenLabs has the best practice guide for prompt.. Check out here to build and an efficient prompt. - Language Model (LLM)
Choose the LLM model you want your Voice AI agent to use. The language model powers the agent’s responses during conversations, generating natural and relevant replies. You’ll be responsible for any usage costs associated with the LLM. It’s a good idea to experiment with a few different models to see which one delivers the best results for your specific use case. - Temperature
Adjust this to fine-tune how creative or direct your agent’s responses should be. - Knowledge Base
Upload relevant documents or FAQs, and enable Use RAG if you want the agent to reference them in real-time. - Tools (Integrations)
This is where you configure external actions for your Voice AI agent. You need to set up an n8n webhook to send the collected data to your n8n workflow. Once the webhook is triggered, n8n will execute the configured workflow. In our case, it sends an email to the maintenance team with all the necessary details. When creating a custom tool, make sure to include all required parameters such as:Tenant Name
- Address
Phone number for call back
Request Details
- Phone Number Setup
Go to the Phone Numbers section in ElevenLabs and assign your agent to the Twilio number.
Now, when someone calls your Twilio number, your AI agent will answer and engage with the caller — pretty easy, eh?
Tip: For detailed walkthroughs, check out the ElevenLabs Quickstart Guide.
There are many additional settings you can explore to make your agent more efficient. Take some time to review them and fine-tune the experience based on your specific needs.
Step 4: Integrate with n8n to send the maintenance request details via email
- Set Up n8n
Use either n8n Cloud or a self-hosted instance. - Create a New Workflow
In the dashboard, go to Workflows → Add Workflow. - Add a Webhook Node
- Drag the Webhook node.
- Set the method to POST.
- Copy the generated webhook URL for use in ElevenLabs.
- For simplicity, I have skipped authentication but for your production workflow, please add authentication.
Example mock data to configure webhook mapping:
[
{
"name": "Olivia",
"address": "123 Main st, Cambridge, ON, T6G 7Y6",
"phone": "1234567890",
"request": "Need help with clogged Sink in Kitchen. No other sinks affected."
}
]

- Add a Gmail Send Email Node:
- Drag the ‘Send Message”’ node from google node into your workflow.
- Authenticate with your Google account. This account will be used to send an email for maintenance team
- Add required fields like To, Subject and Message. For a message, you can create a template and use the data from webhook. For simplicity, I am using text email type.
- One thing I personally like to do is change sender name which you can do from Options at the end. Select Sender Name from dropdown and configure the value. There are other parameters/metadata that you can configure as needed.
My Email message template looks like:

- Add a Webhook Response Node
Send back a simple confirmation as a webhook response

The complete n8n workflow looks like this:

Step 5: Connect Voice Agent with n8n
- Go to Tools in your agent settings.
- Choose Custom Tool and paste in the n8n webhook URL using POST method.
- Add parameters (
name
, address,phone
,request
) as required.
There are several ways to configure parameter values. For each parameter, you should also provide a clear description explaining what it represents and how the agent should extract or generate its value. If a specific format or pattern is required, make sure to define it explicitly.
Step 6: Test the Full Flow
- Run the n8n workflow
- Call your Twilio number and chat with voice ai agent
- Once the voice agent has gathered all the necessary information, it triggers the n8n workflow to send the email. The logic for when to trigger this action is defined within the system prompt in the ElevenLabs agent configuration dashboard.
- Check an email and verify the details
Here is a short video of me testing the workflow and below is an email that I got from my workflow:

Optional: Embed the Voice Agent on your maintenance form in your Website
ElevenLabs also allows you to generate a widget for your agent that can be embedded into your website. Website visitors can click to start a call via browser — no phone required!

Conclusion
Modern AI technologies make it easier than ever to build voice agents that can handle repetitive tasks, reduce missed calls, and improve client satisfaction. With the right setup, these agents can work around the clock, giving your team more time to focus on what truly matters.
If you’re exploring ways to build a similar AI agent for customer support in Trade Services, check our other blog post here.
At Parijat Software, we help businesses identify high-impact areas where Voice AI can streamline operations and boost customer experience. If you’re curious about how this could work for your business, let’s connect.