TradingView webhooks9 min readPublished Sep 16, 2026Updated Aug 30, 2026

How to Read Webhook Execution Logs

Reconstruct a TradingView alert from Pine event through HTTP delivery, HexTrade validation, broker submission, and final order state without over-reading any single log.

By HexTrade1,828 wordsSources reviewed Aug 30, 2026
Aligned sender, webhook receiver, and broker event logs joined by one sanitized correlation label

How should webhook execution logs be read?

Start with one TradingView alert event, record its trigger time and Webhook status, then find the corresponding HexTrade execution record using non-secret payload labels, account, symbol, action, quantity, and time. Finally reconcile the destination broker's order and fill state. Read the three layers as a timeline; never infer a broker fill from a sender success or receiver acceptance alone.

TradingView's alert log answers whether its server created the event and what happened while delivering the HTTP request. It can show a timeout or response family, but it cannot see the downstream broker. HexTrade's docs point users to execution logs after account access and document labels such as `strategyName` and `alertName` that can improve correlation. The current interface should be treated as the authority for which exact fields are displayed; do not invent columns or statuses.

The broker account owns the final external order evidence. A receiver can accept a request that is later rejected, and a broker can accept an order that remains working rather than filled. Create a single incident row with observed facts from each source and mark missing evidence as unknown. That discipline matters most after timeouts and retries, when a plausible story can otherwise become a duplicate manual order.

  • Sender fact: an alert event existed and delivery had a reported status.
  • Receiver fact: a body was or was not observed, then validated or rejected according to available record.
  • Broker fact: an order identifier and current state exist—or remain unproven.
  • Operator fact: every action taken after the event is timestamped and attributable.
No single log owns the entire tradeTradingView alert logProves an alert event and reports the sender's…Receiver execution recordShows whether the payload was parsed, validated…Broker order recordShows accepted, working, rejected, cancelled, p…Operator incident noteJoins clocks, identifiers, assumptions, actions…
No single log owns the entire trade. Each evidence layer proves its own boundary and must be joined before an execution conclusion is safe.

What values should correlate webhook records?

Use a versioned strategy or alert label plus exact account, destination symbol, action, quantity, and sender event time. The combination should remain stable across TradingView's qualifying resends. Do not correlate by receiver arrival time alone, because each retry arrives later. Keep webhook URLs, tokens, broker credentials, and personal information out of log labels and shared incident exports.

HexTrade documents `strategyName`, `alertName`, `note`, and `tags` as optional labeling fields. Use a concise convention such as strategy family, reviewed version, trigger role, and a TradingView time placeholder. The label is for traceability; it is not proof of product-level idempotency. Two events can share a name, and an attacker or misconfigured script can send arbitrary labels, so route and broker evidence still need independent validation.

Account and symbol must be destination values. A chart can show a continuous future or CFD while the route uses a different broker symbol. Record both source and override when mapping is involved. For quantity, preserve the requested value and the broker's accepted or filled value separately. If a copy group fans out the master, retain a master-fill reference and create one follower outcome row rather than collapsing all accounts under a generic success.

Sanitized labels designed for timeline correlation
{
  "ticker": "MNQ",
  "action": "{{strategy.order.action}}",
  "quantity": "{{strategy.order.contracts}}",
  "platformType": "projectx",
  "accountId": "replace_with_exact_account_id",
  "strategyName": "opening-range-v4",
  "alertName": "entry-order-fill",
  "note": "opening-range-v4|{{ticker}}|{{timenow}}",
  "dryRun": true
}

A support-safe record contains no endpoint secret

Redact the complete private webhook URL and all credentials. Share correlation labels, sanitized fields, timestamps, and status evidence instead. Regenerate the URL if it was disclosed.

What does the TradingView alert log prove?

It proves that a running alert emitted an event and reports TradingView's view of webhook delivery, including its Webhook status. It can distinguish no trigger from HTTP, timeout, URL, TLS, or connection problems. It does not prove the receiver completed broker work. A three-second timeout especially leaves downstream state uncertain until receiver and broker evidence are checked.

