Yandex Cloud
Search
Discuss with expertTry it for free
  • Customer Stories
  • Documentation
  • Blog
  • All Services
  • System Status
  • Marketplace
    • Featured
    • Infrastructure & Network
    • Data Platform
    • AI for business
    • Security
    • DevOps tools
    • Serverless
    • Monitoring & Resources
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Center for Technologies and Society
    • Yandex Cloud Partner program
    • Price calculator
    • Pricing plans
  • Customer Stories
  • Documentation
  • Blog
© 2026 Direct Cursus Technology L.L.C.
Tutorials
    • All tutorials
        • Overview
        • Management console, CLI, and API
        • Terraform
      • Building a skill for Alice and a website with authorization

In this article:

  • Getting started
  • Prepare the code for the Alice's skill
  • Create a function and a function version
  • Add the function link to the Alice's skill
  • Test the skill
  • How to delete the resources you created
  1. Application solutions
  2. Alice
  3. Creating a skill for Alice
  4. Management console, CLI, and API

Creating a skill for Alice using serverless technology via the management console, Yandex Cloud CLI, or API

Written by
Yandex Cloud
Updated at July 8, 2026
View in Markdown
  • Getting started
  • Prepare the code for the Alice's skill
  • Create a function and a function version
  • Add the function link to the Alice's skill
  • Test the skill
  • How to delete the resources you created

To create a skill for Alice using serverless technology via the Yandex Cloud management console, CLI, or API:

To add a skill for Alice based on a function:

  1. Get your cloud ready.
  2. Prepare the skill code.
  3. Create a function and a function version.
  4. Add the function link to the Alice's skill.
  5. Test the skill.

If you no longer need the resources you created, delete them.

Learn more about developing a skill for Alice here.

Getting startedGetting started

Sign up for Yandex Cloud and create a billing account:

  1. Navigate to the management console and log in to Yandex Cloud or create a new account.
  2. On the Yandex Cloud Billing page, make sure you have a billing account linked and it has the ACTIVE or TRIAL_ACTIVE status. If you do not have a billing account, create one and link a cloud to it.

If you have an active billing account, you can create or select a folder for your infrastructure on the cloud page.

Learn more about clouds and folders here.

Prepare the code for the Alice's skillPrepare the code for the Alice's skill

To create a function version, you can use one of the code upload formats. In this example, we will upload the code to Yandex Cloud Functions as a ZIP archive.

Python
Node.js
  1. Download the parrot.py example file from the GitHub repo.
  2. Create a ZIP archive named parrot-py.zip with the parrot.py file.
  1. Download the index.js example file from the GitHub repo.
  2. Create a ZIP archive named parrot-js.zip with the index.js file.

Create a function and a function versionCreate a function and a function version

Once created, the function will contain only information about itself, i.e., its name, description, unique ID, etc. The actual skill code will be added to the function version.

Management console
CLI
API
  1. In the management console, select the folder to create your function in.

  2. Click Create resource and select Function.

  3. Give the function a name, e.g., my-parrot-function.

  4. Click Create.

  5. Create a function version:

    Python
    Node.js
    1. From the list of programming languages, select Python 3.12.

    2. Disable Add files with code examples and click Continue.

    3. Prepare the function code:

      • In the Code source field, select ZIP archive and attach the parrot-py.zip archive you created earlier.
      • In the Entry point field, specify parrot.handler.
    4. Configure the version:

      • Timeout: 2.
      • Memory: 128 MB.
      • Leave the other settings at their defaults.
    5. Click Save changes.

    1. In the list of programming languages, select Node.js 18.

    2. Disable Add files with code examples and click Continue.

    3. Prepare the function code:

      • In the Code source field, select ZIP archive and attach the parrot-js.zip archive you created earlier.
      • In the Entry point field, specify index.handler.
    4. Configure the version:

      • Timeout: 2.
      • Memory: 128 MB.
      • Leave the other settings at their defaults.
    5. Click Save changes.

If you do not have the Yandex Cloud CLI yet, install and initialize it.

