# ReferralRock

ReferralRock is a referral marketing platform that helps businesses create and manage referral programs to drive word-of-mouth growth and customer acquisition

- **Category:** marketing automation
- **Auth:** BASIC
- **Composio Managed App Available?** N/A
- **Tools:** 33
- **Triggers:** 0
- **Slug:** `REFERRALROCK`
- **Version:** 20260312_00

## Tools

### Remove Email from Unsubscribe List

**Slug:** `REFERRALROCK_DELETE_EMAIL_REMOVEUNSUBSCRIBE`

Tool to remove an email address from the unsubscribe list. Use when you need to resubscribe an email address that was previously unsubscribed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | The email address to remove from the unsubscribe list |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Webhook

**Slug:** `REFERRALROCK_DELETE_HOOKS`

Tool to delete a webhook subscription. Use when you need to cancel and stop data transmission to a registered webhook URL.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `web_hook_id` | string | Yes | The unique ID of the webhook subscription to cancel. Must be a valid GUID format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Members from Program

**Slug:** `REFERRALROCK_DELETE_MEMBERS_REMOVE`

Tool to delete members from a referral program. Use when you need to remove one or more members. Each member requires either valid primaryInfo (memberId or referralCode) OR both secondaryInfo (externalIdentifier or email) and tertiaryInfo (program details) to be uniquely identified.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `members` | array | Yes | Collection of member removal requests. Each member requires either valid primaryInfo OR both secondaryInfo and tertiaryInfo to be uniquely identified. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Referral

**Slug:** `REFERRALROCK_DELETE_REFERRAL_REMOVE`

Tool to delete one or more referrals from a referral program. Use when you need to remove referrals by their unique ID or other identifying information. Each referral is deleted only when it can be uniquely identified.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `referrals` | array | Yes | List of referral queries to remove. Each must be uniquely identifiable. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Rewards

**Slug:** `REFERRALROCK_DELETE_REWARDS_REMOVE`

Tool to delete rewards from members or referrals in a referral program. Use when you need to remove one or more rewards from the system.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `reward_ids` | array | Yes | List of reward identifiers to remove from the system |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Email Unsubscribed Status

**Slug:** `REFERRALROCK_GET_EMAIL_GETUNSUBSCRIBED`

Tool to check if an email address is unsubscribed from communications. Use when you need to verify unsubscribe status before sending emails.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | No | Email address to check unsubscribe status for. If not provided, retrieves all unsubscribed emails. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Webhook History for Event

**Slug:** `REFERRALROCK_GET_HOOKS_HISTORY_EVENTNAME`

Tool to retrieve webhook history for a specific event. Use when you need to check the delivery status and details of webhooks for a particular event type.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event_name` | string | Yes | The name of the event to retrieve webhook history for (e.g., 'MemberAdd', 'MemberUpdate'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Program Members

**Slug:** `REFERRALROCK_GET_MEMBERS`

Tool to list program members with filtering and pagination. Use when you need to retrieve member information, optionally filtering by program, search query, status, or date range. Supports sorting and pagination for large datasets.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sort` | string ("Create_Dt_Asc" | "Create_Dt_Desc" | "Member_Views_Asc" | "Member_Views_Desc" | "Page_Views_Asc" | "Page_Views_Desc" | "Lead_Count_Asc" | "Lead_Count_Desc" | "Reward_Issued_Total_Asc" | "Reward_Issued_Total_Desc" | "Member_Full_Name_Asc" | "Member_Full_Name_Desc") | No | Sorting column. Default is Create_Dt_Desc (newest first). |
| `count` | integer | No | Number of members to return. Default returns all available members. |
| `query` | string | No | Search query - member must have this value as email, internal ID, external ID, or referral code. |
| `dateTo` | string | No | Filter members created on or before this date (ISO 8601 format: YYYY-MM-DD). |
| `offset` | integer | No | Starting index (0-based) for pagination. Default is 0. |
| `dateFrom` | string | No | Filter members created on or after this date (ISO 8601 format: YYYY-MM-DD). |
| `programId` | string | No | Program identifier using ID, name, or title to filter members by program. |
| `showDisabled` | boolean | No | True displays disabled members; False shows active members only. If not specified, returns both. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Member Statistics

