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.
Say what should happen.
The workflow builds itself.
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 mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect GrowSurf
- Create your workspace
Sign up free. Nothing to install.
- 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.
- 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.
