Integrate.io logo

Integrate.io Release Notes & Product Updates

An overview of the latest updates and product improvements. Got a product update or feature you'd like to see supported? Let us know - support@integrate.io

September 2026: Streamlined Pipelines and New Partner-Ready Outputs

ETL & Reverse ETL

September's release cycle put more of the platform's output where teams already work, from partner-ready files and spreadsheets to the observability tools they run. Easier downstream edits in the package designer and deeper marketing and CRM connectors filled out the month.

Downstream Field Propagation Keeps Every Component in Step

Renaming a field early in a package used to mean opening every component after it to find what broke, often after a job had already failed. Downstream Field Propagation tells you which components a field change leaves out of step and brings the compatible ones back in line in one click. Changes that alter meaning, such as a sort key or a join field, come to you for review instead of being rewritten silently. A refactor that used to cost an afternoon of clicking becomes a review of a short list.

Log Drains Stream Job Logs Into the Observability Stack You Already Run

Job logs have lived inside the platform, so lining up a failed pipeline with the rest of your systems meant copying errors out of the dashboard by hand or retrieving them through an API endpoint. Log Drains send job success and failure logs to any OpenTelemetry-compatible service (e.g. New Relic, Datadog, Grafana, etc), for selected packages, whole workspaces, or the entire account. Pipeline failures then alert, correlate, and get retained under the same rules as the rest of your infrastructure instead of in a separate tab someone has to remember to check. Log Drains are available on request, our team can turn it on for your account. The documentation has the full picture on supported endpoints.

XML File Destinations Write Partner-Ready Documents Straight From a Pipeline

Partners and older systems that only accept XML used to force a conversion script between a pipeline's output and the file drop. File Storage destinations on Amazon S3, SFTP, and FTPS write well-formed XML directly, including nested sections, element names drawn from your data, and repeated groups. The document a partner's spec describes comes out of the job itself, so there is no reformatting step to maintain or to break when the spec changes. See the documentation for the options that shape each document.

New Connectors

  • Salesforce Data Cloud Destination: Pipelines load records into Data Cloud objects through customer-managed Salesforce connections, with upsert and delete support and rejected rows routed to Problem Records. Pipeline data reaches Data Cloud segmentation and activation without a custom Ingestion API integration to build and maintain (documentation).
  • OneTouch Health Source: OneTouch Health brings client, carer, invoice, location, status, and tag data into a pipeline, paging through full result sets. Username and password connections renew access on their own, so long-running jobs finish instead of failing when a token expires (documentation).

New Features

  • Excel Workbooks on the SharePoint Destination: The SharePoint destination writes .xlsx workbooks from a template, and several destinations in one package can fill sheets of the same workbook. Formatted reports come straight from the job instead of being manually pasted into last month's file (documentation). This functionality will be live on all file storage destination connectors in the coming weeks.
  • NetSuite RESTlets: The NetSuite REST source reads from RESTlet scripts, addressed by script and deployment ID or by full URL. Custom business objects your NetSuite team exposes through a script become a pipeline source instead of a separate export.

Improvements

  • Job errors name a real cause and points to a failed component, instead of an AI-written summary.
  • Azure Blob Storage connections can authenticate with a SAS token, so you can grant access scoped to the containers and time window a pipeline needs.
  • The HubSpot source adds Campaigns and Users as objects, and existing OAuth connections need reauthorizing before the new objects appear.
  • The Ometria destination maps every standard field Ometria documents for Contact, Order, and Custom Event, including @force_optin, @collection, custom properties, and SMS consent.
  • The Ometria destination can write an optional CSV of accepted records to cloud storage, so you have a record of what Ometria took in.
  • The Trustpilot destination sends product review invitations alongside service reviews, with productReviewTemplateId, productReviewProducts, and the other product review fields available in mapping.
  • File Mover delivers files to Google Drive and Shared Drives, including over service-account connections, so output lands where business teams already work.
  • SharePoint source and destination components pick up an authorized connection when the job runs, so cloned packages move between accounts and environments without reconnecting.
  • The Salesforce source offers Source Action selection in Query mode, so Bulk query all, archived records included, runs on existing SOQL without rebuilding the field list in Object mode.
  • Long-running Salesforce jobs, previews, schema detection, and Bulk upserts recover on their own when the org's session expires mid-run.
  • NetSuite source JDBC connections run on version 8.10.190.0 of the NetSuite JDBC driver, up from 8.10.184.0.
  • The expression and variables editors accept functions in any capitalization, so tOdATE(test) is corrected to ToDate(test) automatically.
  • Users added to an account through Single Sign-On for the first time join with the read-only Reader role instead of Operator, so assign a higher role where one is needed.
  • New accounts start with fewer automatic retries and a 24-hour execution timeout by default

Fixes

  • Salesforce connections save and reconnect without an "At least one attribute is not allowed" error.
  • Opening or editing a Join no longer changes the input field names that downstream selection, validation, and previews rely on.
  • SugarCRM paginated pulls deliver each record exactly once, with no duplicates or gaps.
  • File sources with underscore-prefixed column headers work with Detect header row automatically, and re-detecting existing schemas picks up the real names.
  • Detect header row automatically handles files with colliding column names.
  • Packages built through MCP inside a package group with connection restrictions save without an error.
  • Packages built in an MCP chat open in the dashboard with their components laid out correctly.
  • Salesforce SOAP destination jobs that write date fields complete instead of failing.
  • SFTP and cloud storage destinations set to copy files to an existing directory overwrite on re-runs instead of failing or leaving partial temporary files.
  • Redshift destinations with Automatically add missing columns enabled handle existing mixed-case columns instead of failing.
  • Job failure summaries keep the log lines that identify the cause, including deep stack frames and long line tails.

Tell us which partner file specs and observability tools you want covered next, and where field changes still catch you out.

5 days ago

August 2026: Clearer Errors, Centralized Schemas, and Secure File Encryption

ETL & Reverse ETL

August's release cycle focused on regulated file workflows, encryption at the storage boundary, and improved job failure debugging through component attribution. Authentication enhancements, connector coverage, and a broad range of other updates took up the rest of the month.

Component Error Names the Step That Failed

A failed job used to hand you a stack trace and leave you to work out which of a dozen components produced it. Job errors now name the component that failed and explain it in language you can act on, so triage starts at the cause instead of a search through the log. A stable error code makes the failure recognizable across runs, so a one-off debugging session becomes something that can be answered in a sentence.

User-Defined Schemas: Centralize the Layouts You Map To

Describing a destination layout used to mean rebuilding it field by field in every package that wrote to it, with no shared definition to point at. User-defined Schemas make that layout a first-class object on the account, owned and versioned in one place, so a change to the destination is one edit rather than a sweep through every package that feeds it. Smart Mapping then has something authoritative to map to: field matching, renames, and type conversions run against the layout you published rather than one inferred from whatever sits upstream. Our team can enable schema management for your account upon request.

PGP Encryption Closes the Gap at the Storage Boundary

Exchanging encrypted files with a partner meant a decryption or encryption step outside the platform, so plaintext sat on intermediate storage and a private key lived on somebody's laptop. File storage sources now read PGP-encrypted files directly and destinations encrypt output before it lands, so the data is only ever in the clear inside a running job. That closes the gap auditors ask about on regulated exchanges, and it removes the local scripting step that used to sit between a partner drop and a pipeline. Check out the documentation for the file storage source and the file storage destination for key selection on each side.

The EDI (X12) Source Puts Enrollment Data Where the Rest of Your Data Lives

Benefit enrollment has lived outside the data stack, locked in a format that only a dedicated EDI translator or a clearinghouse subscription could read. The EDI (X12) source brings 834 enrollment into the platform as ordinary rows, so member and coverage data lands in the same warehouse, reports, and pipelines as everything else. Eligibility reconciliation against HR and payroll, coverage audits, and downstream loads stop being a separate manual process that lives in a spreadsheet. For a health plan or a benefits administrator, enrollment becomes something the data team can own rather than something routed around them. The documentation has the full picture on what the source parses.

