Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>FlowForgerNew to Visual Studio Code? Get it now.
FlowForger

FlowForger

FlowForger

|
4 installs
| (0) | Free
Power Automate & Logic Apps flows as TypeScript — IntelliSense, local debugging, and compilation to Logic Apps JSON
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

FlowForger for VS Code

Build Power Automate and Logic Apps flows as TypeScript — with IntelliSense, local debugging, and compilation to Logic Apps JSON.

Features

  • IntelliSense: Autocomplete for ctx.* methods, connectors, action names, and variables
  • Schema Completions: Inside ctx.connectors.dataverse.* / ctx.connectors.sharepoint.* calls, autocomplete real table logical names, SharePoint sites and lists, and column/field names (in item: {...} keys and $select/$orderby/$filter strings), read live from your environment. Run FlowForger: Connect Data Sources once to sign in — typing never triggers a sign-in prompt on its own.
  • Diagnostics: Real-time error detection for invalid references, missing decorators
  • Hover Documentation: Rich documentation for methods and decorators
  • Snippets: 20+ code snippets for common patterns
  • Syntax Highlighting: Special highlighting for FlowForger decorators and methods
  • Edit & Continue: While paused, edit the flow and press Restart (Ctrl+Shift+F5) — the run restarts under the hood, replaying recorded connector/HTTP responses (unchanged calls are never re-sent) and fast-forwarding back to the paused position or the first divergence. Restarting while not paused does a normal clean run.
  • Set Next Statement: While paused, right-click a line and choose "Jump to Cursor" to move the execution point — backward to re-execute with live connector calls, forward to skip. From a loop-iteration or branch-child pause, a backward jump restarts and replays up to the target instead (console variable edits are not preserved).

File Extension

FlowForger DSL files use the .ff.ts extension.

Quick Start

  1. Create a new file with .ff.ts extension
  2. Start typing flow-class to use the snippet
  3. Use ctx. to see available methods

Example

Create hello-flow.ff.ts:

@Flow('hello-flow')
class HelloFlow {
  @ManualTrigger()
  trigger() {}

  @Action()
  async run(ctx: FlowContext) {
    // Build a message with a Compose action
    await ctx.compose('Greeting', { message: 'Hello from FlowForger' });

    // POST it to httpbin, which echoes the body back
    await ctx.http('CallHttpBin', {
      method: 'POST',
      url: 'https://httpbin.org/post',
      body: ctx.outputs('Greeting'),
    });

    // Pull the echoed message out of the response
    await ctx.compose('Echo', ctx.body('CallHttpBin')?.['json']);
  }
}

No imports needed. @Flow, @ManualTrigger, @Action, and FlowContext are ambient globals recognized by the FlowForger compiler and this extension. Reference a Compose action's output with ctx.outputs('Name') and an HTTP action's response body with ctx.body('Name').

Commands

  • FlowForger: Restart Language Server - Restart the LSP server
  • FlowForger: Compile to IR - Compile current file to FlowIR JSON
  • FlowForger: Compile to Logic Apps JSON - Compile to Power Automate format

Settings

Setting Description Default
flowforger.enable Enable language features true
flowforger.diagnostics.enable Enable diagnostic reporting true
flowforger.diagnostics.showUnusedWarnings Show unused action/variable warnings true
flowforger.trace.server Trace LSP communication off

Requirements

None — the language server, compiler, emitter, and debugger are fully bundled with the extension. No workspace setup or Node.js installation required.

For command-line workflows (CI, deployment), see the flowforger CLI on npm.

License

Apache-2.0

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft