# Webhook to cTrader — send your own alerts as signals

Source: https://pipsync.io/en/webhook-to-ctrader
Last updated: 2026-07-13

To send a webhook to cTrader, POST your JSON alert to a unique PipSync webhook URL: PipSync validates the payload and saves it as a signal on the Signals page for you to review. A webhook from your own system is never traded automatically: it always becomes a signal for your approval. Only alerts that TradingView itself sends can auto-trade, and only after an opt-in on the Advanced plan; cTrader accounts are gateway-connected, so for now indices, gold and crypto are not auto-traded on them, because their risk cannot be measured there. Telegram and Discord signals execute on cTrader, on demo and live accounts, via Spotware's official Open API.

This route is built for developers who already have a system that produces trade decisions — a scanner, a Python bot, an internal alerting service — and want a reviewable signal without hosting anything themselves. Anything that can make an HTTP POST becomes the signal source; PipSync handles authentication, payload validation and risk settings, and can push signed execution events back to your own endpoint.

## Custom webhook → cTrader at a glance

| | |
|---|---|
| Signal source | Any system that can send an HTTP POST with a JSON body — scripts, scanners, trading bots, internal services |
| Destination platform | Telegram and Discord signals execute on cTrader via the official Open API; a webhook from your own system is saved as a signal for your approval |
| Payload contract | instrument, direction (buy/sell), entry, sl and tp1 required, sl/tp above 0 — entry is a reference price; a webhook signal always waits for your approval |
| Installed software | None — no cBot, no cTrader Automate project, no VPS; ingestion runs in the cloud |
| Inbound rate limits | Requests are rate-limited; on HTTP 429, back off and retry |
| Execution feedback | Signed outbound webhooks (X-PipSync-Signature, HMAC-SHA256) for signals executed from Telegram or Discord; REST read API on the Enterprise plan |
| Auto-trade | Never for a webhook from your own system; only alerts from TradingView's published sender addresses can auto-trade (opt-in, Advanced plan), and for now not indices, gold or crypto on cTrader |
| Price | Webhook integration needs a plan that includes it (the Advanced plan) |

## How do I connect a custom webhook to cTrader?

The PipSync side is dashboard configuration; your side is one HTTP POST from whatever language your system is written in.

1. **Create your PipSync account and subscribe to a plan** — Sign up at app.pipsync.io (the $0 Free plan needs no card but only parses signals), then subscribe to a plan that includes webhook integration (payment method required). It is enough to generate the webhook URL and check Recent alerts from curl.
2. **cTrader for Telegram and Discord signals** — For Telegram and Discord signals, open Trading Accounts → Add account and choose cTrader and authorize through your cTrader ID. cTrader accounts are gateway-connected, so for now indices, gold and crypto are not auto-traded on them: their risk cannot be measured there.
3. **Create a webhook source and copy your URL** — Go to Settings → Advanced → TradingView Alerts and click Generate webhook URL. PipSync generates a unique URL containing a secret token and shows it only once — that URL is the credential your system will use, so store it like any other secret: with TradingView auto-trade on, anyone who has the URL can trigger trades. Regenerate it on the same screen if you suspect a leak.
4. **Send your first JSON POST** — From your own code or curl, POST a JSON body to the URL. Five fields are required: instrument, direction ("buy" or "sell"), entry, sl and tp1, with sl and tp1 above 0. Other fields such as lots are ignored. The entry price is a reference, and the signal waits for your approval.
5. **Execution events (Telegram and Discord signals)** — If your system needs confirmations, register your own endpoint under Settings → Webhooks. For signals executed from Telegram or Discord, PipSync POSTs signed events such as trade.opened and trade.closed to it — verify the X-PipSync-Signature header before trusting any payload.
6. **Verify with Recent alerts** — Fire a sample payload from curl and check Recent alerts under Settings → Advanced → TradingView Alerts: it shows each call with its status and, if rejected, the exact error.

## Can cTrader receive webhooks directly?