New Connectors

  • Ometria Source and Destination: A native Ometria source imports profiles, orders, products, and lists from the Data API, and a matching destination pushes contacts, orders, and custom events back with batching, throttling, and merge control.
    (source and destination documentation).
  • Trustpilot Destination: July's Trustpilot source covered reading reviews, and the destination adds the write side: service-review invitations sent from an ETL job with templates, field mappings, rate controls, sender validation, and an audit file of what went out. Trustpilot works in both directions on the same platform instead of a read-only feed (documentation).

New Features

  • Ask Helm Auto Mode: Ask, Build, and Auto sit on one Ask Helm surface, and Auto routes a natural-language request to a documentation answer or a package-building action. Picking the right mode before you type is no longer part of the job (documentation).
  • Fixed-Width File Destinations: File storage destinations write positional records with per-field widths, alignment, padding, overflow handling, and numeric formatting, and a preview renders the layout against real data. Fixed-width exports for banks and clearinghouses stop needing a downstream reformatting script (documentation).
  • Benefits Hub: Trading partner management arrived in Account Settings with delivery settings, profile versions, effective dates, inheritance, and filename previews. Partner delivery rules live on the account rather than inside every package that serves them, and our team can turn the hub on for your account.
  • Snowflake Database Overrides: Snowflake source and destination components each take an optional database value, and the connection form accepts an empty database. One connection covers every database on the account instead of one connection per database.
  • Schedule Skipped Hook Event: A Schedule Skipped hook event fires when a scheduled run is passed over because the previous run is still active, or after repeated cluster failures. Skipped runs surface as a notification instead of a gap in the job history.
  • NormalizeState Function: NormalizeState converts a full US state or territory name, the District of Columbia, or an already-valid two-letter code into its USPS abbreviation, including values carrying pasted whitespace. Address normalization fits in one expression instead of a nested conditional (documentation).

Improvements

  • Salesforce customer-managed OAuth connections coordinate refresh-token rotation, so schema discovery, tests, previews, and jobs share short-lived access tokens instead of competing for a single-use token.
  • New Salesforce OAuth connections use the configured proxy server.
  • The Universal OAuth connector tests Custom Auth connections against a custom token URL and detects expired tokens correctly.
  • Excel sources select a worksheet by tab position rather than by name, and previews, schema detection, and job runs all read the same sheet.
  • Cloud storage and file upload sources accept an optional workbook password, so previews and scheduled jobs read protected .xlsx and .xlsm files.
  • The HubSpot source adds Calls, Emails, Meetings, Notes, and Tasks as objects, and Contacts incremental loads sync on lastmodifieddate.
  • The GA4 source adds Session, First user, and Event channel-group dimensions to the field picker.
  • The Xero connector requests the accounting.budgets.read scope, so budget data comes through on new connections.
  • The Oracle source resolves DB links in Table mode, so a table on a remote database is addressable with the @ character.
  • The Oracle destination writes non-key text columns as NVARCHAR2 rather than NCLOB when the account sets _ORACLE_STRING_DATATYPE to NVARCHAR2.
  • File Storage and File Upload sources append a literal string, a job variable, or both to filenames when archiving processed files, and keep the original if renaming fails.
  • File destinations gained a third step for reordering, removing, and adding fields, with a five-row preview of the generated file.
  • The REST API destination previews real payloads and headers from component previewer data.
  • The Select component shows a warning when a mapped field is no longer available because a parent component changed.
  • A failed job on the write-files-directly and replace-files-in-directory destination actions leaves the target directory in place instead of deleting it.
  • Smart Transform runs by default on every account.
  • Changing a BigQuery V2 connection's region or service account restores temporary-file access automatically, and administrators get tools to review and repair affected connections.

