July 2026


New features

Reverse ETL via Weld Connect and MCP Server

Reverse ETL Syncs can now be created, updated, and managed through the Weld Connect API and the MCP Server, so AI assistants and custom integrations can activate warehouse data into downstream tools without using the UI. New endpoints and tools cover the full workflow: listing destination object types and available operations, resolving a destination's settings schema (including options that depend on other selections, like available sheets depending on a chosen file), and creating, updating, activating, deactivating, and deleting syncs.

You can also trigger an immediate sync run on demand, and list and inspect individual Reverse ETL Sync runs. For failed records, new endpoints and tools let you list unresolved record errors, get the failed record count, and retry specific records or all failed records for a sync.

GitHub sync: validate, retry, and rebuild models

Weld's GitHub sync now surfaces and recovers from materialization problems instead of failing silently. When a sync commits model changes to your repository but a model fails to materialize in the warehouse, the sync is marked Partial and lists the affected models. From there you can:

  • Retry failed models — re-run just the models that failed to materialize in a Partial sync, directly from the sync detail view.
  • Rebuild out-of-date models — reconcile every published model whose warehouse object has drifted from its published query (including models left stale by a later push that never re-touched them) in one click, without re-reading the repo or creating a new commit.

Syncs now also validate on sync, surfacing downstream and stale breakage before it reaches production, and respect config() materialization and schedule settings — with warnings when a materialization type isn't supported.

Deduplication across streams

Connectors can now remove duplicate rows across all synced data for a connection, not just within a single file or batch. Deduplication is configurable per connector and matches rows either on the configured primary-key fields or on a whole-row checksum, so identical records that arrive across multiple files, streams, or syncs are collapsed into a single row.

Downloads sidebar

CSV exports from model previews and audit logs now run in the background and appear in a new downloads sidebar, so you can keep working while large exports are prepared. The sidebar shows the status of each download (processing, ready, failed, or cancelled), lets you cancel in-progress exports, and provides a download link once the file is ready. Downloads are tracked per workspace and automatically expire after 3 days.

MCP Server: Create Custom Reports tool

The MCP Server now supports a create_custom_reports tool, letting AI assistants create one or more custom reports (GAQL for Google Ads, ShopifyQL for Shopify) and attach them to ELT Syncs in a single call. The tool is batchable — pass multiple items to duplicate the same report across many syncs, or create different reports at once — and each item is processed independently, so one failing report doesn't block the others. Errors are returned with clear, categorized messages (for example, flagging when a connection has lost access and needs reauthorizing) instead of raw error output.


New destinations

MotherDuck

MotherDuck — the serverless cloud data warehouse built on DuckDB — is now available as a Weld destination. Sync data from any source into MotherDuck, use it as a Reverse ETL / Activate source, and query it directly from Weld's query builder. Connect using a MotherDuck Service Token.

ClickHouse

ClickHouse is now available as a Weld ELT destination. Sync data from any source into ClickHouse Cloud or a self-hosted instance over its HTTP interface, and query it from Weld's query builder. Weld supports append, merge, and full-copy load strategies and evolves destination tables automatically as your source schemas change.


Connector updates

TikTok Shop: Seller Affiliate Orders stream and commission amount fixes

The TikTok Shop connector now syncs a Seller Affiliate Order stream, covering affiliate order status, commission rates, and per-SKU commission, refund, and return details. Commission and fee amount fields across the Affiliate Creator Order SKU stream (e.g. estimated and actual commission, bonus, and tax amounts) have also been corrected from string to numeric fields so they can be aggregated and filtered directly.

3 total changes1 possible breaking change

Table/columnChange typeNotes
seller_affiliate_orderNew stream
seller_affiliate_order
seller_affiliate_order_skusNew table
affiliate_creator_order_sku
commission and fee amount columnsUpdated ColumnFields such as price_amount, estimated_commission_amount, and actual_commission_amount changed from string to double.

Stripe: Faster incremental syncs for the Event stream

