<!-- BusyBot node reference — https://busybot.net/tools/tapfiliate/ -->

> Node: Tapfiliate (`tapfiliate`) · Action · v1
> Category: Sales · Credentials: Tapfiliate API (`tapfiliateApi`)
> Updated: 2026-08-16

# Tapfiliate

> Manage affiliates, metadata, and program affiliates in Tapfiliate.

## Overview

Tapfiliate is an affiliate marketing platform. This tool allows you to create, get, list, and delete affiliates; manage affiliate metadata (add, update, remove key-value pairs); and manage program-affiliate relationships (add affiliates to programs, approve/disapprove them, get details, list all). Uses the Tapfiliate REST API v1.6.

**Category:** Sales  
**Tool Name:** `tapfiliate`  
**Version:** 1

**Appearance:** Icon: `lucide-Link` | Color: `#2EB67D`

## Node Type

**Action** — processes input items and produces output

## Input / Output

| Direction | Port(s) |
|-----------|--------|
| Input | `Input` |
| Output | `Output`, `Error` |

## Credentials

This tool requires **Tapfiliate API** credentials.
See the [Credentials Guide](https://busybot.net/credentials/tapfiliate-api/) for setup instructions.

### Resources

| Resource | Value |
|----------|-------|
| Affiliate | `affiliate` |
| Affiliate Metadata | `affiliateMetadata` |
| Program Affiliate | `programAffiliate` |

### Operations

Each resource has its own Operation list, and several resources reuse the values `add`, `get` and `getAll`. Pick the resource first, then the operation.

| Resource | Operation | Value | Description |
|----------|-----------|-------|-------------|
| Affiliate | Create | `create` | Create an affiliate |
| Affiliate | Delete | `delete` | Delete an affiliate |
| Affiliate | Get | `get` | Get an affiliate by ID |
| Affiliate | Get Many | `getAll` | Get many affiliates |
| Affiliate Metadata | Add | `add` | Add metadata to affiliate |
| Affiliate Metadata | Remove | `remove` | Remove metadata from affiliate |
| Affiliate Metadata | Update | `update` | Update affiliate metadata |
| Program Affiliate | Add | `add` | Add affiliate to program |
| Program Affiliate | Approve | `approve` | Approve an affiliate for a program |
| Program Affiliate | Disapprove | `disapprove` | Disapprove an affiliate |
| Program Affiliate | Get | `get` | Get an affiliate in a program |
| Program Affiliate | Get Many | `getAll` | Get many affiliates in program |

### Parameters

All identifier fields accept expressions, so you can feed an affiliate or program ID from an upstream item.

#### Affiliate: Create

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Email | `string` | Yes | — | The affiliate's email address. |
| First Name (`firstname`) | `string` | Yes | — | The affiliate's first name. |
| Last Name (`lastname`) | `string` | Yes | — | The affiliate's last name. |
| Additional Fields (`additionalFields`) | `collection` | No | `{}` | Optional properties to set on the new affiliate. |
| — Address (`addressUi`) | `fixedCollection` | No | `{}` | The affiliate's postal address. Holds a single record under the group key `addressValues`. |
| — — Line 1 (`address`) | `string` | No | — | — |
| — — Line 2 (`address_two`) | `string` | No | — | — |
| — — Postal Code | `string` | No | — | — |
| — — City | `string` | No | — | — |
| — — State | `string` | No | — | — |
| — — Country Code (`country`) | `string` | No | — | The country ISO 3166-1 code (e.g. US, NL, GB). |
| — Company Name (`companyName`) | `string` | No | — | The affiliate's company name. |

#### Affiliate: Delete

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Affiliate ID | `string` | Yes | — | The ID of the affiliate. |

#### Affiliate: Get

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Affiliate ID | `string` | Yes | — | The ID of the affiliate. |

#### Affiliate: Get Many

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Return All | `boolean` | No | `false` | Whether to return all results or only up to a given limit. |
| Limit | `number` | No | `100` | Max number of results to return. Accepts 1–1000. _(shown when Return All is `false`)_ |
| Filters (`filters`) | `collection` | No | `{}` | Narrow the affiliate list. |
| — Affiliate Group ID (`affiliate_group_id`) | `string` | No | — | Retrieves affiliates for a certain affiliate group. |
| — Click ID (`click_id`) | `string` | No | — | — |
| — Email | `string` | No | — | An email address. |
| — Parent ID (`parentId`) | `string` | No | — | Retrieves children for a certain parent affiliate. |
| — Referral Code (`referral_code`) | `string` | No | — | An affiliate's referral code (the ref= value in their referral link). |
| — Source ID (`source_id`) | `string` | No | — | — |

#### Affiliate Metadata: Add

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Affiliate ID | `string` | Yes | — | The ID of the affiliate. |
| Metadata (`metadataUi`) | `fixedCollection` | No | `{}` | Metadata key-value pairs to add. Add one entry per pair under the group key `metadataValues`; the operation fails if the list is empty. |
| — Key | `string` | No | — | Name of the metadata key to add. |
| — Value | `string` | No | — | Value to set for the metadata key. |

#### Affiliate Metadata: Remove

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Affiliate ID | `string` | Yes | — | The ID of the affiliate. |
| Key | `string` | No | — | Name of the metadata key to remove. |

#### Affiliate Metadata: Update

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Affiliate ID | `string` | Yes | — | The ID of the affiliate. |
| Key | `string` | No | — | Name of the metadata key to update. |
| Value | `string` | No | — | Value to set for the metadata key. |

#### Program Affiliate: Add

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Program ID | `string` | Yes | — | The ID of the program. Find this in the Tapfiliate dashboard URL when viewing a program. |
| Affiliate ID | `string` | Yes | — | The ID of the affiliate. |
| Additional Fields (`additionalFields`) | `collection` | No | `{}` | Optional properties for the program membership. |
| — Approved | `boolean` | No | `true` | An optional approval status. |
| — Coupon | `string` | No | — | An optional coupon for this affiliate. |

#### Program Affiliate: Approve

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Program ID | `string` | No | — | The ID of the program. Find this in the Tapfiliate dashboard URL when viewing a program. |
| Affiliate ID | `string` | No | — | The ID of the affiliate. |

#### Program Affiliate: Disapprove

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Program ID | `string` | No | — | The ID of the program. Find this in the Tapfiliate dashboard URL when viewing a program. |
| Affiliate ID | `string` | No | — | The ID of the affiliate. |

#### Program Affiliate: Get

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Program ID | `string` | Yes | — | The ID of the program. Find this in the Tapfiliate dashboard URL when viewing a program. |
| Affiliate ID | `string` | Yes | — | The ID of the affiliate. |

#### Program Affiliate: Get Many

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Program ID | `string` | Yes | — | The ID of the program. Find this in the Tapfiliate dashboard URL when viewing a program. |
| Return All | `boolean` | No | `false` | Whether to return all results or only up to a given limit. |
| Limit | `number` | No | `100` | Max number of results to return. Accepts 1–1000. _(shown when Return All is `false`)_ |
| Filters (`filters`) | `collection` | No | `{}` | Narrow the program-affiliate list. |
| — Affiliate Group ID (`affiliate_group_id`) | `string` | No | — | Retrieves affiliates for a certain affiliate group. |
| — Email | `string` | No | — | An email address. |
| — Parent ID (`parentId`) | `string` | No | — | Retrieves children for a certain parent affiliate. |
| — Source ID (`source_id`) | `string` | No | — | — |

#### All Operations

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Max Concurrency | `number` | No | `10` | Maximum number of items to process concurrently. Accepts 1–100. |

## Output Data

The Tapfiliate response is **merged onto the input item's JSON** at the top level — the returned record's fields sit alongside the fields the item already carried, so downstream nodes address them directly (`{{ $json.id }}`). A response field with the same name as an existing item field overwrites it. Binary data on the input item is forwarded unchanged onto every output item.

**The Get Many operations fan out.** Each affiliate in the list becomes its own output item, still merged onto the same input JSON, so one input item can produce many output items. A list with no records produces no output items for that input.

| Operations | Output |
|------------|--------|
| Affiliate Get Many; Program Affiliate Get Many | **One output item per affiliate returned.** Turn Return All on to page through the whole list; leave it off and the result is trimmed to Limit. |
| Affiliate Create and Get; Affiliate Metadata Update; Program Affiliate Add, Approve, Disapprove and Get | One output item carrying the object Tapfiliate returned. |
| Affiliate Delete; Affiliate Metadata Add and Remove | One output item carrying `success: true` — these calls confirm the change instead of returning a record. |

**Affiliate Metadata: Add** writes one key per entry in the Metadata list, so a list of three pairs is three writes that settle into the single `success: true` item.

## Usage Examples

- Create a new affiliate in Tapfiliate
- List all affiliates in a Tapfiliate program
- Add metadata to a Tapfiliate affiliate
- Approve an affiliate for a program

## Example Configuration

Create an affiliate with an address and company:

```json
{
  "type": "tapfiliate",
  "parameters": {
    "resource": "affiliate",
    "operation": "create",
    "email": "{{ $json.email }}",
    "firstname": "John",
    "lastname": "Doe",
    "additionalFields": {
      "companyName": "Example Corp",
      "addressUi": {
        "addressValues": {
          "address": "123 Main Street",
          "address_two": "Suite 100",
          "postal_code": "12345",
          "city": "New York",
          "state": "NY",
          "country": "US"
        }
      }
    }
  }
}
```

Find affiliates by group, email or source:

```json
{
  "type": "tapfiliate",
  "parameters": {
    "resource": "affiliate",
    "operation": "getAll",
    "returnAll": false,
    "limit": 50,
    "filters": {
      "email": "{{ $json.email }}",
      "affiliate_group_id": "group123",
      "source_id": "source456"
    }
  }
}
```

Tag an affiliate with metadata:

```json
{
  "type": "tapfiliate",
  "parameters": {
    "resource": "affiliateMetadata",
    "operation": "add",
    "affiliateId": "{{ $json.id }}",
    "metadataUi": {
      "metadataValues": [
        { "key": "specialization", "value": "tech products" },
        { "key": "traffic_source", "value": "social_media" }
      ]
    }
  }
}
```

Change one metadata value:

```json
{
  "type": "tapfiliate",
  "parameters": {
    "resource": "affiliateMetadata",
    "operation": "update",
    "affiliateId": "{{ $json.id }}",
    "key": "specialization",
    "value": "software products"
  }
}
```

Add an affiliate to a program, pre-approved and with a coupon:

```json
{
  "type": "tapfiliate",
  "parameters": {
    "resource": "programAffiliate",
    "operation": "add",
    "programId": "my-program",
    "affiliateId": "{{ $json.id }}",
    "additionalFields": {
      "approved": true,
      "coupon": "AFFILIATE20"
    }
  }
}
```

List every affiliate in a program:

```json
{
  "type": "tapfiliate",
  "parameters": {
    "resource": "programAffiliate",
    "operation": "getAll",
    "programId": "my-program",
    "returnAll": true,
    "filters": {
      "affiliate_group_id": "premium_group"
    }
  }
}
```

### Error Handling

| Mode | Behavior |
|------|----------|
| **stop** | Halts workflow on first error |
| **continue** | Skips failed items, passes successful ones through |
| **errorPort** | Routes failed items to Error output port |

## Tips

Manage Tapfiliate affiliates, metadata, and program-affiliate relationships including CRUD operations, approval workflows, and metadata key-value management.

### Affiliate Onboarding Flow

1. **Affiliate: Create** with the person's email and name — the output item carries the new affiliate, so `{{ $json.id }}` feeds the next step.
2. **Affiliate Metadata: Add** to record how you will segment them later, such as traffic source.
3. **Program Affiliate: Add** to place them in a program, setting **Approved** and a **Coupon** in one call.

### Important Notes

- **Program ID location:** find program IDs in the Tapfiliate dashboard URL when viewing a program.
- **Approve and Disapprove** are not marked required in the editor, but both still address one affiliate inside one program — fill in **Program ID** and **Affiliate ID** or the call cannot be built.
- **Collection vs fixed collection:** **Additional Fields** and **Filters** are flat objects keyed by the sub-field's internal name. **Metadata** nests a *list* under `metadataValues`; **Address** nests a *single record* under `addressValues`.
</content>