Fixes

  • Package groups delete correctly when a custom role uses the group as a restriction, and permission scopes cannot widen when their last workspace is removed.
  • The Join component passes the correct input fields to the Select component.
  • Join type and optimization changes appear in the component previewer without a save first.
  • The Universal OAuth connector's Test Connection button works for the Custom Auth type.
  • Universal OAuth tokens refresh correctly on long-running jobs and ahead of schema-importer calls.
  • The Salesforce Own Auth connector stays authorised instead of transitioning to an unauthorised state.
  • Job variables such as _WORKFLOW_PACKAGE_LAST_SUCCESSFUL_JOB_SUBMISSION_TIMESTAMP carry their intended value rather than an incorrect timestamp.
  • The workflow job details Variables tab shows a plain value rather than a DeserializeFromJson wrapper.
  • The Aggregate and Cube components save after an upstream field is removed, and unused calculations clear automatically.
  • The AI Transformation component works for users holding Editor and Operator roles.
  • The REST API source drops other auth parameters when following an HTTP redirect, as do other components that make outbound API calls.
  • File source components apply Detect header row automatically during job runs, not only in the schema importer and previewer.
  • File Mover with a wildcard source and delete-from-source leaves files in subfolders it was never pointed at.
  • Database source and destination, REST API source, and SharePoint source components report missing connections or record settings as a validation error, not a crash.
  • The Region field in the Admin dropdown and in Account Settings shows regions outside the default list.
  • The HubSpot source syncs objects carrying large numbers of custom fields, and the full-load previewer returns actual records.
  • The SugarCRM source refreshes access tokens that expire in the middle of a job run.
  • Ask Helm stays visible beside component modals and the expression editor rather than sitting underneath them.
  • Reopening a Helm conversation restores its history without adding a blank assistant bubble.
  • The API Transformation component's JSONPath expression input evaluates correctly, and response fields no longer collide with same-named fields from the parent component.
  • The Slack webhook form works correctly when the browser is in fullscreen mode.
  • The schema importer keeps read-only aliases aligned without stretching row height.

Performance Enhancements

  • Worksheet selection reads an Excel workbook once rather than repeatedly, and large shared-string tables can be sampled for schema inference without exhausting memory.
  • Error summaries load without transferring the full job log, and REST API and fixed-width previews run on real sample data.

Tell us which file formats and partner exchanges you need next, and where the new error pages still leave you guessing.

about 1 month ago

July 2026 - Prompt to Pipeline: Helm, Smart Transform, and Workflow Nesting

ETL & Reverse ETL

July's release cycle put AI assistance at the center of the package designer, covering pipeline building, field mapping, and expression writing. Alongside that, the editor gained safer handling of in-progress work, workflow orchestration went a level deeper, and destination coverage expanded.

Helm: Prompt to Pipeline

Helm is your copilot in Integrate.io. It builds pipelines, answers questions, and manages your packages.

  • Build a pipeline from a prompt, or start from a ready-to-run package and adapt it
  • Answer questions about how a component behaves, with a link to the source
  • Manage packages through edits that land in a draft, not the live version

Helm designs and builds; the Integrate.io platform executes. A pipeline that ships stays deterministic and runs the same way every time. Nothing becomes production until you review and approve.

Helm Ask is on for every account, Helm Build is enabled per account by our team, and the documentation has the full picture.

Smart Map and Smart Transform Take the Slowest Step Out of Pipeline Delivery

Smart Map removes field-by-field setup. Point the platform at your destination schema and it automaps your source data to the matched schema output, including renames and type conversions. Smart Transform works at the field level: describe the transformation in a prompt or give a before and after example, and it generates the Integrate.io transformation expression for you. Suggestions are validated against your own data before you accept them, so what you review is what runs. Both are available on request, and the documentation covers what they can do.

Package Drafts and Autosave Keep In-Progress Edits Safe

Losing package edits to a closed tab or a dropped connection used to be a real risk, since nothing was stored until you explicitly saved a version. The designer now autosaves your work to a private per-user draft after you stop editing, and again when you leave the editor. Reopening a package that has a draft asks whether to resume the draft or open the last saved version, and a Discard Draft button in the toolbar throws the draft away when you want to start clean. Draft autosaves stay out of version history, so only explicit saves create a version. Full setup details are in the documentation.

The Run Workflow Task Runs Workflows Inside Workflows

