Webhook Payload
Also known as: webhook body, JSON payload, alert payload, webhook message
What is it?
A webhook payload is the structured message a webhook sends to your connector when a signal fires. It is almost always JSON, and it carries the few fields a trade actually needs: the symbol, the side (buy or sell), the price, and the size. Your connector reads, or parses, that payload and turns it into an order at your broker.
{
"symbol": "EURUSD",
"side": "buy",
"price": 1.1000,
"size": 0.10,
"stop_loss": 1.0980,
"take_profit": 1.1060
}
// The connector parses these fields and places the order:
// side: "buy" -> open LONG (up)
// side: "sell" -> open SHORT (down)
// A missing or mismatched field means no order is placed.
Think of it as the order ticket travelling over the wire. A typical payload looks like {"symbol":"EURUSD","side":"buy","price":1.1000,"size":0.10}. When your connector receives those four fields, it knows to open a 0.10-lot long on EURUSD near 1.1000.
If a field is missing or misspelled, the connector cannot build the order, so the exact shape of the payload matters as much as the values inside it.
Why it matters: It is the contract between a signal and a live order, so a malformed or mismatched payload means the trade never reaches your broker.
A single wrong field in the payload can place the wrong size, side, or instrument, so payload correctness directly affects every automated order.
Real-world example
A TradingView alert sends {"symbol":"XAUUSD","side":"sell","price":2380.5,"size":0.05} to a connector, which then opens a 0.05-lot short on gold near 2380.50.
How SignalBots handles it
The SignalBots Connector validates each incoming webhook payload before it places a trade, so a malformed message is caught instead of routed to your broker. See /risk-warning.
Pro tip
Log every raw payload your connector receives so you can replay and debug a trade that did not fire exactly as expected.
Common pitfalls
Sending broker-specific symbol names (like 'EURUSD.m') that the receiving connector does not recognize, so the order is silently rejected.
Frequently asked questions
What fields does a webhook payload need?
At minimum a symbol, a side (buy or sell), and a size; many setups also include price, stop-loss, and take-profit. The exact fields depend on what your connector expects, so match its required schema.
Why is my webhook payload being rejected?
Usually the symbol name or a field key does not match what the connector expects, or the JSON is malformed. Validate the raw payload against the connector's required fields, and remember your capital is at risk on any order that does slip through.
Can a webhook payload include stop-loss and take-profit?
Yes, most connectors accept optional fields for stop-loss, take-profit, and order type alongside the core symbol, side, and size. Including them lets one payload define the full trade in a single message.
Is JSON the only format for a webhook payload?
JSON is by far the most common because it is easy to parse, but some endpoints accept plain text or form-encoded data. Use whatever format the receiving connector documents.
How do I test a webhook payload safely?
Send it to a demo or paper account first and inspect the resulting order before going live. Since your capital is at risk in real trading, confirm the payload maps to the right instrument and size beforehand.
Trading involves substantial risk of loss. Historical and backtested results do not guarantee future performance. Read the full risk warning.