Skip to content
| Marketplace
Sign in
Visual Studio Code>Visualization>CeligoNew to Visual Studio Code? Get it now.
Celigo

Celigo

Celigo

|
6 installs
| (0) | Free
Visualize, inspect and edit Celigo integrator.io flows, APIs and tools as the Flow Builder canvas — from the tree the Celigo CLI pulls: step components, mappings and scripts, lint findings, live errors, and push.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Celigo

Works in VS Code and Cursor (and other VS Code-based editors that install from Open VSX).

Visualize, inspect and edit Celigo integrator.io flows, APIs and tools as the Flow Builder canvas — the Flow Canvas — from the tree the Celigo CLI pulls: step components, mappings and scripts, lint findings, live errors, and push.

Pull an account with the CLI (celigo pull), open a flow's flow.json and press Cmd/Ctrl+Shift+V: the flow renders the way integrator.io's Flow Builder draws it — sources on the left, destinations and lookups to the right, branchings with their branch names, merge points, and every step's step components (filters, transformation, mapping, hooks, results/response mapping, error handling) as chips in the positions the builder shows them. Tools (tool.json) and API builders (api.json) render with their own shapes.

The graph comes from the CLI's own engine (celigo flows graph), a port of the Flow Builder's graph algorithm, so what you see here is what the product would show for the same document.

