September 2026


New connectors

Claimlane

Claimlane is now available as an ELT source, syncing 10 tables (27 including subtables) covering retailers, suppliers, B2B and B2C claim tickets, and raw data exports for warranty and returns management.

5 total changes

Table/columnChange typeNotes
retailerNew tableFull sync.
supplierNew tableFull sync, with supplier_brand and supplier_brand_product_identification subtables.
b2b_ticketNew tableIncremental, synced per supplier so a run that fails partway through doesn't replay the suppliers it already finished. Eight subtables cover claim products and their tags and statuses.
b2c_ticketNew tableFull sync, since a consumer ticket's status, refunds, and shipping lines keep changing after it is created. Nine subtables cover products, refunds, parts, and shipping lines.
raw_b2b_product_data, raw_b2b_workload_data, raw_b2c_agent_data, raw_b2c_product_data, raw_b2c_product_part_data, raw_b2c_workload_dataNew tableOne table per Claimlane raw data export type, keyed on a checksum of the row since raw exports have no id.

Connections authenticate with an API key. Because most endpoints are scoped to a retailer or supplier organization, the connection settings include an organization picker; leaving it empty syncs every organization the key can see.

Walmart

Walmart Marketplace is now available as an ELT source, syncing 57 tables covering the catalogue, inventory, orders, returns, feed submissions, pricing, payments, shipping settings, WFS inbound shipments, and listing quality.

Connections authenticate with the Client ID and Client Secret from Seller Center's API Key Management page (Walmart's Direct API integration). Weld exchanges them for a short-lived access token on every run, so there is nothing to re-authorize as long as the key pair stays valid.

Catalogue and inventory

5 total changes

Table/columnChange typeNotes
itemNew tableFull sync of the seller's items, including price, publishing status and variant grouping. The shelf column arrives as a JSON-encoded string from Walmart, so it is stored verbatim.
item_unpublished_reasonNew table
item_variant_group_attributeNew table
inventoryNew tableMulti-node inventory for every SKU and ship node, so no per-SKU lookup is needed.
inventory_nodeNew tableShip node quantities land as *_amount / *_unit column pairs.

Orders and returns

21 total changes

Table/columnChange typeNotes
orderNew tableIncremental on last modified date.
order_lineNew table
order_line_chargeNew table
order_line_statusNew table
order_line_refund_chargeNew table
order_line_serial_numberNew table
order_payment_typeNew table
returnNew tableIncremental on return last modified date.
return_order_lineNew table
return_order_line_chargeNew table
return_order_line_charge_taxNew table
return_order_line_charge_referenceNew table
return_order_line_charge_totalNew table
return_order_line_tracking_statusNew table
return_order_line_refund_channelNew tableCarries refund_covered_by, which is what Walmart actually returns for the refund channel.
return_order_line_tracking_detailNew table
return_order_line_tracking_detail_referenceNew table
return_line_groupNew table
return_line_group_lineNew table
return_line_group_labelNew table
return_line_group_label_carrierNew table

Feeds, pricing and payments

7 total changes

Table/columnChange typeNotes
feedNew tableCatalogue and price feed submissions, incremental on the feed's modified date.
feed_itemNew tablePer-item ingestion status within the feed file.
feed_item_ingestion_errorNew table
pricing_insightsNew tableBuy Box win rate, competitor and comparison prices, and repricer settings per SKU.
price_incentiveNew tableBoth eligible and enrolled incentives.
payment_statement_reportNew tableThe current cycle's payment statement. Appended once per sync rather than replaced, since the snapshot carries no key of its own and Walmart does not return earlier cycles.
recon_reportNew tableSettlement reconciliation files, incremental by settlement date rather than run time, so files Walmart publishes days after the period they cover are not skipped.

Shipping settings and inbound shipments

18 total changes

Table/columnChange typeNotes
shipping_templateNew tableThe template list: name, type, rate model and status.
shipping_template_detailsNew tableThe full template, fetched only for templates whose modified date moved since the last sync. A template Walmart returns without a modified date is always fetched rather than skipped.
shipping_template_fulfillment_centerNew table
shipping_template_methodNew table
shipping_template_configurationNew table
shipping_template_address_typeNew table
shipping_template_tiered_chargeNew table
shipping_template_regionNew table
shipping_template_sub_regionNew table
shipping_template_stateNew table
shipping_template_state_subregionNew tableEvery ancestor key is repeated at each level, so a state subregion row joins straight back to its template.
shipping_configurationNew tableThe seller's shipping profile.
shipping_configuration_settingNew table
shipping_configuration_categoryNew table
shipping_coverageNew tableShip node coverage.
shipping_coverage_areaNew table
inbound_shipmentNew tableWFS inbound shipments. Synced in full on every run rather than incrementally, because Walmart filters only on creation date while a shipment keeps changing status for weeks afterwards.
inbound_shipment_tracking_numberNew table

