Integration

GrowSurf integration

GrowSurf runs referral and affiliate programs. Manage programs (campaigns) and their rewards, emails, design, options, resources and webhooks; add, update, look up and delete participants; trigger referrals, record affiliate sales and refunds; approve or fulfil rewards and commissions; list referrals, payouts and leaderboards; read program and participant analytics. Account creation, API key rotation, mobile participant tokens and file upload tickets are not exposed. Authentication is a GrowSurf REST API key sent as a Bearer token.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in GrowSurf.Built from the 70 GrowSurf tools below, on the connection you add once.

What you can do with GrowSurf

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Participant, 6 operations

  • bulk_delete_participantsBulk delete participantsPOSTDeletes a list of participants from a program in one request. Each entry in `participants` is a GrowSurf participant ID or an email address (mixed lists are allowed).
  • create_participantCreate participantPOSTAdds a new participant to the program. If the email already exists, the existing participant is returned unchanged.
  • delete_participantDelete participantDELETERemoves a participant by GrowSurf participant ID or email address. A `202` response means participant cleanup completed and analytics erasure is pending.
  • list_participantsList participantsGETRetrieves a paged list of participants in a program.
  • retrieve_participantRetrieve participantGETRetrieves a single participant by GrowSurf participant ID or email address.
  • update_participantUpdate participantPOSTUpdates a participant by GrowSurf participant ID or email address. For affiliate programs, set `affiliateStatus` to `APPROVED`, `SUSPENDED`, or `BANNED`.

Campaign, 5 operations

  • clone_campaignClone campaignPOSTClones an existing program into a new `DRAFT` program. Integrations and credentials are not copied; active rewards are cloned.
  • create_campaignCreate campaignPOSTCreates a new program, plus any optional campaign rewards. The new program is created in `DRAFT` status and owned by the API key's bound team.
  • list_campaignsList campaignsGETRetrieves a list of your programs. Deleted programs are not returned.
  • retrieve_campaignRetrieve campaignGETRetrieves a program for the given program ID.
  • update_campaignUpdate campaignPATCHUpdates a program's identity and lifecycle. Only the fields you send are changed. `type`, `urlId`, and `currencyISO` are immutable.

Webhook, 5 operations

  • create_webhookCreate webhookPOSTAdds a webhook to the program: the payload URL, the events it subscribes to, an optional signing secret and whether it starts enabled.
  • delete_webhookDelete webhookDELETERemoves a program webhook by id, as returned by list_webhooks.
  • list_webhooksList webhooksGETLists a program's webhooks (secrets are never returned).
  • test_webhookTest webhookPOSTSends a live test event to a webhook using its stored URL and secret.
  • update_webhookUpdate webhookPATCHUpdates a program webhook by id (primary for the primary webhook): its payload URL, subscribed events, signing secret or enabled state.

Affiliate invite, 4 operations

  • create_affiliate_inviteCreate affiliate invitePOSTInvites someone to join the affiliate program.
  • list_affiliate_invitesList affiliate invitesGETLists an affiliate program's enrollment invites, newest first.
  • resend_affiliate_inviteResend affiliate invitePOSTRe-sends a pending invite with a fresh accept link (the previous link stops working). Resends are rate limited per invite; retry after a few minutes if a resend was just sent.
  • revoke_affiliate_inviteRevoke affiliate inviteDELETERevokes a pending invite. Its emailed accept link stops working immediately.

Commission, 4 operations

  • approve_commissionApprove commissionPOST**Affiliate programs only.** Approves a pending participant commission so it can become eligible for payout.
  • delete_commissionDelete commissionDELETE**Affiliate programs only.** Removes a pending participant commission.
  • list_commissionsList commissionsGET**Affiliate programs only.** Retrieves a paged list of all participant commissions in an affiliate program.
  • list_participant_commissionsList participant commissionsGET**Affiliate programs only.** Retrieves a paged list of commissions earned by a participant.

