Thanks for your suggestion of using a SQL trigger, but before I go down that route, I still want to see if I can get my current customisation to work instead, as it is so close to working correctly I think.
Just to confirm, the custom script is running and the new value is written to the database before the email is sent, so I'm not sure why the send email functionality isn't picking up the new custom field value that is saved.
e.g. I edit a call, type something into the "Actions & Solutions" field and click on "Internal". At this point if I look in the Debug trace I can see my custom script running and if, in SQL, I query the row in SU_EXTENSION_DATA, I see the newly typed Action text has been stored for the call number.
However, when I now click on OK (on the "Forward Call Internally" screen) to forward the call to a group, the email then gets sent to the officers has the old value that was stored in the custom field.
I can't see where the "Send Email" functionality is getting it's data from to populate the email body in order to troubleshoot any further - I presume it's "hidden" somewhere and in the core processing can't be customised?
Any other idea's though before I move on and try the SQL trigger method instead?
Thanks