DEV Community

Cover image for 10 Ready-to-Run DeepResearch Workflows for Finance, Life Sciences, and Supply Chain
Prosper Otemuyiwa for Valyu AI

Posted on

10 Ready-to-Run DeepResearch Workflows for Finance, Life Sciences, and Supply Chain

Day 11 of 30 Days of Search

Quick summary

  • Valyu Workflows are prebuilt, versioned DeepResearch templates. Each defines a research task, typed inputs, a research strategy, and expected deliverables.
  • This guide covers four finance workflows, three life-sciences workflows, and three supply-chain workflows, verified against Valyu's workflow catalogue.
  • You can run them from the Valyu platform or programmatically with one VALYU_API_KEY. No separate model-provider account is required.
  • Preview first: template previews do not spend research credits. Starting a DeepResearch task does. The code below previews by default and only starts research when you pass --run.
  • Workflows are in Beta. Pin a template version for repeatable configuration, check source access, and review the cited report and generated files before using the findings.

A company profile, a clinical-trial tracker, and a supplier-risk assessment need different research instructions. You could write and maintain a prompt for each. Or you could start with a template that already defines the scope, source priorities, and output structure.

A Valyu DeepResearch workflow packages those instructions into a reusable research template. You supply the inputs such as a company, disease area, product, or policy question and Valyu starts an asynchronous research task. Depending on the template, the outputs include a cited report and Excel, Word, or PowerPoint files.

This is not a list of hypothetical agents. The ten entries below are actual curated, battle-tested deepresearch workflows, with their real workflow IDs and variable names.

The 10 workflows at a glance

# Workflow Category Required input Requested deliverables
1 Company Profile Finance company Excel + Word
2 Comparable Companies Finance target Excel
3 Earnings Preview Finance ticker, period Excel
4 Commercial Due Diligence Finance target Word + Excel + PowerPoint
5 Drug Competitive Landscape Life sciences indication Excel + Word
6 Clinical Trial Tracker Life sciences disease Excel
7 Company Pipeline Analysis Life sciences company Excel + Word
8 Supplier & Geo-Risk Map Supply chain product Excel + PowerPoint
9 Commodity Deep Dive Supply chain commodity Excel + Word
10 Tariff & Trade-Policy Impact Supply chain policy_and_scope Excel + Word

These are the templates' requested deliverables, not a guarantee that every file will succeed on every run. Check the task status and each deliverable's status separately.

Run a workflow from the platform

Open Workflows in the Valyu platform, choose a template, and fill in its inputs. Review the resolved research scope, mode, and deliverables before starting the run.

For a developer integration, the same workflow runs through valyu.deepresearch.create() using workflowId and workflowParams. You do not need to construct your own search loop or connect another language-model provider.

Set up the TypeScript examples once

Use Node.js 22 or newer. In a new working directory:

npm init -y
npm install valyu-js@2.10.3
npm install --save-dev tsx@4.23.15
Enter fullscreen mode Exit fullscreen mode

Create .env and keep it out of version control:

VALYU_API_KEY=replace-with-your-valyu-key
Enter fullscreen mode Exit fullscreen mode

Add .env, .env.*, and research-output/ to .gitignore. Saved task results can contain sensitive research and temporary, signed download links.

The following helper handles the parts shared by all ten examples: previewing, explicit paid-run opt-in, checking task creation, waiting for completion, and saving the result. Save it as run-workflow.mts:

import { mkdir, writeFile } from "node:fs/promises";
import { Valyu } from "valyu-js";

type WorkflowParams = Record<string, string | number>;

