> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tryflowy.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Agent Actions

> Everything you can ask the assistant for — from one node to a finished campaign.

export const VideoPlayer = ({src, poster, aspectRatio = "16 / 9", title, className = ""}) => {
  const [playing, setPlaying] = useState(false);
  if (playing) {
    return <div className={`not-prose relative mx-auto my-6 w-full max-w-screen-md overflow-hidden rounded-2xl border border-gray-950/10 dark:border-white/10 ${className}`} style={{
      aspectRatio
    }}>
        <video src={src} controls autoPlay playsInline className="h-full w-full object-contain" />
      </div>;
  }
  return <button type="button" aria-label={title ? `Play video: ${title}` : "Play video"} style={{
    aspectRatio
  }} className={`not-prose group relative mx-auto my-6 block w-full max-w-screen-md cursor-pointer overflow-hidden rounded-2xl border border-gray-950/10 bg-gray-100 dark:border-white/10 dark:bg-white/5 ${className}`} onClick={() => setPlaying(true)}>
      <img src={poster} alt={title || "Video thumbnail"} className="h-full w-full cursor-pointer object-cover" />
      <div className="absolute inset-x-0 bottom-0 h-20 bg-gradient-to-t from-black/80 to-transparent sm:h-28" />
      <div className="absolute bottom-6 flex w-full items-center justify-between px-6">
        <p className="max-w-sm text-left text-lg font-semibold leading-tight text-white">
          {title}
        </p>
        <div className="rounded-full p-3 shadow-lg transition-all duration-300 group-hover:scale-110 group-active:scale-95" style={{
    backgroundColor: "#5C9987"
  }}>
          <svg width="24" height="24" viewBox="0 0 24 24" fill="#ffffff" aria-hidden="true">
            <path d="M8 5v14l11-7L8 5z" />
          </svg>
        </div>
      </div>
    </button>;
};

The assistant works your canvas with the same moves you'd make by hand — creating, wiring, editing, arranging, generating — plus a few you can't, like importing media straight from the web. Here's what to ask for.

<VideoPlayer src="/videos/canvas/ai-agent-actions.mp4" poster="/images/posters/canvas/ai-agent-actions.jpg" title="Watch: the assistant builds a canvas from one prompt" />

## Build something new

Ask for any structure and the assistant creates the nodes and wires them: text, image, video, audio, 3D, flam, storyboard, composition, sketch, vector, and brand kit nodes. Connections go through the canvas's validated wiring, so fan-in and fan-out get routed correctly on their own.

> "Set up a product-launch board: three image concepts feeding a video node, with my brand kit wired into everything."

## Edit what's there

It updates existing nodes — rewriting prompts, changing generation settings, renaming, moving, resizing, duplicating, deleting, and disconnecting. Destructive changes like deletes come with a heads-up first.

> "Make all three image nodes 9:16 and rewrite their prompts in a darker mood."

## Arrange and tidy

Layout work never generates anything and never costs credits: auto-arrange the graph, group or ungroup nodes, put a frame around a set, select things, or zoom the viewport to fit.

> "Group the character shots, frame the whole campaign, and tidy the layout."

## Generate media

Running nodes is the only action that spends credits, and in Review mode each run shows a confirm card with a credit estimate before anything starts. The assistant sequences work properly — it waits for upstream outputs to finish before running the nodes that depend on them, and it can create, connect, and run a new node in a single approved step.

> "Generate the three concepts, then run the video once they're done."

## Find and import media

Need a real photo rather than a generated one? The assistant searches Wikipedia, Wikimedia Commons, and Openverse for direct image URLs — with dimensions and license info — and can import any media URL onto your canvas. Imports are uploaded into your workspace as owned assets (not hot-links that can break) and arrive as ready-to-use nodes. No credits involved.

> "Get a photo of the Eiffel Tower and put it next to my moodboard."

## Inspect and critique

The assistant checks its own work — and yours. It reads the canvas graph, examines an image's actual pixels rather than trusting the prompt, verifies wiring before generating, and judges finished assets against the brief, regenerating with a targeted fix when a result falls short. See [Canvas Audit](/canvas/ai/canvas-audit) for how to use this deliberately.

## Ask and answer

When a brief is missing something that would change what gets built — the subject, the format, the count — the assistant asks one short question with a few concrete options instead of guessing. Otherwise it favors sensible defaults and momentum.

<Tip>
  For big briefs, the assistant proposes a step-by-step plan you approve before it builds — see [Plan Mode](/canvas/ai/plan-mode).
</Tip>