Begin with the exact alert name and time. Confirm that the alert was active, unexpired, and based on the intended script snapshot, symbol, timeframe, and inputs. TradingView alerts run from a server-side mirror captured at creation; editing the chart afterward does not change that instance. If no event exists in the log, stay in the Pine and alert layer. Receiver and broker logs cannot explain a message that TradingView never emitted.

If an event exists, read the status literally. A 3xx points to redirect behavior; 4xx to receiver rejection; 5xx to a receiving-server failure; timeout to a response beyond three seconds; and URL, TLS, connection, or invalid-response errors to transport. TradingView documents resends only for 500–599 except 504, after five seconds, up to four total deliveries. Count those delivery attempts under one alert event rather than labeling each a new strategy signal.

Sender evidence and its boundary
TradingView evidenceWhat it supportsWhat remains unknown
No alert eventThe server-side alert did not emit in the inspected periodWhy Pine, configuration, expiry, frequency, or snapshot prevented it
2xx deliveryThe receiver returned a successful HTTP responseWhether it means parsed, accepted, submitted, or completed
4xxThe receiver rejected the requestExact field or access cause until receiver evidence is read
Qualifying 5xx attemptsTradingView may resend the same eventWhether any attempt created a downstream side effect
TimeoutNo response arrived inside three secondsWhether receiver or broker work already occurred

What should you extract from the HexTrade execution record?

Extract only fields and states the current HexTrade interface actually shows, then map them to four questions: did the request arrive, did documented validation pass, which exact account and symbol were selected, and what broker-facing result was recorded? Preserve the original wording and timestamp. Do not translate an unfamiliar status into “filled” or claim an undocumented log schema.

HexTrade's troubleshooting docs establish common validation checks: valid JSON, lowercase `platformType`, exact `accountId`, correct ticker or mapping, and broker constraints. Compare the sanitized rendered payload with the observed record. If no receiver record exists while TradingView reports success, verify the exact private endpoint and account context before assuming data loss. If a record rejects validation, fix that first and rerun in dry mode rather than jumping to broker analysis.

If validation passes, identify whether the available record shows a broker attempt or only a planned request. `dryRun: true` intentionally sends no order, so a successful dry result must stop there. For live requests, retain any broker-facing message and reference available in the interface. Product screens evolve; this guide avoids promising particular column names. The invariant is the question sequence, not a guessed UI layout.

  1. 1

    Match the event

    Use labels, account, symbol, action, quantity, and time without exposing the endpoint.

  2. 2

    Copy observed wording

    Preserve exact validation or broker messages before interpreting their cause.

  3. 3

    Separate dry from live

    A planned dry-run result cannot have a corresponding live broker order.

  4. 4

    Mark missing fields unknown

    Do not fill an absent broker reference or final state with an assumption.

How do broker orders complete the log timeline?

Open the exact destination account and compare symbol, side, requested quantity, accepted quantity, order type, broker timestamp, identifier, and current status where available. Distinguish accepted, working, partially filled, filled, cancelled, rejected, and unknown. If copy trading is involved, reconcile the master first and every follower separately. The broker record is the authority on actual external orders.

A successful receiver response can precede broker rejection. A broker acceptance can precede a fill by seconds, hours, or never, depending on order type and market. Partial fills change open exposure without matching either the requested size or a binary success label. Capture state transitions rather than taking one screenshot. If the product route also requested protective orders, verify those records independently; do not infer their existence from the entry payload.

For a missing broker identifier, compare a narrow time window, account, symbol, side, and quantity, but do not treat a nearby order as a match without corroboration. Manual trades can overlap automation. If the state remains unknown, pause new attempts and escalate with sanitized evidence. Replaying the webhook to see what happens destroys the clean timeline and may double the position.

  • Requested is not accepted.
  • Accepted or working is not filled.
  • Partially filled is real exposure and not a simple failure.
  • Unknown requires reconciliation, not an automatic retry.