Reusing one workflow as a step inside another previously meant duplicating its tasks by hand and keeping both copies in sync. The Run Workflow task executes another workflow as a sub-run of the current one, so a long orchestration can be split into smaller workflows that also run on their own. Read the documentation for the nesting limit and variable scoping rules.

New Connectors

  • Salesforce REST API Destination: A new Salesforce destination built on the REST API supports insert, upsert, update, and delete across throttled single-record and batched write modes, and produces per-record success and failure CSV outputs. It works with both standard and customer-managed OAuth Salesforce connections, giving teams an alternative to the Bulk API for smaller or latency-sensitive writes (documentation).
  • Databricks Destination: Pipelines can now write to Databricks, with staging and load handled for you so output lands in your tables without a manual copy step. Teams running on the lakehouse can send ETL output to Databricks directly instead of routing it through an intermediate warehouse first (documentation).
  • Trustpilot Source: A native Trustpilot source pulls reviews, review categories, and private reviews for a business unit, with incremental load supported. Review data can now be joined against the rest of a customer dataset without maintaining a custom API pull (documentation).

New Features

  • Live Preview in the Expression Editor: The expression editor now runs the current expression against five real sample rows from the previous component and shows each input value next to its result. Expressions can be checked while you write them instead of after a job fails.
  • Field Data Types in the Select Component: The Select component's field list now shows a data type for every output field, and the expression editor shows the return type for most functions, fields, and variables. Where a type cannot be inferred statically, running a preview fills the column in.
  • Separate Read and Write Access for AI Tools: Helm and MCP capabilities are now split into distinct read and write tool sets, so inspection, previews, and searches can be opened up broadly while package edits, schedules, and job runs stay restricted. Write access is closed by default, and our team can open it up for an account on request.
  • Package Group to Connection Group Binding: A package group can now be bound to specific connection groups, restricting its packages to connections from those groups. Admins get a direct way to keep one team's pipelines from reaching another team's credentials.
  • AddToDate and ToDateOrNull Functions: Two new expression editor functions cover date arithmetic and parsing that returns null rather than failing on an unparseable value. Date handling that previously needed nested conditionals now fits in a single call.

Improvements

  • SFTP connections now support private key plus password authentication, covering servers that require a multi-factor login.
  • Job logs, the logs API, and AI error summaries mask connection credentials, and account-level global secrets are masked in job and workflow variable views.
  • Chatmeter, Corrigo, and GoTo sources now paginate through results, so large accounts return their full dataset instead of a first page.
  • The Email Report destination accepts variables in its subject and body.
  • HubSpot destination has a new Clear when empty flag that clears a HubSpot property when the incoming value is null.
  • File and cloud storage destinations can skip writing an output file when a run returns zero rows, an opt-in setting for CSV and JSON.
  • The Google Sheets source imports the full sheet schema without manual selection, and can fail a job when the sheet contains no data rows instead of finishing with nothing loaded.
  • The Google Ads source adds ConversionsByConversionDate and ConversionsValueByConversionDate to its available metric fields.
  • The REST API destination supports a sleep interval between batched requests, giving rate-limited endpoints room between calls.
  • Custom role management adds a filter on the roles list and a form for assigning users to a role directly, and the packages and connections lists gained a Show ungrouped only switch.

Fixes

  • Package variables are no longer removed when a variables save and a package save run at the same time.
  • Package validation succeeds when ExecuteSql or ExecuteSqlDateTime is used in a package variable.
  • Draft variables are now executed during schema preview calls.
  • The Select component opens correctly when an integer is used as a package variable.
  • Source fields with commas in their names, such as long Google Sheets headers, now carry their values into downstream components instead of previewing as null.
  • File Storage jobs run correctly when a filename contains parentheses or the source path contains spaces.
  • Packages whose variable substitutions produce long file paths no longer crash mid-run.
  • SFTP and FTPS sources using a bare wildcard resolve the same file in preview and at job runtime.
  • The DB Lookup component's + New button now opens the connection form.
  • The Salesforce destination writes error and success record files to shared Google Drive directories when a directory ID is specified.
  • The AI error summary reports Salesforce write failures correctly instead of describing them as filesystem handler errors.
  • Packages inside a package group with connection group restrictions now save correctly.
  • Global secret variables evaluate correctly in the cases that previously failed.
  • Invitations work for users assigned a custom role, and the user management page is restricted to administrators.
  • The owner role shows its label and filter on the user list and is assigned correctly on the roles view.

