Best architecture for 3CX (hosted) -> Autotask PSA: transcribe, summarise and auto-create/populate tickets? (EU MSP, GDPR)

NXT GEN ICT

Silver Partner
Advanced Certified
Joined
Feb 2, 2026
Messages
2
Reaction score
2
ABOUT US / ENVIRONMENT
  • MSP based in the EU.
  • 3CX hosted in the cloud, full licence with AI features enabled.
  • ~50 calls per day.
  • CRM/PSA is Autotask PSA (full licence, including the Ultimate / Cooper Copilot AI tier).
WHAT WE WANT TO ACHIEVE
For each relevant call we want to automatically end up with a populated ticket in Autotask:
  • Speech-to-text of the call.
  • A summary generated from a standard template (consistent structure: reason for call / what was discussed / action items).
  • A ticket created in Autotask.
  • Fields filled from caller info: company, contact, call summary, and auto-labelling/categorisation.
A "human in the loop" at the end is sort of a hard requirement. We don't need perfect auto-assignment, just the ticket created in our queue with as much pre-filled as possible.

WHAT WE'VE ALREADY MAPPED OUT (so you don't have to re-explain unless we are wrong haha)
  • The server-side custom CRM template's call-journaling scenario only seems to expose a fixed set of variables: CallType, Number, Name, Agent, Duration, DateTime, CallStartTimeUTC, CallStartTimeLocal. There is no transcript/summary variable, and journaling fires at call-end - before any AI summary exists (summaries are post-call/async). So as far as we can tell, the AI summary cannot be pushed straight into a ticket via the CRM template. Please correct us if this has changed or is on the roadmap.
  • Autotask REST tickets require companyID, title and description; companyID can't be empty. For unmatched callers we'd point at a fixed "triage" company and let a human re-assign.
  • Autotask REST auth uses three headers (UserName / Secret / ApiIntegrationCode), whereas the CRM template appears built around a single custom header. Curious how others handled this for Autotask.
  • GDPR / ISO 27001: as an EU MSP we'd prefer recordings and transcripts to stay EU-resident. That makes US-based bring-your-own-key STT (Grok/OpenAI) less attractive than Azure STT pinned to an EU region, or the self-hosted 3CX Transcription Engine.
THE TWO OPTIONS WE'RE WEIGHING
Option A - DIY pipeline (maximum control, EU-resident)
  • 3CX hosted; our own environment running Azure Speech-to-Text + an LLM of choice for the summary; n8n as the automation orchestrator, self-hosted in the same environment.
  • Flow: call ends -> trigger pipeline -> fetch recording -> Azure STT -> LLM summary (standard template) -> Autotask REST API (look up company/contact by caller number, then create + populate + auto-label the ticket).
  • Recording lifecycle: hot -> cold storage -> deleted after 90 days (ISO retention).
  • Pros: full control over the summary template, labelling and field mapping; caller matching done via the Autotask API (richer than the template); data stays in our EU tenant.
  • Main open question: from hosted 3CX, what is the best-supported way to (a) trigger on call-end and (b) get the recording into n8n? Call Control API? Webhooks? Remote-storage events?
Option B - Native 3CX + Autotask AI (less custom code)
  • Hosted 3CX + Autotask via API. A custom CRM template creates the ticket on call-end (metadata + caller match). 3CX emails the transcript; Autotask inbound email processing attaches it to the existing ticket; Cooper Copilot (Ultimate) then summarises.
  • Pros: mostly off-the-shelf, less to maintain.
  • Cons/uncertainties: matching the async transcript email to the correct ticket (threading); Cooper summarises ticket text, so the transcript first has to land in the ticket as text; the summary step looks like it would be manual rather than automatic; auto-labelling would lean on Smart Ticket Triage.

QUESTIONS FOR THE COMMUNITY
  1. Has anyone built a custom CRM template against the Autotask REST API? Specifically, how did you handle the three auth headers given the template's single-custom-header design?
  2. Is there any supported way to get the AI call summary/transcript into a custom CRM journaling template, or is it strictly limited to call metadata? Is exposing transcript/summary to custom integrations on the roadmap?
  3. Does 3CX expose transcripts/summaries via an API or webhook for downstream automation (relevant for Option A)?
  4. For hosted 3CX, what's the best practice to trigger an external orchestrator (n8n) on call-end and pull the recording?
  5. For an EU MSP under GDPR/ISO 27001, does anyone have experience keeping transcription EU-resident - self-hosted Transcription Engine vs Azure STT (region-pinned)?
  6. Is anyone aware of an official or community Autotask (Datto PSA) integration in the works?
Any pointers, gotchas, or "wait, this is coming in Update X" would be hugely appreciated. Happy to share back whatever we end up building.
 
  • Like
Reactions: nikolascx
HI thanks for this detail:

This part is available. You can get the transcript and send it to the crm
  • The server-side custom CRM template's call-journaling scenario only seems to expose a fixed set of variables: CallType, Number, Name, Agent, Duration, DateTime, CallStartTimeUTC, CallStartTimeLocal. There is no transcript/summary variable, and journaling fires at call-end - before any AI summary exists (summaries are post-call/async). So as far as we can tell, the AI summary cannot be pushed straight into a ticket via the CRM template. Please correct us if this has changed or is on the roadmap.

