Getting started with Ava and HubSpot
Ava is the AI voice agent that calls FastCo's leads for you. You request a call in HubSpot, Ava makes the call, and then it writes the result back to the same HubSpot contact. This guide explains how that works, which HubSpot properties Ava uses, and what each value means.
1. What Ava is
Ava is a voice AI platform built by Q9 Labs. Each Ava agent has its own instructions, voice, and knowledge, so it can hold a natural phone conversation about a specific product. FastCo's agents call employers about FastJobs advertising, answer their questions with information FastCo has approved, and find out whether the employer wants to talk to a client advisor.
After every call, Ava listens back to the conversation and decides what happened: whether the person picked up, whether they're interested, whether they asked for a callback, and what your team should do next. Ava keeps the recording, transcript, and summary of every call in its dashboard at ava.q9labs.ai, and it sends the key results to HubSpot so your sales team can work from HubSpot alone.
Here is what happens from the moment your team requests a call:
- 1 · Request · HubSpotYour team sets Ava Agent ID and Ava Call Requested = Yes.
- 2 · Accept · AvaAva receives the request within seconds, sets Call Status to in_progress and Call Requested back to No.
- 3 · Call · AvaCheryl calls the lead from +65 3125 8468.
- 4 · Analyse · AvaAva works out the outcome, next action, summary, and any callback time.
- 5 · Results · HubSpotThe Ava properties are filled in and the call is logged on the contact.
2. FastCo's setup
| Item | Value |
|---|---|
| Main agent | Cheryl, the FastJobs sales agent. Agent ID 6a09659961bf55895ca8d00c. |
| Language | Cheryl speaks English. If the employer prefers Mandarin, Cheryl hands the call over to a Mandarin-speaking agent during the same call. |
| Phone number | Calls come from FastCo's own Singapore number, +65 3125 8468. |
| HubSpot connection | Ava is connected to FastCo's HubSpot through a private app access token, which lets it read contacts and write back the Ava properties and logged calls. It's live, and an end-to-end test call passed on 24 Sep 2026. |
| What Cheryl may say | Cheryl only uses the product facts, pricing, and claims that FastCo approved. If something about the script needs to change, send it to Hasan. |
3. Requesting a call from HubSpot
Your team only sets two properties. Ava does everything else.
- Open the contact in HubSpot and make sure the standard Phone number property is filled in. Ava only reads the standard
phoneproperty, not mobile phone or custom phone fields. Include the country code if you can, for example+65 9123 4567. - Set Ava Agent ID (
ava_agent_id) to6a09659961bf55895ca8d00cfor Cheryl. This property tells Ava which agent should make the call, so a call request without it is skipped. - Set Ava Call Requested (
ava_call_requested) to Yes. HubSpot notifies Ava straight away, and the call normally starts within a few seconds. - Ava sets Ava Call Requested back to No and sets Ava Call Status to
in_progress. This shows Ava has picked up the request. - Shortly after the call ends and Ava has analysed it, the results appear on the contact and a call is logged on the contact's timeline.
You can do this one contact at a time, in bulk with a list edit or import, or with a HubSpot workflow that sets the two properties. Ava handles each contact as its own call.
Contacts are called at the moment you request the call. Ava doesn't hold HubSpot requests for calling hours, so please only request calls during suitable business hours. FastCo's agreed rule is to avoid weekends and public holidays.
4. HubSpot properties Ava uses
All the Ava properties are contact properties in the Contact information group. The first two are set by your team. Ava writes the rest.
Set by your team
| Label | Internal name | Type | Meaning |
|---|---|---|---|
| Ava Call Requested | ava_call_requested | Yes / No | Set to Yes to request a call. Ava sets it back to No once it accepts or skips the request. |
| Ava Agent ID | ava_agent_id | Text | Which Ava agent makes the call. Use 6a09659961bf55895ca8d00c for Cheryl. |
Read by Ava
Ava reads the standard firstname, lastname, email, and phone properties. Ava passes the name to Cheryl so she can greet the lead by name, so a correct first name makes the call sound more natural.
Written by Ava
| Label | Internal name | Type | When and what |
|---|---|---|---|
| Ava Call Status | ava_call_status | Text | Where the request is. in_progress when Ava accepts it, completed when the call has finished and been analysed, skipped when the request was missing something (see section 7), and failed when the call couldn't be placed. |
| Ava Call Outcome | ava_call_outcome | Dropdown | What happened on the call. Values below. |
| Ava Next Action | ava_next_action | Dropdown | What your team should do next. See section 5. |
| Ava Callback Date/Time | ava_callback_datetime | Date and time | Filled only when the lead agreed a specific time for a callback. Cleared otherwise. |
| Ava Last Called At | ava_last_called_at | Date and time | When the latest call started. |
| Ava Transcript URL | ava_transcript_url | Text | Link to the call in the Ava dashboard, where you can read the transcript. |
| Ava Recording URL | ava_recording_url | Text | Link to the same call page, where you can play the recording. It's only filled when a recording exists. |
The transcript and recording links open the Ava dashboard, so you need an Ava login to use them. Ask Hasan if you don't have one yet.
Ava Call Outcome values
| Value | Label | Meaning |
|---|---|---|
interested | Interested | The lead was interested or agreed to move forward. |
callback_requested | Callback Requested | The lead asked to be called back. |
connected | Connected | The lead answered, but wasn't interested, didn't qualify, or the result was unclear. Check Next Action to tell these apart. |
no_answer | No Answer | Nobody picked up. |
voicemail | Voicemail | The call reached voicemail. |
5. Ava Next Action values
Ava sets one Next Action after every call, and it replaces the previous value, so the property always reflects the latest call. These are the values your workflows and reports should use:
| Value | Default label | Meaning | Outcome it comes with |
|---|---|---|---|
sales_follow_up | Sales follow-up | The lead is interested. A client advisor should follow up. | Interested |
schedule_callback | Schedule callback | The lead asked for a callback. The agreed time is in Ava Callback Date/Time. | Callback Requested |
retry_call | Retry call | Nobody answered. Request another call later. | No Answer |
call_back_later | Call back later (voicemail) | The call reached voicemail. Try again later. | Voicemail |
no_action | No action | The lead isn't interested or doesn't qualify. | Connected |
review_call | Review call | The lead answered, but Ava couldn't tell the outcome with confidence. Someone should read the transcript and decide. | Connected |
Renaming the labels. Ava Next Action is a dropdown, so you can rename its options in HubSpot under Settings → Properties → Ava Next Action. Change the labels only. Keep the internal values exactly as listed above, because Ava writes those values. If you send Hasan the names you want, he can set them up for you.
6. The logged call on the timeline
For every call, Ava logs a Call activity on the contact's timeline. It has:
- a title taken from the start of the call summary,
- HubSpot's own Call outcome (Connected, No answer, Left voicemail, or Busy), call direction, call status, and duration,
- a body with the full summary, Ava's outcome, the next action, the callback time if there is one, any follow-up notes, and the links to the recording and transcript in Ava.
Ava doesn't create separate Notes or Tasks. The summary appears once, inside the logged call. If your team wants a HubSpot task for follow-ups, a workflow on Ava Next Action can create one, for example when it changes to sales_follow_up or schedule_callback.
7. Rules and troubleshooting
Behaviour to know
- One call per request. Ava makes one attempt for each request. It doesn't retry unanswered calls or dial callbacks on its own. To call again, set Ava Call Requested to Yes again.
- No double calls. If a contact already has a call in progress, a second request for the same contact is merged into that call. It doesn't start another one.
- Requesting again works the normal way. Because Ava sets the flag back to No, switching it to Yes again is a new request.
- Values are overwritten. Outcome, Next Action, callback time, and links always describe the latest call. Earlier calls stay on the timeline as logged calls.
If something looks wrong
| What you see | Likely cause | What to do |
|---|---|---|
Ava Call Status is skipped | Ava Agent ID is empty or wrong, or the contact has no phone number. | Fix the agent ID and phone, then set Ava Call Requested to Yes again. |
| Ava Call Requested stays Yes and the status doesn't change | Ava didn't accept the request. Usually the phone number can't be read as a valid number, or the connection is paused. | Check the phone number format, then contact Hasan with the contact's name or ID. |
Ava Call Status is failed | The call couldn't be placed, for example because of a carrier or phone-line problem. | Request the call again later. If it keeps failing, tell Hasan. |
Status is in_progress for more than 10 minutes | The call is unusually long or something got stuck. | Tell Hasan with the contact's name or ID. |
Next Action is review_call | The call connected, but the outcome was unclear. | Open the transcript link and decide the next step yourself. |
When you report a problem, the contact's name or HubSpot contact ID and the approximate time of the request is all Hasan needs to trace it.
8. Recent changes
These changes went live on 3 Oct 2026, after feedback on the first test calls:
- Next Action now updates after every call. Earlier, a later call could leave an old value in place. For example, a call where the lead asks for details on WhatsApp now comes back as
sales_follow_up, and an unanswered call comes back asretry_call. - Ava Next Action is now a dropdown, so your team can rename the options without breaking workflows or reports.
- The call summary now appears only in the logged call. Ava no longer creates a separate Note with the same text.
- Unanswered calls are now reported correctly as No Answer /
retry_call. Before this fix, some of them showed up as connected calls withreview_call.
9. Contact
Hasan Syed at Q9 Labs looks after FastCo's Ava setup. Email hasan@q9labs.ai for questions, changes to Cheryl's script or voice, renaming the Next Action labels, or an Ava dashboard login.