twiliotwilio-flex

How to enable auto answer plugin by attribute


I'm trying to use this documentation in order to build a plugin to auto accept an inbound call. What I also want is the ability to turn auto answer on/off by a certain worker attribute. Here's what I have so far in my init(flex, manager) method :

if(manager.workerClient.attributes.[attribute name].includes('[attribute name')) {
    manager.workerClient.on('reservationCreated', reservation => {
         if (reservation.task.attributes.autoAnswer === 'true') {
           flex.Actions.invokeAction('AcceptTask', {sid: reservation.sid});
           flex.Actions.invokeAction('SelectTask', {sid: reservation.sid});
         }
    });
}

I've read through the documentation on accessing worker attributes and think I'm fine with getting the attribute name. However, I'm unsure of the auto answer portion.


Solution

  • Twilio developer evangelist here.

    Your code looks correct, I have a similar example that I've used before here.

    After discussing with you in the comments, if you set the plugins url to an empty string or null, then Flex will make an API request to look for plugins that it should load at flex.twilio.com/plugins, which only comprises of plugins that you have deployed. You should either set the url to your local /plugins to load the local version. Or you should deploy your plugin so that it can be loaded from flex.twilio.com/plugins in your environment.