These platforms offer their own MCP servers that let Claude Code explore available tables and schemas before you write ingestor assets. Not required, but useful.
If you installed the Shopify MCP, ask Claude Code to list all available Shopify tables and preview the schema for each one. This helps you decide if you want to ingest additional tables like transactions or fulfillments.
If you use Shopify Payments, your payment data is already included in Shopify's order data - the financial_status, total_price, and transaction fields are all part of the orders you just ingested. No extra connection or assets needed here.
The staging layer in Step 3 will pull payment details directly from raw.shopify_orders.
If you use Stripe as a separate payment processor, you'll want to ingest charge, refund, and payout data separately. This gives you more granular financial data than what Shopify includes in its orders.
Add the Stripe connection:
bruin connections add
When prompted:
Type:stripe
Name:stripe
API key: your Stripe secret key (starts with sk_)
Create ingestor assets:
ecommerce/assets/stripe_charges.asset.yml
name: raw.stripe_charges
type: ingestr
parameters:
source_connection: stripe
source_table: charges
incremental_strategy: merge
incremental_key: created
primary_key: id
ecommerce/assets/stripe_refunds.asset.yml
name: raw.stripe_refunds
type: ingestr
parameters:
source_connection: stripe
source_table: refunds
incremental_strategy: merge
incremental_key: created
primary_key: id
ecommerce/assets/stripe_customers.asset.yml
name: raw.stripe_customers
type: ingestr
parameters:
source_connection: stripe
source_table: customers
incremental_strategy: merge
incremental_key: created
primary_key: id
ecommerce/assets/stripe_payouts.asset.yml
name: raw.stripe_payouts
type: ingestr
parameters:
source_connection: stripe
source_table: payouts
incremental_strategy: merge
incremental_key: created
primary_key: id
Tip
The Stripe MCP can help you explore which tables and fields are available. Ask Claude Code "what data can I pull from Stripe?" to see tables like subscriptions, disputes, or balance_transactions.
Validate that all your asset definitions are correct:
bruin validate .
Or ask Claude Code:
Run bruin validate and fix any issues you find in the asset files.
Fix any errors - the most common issue is a typo in a connection name or a missing required field.
Then run the pipeline. For your first run, start with a small date range (about a month) to verify everything works before doing a full backfill:
bruin run --start-date 2025-01-01 --end-date 2025-02-01 .
This tells Bruin to only pull data within that interval. The --start-date and --end-date flags control the date range passed to each ingestor asset - see commands for all available flags.
If you have multiple environments (e.g. dev and prod), you can specify which one to use:
bruin run --start-date 2025-01-01 --end-date 2025-02-01 -e default .
Once you've confirmed the data looks right, do a full backfill with a wider range:
bruin run --start-date 2024-01-01 --end-date 2026-04-01 .