Yandex Cloud
Search
Contact UsGet started
  • Pricing
  • Customer Stories
  • Documentation
  • Blog
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • ML Services
    • Business tools
  • 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
  • Pricing
  • Customer Stories
  • Documentation
  • Blog
© 2025 Direct Cursus Technology L.L.C.
Yandex Cloud Functions
  • Comparison with other Yandex Cloud services
    • All tutorials
    • Creating a skill for Alice
    • Deploying a web application
    • Creating a skill for Alice and a website with authorization
    • Writing data from a device into a database
    • Writing load balancer logs to PostgreSQL
    • Developing a Slack bot
    • Developing a Telegram bot
    • Connecting to a YDB database from a Python function
    • Connecting to a YDB database from a function in Node.js
    • Converting a video to a GIF in Python
    • Creating a Node.js function using TypeScript
    • Developing a custom integration
    • Creating a budget trigger that invokes a function to stop a VM
    • Creating an interactive serverless application using WebSocket
    • Automatically copying objects from one Object Storage bucket to another
    • Running computations on a schedule in DataSphere
    • Interactive debugging of functions
    • Regular asynchronous recognition of audio files from Object Storage
    • Canary release of Cloud Functions
    • Deploying a fault-tolerant architecture with preemptible VMs
    • Creating triggers that invoke a function to stop a VM and send a Telegram notification
    • Loading data from Yandex Direct to a Yandex Managed Service for ClickHouse® data mart using Yandex Cloud Functions, Yandex Object Storage, and Yandex Data Transfer
    • Status monitoring of geographically distributed devices
    • Sensor reading monitoring and event notifications
    • Emulating multiple IoT devices
    • Streaming Yandex Cloud Postbox events to Yandex Data Streams and analyzing them with Yandex DataLens
    • URL shortener
    • Yandex Tracker: data export and visualization
    • Running computations in DataSphere using the API
    • Developing a Telegram bot for text and audio recognition
    • Configuring responses in Yandex Cloud Logging and Cloud Functions
    • Developing functions in Functions Framework and deploying them to Yandex Serverless Containers
    • Configuring CI/CD with SourceCraft
    • Configuring CI/CD with GitHub
    • Creating an AI agent with Cloud Functions
  • Tools
  • Pricing policy
  • Access management
  • Terraform reference
  • Monitoring metrics
  • Audit Trails events
  • Public materials
  • Release notes
  • FAQ

In this article:

  • Getting started
  • Prepare the code for Alice's skill
  • Create a function and a function version
  • Add the function link to Alice's skill
  • Test the skill
  • How to delete the resources you created
  1. Tutorials
  2. Creating a skill for Alice

Creating a skill for Alice

Written by
Yandex Cloud
Improved by
Danila N.
Updated at August 14, 2025
  • Getting started
  • Prepare the code for Alice's skill
  • Create a function and a function version
  • Add the function link to Alice's skill
  • Test the skill
  • How to delete the resources you created

As an example, we will create a skill called Parrot, which repeats everything a user writes or says. The example is available in two programming languages: Python and Node.js.

To add an Alice skill 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 Alice's skill.
  5. Test the skill.

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

You can find more information about developing skills 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 navigate to the cloud page to create or select a folder for your infrastructure.

Learn more about clouds and folders here.

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

To create a version of a function, you can use one of the code upload formats. As an example, we will upload the code as a ZIP archive.

Python
Node.js
  1. Download a sample file from GitHub: parrot.py.
  2. Create a ZIP archive named parrot-py.zip with the parrot.py file.
  1. Download a sample file from GitHub: index.js.
  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: name, description, unique ID, etc. The actual skill code will be added to the function version.

  1. In the management console, select the folder to create the function in.

  2. Click Create resource and select Function.

  3. Enter a function name. The naming requirements are as follows:

    • It must be from 2 to 63 characters long.
    • It can only contain lowercase Latin letters, numbers, and hyphens.
    • It must start with a letter and cannot end with a hyphen.
  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 Method field, select ZIP archive and attach the parrot-py.zip archive you created earlier.
      • In the Entry point field, specify parrot.handler.
    4. Set the version parameters:

      • Timeout: 2.
      • Memory: 128 MB.
      • Leave the rest of the parameters at their defaults.
    5. Click Save changes.

    1. From 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 Method field, select ZIP archive and attach the parrot-js.zip archive you created earlier.
      • In the Entry point field, specify index.handler.
    4. Set the version parameters:

      • Timeout: 2.
      • Memory: 128 MB.
      • Leave the rest of the parameters at their defaults.
    5. Click Save changes.

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

  1. Go to the Alice skill page in your dashboard.

  2. Click Create dialog. In the window that opens, select Skill.

  3. On the Settings tab:

    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 launch the function. This permission is included in the functions.functionInvoker and editor roles or higher.

    1. At the bottom of the page, click Save.

Test the skillTest the skill

  1. Open the Testing tab on the skill page in your dashboard.
  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 and make sure the response is the same.

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

To stop the skill, delete the function.

Was the article helpful?

Previous
All tutorials
Next
Deploying a web application
© 2025 Direct Cursus Technology L.L.C.