No. cTrader has no inbound HTTP endpoint a third-party system could call. The official integration path is Spotware's Open API, which expects you to build and host an authorized application: OAuth flows, persistent connections, symbol metadata, order lifecycle handling. The alternative — a cBot written in C# inside cTrader Automate — only runs while a terminal is open.

PipSync is a hosted endpoint for your signals. Your code makes a plain HTTP POST; PipSync validates it and saves a signal. You write no cBot and run no infrastructure of your own.

## What JSON do I send to trade on cTrader?

A small, flat JSON object. Five fields are required — instrument, direction, entry, sl and tp1 — and everything else is ignored. Because your own system produces the payload, parsing is deterministic: there is no free-text interpretation involved, unlike Telegram routes where an AI parser reads human-written messages.

The one detail that trips developers up is symbol naming. Brokers can use their own naming or suffixes for the same market, and there is no mapping setting for webhooks: PipSync upper-cases the instrument and keeps only letters and digits. A test POST shows you the parsed payload under Recent alerts — the fastest check — and if your broker spells it differently, message us in the support chat.

- direction (required): buy or sell (long and short also work); there is no close action
- instrument (required): the symbol, for example EURUSD
- entry (required): the signal's reference price, above 0
- sl / tp1 (required): stop-loss and take-profit price levels, above 0
- everything else, including lots: ignored

## How do I get execution confirmations back into my own system?

Through outbound webhooks. Register your endpoint under Settings → Webhooks and PipSync POSTs a signed JSON payload for events like signal.received, trade.opened, trade.closed, trade.tp_hit and trade.sl_hit. Delivery is attempted up to 5 times with exponential backoff, so a brief outage on your side does not lose events.

Every delivery carries an X-PipSync-Signature header in the form t=<unix-ts>,v1=<hex-hmac-sha256>. Verify the HMAC with your webhook secret using a constant-time comparison, and reject payloads whose timestamp is more than 5 minutes old to prevent replay attacks.

For pull-based access there is also a REST read API — GET /v1/signals and GET /v1/trades with pagination, RFC 7807 error responses and an OpenAPI 3.1 spec at /api/v1/openapi.json for generating typed clients. API keys for it are available on the Enterprise plan; the inbound webhook source and outbound event webhooks do not require it.

## What rate limits and safeguards apply to inbound webhooks?

Inbound webhook delivery is rate-limited. For most alert systems that is ample headroom — if your system can emit faster than allowed, batch or debounce on your side rather than retrying blindly.

Security is layered. The webhook URL contains a secret token, so possession of the URL is the credential — treat it like a password: with TradingView auto-trade on, anyone who has it can trigger trades, so regenerate it if you suspect a leak. Separately, a webhook from your own system is never traded automatically: reviewing each signal on the Signals page keeps a human confirmation step between a buggy upstream system and your account.

## Can a webhook to cTrader trade automatically?

A webhook from your own system — a bot, a script or another tool — is never traded automatically: it always becomes a signal for your approval. Only alerts that TradingView itself sends, from its published sender addresses, can auto-trade, and only after you opt in.

Auto-trade is opt-in and off by default. It needs the Advanced plan: you set it up under Settings → Advanced → TradingView Alerts with an explicit consent (Set up auto-trading), then link your accounts and switch auto-trade on under Accounts & auto-trade. cTrader accounts are gateway-connected, so for now indices, gold and crypto are not auto-traded on them (their risk cannot be measured there). Telegram and Discord signals execute on cTrader via Spotware's official Open API.

Keep the webhook URL secret: with auto-trade on, anyone who has it can trigger trades. Regenerate it if you suspect a leak.

## Why use PipSync instead of building against the Open API myself?

You can absolutely integrate with Spotware's Open API directly — it is well documented. What you take on is the operational side: registering and maintaining an authorized application, OAuth token handling, connection management and reconnects, broker symbol metadata, order lifecycle states and error handling, plus hosting all of it somewhere that never sleeps. That is real engineering work.

