Connection
- Authentication: API key (La Growth Machine API key).
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.
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 for the grant model and Security for how credentials are protected.Last reviewed against the provider API: October 2026.