Performance Enhancements

  • The Google Ads source can split a long date range into parallel chunks, cutting pull times on wide reporting windows. Set _ADWORDS_API_DATE_SPLIT_ENABLED to true in your package variables to switch it on, with _ADWORDS_API_DATE_SPLIT_CHUNK_DAYS and _ADWORDS_API_DATE_SPLIT_MAX_CHUNKS controlling the split.
  • The Google Sheets source reads large sheets in batches rather than loading a whole sheet in a single pass, clearing the out-of-memory, read-timeout, and missing-row failures that wide or long sheets used to hit.

Give the new AI tooling a run this month and tell us where it saves you time and where it still needs work.

2 months ago

June 2026: Fine-Grained Access, MCP Server, Lookup and Easier Email Reports

ETL & Reverse ETL

June's release cycle opened up finer-grained account access control alongside new native building blocks for calling APIs, enriching rows, and delivering pipeline output by email. It also introduced a documented way for AI assistants to work directly with an account, rounded out by hardening across Salesforce and other components and a large batch of editor and connector fixes.

Custom Roles Bring Precise, Scoped Access
Predefined roles like Owner, Admin, and Editor don't always match how a growing team is actually organized, either handing out more access than a group needs or leaving no way to grant a narrower set of permissions. Custom roles let account admins build their own permission sets and scope them to specific package groups or connection groups, so a team working on one set of pipelines never sees another team's packages, jobs, or connections. Changes take effect immediately for every member assigned to them, so access can be tightened or extended without re-inviting anyone. See the documentation for a full walkthrough of scopes and permissions.

The API Call Component Handles Lookup via APIs
Calling an API mid-pipeline no longer means writing and debugging a Curl() expression by hand. The new native API Call component handles URL generation, headers, and authentication through a UI-first design, and parses the response with an auto-detect JSONPath in the same step, so pipelines that depend on live API data are faster to build and easier to maintain. Full setup details are in the documentation.

The Lookup Component Makes Row Enrichment Easier
Enriching rows with reference data used to mean reaching for a full join, even for a small lookup table. The new Lookup transformation component handles that case directly, pulling in columns from a database table or query with far less setup, and now supports fuzzy matching for the common case where reference keys do not line up exactly, so teams spend less time wiring up enrichment logic and more time on the transformation that actually matters. Read the documentation to learn more.

The Integrate.io MCP Server Connects AI Assistants to Your Account
Checking on a pipeline's status, diagnosing a failed job, or previewing source data before building a transformation usually means switching over to the dashboard and clicking through several screens. The new MCP Server exposes a documented set of tools that let AI assistants like Claude Desktop, Claude Code, and Cursor connect directly to an account and answer those questions on the spot. Beyond read-only inspection, a set of guarded tools can also clone a package, edit components, manage a schedule, or run and retry a job, so routine account work can happen from inside the assistant a team already uses. Get set up with the documentation.

The Email Report Destination Delivers Output Straight to Inboxes
Getting pipeline output into someone's inbox used to mean landing a file in storage first, then routing it onward by hand. The new Email Report destination component sends data straight to an email address, either as body text or as a CSV attachment, cutting that storage hop out entirely and making reporting workflows easier to set up and maintain. Check out the documentation for configuration options.

