Gene Library Courses Download Pricing Contact Sign in

Understand Workflow Blocks

Understand Workflow Blocks

Workflow blocks are the building pieces of a Feluda flow.

Each block performs one part of the process. You place blocks on the Studio canvas, configure them, and connect them in the order the information should move.

Feluda Studio currently includes these main block types:

  • Input;
  • Output;
  • LLM;
  • LLM Label;
  • LLM Extract;
  • Expression;
  • Generate Image;
  • Emit; and
  • Undo.

You do not need every block in one workflow.

Begin with the smallest set of blocks that can complete the task clearly.

How blocks work together

A block receives information, performs its task, and passes a result to the next connected block.

The simplest flow is:

Input → LLM → Output

A more detailed flow might be:

Input
→ LLM Label
→ LLM Extract
→ LLM
→ Output

Each block should have one clear purpose.

This makes the workflow easier to understand, test, and improve.

Input block

The Input block is where information enters the workflow.

The input may be:

  • text;
  • a message;
  • notes;
  • a document;
  • a description;
  • a set of details; or
  • another supported value.

Most workflows begin with an Input block.

When to use it

Use Input when the user, RunFlows, or another starting point needs to provide information to the flow.

For example:

Input → Summarise → Output

The Input block receives the text that will be summarised.

Good practice

Give the block a clear name that explains what should be provided.

Examples include:

  • Meeting Notes;
  • Customer Message;
  • Contract Text;
  • Article Draft; or
  • Product Description.

A clear name helps the user understand what the workflow expects.

Output block

The Output block returns a result from the workflow.

It can be used for:

  • a final answer;
  • a summary;
  • a table;
  • a classification;
  • a generated draft;
  • extracted fields;
  • an image result; or
  • a clear error message.

Most workflows end with at least one Output block.

When to use it

Use Output when a result should be shown or returned at the end of a path.

For example:

Input → Extract Details → Output

Multiple outputs

A workflow can use more than one Output block.

This is useful when different paths return different results.

For example:

Message
→ LLM Label
→ Question → Question Output
→ Complaint → Complaint Output
→ Other → Review Output

Name each Output block clearly so its purpose is easy to understand.

LLM block

The LLM block is the general AI reasoning block.

It sends the information it receives to the provider and model you select, together with your instruction.

An LLM block can be used to:

  • summarise;
  • analyse;
  • compare;
  • explain;
  • rewrite;
  • translate;
  • generate content;
  • prepare a draft; or
  • use approved tools.

When to use it

Use an LLM block when the task needs flexible language understanding or generation.

For example:

Meeting Notes → LLM Summary → Output

Configure it clearly

An LLM block normally needs:

  • a provider;
  • a model;
  • a clear instruction; and
  • any tools the model is allowed to use.

Keep the instruction focused on one main task.

Instead of asking one block to classify, extract, compare, summarise, and prepare a report, divide the work into separate blocks when the result becomes difficult to review.

LLM Label block

The LLM Label block uses AI to classify information into labels you define.

It can then send the information along the path that matches the selected label.

Example labels might include:

  • Billing;
  • Support;
  • Complaint;
  • Urgent;
  • Relevant;
  • Not Relevant; or
  • Human Review.

When to use it

Use LLM Label when:

  • the input must be sorted into categories;
  • each category needs a different next step;
  • the categories can be described clearly; and
  • the model needs to understand the meaning of the input.

For example:

Customer Message
→ LLM Label
→ Billing
→ Technical Support
→ General Question

Choose clear labels

Labels should be:

  • different from each other;
  • easy to explain;
  • broad enough to handle normal input; and
  • complete enough to include unexpected cases.

Add an Other or Human Review label when the input may not fit the main categories.

Test every route

Test examples for every label.

Also test:

  • unclear input;
  • input that could fit two labels;
  • empty input; and
  • unexpected content.

Classification should not be trusted after testing only one category.

LLM Extract block

The LLM Extract block pulls structured information from unstructured text.

It is useful when the source is written in normal language but the workflow needs named fields.

For example, it can extract:

  • names;
  • dates;
  • amounts;
  • organisations;
  • locations;
  • invoice details;
  • contract details; or
  • action items.

When to use it

Use LLM Extract when you know which fields you want.

For example:

