Skip to content

Create your first flow

Now that pgflow is installed, let’s create a simple hello world flow that demonstrates the core concepts.

Our flow will:

  1. Take a person’s first name and last name as input
  2. Format a full name
  3. Create a personalized greeting
  1. First, create a directory for your flow:

    mkdir -p supabase/functions/_flows
    • Directorysupabase
      • Directoryfunctions
        • Directory_flows
          • greet_user.ts
  2. Create a file called supabase/functions/_flows/greet_user.ts with this content:

    supabase/functions/_flows/greet_user.ts
    import { Flow } from 'npm:@pgflow/dsl';
    type Input = {
    first_name: string;
    last_name: string;
    };
    export default new Flow<Input>({
    slug: 'greet_user',
    })
    .step(
    { slug: 'full_name' },
    (input) => `${input.run.first_name} ${input.run.last_name}`
    )
    .step(
    { slug: 'greeting', dependsOn: ['full_name'] },
    (input) => `Hello, ${input.full_name}!`
    );