🔌 External Connections
External Connections is one place to connect outside systems to TSync — a CRM, a landing page, a phone system (PBX), 1C, a marketplace, or any service with a REST API or webhook. Instead of a separate, ad-hoc integration each time, every connection lives here with encrypted secrets, request logs, a test button, and per-company isolation.
Open it from the sidebar under Integrations → External connections, or from Configuration Center → Integrations → External connections.
Specialised connectors (like the amoCRM connector) can build on this same layer — you get one consistent, audited way to manage them all.
What the main page shows
When you open External connections you see:
- A short summary line with a counter — active / total connections (for example, 2/5 active).
- Two buttons at the top right: Provider templates and Logs.
- On the left, the Connections list — each connection shows its name, the provider it uses, and a coloured status label.
- On the right, the Add / Edit connection form.
Click a connection in the list to load it into the form on the right; click Add connection to start a fresh one.
Connection statuses
Each connection carries a status, shown as a coloured label:
- draft — created but not tested yet.
- active — the last test succeeded.
- degraded — the last test failed (the page shows the error message).
- error / disabled — set aside or turned off.
Provider templates
Click Provider templates to start from a ready-made template. The page lists each template with a short description, its default auth type and a base-URL hint, and an Add button:
- amoCRM — CRM: leads / contacts / companies / pipelines. (For full lead import/sync with OAuth login, use the dedicated amoCRM connector.)
- Tilda Webhooks — landing-page form submissions via webhook.
- ManyChat — chat marketing: subscribers / flows.
- 1C / OData — 1C over its OData REST interface.
- Generic REST — any REST API with a base URL + token.
- PBX webhook — telephony call events via webhook.
- Marketplace import — marketplace orders / catalogue import.
Press Add next to a template and it opens a new connection pre-filled with that provider's recommended auth type and a base-URL hint, so you only have to fill in the rest.
Add a connection
In the Add / Edit connection form fill in:
- Provider — the outside system (pick from the list of templates above).
- Auth type — how the service authenticates you:
- OAuth2 Authorization Code — login-based (use the provider's own connector to authorize).
- Bearer token (static) — a fixed API token.
- API key (header) or API key (query param) — a key sent in a header or in the URL.
- Basic auth — username + password.
- Webhook only — the service only sends events to you; there is nothing to call outward.
- Connection name (required) — anything you recognise.
- Base URL — the service's API address (for example,
https://api.example.com). A trailing slash is trimmed automatically. - Secret / token — stored encrypted. If a secret is already saved, the field shows masked dots (
••••••••) — leave them to keep the current secret, or type a new value to replace it. - Test path (optional) — the path the test call should hit (default
/). - API key header (optional) — the header name when using API key (header) (default
X-Api-Key). - API key query param (optional) — the URL parameter name when using API key (query param) (default
api_key).
Click Save. The connection appears in the list and the form reloads in edit mode so you can test it.
Test it
Once a connection is saved, press Test connection. TSync makes one safe call to the service with your settings (a GET to the base URL plus the test path, carrying the auth you chose) and shows the result:
- On success the connection turns active.
- On failure it turns degraded and the error message is shown at the top of the form.
Special cases:
- A Webhook only connection has nothing to call outward, so the test simply reports that there is no outbound endpoint — that's expected.
- An OAuth2 Authorization Code connection can't be minted a token from this generic test; it reports that you should authorize through the provider's own connector.
Every outbound test is written to the Logs page, with the URL masked so secrets are never recorded.
Webhooks (incoming data)
For a Webhook only connection, the edit form shows the Webhook URL — the address you give to the outside service so it can send events to TSync. Each connection gets its own unique key in that URL, so different services never share an address.
Incoming webhook data is always treated as untrusted: it is data to be validated, never instructions to act on automatically. Anything received this way is checked before it is used anywhere in TSync.
Logs and safety
The Logs page lists recent requests (newest first): Time, Direction (inbound / outbound), Method, a masked URL, Status code, duration in milliseconds, and any Error message.
- Secrets are encrypted at rest and never shown again after saving.
- URLs are masked in the logs — API keys, tokens and similar query values are replaced with
***before anything is stored. - Each connection belongs to one company — connections and their logs never leak across companies (when multi-company is on, you only see the active company's connections).
- Incoming data is treated as untrusted and is validated before anything is done with it.
Permissions
External Connections has its own permissions (Setup → Roles / staff member): View, Create, Edit and Delete. Viewing the list needs View; saving and testing a connection needs Edit; removing one needs Delete. Every change is recorded in the audit log, and deleting a connection also removes its logs after a confirmation.
When to use the dedicated amoCRM connector instead
External Connections is the generic gateway. For a full amoCRM workflow — OAuth login, lead import with de-duplication, and two-way webhooks — use the dedicated amoCRM connector, which is built on top of this layer and adds all the CRM-specific steps.