Hello,
Queue channel must be set to the queue members that freepbx is adding when you do so via the dialplan, look at the queues_additional.conf file for the member lines, you should use the same in fop2 so it will replicate the behavior exactly, with one minor difference... the penalty and the rest of the parameters must be specified something like this:
Local/xxxx@from-queue/n|Penalty=20|MemberName=John Doe|StateInterface=SIP/xxxx
(Using pipe to separate options, and using the option name).
Penalty, MemberName, StateInterface and any other options you might have are OPTIONAL, not mandatory. But you should use the very same options that freepbx uses to replicate the behavior, if you do not do that, you might have a different penalty when login into fop2 (perhaps you do want to setup different penalties when adding via fop2), or membernames (that will affect the queue_log stats).
chanspy options is to set chanspy options, you should read the chanspy documentation to see what your options are (you might want to supress the beep? limit to some spygroup? enabling call barging ? ) The documetation explain some of the most interesting options.
All the options are documented in the online documentation. The originate channel is for "originating" calls, any action that involves an origination (that your extension will ring) will use that originating channel if you set it to something. In User and Device mode, as you do not know the real device, you should use Local/EXTENSION@from-internal or perhaps @ext-local in order to ring the proper "user".
external is the external number to enable the "transfer to external" button (that also requires the transferexternal permission). It is a shortcut for transferring to some external number instead of the extension with just one click.