Built for lean teams,
scaled for category leaders
Thanks. You're signed up.
Something went wrong. Please try again.

Want the full setup walkthrough?
Use these docs for exact setup steps, supported fields, and troubleshooting.
GrowSurf writes referral data onto Bento people as custom attributes. Each participant’s referral link, referral counts, referrer details, and milestone progress land on the profile you already build flows around.
Bento is one of the few integrations that needs three credentials rather than one. Collect them together in a single visit to Bento and the setup takes a minute.
In Bento, go to Settings > API Keys and copy the publishable API key, the secret API key, and the site UUID. GrowSurf checks all three together, so a missing one fails the whole connection.
Open Program Editor > 4. Options > Integrations and search for Bento.

Expand the card, paste all three values, and submit.

Connect before you import participants — the sync only covers people added or referred after it is live. If you have already imported, use the existing-participant sync options.
GrowSurf syncs into a Bento tag. Pick the one that should receive participants; GrowSurf adds or updates a person there every time someone joins or gets referred.
| GrowSurf data | Attribute | Type | What it holds |
|---|---|---|---|
| Share URL | {{ visitor.grsf_share_url }} | Text | The participant’s unique referral link |
| Participant ID | {{ visitor.grsf_participant_id }} | Text | The participant’s GrowSurf ID |
| Referral Status | {{ visitor.grsf_referral_status }} | Text | CREDIT_PENDING, CREDIT_AWARDED, or CREDIT_EXPIRED |
| Participant first name | {{ visitor.grsf_participant_first_name }} | Text | The participant’s first name |
| Participant last name | {{ visitor.grsf_participant_last_name }} | Text | The participant’s last name |
| Referrer first name | {{ visitor.grsf_referrer_first_name }} | Text | The referrer’s first name, when there is one |
| Referrer last name | {{ visitor.grsf_referrer_last_name }} | Text | The referrer’s last name, when there is one |
| Referrer email | {{ visitor.grsf_referrer_email }} | Text | The referrer’s email, when there is one |
| Total referral count | {{ visitor.grsf_total_referral_count }} | Number | All-time referral count |
| Monthly referral count | {{ visitor.grsf_monthly_referral_count }} | Number | Referral count for the current month |
| Previous monthly referral count | {{ visitor.grsf_prev_monthly_referral_count }} | Number | Referral count for the previous month |
| Next milestone | {{ visitor.grsf_next_milestone }} | Text | The next milestone message, on programs with milestone rewards |
| Next monthly milestone | {{ visitor.grsf_next_monthly_milestone }} | Text | The next monthly milestone message, when there is one |
| Total invite count | {{ visitor.grsf_total_invite_count }} | Number | All-time invite count |
| Total impression count | {{ visitor.grsf_total_impression_count }} | Number | All-time referral-link view count |
These are ordinary Bento person attributes, so they work in flows and in email content alike.
Choosing the tag is what starts the sync. Importing participants before that leaves them without attributes until you backfill.
GrowSurf validates the publishable API key, the secret API key, and the site UUID together, so a failure does not tell you which one is wrong. Re-copy all three rather than guessing.
{{ visitor.grsf_total_referral_count }} makes a good flow condition. {{ visitor.grsf_share_url }} belongs in the email body of every branch.
The publishable API key, the secret API key, and the site UUID, all from Settings > API Keys in Bento.
A tag. You choose which one when you connect.
After the first sync for that person. Connecting alone does not backfill people who were already in the program.
Launch a refer-a-friend or affiliate program that lowers your acquisition costs and builds customer loyalty, with little engineering work.
Trusted by marketing and product teams that grow through customer, user, and partner referrals.