I would wait until 3CX develops MCP (Client side). This is the part you need.

I would go for Option B. Something off the shelf just to get by.
Don't invest time and resources on options right now because once we release MCP, everything you would have built using traditional Rest API crm methods will start to look and feel old.

QUESTIONS FOR THE COMMUNITY
  1. Has anyone built a custom CRM template against the Autotask REST API? Specifically, how did you handle the three auth headers given the template's single-custom-header design? -> In the meantime instead of fighting with this ultra over engineering, ask them if they have MCP.
  2. Is there any supported way to get the AI call summary/transcript into a custom CRM journaling template, or is it strictly limited to call metadata? Is exposing transcript/summary to custom integrations on the roadmap? - Yes you can check existing templates like salesforce. They are passing summaries and transcripts.
  3. Does 3CX expose transcripts/summaries via an API or webhook for downstream automation (relevant for Option A)? - yes this is related to 2 above
  4. For hosted 3CX, what's the best practice to trigger an external orchestrator (n8n) on call-end and pull the recording? - Currently if you want to do something this is the way. You would need to build the flow. But do this only if Autotask (Datto PSA) have an MCP. If not, you will waste lots of time and by the time you have it ready, it will be discontined with the introduction of our mcp. Us this only if you are super confident with n8n and you can do this quick.
  5. For an EU MSP under GDPR/ISO 27001, does anyone have experience keeping transcription EU-resident - self-hosted Transcription Engine vs Azure STT (region-pinned)? - Wait for 3CX AI Server coming soon. Then you can host a local transcription server which will speak only to your 3CX and recordings will never be sent anywhere.
  6. Is anyone aware of an official or community Autotask (Datto PSA) integration in the works? -> No not that I know of.
God bless
 
HI thanks for this detail:

This part is available. You can get the transcript and send it to the crm
  • The server-side custom CRM template's call-journaling scenario only seems to expose a fixed set of variables: CallType, Number, Name, Agent, Duration, DateTime, CallStartTimeUTC, CallStartTimeLocal. There is no transcript/summary variable, and journaling fires at call-end - before any AI summary exists (summaries are post-call/async). So as far as we can tell, the AI summary cannot be pushed straight into a ticket via the CRM template. Please correct us if this has changed or is on the roadmap.

I would wait until 3CX develops MCP (Client side). This is the part you need.

I would go for Option B. Something off the shelf just to get by.
Don't invest time and resources on options right now because once we release MCP, everything you would have built using traditional Rest API crm methods will start to look and feel old.

QUESTIONS FOR THE COMMUNITY
  1. Has anyone built a custom CRM template against the Autotask REST API? Specifically, how did you handle the three auth headers given the template's single-custom-header design? -> In the meantime instead of fighting with this ultra over engineering, ask them if they have MCP.
  2. Is there any supported way to get the AI call summary/transcript into a custom CRM journaling template, or is it strictly limited to call metadata? Is exposing transcript/summary to custom integrations on the roadmap? - Yes you can check existing templates like salesforce. They are passing summaries and transcripts.
  3. Does 3CX expose transcripts/summaries via an API or webhook for downstream automation (relevant for Option A)? - yes this is related to 2 above
  4. For hosted 3CX, what's the best practice to trigger an external orchestrator (n8n) on call-end and pull the recording? - Currently if you want to do something this is the way. You would need to build the flow. But do this only if Autotask (Datto PSA) have an MCP. If not, you will waste lots of time and by the time you have it ready, it will be discontined with the introduction of our mcp. Us this only if you are super confident with n8n and you can do this quick.
  5. For an EU MSP under GDPR/ISO 27001, does anyone have experience keeping transcription EU-resident - self-hosted Transcription Engine vs Azure STT (region-pinned)? - Wait for 3CX AI Server coming soon. Then you can host a local transcription server which will speak only to your 3CX and recordings will never be sent anywhere.
  6. Is anyone aware of an official or community Autotask (Datto PSA) integration in the works? -> No not that I know of.
God bless
Hi Nicolas,

Thanks so much for the detailed steer! This is exactly the kind of insight we were hoping for, and we really appreciate you taking the time.

Good to hear the transcript/summary can already flow to the CRM. We'll dig into the existing Salesforce template via Show Template to see how it's passed and mirror that approach for Autotask.

The local transcription engine and the upcoming client-side MCP are both very relevant for us as an EU MSP, so based on your advice we'll hold off on heavy custom REST/n8n work and go with a lighter, off-the-shelf Option B as a stopgap.

One quick follow-up: is there any rough sense of timing for client-side MCP? Even a ballpark would help us decide how much to build in the meantime.

Thanks!
 
Last edited:
  • Like
Reactions: KyriacosS_3CX

Members Online Now

Forum statistics

Threads
111,832
Messages
589,278
Members
164,662
Latest member
DejanMDS