Invoice Text
→ LLM Extract
→ [Vendor
→ Invoice Date
→ Total](/gaas/how-to-choose-a-gaas-provider) Amount
→ Output

Define the fields clearly

Use field names that are easy to understand.

For example:

  • Customer Name;
  • Order Number;
  • Request Type;
  • Deadline; and
  • Required Action.

Explain what should happen when a field is missing.

A useful rule is:

If the source does not contain the field, return "Not provided."
Do not guess.

Review extracted details

Compare extracted names, dates, and amounts with the original source.

Structured output can look reliable even when one field is incorrect.

Expression block

The Expression block handles fixed logic and transformations without asking an AI model to make the decision.

It can be used to:

  • check a condition;
  • transform information;
  • filter values;
  • route results using defined rules;
  • clean text;
  • detect or handle sensitive data; or
  • call a supported tool without AI reasoning.

When to use it

Use Expression when the rule is clear and does not require interpretation.

For example:

If Status equals "Urgent" → Urgent Path
Otherwise → Normal Path

A fixed rule is usually more predictable than asking an AI model to make a decision that can be expressed directly.

AI classification or Expression?

Use LLM Label when the category depends on meaning.

Use Expression when the condition depends on a clear value or rule.

For example:

  • "Does this message sound urgent?" may need LLM Label.
  • "Is the priority field equal to Urgent?" can use Expression.

Choose the simpler option that can complete the task reliably.

Generate Image block

The Generate Image block creates an image from a text description using a supported image model.

It can be used for:

  • article illustrations;
  • concept images;
  • campaign ideas;
  • social media visuals;
  • presentation graphics; or
  • other generated visual content.

When to use it

Use Generate Image when an image is part of the workflow's result.

For example:

Article Brief
→ LLM Creates Image Description
→ Generate Image
→ Output

Write a clear image description

The description should explain:

  • the subject;
  • the setting;
  • the visual style;
  • the composition;
  • important details; and
  • anything that should be avoided.

Review generated images before publishing or sharing them.

Image models can misunderstand text, objects, proportions, or requested details.

Emit block

The Emit block returns an intermediate result while the workflow continues.

This can help users see progress during a longer flow.

It can also help during testing by showing what a step produced before the final output is ready.

When to use it

Use Emit when:

  • the workflow takes several steps;
  • the user benefits from a progress update;
  • you want to expose an intermediate result;
  • a long-running process should show activity; or
  • you are troubleshooting how information changes.

For example:

Input
→ Extract Details
→ Emit Extracted Details
→ Create Report
→ Output

The intermediate result does not need to replace the final Output block.

Keep emitted results useful

Do not emit every small internal detail.

Show information that helps the user understand progress or review the flow.

Too many updates can make the result difficult to follow.

Undo block

The Undo block removes the most recent message from the conversation context used by the workflow.

This can help a later step try again without keeping an unhelpful earlier response in the active context.

When to use it

Use Undo when the workflow needs to:

  • retry after an unsuitable response;
  • change approach;
  • remove the last model message before continuing; or
  • recover from a path that should not influence the next attempt.

Undo is most useful in more advanced flows.

It is not normally needed in a first workflow.

Use it carefully

Make sure you understand which message will be removed and why.

Test the path several times so the workflow does not remove information that is still needed.

Error connections

AI and tool blocks may expose different error outputs.

These outputs let you connect a failure to another path instead of allowing the entire workflow to end without explanation.

A workflow might route:

  • a timeout to a retry path;
  • an unavailable model to another provider;
  • a tool error to a review output;
  • a content restriction to a human-review path; or
  • an unexpected result to a clear error message.

For example:

LLM
→ Success → Output
→ Error → Review Output

Error paths should be visible and tested.

Choose the simplest suitable block

Use the block that matches the task most directly.

Need Suggested block
Receive information Input
Return a final result Output
Summarise, write, analyse, or reason LLM
Sort content into meaning-based categories LLM Label
Pull named fields from text LLM Extract
Apply a fixed rule or transformation Expression
Create an image Generate Image
Show an intermediate result Emit
Remove the most recent context message before retrying Undo

Do not use a general LLM block when a more focused block makes the result easier to configure and review.

Combine blocks into a clear process

Blocks become useful when they are connected around a real task.

Summary workflow

Input → LLM → Output

Classification workflow

Input → LLM Label → Category Outputs

