Skip to main content

Hands-on lab: Agentic Data Analytics with dbt Core

· 8 min read
Cody
Product @ Ascend
Jenny
Chief of Staff @ Ascend

Build and orchestrate dbt Core pipelines with agents on Ascend.

Public Preview

This feature is in Public Preview. Expect changes and note that standard SLAs don't apply. Refer to our release stages to learn more.

The plan

In this lab, we will:

  1. Sign up for Ascend
  2. Build your first data pipeline with Otto
  3. Run the Jaffle Shop dbt project
  4. View changes in source control
  5. Create a Deployment for production
  6. Deploy changes to production
  7. Run your pipeline in production
  8. Automate your pipeline with Otto
  9. (Advanced) Use your own DataOps agents
  10. (Advanced) Bring your own dbt project

Part 1: Sign up for Ascend

Go to https://app.ascend.io and click Start Your Free Trial.

Ascend homepage

Fill out the signup form to create your account.

danger

You must use a work email address. Common personal email domains like @gmail.com are disallowed.

tip

Join us for the Agentic Data & Analytics bootcamp next week! We'll have the work email restriction above lifted for bootcamp participants.

Sign up form

Check your email for a verification message from support@ascend.io. Click to accept the invite and create a password or sign in with Google SSO.

tip

Ask us live or email support if you don't receive the email within a few minutes.

Email invite

Part 2: Build your first data pipeline

Once signed in, you'll see the home page. Click Not sure where to start? to let Otto build your first pipeline. If you miss this, you can always trigger Otto building your first data pipeline from your Workspace by simply asking.

Home page with button

Otto will create a sample Flow. Watch as the pipeline builds and runs automatically.

Otto building

Flow running

At the end, you should see a green Flow run.

Flow complete

tip

Agents, including Otto, make mistakes, but tend to iterate toward success. If you get a failed build or Flow run, let Otto fix it!

Part 3: Run Jaffle Shop

Now let's run a dbt project. The Jaffle Shop is included in your Default Project. You should already see it on the Super Graph. Either click on the context menu toward the top right of the Flow card and hit Run > Entire Flow, or just ask Otto to run it for you!

Jaffle Shop Flow

You can double click into the Flow card to see the Flow Graph. The run should take about a minute to complete.

Jaffle Shop Flow Graph

Part 4: View changes in source control

Ascend uses GitOps for version control. Open the Source Control panel from the left toolbar.

Source Control panel

Then click on Open Git log & actions.

Source Control details

Here you'll see the commit history. Notice Otto wrote commit messages for you as your first data pipeline was built!

Git actions

Before we merge these changes into main, we'll create a Deployment to run our Flows regularly in production through Automations.

Part 5: Create a Deployment

Navigate to Settings from your profile menu.

Settings

Go to the Projects tab and click the Default Project.

Projects tab

Click to Add your first Deployment.

Add Deployment

Give it a name (e.g., "Production"), select a branch (e.g. main), and choose a Profile (deployment_template).

Deployment form

Navigate into your Deployment. You can then click Explore build toward the top left to see the Super Graph.

Deployment on Super Graph

The demo Flow Otto created earlier is missing! This is because we haven't deployed our changes yet. Head back to your Workspace (through Settings or the home page) to merge your changes.

Part 6: Deploy changes

Return to your Workspace and open the Source Control panel. Click Merge to Deployment.

Merge to Deployment

Select your Deployment and confirm the merge.

Confirm merge

Your changes are now deployed to production.

Navigate back to your Deployment (through the Settings, home page, or search) and open the Super Graph. The Jaffle Shop Flow is now present!

Deployment after merge

Part 7: Run your Flow in production

As in a Workspace, you can run the Jaffle Shop Flow yourself or have Otto do it.

Run Jaffle Shop in Deployment

Flow running in production

Part 8: Automate your pipeline

Let's schedule the Jaffle Shop Flow to run every day. Head back to your Workspace. Open Otto with Ctrl + I (or Cmd + I on Mac) or clicking the sparkles icon toward the top right and simply ask:

Schedule the jaffle_shop Flow to run daily at midnight.

Otto will create an Automation to run your Flow regularly. Automations only run in Deployments, not Workspaces. You can use them for scheduling or event-driven triggers, including triggering custom DataOps agents with access to MCP servers for connecting to your systems like GitHub, Slack, and more!

Otto automation request

If you open the Automation, you'll see a Flex Code representation alongside the YAML view.

Automation created

Now, you can merge these changes into the Deployment as before. Once merged, the Jaffle Shop Flow will run automatically every day at midnight!

tip

After the lab, you may want to disable Automations in your Deployment or delete the Deployment to avoid the use of Ascend Credits. We recommend getting your own Connection created in your Workspace, iterating on your pipeline, then deploying your own Flows.

Part 9: Use your own DataOps agents

For advanced use cases, configure Otto to respond automatically to Flow events — like sending Slack notifications on failures or auto-fixing common issues.

See the Otto Automation guide for details on:

  • Event-driven notifications (Slack, email)
  • Automatic retry logic
  • Custom agent responses

For example, create the file automations/jaffle_shop_failure.yaml with:

automation:
name: jaffle_shop_failure
enabled: true
triggers:
events:
- sql_filter: json_extract_string(event, '$.data.flow') = 'jaffle_shop'
types:
- FlowRunError
actions:
- type: run_otto
name: run_otto
config:
agent_name: chat
prompt: Send me an email w/ RCA and suggested next steps

Now, if merged into your Deployment, Otto will send you an email on failure with details.

Part 10: Migrating your own dbt projects

To migrate your own dbt projects, you can go in a few directions. If you want to use an existing Git repository, you can add it as an Ascend Repository in your settings. Then, follow our how-to guide and use Otto to assist bootstrapping it for Ascend.

Alternatively (and perhaps more easily) you can build into the Default Project you were working in above. Create an Ascend Connection for your desired Data Plane, and get that working. Then, edit your Jaffle Shop Flow YAML file to use that Data Plane and ensure it's working. Finally, bring your own dbt Project, delete its profiles.yml file, and have Otto help you build a Flow for it.

If you run into issues, contact us for support! We're happy to help.

Wrap up

You've built and orchestrated a dbt pipeline with Ascend:

  • Built a pipeline with Otto
  • Ran the Jaffle Shop dbt project
  • Deployed to production with GitOps
  • Set up automated scheduling

Questions? Reach out: