live wire
IBM makes watsonx Orchestrate AgentOps, custom LLM judging and Bedrock-agent discovery generally availableIBMSchemaGate 0.1.45 fixes broken Oracle ADB wallet connections and an OCI stack pinned 28 releases behindSchemaGatePDI’s Amazon Quick procurement agent grounds spend answers in vendor, category and contract contextAWS Business Intelligence BlogBigQuery’s ML.METRICS example returns 0.84 accuracy but 0.30 macro-F1 on the same 100-row classification queryGoogle Cloud BigQuery docsSchemaGate 0.1.44 auto-selects sentence embeddings, lifting bundled-schema retrieval from 90/98 to 93/98SchemaGateSchemaGate 0.1.43 adds read-only SQL execution with per-principal table checks—and documents unauthenticated client assertionsSchemaGateDatabox adds reusable AI Analyst Skills with personal/company scope, auto-matching and marketplace installsDataboxFabric previews an AI builder for data-agent instructions, source guidance and example queriesMicrosoft FabricDatabricks trains data-agent retriever to stop early or spend bounded extra search steps, reporting 5.8-second latencyDatabricksThoughtSpot adds SpotterCode coding agent to its Visual Embed PlaygroundThoughtSpotLongMemEval-S audit: 67–73% of restore-fixable 80k-budget errors came from evicted evidence under three policiesarXivSchemaGate 0.1.42 adds dimension-aware retrieval and fixes complex multi-table SQL promptsSchemaGateSnowflake agent toolsets can silently drop inherited tools when callers lack accessSnowflake DocumentationLooker’s VS Code extension reaches GA with MCP-assisted LookML generation, editing and validationGoogle Cloud Looker release docsIBM makes watsonx Orchestrate AgentOps, custom LLM judging and Bedrock-agent discovery generally availableIBMSchemaGate 0.1.45 fixes broken Oracle ADB wallet connections and an OCI stack pinned 28 releases behindSchemaGatePDI’s Amazon Quick procurement agent grounds spend answers in vendor, category and contract contextAWS Business Intelligence BlogBigQuery’s ML.METRICS example returns 0.84 accuracy but 0.30 macro-F1 on the same 100-row classification queryGoogle Cloud BigQuery docsSchemaGate 0.1.44 auto-selects sentence embeddings, lifting bundled-schema retrieval from 90/98 to 93/98SchemaGateSchemaGate 0.1.43 adds read-only SQL execution with per-principal table checks—and documents unauthenticated client assertionsSchemaGateDatabox adds reusable AI Analyst Skills with personal/company scope, auto-matching and marketplace installsDataboxFabric previews an AI builder for data-agent instructions, source guidance and example queriesMicrosoft FabricDatabricks trains data-agent retriever to stop early or spend bounded extra search steps, reporting 5.8-second latencyDatabricksThoughtSpot adds SpotterCode coding agent to its Visual Embed PlaygroundThoughtSpotLongMemEval-S audit: 67–73% of restore-fixable 80k-budget errors came from evicted evidence under three policiesarXivSchemaGate 0.1.42 adds dimension-aware retrieval and fixes complex multi-table SQL promptsSchemaGateSnowflake agent toolsets can silently drop inherited tools when callers lack accessSnowflake DocumentationLooker’s VS Code extension reaches GA with MCP-assisted LookML generation, editing and validationGoogle Cloud Looker release docs
nl2sql.ai
guideDEPLOYMENT GUIDE

dltHub’s Attio demo solves record identity—but leaves batch atomicity to operators

The AI-built workflow handles two different CRM upsert contracts. Its production risk sits one layer lower: a retried custom-destination batch can still duplicate writes after a partial commit.

Two Attio identity paths with a retry-prone batch writer.
AI-generated illustration
By The News Desk· Sep 9, 2026the quick take — two AI hosts go live when you do

dltHub’s new Attio tutorial is useful less as a sales-workflow recipe than as a compact lesson in where agent-built reverse ETL stops being generic. The AI Harness builds a three-stage pipeline: pull Customer Success Manager job listings from Arbeitnow into DuckDB, enrich companies and likely buyers through People Data Labs, then write the records into Attio. When enrichment credits became a concern, the generated pipeline checked its own prior DuckDB output before calling the enrichment API again. dltHub’s walkthrough documents each step.

One destination, two identity contracts

The important detail is that “upsert to Attio” is not one operation. For companies, Attio accepts the domain as a unique matching field, so the pipeline can use a single PUT that updates or creates a record. People have no equivalent unique field in this example. The agent therefore searches by LinkedIn URL, uses PATCH when a person exists, and falls back to POST when none is returned. It also links the person to the company by domain. Those different paths are described in the same first-party tutorial.

That asymmetry is the deployment lesson: an agent can discover an API, but operators still need an explicit identity policy per entity. “Company domain” and “person LinkedIn URL” are business assumptions as much as API parameters. They should be reviewed before scheduling, especially if domains change, profiles are missing, or two records legitimately share a value.

The retry boundary is the next test

dlt’s @dlt.destination decorator passes normalized pipeline data into a custom function and supports configurable batch size and parallel load jobs. Its documentation says a failed destination function is retried five times by default and a later pipeline run resumes from the failed batch. It also warns that a partial commit can produce duplicates: dlt restarts the whole failed batch, while transactionality and batch atomicity remain the destination author’s responsibility. For non-transactional systems that cannot tolerate duplicates, the docs recommend a batch size of one. The same page notes that custom destinations have no general state-restoration mechanism if the pipeline directory is lost. The custom-destination reference spells out those constraints.

Before turning this demo into a recurring revenue-operations job, test three failures deliberately: interrupt a company PUT, interrupt the person search between lookup and write, and fail after only part of a batch reaches Attio. Then verify that rerunning does not create a second person, break the company link, or repeat a paid enrichment call.

Add a shared model only when reuse begins

The tutorial skips a canonical model because one source feeds one destination. dltHub recommends adding one when another source or downstream consumer needs the same Company and Person definitions. Its transformation toolkit maps raw tables to business entities, identifies natural keys, builds an ontology, and generates a Kimball-style canonical data model plus transformation code. dltHub’s transformation guide documents that staged workflow.

The practical sequence is therefore clear: prove identity and retry behavior first; add a canonical model when reuse makes duplicated definitions the larger risk. The agent accelerates implementation, but neither boundary should be delegated implicitly.

Filed by The News Desk. Corrections: desk@nl2sql.ai · Our standards →

comments · 0

    Comments are moderated before they appear. Your email is used once to confirm it is you — never shown, never sold. Corrections and questions get an answer from the desk when we have one.