Skip to main content

Install the template on hosted Flex

Time to complete: ~8 minutes

INFO

These steps require a currently-maintained version of Flex UI 2.x to be configured on your Flex account, and the TaskRouter workspace name to be the default "Flex Task Assignment".

  1. Create your own repository using the template.

    • (Optional) After creating your repo, you may also want to attach the history to your new repository to be able to later pull in future updates--this can also be done later.

    • NOTE If you are on the free GitHub tier, the repository will need to be public. If you are on the free tier and still want to use a private repo you will need to clone the deploy script to have dedicated secrets per environment

  2. Create a Twilio API key and secret for your account, which we will use in the next step.

  3. In GitHub, navigate to the repository you created in step 1, click the Settings tab -> Environments -> "New Environment"

    • For the environment name, do not include spaces or other special characters except hyphens and underscores
    • Add the following secrets for that environment:
      • TWILIO_ACCOUNT_SID - the account sid you want to deploy to
      • TWILIO_API_KEY - the api key or key "sid" as its otherwise known
      • TWILIO_API_SECRET - the api secret
      • TF_ENCRYPTION_KEY this can be any string value you want
    • your environment secrets should look something like this (TF_ENCRYPTION_KEY can be a repo or environment secret) image
  4. Log in to Flex, open the admin panel, and validate Flex UI 2.x is the configured version.

  5. Optionally navigate to the Flex console and enable the Flex dialpad (this is required for some features)

  6. Navigate over to GitHub actions of your repository and select the Deploy Flex action script, select the environment you want to deploy, and check the boxes for

    • Is this the first release to the environment?
    • Deploy Terraform? (as cautioned below)
Important!

These deploy steps will set up TaskRouter and Studio configuration to allow more complex features to work out-of-the-box. The following resources will be affected when selecting the Deploy Terraform? option:

TaskRouter resources affected
NameExisting or NewDescription
Template Example Assign to AnyoneNewUsed by example Studio flows and demonstrate filters for example queues
Template Example Chat TransferNewWorkflow that supports the conversation transfer feature
Template Example CallbackNewWorkflow that supports the requeuing of callbacks and voicemails from the callback and voicemail feature
Template Example Internal CallsNewWorkflow that supports the internal call feature
Template Example Park/ResumeNewWorkflow that supports the park interaction feature
Studio resources affected
NameExisting or NewDescription
Template Example Callback FlowNewExample usage of the callback and voicemail feature, adding a callback or voicemail option while waiting in queue
Template Example Messaging with Parking FlowNewExample for the park interaction feature, using a workflow that supports the routing of parked interactions
Template Example Schedule FlowNewExample usage of the schedule manager feature, adding a schedule lookup with different responses based on the result

If you have customizations within the resources listed as 'Existing' (or have created your own resources with the same name as ones listed as 'New') and do not wish to overwrite them, uncheck the Deploy Terraform? input box.

image

Unchecking this means features mentioned in the resource descriptions above will require manual setup, which can be found in the respective feature's documentation.

  1. Run the workflow.
    • This will deploy the assets to your environment with the default features enabled. See Feature library Information for further details of whats enabled by default.
    • Environment properties will be automatically populated based on the deployed Flex configuration, including service and workflow SIDs. See this page for information on how to influence this configuration.

All done! Once the workflow successfully completes, the template has been installed.