August 2026
New connectors
Typeform · View Typeform data schema →
Typeform is now available as an ELT source, syncing workspaces, forms, responses, and themes via OAuth.
17 total changes
| Table/column | Change type | Notes |
|---|---|---|
workspace | New stream | |
form | New stream | Incremental, synced newest-first. |
response | New stream | Incremental. |
theme | New stream | |
workspace | ||
workspace_member | New table | Substream of the members on a workspace. |
form | ||
form_field | New table | Substream of a form's fields, including grouped fields flattened to the same shape. |
form_hidden_field | New table | Substream of a form's hidden field names. |
form_logic | New table | Substream of a form's logic rules. |
form_welcome_screen | New table | |
form_thank_you_screen | New table | |
form_field | ||
form_field_choice | New table | Substream of a field's choices. |
form_field_property | New table | Key/value substream of a field's type-specific properties. |
form_logic | ||
form_logic_action | New table | Substream of a logic rule's actions. |
form_logic_action | ||
form_logic_action_condition | New table | Substream of an action's condition variables. |
response | ||
response_answer | New table | Substream of an answer per field, with selected choices resolved to a sibling substream. |
response_variable | New table | Substream of a response's hidden variables. |
response_answer | ||
response_answer_choice | New table | |
Zoho CRM
Zoho CRM is now available as an ELT source, covering 12 streams across the core CRM objects.
12 total changes
| Table/column | Change type | Notes |
|---|---|---|
account | New stream | |
call | New stream | |
campaign | New stream | |
contact | New stream | |
deal | New stream | |
event | New stream | |
lead | New stream | |
note | New stream | |
price_book | New stream | |
product | New stream | |
task | New stream | |
user | New stream |
Every stream syncs incrementally on the record's modified timestamp, so each run only fetches what changed since the last sync.
Connections authorize through Zoho's OAuth flow and are pinned to your account's data center — US, EU, India, Australia, Japan, UK, Saudi Arabia, and Canada are all supported.
Deletes are not picked up. Zoho's records API doesn't report deleted records, so rows deleted in Zoho CRM remain in your warehouse. Run a full resync to clear them.
Zoho's China data center (zoho.com.cn) is not supported — its authorization flow has to originate from a separate accounts domain.
Azure SQL Database
Azure SQL Database is now available as an ELT source. It runs the same engine as Microsoft SQL Server and speaks the same protocol, so it supports the same sync modes and joins the connector alongside SQL Server, SQL Server on RDS, and Microsoft Dynamics 365.
Both authentication paths are supported: SQL login, and Microsoft Entra ID via a service principal, required for servers with Entra-only authentication enabled. The Entra app registration stays in your own tenant rather than Weld's.
Connections through an SSH tunnel and syncs of a paused, auto-resuming serverless database are also handled — the connector now waits out a database's resume instead of failing and notifying about a login problem that never happened.
Webhook
Weld now has a generic Webhook connector for receiving inbound webhooks from any system that can send an HTTP POST request, and syncing the payloads into your data warehouse. Each connection gets a unique, per-connection webhook URL that you configure in the sending platform.
Two sync modes are supported:
- Packed — stores each received payload as a single row, alongside a received-at timestamp.
- Unpacked — parses the payload as a JSON object or array and syncs each record as its own row, with the table schema inferred automatically from recently received payloads.
Incoming requests can be verified with HMAC-SHA256, Basic Auth, Token-based authentication, or left unauthenticated, and duplicate deliveries of the same payload are automatically skipped.
New destinations
Microsoft SQL Server
Microsoft SQL Server is now available as a data warehouse and ELT destination, in addition to its existing role as an ELT source. SQL Server on Amazon RDS and Azure SQL Database get the same roles, since they run on the same database engine.
- ELT loads are bulk-copied into a temp table and then merged (incremental syncs) or truncate-and-inserted (full syncs) inside a single transaction.
- An optional page compression setting lets you trade CPU for disk and read throughput on the tables Weld creates.
- Renaming a
transformmodel recreates its view under the new name, and SQL Server views that depend on a changed model are automatically refreshed so their column list and types stay in sync.
Dynamics 365 stays source-only
Microsoft Dynamics 365 via MSSQL is unaffected by this change and remains available only as an ELT source, since it resolves to a read-only Dataverse endpoint or a live application database that isn't a safe target for Weld's own tables.
New features
MCP & REST API: Set a transform's own materialization schedule
A transform materialized as a table can now be put on its own recurring schedule through the MCP server and REST API, not just from the app. Previously, a transform published this way materialized once and then never rebuilt itself unless it was attached to an Orchestration Workflow.
PATCH /transforms/:id and the update_transform MCP tool now accept a cron_expression (UTC), with null clearing the schedule. POST /transforms and bulk_create_transforms accept it too, applying it once the new transform is published, so a scheduled table can be set up in a single call.
Setting a schedule requires a published transform materialized as a table that isn't attached to an Orchestration Workflow. GET /transforms/:id and the list endpoint now return cron_expression so it round-trips.
MCP & REST API: Per-Stream Sync Interval Control
Setting a custom cron schedule on an individual ELT source stream — pulling it out of its sync's orchestration or shared schedule so it runs independently — is now available via the MCP server and REST API, not just the app UI. New MCP tools set_elt_stream_sync_interval and clear_elt_stream_sync_interval, and REST endpoints POST /elt_streams/:id/set_sync_interval and POST /elt_streams/:id/clear_sync_interval, let you manage stream schedules programmatically. Clearing the interval re-enrolls the stream in its sync's orchestration or shared schedule.
MCP server: Reauthorize a connection from your AI assistant
The MCP server can now recover connections whose credentials have expired or been revoked without leaving your assistant. When list_failed_syncs reports an auth-related error, the assistant can call the new reauthorize_connection tool to mint a short-lived authorization link for that connection and hand it to you to complete in a browser — no need to open the Weld app to fix a broken sync.
Reauthorizing updates the existing connection in place, so any ELT or Reverse ETL syncs attached to it keep working without reconfiguration.
Connector updates
Younium: Subscription version stream
Younium now supports a subscription_version stream, syncing the full version history of each subscription (every order that changed it) alongside its products, charges, milestones, and discounts at the time of that version.
9 total changes
| Table/column | Change type | Notes |
|---|---|---|
subscription_version | New table | One row per subscription order/version. |
subscription_version | ||
subscription_version_product | New table | Products on that version. |
subscription_version_milestone | New table | Milestones on that version. |
subscription_version_discount | New table | Discounts on that version. |
subscription_version_product | ||
subscription_version_product_charge | New table | Charges on each product. |
subscription_version_product_charge | ||
subscription_version_product_charge_price_detail | New table | Tiered pricing details. |
subscription_version_product_charge_feature | New table | Charge features. |
subscription_version_product_charge_order_discount | New table | Order discounts applied to a charge. |
subscription_version_discount | ||
subscription_version_discount_charge | New table | Charges a discount applies to. |
Google Ads: campaign_bid_modifier table
Google Ads now supports a campaign_bid_modifier table, syncing per-campaign bid adjustments (e.g. call interaction modifiers) alongside the campaign they apply to.
1 total change
| Table/column | Change type | Notes |
|---|---|---|
campaign_bid_modifier | New table | Synced in full on every run. |
Google Ads: search_term_keyword_stats table
Google Ads now supports a search_term_keyword_stats table: the search_term_view report at keyword grain, i.e. search terms attributed to the specific keyword that triggered them. This is a new table, not a change to the existing search_term_stats table, which keeps its previous shape and columns.
1 total change
| Table/column | Change type | Notes |
|---|---|---|
search_term_keyword_stats | New table | search_term_view at keyword grain, with keyword_ad_group_criterion and info_text columns. |
Google Ads: Campaign bidding strategy table
Google Ads now supports a campaign_bidding_strategy table, the campaign-level counterpart to the existing ad_group_bidding_strategy table, covering manual CPC, target CPA, target ROAS, target spend, target impression share, and percent CPC bidding fields.
The campaign table itself gains no new columns. The bidding fields are fetched to feed this table and are not projected onto campaign.
1 total change
| Table/column | Change type | Notes |
|---|---|---|
campaign_bidding_strategy | New table | Campaign-level bidding strategy settings. |
Microsoft Ads: search_query_performance_daily_report stream
Microsoft Ads now supports a search_query_performance_daily_report stream, syncing the Search Term report alongside the existing account, campaign, ad group, ad, and keyword performance reports.
1 total change
| Table/column | Change type | Notes |
|---|---|---|
search_query_performance_daily_report | New stream | Daily, incrementally synced with a 36-month retention window. |
Traede: User stream
Traede now supports a user stream, syncing the account's users (name, email, role, and login details) so other streams referencing a user can be resolved to a name.
1 total change
| Table/column | Change type | Notes |
|---|---|---|
user | New table | Account users, synced in full on every run. |
HubSpot: Team, team_user & user streams
HubSpot now supports team, team_user, and user streams, enabling per-user team assignments for manager/role attribution and reporting.
Selecting team produces both the team and team_user tables, mirroring the existing owner → owner_team pattern.
These streams rely on new optional HubSpot scopes. Existing connections authorized before today will see the streams greyed out until the source is reconnected.
3 total changes
| Table/column | Change type | Notes |
|---|---|---|
team | New table | HubSpot team names. |
user | New table | HubSpot user records, including email, role, and primary/secondary team assignments. |
team | ||
team_user | New table | Per-user team membership, including secondary team assignments. |
Facebook Ads: rolling window for custom reports
Facebook Ads custom reports now support a rolling window option (7, 14, 28, or 30 days) as an alternative to aggregation. Instead of calendar-aligned buckets (weekly starting on Monday, monthly on the 1st), a rolling window produces one row per day for the trailing N-day period ending on that date.
This is required for deduplicated reach and frequency metrics, since Meta only deduplicates reach within the exact window requested — it can't be derived by summing shorter, daily windows. Rolling window is mutually exclusive with a non-daily aggregation on the same report.
HubSpot: Feedback submissions stream
HubSpot now supports a feedback_submissions stream, syncing survey response records along with their contact associations.
2 total changes
| Table/column | Change type | Notes |
|---|---|---|
feedback_submissions | New table | Feedback submission (survey response) records. |
feedback_submissions | ||
feedback_submission_association | New table | Associations between feedback submissions and contacts. |
Klaviyo: Predictive analytics fields on profile
The Klaviyo profile stream now requests Klaviyo's predictive analytics data and syncs it as additional columns, plus a new profile_predictive_analytics_ranked_channel_affinity substream ranking each profile's affinity for marketing channels.
10 total changes
| Table/column | Change type | New name | Notes |
|---|---|---|---|
profile | |||
column | New Column | attributes_predictive_analytics_historic_clv | |
column | New Column | attributes_predictive_analytics_predicted_clv | |
column | New Column | attributes_predictive_analytics_total_clv | |
column | New Column | attributes_predictive_analytics_historic_number_of_orders | |
column | New Column | attributes_predictive_analytics_predicted_number_of_orders | |
column | New Column | attributes_predictive_analytics_average_days_between_orders | |
column | New Column | attributes_predictive_analytics_average_order_value | |
column | New Column | attributes_predictive_analytics_churn_probability | |
column | New Column | attributes_predictive_analytics_expected_date_of_next_order | |
profile_predictive_analytics_ranked_channel_affinity | New table | Ranked marketing channel affinity per profile. | |
Traede: Customer, Production Order & Delivery Note streams
Traede now supports three additional streams: customer, production_order, and production_order_delivery_note.
10 total changes
| Table/column | Change type | Notes |
|---|---|---|
customer | New table | Customer records, synced incrementally. |
production_order | New table | Production order records, synced incrementally. |
production_order_delivery_note | New table | Delivery notes for production orders, synced incrementally from their own endpoint. |
customer | ||
customer_group | New table | |
customer_billing_email | New table | |
customer_meta | New table | |
production_order | ||
production_order_line | New table | |
production_order_meta | New table | |
production_order_delivery_note | ||
production_order_delivery_note_line | New table | |
production_order_delivery_note_meta | New table | |
Criteo: new data streams
Criteo now syncs real data. New streams cover Advertiser, Campaign, Ad, and Creative (with substreams for image sets, layouts, logos, videos, and HTML tag attributes), plus incrementally-synced Campaign Statistics and Ad Statistics daily reports. Statistics reports require a Currency setting and support an optional Timezone setting, and respect the connection's configured sync start date.
6 total changes
| Table/column | Change type | Notes |
|---|---|---|
advertiser | New stream | |
campaign | New stream | |
ad | New stream | |
creative | New stream | Includes substreams for image sets, layouts, logos, videos, and HTML tag attributes. |
campaign_statistics_daily_report | New stream | Incrementally synced. |
ad_statistics_daily_report | New stream | Incrementally synced. |
Bug fixes
- Fixed the Traede
categorystream filtering on the sync's start date like every other stream, even though categories are written once and rarely touched again. That window returned nothing rather than a recent subset, so the table stayed empty on every run. It now reads every category on the first run and only narrows to what changed on later runs. - Fixed the sync history timeline on a data source's History tab showing fewer tables than the Overview tab. Substream tables (e.g. HubSpot
*_associationtables) and tables with no runs in the visible window are now included, alongside their synced row counts.