Rate this page:

Alexa (Deprecated)

With Twilio Autopilot you can build Alexa Skills. On this page we'll walk you through how to link Alexa and Autopilot. These steps will link the two:

  1. Go to
  2. Click the Create Skill button
  3. Fill in your skill project name
  4. On the next tab, choose Custom and Provision your own hit the Create Skill button
  5. Once you're in the builder IDE, click on the Invocation sidebar tab
    1. Pick an invocation name. This is the name used to invoke the skill say, "owl cafe", from the phrase "Alexa, ask owl cafe to order me a coffee"
    2. Hit Save
  6. In another tab, navigate to the Twilio Autopilot Assistant list
    1. Click the Assistant you are working on
    2. Click Channels
    3. Click Alexa
    4. Type in the Invocation Name from the step above
    5. Click Generate JSON
  7. Switch back to the Amazon Developer Console tab, and Click on the JSON editor sidebar button
    1. Paste the JSON that was generated in the step above
    2. Click Save Model
    3. Click Build Model
  8. Click on the Endpoints sidebar button
    1. Click the HTTPS radio button
    2. Paste the URL from the Autopilot Console
    3. Make sure you change the invocationName in the JSON.
    4. Choose "My development endpoint is a subdomain . . . " for SSL configuration
    5. Click Save Endpoints
  9. Go to the Test tab and interact with Autopilot by typing or saying "ask <your skill name> <something something>"

Account Linking

Autopilot supports Alexa account linking for skills that require the ability to connect the identity of the user with a user in another system. This is referred to as account linking, since the goal is to create a link between the Alexa user and the user account in your system.

Please see the Account Linking for custom Skills documentation

You will get the Token referenced here in the Autopilot request when the request comes from Alexa and the Skill has Account linking setup.

  "user": { "userId": "amzn1.ask.account.XXXXXXXXXX", "accessToken": "Atza|AAAAAABBBBBBCCCCCC" },
    "value":"make a reservation",

Autopilot URL Parameters

Parameter Description

A string representing the unique name of the destination Task. If no TargetTask is provided, the destination task is determined by the natural language understanding.

TargetTask is useful when you want to control what task a user is routed to.

Example 1: Using TargetTask parameter at the end of the URL<ACCOUNT_SID>/<ASSISTANT_SID>/alexa?TargetTask=handle_appointment_confirmation

Any message sent to number or messaging service configured with this URL will land in the handle_appointment_confirmation task.

Example 2: Passing Inbound Context with Memory<ACCOUNT_SID>/<ASSISTANT_SID>/alexa?Memory={"CarModel":"Diablo","CarMake":"Lamborghini","CarYear":"2019"}

Any message sent to a bot with this URL will insert CarModel, CarMake and CarYear into the Autopilot Memory.

Rate this page:

Need some help?

We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd browsing the Twilio tag on Stack Overflow.


        Thank you for your feedback!

        We are always striving to improve our documentation quality, and your feedback is valuable to us. How could this documentation serve you better?

        Sending your feedback...
        🎉 Thank you for your feedback!
        Something went wrong. Please try again.

        Thanks for your feedback!

        Refer us and get $10 in 3 simple steps!

        Step 1

        Get link

        Get a free personal referral link here

        Step 2

        Give $10

        Your user signs up and upgrade using link

        Step 3

        Get $10

        1,250 free SMSes
        OR 1,000 free voice mins
        OR 12,000 chats
        OR more