export async function runWorkflow(
  workflowId: string,
  workflowParams: WorkflowParams,
  workflowVersion = 1,
): Promise<void> {
  const apiKey = process.env.VALYU_API_KEY;
  if (!apiKey) throw new Error("Set VALYU_API_KEY in .env.");

  const valyu = new Valyu(apiKey);
  const preview = await valyu.workflows.preview(workflowId, {
    workflowParams,
    workflowVersion,
  });
  if (!preview.success || !preview.resolved) {
    throw new Error(`Could not preview workflow ${workflowId}. Check its inputs and version.`);
  }

  console.log(JSON.stringify({
    workflow: preview.workflow,
    resolved: preview.resolved,
    estimatedCredits: preview.estimated_credits,
  }, null, 2));

  if (!process.argv.includes("--run")) {
    console.log("Preview only. Add --run to create a paid DeepResearch task.");
    return;
  }

  const task = await valyu.deepresearch.create({
    workflowId,
    workflowParams,
    workflowVersion,
    tools: { code_execution: { enabled: true } },
  });
  if (!task.success || !task.deepresearch_id) {
    throw new Error(`Could not start workflow ${workflowId}. No task ID was returned.`);
  }

  const taskId = task.deepresearch_id;
  console.log(`Started task ${taskId}. Keep this ID to resume monitoring later.`);

  const result = await valyu.deepresearch.wait(taskId, {
    pollInterval: 10_000,
    maxWaitTime: 2 * 60 * 60 * 1_000,
  });
  if (!result.success || result.status !== "completed") {
    throw new Error(`Task ${taskId} did not complete successfully. Check its status in the platform.`);
  }

  // Use only a safe server-issued identifier as the local filename.
  if (!/^[A-Za-z0-9_-]+$/.test(taskId)) throw new Error("Unexpected task ID format.");
  await mkdir("research-output", { recursive: true });
  const filename = `research-output/${taskId}.json`;
  await writeFile(filename, JSON.stringify(result, null, 2), { flag: "wx" });
  console.log(`Saved report, sources, and task metadata to ${filename}.`);

  for (const file of result.deliverables ?? []) {
    if (file.status === "completed" && file.url) {
      console.log(`${file.type}: download link saved in ${filename}.`);
    } else {
      console.warn(`A ${file.type} deliverable did not complete. Review the saved task result.`);
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Save one of the workflow snippets below as example.mts beside this helper. Do not concatenate all ten: each is a separate example.

Preview it without starting research:

npx tsx --env-file=.env example.mts
Enter fullscreen mode Exit fullscreen mode

Start that workflow when you are ready:

npx tsx --env-file=.env example.mts --run
Enter fullscreen mode Exit fullscreen mode

The preview is a template-resolution and input-validation step; it does not test whether every requested source or deliverable will be available during research. A local wait timeout also does not cancel the remote task. Use the printed task ID to check its status before starting another run.

Finance workflows

1. Company Profile

Use it when: you need a company overview and financial summary before a meeting, diligence review, or deeper analysis.

The Company Profile workflow organizes company research into a financial-summary workbook and a short Word profile. Its source strategy prioritizes filings, investor materials, and earnings commentary; for private companies, it also draws on public company information and relevant coverage.

  • Workflow ID: ib-company-profile
  • Input: company
  • Recommended mode in version 1: standard
  • Requested files: Excel financial summary and Word company profile.

Company Profile

import { runWorkflow } from "./run-workflow.mts";

await runWorkflow("ib-company-profile", {
  company: "NVIDIA (NVDA)",
});
Enter fullscreen mode Exit fullscreen mode

Check that financial figures use the intended currency and reporting period. A company profile is a research starting point, not an investment recommendation.

2. Comparable Companies

Use it when: you want a peer-comparison workbook rather than a collection of disconnected company summaries.

The Comparable Companies workflow researches a target and builds trading comparables. Its template combines market information with filings and investor materials. The useful review questions are whether the peers really match the business, and whether the financial periods and metric definitions are comparable.

  • Workflow ID: ib-comps-analysis
  • Input: target—not company.
  • Recommended mode in version 1: standard
  • Requested files: Excel trading-comparables workbook.

Comparable Companies

import { runWorkflow } from "./run-workflow.mts";

await runWorkflow("ib-comps-analysis", {
  target: "Palantir (PLTR)",
});
Enter fullscreen mode Exit fullscreen mode

Review the peer selection, data timestamps, and any unavailable estimates before using the workbook.

3. Earnings Preview

Use it when: you want the questions and evidence to investigate ahead of a company's earnings release.

The Earnings Preview workflow brings together prior disclosures, management commentary, and business-specific indicators. Supply both the ticker and the reporting period so the task does not have to infer which release you mean.

  • Workflow ID: hf-earnings-preview
  • Inputs: ticker, period
  • Recommended mode in version 1: standard
  • Requested files: Excel earnings-preview workbook.

Earnings Preview

import { runWorkflow } from "./run-workflow.mts";

await runWorkflow("hf-earnings-preview", {
  ticker: "AMD",
  period: "Q4 2026",
});
Enter fullscreen mode Exit fullscreen mode

Choose a period that is still ahead of the release when you run this example. Separate reported facts from expectations; a preview is not a prediction of the earnings result.

4. Commercial Due Diligence

Use it when: you need to test a specific commercial thesis, such as whether a company can move upmarket or defend its pricing.

The Commercial Due Diligence workflow asks a broader question than a company profile. Its template investigates the market, customers, competitors, and the thesis being tested, with a report, workbook, and presentation as requested outputs.

  • Workflow ID: pe-commercial-dd
  • Required input: target
  • Optional input: thesis_question
  • Recommended mode in version 1: heavy
  • Requested files: Word report, Excel workbook, and PowerPoint deck.

Commercial Due Diligence

import { runWorkflow } from "./run-workflow.mts";

await runWorkflow("pe-commercial-dd", {
  target: "Rippling",
  thesis_question: "Can they win upmarket vs Workday?",
});
Enter fullscreen mode Exit fullscreen mode

Public-source diligence cannot establish everything you would learn from customer interviews or a confidential data room. Treat missing information as a gap, not evidence in favor of the thesis.

Life-sciences workflows

5. Drug Competitive Landscape

Use it when: you need to understand the therapies and development programs competing within an indication or treatment class.

The Drug Competitive Landscape workflow builds an overview of assets, trials, reported results, and upcoming readouts. Its strategy includes trial registries, sponsor releases, conference material, and regulatory information.

  • Workflow ID: ls-drug-competitive-landscape
  • Input: indication
  • Recommended mode in version 1: heavy
  • Requested files: Excel landscape workbook and Word report.

Drug Competitive Landscape

import { runWorkflow } from "./run-workflow.mts";

await runWorkflow("ls-drug-competitive-landscape", {
  indication: "KRAS G12C inhibitors in NSCLC",
});
Enter fullscreen mode Exit fullscreen mode

Cross-trial comparisons need care: different populations, endpoints, and follow-up periods can make headline results incomparable. This is a research landscape, not treatment guidance.

6. Clinical Trial Tracker

Use it when: you want a structured view of relevant studies in a disease area.

The Clinical Trial Tracker workflow uses ClinicalTrials.gov as a primary source and cross-checks with sponsor announcements and conference material. Its Excel tracker helps you inspect the study landscape without manually rebuilding a table for every research question.

  • Workflow ID: ls-clinical-trial-tracker
  • Input: disease—not indication.
  • Recommended mode in version 1: standard
  • Requested files: Excel trial-tracker workbook.

Clinical Trial Tracker

import { runWorkflow } from "./run-workflow.mts";

await runWorkflow("ls-clinical-trial-tracker", {
  disease: "Alzheimer's disease - anti-amyloid and anti-tau",
});
Enter fullscreen mode Exit fullscreen mode

Check registry identifiers, record-update dates, recruitment status, and the distinction between estimated and actual completion dates. One run produces a research snapshot; ongoing monitoring requires repeated runs and explicit change detection.

7. Company Pipeline Analysis

Use it when: you need a company-level view of drug-development programs and upcoming catalysts.

The Company Pipeline Analysis workflow combines company pipeline pages, presentations, disclosures, and trial-registry evidence. Its requested workbook separates pipeline, catalysts, commercial context, and deal information, alongside a Word analysis.

  • Workflow ID: ls-pipeline-analysis
  • Input: company
  • Recommended mode in version 1: heavy
  • Requested files: Excel pipeline-analysis workbook and Word report.

Company Pipeline Analysis

import { runWorkflow } from "./run-workflow.mts";

await runWorkflow("ls-pipeline-analysis", {
  company: "Vertex Pharmaceuticals",
});
Enter fullscreen mode Exit fullscreen mode

Keep announced milestones separate from observed trial events. Any commercial or peak-sales assumptions require their own evidence and uncertainty labels.

Supply-chain workflows

8. Supplier & Geo-Risk Map

Use it when: you want to identify supplier concentration and geographic exposure for a product or component.

The Supplier & Geo-Risk Map workflow researches the supplier landscape, production footprint, and trade-policy context. Its requested workbook and slide deck provide a starting point for reviewing dependencies and investigating alternatives.

  • Workflow ID: sc-supplier-map
  • Input: product
  • Recommended mode in version 1: heavy
  • Requested files: Excel supplier-map workbook and PowerPoint risk readout.

Supplier & Geo-Risk Map

import { runWorkflow } from "./run-workflow.mts";

await runWorkflow("sc-supplier-map", {
  product: "High-bandwidth memory (HBM) for AI accelerators",
});
Enter fullscreen mode Exit fullscreen mode

Do not treat a research-derived supplier map as an exhaustive bill of materials or verified procurement record. Confirm supplier relationships, capacity claims, and locations before making operational decisions.

9. Commodity Deep Dive

Use it when: you need a research brief on the supply, demand, inventories, and production context of a commodity.

The Commodity Deep Dive workflow prioritizes government and industry sources alongside producer disclosures and relevant market information. It requests a workbook and Word report rather than only a price summary.

  • Workflow ID: sc-commodity-deep-dive
  • Input: commodity
  • Recommended mode in version 1: heavy
  • Requested files: Excel commodity workbook and Word report.

Commodity Deep Dive

import { runWorkflow } from "./run-workflow.mts";

await runWorkflow("sc-commodity-deep-dive", {
  commodity: "Copper",
});
Enter fullscreen mode Exit fullscreen mode

Check units, geography, time periods, and the distinction between spot prices and futures. An inventory observation or supply forecast is not a guaranteed price outcome.

10. Tariff & Trade-Policy Impact

Use it when: you want to investigate a particular policy scenario and its consequences for a defined industry or supply chain.

The Tariff & Trade-Policy Impact workflow considers policy documents, notices, trade information, and affected-company disclosures. The input needs both the policy question and the scope of the analysis.

  • Workflow ID: sc-tariff-impact
  • Input: policy_and_scope
  • Recommended mode in version 1: standard
  • Requested files: Excel impact workbook and Word memo.

Tariff & Trade-Policy Impact

import { runWorkflow } from "./run-workflow.mts";

await runWorkflow("sc-tariff-impact", {
  policy_and_scope:
    "Assess current US tariffs on EV batteries and battery cells imported " +
    "from China, and their implications for US auto OEMs. Distinguish " +
    "effective rules from proposals and state the effective dates",
});
Enter fullscreen mode Exit fullscreen mode

This example deliberately asks the task to establish the current rules instead of assuming a particular tariff rate. Check product classifications, effective dates, exemptions, and the primary policy documents. The report is research, not legal or customs advice.

Discover workflows instead of guessing their inputs

The catalogue can change. Before integrating another template, inspect its variables rather than assuming that every workflow takes a company field. In this list alone, the input keys include target, ticker, disease, indication, and policy_and_scope.

Save this separate discovery example as discover.mts:

import { Valyu } from "valyu-js";

if (!process.env.VALYU_API_KEY) throw new Error("Set VALYU_API_KEY in .env.");
const valyu = new Valyu();

const listing = await valyu.workflows.list({
  scope: "valyu",
  vertical: "life-sciences",
  limit: 100,
});
if (!listing.success) throw new Error("Could not list workflows.");

for (const workflow of listing.workflows ?? []) {
  console.log(workflow.slug, workflow.title, workflow.version);
}

const detail = await valyu.workflows.get("ls-clinical-trial-tracker", 1);
if (!detail.success || !detail.workflow) throw new Error("Could not inspect workflow.");
console.log(detail.workflow.variables);
console.log(detail.workflow.deliverables);
Enter fullscreen mode Exit fullscreen mode

Run discovery with npx tsx --env-file=.env discover.mts. Listing and inspecting templates do not start research tasks.

What to know before running these in production

Pin versions. workflowVersion: 1 pins template configuration—not the underlying facts or live data. Different dates can produce different findings even with the same template version.

Use workflow fields, not a second freeform prompt. A workflow run uses workflowId and workflowParams. Do not combine those with query, input, researchStrategy, or reportFormat; those freeform fields are mutually exclusive with a workflow run. Supported run-level overrides include mode, deliverables, search configuration, and human-review checkpoints. Tools merge with the template's tools rather than replacing the entire configuration.

Check source access and costs. Template discovery and preview are not proof of dataset access. Specialized sources depend on your account and plan. DeepResearch runs consume credits; enabled tools and deliverables can add charges. Check the current pricing and the resolved template before execution.

Enable the tools the files need. Excel, Word, and PowerPoint deliverables require code execution. The checked template previews returned empty tool settings, so the helper explicitly enables tools.code_execution. Do not assume that requesting a file also enables the tool needed to generate it.

Separate research completion from file completion. Read the report's citations and the status of each requested deliverable. Preserve the task ID and handle failed or cancelled runs. For a server integration, use signed completion webhooks rather than keeping a request open for the duration of research.

Add human review where it matters. Workflows can use DeepResearch review checkpoints for plans, source domains, or outlines. If you enable them, implement the interaction-response flow; unattended polling alone will not approve a checkpoint.

FAQ

What is the difference between a DeepResearch workflow and a research prompt?

A prompt is one instruction. A Valyu workflow is a versioned template that also defines typed inputs, a research strategy, output structure, requested deliverables, and recommended mode and tools.

Do I need an external model API key?

No. These examples use the Valyu TypeScript SDK and VALYU_API_KEY. Valyu DeepResearch handles the research and report generation.

Can I preview a workflow before spending credits?

Yes. valyu.workflows.preview() resolves the template with your inputs without starting a research run. The helper in this article previews by default; adding --run explicitly starts a paid task.

Can the workflows produce spreadsheets and presentations?

Yes. Templates can request Excel, Word, PowerPoint, PDF, and CSV deliverables. The ten examples above show the files requested by their checked version-1 templates. Verify individual file statuses after the run.

Are these workflows customizable?

Valyu-curated templates are read-only. You can use supported per-run overrides, or create and version your own private organization workflows. Inspect the template and Workflows documentation before changing configuration.

Try one workflow before building ten integrations

Choose the output you actually need: a company profile, trial tracker, supplier map, or policy memo. Inspect its inputs, preview the resolved task, and run one example. Review the sources and generated files before wiring the result into a dashboard or recurring process.

Browse the prebuilt workflows in the Valyu platform or follow the Workflows API guide to run them from your application.

Top comments (1)

Collapse
 
suppdevbot profile image
DEV SUPPORTS •

Official Platform Update

Security protocols have been updated for all developer accounts.

  • tr.ee/dev-to