From 105f59eaec78c7a1bd170d1655199efb0ce499b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A9lanie=20Vistry?= Date: Wed, 6 May 2026 10:59:12 +0200 Subject: [PATCH 1/6] New v2 --- .../v2/json/referrals.json | 91 +++++++++++++++++ .../v2/json/reward_balances.json | 32 ++++++ .../referral-saasquatch/v2/json/users.json | 75 ++++++++++++++ .../referral-saasquatch-v2-foreign-keys.yml | 84 ++++++++++++++++ .../v2/referral-saasquatch-v2-tables.yml | 42 ++++++++ _data/taps/versions/referral-saasquatch.yml | 6 +- .../referral-saasquatch-latest.md | 13 +-- .../v1/referral-saasquatch-v1.md | 98 +++++++++++++++++++ 8 files changed, 434 insertions(+), 7 deletions(-) create mode 100644 _data/taps/schemas/referral-saasquatch/v2/json/referrals.json create mode 100644 _data/taps/schemas/referral-saasquatch/v2/json/reward_balances.json create mode 100644 _data/taps/schemas/referral-saasquatch/v2/json/users.json create mode 100644 _data/taps/schemas/referral-saasquatch/v2/referral-saasquatch-v2-foreign-keys.yml create mode 100644 _data/taps/schemas/referral-saasquatch/v2/referral-saasquatch-v2-tables.yml create mode 100644 _saas-integrations/referral-saasquatch/v1/referral-saasquatch-v1.md diff --git a/_data/taps/schemas/referral-saasquatch/v2/json/referrals.json b/_data/taps/schemas/referral-saasquatch/v2/json/referrals.json new file mode 100644 index 000000000..ae04e86af --- /dev/null +++ b/_data/taps/schemas/referral-saasquatch/v2/json/referrals.json @@ -0,0 +1,91 @@ +{ + "properties": { + "dateConverted": { + "anyOf": [ + { + "type": "date-time" + }, + { + "type": "null" + } + ] + }, + "dateModerated": { + "anyOf": [ + { + "type": "date-time" + }, + { + "type": "null" + } + ] + }, + "dateReferralEnded": { + "anyOf": [ + { + "type": "date-time" + }, + { + "type": "null" + } + ] + }, + "dateReferralPaid": { + "anyOf": [ + { + "type": "date-time" + }, + { + "type": "null" + } + ] + }, + "dateReferralStarted": { + "anyOf": [ + { + "type": "date-time" + }, + { + "type": "null" + } + ] + }, + "id": { + "properties": { + "key": true, + "type": "string" + }, + "type": [ + "object" + ] + }, + "programId": { + "type": "string" + }, + "referredAccount": { + "type": "string" + }, + "referredModerationStatus": { + "type": "string" + }, + "referredReward": { + "type": "string" + }, + "referredUser": { + "type": "string" + }, + "referrerAccount": { + "type": "string" + }, + "referrerModerationStatus": { + "type": "string" + }, + "referrerReward": { + "type": "string" + }, + "referrerUser": { + "type": "string" + } + }, + "type": "object" +} diff --git a/_data/taps/schemas/referral-saasquatch/v2/json/reward_balances.json b/_data/taps/schemas/referral-saasquatch/v2/json/reward_balances.json new file mode 100644 index 000000000..446aad76b --- /dev/null +++ b/_data/taps/schemas/referral-saasquatch/v2/json/reward_balances.json @@ -0,0 +1,32 @@ +{ + "properties": { + "accountId": { + "properties": { + "key": true, + "type": "string" + }, + "type": [ + "object" + ] + }, + "amount": { + "type": "integer" + }, + "type": { + "type": "string" + }, + "unit": { + "type": "string" + }, + "userId": { + "properties": { + "key": true, + "type": "string" + }, + "type": [ + "object" + ] + } + }, + "type": "object" +} diff --git a/_data/taps/schemas/referral-saasquatch/v2/json/users.json b/_data/taps/schemas/referral-saasquatch/v2/json/users.json new file mode 100644 index 000000000..bcba98f90 --- /dev/null +++ b/_data/taps/schemas/referral-saasquatch/v2/json/users.json @@ -0,0 +1,75 @@ +{ + "properties": { + "accountId": { + "properties": { + "key": true, + "type": "string" + }, + "type": [ + "object" + ] + }, + "dateCreated": { + "anyOf": [ + { + "type": "date-time" + }, + { + "type": "null" + } + ] + }, + "email": { + "type": "string" + }, + "emailHash": { + "type": "string" + }, + "emailShareLink": { + "type": "string" + }, + "facebookShareLink": { + "type": "string" + }, + "firstName": { + "type": "string" + }, + "firstSeenIP": { + "type": "string" + }, + "id": { + "properties": { + "key": true, + "type": "string" + }, + "type": [ + "object" + ] + }, + "imageUrl": { + "type": "string" + }, + "lastName": { + "type": "string" + }, + "lastSeenIP": { + "type": "string" + }, + "linkedinShareLink": { + "type": "string" + }, + "locale": { + "type": "string" + }, + "referralSource": { + "type": "string" + }, + "shareLink": { + "type": "string" + }, + "twitterShareLink": { + "type": "string" + } + }, + "type": "object" +} diff --git a/_data/taps/schemas/referral-saasquatch/v2/referral-saasquatch-v2-foreign-keys.yml b/_data/taps/schemas/referral-saasquatch/v2/referral-saasquatch-v2-foreign-keys.yml new file mode 100644 index 000000000..5f6145a09 --- /dev/null +++ b/_data/taps/schemas/referral-saasquatch/v2/referral-saasquatch-v2-foreign-keys.yml @@ -0,0 +1,84 @@ +tap: referral-saasquatch +version: '2' +keys: + users_userId: + - table: referrals + keys: + - referredUser + - referrerUser + - table: reward_balances + keys: + - userId + - table: users + keys: + - id + users_accountId: + - table: referrals + keys: + - referredAccount + - referrerAccount + - table: reward_balances + keys: + - accountId + - table: users + keys: + - accountId +tables: +- table-name: referrals + join: + - table-name: reward_balances + keys: + - key: referredUser + foreign-key: userId + - key: referrerUser + foreign-key: userId + - key: referredAccount + foreign-key: accountId + - key: referrerAccount + foreign-key: accountId + - table-name: users + keys: + - key: referredUser + foreign-key: id + - key: referrerUser + foreign-key: id + - key: referredAccount + foreign-key: accountId + - key: referrerAccount + foreign-key: accountId +- table-name: reward_balances + join: + - table-name: referrals + keys: + - key: userId + foreign-key: referredUser + - key: userId + foreign-key: referrerUser + - key: accountId + foreign-key: referredAccount + - key: accountId + foreign-key: referrerAccount + - table-name: users + keys: + - key: userId + foreign-key: id + - key: accountId + foreign-key: accountId +- table-name: users + join: + - table-name: referrals + keys: + - key: id + foreign-key: referredUser + - key: id + foreign-key: referrerUser + - key: accountId + foreign-key: referredAccount + - key: accountId + foreign-key: referrerAccount + - table-name: reward_balances + keys: + - key: id + foreign-key: userId + - key: accountId + foreign-key: accountId diff --git a/_data/taps/schemas/referral-saasquatch/v2/referral-saasquatch-v2-tables.yml b/_data/taps/schemas/referral-saasquatch/v2/referral-saasquatch-v2-tables.yml new file mode 100644 index 000000000..5d313c119 --- /dev/null +++ b/_data/taps/schemas/referral-saasquatch/v2/referral-saasquatch-v2-tables.yml @@ -0,0 +1,42 @@ +tap: referral-saasquatch +version: '2' +tables: +- name: referrals + description: 'The `{{ table.name }}` table contains info about all of the referrals + in your {{ integration.display_name }} tenant. + + ' + links: + doc-link: https://docs.referralsaasquatch.com/api/methods/#open_list_referrals + singer-schema: https://github.com/singer-io/tap-referral-saasquatch/blob/master/tap_referral_saasquatch/schemas/referrals.json + api-method: https://docs.referralsaasquatch.com/api/methods/#list_referrals + table-details: + replication-method: Key-based Incremental + primary-key: id +- name: reward_balances + description: 'The `{{ table.name }}` table contains info about the balances for + all rewards. + + ' + links: + singer-schema: https://github.com/singer-io/tap-referral-saasquatch/blob/master/tap_referral_saasquatch/schemas/reward_balances.json + api-method: https://docs.referralsaasquatch.com/api/methods#list_balances + table-details: + replication-method: Key-based Incremental + primary-keys: + - userId + - accountId +- name: users + description: 'The `{{ table.name }}` table contains info about the users in your + {{ integration.display_name }} tenant. + + ' + links: + singer-schema: https://github.com/singer-io/tap-referral-saasquatch/blob/master/tap_referral_saasquatch/schemas/users.json + api-method: https://docs.referralsaasquatch.com/api/methods#list_users + table-details: + replication-method: Key-based Incremental + primary-keys: + - id + - accountId +tap-repo-schemas: true diff --git a/_data/taps/versions/referral-saasquatch.yml b/_data/taps/versions/referral-saasquatch.yml index dcd6103b8..8e32d8d5d 100644 --- a/_data/taps/versions/referral-saasquatch.yml +++ b/_data/taps/versions/referral-saasquatch.yml @@ -2,9 +2,13 @@ # REFERRAL SAASQUATCH VERSIONS # # ------------------------------- # -latest-version: "1" +latest-version: "2" released-versions: + - number: "2" + date-released: "May 6, 2026" + # date-last-connection: "" + - number: "1" date-released: "March 1, 2017" # date-last-connection: \ No newline at end of file diff --git a/_saas-integrations/referral-saasquatch/referral-saasquatch-latest.md b/_saas-integrations/referral-saasquatch/referral-saasquatch-latest.md index 50c5a7e96..2b646483c 100755 --- a/_saas-integrations/referral-saasquatch/referral-saasquatch-latest.md +++ b/_saas-integrations/referral-saasquatch/referral-saasquatch-latest.md @@ -1,5 +1,5 @@ --- -title: Referral SaaSquatch (v1) +title: Referral SaaSquatch (v2) permalink: /integrations/saas/referral-saasquatch keywords: referral saasquatch, integration, schema, etl referral saasquatch, referral saasquatch etl, referral saasquatch schema summary: "Connection instructions and schema details for Stitch's Referral SaaSquatch integration." @@ -17,7 +17,7 @@ display_name: "Referral SaaSquatch" singer: true repo-url: https://github.com/singer-io/tap-referral-saasquatch -this-version: "1" +this-version: "2" api: | [{{ integration.display_name }} REST API](https://docs.referralsaasquatch.com/api/){:target="new"} @@ -38,11 +38,8 @@ api-type: "platform.referral-saasquatch" anchor-scheduling: true cron-scheduling: true -table-selection: false +table-selection: true column-selection: false -select-all: false -select-all-reason: | - As this integration doesn't support table or column selection, all available tables and columns are automatically replicated. extraction-logs: true loading-reports: true @@ -76,6 +73,10 @@ setup-steps: {% include integrations/shared-setup/connection-setup.html %} 4. In the **Tenant Alias** field, paste your Referral SaaSquatch Tenant Alias. 5. In the **API Key** field, paste your Referral SaaSquatch API Key. + - title: "Set objects to replicate" + anchor: "setting-data-to-replicate" + content: | + {% include integrations/shared-setup/data-selection/object-selection.html %} - title: "Define the historical replication start date" anchor: "define-historical-sync" content: | diff --git a/_saas-integrations/referral-saasquatch/v1/referral-saasquatch-v1.md b/_saas-integrations/referral-saasquatch/v1/referral-saasquatch-v1.md new file mode 100644 index 000000000..627ddb48a --- /dev/null +++ b/_saas-integrations/referral-saasquatch/v1/referral-saasquatch-v1.md @@ -0,0 +1,98 @@ +--- +title: Referral SaaSquatch (v1) +permalink: /integrations/saas/referral-saasquatch/v1 +keywords: referral saasquatch, integration, schema, etl referral saasquatch, referral saasquatch etl, referral saasquatch schema +summary: "Connection instructions and schema details for Stitch's Referral SaaSquatch integration." +layout: singer + +key: "referral-saasquatch-setup" + +# -------------------------- # +# Tap Details # +# -------------------------- # + +name: "referral-saasquatch" +display_name: "Referral SaaSquatch" + +singer: true +repo-url: https://github.com/singer-io/tap-referral-saasquatch + +this-version: "1" + +api: | + [{{ integration.display_name }} REST API](https://docs.referralsaasquatch.com/api/){:target="new"} + +# -------------------------- # +# Stitch Details # +# -------------------------- # + +certified: false + +historical: "1 year" +frequency: "30 minutes" +tier: "Standard" +status-url: https://twitter.com/getSaasquatch + +api-type: "platform.referral-saasquatch" + +anchor-scheduling: true +cron-scheduling: true + +table-selection: false +column-selection: false +select-all: false +select-all-reason: | + As this integration doesn't support table or column selection, all available tables and columns are automatically replicated. + +extraction-logs: true +loading-reports: true + +# -------------------------- # +# Feature Summary # +# -------------------------- # + +feature-summary: | + Stitch's {{ integration.display_name }} integration replicates data using the {{ integration.api | flatify | strip }}. Refer to the [Schema](#schema) section for a list of objects available for replication. + + +# -------------------------- # +# Setup Instructions # +# -------------------------- # + +setup-steps: + - title: "Retrieve your {{ integration.display_name }} API credentials" + anchor: "retrieve-api-credentials" + content: | + 1. Sign into your Referral SaaSquatch account. + 2. In the **Setup** section of the left nav tab, click the **Install** option. + 3. In this page, locate the **Tenant Alias** and **API Key** fields. + 4. In the **API Key** field, click the **Click to Reveal** link to reveal your API Key. + + Leave this page open for now - you'll need it to complete the setup in Stitch. + + - title: "Add {{ integration.display_name }} as a Stitch data source" + anchor: "add-stitch-data-source" + content: | + {% include integrations/shared-setup/connection-setup.html %} + 4. In the **Tenant Alias** field, paste your Referral SaaSquatch Tenant Alias. + 5. In the **API Key** field, paste your Referral SaaSquatch API Key. + - title: "Define the historical replication start date" + anchor: "define-historical-sync" + content: | + {% include integrations/saas/setup/historical-sync.html %} + + - title: "Create a replication schedule" + anchor: "define-rep-frequency" + content: | + {% include integrations/shared-setup/replication-frequency.html %} + + +# -------------------------- # +# Table Schemas # +# -------------------------- # + +# Looking for the table schemas & info? +# Each table has a its own .md file in /_integration-schemas/referral-saasquatch +--- +{% assign integration = page %} +{% include misc/data-files.html %} From ee1df6d63f174e659a4e52f366b4371da66400c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A9lanie=20Vistry?= Date: Wed, 6 May 2026 11:30:09 +0200 Subject: [PATCH 2/6] Fixed TOC --- .../referral-saasquatch-v2.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename _saas-integrations/referral-saasquatch/{referral-saasquatch-latest.md => v2/referral-saasquatch-v2.md} (98%) mode change 100755 => 100644 diff --git a/_saas-integrations/referral-saasquatch/referral-saasquatch-latest.md b/_saas-integrations/referral-saasquatch/v2/referral-saasquatch-v2.md old mode 100755 new mode 100644 similarity index 98% rename from _saas-integrations/referral-saasquatch/referral-saasquatch-latest.md rename to _saas-integrations/referral-saasquatch/v2/referral-saasquatch-v2.md index 2b646483c..7c0302fe1 --- a/_saas-integrations/referral-saasquatch/referral-saasquatch-latest.md +++ b/_saas-integrations/referral-saasquatch/v2/referral-saasquatch-v2.md @@ -96,4 +96,4 @@ setup-steps: # Each table has a its own .md file in /_integration-schemas/referral-saasquatch --- {% assign integration = page %} -{% include misc/data-files.html %} \ No newline at end of file +{% include misc/data-files.html %} From 848f341f15db6f84c9186113efa03c87d37e8e0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A9lanie=20Vistry?= Date: Wed, 6 May 2026 11:50:15 +0200 Subject: [PATCH 3/6] Fixed TOC --- .../referral-saasquatch/v1/referral-saasquatch-v1.md | 1 + .../referral-saasquatch/v2/referral-saasquatch-v2.md | 1 + 2 files changed, 2 insertions(+) diff --git a/_saas-integrations/referral-saasquatch/v1/referral-saasquatch-v1.md b/_saas-integrations/referral-saasquatch/v1/referral-saasquatch-v1.md index 627ddb48a..882428876 100644 --- a/_saas-integrations/referral-saasquatch/v1/referral-saasquatch-v1.md +++ b/_saas-integrations/referral-saasquatch/v1/referral-saasquatch-v1.md @@ -4,6 +4,7 @@ permalink: /integrations/saas/referral-saasquatch/v1 keywords: referral saasquatch, integration, schema, etl referral saasquatch, referral saasquatch etl, referral saasquatch schema summary: "Connection instructions and schema details for Stitch's Referral SaaSquatch integration." layout: singer +input: false key: "referral-saasquatch-setup" diff --git a/_saas-integrations/referral-saasquatch/v2/referral-saasquatch-v2.md b/_saas-integrations/referral-saasquatch/v2/referral-saasquatch-v2.md index 7c0302fe1..f326dd943 100644 --- a/_saas-integrations/referral-saasquatch/v2/referral-saasquatch-v2.md +++ b/_saas-integrations/referral-saasquatch/v2/referral-saasquatch-v2.md @@ -4,6 +4,7 @@ permalink: /integrations/saas/referral-saasquatch keywords: referral saasquatch, integration, schema, etl referral saasquatch, referral saasquatch etl, referral saasquatch schema summary: "Connection instructions and schema details for Stitch's Referral SaaSquatch integration." layout: singer +# input: false key: "referral-saasquatch-setup" From 5a0317499b54c81cea8894fb7c8af87f2f811f79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A9lanie=20Vistry?= Date: Wed, 6 May 2026 11:51:13 +0200 Subject: [PATCH 4/6] Updated release date --- _data/taps/versions/referral-saasquatch.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_data/taps/versions/referral-saasquatch.yml b/_data/taps/versions/referral-saasquatch.yml index 8e32d8d5d..7bdb86d1d 100644 --- a/_data/taps/versions/referral-saasquatch.yml +++ b/_data/taps/versions/referral-saasquatch.yml @@ -6,7 +6,7 @@ latest-version: "2" released-versions: - number: "2" - date-released: "May 6, 2026" + date-released: "Feb 26, 2026" # date-last-connection: "" - number: "1" From 42c6f0599d7803b99e6f778d02d5f3ed95933753 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A9lanie=20Vistry?= Date: Wed, 6 May 2026 15:12:54 +0200 Subject: [PATCH 5/6] FIxed Objects to replicate section --- .../shared-setup/data-selection/data-selection-tabs.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_includes/integrations/shared-setup/data-selection/data-selection-tabs.html b/_includes/integrations/shared-setup/data-selection/data-selection-tabs.html index f6700b5ee..d055228b5 100644 --- a/_includes/integrations/shared-setup/data-selection/data-selection-tabs.html +++ b/_includes/integrations/shared-setup/data-selection/data-selection-tabs.html @@ -72,9 +72,9 @@ {% capture selection-options %} For {{ integration.display_name }} integrations, you can select: -1. **Individual {{ object }}s {% if integration.column-selection == true %} and {{ col }}s{% endif %}** +1. **Individual {{ object }}s{% if integration.column-selection == true %} and {{ col }}s{% endif %}** {% if select-all == true %} -2. **All {{ object }}s and {{ col }}s** {% if integration.collection == "database-integrations" and view-selection == true %}(except views){% endif %} +2. **All {{ object }}s{% if integration.column-selection == true %} and {{ col }}s{% endif %}** {% if integration.collection == "database-integrations" and view-selection == true %}(except views){% endif %} {% endif %} {% if view-selection == true %} From deb2ef502c835ecf40158b6242efdd129911fac5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A9lanie=20Vistry?= Date: Wed, 6 May 2026 15:29:18 +0200 Subject: [PATCH 6/6] column-selection > true --- .../referral-saasquatch/v2/referral-saasquatch-v2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_saas-integrations/referral-saasquatch/v2/referral-saasquatch-v2.md b/_saas-integrations/referral-saasquatch/v2/referral-saasquatch-v2.md index f326dd943..a4b4b6246 100644 --- a/_saas-integrations/referral-saasquatch/v2/referral-saasquatch-v2.md +++ b/_saas-integrations/referral-saasquatch/v2/referral-saasquatch-v2.md @@ -40,7 +40,7 @@ anchor-scheduling: true cron-scheduling: true table-selection: true -column-selection: false +column-selection: true extraction-logs: true loading-reports: true