The Event stream now syncs incrementally, only fetching events created since the last sync instead of re-fetching the full event history each time. This makes syncs faster and reduces load on your Stripe account, especially for workspaces with a large volume of events.

TikTok Shop: Return Orders stream

The TikTok Shop connector now syncs a Return Orders stream, including return status, reason, shipping fee and discount breakdowns, and line-level return details.

6 total changes

Table/columnChange typeNotes
return_orderNew stream
return_order
return_order_line_itemsNew table
return_order_seller_next_action_responseNew table
return_order_discount_amountNew table
return_order_shipping_fee_amountNew table
return_order_line_items
return_order_sub_line_itemsNew table

Klaviyo: Periodic lookback sync for Events

The Events stream now periodically re-syncs a short lookback window of recent data, catching events that Klaviyo reports late or updates after they were first synced. The lookback runs automatically about once a day and doesn't affect regular incremental syncs the rest of the time.

QuickBooks: Profit & Loss report

QuickBooks now includes a Profit & Loss report stream, giving you period-level P&L data by account, alongside a summary breakdown grouped by section (income, cost of goods sold, expenses, and so on).

2 total changes

Table/columnChange typeNotes
profit_and_loss_reportNew streamProfit & loss amounts per account and period
profit_and_loss_report_summaryNew streamProfit & loss totals grouped by section

Linear: Create customers with Reverse ETL

Linear is now supported as a Reverse ETL destination for creating customers — push customer records from your warehouse models straight into Linear.

Google Drive and Microsoft OneDrive: New Reverse ETL destinations

Google Drive and Microsoft OneDrive can now be used as Reverse ETL destinations. Every sync creates a new file containing the full dataset from the source model — choose CSV, Parquet, NDJSON, or JSON array as the file format, with optional gzip compression (except for Parquet, which is already compressed). For Google Drive, pick the destination folder from a dropdown; for OneDrive, provide the destination folder URL.

Xero: New Accounts, Bank Transactions, Budgets, Credit Notes, and Tracking Categories streams

The Xero connector now supports five additional streams: Accounts, Bank Transactions, Budgets, Credit Notes, and Tracking Categories. Budgets are synced in 24-month windows to respect Xero's API limits, and Bank Transactions and Credit Notes support their nested line items, allocations, and payments.

14 total changes

Table/columnChange typeNotes
accountNew stream
bank_transactionNew stream
budgetNew stream
credit_noteNew stream
tracking_categoryNew stream
bank_transaction
bank_transaction_line_itemNew tableLine items for each bank transaction
budget
budget_trackingNew table
budget_lineNew table
budget_tracking
budget_tracking_optionNew table
budget_line
budget_balanceNew table
credit_note
credit_note_paymentNew table
credit_note_allocationNew table
credit_note_line_itemNew table
tracking_category
tracking_category_optionNew table

SFTP: Deduplicate rows across all synced files

The SFTP connector now has an optional Deduplicate setting. When enabled, Weld removes duplicate rows — based on the configured primary key fields — across all synced files, not just within a single file. This is useful when the same records can appear in multiple files from the SFTP source.


Amazon Selling Partner: Fulfillment Orders, faster reports, and incremental vendor catalog

The Amazon Selling Partner connector now syncs Fulfillment Order data, including shipments, shipment items, package tracking, returns, and payment information. Report-based streams also generate faster — Weld now fetches ASINs and other report data through Amazon's report endpoint with reduced polling delays and parallel marketplace requests — and the Vendor Central catalog items stream now syncs incrementally.

9 total changes

Table/columnChange typeNotes
fulfillment_orderNew stream
fulfillment_order
fulfillment_order_itemNew table
fulfillment_shipmentNew table
fulfillment_return_itemNew table
fulfillment_return_authorizationNew table
fulfillment_payment_informationNew table
fulfillment_shipment
fulfillment_shipment_itemNew table
fulfillment_shipment_package_trackingNew table
fulfillment_shipment_package_tracking
fulfillment_shipment_package_tracking_eventNew table

