Skip to main content

11 posts tagged with "How-To"

Step-by-step guides and tutorials

View All Tags

Salesforce Google Sheets Integration: Two-Way Sync

· 19 min read
Puneet Gupta
Founder, Supaflow

A Salesforce Google Sheets integration can send CRM data to a spreadsheet for reporting and return reviewed changes to Salesforce. The safest design does not let both systems overwrite the same fields whenever they want. It keeps a stable Salesforce ID on every row, limits which fields Sheets can change, and orders the two sync directions so an outbound refresh cannot erase an unprocessed edit.

This guide compares the main connector, automation, and API approaches. It then shows how to build a scheduled two-way Salesforce and Google Sheets workflow with Supaflow using separate outbound and writeback pipelines.

How to Export Salesforce Marketing Cloud Data to Snowflake

· 14 min read
Puneet Gupta
Founder, Supaflow

Salesforce Marketing Cloud Engagement stores useful analytics data across Data Extensions, subscribers, sends, journeys, and system Data Views such as _Sent, _Open, and _Click. Moving that data into Snowflake gives marketing, revenue, and data teams one place to analyze engagement alongside CRM, product, and transaction data.

The timing matters. Salesforce keeps only the most recent 180 days in Automation Studio Data Views. If you need a durable history, start exporting before older engagement records age out.

This guide shows how to export Salesforce Marketing Cloud data with Supaflow's SFMC-to-Snowflake connector, including the Installed Package permissions, the connector settings visible in the app, the objects to select, and the checks to run after the first load.

SQL Server to Redshift Migration: Setup, Test, Cut Over

· 15 min read
Puneet Gupta
Founder, Supaflow

Migrating SQL Server to Amazon Redshift is not a backup-and-restore job. SQL Server is an operational database; Redshift is an analytical warehouse. The safest approach is to move table data continuously, validate it while SQL Server stays live, and switch downstream analytics only after the Redshift copy passes your checks.

This guide shows how to build that migration with Supaflow's SQL Server connector and Amazon Redshift connector. You will configure Redshift as the destination, connect SQL Server as the source, run an initial load, test ongoing changes, and use a controlled cutover checklist instead of betting everything on one migration window.

Multi-Tenant Isolation with Clerk + Supabase RLS

· 16 min read
Puneet Gupta
Founder, Supaflow

To implement secure multi-tenant isolation with Clerk and Supabase RLS, pass the native Clerk session token to Supabase, derive the active organization from verified JWT claims in Postgres, and let RLS—not the browser—enforce the tenant boundary. This pattern does not use a Clerk JWT template, a shared Supabase JWT secret, or auth.uid().

A user can sign in successfully and still see or change another tenant's data. Authentication proves who the user is; it does not tell Postgres which organization rows that user may access.

The risky shortcut is to trust an organization ID sent by the browser. A caller can change that value. Another common mistake is to use auth.uid(), which represents a Supabase Auth user UUID rather than Clerk's string user ID. Membership lookups inside RLS policies can also become recursive and slow.

This tutorial shows how to make the verified Clerk session token the root of the authorization decision:

  • Clerk authenticates the user and supplies the active organization context.
  • Supabase verifies the Clerk token and makes its claims available to Postgres.
  • Postgres derives the user and tenant from those claims.
  • Row-Level Security applies indexed, non-recursive policies to every query.

By the end, you will have a reusable schema, JWT helper functions, a controlled tenant-bootstrap function, explicit read/write policies, and tests for personal accounts, organizations, role boundaries, and cross-tenant attacks.

The complete runnable implementation is in the supaflow-labs/clerk-supabase-demo repository. The snippets below are intentionally small enough to study; use the repository migration and tests when building the complete example.

Google Drive & Google Sheets to Snowflake: ETL Tools

· 14 min read
Puneet Gupta
Founder, Supaflow

Moving Google Drive files into Snowflake can mean several different things: loading a folder of recurring CSV exports, syncing every worksheet in a set of Google Sheets, replacing one named range, or running a one-time import. Those workloads should not share one blanket recommendation.

