I started my internship at Datawise knowing it would be about AI and data. What made it exciting from the start was the challenge itself. The brief was ambitious: get an AI agent to make a real phone call, have an actual conversation with someone, and push the result back into a spreadsheet, end to end. The kind of challenge that pushed me to go deeper into automation and AI.
The Idea Behind It
The challenge was to be able to automate overdue invoice reminder calls. Companies spend hours having someone pick up the phone, read an amount, and ask how the client wants to pay. The question was, could we build a system that handles these mechanical calls on its own?
Three tools made it possible:
- n8n: For building and connecting the automation workflows.
- ElevenLabs: For AI voice generation and, later, full ConvAI Agents.
- Twilio: For making the phone calls and handling SMS/WhatsApp.
The First Test: One-Way Calls
Everything started inside n8n. I built a workflow that reads a Google Sheets document with client names and overdue amounts, sends that text to ElevenLabs to generate a voice clip, and then uses Twilio to call the client and play the message. After the call, the workflow logs whether it went through or not.
There was no back-and-forth here. The client picks up, hears the amount they owe, and that's it. It was an automated voicemail with a real-sounding voice. Not very sophisticated, but it worked. And more importantly, it proved the pipeline was solid from data to call to log.
The n8n flow: read client data, generate voice, trigger the call, log the result.
The Next Step: A Voice Agent That Talks Back
This is where things got interesting. I moved away from n8n handling the voice and shifted everything into ElevenLabs' agent platform. Instead of playing a pre-recorded clip, I built a conversational agent that could actually interact with the person that answered the call.
At this point I have to say, ElevenLabs surprised me. The platform is incredibly capable when it comes to designing voice workflows with internal tools, managing outbound calls, and integrating with external apps. The agent could now ask questions, understand responses, and follow different paths depending on what the client said.
I configured custom tools with dynamic variables so the agent could capture specific information during the call, things like confirmation of the debt amount and how the client prefers to be contacted.
The ElevenLabs agent: branching logic, payment tools, and WhatsApp integration.
From Call to Data: Completing the Cycle
The last piece was the agent being able to guide the client through a payment decision, either paying the full amount at once or splitting it into installments, and then updating the company's spreadsheet automatically.
Once that was working, the full picture came together. The system triggers a call, the AI agent has a real conversation, the client makes a choice, and the data updates itself. No one needs to listen to the recording, take notes, or type anything into a sheet. The whole workflow runs as a single automated process, and that's a solid result.
Two supporting flows: processing call data and handling WhatsApp messaging.
Building Forward
This internship wasn't just about learning new tools. It taught me to think about automation as a connected system, not isolated tasks. Each piece talks to the next, and when it works, it feels almost invisible. Seeing the full solution running end to end confirmed that this is the right path to keep building on.
There's plenty I still want to improve, better error handling, more complex conversation trees, edge cases where the agent doesn't quite understand. But getting that first successful test call, where the agent introduced itself, confirmed a debt, and captured a payment preference, all running through a fully automated pipeline, was a good validation that the approach works and is worth taking further.
The best automation doesn't feel like technology at all. It just feels like something that works.