**Slug:** `REFERRALROCK_GET_MEMBER_STATS_GET_SINGLE`

Tool to retrieve comprehensive statistics for a single member from ReferralRock. Use when you need to analyze a member's sharing, referral, and reward activities over a specified time period.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `query` | string | Yes | Identifier for the member. Can be an email address, member ID, external ID, or referral code. |
| `timePeriod` | string ("All" | "MonthToDate" | "LastMonth" | "Last7Days" | "Last30Days") | Yes | The time range for which to retrieve statistics. Accepted values are: All (all-time statistics), MonthToDate (statistics from the beginning of the current month), LastMonth (statistics from the previous month), Last7Days (statistics from the last 7 days), Last30Days (statistics from the last 30 days). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Payout Details by ID

**Slug:** `REFERRALROCK_GET_PAYOUTS_ID`

Tool to get payout details by ID. Use when you need to retrieve specific payout information using a payout identifier.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier for the payout to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Pending Payouts

**Slug:** `REFERRALROCK_GET_PAYOUTS_PENDING`

Tool to get pending payouts for a member or recipient. Use when you need to retrieve pending payout information, optionally filtering by recipient and including ineligible rewards.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `memberId` | string | No | The unique ID of the member to whom the amount is owed (deprecated, use recipientId instead). |
| `recipientId` | string | No | Unique identifier of the recipient owed the amount. |
| `includeIneligible` | boolean | No | Includes payouts for ineligible rewards with future eligibility dates. Defaults to False. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Payout Transactions

**Slug:** `REFERRALROCK_GET_PAYOUTS_TRANSACTIONS`

Tool to get payout transaction history for referral program participants. Use when you need to retrieve payout transaction information, optionally filtering by recipient ID or specific transaction ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `recipientId` | string | No | The unique ID of the payout transaction recipient. |
| `transactionId` | string | No | The unique ID of the payout transaction. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Single Program

**Slug:** `REFERRALROCK_GET_PROGRAM_GETSINGLE`

Tool to retrieve a single referral program by name. Use when you need details about a specific program.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `programName` | string | Yes | Name of the program of interest |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Referral Programs

**Slug:** `REFERRALROCK_GET_PROGRAMS`

List all referral programs in ReferralRock. Use this to retrieve details about available referral programs with pagination support.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `count` | integer | No | Number of programs to return. Default is 30. Maximum depends on API limits. |
| `offset` | integer | No | Starting index (0 based) of the programs to retrieve. Used for pagination. |
| `programId` | string | No | Identifies a specific program of interest. Use this to filter for a particular program. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Referrals

**Slug:** `REFERRALROCK_GET_REFERRALS`

Tool to list referrals with filtering and pagination options. Use when you need to retrieve referrals from ReferralRock, optionally filtered by program, member, date range, status, or search query. Supports sorting and pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sort` | string ("Create_Dt_Desc" | "Create_Dt_Asc" | "Amount_Desc" | "Amount_Asc" | "Qualified_Dt_Desc" | "Qualified_Dt_Asc" | "Closed_Dt_Desc" | "Closed_Dt_Asc") | No | Sort order for the results. Default is Create_Dt_Desc (newest first). |
| `count` | integer | No | Number of referrals to return per page. Default is all available referrals. |
| `query` | string | No | Search term to filter referrals by email, internal ID, external ID, or referral code. If matches internal referral ID, overrides other filters. |
| `dateTo` | string | No | Show referrals created on or before this date. Format: ISO8601 date string (e.g., '2023-12-31'). |
| `offset` | integer | No | Starting index for pagination (0-based). Default is 0. |
| `status` | string ("pending" | "qualified" | "approved" | "denied") | No | Filter referrals by their current status. |
| `dateFrom` | string | No | Show referrals created on or after this date. Format: ISO8601 date string (e.g., '2023-01-01'). |
| `memberId` | string | No | Filter results to show referrals associated with a specific member. |
| `programId` | string | No | Program identifier (ID, name, or title) to filter referrals by specific program. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Single Referral

**Slug:** `REFERRALROCK_GET_REFERRAL_SINGLE`

Tool to retrieve a single referral by email, ID, or external ID. Use when you need to fetch detailed information about a specific referral from ReferralRock.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | No | The email address of the referral to retrieve. |
| `externalId` | string | No | The external identifier of the referral to retrieve. |
| `referralId` | string | No | The unique identifier of the referral to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Reward Rules

**Slug:** `REFERRALROCK_GET_REWARDRULES`

Tool to get reward rules for a program. Use when you need to retrieve member rewards rules configuration including triggers, payouts, and delivery settings for a specific program.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `programId` | string | Yes | ID of the program. This is a required parameter that identifies which program's reward rules to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Rewards

**Slug:** `REFERRALROCK_GET_REWARDS`

Tool to list rewards with optional filtering and pagination. Use when you need to retrieve rewards filtered by program, member, status, date ranges, or specific search queries. Supports sorting and pagination via offset/count parameters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sort` | string | No | Sort column. Defaults to Create_Dt_Desc if not specified. |
| `count` | integer | No | Number of reward records to return. Defaults to all records if not specified. |
| `query` | string | No | Filter by recipient email, ID, external ID, or member referral code. |
| `dateTo` | string | No | Show rewards created before this date (ISO format or date string). |
| `offset` | integer | No | Starting index for pagination (0-based). Defaults to 0. |
| `status` | string | No | Filter by reward status. Valid values: Pending, Processing, Issued. |
| `dateFrom` | string | No | Show rewards created after this date (ISO format or date string). |
| `memberId` | string | No | GUID identifier of the member to filter by. |
| `programId` | string | No | ID of the program, program name, or program title to filter by. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Email from Unsubscribe List