This guide compares Supaflow, Fivetran, Hevo, Airbyte, manual Snowflake loads, and a custom Google API pipeline. It then walks through a Supaflow setup using CSV files; the same pipeline workflow applies to TSV, Excel (.xlsx), and native Google Sheets sources.

How to Connect a Local SQL Server with ngrok or bore

· 9 min read
Puneet Gupta
Founder, Supaflow

You want to try Supaflow against a SQL Server that runs on your own machine -- a developer install on your laptop or a server on your office network. There is no public IP, no port forwarding, and no VPN between that database and the cloud. A Supaflow-hosted Agent needs to reach the database over the network, so localhost in the datasource form will not work for this test.

A TCP tunnel is the fastest way to prove connectivity during a proof of concept (POC). This guide shows two temporary options: ngrok, the popular managed tunneling service, and bore, a minimal open-source alternative that needs no account. Both give you a public host and port that forward straight to your local SQL Server, and both plug into the Supaflow datasource form the same way.

For production pipelines, deploy a self-hosted Docker Agent on a stable host inside the same private network as SQL Server. The agent connects to SQL Server over the local network and polls Supaflow over outbound HTTPS, so the database port stays private. This removes the tunnel relay and changing public endpoint from the data path and gives long-running pipelines a predictable network path.

How to Replicate MySQL Data to Snowflake

· 10 min read
Puneet Gupta
Founder, Supaflow

Need MySQL data in Snowflake for analytics, reporting, or a migration? Supaflow handles the initial load and keeps new and updated rows in sync without a custom export job. This guide walks through the setup, the first sync, and the checks that confirm your Snowflake tables match the source.

Before you start, decide how each table records changes and how you want to handle deleted rows. Supaflow uses a date, datetime, or timestamp column to find inserts and updates. It does not read the MySQL binary log, so hard deletes require a separate approach.

For the shorter product and capability overview, see the MySQL to Snowflake connector page.

How to Build a Custom Lead Scoring Model for Salesforce

· 13 min read
Puneet Gupta
Founder, Supaflow

A lead score trapped in a warehouse is just a number. The useful version appears on the Salesforce Lead record while a sales rep is deciding who to call next.

Supaflow Python tasks close that loop. You can ingest CRM and behavioral data into Snowflake, apply transparent scoring rules with Python and pandas, write the results to an activation table, and then sync those fields back to Salesforce. The same output can also feed a Salesforce Marketing Cloud Data Extension for a high-intent nurture journey.

A Supaflow orchestration turns those pipelines and tasks into one dependency-aware workflow, so activation cannot start before ingestion and scoring finish. This guide builds that end-to-end data pipeline.

Migrate Redshift Data to Snowflake in 30 Minutes

· 15 min read
Puneet Gupta
Founder, Supaflow

Need to move Redshift tables into Snowflake? Supaflow can replicate Redshift tables into Snowflake without a custom export script, copy job, scheduler, or table-by-table loader.

This guide walks through the full setup end to end: create the Snowflake destination, create the Redshift source, build the pipeline, run the first sync, and verify the data in Snowflake.

For the shorter product overview before the walkthrough, see the Redshift to Snowflake migration page.

Oracle Transportation Management Integration: The Complete Guide

· 18 min read
Puneet Gupta
Founder, Supaflow

Oracle Transportation Management integration is one of the more deceptive data engineering problems in the logistics stack. OTM exposes a well-documented REST API and sync looks straightforward on paper -- until you run it against real data and discover that the metadata catalog returns 400 on half the tables you need, "empty" timestamps arrive as literal 0, and sync-mode responses silently truncate at 1 MB.

This guide walks through how OTM data integration actually works in production: the objects that matter, the five quirks that break naive pipelines, the right way to handle incremental sync with OTM's server-side clock, and how to move OTM data into Snowflake or any cloud warehouse reliably.