New Features

  • Connection Groups: Connections can now be organized into groups the same way packages are organized into Package Groups, making it easier to navigate accounts with a large number of connections.
  • Dynamic Header Detection for File Storage: CSV and Excel sources can now detect the header row automatically by matching it against expected schema column names, instead of always assuming row one. This fixes a recurring problem for multi-file ingestion where header position shifted between files, including files where the header row contains a hyphen.
  • Google Drive Source Component: A native Google Drive source is now available with both OAuth and service account authentication, letting users pull files directly from Drive into a pipeline without routing through a generic file storage connector.
  • Global Secret Variables: Account-level secret variables are now available, letting teams define a credential or token once and reference it across packages instead of duplicating it in each one.
  • Incremental Load Last Successful Run Option: Source components can now set incremental load to use the package's last successful run timestamp automatically, instead of manually wiring up the underlying system variable.
  • Dummy Source Component: A new source component supports packages that take their data entirely from package variables or from upstream transformation components like Python Transformation or API Call, without requiring a placeholder source connection.
  • New Expression Editor Functions: ExcelSerialToDate, DateToExcelSerial, and FUZZY_MATCH are now available in the expression editor, covering Excel date conversion and string similarity scoring (0-100) without custom logic.

Improvements

  • Salesforce proxy is now enabled by default for all accounts, routing Salesforce traffic through Integrate.io's IP range.
  • Salesforce destination error and success record files can now be uploaded to GoogleDrive.
  • NormalizePhone now accepts an optional region argument and an on_invalid mode, letting a pipeline fall back to a best-effort E.164 number or pass the original value through instead of dropping invalid numbers to null.
  • Expression editor autocomplete now automatically wraps expressions in parentheses, advances the cursor to the next argument when a function takes multiple arguments, and triggers without requiring a leading space.
  • File Storage Source now automatically appends _1, _2, and so on to duplicate column names detected during schema import.
  • GoogleSheet destination now supports specifying a custom range and an optional header control when using overwrite mode.
  • Improved search on the Packages and Jobs lists. You can now search by partial words, and it matches names that include special characters.
  • Package Designer notes can now be assigned a color, and components support an optional description field for documentation within the canvas.
  • Database Connection forms now validate colon and semicolon characters correctly, with validation messages positioned where users expect them.
  • Facebook Ads connector now uses comscore_market in place of the deprecated dma field, keeping reporting data flowing as the upstream field is retired.

Fixes

  • Salesforce Destination now delivers the success-records file even when a job partially fails, instead of only the failed-records file.
  • Salesforce SOAP Destination now produces a CSV file even when maximum errors is set to 0, and checks failed records across all batches against the configured limit instead of only per batch.
  • Google Sheets destination overwrite mode no longer fails with a "Range exceeds grid limits" error.
  • SFTP connections with an Ed25519 SSH key authenticate correctly instead of failing the job.
  • REST API source parses nested JSON objects correctly when Unwrap extracted string values is selected.
  • Package Designer no longer places a newly added note or component outside the current viewport after scrolling.
  • Package Designer no longer shows a white background while the browser or assistant window is resized.
  • Package validation no longer fails for packages referencing newly added, unsaved variables.
  • Database CDC component now generates correct SQL for PostgreSQL databases with a dedicated schema name.
  • Snowflake CDC component is available again as its own component instead of only nested under Database Source.
  • Workflows now use the current variables and secrets from the related package, and correctly apply overwritten variables in the Run Package component.
  • Rolling a package back to an older version keeps it in its original Package Group.
  • Export Workflow package now reflects a renamed package correctly inside the Run Package component.
  • Join component no longer breaks the component preview when swapping inputs.
  • Python Transformation's Run Code button no longer hangs indefinitely.
  • Excel date values ingest correctly in both the previewer and job runs.
  • Hubspot sources return *_id columns typed as String.
  • File Uploader job runs are no longer failing on some regions.


Take a look through what shipped this cycle and tell us which of these changes make the biggest difference for your team.

3 months ago

May 2026: New Connectors, Smarter Notifications & Expression Functions

ETL & Reverse ETL
May's release cycle focused on expanding connector coverage, adding text and date normalization functions to the expression editor, and tightening notification control across workspaces and packages.

Introducing Service Hook Filters
Service hook notifications can now be scoped to specific packages and workspaces, so users receive alerts only for the work relevant to them. The hook filter editor includes a scope picker, improved loading for large accounts, and accurate match counts during search - making it practical to manage notifications even in accounts with hundreds of packages.