**Slug:** `REFERRALROCK_POST_EMAIL_REMOVEUNSUBSCRIBE`

Tool to remove an email address from the unsubscribe list. Use when you need to resubscribe a previously unsubscribed email address to allow them to receive emails again.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | The email address to be removed from the unsubscribe list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Unsubscribe Email Address

**Slug:** `REFERRALROCK_POST_EMAIL_UNSUBSCRIBE`

Tool to unsubscribe an email address from the ReferralRock mailing list. Use when a user wants to opt out of email communications.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Email address to unsubscribe from the mailing list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Webhook Subscription

**Slug:** `REFERRALROCK_POST_HOOKS`

Tool to create or update a webhook subscription for event notifications. Use when you need to register a callback URL to receive POST requests with JSON data when specified events occur.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event` | string ("ProgramAdd" | "MemberAdd" | "MemberUpdate" | "MemberDelete" | "ReferralAdd" | "ReferralStatusChange" | "ReferralUpdate" | "ReferralDelete" | "RewardAdd" | "RewardIssue" | "EmailUnsubscribed") | Yes | Event type to monitor. Valid values: ProgramAdd, MemberAdd, MemberUpdate, MemberDelete, ReferralAdd, ReferralStatusChange, ReferralUpdate, ReferralDelete, RewardAdd, RewardIssue, or EmailUnsubscribed. |
| `target_url` | string | Yes | The callback URL that receives event notifications via POST requests with JSON data. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Invite Feed Entry

**Slug:** `REFERRALROCK_POST_INVITEFEED`

Tool to create an invite feed entry for automatic invitations. Use when you need to add a contact to the referral program's invite queue.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Contact's email address. |
| `lastName` | string | Yes | Contact's last name. |
| `firstName` | string | Yes | Contact's first name. |
| `contactType` | string | No | Optional contact type identifier to declare the API event where the contact originates. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Invite Feed Entries

**Slug:** `REFERRALROCK_POST_INVITEFEEDS`

Tool to create multiple invite feed entries for automatic invites in ReferralRock. Use when you need to send a set of contacts to be used with automatic member invitations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `inviteFeeds` | array | Yes | Array of invite feed entries to create. Each entry must include firstName, lastName, and email (all required), with an optional contactType parameter. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Generate Member Access URLs

**Slug:** `REFERRALROCK_POST_MEMBER_ACCESS_URLS`

Tool to generate member access URLs for custom share experience or secure portal embedding. Use when you need to create unique access and share links for members with optional expiration time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `memberId` | string | No | Internal member ID (36 characters). One of four identifiers required. |
| `externalId` | string | No | External system ID (0-100 characters). One of four identifiers required. |
| `emailAddress` | string | No | Member's email address (0-100 characters). One of four identifiers required. |
| `referralCode` | string | No | Member's referral code (0-50 characters). One of four identifiers required. |
| `expireInMinutes` | integer | No | Link expiration time in minutes (5-43200). Defaults to 20 minutes if not specified. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add new member to program

**Slug:** `REFERRALROCK_POST_MEMBERS`

Tool to create a new member and add them to a referral program. Use when you need to add a new member with their program ID, name, and email. Returns HTTP 201 (Created) on success with member confirmation details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `city` | string | No | City name. |
| `email` | string | Yes | Member's email address. |
| `phone` | string | No | Contact phone number. |
| `country` | string | No | Country name. |
| `lastName` | string | No | Member's surname. |
| `password` | string | No | Member account password. If not provided, member will need to reset password on first login. |
| `firstName` | string | Yes | Member's first name. |
| `programId` | string | Yes | Program identifier for membership. This is the GUID of the program to which the member will be added. |
| `payoutInfo` | object | No | Payment configuration object for member rewards. |
| `postalCode` | string | No | Postal or ZIP code. |
| `dateOfBirth` | string | No | Birth date in ISO format (YYYY-MM-DD). |
| `addressLine1` | string | No | Primary address line. |
| `addressLine2` | string | No | Secondary address line (apartment, suite, etc.). |
| `disabledFlag` | boolean | No | Membership activation status. Set to true to create the member in a disabled state. |
| `referralCode` | string | No | Custom referral identifier. If not provided, one will be auto-generated. |
| `customText1Name` | string | No | Custom text field name for additional member data. |
| `customText2Name` | string | No | Second custom text field name for additional member data. |
| `shouldSendEmail` | boolean | No | Triggers confirmation email; defaults to false. Set to true to send a welcome email to the new member. |
| `customText1Value` | string | No | Custom text field value for customText1Name. |
| `customText2Value` | string | No | Second custom text field value for customText2Name. |
| `customOption1Name` | string | No | Custom field name for additional member data. |
| `customOverrideURL` | string | No | Branded URL override for the member's referral links. |
| `recruiterSourceId` | string | No | Associated recruiter ID (GUID). Either this or recruiterAssignedId is conditionally required if the program requires a recruiter. |
| `countrySubdivision` | string | No | State or province designation. |
| `customOption1Value` | string | No | Custom field value for customOption1Name. |
| `externalIdentifier` | string | No | External system link identifier for integration purposes. |
| `recruiterAssignedId` | string | No | Currently assigned recruiter ID (GUID). Either this or recruiterSourceId is conditionally required if the program requires a recruiter. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Members from Program

**Slug:** `REFERRALROCK_POST_MEMBERS_REMOVE`

Tool to remove members from a referral program. Use when you need to delete members from the system. A member is removed when uniquely identified by either primaryInfo (memberId or referralCode) OR both secondaryInfo and tertiaryInfo.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `members` | array | Yes | Array of member removal information objects. Each object contains a query to identify the member to remove. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Referral Action

**Slug:** `REFERRALROCK_POST_REFERRALACTION`

Tool to create a referral action for processing recurring rewards. Use when you need to record a referral action with an amount value for calculating percentage-based recurring rewards. The action can be linked to referrals via email, ID, or external identifier.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Identifier for the referral action. Optional name to describe the action. |
| `amount` | number | Yes | Referral action amount, used for calculating percentage based recurring rewards |
| `programQuery` | string | No | Search by program ID, name, or title. Optional parameter to specify the program. |
| `referralQuery` | string | Yes | Lookup mechanism using ReferralID, email, or External ID |
| `externalIdentifier` | string | No | External ID, used for preventing duplicates and referencing original source. Optional unique identifier from external system. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Referral

**Slug:** `REFERRALROCK_POST_REFERRAL_REMOVE`

Tool to remove referrals from a referral program. Use when you need to delete referrals using their referral ID or alternative identifiers.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `referrals` | array | Yes | Collection of referral identification queries. Each referral requires either primaryInfo OR both secondaryInfo and tertiaryInfo for unique identification. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create New Referral

**Slug:** `REFERRALROCK_POST_REFERRALS`

Tool to create a new referral in ReferralRock based on a member's referral code. Use when you need to add a referral to a program, providing details like contact information, transaction amount, and custom fields.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `city` | string | No | City name. |
| `note` | string | No | Internal notes about the referral. Not visible to the referral. |
| `email` | string | No | Referral's email address. |
| `amount` | string | No | Order total or transaction value. |
| `region` | string | No | State/province/region. |
| `status` | string ("pending" | "qualified" | "approved" | "denied") | No | Referral state. Allowed values: 'pending', 'qualified', 'approved', or 'denied'. |
| `country` | string | No | Country name. |
| `lastName` | string | No | Referral's surname. |
| `firstName` | string | No | Referral's given name. |
| `postalCode` | string | No | ZIP/postal code. |
| `publicNote` | string | No | Publicly visible referral notes. |
| `companyName` | string | No | Business name. |
| `phoneNumber` | string | No | Customer contact number. |
| `addressLine1` | string | No | Street address line 1. |
| `addressLine2` | string | No | Street address line 2 (apartment, suite, etc.). |
| `referralCode` | string | Yes | The referral code from the member that introduced the referral. This is required to associate the referral with a specific member. |
| `customText1Name` | string | No | Custom text 1 field name. |
| `customText2Name` | string | No | Custom text 2 field name. |
| `customText3Name` | string | No | Custom text 3 field name. |
| `customText1Value` | string | No | Custom text 1 field value. |
| `customText2Value` | string | No | Custom text 2 field value. |
| `customText3Value` | string | No | Custom text 3 field value. |
| `preferredContact` | string ("email" | "callMorning" | "callAfternoon" | "callEvening") | No | Contact preference. Allowed values: 'email', 'callMorning', 'callAfternoon', or 'callEvening'. |
| `customOption1Name` | string | No | Custom option 1 field name. |
| `customOption2Name` | string | No | Custom option 2 field name. |
| `customOption1Value` | string | No | Custom option 1 field value. |
| `customOption2Value` | string | No | Custom option 2 field value. |
| `externalIdentifier` | string | No | Unique external identifier you can use to later reference the referral. |
| `recruiterAssignedId` | string | No | Currently assigned recruiter identifier (GUID format). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Referral Status

**Slug:** `REFERRALROCK_POST_REFERRALS_STATUS`

Tool to update referral status in ReferralRock. Use when you need to change a referral's status to pending, qualified, approved, or denied. Note: This endpoint is deprecated; use POST /api/referral/update instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `amount` | string | No | Referral reward amount as a decimal value |
| `status` | string | Yes | New status value for the referral. Must be one of: 'pending', 'qualified', 'approved', or 'denied' |
| `programId` | string | No | Identifier of the associated program |
| `publicNote` | string | No | Customer-facing note about the status update |
| `referralId` | string | Yes | Identifier for the referral to update |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Referral Details

**Slug:** `REFERRALROCK_POST_REFERRAL_UPDATE`

Tool to update referral details in a referral program. Use when you need to modify existing referral information such as contact details, status, notes, or custom fields. Requires either a referralId OR both secondaryInfo and tertiaryInfo to identify referrals. Supports bulk updates by providing multiple update items.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `updates` | array | Yes | List of referral updates to process. Each item contains a query to identify the referral and the fields to update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Issue Reward to Member

**Slug:** `REFERRALROCK_POST_REWARDS_ISSUE`

Tool to issue a reward to a member in the Referral Rock system. Use when you need to issue a specific reward to a recipient, with the option to override eligibility date rules.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `note` | string | No | A message sent to the reward recipient. |
| `rewardId` | string | Yes | The unique identifier for the reward being issued. |
| `recipientInfo` | string | No | For PayPal, include the email address of the recipient. (Deprecated parameter) |
| `overrideIneligible` | boolean | No | Allows you to override eligibility date rules. Issue rewards with eligibility dates in the future. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Rewards

**Slug:** `REFERRALROCK_POST_REWARDS_REMOVE`

Tool to remove rewards from members or referrals of a referral program. Use when you need to delete one or more rewards by their IDs. The endpoint returns a result for each reward ID indicating whether the removal was successful.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `rewardIds` | array | Yes | List of reward identifiers to be removed. Each ID should be a string representing a reward in the referral program. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
