Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the GAIL API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Flula.com%2Fgail" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Flula.com%2Fgail" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with GAIL API.
Place a single outbound AI voice call to a phone number with a chosen script
Launch a bulk batch of outbound calls in one request for high-volume outreach
Create, start, stop, and update campaigns that drive calls against a contact list
GET STARTED
For Agents
Launch outbound AI voice calls one-off or in bulk, run campaigns over a contact list, and retrieve call recordings and CSV reports through Lula's GAIL platform.
Use for: I need to start a single outbound AI call to a customer right now, Launch 500 outbound calls in bulk for tomorrow's collections campaign, Create a new campaign tied to my Q3 lead list, Add a contact to an existing GAIL campaign
Not supported: Does not handle SMS messaging, inbound IVR routing, or full conversation transcript management - use for outbound AI call placement, campaigns, contact attachment, and recording retrieval only.
GAIL is Lula's AI-powered outbound calling platform, exposing a compact API for launching single and bulk outbound calls, building campaigns, attaching contacts, fetching call recordings, and retrieving CSV campaign reports. The 15 endpoints cover the core lifecycle: create a campaign, push contacts in, start or stop the campaign, and pull recordings or results out. Authentication is by X-API-Key header generated in the Gail Portal under General > Integrations > API Keys.
Add a single contact or bulk-add a contact list to an existing campaign
Retrieve a pre-signed URL or download the audio file for a completed call recording
Pull a CSV report of campaign results for downstream analytics
Patterns agents use GAIL API for, with concrete tasks.
★ AI-driven outbound dialling for sales and renewals
Sales and customer-success teams use GAIL to run AI-voiced outbound campaigns against a contact list - for example, calling a renewal cohort with a tailored script. POST /campaigns creates the campaign, POST /campaigns/{id}/contacts/bulk_add attaches the list, and POST /campaigns/{id}/start launches it. Reps then pull the CSV report from /campaigns/{id}/report once the campaign winds down.
Create a campaign named 'Q3 Renewals', bulk-add 250 contacts via POST /campaigns/{id}/contacts/bulk_add, and start it with POST /campaigns/{id}/start.
Single ad-hoc outbound call from another workflow
When another system (CRM, helpdesk, internal tool) needs to trigger one outbound AI call rather than a campaign, POST /calls starts a single call with the chosen script and target number. The resulting callId can later be used with /calls/{callId}/recording-url to surface the audio in the originating tool.
Call POST /calls with the customer's phone number and the chosen script ID to launch a single outbound call, then poll /calls/{callId}/recording-url for the recording.
Recording retrieval for QA and compliance
QA teams and compliance reviewers need access to the audio of completed AI calls. GET /calls/{callId}/recording-url returns a pre-signed URL good for short-lived access, or GET /calls/{callId}/recording streams the audio file directly. Pair with the campaign report endpoint to map recordings back to outcomes.
For callId abc-123, fetch GET /calls/{callId}/recording-url and return the pre-signed URL for the QA reviewer.
Agent-driven campaign orchestration via Jentic
An AI sales agent needs to spin up a calling campaign in response to a Slack message ('renew the at-risk accounts this week') without writing custom GAIL integration code. Jentic stores the X-API-Key in your Jentic One instance and exposes the campaign create, contact add, start, and report endpoints by intent so the agent can chain them.
Search Jentic for 'create gail campaign', execute POST /campaigns, then chain bulk_add, start, and report operations against the new campaign ID.
15 endpoints — gail is lula's ai-powered outbound calling platform, exposing a compact api for launching single and bulk outbound calls, building campaigns, attaching contacts, fetching call recordings, and retrieving csv campaign reports.
METHOD
PATH
DESCRIPTION
/calls
Start a single outbound call
/calls/bulk
Start multiple outbound calls in bulk
/calls/{callId}/recording-url
Get a pre-signed URL for a call recording
/campaigns
Create a new campaign
/campaigns/{id}/start
Start a campaign
/campaigns/{id}/contacts/bulk_add
Bulk-add contacts to a campaign
/campaigns/{id}/report
Download a CSV report of campaign results
/calls
Start a single outbound call
/calls/bulk
Start multiple outbound calls in bulk
/calls/{callId}/recording-url
Get a pre-signed URL for a call recording
/campaigns
Create a new campaign
/campaigns/{id}/start
Start a campaign
What agents get from Jentic-routed access to this vendor.
Setup
Wiring the GAIL API by hand means sending the X-API-Key header on every call and threading one key across single and bulk call placement, campaign start, contact attachment, and recording retrieval. Through Jentic you install once, import the GAIL API from the API Directory, store the key once, and your agent calls it.
Permission scoping
GAIL puts the campaign id in the URL path (/campaigns/{id}/...), so a rule can pin your agent to one campaign: it can start that campaign, bulk-add its contacts, and read its report and nothing else. You choose the operations it may call, so single or bulk outbound call placement is not included unless you add it.
Credential isolation
Your GAIL key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'start an outbound AI call', 'launch a calling campaign', or 'download a call recording', and Jentic returns the matching GAIL operation with its request schema so the agent calls the right endpoint directly.
Alternatives and complements available in the Jentic catalogue.
Specific to using GAIL API through Jentic.
What authentication does the GAIL API use?
GAIL uses an X-API-Key header. Generate the key in the Gail Portal under General > Integrations > API Keys and pass it as X-API-Key on every request to api.lula.com/v1. Through Jentic, the key is stored encrypted in your Jentic One instance and injected per call.
Can I launch bulk outbound calls with the GAIL API?
Yes. POST /calls/bulk accepts a batch of outbound calls in a single request, which is more efficient than looping over POST /calls when running large campaigns. For long-running outreach, prefer the campaign endpoints (POST /campaigns followed by /campaigns/{id}/contacts/bulk_add and /campaigns/{id}/start) so GAIL handles pacing for you.
What are the rate limits for the GAIL API?
Specific rate limits are not declared in the OpenAPI spec. Expect per-account caps tied to your Lula plan and outbound carrier capacity - design clients to retry on 429 responses and prefer bulk endpoints over tight loops on the single-call endpoint.
How do I download a call recording through Jentic?
Search Jentic for 'gail call recording', load GET /calls/{callId}/recording-url, and execute it with the callId. Jentic returns the pre-signed URL with the X-API-Key applied; for the raw audio bytes, use GET /calls/{callId}/recording instead.
Is the GAIL API the same as the larger GAIL (Lula API) v1 spec?
No - this 15-endpoint spec is the public v1 surface of GAIL. The companion spec lula.com/gail-api is a 103-endpoint Galactus External API covering the full platform, including conversations, sequences, scripts, do-not-call lists, webhooks, and sessions. Use this slimmer GAIL API when you only need calls, campaigns, contacts, and recordings.
Can I limit what my agent is allowed to do with the GAIL API?
Yes. Because you self-host Jentic One, your own rules decide which GAIL operations and credentials the agent may use. Since GAIL puts the campaign id in the URL path (/campaigns/{id}/...), you can pin the agent to a single campaign so it can start that campaign, bulk-add its contacts, and read its CSV report and nothing else. Single and bulk outbound call placement stay excluded unless you explicitly grant those operations.
/campaigns/{id}/contacts/bulk_add
Bulk-add contacts to a campaign
/campaigns/{id}/report
Download a CSV report of campaign results