Extraction workflow

Input → LLM Extract → Output

Document review workflow

Input
→ LLM Extract
→ LLM Summary
→ Output

Content workflow

Input
→ LLM Draft
→ LLM Label Tone
→ Generate Image
→ Output

Privacy review workflow

Input
→ Expression Check
→ LLM
→ Output

Begin with the shortest flow that meets the need.

Keep one purpose per block

A block is easier to review when it performs one clear job.

For example, separate:

  • classification;
  • extraction;
  • summarisation;
  • drafting; and
  • final formatting.

This helps you identify which step needs improvement.

It also lets you choose the most suitable model for each AI task.

Name blocks by their outcome

Use names that explain what the block produces.

Good names include:

  • Classify Request;
  • Extract Invoice Fields;
  • Summarise Findings;
  • Check Required Details;
  • Generate Header Image;
  • Show Progress; or
  • Return Review Message.

Avoid names such as:

  • LLM 1;
  • Block 2;
  • New Step; or
  • Test.

Clear names make the canvas and activity easier to understand.

Do not add blocks without a reason

More blocks do not automatically make a workflow better.

Every added block can introduce:

  • another instruction to maintain;
  • another model call;
  • another possible error;
  • more information passing between steps; and
  • more output to review.

Add a block only when it performs a clear task that cannot be handled simply by an existing step.

Choose between one LLM block and several

One LLM block may be enough for a small task.

Use several blocks when:

  • each task needs a different instruction;
  • the results need to be reviewed separately;
  • different models are useful;
  • a later step depends on structured earlier output; or
  • one large instruction becomes unreliable.

For example:

Input
→ Extract Facts
→ Analyse Facts
→ Prepare Report
→ Output

This is easier to inspect than one block asked to do everything at once.

Test blocks individually

When possible, test the instruction or task before building the full flow.

Use Workbench to test:

  • LLM instructions;
  • classification labels;
  • extraction fields;
  • model choice; and
  • tool behaviour.

In Studio, review the output from each block as you build.

Correct an early problem before adding more downstream steps.

Review information passed between blocks

A block can only work with the information it receives.

Check whether:

  • the previous block returned the expected content;
  • the connection points to the correct next block;
  • the format is usable by the next step;
  • important information was removed; and
  • unexpected details were introduced.

When a later result is wrong, find the first block that produced an unexpected result.

Handle missing information

Decide how each relevant block should respond when information is missing.

For AI blocks, use instructions such as:

If the source does not include the requested information, return
"Not provided." Do not guess.

For Expression or decision paths, route incomplete input to a review or warning output.

Make missing information visible.

Review privacy at every block

Different blocks may send information to different models, tools, or services.

Review:

  • which provider each AI block uses;
  • whether the provider is local or cloud-based;
  • which tools are available;
  • whether an outside service receives information;
  • whether sensitive details can be removed earlier; and
  • where outputs are returned or saved.

Do not assume the privacy of the whole workflow from one block.

A good first progression

Learn the blocks in this order:

  1. Input
  2. LLM
  3. Output
  4. LLM Label
  5. LLM Extract
  6. Expression
  7. Generate Image
  8. Emit
  9. Undo

Begin with Input, LLM, and Output.

Add the other blocks when a workflow has a clear need for classification, extraction, fixed logic, image generation, progress updates, or retry behaviour.

Choose blocks around the result

Before opening Studio, describe the process in plain language.

For example:

Receive a customer message.
Identify the type of request.
Extract the important details.
Prepare a draft reply.
Return the result for review.

Then match each step to a block:

Input
→ LLM Label
→ LLM Extract
→ LLM
→ Output

This keeps the workflow focused on the user's goal instead of the number of available blocks.

Frequently Asked Questions

Do I need every block type in one workflow?
No. Use only the blocks required for the task. Many useful workflows contain only Input, LLM, and Output.
What is the difference between LLM Label and Expression?
LLM Label classifies information by meaning, while Expression applies a fixed rule or transformation that does not require AI interpretation.
When should I use LLM Extract instead of a normal LLM block?
Use LLM Extract when you need specific named fields from unstructured text, such as names, dates, amounts, or invoice details.
Why would I use an Emit block before the final Output?
Emit can show an intermediate result or progress update while the rest of the workflow continues, which is useful for longer flows and troubleshooting.