Listing quality

6 total changes

Table/columnChange typeNotes
listing_quality_scoreNew tableThe account-wide listing quality score. Walmart only ever returns today's score, so each sync appends a row instead of replacing the last one, making the table a trend line ordered by _weld_synced.
listing_quality_itemNew tablePer-item listing quality, including GMV, conversion rate and post-purchase issues.
listing_quality_item_scoreNew tableThe component scores behind the item's overall score.
listing_quality_item_content_issueNew tableContent and discoverability issues on the listing.
listing_quality_item_trendNew table
listing_quality_item_trend_valueNew tableA 30-day daily series per item per statistic.

Explore Walmart documentation →

QRFY

QRFY is now available as an ELT source, syncing QR codes, folders, and scan analytics from the QR code generator platform.

3 total changes

Table/columnChange typeNotes
qrNew streamIncludes substreams for the per-type data (one of 22 QR types, e.g. url, vcard, wifi) and the design style, rather than flattening them onto the qr row.
folderNew stream
analyticsNew streamIncremental scan report, deduplicated on scan_url, date, and a few dimensions since rows carry no QR id.

Connections authenticate with an API key.


New features

Orchestration overview: sorting, contents, and a disabled filter

The orchestration overview now sorts workflows alphabetically, treating leading numbers numerically so "2. Klaviyo Sync" sorts before "10. Shopify Sync" instead of after it. Each workflow's card also gets a line summarizing what it contains, for example how many models, source tables, reverse ETL syncs, and webhooks it runs. A new toggle lets you hide disabled workflows, and only appears once you have at least one disabled workflow to hide.

Capture deletes (Beta)

This feature is in Beta. A table's full syncs can now keep the rows the source stops returning, instead of the sync silently removing them from your destination table. Turn on Capture deletes in the table's settings menu, just above History tables, and rows the source drops on the next full sync are marked with _weld_deleted_at rather than deleted — so they stay queryable for auditing or point-in-time analysis. A row that comes back is unmarked again. See Capture deletes for the full guide.

Within Google Ads, it is the predefined dimension reports (e.g. campaign, ad_group, ad) and their bidding strategy and criterion substreams that qualify, so a full sync marks the entities the account no longer returns instead of dropping the rows. Time-based reports keep reconciling per report window, and custom reports built from your own query are unaffected.

Your data warehouse has to support it too. Capture deletes works on BigQuery, Snowflake, Redshift, Postgres, MSSQL, and MotherDuck.

Configuring syncs programmatically? The same setting is soft_delete_enabled on a stream over the Weld Connect API and the MCP server, and both capabilities are readable before you turn it on: soft_delete_supported per stream from get_elt_sync_available_streams, and the data warehouse's support from GET /data_warehouse or the MCP get_account tool.

Error markers in the SQL editor

A failed preview now places an error marker on the line the warehouse blamed, right in the SQL editor, instead of only showing its message in the bottom pane. The marker follows the SQL as you keep editing: changing the line it blamed clears the marker, editing elsewhere repositions it, and undoing back to the failing query brings it back.

The marker spans the whole line rather than a single column, since the warehouse counts columns into the SQL Weld actually sent, after Weld's own {{tag}} references have already been substituted.

The editor can now also validate your SQL against the warehouse while you type, marking the offending line before you ever run the query. Validation is debounced to a typing pause and cached by SQL text, and runs the query as a free dry run or EXPLAIN rather than actually executing it. If the SQL is valid, any leftover marker from an earlier failed run is cleared.

Explanations for quarantined syncs

When a sync stream is quarantined, Weld now generates a plain-language explanation of what happened, instead of showing the raw underlying error. The card also lists suggested next steps as controls you can act on directly, such as re-authenticating a connection, adjusting a sync's incremental settings, reducing its sync frequency, or contacting support with the affected table already noted.

When the cause is on Weld's side rather than something in your setup, the card states that no action is needed instead of suggesting self-serve fixes that would not help.

Identifier casing for Snowflake

Snowflake resolves an unquoted identifier to its upper-case form, and Weld quotes every name it writes, so a table created as "orders" could only ever be queried quoted. You can now have Weld create schemas, tables and columns in upper case instead:

select id from hubspot.orders

Turn on Create tables and columns in upper case under Advanced when you connect Snowflake, or later on the Data Warehouse settings page, to set the default for new syncs. Individual syncs can override it next to the destination schema name when you create them. Over the API, send identifier_casing on POST /elt_syncs and read or change the default on /data_warehouse.

Read more about identifier casing →


Connector updates

