> For the complete documentation index, see [llms.txt](https://docs.growsurf.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.growsurf.com/integrations/resend.md).

# Resend

## Sync participants to a Resend Segment

**Step 1:** In [Resend > API Keys](https://resend.com/api-keys), create a new API key with *Full Access* (this permission is required so GrowSurf can read Segments and manage Contacts and Contact Properties).

**Step 2:** In GrowSurf, open *Program Editor > 4. Options > Integrations > Resend*. Enter the API key, then connect your account.

<figure><img src="/files/ywCaClFBFvpEk5wFiR5E" alt="The Resend integration API key form in the GrowSurf Program Editor"><figcaption><p>Connect Resend with a Full access API key.</p></figcaption></figure>

**Step 3:** Select the Resend Segment that should receive GrowSurf participants, then save your changes. GrowSurf creates the Contact Properties listed below and starts syncing new and updated participants.

<figure><img src="/files/5Q90Jqfz6DQl8IvXGK4O" alt="The enabled Resend integration with the General Segment selected in GrowSurf"><figcaption><p>Select the Resend Segment that should receive participant data.</p></figcaption></figure>

{% hint style="warning" %}
Connect Resend before importing participants. If participants are already in your Program, follow [these ESP sync options](https://support.growsurf.com/article/385-how-can-i-sync-my-growsurf-participants-to-my-esp) to send their GrowSurf data to Resend.
{% endhint %}

## Contact Properties

GrowSurf creates these account-level Contact Properties in Resend. Use them in Broadcasts with Resend's `{{{contact.property_name}}}` syntax.

| Contact Property                         | Property key                       | Type   | Description                                                         | Example                                |
| ---------------------------------------- | ---------------------------------- | ------ | ------------------------------------------------------------------- | -------------------------------------- |
| GrowSurf Share URL                       | `grsf_share_url`                   | String | The participant's unique referral link                              | `https://growsurf.com?grsf=abc123`     |
| GrowSurf Participant ID                  | `grsf_participant_id`              | String | The participant's GrowSurf ID                                       | `abc123`                               |
| GrowSurf Referral Status                 | `grsf_referral_status`             | String | The participant's referral-credit status                            | `CREDIT_PENDING`                       |
| GrowSurf Participant First Name          | `grsf_participant_first_name`      | String | The participant's first name                                        | `Bob`                                  |
| GrowSurf Participant Last Name           | `grsf_participant_last_name`       | String | The participant's last name                                         | `Loblaw`                               |
| GrowSurf Referrer First Name             | `grsf_referrer_first_name`         | String | The referrer's first name, when applicable                          | `Gavin`                                |
| GrowSurf Referrer Last Name              | `grsf_referrer_last_name`          | String | The referrer's last name, when applicable                           | `Belson`                               |
| GrowSurf Referrer Email                  | `grsf_referrer_email`              | String | The referrer's email, when applicable                               | `gavin@example.com`                    |
| GrowSurf Total Referral Count            | `grsf_total_referral_count`        | Number | The participant's all-time referral count                           | `12`                                   |
| GrowSurf Monthly Referral Count          | `grsf_monthly_referral_count`      | Number | The participant's referral count for the current month              | `3`                                    |
| GrowSurf Previous Monthly Referral Count | `grsf_prev_monthly_referral_count` | Number | The participant's referral count for the previous month             | `8`                                    |
| GrowSurf Next Milestone                  | `grsf_next_milestone`              | String | The next milestone message, when the Program uses milestone rewards | `2 referrals until your next reward`   |
| GrowSurf Next Monthly Milestone          | `grsf_next_monthly_milestone`      | String | The next monthly milestone message, when applicable                 | `1 referral until this month's reward` |
| GrowSurf Total Invite Count              | `grsf_total_invite_count`          | Number | The participant's all-time invite count                             | `24`                                   |
| GrowSurf Total Impression Count          | `grsf_total_impression_count`      | Number | The participant's all-time referral-link view count                 | `150`                                  |

The referral status can be `CREDIT_PENDING`, `CREDIT_AWARDED`, or `CREDIT_EXPIRED`.

[View the Resend tutorials](/integrations/resend/tutorials.md) for copy-and-paste examples. View Resend's [Contact Properties guide](https://resend.com/docs/dashboard/audiences/properties) to see how properties work in Broadcasts.

## Troubleshooting

* If GrowSurf cannot connect, confirm the API key has Full access. Sending-only keys cannot read Segments or manage Contacts.
* If the selected Segment was deleted, choose an existing Segment in GrowSurf and save again.
* Check the GrowSurf participant's activity logs when a participant does not sync. GrowSurf retries temporary provider errors for up to seven days.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.growsurf.com/integrations/resend.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
