Phone system and SMS
Netgsm, Verimor, Bulutfon, AloTech, Tegsoft, Yeastar, 3CX, Karel, KobiKom and any phone system that can send events — the caller's card while it rings, calls logged on the company, call-back tasks for missed calls, click-to-call, transcribed recordings; SMS via Netgsm, Verimor, İleti Merkezi, Vatan SMS, KobiKom, Mutlucell, JetSMS, Twilio and providers with an HTTP send address.
With your cloud phone system connected, calls reach the company without manual entry: the caller's card opens while the phone rings, the finished call is logged on the company, a missed call becomes a call-back task and the recording is transcribed and summarised. SMS can be sent from records and workflows in the same place. The phone system and SMS are part of the Advanced and Enterprise plans — the Phone system & SMS module on the licence, granted to each user under Settings → Users.
Providers
| Provider | Call events | Click-to-call | Recording | SMS |
|---|---|---|---|---|
| Netgsm (Netsantral) | inbound / outbound call, end of call (CDR) | yes — your extension rings first | from the CDR's recording link | yes (İYS filter) |
| Verimor (Bulut Santralim) | ringing · answered · hung up — the address is written to the PBX automatically | yes | recording link via the API | yes (İYS filter) |
| Bulutfon | call start, call routed to an extension, end of call, missed call | no | call record via the API | no (Bulutfon offers no SMS) |
| AloTech | end of call (by agent e-mail) | yes — the agent's softphone rings | from the call report | no |
| Tegsoft | end-of-call events set up in Webhook Management | no | from {FILELINK} |
no |
| Yeastar (P series, cloud or on-premises) | call status (30011) and new call record (30012) — signed webhook | yes — your extension rings first | downloaded via the API | no |
| 3CX (V20) | the caller is recognised from Solk on the 3CX screen, call journal when the call ends | yes — Call Control API (Enterprise) | if sent with the event | no |
| Karel (MS / DS series, cloud) | ringing · answered · ended via Karel's CRM integration | with a call-start address template | from the recording link in the event | no |
| KobiKom phone system (KobiPBX) | webhook in the KobiKom panel | with a call-start address template | from the recording link in the event | no |
| Other phone systems (Asterisk / FreePBX, Panasonic…) | generic phone events address | with a call-start address template | from the recording link in the event | no |
| İleti Merkezi | — | — | — | yes (İYS filter) |
| Vatan SMS | — | — | — | yes ('commercial' content type; İYS check by the provider) |
| KobiKom SMS | — | — | — | informational only |
| Mutlucell | — | — | — | informational only |
| JetSMS | — | — | — | informational only |
| Twilio | — | — | — | informational only (international numbers too) |
| Other SMS providers (HTTP address) | — | — | — | informational only |
The event address goes into the phone system's settings; starting calls and fetching recordings use the provider's API. Provider credentials are entered only in Settings → Apps. Cards show the provider's own icon (loaded from the provider's website; Solk's icon stays if it can't be loaded).
The Yeastar, 3CX, Karel and KobiKom phone system connections and the Vatan SMS, Mutlucell, JetSMS, Twilio and HTTP SMS connections are beta: they follow the providers' documentation — confirm them with a test call / SMS when you set them up.
Setup
- 1
Connect
Settings → Apps → Phone & SMS → pick the provider, enter the API details, Test connection. Put the inbound address shown on the page into your phone system's event / CRM address setting (Verimor gets it automatically).
- 2
Map extensions
Settings → Phone & SMS → Extensions: each user's extension (the agent e-mail for AloTech, the user code for Tegsoft). A user with a mapped extension sees the card of calls routed to them, and the Call button rings their extension first.
- 3
Choose the rules
On the same page: who gets the card when the extension is unknown, what happens after a call, recordings, the SMS connection, the commercial message line and SMS templates.
Setup by provider
Yeastar
Yeastar web interface → Integrations → API: enable the API and copy the Client ID and Client Secret. In Solk enter the PBX's public https address, the Client ID and the Client Secret; Test connection fetches an access token. After saving, add the inbound address to Webhook Event Push (POST; events 30011 Call Status Changed and 30012 New CDR). If you also enter the webhook's secret in Solk, every event's signature is checked. Click-to-call uses Yeastar's dial API: your extension rings first, then the customer is called.
3CX
3CX V20 has two parts. Caller lookup and call journal: after saving the connection, use Download CRM template (3CX) and upload the file under 3CX admin console → Integrations → CRM → Server side; 3CX asks Solk about the number on inbound calls (contact and company name on the 3CX screen, with a link to the card) and sends the journal when the call ends. The template contains the connection's secret address — download it again if you rotate the address. Click-to-call: create a client under Admin console → Integrations → API (Call Control API Access), enter its Client ID and key in Solk and add the reps' extensions to the extensions the client monitors (needs a 3CX Enterprise licence).
Karel
Karel publishes no public API documentation; the connection is set up with Karel's CRM integration / data access package. Your Karel dealer or Karel support points the phone system's call events (ringing · answered · ended) to the inbound address Solk gives you (POST JSON, form or GET). Karel's own field names (CallerID, Extension, CallID, Duration…) are read automatically; use Field mapping if they differ. For click-to-call, enter Karel's call-start address as a template.
KobiKom phone system
For the KobiKom cloud phone system (KobiPBX), put Solk's inbound address into Webhooks / event stream in the KobiKom panel (call start, answered, end of call). KobiKom's API endpoints are opened on a developer application; get the call-start address from KobiKom and enter it as a template. KobiKom SMS is a separate connection (KobiKom SMS).
SMS providers
- Vatan SMS: API ID, API key and an approved sender name. Commercial messages go to Vatan SMS with the 'commercial' content type; the İYS check is done by the provider.
- Mutlucell and JetSMS: username, password and an approved sender name. Their documented APIs have no İYS parameter, so only informational SMS is sent.
- Twilio: Account SID, Auth Token and the sender (a number, an alphanumeric name or a Messaging Service SID). Suited to international numbers; for commercial messages in Turkey use a local provider with İYS.
- Other SMS providers (HTTP): enter your provider's send address as a template;
{numara}(905…),{numara10},{numara0},{mesaj}(message),{baslik}(sender),{id}are replaced (URL-encoded). An optional success phrase is looked for in the response. Informational SMS only.
Incoming call card
While a call rings, the caller's card opens at the bottom right of the web app: company and status, contact and title, number and extension, open opportunity, last touch, open actions (overdue in red), the AI summary of the last call and Open card. For an unknown number, Add as company (phone pre-filled). After the call the card stays for two minutes with Call note, Recording and SMS; × closes it. With several calls, the live one is expanded and the others collapse to one line.
The phone gets an Incoming call notification at the same time (phone only; it doesn't fill the inbox and isn't sent during quiet hours). When the extension is unknown — the PBX first puts the call in a queue or IVR — the card goes to the company's owner (default), everyone with a mapped extension or only the ringing extension. With Notify the owner when their customer calls on, the company's owner gets Your customer is calling even if someone else takes the call. In team visibility another team's company shows as Registered company on the card and in the notification.
Phone systems that can open a browser address on incoming calls (Tegsoft, Karel, AloTech) can use the screen-pop link: https://<company>.solk.app/tel/ac?n={PHONE} — opens the company card for a known number, otherwise an add suggestion.
After the call
- Answered calls are logged on the company as a Call activity (direction, duration, extension, queue), linked to the company's account-tracking project. Use Call note on the card to add notes.
- A missed inbound call creates a high-priority Call back task for the person who would have taken it (their extension, else the company owner). If the same number calls again that day, it is added to the existing task. No task for hidden numbers or extension-to-extension calls.
- When the number is called back and answered (or the customer calls again and is answered), the Call back task closes by itself and the callback time is recorded.
- A call with an unknown number creates a linking task for the person who took it (with an add-company link).
Each can be turned off in Settings → Phone & SMS.
Click-to-call
The Call button on company and opportunity headers, Call via phone system in the ⋯ action sheet, Call back on the Calls page and the mobile API: your extension (your softphone for AloTech) rings first, then the number is dialled; the call row is updated as events arrive. Seeing the company is enough, no edit right is needed.
Recordings
With a Call Recording licence the phone system's recording goes to Calls, is transcribed in Turkish, summarised and turned into to-dos, and linked to the call and the company. Transcription uses the workspace's monthly minute allowance — when it runs out new recordings aren't transcribed and Retry stays on the recording page. Calls shorter than the minimum length (default 15 s) are not fetched. If a recording isn't ready yet it is retried by the 10-minute scheduler.
Calls page
Calls in the menu (when a phone system is connected): total, inbound (answer rate), outbound (reached), missed and returned (median callback time), talk time; a per-person table for admins. Filters: period (today, 7 days, 30 days, this month), person, Inbound · Outbound · Missed · Not returned. From a row go to the call note, the recording, the company, call back or SMS.
SMS
With Netgsm, Verimor, İleti Merkezi or KobiKom connected, SMS on company and opportunity headers and Send SMS in the ⋯ action sheet: recipient (contacts and the company phone), message kind, template, text with a live character and part count. The sent SMS is added to the company as a note. The SMS page lists sent messages, bulk SMS and the opt-out list.
Message kinds
| Kind | For | Rule |
|---|---|---|
| Informational | order, delivery, appointment, reminder, payment | no consent needed; campaign wording (discount, campaign, %…) triggers a warning first |
| Commercial · business | campaigns, price lists, product news to a business's or tradesman's corporate line | no prior consent needed; stops on opt-out; passes the provider's İYS filter |
| Commercial · individual | campaigns to an individual (including an employee's personal line) | needs İYS consent; the provider's İYS filter drops numbers without it |
Commercial messages end with the identity and opt-out line from Settings → Phone & SMS (e.g. Company Ltd · reply RET to 3456 to stop), added automatically; without that line commercial SMS is not sent. KobiKom has no İYS parameter, so only informational messages go through it. This section is for information, not legal advice.
Opt-out list, bulk SMS, workflows
- Opt-out list: numbers on it get no commercial, bulk or workflow SMS. A RET reply to Netgsm adds the number automatically; numbers can also be added by hand. Only admins remove numbers.
- Bulk SMS (admins by default): by company status, city, owner, tag, or the contacts / companies selected in a table view — main contact, all contacts or the company phone. Preview shows how many will receive it, who is skipped and the text for the first recipient. Up to 2,000 recipients; sending continues in the background.
- Workflows: the Send SMS step — to the record's contact / the company's main contact, the company phone or the record owner (internal alert); informational or commercial (business).
- SMS replies (Netgsm interactive SMS) are added to the company as a note and the owner is notified.
Generic phone events
The inbound address of the Other phone systems connection accepts events from any PBX: https://<company>.solk.app/in/santral/<key> — POST (JSON or form) or GET (query string).
| Field | Value |
|---|---|
event |
ring · answer · hangup — synonyms such as ringing, cdr, missed work too |
id |
the PBX call id (the same for all events of a call) |
direction |
in · out |
number |
customer number (or from / to) |
ext |
extension (the user is found via the mapping in Settings → Phone & SMS) |
agent |
agent e-mail (instead of the extension) |
duration |
talk time (s) |
status / answered |
ANSWER · NO ANSWER · BUSY … or true / false |
recording |
recording link (https) |
started |
start (ISO 8601, YYYY-MM-DD HH:MM:SS or Unix time) |
{"event": "hangup", "id": "1716549021.88", "direction": "in", "number": "05321234567",
"ext": "101", "duration": 184, "status": "ANSWER", "recording": "https://pbx.example.com/rec/1716549021.88.mp3"}If your PBX uses other names, set the connection's Field mapping: number=caller_id, ext=agent_no. The call-start address template replaces {dahili} (extension), {numara} (0532…), {numara_e164} (90532…), {numara10}, {eposta} (e-mail), {id} (public https addresses only).
Notes and limits
- The latest raw events from the PBX are shown in Settings → Phone & SMS → Recent events (kept 7 days). If fields are read wrongly, fix them with the field mapping or send the table to Solk support.
- Netgsm: click-to-call uses the Netsantral API (
crmsntrl.netgsm.com.tr:9111); place a test call when you set it up. Direction and result codes in end-of-call records aren't documented by Netgsm, so they are derived from the talk time and the numbers. - AloTech: ask AloTech to enable the end-of-call notification for inbound calls; click-to-call uses the agent's session.
- Tegsoft: no server event for inbound calls is documented — connect the end-of-call events set up in your installation.
- Yeastar: the PBX's web interface must be reachable from outside over https (in the cloud …ras.yeastar.com / …yeastarcloud.com).
- 3CX: click-to-call only with an Enterprise licence and for extensions monitored by the API client; caller lookup and the call journal work with the template on every licence. Recordings are not sent with 3CX events.
- Karel and KobiKom phone system: with no public API documentation, place a test call when you set it up and check the fields under Recent events.
- The incoming call card refreshes every few seconds while the page is open, more slowly when the tab is in the background.
- Claude (MCP):
list_phone_callsis listed only in workspaces with a phone system andsend_smsonly with an SMS connection;send_smsasks for approval every time.