Recurly: New discount column on invoices

Recurly's invoice table gains a discount column, alongside the existing discounted column.

1 total change

Table/columnChange typeNew nameNotes
invoice
columnNew Columndiscount

Recurly: Coupon redemption table

Recurly gains a coupon_redemption table. Since there is no site-level endpoint for redemptions, it is fetched per account and covers both account-level and subscription-level redemptions. A new invoice_coupon_redemption subtable on invoice links each redemption to the invoices it discounted.

2 total changes

Table/columnChange typeNotes
coupon_redemptionNew table
invoice
invoice_coupon_redemptionNew subtableCarries the discounted amount for that invoice.

NetSuite: Five new SuiteAnalytics tables

NetSuite gains five tables from its SuiteQL / SuiteAnalytics schema, which have no REST record behind them. transactionaccountingline carries the GL account and debit/credit per transaction line, which is what a trial balance, P&L, or balance sheet is built from. entity and item are the union tables behind the per-type records (customer, vendor, inventory item, and the rest). accounttype and accountingperiodfiscalcalendars are small reference tables with no modified date, so they sync in full on every run.

5 total changes

Table/columnChange typeNotes
transactionaccountinglineNew tableThe GL account and debit/credit per transaction line, needed for a trial balance, P&L, or balance sheet.
entityNew table
itemNew table
accounttypeNew tableReference table, synced in full on every run.
accountingperiodfiscalcalendarsNew tableReference table, synced in full on every run.

QuickBooks: Bill enrichment, linked transactions, and expense line fixes

QuickBooks's bill table now carries its doc_number, private_note, home_balance, exchange_rate, vendor address, and last-modified-by and sales term references. A new bill_linked_txn table syncs the transactions linked to a bill, such as its payment, and both expense line subtables gain their own linked transaction subtable for the same purpose at the line level.

Expense lines also gain a project_ref column, and bill_account_based_expense_line rows now include their amount, which the line's schema previously left out.

13 total changes

Table/columnChange typeNew nameNotes
bill
columnNew Columndoc_number
columnNew Columnprivate_note
columnNew Columnhome_balance
columnNew Columnexchange_rate
columnNew Columnvendor_addrVendor address fields.
columnNew Columnmeta_data_last_modified_by_ref
columnNew Columnsales_term_ref
bill_linked_txnNew tableThe transactions linked to a bill, such as its payment.
bill_account_based_expense_line
bill_account_based_expense_line_linked_txnNew subtable
columnNew Columnamount
columnNew Columnproject_ref
bill_item_based_expense_line
bill_item_based_expense_line_linked_txnNew subtable
columnNew Columnproject_ref

QuickBooks: Vendor credit table

QuickBooks now has a vendor_credit table, syncing vendor credits with their account details, tax details, and metadata. Line items sync into vendor_credit_account_based_expense_line and vendor_credit_item_based_expense_line subtables, matching how expense lines are already split for other QuickBooks transaction tables.

3 total changes

Table/columnChange typeNotes
vendor_creditNew table
vendor_credit
vendor_credit_account_based_expense_lineNew subtableExpense lines coded directly to an account.
vendor_credit_item_based_expense_lineNew subtableExpense lines coded to a product or service item.

Criteo: Ad sets, campaign IDs on statistics reports, and a wider primary key

Criteo now has an adset table. Ad sets sit between campaigns and ads.

The adset_statistics_daily_report table is new, and the existing ad_statistics_daily_report table now also carries adset_id and campaign_id on every row, so ads, ad sets, and campaigns can all be connected without a join. Requesting these id columns also brings back their names, so all three statistics reports now expose readable campaign, adset, and ad name columns alongside the ids.

5 total changes1 possible breaking change

Table/columnChange typeNotes
adsetNew tableIncludes a subtable for scheduled budgets.
adset_statistics_daily_reportNew table
ad_statistics_daily_report
adset_id, campaign_id, campaign, adset, adNew ColumnAdds the ad set and campaign hierarchy, plus readable names, to each row.
primary keyUpdatedNow ad_id, adset_id, campaign_id, date (previously ad_id, date).
campaign_statistics_daily_report
campaignNew ColumnReadable campaign name alongside campaign_id.

Traede: Delivery and invoice addresses on orders

The order stream now syncs the delivery and invoice addresses as delivery_* and shop_* columns (12 fields each: name, attention line, address lines, zip, city, region, country, email, telephone, VAT, and EAN). shop is Traede's include name for the invoice address; Weld surfaces it as shop_* to stay true to the API rather than colliding with a real invoice include if Traede ever adds one.

These addresses were previously unavailable: the earlier attempt used include names (addresses, delivery_address) that Traede's supported v10 API rejects with a 422. All fields are nullable, since not every order carries a full address.