Referral, 4 operations

  • cancel_delayed_referralCancel delayed referralDELETECancels a pending delayed referral trigger for a participant (the companion to a delayed Trigger referral request).
  • list_participant_referralsList participant referralsGETRetrieves referrals and email invites made by a participant.
  • list_referralsList referralsGETRetrieves a list of all referrals and email invites made by participants in a program.
  • trigger_referralTrigger referralPOSTTriggers referral credit for an existing referred participant by GrowSurf participant ID or email address.

Resource, 4 operations

  • create_program_resourceCreate program resourcePOSTCreates one LINK or TEXT resource at the end of the program's order. LINK URLs must use HTTPS. TEXT content is plain text. FILE resources need an upload ticket, which this integration does not expose.
  • delete_program_resourceDelete program resourceDELETEDeletes the program resource and compacts the remaining order. A referenced Media Center file is not deleted.
  • list_program_resourcesList program resourcesGETReturns all draft and published FILE, LINK, and TEXT resources in their participant display order. Private file delivery coordinates are never returned.
  • update_program_resourceUpdate program resourcePATCHUpdates the supplied content or publication fields. Set `position` to move the resource; GrowSurf compacts the remaining positions.

Reward, 4 operations

  • approve_participant_rewardApprove participant rewardPOSTApproves a manually approved reward earned by a participant (a reward id from list_participant_rewards). The API key needs the reward:write scope.
  • delete_participant_rewardDelete participant rewardDELETERemoves a manually approved participant reward that has not already been approved.
  • fulfill_participant_rewardFulfill participant rewardPOSTMarks an approved participant reward as sent. This status does not confirm delivery.
  • list_participant_rewardsList participant rewardsGETRetrieves a paged list of rewards earned by a participant.

Reward config, 4 operations

  • create_campaign_rewardCreate campaign rewardPOSTCreates a new campaign reward (`CampaignReward`) with a GrowSurf-assigned ID.
  • delete_campaign_rewardDelete campaign rewardDELETEDeletes a campaign reward (`CampaignReward`). The reward is deactivated, removed from the program's reward set, and any connected upfront-discount coupons are cleaned up.
  • list_campaign_rewardsList campaign rewardsGETRetrieves the program's configured Campaign Rewards, including rewards with `isVisible: false` and rewards whose group is not selected. Deleted rewards are excluded.
  • update_campaign_rewardUpdate campaign rewardPATCHUpdates an existing campaign reward (`CampaignReward`). The reward `type` is immutable and cannot be changed.

Affiliate application, 3 operations

  • get_affiliate_applicationGet affiliate applicationGETReturns one affiliate application, including its submitted form answers.
  • list_affiliate_applicationsList affiliate applicationsGETLists an affiliate program's applications, newest first.
  • review_affiliate_applicationReview affiliate applicationPATCHSend status (APPROVED or DENIED) to decide a pending affiliate application, or reapplyAllowedAt alone to move a denied application's reapplication date earlier. One of the two is required; never send both.

Analytics, 3 operations

  • retrieve_campaign_activation_analyticsRetrieve campaign activation analyticsGETRetrieves activation for eligible participants in one exact half-open enrollment cohort.
  • retrieve_campaign_analyticsRetrieve campaign analyticsGETRetrieves analytics for a program over a time window: referral, participant and reward totals, with optional series, status counts, rates, email and engagement data selected through include.
  • retrieve_participant_analyticsRetrieve participant analyticsGETRetrieves analytics for a single participant, all-time engagement counters, leaderboard ranks, and per-channel share counts.

Design, 2 operations

  • retrieve_campaign_designRetrieve campaign designGETRetrieves a program's configured design fields.
  • update_campaign_designUpdate campaign designPATCHUpdates a program's design configuration, including the payout-destination confirmation page copy configured from payout integration cards.