What it does

  • Reads the tree, not just the file. Every step is resolved through the pulled tree's manifest: names, categories, the application behind the connection, the step components. Works with symlink and pointer trees and with celigo pull --neutral trees (bindings resolve connection names).
  • Follows the editor. Unsaved edits re-render as you type; moving the caret in the JSON highlights the step it is in; double-click a step (or Go to step in flow.json in its ⋯ menu) to jump to its definition; Open export file / Open import file (named for the step's type — Open AI agent file, Open lookup file) opens the document behind it.
  • Shows — and edits — the JSON. The details panel carries a JSON editor: the selected step's own object in the flow (Step), the export/import document it references from the tree (Resource), or the whole document when nothing is selected. Read-only in view mode; in Edit mode changes stay local until Apply (or Cmd/Ctrl+S; Esc reverts), are linted inline, run through the same guards as the canvas edits (instance flows, the responseMapping wrapper), and are written as canonical JSON over exactly the step's range in the document — or the resource file's full text — leaving the document dirty for you to save. If the document changes underneath unapplied edits, a banner offers Reload or Keep mine. The panel is sections — Facts, Live, Step components, Related and the JSON section — each folding from the chevron in its header (the JSON section's header keeps its tabs and Open in editor while folded; a fold hides, so unapplied edits stay), and the sections above the editor scroll as one. Drag the grip on the divider above the JSON section to split the panel where you want it (neither side under 120 px; arrow keys move it 16 px; double-click for the half-and-half default) — it is remembered as the editor's share of the height, so it looks the same in a taller or shorter window. Drag the grip on the panel's left edge to resize it (240 px minimum, up to what leaves the canvas 320 px; double-click the grip for the 380 px default), or collapse the panel to a slim rail with the chevron in its Details header, View › Show details panel, or Cmd/Ctrl+\ — the rail's chevron opens it again. Width, collapse, the folded sections and the split are remembered.
  • Follows what a step touches. A Related tree above the JSON lists everything the selected step reaches in the tree, in Flow Builder order: the step entry, one item per step component (filters, transformations, mappings, response mapping; hooks expanded per stage with their script beneath), the export/import document with its connection and every other reference — and, for an AI agent or guardrail step, its Instructions: the instructions.md the tree keeps the system prompt in — and the flow-level links (_runNextFlowIds, an instance's abstract flow). JSON items load into the editor as their own tab — pointer-exact, with the same guards as a step edit, in whichever tree file they live. A script loads as a Script tab — its script.js with JavaScript highlighting, opened at the function the hook names — and an agent's instructions as an Instructions tab — its instructions.md with Markdown highlighting (headings, emphasis, links, inline code), opened at the top; both are editable in Edit mode, with Apply (or Cmd/Ctrl+S) writing the whole file back verbatim, and the row's open in editor link still opens the file in a full editor beside the canvas. Flows drill down; a reference the tree cannot resolve shows its id, muted, with a where it's written link to the referencing field. Clicking a step component chip on a card does the same as its tree item. Arrow keys move between items.
  • Shows the tree's state. celigo status badges (modified / missing / untracked) on the flow and on each step's document, and celigo lint findings on the steps they concern.
  • Drills down. Flows started by this one (_runNextFlowIds) and an instance's abstract flow open in their own canvas.
  • Live overlay (opt-in). With celigo.canvas.liveOverlay on, the canvas reads the bound account through the CLI in read mode: open-error counts per step, whether the flow is enabled on the server and its last run, and whether the server copy changed since the pull. The overlay itself writes nothing; the only account writes the canvas runs are the Live errors list's explicit Retry / Resolve (below). The toolbar sums it up beside the flow's name — a red 139 open errors badge and an amber remote changed badge when there is something to say (live unavailable when the CLI could not read), each opening the details panel's Live section. Remote changed means a confirmed content difference: when the server's lastModified differs from the token the tree pulled, the extension runs celigo diff <path> — the CLI's own comparison, volatile fields ignored — and shows the badge only when the diff reports differences (how many, in the badge's tooltip and the Drift row). A lastModified the platform bumped for a flow run or a debug toggle, with the content unchanged, is no badge at all: the Drift row reads timestamp moved — … the content matches your file, and if the comparison could not run it says the content was not compared with the CLI's reason and the celigo diff line to run yourself. The Live section lists the steps with errors as links and, under the Drift row, what to do about it — Pull latest takes the server's copy of this document (celigo pull --force <path>, run by the extension through the CLI; a document with local edits since the last pull asks first, an unsaved editor buffer offers Save and continue or Revert and continue, and the CLI's summary line becomes the section's note while the canvas re-renders from the pulled file and the badge clears; under a timestamp moved drift the same button only refreshes the pulled token, the file already matching), Compare runs the quoted celigo diff line in a terminal, and, for a confirmed change, Pull everything runs the incremental celigo pull of the whole tree in a terminal, local edits kept. A celigo pull you run in a terminal is picked up on the next refresh — the pulled token is re-read from the tree's manifest each time. The Live button at the right carries a status dot (grey until the first read, green clean, red errors, amber for a confirmed change) and refreshes on click; while the canvas is visible and the window focused the overlay also refreshes on its own every celigo.canvas.liveRefreshSeconds (60 by default; 0 for on demand only), the same two read-mode CLI calls each time — the diff only while the tokens differ, and once per state — with the wait doubling up to ten minutes after a failed read. Click a step's error count (on its card, or the Open errors row of the step's Live section in the details panel) to list the step's open errors in a Live errors section under it — code, classification, retryable or not, when it occurred, the message, the errorId and trace key — read through celigo flows errors; the newest 50 are shown and the section names the terminal line for the rest. Open › on an error shows what Error Management shows for it, read-only: its fields (Error), its retry data — the record as the step saw it when it failed — as JSON (Record), and the stored HTTP request and response with method, URL, status, headers and body (Request, Response), each read through celigo flows error when its tab is first opened; Copy JSON and Open in editor give you the whole payload (the panel shows up to 512 KB), and header or query values that look like credentials are masked. The flow's Live section lists every step with open errors as the same links. The list acts, too: Retry on a row (an error that can be retried — its record is sent through the step again, no confirmation) and Resolve, the same two in the error view, Retry all / Resolve all over every open error on the step — the CLI pages them all, not only the 50 listed — and, with rows checked, Retry selected / Resolve selected. Anything bulk and every resolve asks first in a modal that names the count, the step and the profile (Resolve 158 open errors on Update job tracker? Resolved errors leave the open list and cannot be reopened.). Each runs celigo flows retry-errors or resolve-errors through the CLI under the profile's own permission mode: a read-mode profile sees the CLI's refusal in the panel with the terminal line to run instead, never a silent nothing. The CLI's outcome is the list's note — Retry queued for 3 record(s). (job …), since a retry is a job whose open count drains as it runs; Resolved 158 error(s). — and the list and the step's count are read again. Assignment, comments and the resolved-error history stay in Error Management.
  • Edits the graph. Edit turns on the Flow Builder affordances: + on any edge adds a step or a branching, step menus add and remove steps and toggle error handling (a dashed Add destination / lookup or Add source placeholder has the same ⋯, with Remove step / Remove source), the details panel's Move left / Move right reorder a step within its branch (offered only where there is a step to move past), branch ends merge into a merge point or another branch (and remove a branch that has no steps), merge points unmerge, branchings gain branches and names, the Enabled / Disabled switch beside the flow's name toggles disabled (a read-only badge outside edit mode). Every edit is written to the document as canonical JSON through the CLI's own mutation rules (the same JSON the builder saves) — undo works, celigo status sees exactly the change — and Push runs celigo push --dry-run, then celigo push, for this flow and its changed step documents and scripts, in a terminal: the flow's document first, then every file its steps reference that has local changes — an import edited in the Resource tab, a hook's script.js, an AI agent's instructions.md, a modified connection — each named on the terminal's line, so nothing the canvas wrote is left behind. Canvas and JSON edits are ordinary unsaved edits to the document: Cmd/Ctrl+Z undoes them one at a time, File: Revert File drops them all, and Pull latest replaces the saved file with the server's copy. Push sends what is on disk, so a document or related file with unsaved edits asks first — Save all and continue, or Cancel.
  • Finds nodes. The Find node field in the toolbar (Cmd/Ctrl+F while the canvas is focused) matches step names, applications, resource types, resource and connection names and branch names, every word you type; Enter / Shift+Enter walk the matches, which are selected and centred at the current zoom; Esc clears. Non-matches step back so the matches stand out.
  • Lays out either way. Left to right as Flow Builder does, or top to bottom: View › Vertical layout in the toolbar flips one canvas, and celigo.canvas.direction sets the default. The vertical layout is the Flow Builder layout transposed — same rules, same spacing — with the step component chips in columns above and below each card and the sources in a row centred over the trunk, each dropping to one join line. View › Fit to screen shows the whole graph however large it is.
  • Exports. The toolbar's Export menu saves a PNG or SVG image of the canvas, or copies a Mermaid diagram that renders natively in a GitHub pull request description, reading in the canvas's direction (flowchart LR or TD).

Restricted Mode

The extension supports untrusted workspaces with limits: the canvas renders, the details panel and the JSON editor work and edits are written to the open document, but nothing spawns the celigo CLI — lint findings, the live overlay, push and the offer to install the CLI stay off (Live and Push say so in their tooltips) until you trust the workspace, at which point open canvases refresh on their own. celigo.cliPath is a restricted setting: a workspace's own value is ignored until the workspace is trusted.

Requirements

  • VS Code 1.104+ or Cursor.
  • The Celigo CLI on your PATH for lint findings, the live overlay and push (npm install -g @celigo/celigo-cli). Rendering and editing work without it.

Installation

  • In the Extensions view, search for Celigo by the publisher Celigo (the Visual Studio Marketplace in VS Code, Open VSX in Cursor and other editors) and click Install.
  • Or install a downloaded VSIX from the terminal: code --install-extension celigo.vsix in VS Code, cursor --install-extension celigo.vsix in Cursor.

Usage

Open a flow:

  1. Pull a tree with the CLI: celigo pull.
  2. Open a flow.json, api.json or tool.json from the tree.
  3. Press Cmd/Ctrl+Shift+V, or click the preview icon in the editor title, to open the canvas beside the editor.
  4. Or run Celigo: Open Flow Canvas from the Command Palette (also on the editor's and the Explorer's context menu) to open it in the current editor group.
Interaction What happens
Click a step The details panel shows its facts, its Live section (live overlay on), its step components, its Related tree and its JSON (Step and Resource), each section folding from its header. A collapsed panel stays collapsed — its rail's chevron shows a dot for the selection — and folded sections stay folded.
Double-click a step, or Go to step in flow.json in its ⋯ menu The editor jumps to the step's definition in the document (api.json / tool.json for those).
Open export file (import, lookup, AI agent… — the step's type) in the ⋯ menu The document the step references opens in its own editor.
Click a step component chip Its configuration opens in the details panel, with its Related item selected (a folded Related tree or JSON section unfolds).
Click a step's live error count (3 errors) The step is selected and its open errors are listed in the Live errors list of the details panel's Live section, which unfolds if folded (live overlay on; read through the CLI).
Click the toolbar's 139 open errors or remote changed badge The details panel opens on the flow's Live section (unfolding it if folded): every step with open errors as a link, and, when celigo diff confirmed the server copy changed since the pull, the Pull latest / Compare buttons, the celigo diff line and the Pull everything link. A timestamp moved drift (the server's lastModified bumped by a run or a debug toggle, the content matching) has no badge; its Drift row says so, with Pull latest and Compare in the plain style.
Pull latest in the Live section Takes the server's copy of this document — celigo pull --force <path> through the CLI, only this file forced, the rest of the tree pulled incrementally — and shows the CLI's summary line. A clean document is pulled at once; one with local edits asks first (Take server copy / Compare first / Cancel), since they are discarded; an unsaved editor buffer asks what to do with the edits first (flow.json has unsaved edits. Pull replaces the file on disk. — Save and continue keeps them in the file, and the pull then asks as above; Revert and continue drops them, as File: Revert File does, and pulls; Cancel keeps everything); a missing or untracked document leaves the button disabled with the reason. The canvas re-renders from the pulled file and the remote changed badge clears. Under a timestamp moved drift the same pull only refreshes the pulled token — the file already matches, so it is not rewritten — and the Drift row returns to in sync.
Compare / Pull everything in the Live section Compare runs the quoted celigo diff line in a terminal — your file against the server copy, field by field, nothing written; the same comparison the extension ran to decide the drift. Pull everything runs the plain incremental celigo pull of the whole tree in a terminal: files the server changed are refreshed, your local edits are kept, deletions are only reported.
Live (the dot · Live · ↻ button) Re-reads the live overlay now; its tooltip says when it was last read and how often it refreshes on its own while the canvas is visible.
Open › on a listed error The error's fields, its retry data (the record), and its request and response open in the section, read-only; Copy JSON / Open in editor give you the whole payload.
Retry / Resolve on a listed error (or in the error view's title line) Retry sends the record through the step again — celigo flows retry-errors through the CLI, one record, no confirmation; disabled with the reason on an error without retry data. Resolve takes the error off the open list for good — celigo flows resolve-errors — after a modal (Resolve 1 error on ? — Resolve / Cancel). Both run under the profile's permission mode: a read-mode profile gets the CLI's refusal in the list, with the terminal line. The CLI's line becomes the list's note and the list is read again.
Retry all / Resolve all above the list, or Retry selected / Resolve selected with rows checked Every open error on the step (the CLI pages them all — not only the 50 listed) or the checked ones, after a modal naming the count, the step and the profile (Retry 158 open errors on ? Each record is sent through the step again — the destination receives it again. — Retry all / Cancel). A retry is queued as a job: the count drains as it completes.
Click a Related script or Instructions item The script.js or instructions.md loads in the details panel as its own tab.
Cmd/Ctrl+F Find node: matches step, application, resource, connection and branch names; Enter / Shift+Enter walk the matches.
Cmd/Ctrl+\, the chevron in the details panel's header, or View › Show details panel Collapses the details panel to a rail so the canvas takes the room, or opens it again at its previous width. A step's live error count or a step component chip opens a collapsed panel too — their whole effect is in it — where selecting a step does not.
A section's header (Facts, Live, Step components, Related, the JSON section's tabs row) Folds or unfolds that section (Enter / Space on the focused header do the same); the sections above the editor scroll as one, so a folded section gives its room to the others.
The grip on the divider above the JSON section Drag to split the panel between the sections and the editor (ArrowUp / ArrowDown 16 px, Home / End to the floors); double-click for the default half.
Edit Turns on the Flow Builder affordances: + on edges, the add / remove items in the step and branching menus (in view mode they say Turn on Edit to…; a dashed placeholder step's ⋯ has Remove step), branch and merge operations (a branch end's menu removes an empty branch), the Enabled / Disabled switch, an editable JSON panel.
Push Runs celigo push --dry-run, then celigo push, for this flow and its changed step documents and scripts, in a terminal — the plan first, then the push, the flow and every referenced file with local changes named on the line. Push sends what is on disk: when the document or a related file it would send has unsaved edits, a modal names them and offers Save all and continue, or Cancel.

Settings

Setting Default What it does
celigo.cliPath celigo The CLI executable to run.
celigo.canvas.lint true Run celigo lint on the document and show findings on the canvas.
celigo.canvas.liveOverlay false Read live account state through the CLI (read mode; never writes).
celigo.canvas.liveRefreshSeconds 60 How often the live overlay is re-read while its canvas is visible and the window focused, in seconds. 0 refreshes only on demand (the Live button, a save, Celigo: Refresh Live Overlay); values below 15 are raised to 15. After a failed read the wait doubles, up to 10 minutes, until a read succeeds.
celigo.canvas.showComponents true Show the step component chips (filters, mappings, hooks, error handling) on step cards.
celigo.canvas.direction horizontal Lay the canvas out left to right (horizontal, as Flow Builder does) or top to bottom (vertical). View › Vertical layout in the toolbar flips one canvas without changing the setting; Copy Flow as Mermaid follows the canvas.

Commands

Celigo: Open Flow Canvas, Celigo: Open Flow Canvas to the Side (Cmd/Ctrl+Shift+V), Celigo: Copy Flow as Mermaid, Celigo: Push Flow with celigo (plan first), Celigo: Refresh Live Overlay.

Three commands exist for their keybindings, which apply while a canvas is the active editor — wherever focus sits inside it — and can be rebound in Keyboard Shortcuts: Celigo: Apply the JSON Panel's Edits (Cmd/Ctrl+S), Celigo: Find Node on the Canvas (Cmd/Ctrl+F) and Celigo: Show or Hide the Details Panel (Cmd/Ctrl+\, Split Editor's key, which a webview panel has no use for). Command IDs are celigo.<name> (celigo.open, celigo.openToSide, celigo.copyMermaid, celigo.push, celigo.refreshLive, celigo.applyJson, celigo.findNode, celigo.togglePanel).

Support

  • Documentation for the extension and the CLI — guides, the command reference and the changelog: developer.celigo.com/cli.
  • Extension bugs, feature requests, and integrator.io questions: Celigo Support. Include the extension's version, your VS Code or Cursor version and operating system, the output of celigo --version when the CLI is involved, and a minimal reproduction. Never post API tokens, credentials, customer data, or complete request or response payloads.
  • Security vulnerabilities: email security@celigo.com rather than a public channel.

Contributing

The extension is developed in the Celigo CLI's repository, alongside the CLI, as an npm workspace; the CONTRIBUTING.md there covers building it, the dev harness and releasing.

License

MIT; the LICENSE file ships with the extension.

The canvas is set in Inter: the extension ships Inter 4.1's InterVariable.woff2, © The Inter Project Authors and licensed under the SIL Open Font License 1.1, whose text (LICENSE.txt) travels beside the font in the VSIX.

The icon is Celigo's monogram. Celigo and the Celigo logo are trademarks of Celigo, Inc. — the icon identifies this extension in the Marketplace and is not covered by the MIT license.

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