Call Processing Scripts missing in 3CX Pro

User0

Trial User
Joined
Aug 22, 2026
Messages
4
Reaction score
2
Hi, new user here.

I’m managing a self-hosted 3CX Pro instance and am not working with a 3CX partner during the trial month.

Under Admin > Integration > Call Scripts, I see:

Call Processing Script
This feature is unavailable on your current edition
My understanding is that 3CX Pro includes Call Processing Scripts. Is there anything I need to do to activate this feature myself, or is there an alternative way to enable it directly through my license?

Thank you.
 
You're using a trial license so it's blocked for now. You need a paid license to use it, even on Pro.
 
Thanks for the clarification. So, Call Processing Scripts are included with the Pro edition, but they’re disabled during the trial period and become available only after purchasing a paid license.

That’s kinda weird for a trial, preventing us from testing the feature before committing to a paid license. Anyway, thank you for your reply.
 
What are you trying to do with Call Scripts? Maybe we can at least tell you if what you need is possible or not, and give you some pointers.
 
What are you trying to do with Call Scripts? Maybe we can at least tell you if what you need is possible or not, and give you some pointers.
Two things:
  1. I have several dynamic queues (A, B, C, etc.) and two DIDs (#1 and #2). I’d like to automatically set the outbound DID for staff in Queue B to #2, so that when customers call back, they reach the correct queue. I understand I could ask staff to use a dial prefix to select the DID, but that’s a bit inconvenient. I thought Call Scripts might be able to help with this.
  2. I’d like to distinguish between external and internal calls. For example, if a call to Queue A is unanswered, I’d like to forward external calls to another queue, while sending internal calls directly to voicemail.
Any pointers on whether these are possible with Call Scripts would be greatly appreciated.
 
I have several dynamic queues (A, B, C, etc.) and two DIDs (#1 and #2). I’d like to automatically set the outbound DID for staff in Queue B to #2, so that when customers call back, they reach the correct queue. I understand I could ask staff to use a dial prefix to select the DID, but that’s a bit inconvenient. I thought Call Scripts might be able to help with this.
A Call Script will not help in this case. These scripts are activated on inbound calls, but can't intercept an outbound call to do something with them. If you are not changing the users all the time, your best option in my opinion is setting different outbound rules, and restrict them to specific users. Then, when User 1 calls to an external number, it will use Outbound Rule 1, and then Caller ID 1. If the User 2 calls the same number, it will use Outbound Rule 2, and then Caller ID 2. No prefix needed.

The only problem with this, is when you need to change the users from the queue. You will need to remember to adjust the outbound rules as well....

I’d like to distinguish between external and internal calls. For example, if a call to Queue A is unanswered, I’d like to forward external calls to another queue, while sending internal calls directly to voicemail.
This can be done with a Call Script or CFD app. Pretty simple to do from a CFD app. Just set the CFD app as the destination if no answer for queue A. Then from the CFD app you can check the length of the caller's number, for example to check if it has 4 digits (when you use 4-digits extensions) you use:
EQUAL(session.ani,4)

Then, depending on the result, you transfer to another queue or a voicemail.
 
  • Like
Reactions: User0
This can be done with a Call Script or CFD app. Pretty simple to do from a CFD app. Just set the CFD app as the destination if no answer for queue A. Then from the CFD app you can check the length of the caller's number, for example to check if it has 4 digits (when you use 4-digits extensions) you use:
EQUAL(session.ani,4)

Then, depending on the result, you transfer to another queue or a voicemail.
Thanks for confirming.

A Call Script will not help in this case. These scripts are activated on inbound calls, but can't intercept an outbound call to do something with them. If you are not changing the users all the time, your best option in my opinion is setting different outbound rules, and restrict them to specific users. Then, when User 1 calls to an external number, it will use Outbound Rule 1, and then Caller ID 1. If the User 2 calls the same number, it will use Outbound Rule 2, and then Caller ID 2. No prefix needed.

The only problem with this, is when you need to change the users from the queue. You will need to remember to adjust the outbound rules as well....
Exactly my problem. By dynamic queues, I mean the queue members change every day.

I was hoping Call Scripts could do something along the lines of changing queue membership and setting the extension’s outbound DID at the same time. For example, when a staff member wants to log into a queue, they could dial a code that executes the script to log them into the queue and also set their outbound DID accordingly.

If Call Scripts can’t do this, maybe the XAPI/Call API in the 3CX AI, but 3CX AI is probably a bit overkill for my small business anyway :)
 

Latest Posts

Forum statistics

Threads
111,894
Messages
589,600
Members
164,763
Latest member
Techmansam