Misc
Miscellaneous blocks including agent execution, scheduling, HTTP requests, webhooks, and other utility functions.
Agent Executor
What it is
Executes an existing agent inside your agent
How it works
This block runs another agent as a sub-agent within your workflow. You provide the agent's graph ID, version, and input data, and the block executes that agent and returns its outputs.
Input and output schemas define the expected data structure for communication between the parent and child agents, enabling modular, reusable agent composition.
Inputs
user_id
User ID
str
Yes
graph_id
Graph ID
str
Yes
graph_version
Graph Version
int
Yes
agent_name
Name to display in the Builder UI
str
No
inputs
Input data for the graph
Dict[str, Any]
Yes
input_schema
Input schema for the graph
Dict[str, Any]
Yes
output_schema
Output schema for the graph
Dict[str, Any]
Yes
Possible use case
Modular Workflows: Break complex workflows into smaller, reusable agents that can be composed together.
Specialized Agents: Call domain-specific agents (like a research agent or formatter) from a main orchestration agent.
Dynamic Routing: Execute different agents based on input type or user preferences.
AutoPilot
What it is
Execute tasks using AutoGPT AutoPilot with full access to platform tools (agent management, workspace files, web fetch, block execution, and more). Enables sub-agent patterns and scheduled autopilot execution.
How it works
This block invokes the platform's copilot system directly via stream_chat_completion_sdk. It creates (or resumes) a chat session, streams the autopilot's response collecting text deltas, tool call details, and token usage, then returns the aggregated results. A recursion depth guard prevents infinite loops when the autopilot calls this block as a sub-agent.
Tool and block identifiers provided in tools and blocks are validated at run time before any execution begins — unknown names or UUIDs produce an error output immediately. When valid, the permissions object is passed into the SDK layer, which narrows the allowed_tools list sent to Claude; blocks are enforced at the run_block tool call site so the copilot cannot circumvent the filter by calling run_block directly. For sub-agent patterns (where an autopilot invokes another AutoPilot block), permissions are inherited: the child's effective allowed set is intersected with the parent's, so a sub-agent can only be more restrictive than its parent, never more permissive.
Inputs
prompt
The task or instruction for the autopilot to execute. The autopilot has access to platform tools like agent management, workspace files, web fetch, block execution, and more.
str
Yes
system_context
Optional additional context prepended to the prompt. Use this to constrain autopilot behavior, provide domain context, or set output format requirements.
str
No
session_id
Session ID to continue an existing autopilot conversation. Leave empty to start a new session. Use the session_id output from a previous run to continue.
str
No
max_recursion_depth
Maximum nesting depth when the autopilot calls this block recursively (sub-agent pattern). Prevents infinite loops.
int
No
tools
Tool names to filter. Works with tools_exclude to form an allow-list or deny-list. Leave empty to apply no tool filter.
List["add_understanding" | "bash_exec" | "browser_act" | "browser_navigate" | "browser_screenshot" | "connect_integration" | "continue_run_block" | "create_agent" | "create_feature_request" | "create_folder" | "customize_agent" | "decompose_goal" | "delete_folder" | "delete_preset" | "delete_schedule" | "delete_skill" | "delete_workspace_file" | "edit_agent" | "enter_agent_building_mode" | "find_agent" | "find_block" | "find_library_agent" | "fix_agent_graph" | "get_agent_building_guide" | "get_doc_page" | "get_mcp_guide" | "get_platform_info" | "get_sub_session_result" | "list_agent_triggers" | "list_chat_platform_channels" | "list_folders" | "list_presets" | "list_schedules" | "list_skills" | "list_workspace_files" | "memory_forget_confirm" | "memory_forget_search" | "memory_search" | "memory_store" | "move_agents_to_folder" | "move_folder" | "post_to_chat_platform" | "read_skill" | "read_workspace_file" | "run_agent" | "run_block" | "run_mcp_tool" | "run_sub_session" | "schedule_followup" | "search_docs" | "search_feature_requests" | "setup_agent_webhook_trigger" | "store_skill" | "update_folder" | "update_preset" | "validate_agent_graph" | "view_agent_output" | "web_fetch" | "web_search" | "write_workspace_file" | "Agent" | "Edit" | "Glob" | "Grep" | "Read" | "Task" | "TodoWrite" | "WebSearch" | "Write"]
No
tools_exclude
Controls how the 'tools' list is interpreted. True (default): 'tools' is a deny-list — listed tools are blocked, all others are allowed. An empty 'tools' list means allow everything. False: 'tools' is an allow-list — only listed tools are permitted.
bool
No
blocks
Block identifiers to filter when the copilot uses run_block. Each entry can be: a block name (e.g. 'HTTP Request'), a full block UUID, or the first 8 hex characters of the UUID (e.g. 'c069dc6b'). Works with blocks_exclude. Leave empty to apply no block filter.
List[str]
No
blocks_exclude
Controls how the 'blocks' list is interpreted. True (default): 'blocks' is a deny-list — listed blocks are blocked, all others are allowed. An empty 'blocks' list means allow everything. False: 'blocks' is an allow-list — only listed blocks are permitted.
bool
No
dry_run
When enabled, run_block and run_agent tool calls in this autopilot session are forced to use dry-run simulation mode. No real API calls, side effects, or credits are consumed by those tools. Useful for testing agent wiring and previewing outputs. Only applies when creating a new session (session_id is empty). When reusing an existing session_id, the session's original dry_run setting is preserved.
bool
No
Outputs
error
Error message if the operation failed
str
response
The final text response from the autopilot.
str
tool_calls
List of tools called during execution. Each entry has tool_call_id, tool_name, input, output, and success fields.
List[ToolCallEntry]
conversation_history
Current turn messages (user prompt + assistant reply) as JSON. It can be used for logging or analysis.
str
session_id
Session ID for this conversation. Pass this back to continue the conversation in a future run.
str
token_usage
Token usage statistics: prompt_tokens, completion_tokens, total_tokens.
TokenUsage
Possible use case
Scheduled Reports: Schedule an autopilot to run daily that checks workspace files, summarizes recent agent activity, and posts a report.
Multi-Step AI Workflows: Chain autopilot blocks where one gathers data and another analyzes it, enabling complex AI pipelines within the graph editor.
Sub-Agent Delegation: Delegate a research or formatting task to a sub-autopilot while the parent agent handles orchestration.
Create Reddit Post
What it is
Create a new post on a subreddit. Can create text posts or link posts.
How it works
This block uses the Reddit API via PRAW to create a new post in the specified subreddit. Provide the title and either text content for a self-post or a URL for a link post. Optionally apply flair using a flair ID from the GetSubredditFlairsBlock.
The block returns the created post's ID and URL, which can be used for chaining with comment blocks or monitoring.
Inputs
subreddit
Subreddit to post to, excluding the /r/ prefix
str
Yes
title
Title of the post
str
Yes
content
Body text of the post (for text posts)
str
No
url
URL to submit (for link posts). If provided, content is ignored.
str
No
flair_id
Flair template ID to apply to the post (from GetSubredditFlairsBlock)
str
No
flair_text
Custom flair text (only used if the flair template allows editing)
str
No
Outputs
error
Error message if the operation failed
str
post_id
ID of the created post
str
post_url
URL of the created post
str
subreddit
The subreddit name (pass-through for chaining)
str
Possible use case
Content Distribution: Automatically share articles or content to relevant subreddits.
Community Engagement: Post updates or announcements to subreddit communities.
Automated Posting: Schedule and post content to Reddit based on workflow triggers.
Delete Reddit Comment
What it is
Delete a Reddit comment that you own.
How it works
This block uses the Reddit API via PRAW to delete a comment you previously posted. The deletion is permanent and removes the comment from the post thread. You can only delete your own comments.
Inputs
comment_id
The ID of the comment to delete (must be your own comment)
str
Yes
Outputs
error
Error message if deletion failed
str
success
Whether the deletion was successful
bool
comment_id
The comment ID (pass-through for chaining)
str
Possible use case
Content Cleanup: Remove outdated or incorrect comments from discussions.
Automated Moderation: Delete comments that fail quality checks or receive negative feedback.
Delete Reddit Post
What it is
Delete a Reddit post that you own.
How it works
This block uses the Reddit API via PRAW to delete a post you previously created. The deletion is permanent and removes the post from the subreddit. You can only delete your own posts.
Inputs
post_id
The ID of the post to delete (must be your own post)
str
Yes
Outputs
error
Error message if deletion failed
str
success
Whether the deletion was successful
bool
post_id
The post ID (pass-through for chaining)
str
Possible use case
Content Management: Remove posts that are no longer relevant or contain errors.
Automated Cleanup: Delete posts based on performance metrics or time-based rules.
Edit Reddit Post
What it is
Edit the body text of an existing Reddit post that you own. Only works for self/text posts.
How it works
This block uses the Reddit API via PRAW to edit the body text of a self-post you created. Link posts cannot be edited. The new content replaces the existing post body.
Inputs
post_id
The ID of the post to edit (must be your own post)
str
Yes
new_content
The new body text for the post
str
Yes
Outputs
error
Error message if the edit failed
str
success
Whether the edit was successful
bool
post_id
The post ID (pass-through for chaining)
str
post_url
URL of the edited post
str
Possible use case
Content Updates: Update posts with new information or corrections.
Dynamic Content: Modify post content based on changing data or feedback.
Execute Code
What it is
Executes code in a sandbox environment with internet access.
How it works
This block executes Python, JavaScript, or Bash code in an isolated E2B sandbox with internet access. Use setup_commands to install dependencies before running your code.
The sandbox includes pip and npm pre-installed. Set timeout to limit execution time, and use dispose_sandbox to clean up after execution or keep the sandbox running for follow-up steps.
Inputs
setup_commands
Shell commands to set up the sandbox before running the code. You can use curl or git to install your desired Debian based package manager. pip and npm are pre-installed. These commands are executed with sh, in the foreground.
List[str]
No
variables
Variables defined here can be used directly in your code. Each key (variables_#_{name}) is injected directly as a local variable with the same name ({name}) in your code. Values wired in from other blocks keep their type; default values set on this node come in as strings, so parse them in your code if you need a number or other type.
Dict[str, Any]
No
code
Code to execute in the sandbox
str
No
language
Programming language to execute
"python" | "js" | "bash" | "r" | "java"
No
timeout
Execution timeout in seconds
int
No
dispose_sandbox
Whether to dispose of the sandbox immediately after execution. If disabled, the sandbox will run until its timeout expires.
bool
No
template_id
You can use an E2B sandbox template by entering its ID here. Check out the E2B docs for more details: E2B - Sandbox template
str
No
Outputs
error
Error message if the operation failed
str
main_result
The main result from the code execution (the script's final expression). Its json sub-field is ONLY populated when the result is a dict/object/map — bare lists, strings, and numbers land in text as a string instead. To pass structured data downstream via main_result_#_json_#_<key> links, end the script with a key-value structure in the script's language (e.g. {'items': my_list} in Python, ({items: myList}) in JavaScript).
Main Result
results
List of results from the code execution
List[CodeExecutionResult]
response
Text output (if any) of the main execution result
str
stdout_logs
Standard output logs from execution
str
stderr_logs
Standard error logs from execution
str
files
Files created or modified during execution. Each file has path, name, content, and workspace_ref (if stored).
List[SandboxFileOutput]
Possible use case
Data Processing: Run Python scripts to transform, analyze, or visualize data that can't be handled by standard blocks.
Custom Integrations: Execute code to call APIs or services not covered by built-in blocks.
Dynamic Computation: Generate and execute code based on AI suggestions for flexible problem-solving.
Execute Code Step
What it is
Execute code in a previously instantiated sandbox.
How it works
This block executes additional code in a sandbox that was previously created with the Instantiate Code Sandbox block. The sandbox maintains state between steps, so variables and installed packages persist.
Use this for multi-step code execution where each step builds on previous results. Set dispose_sandbox to true on the final step to clean up.
Inputs
sandbox_id
ID of the sandbox instance to execute the code in
str
Yes
step_code
Code to execute in the sandbox
str
No
language
Programming language to execute
"python" | "js" | "bash" | "r" | "java"
No
dispose_sandbox
Whether to dispose of the sandbox after executing this code.
bool
No
Outputs
error
Error message if the operation failed
str
main_result
The main result from the code execution (the script's final expression). Its json sub-field is ONLY populated when the result is a dict/object/map — bare lists, strings, and numbers land in text as a string instead. To pass structured data downstream via main_result_#_json_#_<key> links, end the script with a key-value structure in the script's language (e.g. {'items': my_list} in Python, ({items: myList}) in JavaScript).
Main Result
results
List of results from the code execution
List[CodeExecutionResult]
response
Text output (if any) of the main execution result
str
stdout_logs
Standard output logs from execution
str
stderr_logs
Standard error logs from execution
str
Possible use case
Iterative Processing: Load data in one step, transform it in another, and export in a third.
Stateful Computation: Build up results across multiple code executions with shared variables.
Interactive Analysis: Run exploratory data analysis steps sequentially in the same environment.
Get Reddit Comment
What it is
Get details about a specific Reddit comment by its ID.
How it works
This block uses the Reddit API via PRAW to retrieve detailed information about a specific comment by its ID. Returns the comment content, author, score, timestamp, and other metadata.
Inputs
comment_id
The ID of the comment to fetch
str
Yes
Outputs
error
Error message if comment couldn't be fetched
str
comment
The comment details
RedditComment
Possible use case
Comment Analysis: Analyze specific comments for sentiment or content moderation.
Thread Tracking: Monitor specific comments for engagement or replies.
Get Reddit Comment Replies
What it is
Get replies to a specific Reddit comment.
How it works
This block uses the Reddit API via PRAW to fetch replies to a specific comment. Returns a list of direct replies with their content, authors, and metadata.
Inputs
comment_id
The ID of the comment to get replies from
str
Yes
post_id
The ID of the post containing the comment
str
Yes
limit
Maximum number of replies to fetch (max 50)
int
No
Outputs
error
Error message if replies couldn't be fetched
str
reply
A reply to the comment
RedditComment
replies
All replies
List[RedditComment]
comment_id
The parent comment ID (pass-through for chaining)
str
post_id
The post ID (pass-through for chaining)
str
Possible use case
Conversation Threading: Build complete comment threads for analysis or display.
Response Monitoring: Track replies to your comments for engagement purposes.
Get Reddit Inbox
What it is
Get messages, mentions, and comment replies from your Reddit inbox.
How it works
This block uses the Reddit API via PRAW to fetch items from your Reddit inbox. Filter by type to get all items, unread only, direct messages, username mentions, or replies to your comments.
Inputs
inbox_type
Type of inbox items to fetch
"all" | "unread" | "messages" | "mentions" | "comment_replies"
No
limit
Maximum number of items to fetch
int
No
mark_read
Whether to mark fetched items as read
bool
No
Outputs
error
Error message if fetch failed
str
item
An inbox item
RedditInboxItem
items
All fetched items
List[RedditInboxItem]
Possible use case
Inbox Monitoring: Check for new messages or mentions to respond to.
Engagement Tracking: Monitor comment replies to stay engaged with discussions.
Get Reddit Post
What it is
Get detailed information about a specific Reddit post by its ID.
How it works
This block uses the Reddit API via PRAW to retrieve complete details about a specific post by its ID. Returns the post title, content, author, score, comment count, and other metadata.
Inputs
post_id
The ID of the post to fetch (e.g., 'abc123' or full ID 't3_abc123')
str
Yes
Outputs
error
Error message if the post couldn't be fetched
str
post
Detailed post information
RedditPostDetails
Possible use case
Post Analysis: Analyze specific posts for content quality or engagement metrics.
Content Verification: Verify post details before interacting with it programmatically.
Get Reddit Post Comments
What it is
Get top-level comments on a Reddit post.
How it works
This block uses the Reddit API via PRAW to fetch top-level comments on a post. Configure the sort order and limit to control which comments are returned.
Inputs
post_id
The ID of the post to get comments from
str
Yes
limit
Maximum number of top-level comments to fetch (max 100)
int
No
sort
Sort order for comments
"best" | "top" | "new" | "controversial" | "old" | "qa"
No
Outputs
error
Error message if comments couldn't be fetched
str
comment
A comment on the post
RedditComment
comments
All fetched comments
List[RedditComment]
post_id
The post ID (pass-through for chaining)
str
Possible use case
Sentiment Analysis: Analyze comments to gauge community sentiment on a topic.
Content Moderation: Review comments for compliance with community guidelines.
Get Reddit Posts
What it is
This block fetches Reddit posts from a defined subreddit name.
How it works
The block connects to Reddit using provided credentials, accesses the specified subreddit, and retrieves posts based on the given parameters. It can limit the number of posts, stop at a specific post, or fetch posts within a certain time frame.
Inputs
subreddit
Subreddit name, excluding the /r/ prefix
str
No
last_minutes
Post time to stop minutes ago while fetching posts
int
No
last_post
Post ID to stop when reached while fetching posts
str
No
post_limit
Number of posts to fetch
int
No
Outputs
error
Error message if the operation failed
str
post
Reddit post
RedditPost
posts
List of all Reddit posts
List[RedditPost]
Possible use case
A content curator could use this block to gather recent posts from a specific subreddit for analysis, summarization, or inclusion in a newsletter.
Get Reddit User Info
What it is
Get information about a Reddit user including karma, account age, and verification status.
How it works
This block uses the Reddit API via PRAW to retrieve public profile information about a Reddit user, including karma scores, account age, and verification status.
Inputs
username
The Reddit username to look up (without /u/ prefix)
str
Yes
Outputs
error
Error message if user lookup failed
str
user
User information
RedditUserInfo
username
The username (pass-through for chaining)
str
Possible use case
User Verification: Check user account age and karma before engaging.
User Research: Gather user profile data for analysis or outreach decisions.
Get Subreddit Flairs
What it is
Get available link flair options for a subreddit.
How it works
This block uses the Reddit API via PRAW to retrieve available link flair options for a subreddit. Use the flair IDs with the Create Reddit Post block to apply flair to your posts.
Inputs
subreddit
Subreddit name (without /r/ prefix)
str
Yes
Outputs
error
Error message if fetch failed
str
flair
A flair option
SubredditFlair
flairs
All available flairs
List[SubredditFlair]
subreddit
The subreddit name (pass-through for chaining)
str
Possible use case
Post Preparation: Get available flairs before creating posts to ensure proper categorization.
Flair Selection: Present flair options to users or select appropriate flair programmatically.
Get Subreddit Info
What it is
Get information about a subreddit including subscriber count, description, and rules.
How it works
This block uses the Reddit API via PRAW to retrieve metadata about a subreddit including subscriber count, description, creation date, and posting rules.
Inputs
subreddit
Subreddit name (without /r/ prefix)
str
Yes
Outputs
error
Error message if the subreddit couldn't be fetched
str
info
Subreddit information
SubredditInfo
subreddit
The subreddit name (pass-through for chaining)
str
Possible use case
Subreddit Research: Analyze subreddits before deciding to post or engage.
Community Analysis: Compare subreddit sizes and activity for market research.
Get Subreddit Rules
What it is
Get the rules for a subreddit to ensure compliance before posting.
How it works
This block uses the Reddit API via PRAW to retrieve the posting rules for a subreddit. Review these rules before posting to ensure compliance.
Inputs
subreddit
Subreddit name (without /r/ prefix)
str
Yes
Outputs
error
Error message if fetch failed
str
rule
A subreddit rule
SubredditRule
rules
All subreddit rules
List[SubredditRule]
subreddit
The subreddit name (pass-through for chaining)
str
Possible use case
Compliance Check: Review rules before automated posting to avoid violations.
Content Guidelines: Display rules to users before they submit content to a subreddit.
Get User Posts
What it is
Fetch posts by a specific Reddit user.
How it works
This block uses the Reddit API via PRAW to fetch posts submitted by a specific user. Configure sort order and limit to control which posts are returned.
Inputs
username
Reddit username to fetch posts from (without /u/ prefix)
str
Yes
post_limit
Maximum number of posts to fetch
int
No
sort
Sort order for user posts
"new" | "hot" | "top" | "controversial"
No
Outputs
error
Error message if posts couldn't be fetched
str
post
A post by the user
RedditPost
posts
All posts by the user
List[RedditPost]
Possible use case
User Analysis: Analyze a user's posting history for content patterns or topics.
Influencer Research: Research prolific posters in specific communities.
Instantiate Code Sandbox
What it is
Instantiate a sandbox environment with internet access in which you can execute code with the Execute Code Step block.
How it works
This block creates a persistent E2B sandbox environment that can be used for multiple code execution steps. Run setup_commands and setup_code to prepare the environment with dependencies and initial state.
The sandbox persists until its timeout expires or it's explicitly disposed. Use the returned sandbox_id with Execute Code Step blocks for subsequent code execution.
Inputs
setup_commands
Shell commands to set up the sandbox before running the code. You can use curl or git to install your desired Debian based package manager. pip and npm are pre-installed. These commands are executed with sh, in the foreground.
List[str]
No
setup_code
Code to execute in the sandbox
str
No
language
Programming language to execute
"python" | "js" | "bash" | "r" | "java"
No
timeout
Execution timeout in seconds
int
No
template_id
You can use an E2B sandbox template by entering its ID here. Check out the E2B docs for more details: E2B - Sandbox template
str
No
Outputs
error
Error message if the operation failed
str
sandbox_id
ID of the sandbox instance
str
response
Text result (if any) of the setup code execution
str
stdout_logs
Standard output logs from execution
str
stderr_logs
Standard error logs from execution
str
Possible use case
Complex Pipelines: Set up an environment with data science libraries for multi-step analysis.
Persistent State: Create a sandbox with loaded models or data that multiple workflow branches can access.
Custom Environments: Configure specialized environments with specific package versions for reproducible execution.
Post Reddit Comment
What it is
This block posts a Reddit comment on a specified Reddit post.
How it works
The block connects to Reddit using the provided credentials, locates the specified post, and then adds the given comment to that post.
Inputs
post_id
The ID of the post to comment on
str
Yes
comment
The content of the comment to post
str
Yes
Outputs
error
Error message if the operation failed
str
comment_id
Posted comment ID
str
post_id