The folder used by default is the one specified when creating the CLI profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also specify a different folder for any command using --folder-name or --folder-id. If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.

  1. To create a function, run this command:

    yc serverless function create \
      --name my-parrot-function
    

    Result:

    id: d4el0mi6ps6s********
    folder_id: b1g5bhjofg7o********
    created_at: "2026-06-15T08:16:02.695Z"
    name: my-parrot-function
    http_invoke_url: https://functions.yandexcloud.net/d4el0mi6ps6s********
    status: ACTIVE
    
  2. To create a function version, run this command:

    Python
    Node.js
    yc serverless function version create \
      --function-name my-parrot-function \
      --runtime python312 \
      --entrypoint index.handler \
      --memory 128m \
      --execution-timeout 5s \
      --source-path ./parrot-py.zip
    

    Result:

    done (2s)
    id: d4easr8ok281********
    function_id: d4el0mi6ps6s********
    created_at: "2026-06-15T08:42:20.771Z"
    runtime: python312
    entrypoint: index.handler
    resources:
      memory: "134217728"
    execution_timeout: 5s
    image_size: "4096"
    status: ACTIVE
    tags:
      - $latest
    concurrency: "1"
    log_options:
      folder_id: b1g5bhjofg7o********
    
    yc serverless function version create \
      --function-name my-parrot-function \
      --runtime nodejs18 \
      --entrypoint index.handler \
      --memory 128m \
      --execution-timeout 5s \
      --source-path ./parrot-js.zip
    

    Result:

    done (2s)
    id: d4etv45m1vor********
    function_id: d4el0mi6ps6s********
    created_at: "2026-06-15T08:45:25.313Z"
    runtime: nodejs18
    entrypoint: index.handler
    resources:
      memory: "134217728"
    execution_timeout: 5s
    image_size: "4096"
    status: ACTIVE
    tags:
      - $latest
    concurrency: "1"
    log_options:
      folder_id: b1g5bhjofg7o********
    

To create a function, use the create REST API method for the Function resource or the FunctionService/Create gRPC API call.

To create a function version, use the createVersion REST API method for the Function resource or the FunctionService/CreateVersion gRPC API call.

Add the function link to the Alice's skillAdd the function link to the Alice's skill

Yandex Dialogs UI
  1. Go to the Alice skill page in your dashboard.

  2. Click Skill for Alice and do the following in the window that opens:

    1. In the Skill name field, specify a unique name for the skill you are creating.

    2. In the Backend field, select Function in Yandex Cloud. Select the function you created earlier from the drop-down list.

      Warning

      The list shows the functions that you are allowed to view. To attach a function to a skill, you need permission to invoke the function. This permission comes with the functions.functionInvoker role or higher.

    3. Leave all the other parameter values unchanged and click Save at the top of the page.

The functions.functionInvoker role allows you to invoke functions. For more information on access management in Yandex Cloud, see this guide.

Test the skillTest the skill

Yandex Dialogs interface
  1. In your Yandex Dialogs account, select Testing in the left-hand menu on the page with the skill you created earlier.
  2. If everything is set up correctly, the Chat section will display a message inviting you to start a conversation: Hello! I'll repeat anything you say to me..
  3. Send a message with any text and make sure the response contains the same text.

How to delete the resources you createdHow to delete the resources you created

To stop the skill, delete the function.

With Yandex Cloud Functions functions, you can place your code in Yandex Cloud and run on request or trigger. For more information, see Function.

A folder is a logical space where you create and group your Yandex Cloud resources. Just like folders in your file system, Yandex Cloud folders make resource management simpler. For more information, see Folder.

The naming requirements are as follows:

  • It must be between 3 and 63 characters in length.
  • It can only contain lowercase Latin letters, numbers, and hyphens.
  • It must start with a letter and cannot end with a hyphen.

A version contain the function code, execution parameters, as well as all required dependencies. You can use different versions of the same function at different development stages. For more information, see Function versions.

There are several ways to upload a function version code: in the editor in the management console, from local files and directories, or as an archive. For more information, see Code upload format.

Useful linksUseful links

  • Creating a skill for Alice using Terraform

Was the article helpful?

Previous
Overview
Next
Terraform
© 2026 Direct Cursus Technology L.L.C.