Skip to main content

Overview

Protocol blocks enable communication using various network protocols beyond HTTP:
  • TCP/UDP: Raw socket communication
  • FTP: File transfer operations
  • SSH: Remote command execution
  • IMAP: Email retrieval via IMAP
  • SMTP: Email sending
  • POP3: Email retrieval via POP3

TcpRequest

Send data over TCP sockets.

Settings

host
string
required
Target host (IP or domain)
port
number
default:"80"
required
TCP port number
data
string
required
Data to send (supports variable interpolation)
output_var
string
default:"TCP_RESPONSE"
Variable name to store response
timeout_ms
number
default:"5000"
Connection timeout in milliseconds
use_tls
boolean
default:"false"
Use TLS/SSL encryption
ssl_verify
boolean
default:"true"
Verify SSL certificates (when use_tls is true)
capture
boolean
default:"false"
Capture as user-visible variable

Example

{
  "block_type": "TcpRequest",
  "label": "Custom Protocol",
  "settings": {
    "type": "TcpRequest",
    "host": "api.example.com",
    "port": 9000,
    "data": "HELLO <input.USER>\\r\\n",
    "use_tls": true
  }
}

UdpRequest

Send UDP datagrams.

Settings

host
string
required
Target host (IP or domain)
port
number
default:"53"
required
UDP port number
data
string
required
Data to send
output_var
string
default:"UDP_RESPONSE"
Variable name to store response
timeout_ms
number
default:"5000"
Response timeout in milliseconds
capture
boolean
default:"false"
Capture as user-visible variable

Example

{
  "block_type": "UdpRequest",
  "label": "DNS Query",
  "settings": {
    "type": "UdpRequest",
    "host": "8.8.8.8",
    "port": 53,
    "data": "<data.DNS_QUERY>"
  }
}

FtpRequest

Perform FTP file operations.

Settings

host
string
required
FTP server hostname
port
number
default:"21"
required
FTP port
username
string
required
FTP username
password
string
required
FTP password
command
string
default:"LIST"
FTP command:
  • LIST - List directory contents
  • RETR - Download file
  • STOR - Upload file
  • DELE - Delete file
  • MKD - Create directory
  • RMD - Remove directory
  • CWD - Change directory
remote_path
string
Remote file/directory path (for RETR, STOR, DELE, MKD, RMD, CWD)
local_path
string
Local file path for upload (STOR)
output_dir
string
Local directory for download (RETR)
output_var
string
default:"FTP_RESPONSE"
Variable name to store result
timeout_ms
number
default:"10000"
Operation timeout
capture
boolean
default:"false"
Capture as user-visible variable

Example

{
  "block_type": "FtpRequest",
  "label": "List Files",
  "settings": {
    "type": "FtpRequest",
    "host": "ftp.example.com",
    "port": 21,
    "username": "<input.USER>",
    "password": "<input.PASS>",
    "command": "LIST",
    "remote_path": "/public"
  }
}

SshRequest

Execute commands over SSH.

Settings

host
string
required
SSH server hostname
port
number
default:"22"
required
SSH port
username
string
required
SSH username
password
string
required
SSH password
command
string
default:"banner"
Command to execute (or “banner” to get SSH banner)
output_var
string
default:"SSH_RESPONSE"
Variable name to store output
timeout_ms
number
default:"10000"
Command timeout
capture
boolean
default:"false"
Capture as user-visible variable

Example

{
  "block_type": "SshRequest",
  "label": "Run Command",
  "settings": {
    "type": "SshRequest",
    "host": "server.example.com",
    "port": 22,
    "username": "<input.USER>",
    "password": "<input.PASS>",
    "command": "whoami",
    "capture": true
  }
}

ImapRequest

Interact with IMAP email servers.

Settings

host
string
required
IMAP server hostname
port
number
default:"993"
required
IMAP port (993 for SSL, 143 for plain)
username
string
required
Email address or username
password
string
required
Email password
use_tls
boolean
default:"true"
Use SSL/TLS encryption
ssl_verify
boolean
default:"true"
Verify SSL certificates
command
string
default:"LOGIN"
IMAP command:
  • LOGIN - Test login
  • SELECT - Select mailbox
  • FETCH - Fetch message
  • SEARCH - Search messages
mailbox
string
default:"INBOX"
Mailbox name (for SELECT/FETCH/SEARCH)
message_num
number
default:"1"
Message number (for FETCH)
output_var
string
default:"IMAP_RESPONSE"
Variable name to store result
timeout_ms
number
default:"10000"
Operation timeout
capture
boolean
default:"false"
Capture as user-visible variable

Example

{
  "block_type": "ImapRequest",
  "label": "Check Email",
  "settings": {
    "type": "ImapRequest",
    "host": "imap.gmail.com",
    "port": 993,
    "username": "<input.USER>",
    "password": "<input.PASS>",
    "use_tls": true,
    "command": "LOGIN"
  }
}

SmtpRequest

Send emails via SMTP.

Settings

host
string
required
SMTP server hostname
port
number
default:"587"
required
SMTP port (587 for STARTTLS, 465 for SSL, 25 for plain)
username
string
required
SMTP username
password
string
required
SMTP password
use_tls
boolean
default:"true"
Use STARTTLS
ssl_verify
boolean
default:"true"
Verify SSL certificates
command
string
default:"EHLO"
SMTP command to send
action
string
default:"VERIFY"
Action type:
  • VERIFY - Just test login
  • SEND_EMAIL - Send actual email
from
string
Sender email (defaults to username)
to
string
Recipient emails (comma-separated)
subject
string
Email subject
body_template
string
Email body (supports variable interpolation)
output_var
string
default:"SMTP_RESPONSE"
Variable name to store result
timeout_ms
number
default:"10000"
Operation timeout
capture
boolean
default:"false"
Capture as user-visible variable

Example

{
  "block_type": "SmtpRequest",
  "label": "Send Email",
  "settings": {
    "type": "SmtpRequest",
    "host": "smtp.gmail.com",
    "port": 587,
    "username": "sender@example.com",
    "password": "<data.APP_PASSWORD>",
    "action": "SEND_EMAIL",
    "to": "recipient@example.com",
    "subject": "Test Email",
    "body_template": "Hello from IronBullet!"
  }
}

PopRequest

Retrieve emails via POP3.

Settings

host
string
required
POP3 server hostname
port
number
default:"995"
required
POP3 port (995 for SSL, 110 for plain)
username
string
required
Email address or username
password
string
required
Email password
use_tls
boolean
default:"true"
Use SSL/TLS
ssl_verify
boolean
default:"true"
Verify SSL certificates
command
string
default:"STAT"
POP3 command:
  • STAT - Get mailbox statistics
  • RETR - Retrieve message
  • DELE - Delete message
message_num
number
default:"1"
Message number (for RETR/DELE)
output_var
string
default:"POP_RESPONSE"
Variable name to store result
timeout_ms
number
default:"10000"
Operation timeout
capture
boolean
default:"false"
Capture as user-visible variable

Example

{
  "block_type": "PopRequest",
  "label": "Get Email Count",
  "settings": {
    "type": "PopRequest",
    "host": "pop.gmail.com",
    "port": 995,
    "username": "<input.USER>",
    "password": "<input.PASS>",
    "command": "STAT"
  }
}