How do you turn logs into an incident runbook?

Use one chronological worksheet with separate columns for TradingView event, each HTTP delivery, receiver validation, broker attempt, broker state, and operator action. Freeze retries while any side effect is unknown. Identify the first failed boundary, correct one cause, and retest in dry mode or smallest approved size. Close only when every potentially affected account is reconciled.

Include UTC timestamps alongside local display time and timezone so daylight-saving and cross-region logs can be ordered. Preserve the alert snapshot version, source and destination symbols, group topology, and documented risk controls. Record what is absent as carefully as what is present. An incident with a sender timeout and no receiver evidence is different from one with a submitted broker order and lost final response, even if both look like “no fill” to the user.

After resolution, create a regression case. A malformed JSON incident needs a rendered-payload parser test; stale alert code needs a recreate checklist; duplicate 5xx delivery needs idempotency evidence; symbol rejection needs an allowlisted mapping test; partial follower execution needs a group pause drill. Logs add value when they change the system or runbook, not when they merely provide a story after the fact.

Minimal incident timeline
TimeLayerObserved factIdentifierNext safe question
T0TradingViewAlert event and Webhook statusAlert name plus event timeDid the body arrive, and how many deliveries occurred?
T1HexTradeObserved validation or route resultLabels, account, symbol, action, quantityWas a live broker attempt made?
T2BrokerOrder reference and actual stateBroker identifier where availableIs exposure final, working, partial, rejected, or unknown?
T3OperatorPause, escalation, or controlled correctionIncident ownerAre all accounts reconciled before resuming?

Sources and methodology

HexTrade Research uses official product, exchange, regulator, and vendor documentation. Policies and platform behavior can change; follow the linked source and verify current terms before trading.

  1. 1.How to configure webhook alerts TradingView, accessed Aug 30, 2026
  2. 2.What webhook errors mean TradingView, accessed Aug 30, 2026
  3. 3.Webhook resubmission TradingView, accessed Aug 30, 2026
  4. 4.Using credentials for webhooks TradingView, accessed Aug 30, 2026
  5. 5.TradingView webhook automation HexTrade Docs, accessed Aug 30, 2026
  6. 6.Webhook troubleshooting HexTrade Docs, accessed Aug 30, 2026
  7. 7.Copy trading setup HexTrade Docs, accessed Aug 30, 2026

Frequently asked questions

Does a TradingView 2xx Webhook status mean the order filled?

No. It means the remote endpoint returned a successful HTTP response. Depending on the receiver, that may mean accepted for processing rather than broker-completed. Read the receiver record and destination broker order or fill before concluding execution.

Where can I see whether TradingView delivered a webhook?

TradingView documents a Webhook status column in the alert log. Start there to distinguish no alert event from a delivery problem. Then use receiving-system and broker evidence because the sender cannot see the complete downstream trade.

Can I identify a retry by its arrival timestamp?

Arrival time helps order attempts but is not a stable identity because each resend arrives later. Correlate the same sender event using versioned labels, account, symbol, side, quantity, and sender time. Qualifying retries can occur at five-second intervals.

What if HexTrade shows success but no order appears?

Determine what the observed success actually means, verify that `dryRun` was not enabled, and inspect the exact destination account for rejection, working order, mapping, or authorization evidence. Preserve the wording rather than assuming a fill or product defect.

What should be redacted from execution-log screenshots?

Redact the complete webhook URL or token, credentials, personal information, and any secret account-access data. Keep useful non-secret evidence such as timestamps, strategy version, platform, sanitized account reference, symbol, side, quantity, and exact status wording.

Next step

Put the research into a controlled workflow

Start small, verify the broker and account rules, and keep risk controls between every signal and live order.

Explore webhook automation

Continue reading

Educational content only. Futures are leveraged products and can produce losses greater than the amount you expected to risk. This article is not financial, legal, or prop-firm compliance advice.