Sending a webhook to PipSync is one HTTP request, but a webhook from your own system only produces a signal for your approval; it is never traded automatically. For executed cTrader trades, use Telegram or Discord signals.

## FAQ

### Do I need to write a cBot to automate cTrader with webhooks?

No. Your system POSTs JSON to a PipSync URL and the signal is created in the cloud; there is no cBot, no cTrader Automate project and no terminal to keep open. A webhook from your own system becomes a signal for your approval and is never traded automatically.

### Can I send webhooks to cTrader from Python, Node.js or any other language?

Yes. The source is just an HTTP POST with a JSON body, so anything with an HTTP client works — Python scripts, Node services, Go binaries, even curl from a cron job. The payload needs five fields — instrument, direction ("buy" or "sell"), entry, sl and tp1 — and other fields are ignored.

### How do I secure my PipSync webhook URL?

The URL contains a secret token and is the credential for your route — anyone who has it can post signals and, with TradingView auto-trade on, trigger trades. Store it in a secret manager rather than in code, and regenerate it under Settings → Advanced → TradingView Alerts if you suspect a leak. A webhook from your own system only creates a signal for your approval and is never traded automatically.

### Can my system close cTrader positions via webhook?

No. PipSync does not close positions from webhooks or alerts: a direction other than buy or sell is rejected. Protective levels travel with the signal (sl and tp1), and exits happen by stop loss, take profit or by you in PipSync and your platform.

### Is there a rate limit on webhooks to PipSync?

Inbound webhook delivery is rate-limited. If your system can emit faster than allowed, debounce or batch on your side rather than retrying blindly, and back off on HTTP 429.

### How does my system know what happened to a signal?

Subscribe to PipSync's outbound webhooks: events such as trade.opened, trade.closed, trade.tp_hit and trade.sl_hit are POSTed to your endpoint, signed with an X-PipSync-Signature HMAC header and retried up to 5 times with exponential backoff. Every parsed signal is also visible in the dashboard, and Enterprise plans can poll the REST API.

### Can a webhook from my own system trade on cTrader automatically?

No. A webhook from your own bot, script or tool is never traded automatically: it always becomes a signal for your approval. Only alerts that TradingView itself sends, from its published sender addresses, can auto-trade, and only after you opt in.

### Do TradingView alerts auto-trade on cTrader?

Only if you opt in: auto-trade is off by default and needs the Advanced plan. cTrader accounts are gateway-connected, so for now indices, gold and crypto are not auto-traded on them: their risk cannot be measured there.

### Is PipSync generating the trading signals?

No. Your own system decides when to trade; PipSync only receives the webhook and turns it into a signal for you to review. PipSync is a signal-handling tool — not a signal provider and not investment advice. Trading leveraged products involves substantial risk of loss.

## Related

- [Webhook to MT4 — coming soon, send JSON signals](https://pipsync.io/en/webhook-to-mt4)
- [cTrader signal copier for demo and live accounts](https://pipsync.io/en/ctrader-signal-copier)
- [Webhook to MT5 — send JSON signals from any system](https://pipsync.io/en/webhook-to-mt5)
- [TradingView to cTrader — signals you review, or opt-in auto-trade](https://pipsync.io/en/tradingview-to-ctrader)
- [Telegram to cTrader — execute signals automatically](https://pipsync.io/en/telegram-to-ctrader)
- [Why MetaTrader has no inbound webhook (and how to automate TradingView alerts anyway)](https://pipsync.io/en/metatrader-webhook)
- [Server-side risk management — trading rules enforced before your broker](https://pipsync.io/en/server-side-risk-management)
- [Signal copier with no VPS — execution runs in the cloud](https://pipsync.io/en/signal-copier-no-vps)

---

PipSync is a signal execution tool. It does not provide trading signals, does not guarantee any trading results and is not investment advice. Trading leveraged products involves substantial risk of loss.
