> Discover all available pages from the documentation index: https://mastra.zisheng.pro/ja/llms.txt # Workflows Mastra は、`src/mastra/workflows/` 配下の `.ts` ファイルと `.js` ファイルから Project レベルの Workflow を検出します。この規約は単一の Agent を対象とするものではありません。default export を持つすべてのファイルが Workflow として登録され、そのファイル名が Workflow Key になります。 ファイルベースの規約については、このページを参照してください。Step、Schema、制御フロー、Streaming、State、Workflow の実行については、[Workflow の概要](https://mastra.zisheng.pro/ja/docs/workflows/overview)を参照してください。 ## クイックスタート `src/mastra/workflows/` 配下にファイルを作成し、[`createWorkflow()`](https://mastra.zisheng.pro/ja/reference/workflows/workflow) で Workflow を構築して default export します。 ```typescript import { createStep, createWorkflow } from '@mastra/core/workflows' import { z } from 'zod' const collectInputs = createStep({ id: 'collect-inputs', inputSchema: z.object({ topic: z.string() }), outputSchema: z.object({ topic: z.string(), audience: z.string() }), execute: async ({ inputData }) => ({ topic: inputData.topic, audience: 'engineering', }), }) const writeSummary = createStep({ id: 'write-summary', inputSchema: z.object({ topic: z.string(), audience: z.string() }), outputSchema: z.object({ report: z.string() }), execute: async ({ inputData }) => ({ report: `Daily report about ${inputData.topic} for ${inputData.audience}.`, }), }) const dailyReport = createWorkflow({ id: 'daily-report', inputSchema: z.object({ topic: z.string() }), outputSchema: z.object({ report: z.string() }), }) .then(collectInputs) .then(writeSummary) .commit() export default dailyReport ``` Mastra は、この Workflow を `daily-report` Key で登録します。 ## コードとの優先順位 ファイルベースの Workflow は、[`new Mastra()`](https://mastra.zisheng.pro/ja/reference/core/mastra-class) で登録された Workflow とマージされます。Key が重複した場合は、コードで登録された Workflow が優先されます。