Changelog
Welcome back to the Maia New Features Blog! This week you can load your own files straight into Maia, send lineage to your data catalog, and get more from the pipeline activity page and Convert Workloads. Read on for the highlights, and see the changelog updates for more.
📂 Upload files straight into Maia
What's new: You can now upload files from your own computer directly into Maia, with no cloud storage setup. This works for CSV, Excel, JSON, Avro, Parquet and ORC files. You can also upload PDFs and images, and Maia reads them automatically. Add files in three places: Maia chat, the Add to Canvas window, and the file picker inside each component.
Why it helps: You can try Maia on data you already know, without first moving files into your own S3 or Blob storage.
- Simple uploads: Choose what to upload and when. Drag in several files at once and watch the progress. If a file has the same name as an existing one, it gets a version number instead of being overwritten.
- Safe by default: Every file is scanned for viruses before you can use it.
- Available across the product: Uploaded files appear in Maia chat, in Add to Canvas and in seven components, including Excel, CSV, JSON, Avro, Parquet, ORC and the File Iterator. When you add a file from Add to Canvas, the right load component is placed on the canvas and set up for you.
- PDFs and images: The Amazon Textract component processes these files, so Maia can pull structured data, such as a table of email addresses, out of a scanned document.
Availability: File upload is available today for Snowflake and Databricks projects that use Matillion Hosted Runners.
🔗 OpenLineage emitter
What's new: Maia now sends lineage as OpenLineage events to any tool that supports the standard. Create a lineage integration once, and Maia sends the lineage for each pipeline execution to your endpoint in near real time.
Why it helps: Your data catalog or governance platform stays up to date as your pipelines run, without a custom integration to maintain.
- Governance teams: See Maia pipelines in the same lineage graph as the rest of your data stack.
- Data owners: Check what a change to a table will affect before you make it.
- Analysts: Trace a number back through Maia to where it started.
📊 A better pipeline activity page
What's new: The pipeline activity page is built around the way you monitor your pipelines day to day, so you can find what you need with less scrolling.
- Runner column and filter: Show the runner column and filter executions by runner, so you can spot a runner that needs attention.
- Jump to the schedule: Go straight from an execution to its schedule.
- Link to the runner: Go directly from an execution to the runner management page.
- Expand all: Expand all child pipelines and steps in one click, with lines that make the structure easy to follow.
- Resizable columns: Resize columns so you can read the whole value.
Also in this release:
- Column filters and saved views: Filter by any column, and save your custom columns view to your profile to re-apply next time.
- Reorder and sort: Reorder columns and sort by any of them.
- Global search: Search across all column values.
- Step status filter: Filter steps by status: Success, Failed or Skipped.
🔄 Convert Workloads improvements
What's new: Convert Workloads has had a number of updates to help you move existing workloads into Maia.
- Ascend.io support: Ascend.io is now a supported source platform.
- SQL and Other sources: SQL is a first-class source platform. You can also choose "Other" to upload any text-based source platform that does not have native support yet.
- Better analysis: Platform-specific analysis has improved across the board.
- Live progress: Streaming updates in the UI show which stage the analysis has reached and how many workloads it has found.
- Resume where you left off: If you refresh your Maia tab or your network connection drops briefly, your analysis is kept. It resumes automatically, or asks if you want to resume when the page loads.
💬 We'd love to hear from you!
Let us know how these features are helping you in the Matillion Community. Your ideas and stories help shape what we build next.
Welcome back to the Maia New Features Blog! This week, you can see exactly which Maia rules Maia Team loads, and add your own documents to a knowledge graph. For more details, see the changelog updates.
📏 See which rules Maia Team can read
When you edit Maia rules in the Designer, you can now see which rules Maia Team loads, and fix the rest in one click.
What's new: When you open a Maia rules file in the Markdown editor, a new toolbar shows the file's size against the 12,000-character rules limit. It also marks the file as Loaded, Partially loaded or Not loaded. Select the status to open a breakdown of every rules file on the branch. If any files don't fit, a Fix with Maia button asks Maia Team to bring them back under the limit.
Why it helps: Maia Team combines all rules files into one shared 12,000-character context, and files are filled in order. A small file can still be left out if earlier files use up the space. Now you can check this while you edit, without pasting your files into a character counter.
- Live status: The status updates when you save, so you know straight away if you have gone over the limit or come back under it.
- Only where you need it: The information appears only in rules files, and the details open only when you ask for them. Other Markdown files work as before.
- Fix with Maia: Maia Team sees the size and load order of every file, then proposes a plan and waits for your approval before it changes anything.
How to get started: You can use Fix with Maia in three places: the editor toolbar, the branch-wide details view and when chatting with Maia Team.
📄 Add documents to your knowledge graph
You can now upload documents to a knowledge graph from the Context Engine UI. Your graph can now hold the written knowledge of your business, not only your warehouse and its pipelines.
Why it helps: Much of your business logic lives in specifications, data dictionaries, runbooks and policy documents. With document ingestion, Maia Team can use this knowledge to answer questions like "What does this metric mean?" and "What is the rule for this field?" from your own documents.
What's new:
- Document ingestion: Open Documents in a graph and upload your files. Supported formats are PDF, Word (.docx), PowerPoint (.pptx), text, CSV, Markdown, HTML and JSON.
- Linked into the graph: The content of each document becomes nodes in the graph, next to your warehouse and pipeline metadata, so Maia Team can use them together.
- Access controls: These work the same way as for warehouse crawlers. Only people with access to the graph can see the content of the documents.
- Secure storage: Document content is protected with envelope encryption.
Starting limits: We are starting with these limits to help every document give a good-quality graph, and we will raise them as we validate more kinds of documents.
- File size: Up to 2 MB for each file.
- Ingestions: Up to 5 ingestions running at the same time for each account.
How to get started:
- Step 1: Open Context Engine from the hub and pick a knowledge graph, or create one.
- Step 2: Go to Documents and choose Upload.
- Step 3: Select your files and start the ingestion.
- Step 4: When it finishes, ask Maia Team a question.
💬 We'd love to hear from you!
Let us know how these features are helping you in the Matillion Community. If you need a higher document limit or a different file format, tell us there so we can prioritize it.
✨ This week in Maia: Smarter search, Salesforce crawling in Context Engine, and new BigQuery AI components
Welcome back to the Maia New Features Blog! This week, we're rolling out updates that help you find what you need faster, bring native AI transformations to Google BigQuery, and extend your knowledge graphs beyond the warehouse. For a full list of recent changes, be sure to check our changelog updates. Let's dive into the details.
🔍 Smarter search and suggestions in Add Component and file search
Finding what you need is now faster, with search that learns from the way you work.
- Add Component now shows three suggested components, scoped to the type of pipeline you're building.
- Quick file search (Cmd+K) shows five suggested files, and the file panel shows 10.
- Search in Add Component and the file panel now matches near-misses, so a typo still finds what you meant.
- Search results are ranked for you, so the things you use most appear higher.
The file panel has also been redesigned. The "All" and "Recent" tabs have been removed: clicking the search box swaps the file tree for your suggested files, and typing swaps those for your search results.
Suggestions and result ranking are powered by a score called "frecency", a blend of frequency and recency. Each time you open a file or add a component, its score goes up, and anything you stop using slowly loses score over time. This means your suggestions and results follow what you're working on now, rather than what you used months ago.
The benefit is that your likely next step is already waiting when you open search, with nothing to pin, star, or tidy up. Suggestions and ranking adapt on their own and are personal to you. They're stored in your browser, so they're specific to each browser and device.
✨ Native AI transformation components for Google BigQuery
Six new transformation components are now available, bringing AI transformation capabilities to Google BigQuery alongside those already available for Snowflake (Cortex) and Databricks:
- Generate: Produce text, or typed structured output, from a prompt using Google Gemini.
- Embed: Turn a text column into a vector embedding, the first step in building in-warehouse RAG.
- Vector Search: Run a nearest-neighbor search against a base table of embeddings, completing the Generate, Embed, and Vector Search retrieval pattern.
- Classify: Assign each row to one (or more) of a set of user-defined labels.
- Score: Assign each row a numeric rating against a prompt-stated rubric, for ranking and ordering.
- Check Condition: Flag each row true or false against a natural-language yes/no condition, pairing with Filter for conditional routing.
Each component wraps one of Google BigQuery's own built-in AI SQL functions (AI.GENERATE, AI.EMBED, AI.CLASSIFY, AI.SCORE, AI.IF, and VECTOR_SEARCH). Google BigQuery itself makes the model call as part of the generated SQL, so your data stays inside Google Cloud.
Read the linked documentation for each component to get started.
🕸️ Context Engine: crawl your external sources, starting with Salesforce
You can now add external sources to a knowledge graph directly from the Context Engine UI. Crawlers now reach beyond the warehouse to the systems that feed it, starting with Salesforce.
Your knowledge graph already covers what's in your warehouse and which pipelines filled it. Much of your business logic lives further upstream, in systems like Salesforce. By crawling those sources, Maia Team can now answer "where did this data come from?" as well as "what's in my warehouse?", and lineage from pipeline runs reaches all the way back to the source object that feeds each table.
What's new:
- External source crawlers: In a graph, open Crawlers → Add crawler and pick an external source. Point it at an existing connection and choose the objects you want to crawl.
- No new credentials: Crawls use your existing project connections through the Runner, so secrets never leave the Runner.
- Linked into the graph: Source objects and fields become nodes, linked to the warehouse tables and pipeline runs they feed, so Maia Team can trace data end to end.
- Scheduling and access controls: These work in exactly the same way as they do for warehouse crawlers.
We're starting with Salesforce and will add connectors one at a time, so that each one produces good-quality graphs for you.
How to get started: Open Context Engine from the hub and pick a knowledge graph (or create one). Go to Crawlers → Add crawler and choose External source → Salesforce. Select a Salesforce connection from your project and choose the objects to crawl, then run it or put it on a schedule and start asking Maia Team.
Read the Creating knowledge graphs documentation to learn more.
💬 We'd love to hear from you!
Let us know how these new features are improving your workflows—we're all ears! Join the conversation in the Matillion Community.
Welcome back to the Maia New Features Blog! This week, we're rolling out updates that make it easier to see exactly what your data is doing, catch problems before they reach runtime, and stay on top of your spend. For a full list of recent changes, be sure to check our changelog updates. Let's dive in.
🔍 Compare your data side by side, step by step
Compare samples lets you see how your data changes from one pipeline step to the next, without losing your place.
A new Compare samples option, available from the component toolbar on the canvas and from the Sample data tab, opens two samples side by side so you can check how your data looks before and after a step and understand exactly what each component is doing.
You choose when to compare, so nothing gets in the way of your normal work:
- Each side samples automatically when the comparison opens.
- A shared filter suggests columns common to both samples, and a shared row limit keeps the two sides consistent.
For more details, read Comparing samples.
✅ Validate all child pipelines in a single step
Pipeline validation can now check every child pipeline called by the one you're working on, so problems hidden in nested pipelines are caught straight away instead of surfacing later at runtime.
When you validate a pipeline, you can choose to validate all of its child pipelines too. This is entirely optional: by default, clicking Validate checks your current pipeline, but you can now click Validate pipeline tree when viewing any pipeline containing a Run Orchestration or Run Transformation component to validate that pipeline together with all of its children.
The benefits of validating the full pipeline tree include:
- Failures in called pipelines are surfaced immediately, rather than when a job fails.
- Changes elsewhere in the tree that would break something upstream are flagged.
- Validation status is shown on the components that call those pipelines.
- A record of each check is kept, so you can easily find results again later.
This means you can trust a validation result to reflect the whole job, not just the pipeline in front of you, without having to open and check each nested pipeline by hand. For more information, check out our Validating pipeline trees docs.
💰 Stay on track with monthly budgets
Budgets and alerts now work month by month, rather than only against your full contract term.
You can set monthly budgets for your account and for individual projects. Simply switch Monthly on and choose your own Warning and Critical thresholds—the monthly allowance is calculated for you, so all you need to decide is the percentages. Budgets are informational only and don't restrict usage.
Previously, budgets were tracked against the entire contract term, which meant alerts could arrive later in the term. For example, with 12,000 credits across a 12-month term (roughly 1,000 per month), burning through 75% by month 6 would leave just 3,000 credits for the remaining half of the year by the time you were alerted. Monthly budgets let you spot overspend while there's still time to respond.
Also new:
- Projects now receive an alert when they've used 100% of the budget allocated to them.
- Billing Admins and Super Admins are automatically emailed the account's annual threshold alerts and overage alert.
- You can delete a project budget directly from the table.
Budgets and thresholds are configured on the Budgets and alerts page, and you can manage how you're notified (email, Slack, or webhook) from the Billing tab of the Notifications page, where all your Maia notifications live.
To find out more, read the Budgets and alerts and Billing notifications documentation.
💬 We'd love to hear from you!
Let us know how these new features are improving your workflows—we're all ears! Join the conversation in the Matillion Community.
Welcome back to the Maia New Features Blog! This week, we're making it easier to get pipeline updates to the people who need them. For more details, see our changelog updates.
📧 Send platform notifications to custom email addresses
Pipeline completion and anomaly alerts can now reach more than the person who set them up. Choose Email as the delivery method, then add yourself, other account users with project access, or any email address—including people outside your team.
Alerts remain scoped to the relevant project and environment. That means data stakeholders can hear about failures or slow pipelines as they happen, even if they aren't responsible for fixing them. You can also send alerts to a shared inbox connected to your incident management tools or other workflows. For more information, read Pipeline notifications.
Watch the walkthrough: loom.com/share/38169c7963dc499687bc0f8041a8d41e
💬 We'd love to hear from you!
Let us know how these new features are improving your workflows—we're all ears! Join the conversation in the Matillion Community.
This week, we're rolling out several major updates designed to enhance pipeline flexibility, improve collaboration, and make your experience with Maia Team smoother than ever. From smarter filtering controls to mid-task steering, these features put more control in your hands while streamlining your data workflows. Check out the latest changelog updates for more details.
📌 Pin a filter across your pipeline, only when you want to
Filters stay on the component you set them on, and you can now pin one to follow you through the pipeline.
Each filter in the Sample Data panel has a pin icon. Pin a filter and it applies to every component in the pipeline. Unpin it and it goes back to being local.
Filters are now per-component by default, so the chips always describe the data you're looking at. When you want one filter everywhere, you can pin it. Removing a shared filter asks you to confirm first so you don't clear it on other components by accident.
See how to pin and unpin filters in our documentation.
🎉 Sampling improvement: All requested rows returned
When you preview a sample containing very large values, such as long JSON or free text, Maia now returns the rows you asked for. Values too large to show safely are clearly marked, and you can click to open the full value on demand.
Instead of losing whole rows to one oversized value, you now get the full sample with only that value shortened, and you can expand it in one click.
Learn more in Sampling data.
🎲 Smarter sampling in the pipeline canvas
You can now pull a random sample instead of just the first rows, and sort sample results returned from the data warehouse by any column.
In the sample panel for transformation pipelines, you can choose between the default sample and a random sample, and sort the sample results by any column. This helps you see beyond the first rows in a fixed order, making it easier to verify whether your changes have worked across the entire dataset.
You decide when you want a random look at your data, giving you more control over your data exploration process.
For more information, read Sampling data.
🎯 Steer Maia Team mid-task with messages
You can now send a message while Maia Team is still working. Maia Team picks it up in between actions and adjusts accordingly.
If something else comes up, or you see Maia Team heading in a different direction than you intended, you can send a follow-up at any time and steer the conversation as it happens.
What's new:
- Steer Maia Team as it works: Send a message at any point during a run. It's delivered mid-request and Maia Team acts on your updated instructions.
- Message queuing: Messages are queued until they can be delivered, and you can queue up to 5 messages.
- Cancel before delivery: Changed your mind? Cancel a queued message before Maia Team picks it up.
How do I use it?
Type your message and send it while Maia Team is working. Queued messages appear above the message field until Maia Team picks them up.
💡 Note: If you stop a run, any messages still queued are canceled.
Read more about Queueing messages.
🔧 Runner diagnostics support restored
Maia runners have received an interim release that restores essential support diagnostics functionality. Account ID and Runner ID are now back in runner logs and metrics, helping our support teams investigate any issues you might encounter.
While this update is optional and won't change how your pipelines run, we highly recommend applying it so support investigations can be resolved as quickly as possible. To apply the update, simply restart or redeploy your Maia runner.
🧠 Context Engine is now on by default in Maia Team
The Context Engine lookup is now enabled by default in Maia Team conversations. Maia Team picks the relevant knowledge graph for your question on its own, so you don't need to choose one.
This means you no longer have to turn Context Engine on yourself. Maia Team can bring in your organization's context (pipelines, data assets, conventions, and more) when your question needs it, with no setup on your side.
Key improvements include:
- On by default: Context Engine is now switched on for every Maia Team conversation.
- Automatic graph selection: Maia Team looks at what each knowledge graph contains, along with a description generated automatically for it, and picks the graph that best matches your prompt.
- Only used when needed: As before, Maia Team only calls the Context Engine tools when your prompt needs them. If your question doesn't need anything from the knowledge graph, Maia Team skips the lookup and carries on as usual.
Simply ask Maia Team your question as usual. To turn it off for a conversation, open the conversation menu and switch off the Context Engine toggle. You can switch it back on from the same menu at any time. For more information, read Context Engine in chats.
💬 We'd love to hear from you!
Let us know how these new features are improving your workflows. We're all ears! Share your comments or questions with us in the Matillion Community.