Email, 2 operations

  • retrieve_campaign_emailsRetrieve campaign emailsGETRetrieves a program's email configuration, the same surface as the dashboard Program Editor's **Emails** tab.
  • update_campaign_emailsUpdate campaign emailsPATCHUpdates a program's email configuration. Only the fields you send are changed; omitted fields are left untouched.

Installation, 2 operations

  • retrieve_campaign_installationRetrieve campaign installationGETRetrieves a program's installation configuration, the same surface as the dashboard Program Editor's **Installation** tab (plus the Mobile SDK settings).
  • update_campaign_installationUpdate campaign installationPATCHUpdates a program's installation configuration. Only the fields you send are changed; omitted fields are left untouched. `referralTrigger` is only available for referral programs.

Option, 2 operations

  • retrieve_campaign_optionsRetrieve campaign optionsGETRetrieves a program's options, the same surface as the dashboard Program Editor's **Options** tab.
  • update_campaign_optionsUpdate campaign optionsPATCHUpdates a program's options. Only the fields you send are changed.

Payout, 2 operations

  • list_participant_payoutsList participant payoutsGET**Affiliate programs only.** Retrieves a paged list of payouts that belong to a participant.
  • list_payoutsList payoutsGET**Affiliate programs only.** Retrieves a paged list of all participant payouts in an affiliate program.

Payout destination, 2 operations

  • get_participant_payout_destinationGet participant payout destinationGETReturns a participant's payout-destination status across every payout provider enabled for the program (PayPal and/or Wise).
  • request_payout_destination_confirmationRequest payout destination confirmationPOSTSends the participant a one-time link to confirm their payout destination for the chosen provider.

Team, 2 operations

  • get_teamGet teamGETRetrieves the team bound to the API key or OAuth connection.
  • update_teamUpdate teamPATCHUpdates the name of the team bound to the API key or OAuth connection. Any other property is rejected with a `400`.

Transaction, 2 operations

  • record_transactionRecord transactionPOSTAffiliate programs only. Send at least one transaction identifier (externalId, transactionId, orderId, paymentId, invoiceId, paymentIntentId or chargeId), or a resent sale creates a second commission. Records a referred customer's sale.
  • refund_transactionRefund transactionPOSTAffiliate programs only. Send at least one identifier of the original sale (the same one used to record it). Records a refund, partial refund, refund cancellation or chargeback and reverses or adjusts the referrer's commission.

Activity log, 1 operation

  • list_participant_activity_logsList participant activity logsGETReturns a participant's activity logs, most recent first (offset/limit paginated).

Integration, 1 operation

  • list_integrationsList integrationsGETLists every integration this program can connect, each with its current state.

Invite, 1 operation

  • send_participant_invitesSend participant invitesPOSTSends email invites on behalf of a participant to a list of email addresses.

Leaderboard, 1 operation

  • list_leaderboardList leaderboardGETRetrieves participants in leaderboard order for the specified leaderboard type.

Participant email, 1 operation

  • email_participantEmail participantPOSTSends an email to a participant. Provide EITHER `emailType` to trigger one of the program's configured email templates, OR `subject` + `body` for a free-form email.

Referral flow screenshot, 1 operation

  • capture_referral_flow_screenshotsCapture referral flow screenshotsPOSTRenders the program's current saved configuration into two preview images: the referrer window a participant sees, and the referred-friend experience.

Team verification, 1 operation

  • request_team_verificationRequest team verificationPOSTRequests GrowSurf to verify the bound team (required before a program can email its participants).

Verification email, 1 operation

  • resend_owner_verification_emailResend owner verification emailPOSTResends the email-verification message to the owner of the account the API key belongs to.

Use GrowSurf from Claude Code, Cursor or Codex

Connect GrowSurf in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its GrowSurf operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect GrowSurf

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect GrowSurf once

    Add your GrowSurf connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

GrowSurf integration FAQ

What can you do with the GrowSurf integration?

LiveContext exposes 70 operations on GrowSurf, covering participant, campaign, webhook and affiliate invite.

Popular integrations

Browse the whole catalog