Amazon Vendor Central: Purchase Order Status stream

The connector now syncs Purchase Order Status data, including item-level status with ordered quantity and acknowledgement details.

4 total changes

Table/columnChange typeNotes
purchase_order_statusNew stream
purchase_order_status
purchase_order_status_itemNew table
purchase_order_status_item
purchase_order_status_item_ordered_quantity_detailNew table
purchase_order_status_item_acknowledgement_status_detailNew table

Shopify: Row deduplication on selected tables

Selected Shopify tables now have row-level deduplication enabled, removing duplicate records that could previously appear from overlapping syncs.


New connectors

Gmail · View Gmail data schema →

Gmail is now available as a Weld connector. Sync your mailbox — profile, labels, threads, and messages — into your data warehouse via OAuth, with incremental syncs for threads and messages. Gmail also supports Reverse ETL: send a SQL or dbt model on a schedule as a file attachment (CSV, Parquet, NDJSON, or JSON array, optionally gzip-compressed) to the recipient email address(es) you configure, using your connected Gmail account. Only the Mirror operation is supported — each sync sends a fresh email with the full result of your model.

9 total changes

Table/columnChange typeNotes
profileNew stream
labelNew stream
threadNew stream
messageNew stream
message
message_labelNew table
message_classification_label_valueNew table
message_partNew table
message_classification_label_value
message_classification_label_value_fieldNew table
message_part
message_part_headerNew table

Toast Analytics · View Toast Analytics data schema →

Toast Analytics provides pre-aggregated daily analytics across your restaurant locations. The connector syncs data per restaurant, per business day, and supports historical backfill.

13 total changes

Table/columnChange typeNotes
analytics_restaurants_informationNew tableActive restaurant locations accessible via your partner credentials
analytics_aggregated_salesNew tableDaily aggregated sales metrics per restaurant — guest count, order counts, net/gross sales, discounts, voids, refunds, and hourly labor summary
analytics_checkNew tableIndividual check-level data including totals, discounts, taxes, tips, and gratuity
analytics_laborNew tableDaily labor totals per restaurant — hours, costs, and sales-per-labor-hour
analytics_labor_by_jobNew tableDaily labor broken down by job — hours, costs, and sales efficiency
analytics_labor_by_employeeNew tableDaily labor broken down by employee — hours, costs, and employee details
analytics_menuNew tableDaily menu-level sales performance — quantities sold, revenue, discounts, voids, and waste
analytics_menu_by_menuNew tableDaily sales performance grouped by menu
analytics_menu_by_menu_itemNew tableDaily sales performance grouped by menu item
analytics_payout_by_settled_dateNew tablePayout summary by settlement date — transaction count, payment/refund amounts, fees, withholding, and payout status
analytics_payout_by_paymentsNew tableIndividual payment-level payout records including card brand, type, tip, and gratuity
analytics_payout_by_sales_dateNew tablePayout summary aggregated by sales date
analytics_guest_by_paymentNew tableGuest visit data linked to individual payments, including card fingerprint for repeat-guest analysis

Bug fixes

  • Klaviyo deleted flows: Flow reports no longer fail when a flow has been deleted and returns a null date field.
  • Shopify ShopifyQL date types: Corrected the data types returned for ShopifyQL date columns.
  • Amazon Selling Partner search query performance: Fixed an issue where the search query performance report could return no data.
  • Custom forms: Renaming a custom form no longer leaves a conflicting stale table behind.
  • Model editor discard prompt: Pressing Esc now dismisses the discard-changes confirmation instead of reopening it.
  • Stuck materialization jobs: Materialization jobs no longer get stuck on unbounded wait-for-completion polling.
  • Model import: Folder-name casing is now preserved in the warehouse name, and leaf models resolve correctly in the GitHub sync dependency map.
  • Model editor tab sync: Navigating directly to /editor/:modelId now correctly activates the tab for that model, even when a restored unsaved-draft tab was already open from a previous session.

Was this page helpful?