New Zendesk Connector
The ETL platform now supports Zendesk as a source, letting users extract tickets, users, and organizations via OAuth - with automatic token refresh and support for both full and incremental load. Teams that rely on Zendesk for customer support workflows can now pull that data directly into their pipelines without manual exports.

New Features
  • INITCAP(): A new expression editor function capitalizes the first letter of each word in a string and lowercases the rest, covering a common text normalization step that previously required custom transformations.
  • NormalizePhone(): Standardizes phone numbers into E.164 format, handling a wide range of input formats and providing configurable behavior for invalid numbers - removing the need for manual cleaning logic in pipelines that ingest contact data.
  • NormalizeDate(): Accepts datetime inputs and returns the date portion, validating against multiple formats so users can reliably extract dates from mixed-format fields without writing custom expressions.
  • NormalizeLanguage(): Normalizes language codes in the expression editor, expanding the set of standardization tools available when working with localization or audience data.
  • Excel Sheet Selection for Large File Ingestion: When the "ingest large Excel file" option is enabled, users can now specify which sheet to load, supporting workbooks where the target data is not on the default sheet.
  • Inline SFTP Key per Connection: Each SFTP connection can now carry its own Ed25519 key pair inline, giving users connection-level key management without relying on shared credentials.
  • Create New Option in Cluster and Connection Pickers: Dropdowns for cluster and connection selection in the Job form and component editors now include a "Create new" option, letting users add a resource without leaving the current context.
  • Package Variable Persistence: Saving package variables now immediately persists them to the database and triggers draft validation, so newly added variables are recognized in the package without requiring an additional save cycle.

Improvements
  • The Mouseflow connector has been updated to move the website ID input from the connection form into the source component, aligning configuration with where it is most relevant.
  • Gmail source now extracts full email bodies, replacing the previous snippet-only behavior and supporting a dedicated "Email body" field option for ingesting content without attachments.
  • The Snowflake connection form has been updated from Account identifier to Account locator, reflecting the current Snowflake authentication model and reducing configuration errors.
  • Azure REST API pagination is now supported for the management.azure.com endpoint, enabling reliable ingestion of paginated Azure resource data.
  • AI error summaries now anchor on the deepest root cause in stack traces rather than the first exception, producing cleaner, more actionable explanations for Salesforce timeouts, S3 access errors, schema mismatches, and cluster failures.
  • The Package Designer now opens the relevant component editor when a user clicks on an error in the Package Errors panel, reducing the steps needed to navigate from an error to the fix.

Fixes
  • Component previewer row ordering now matches schema preview ordering.
  • Sort and Window components now return rows in the correct sequence during preview.
  • Window component no longer adds "stitched::" prefixes to field names in the component previewer.
  • Limit component previewer now works correctly.
  • Window and Union component validation no longer incorrectly disables save and preview buttons after input updates.
  • Universal OAuth connector reconnection for Google OAuth now works correctly - missing parameters that previously broke the request have been restored.
  • Facebook Ads destination now shows the correct operation type options for the Customers object when reopening a saved configuration.
  • AI Assistant popup no longer appears behind the expression editor and other modals.
  • Expression Console search in the functions popup now returns correct results.
  • Multi-line CSV parsing in Cloud Storage and SharePoint sources now works correctly when a text qualifier (" or ') is set.
  • Google Sheets source headers containing commas or newlines no longer shift downstream columns, and duplicate-header columns now render their values correctly.
  • Renaming a workspace no longer incorrectly updates the Last Modified date on every package inside it.
  • Salesforce proxy traffic now routes through the correct region for proxy-enabled accounts.

Performance Enhancements
  • The hook filter editor now uses lazy loading for package and workspace lists, reducing memory usage and keeping the UI responsive in large accounts.
  • JSON extraction functions have been optimized to handle a wider range of data types more efficiently, reducing processing overhead for pipelines that work with complex nested structures.

Keep exploring what shipped this month - there's a lot in here, and we'd love to hear what's making a difference for your team.

4 months ago
Loading more updates...