> ## Documentation Index
> Fetch the complete documentation index at: https://docs.atako.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# La Growth Machine

> Connect La Growth Machine to your Atako agents — 17 read and 5 write actions.

Let your agents work in La Growth Machine: read campaigns, stats, audiences, leads, inbox conversations and credits, create audiences, add or update leads, change lead and campaign statuses (pause, resume), and enrich leads.

## Connection

* **Authentication**: API key (La Growth Machine API key).

> [!NOTE]
>
> In La Growth Machine: left menu → Integrations → API tab (app.lagrowthmachine.com/integrations/api) → Copy the API key (Regenerate replaces it and breaks any other use of the old key). The API is available with the Pro plan and during the trial; see lagrowthmachine.com/pricing.
>
> See [La Growth Machine's documentation](https://developers.lagrowthmachine.com).

## Read actions (17)

| Action | Description |
| - | - |
| `get_audience` | Get one audience with its import status. audienceId (string, 24 hex characters) comes from list\_audiences. |
| `get_campaign` | Get one campaign: status, audience, sending identity and settings. campaignId (string, 24 hex characters) comes from list\_campaigns. |
| `get_campaign_leads_stats` | Per-lead stats of a campaign (status in the campaign, LinkedIn relation, counts of e-mails / messages, tag), 25 leads max per call, most recently added first. campaignId (string, 24 hex characters) from list\_campaigns; optional getLeadsAfter or getLeadsBefore (lead id, string 24 hex characters, from the previous page) to paginate. |
| `get_campaign_stats` | Get the stats of one campaign: audience, replies, LinkedIn relations, per-channel metrics, lead statuses, per-message metrics. campaignId (string, 24 hex characters) comes from list\_campaigns. |
| `get_conversation_messages` | Read the 25 most recent messages of a conversation, oldest first (LinkedIn, e-mail and inbox system entries). conversationId (string, 24 hex characters, from search\_conversations or get\_lead\_conversations); optional page (integer >= 0, default 0). |
| `get_credits` | Get the credit balance of the workspace (credits.total, credits.perishable). Credits are spent by enrich\_lead. No arguments. |
| `get_enrich_result` | Read the result of an enrichment started by enrich\_lead (kept 24 h). enrichRequestId (string) is the one returned by enrich\_lead. Status pending = poll again later; enriched = fields in the answer (email, emailStatus, linkedinProfile, phone); not\_found = nothing found. |
| `get_lead_conversations` | All inbox conversations of a lead (ids and metadata; read the messages with get\_conversation\_messages). leadId (string, 24 hex characters); optional identityId (string, 24 hex characters, from list\_identities). |
| `get_lead_logs` | Activity logs of a lead, most recent first (the answer carries total). leadId (string, 24 hex characters, from search\_leads or list\_audience\_leads); optional identityId (string, 24 hex characters, from list\_identities), skip (integer, default 0), limit (integer 1 to 100, default 25). |
| `get_me` | Get the member behind the API key: \{ id, email }. No arguments. |
| `list_audience_leads` | List the leads of an audience with the full lead record (the answer carries total). audienceId (string, 24 hex characters, from list\_audiences); optional skip (integer, default 0) and limit (integer 1 to 100, default 25). |
| `list_audiences` | List the audiences (lead lists): id, name, type, size, import state. No arguments. |
| `list_campaigns` | List campaigns with status, audience, sending identity and key metrics; the answer carries total. limit is REQUIRED (integer 1 to 25). Optional: skip (integer, default 0); status (array of RUNNING, READY, PAUSED, CANCELED; several allowed); search (string, case-insensitive match on the campaign name). |
| `list_identities` | List the identities (LinkedIn and e-mail accounts that send the campaigns): \{ identities: \[\{ id, name, linkedinConnected, companyName, jobTitle… }] }. The id is the identityId used by get\_lead\_logs and get\_lead\_conversations. No arguments. |
| `list_members` | List the members (users) of the workspace: \{ members: \[\{ id, name, label }] }. No arguments. |
| `search_conversations` | Search inbox conversations (ids and metadata only; messages via get\_conversation\_messages). Filters combine with AND, all optional: q (string, full-text on leads: name, company); leadIds, campaignIds (arrays of 24-hex id strings); status (array among OPEN, SNOOZED, ARCHIVED); leadReplied (boolean); limit (integer 1 to 100, default 25); searchAfter (string, nextToken of the previous page when hasMore is true; keep the same filters and sort); sortField (string: lastMessageAt default, callCompletedAt or snoozeUntil); sortDirection (integer, -1 newest first default, 1 oldest first). |
| `search_leads` | Find a lead and return the first match with its involved campaigns and recent activity (404 when none). At least one criterion is required: leadId, crmId, linkedinUrl, linkedinId, linkedinPublicId, linkedinLongPublicId, email (pro or perso), or firstname + lastname + (companyName or companyUrl) — names alone do not match. All strings. |

## Write actions (5)

| Action | Description |
| - | - |
| `create_audience` | Create an empty audience (type CLASSIC); add leads with upsert\_lead (its audience argument takes the name). Arguments: name (string, 1 to 100 characters, required, unique in the workspace). Returns the audience. |
| `enrich_lead` | Start an enrichment (SPENDS CREDITS, balance in get\_credits): EMAIL\_ENRICH up to 5 credits (pro e-mail), LINKEDIN\_ENRICH up to 1 (profile fields), FULL\_ENRICH up to 5 (profile + e-mail), PHONE\_ENRICH up to 20 (phone, needs leadId, not during the trial). Needs an enrichment-enabled plan. Arguments: leadId (string, 24 hex characters; the result is written on the lead) OR linkedinUrl (string, https linkedin.com URL) OR firstname + lastname (+ companyName or companyUrl) (strings); enrichType (string, default EMAIL\_ENRICH); mode (string, "polling" default or "sync" = waits up to 60 s). Polling answers \{ enrichRequestId, status: "pending" }: read the result with get\_enrich\_result. |
| `update_campaign_status` | Pause or resume ONE campaign (it cannot launch a READY campaign: launch it in the app). Arguments: campaignId (string, 24 hex characters, from list\_campaigns); status (string, PAUSED to pause a RUNNING campaign, RUNNING to resume a PAUSED one). Pausing a paused campaign or resuming a running one fails with 400. Returns the id, name and new status. |
| `update_lead_status` | Change the status of a lead in one or more campaigns. Arguments: campaign (string, campaign name or id, or "all" = every non-stopped campaign whose audience has the lead; or an array of names / ids); status (string, one of RESUME, PAUSED, STOPPED, CONVERTED, SUBSCRIBED, COMPLETED\_NO\_REPLY, REPLIED, CANNOT\_CONTACT, NOT\_ACTIVATED, SKIPPED, ACTIVATED, ENRICHED, CONTACTED, COMPLETED\_WITHOUT\_REPLY, TO\_QUALIFY, UNSUBSCRIBED, OUT\_OF\_OFFICE, WRONG\_TIMING, INTERESTED, NOT\_INTERESTED, CALL\_BOOKED, NEGOTIATING, READY\_TO\_BUY, WRONG\_TARGET, ALREADY\_EQUIPPED). RESUME / PAUSED pause or resume the lead, STOPPED ends the campaign for it, CONVERTED converts it and ends the campaign, SUBSCRIBED resubscribes an unsubscribed lead; the others tag the lead (INTERESTED, CALL\_BOOKED, NEGOTIATING, READY\_TO\_BUY also convert it; TO\_QUALIFY, WRONG\_TIMING, UNSUBSCRIBED, WRONG\_TARGET, NOT\_INTERESTED, ALREADY\_EQUIPPED also end the campaign for it); COMPLETED\_NO\_REPLY, REPLIED, CANNOT\_CONTACT are aliases of COMPLETED\_WITHOUT\_REPLY, TO\_QUALIFY, UNSUBSCRIBED. Identify the lead with leadId (string, 24 hex characters) or proEmail / persoEmail / linkedinUrl / twitter / crm\_id (strings), or firstname + lastname + (companyName or companyUrl) (strings). Optional (SUBSCRIBED only): memberEmail (string, member on whose behalf), from (string, "lead" or "member"). |
| `upsert_lead` | Create a lead, or update it when it already exists (duplicates merged or ignored per the workspace setting; the answer says which). Identify the lead with leadId (string, 24 hex characters) or proEmail / persoEmail / linkedinUrl / twitter / crm\_id (strings), or firstname + lastname + (companyName or companyUrl) (strings). Optional: audience (string, name or id of the target audience; created if no match; none = lead without audience); gender (string, "man" or "woman"); bio (string, max 5000); note (string, max 1500, replaces the existing note); jobTitle, industry, phone, location, twitter (strings); profilePicture (URL string); relationsCount (integer); customAttribute1 to customAttribute20 (strings, max 2500); excludeContactedLeads (boolean, true = ignore a lead already contacted in a campaign). Empty values are ignored. |

## Permissions

Every action above must be explicitly granted to an agent before it can be used. See [Permissions](https://docs.atako.ai/integrations/permissions.md) for the grant model and [Security](https://docs.atako.ai/integrations/security.md) for how credentials are protected.

***

*Last reviewed against the provider API: October 2026.*


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.