2 total changes

Table/columnChange typeNotes
order
delivery_name, delivery_att, delivery_address, delivery_address_2, delivery_zip, delivery_city, delivery_region, delivery_country, delivery_email, delivery_telephone, delivery_vat, delivery_eanNew ColumnDelivery address fields.
shop_name, shop_att, shop_address, shop_address_2, shop_zip, shop_city, shop_region, shop_country, shop_email, shop_telephone, shop_vat, shop_eanNew ColumnInvoice address fields (Traede's shop include).

HiBob: Employment history stream, richer employee data, and custom fields

HiBob now has an employee_employment_history stream, syncing every employment change (contract, working pattern, salary type, and similar terms) with its own effective date, instead of only the employee's current employment terms.

The employee stream itself now syncs many more fields: employment terms (contract, type, FTE, weekly hours, salary pay type, FLSA code, working pattern), lifecycle status and termination details, work address, salary, and personal fields such as pronouns and nationality, each alongside HiBob's human-readable version of the value where one exists.

Custom fields, whose ids are tenant-specific (e.g. about.custom.field_1724744461985), now sync as dedicated employee_custom_fields and employee_payroll_custom_column tables keyed by field name instead of being dropped. Employment history entries carry their own custom columns the same way, via employee_employment_history_custom_field.

5 total changes

Table/columnChange typeNotes
employee_employment_historyNew streamOne row per employment change, including contract, working pattern, and salary type.
employeeUpdatedSyncs many more fields: employment terms, lifecycle, work address, salary, and personal fields.
employee_employment_history
employee_employment_history_custom_fieldNew stream
employee
employee_custom_fieldsNew stream
employee_payroll_custom_columnNew stream

The time_off stream now also requests up to two years into the future and includes pending requests, so upcoming and pending time off show up alongside approved past and current entries.

Fortnox: Vouchers stream is now incremental

The vouchers stream now syncs incrementally based on each voucher's last modified date, instead of doing a full resync of all financial years on every run. Updates to existing vouchers are picked up without re-reading the full history each time.

1 total change

Table/columnChange typeNotes
vouchersUpdatedNow syncs incrementally based on last modified date.

Cargoson: Bookings stream

Cargoson now supports a bookings stream. Instead of paginating Cargoson's booking API, the stream reads the booking references you already hold in a table or view in your data warehouse and resolves each distinct reference against the Cargoson API, including its packages, containers, package units, and ADR (dangerous goods) rows.

5 total changes

Table/columnChange typeNotes
bookingsNew streamReads booking references from a warehouse table or view you select in the connection settings.
bookings
booking_rowsNew streamPackages on the booking.
booking_containersNew streamContainers on the booking.
booking_package_unitsNew streamPackage units (e.g. SSCC) on the booking.
booking_rows
booking_row_adr_rowsNew streamADR (dangerous goods) rows on a package.

Select the table or view holding your booking references, and the column with the booking id, in the connection settings. Only distinct, non-empty values are looked up.


Platform

Weld Connect API and MCP server: primary key columns can no longer be excluded

The Weld Connect API and MCP server now reject any stream whose excluded_columns includes one of its primary key columns, the same way the app already does.

GET /elt_syncs/{id}/available_source_streams (and get_elt_sync_available_streams) now also return a primary_keys field so you can see which columns to avoid excluding before adding a stream.

History tables now seed from existing data when enabled

Turning on the history table for a stream that was already syncing previously only captured changes from that point forward. Any row whose last change predated enabling history had no entry in __history at all, and stayed missing until it happened to change again, so a slow-moving table could leave most of its rows absent from history.

__history is now seeded from the current main table the first time it's created, so the full existing dataset is captured immediately instead of waiting on future changes. This also repairs a __history table that was deleted after being created. Supported for BigQuery, Snowflake, Postgres, Redshift, MSSQL, ClickHouse and MotherDuck destinations.

ClickHouse: Incremental schema changes

Schema changes on a ClickHouse destination no longer force a full resync of the table. Weld now applies the same schema changes incrementally as it does for other destinations: adding a subschema, adding or removing a field (nullable or required), and changing a field's nullability in either direction.

Type changes still require a full resync, since ClickHouse can only convert between compatible column types and doing so rewrites the whole table.


Bug fixes

  • Fixed Google Drive syncs configured via the API or MCP server (rather than the Weld app's connection form) failing to resolve their folder, which caused get_elt_sync_available_streams and add_elt_sync_source_streams to return 500 errors instead of listing or adding streams. The folder is now resolved consistently across stream listing, streaming, and schema generation, and the settings API now offers a list of real Google Drive folders to choose from instead of requiring a folder ID.

Was this page helpful?