Skip to content

FAQ

Can I create or edit an agent through the API?

Section titled “Can I create or edit an agent through the API?”

No. Gowajee sets up agents with you in the dashboard. The API only lists agents. You can also copy an agent’s ID from Build → AI Agents in the dashboard.

Test on production with a small campaign that calls your own team’s phones. Ask Gowajee if you need a separate environment.

Every timestamp is UTC (ISO-8601, e.g. 2026-10-01T02:00:00.000Z). The only exception is timeWindows, whose HH:MM values are Bangkok time.

What’s the difference between a recipient and a call?

Section titled “What’s the difference between a recipient and a call?”

A recipient is a person you want to reach. A call is one attempt to reach them. If Gowajee calls someone 3 times, that is one recipient with three calls.

Up to your organization’s limit (15 by default). It is one limit for the whole organization, shared by all running campaigns. Gowajee can change it for you. A higher limit applies to campaigns created after the change.

Can I add recipients to a campaign after creating it?

Section titled “Can I add recipients to a campaign after creating it?”

Not through the API. Put everyone in the create request, or create another campaign for the new people.

Can I start the same campaign again, or change its schedule?

Section titled “Can I start the same campaign again, or change its schedule?”

No. A campaign can be started once, from DRAFT. Starting it again returns 409. To call the same people again, create a new campaign. To stop for a while, pause it.

Yes. If the call reached the person’s phone line, including voicemail, it is COMPLETED and is not retried.

Any format your numbers are already in, as a string, for example "0812345678". The format isn’t validated, but the same number twice in one request is rejected.

Polling is recommended. You never miss a result, and it works behind a firewall. A webhook is faster, but a result can be lost if your server is down, and some calls (for example EXPIRED ones) send no webhook. Many teams use both.

In the dashboard: System → Developers → Webhook URL (Owner or Admin). See Webhook → Set up.

The webhook includes transcriptFileUrl, a link to the transcript JSON. It expires within 1 hour, so save the file when you receive it. The polling endpoints don’t include the transcript.

Why did I get a second result for a call I already have?

Section titled “Why did I get a second result for a call I already have?”

Gowajee re-analyzed it, for example after improving the agent’s analysis questions. The webhook says isReAnalysis: true. Replace the old result with the new one (upsert on call.id).

It depends on your organization’s data-retention policy. When data is removed, the API tells you through dataExpired (audio, personalData, output). Save anything you need to keep longer.

There is no fixed per-key limit. Please keep polling to about once every 1–2 minutes per campaign.