Skip to main content

Create a Rasa form from a YAML file

Project description

Rasa MetaForm

Build Status PyPI version Supported Python Versions Code style: black

Rasa MetForm is a small extension of Rasa's rasa-sdk which introduces a MetaFormAction, an extended FormAction. Read more in a blog post.

Problem statement


Creating Forms in Rasa requires defining a class for each form, inheriting from FormAction, specifying few methods, as well as in domain.yml, with matching slots and templates.


Form would be specified in a single, human-readable, easy to edit file. From this file we would populate domain.yml with all the necessary instances of forms, slots and templates, as well as define a new FormAction class, which will implement all the necessary methods, including name, required_slots (following the logic in the form file), slot_mappings, all validate_{slot} and submit.


MetaFormAction allows to create classes from a YAML file and populates the domain with all the needed information.


The easiest way to install the package is through PyPI.

pip install rasa-metaform

However you might find it more useful to clone the repository and edit the MetaFormAction class for your form(s). We will extend the functionality with additional validation methods.

Form YAML file

See the sample.yml for an example form YAML file.


Licensed under the Apache License, Version 2.0. Copyright 2019 Magnet S Coop. Copy of the license.

A list of the Licenses of the dependencies of the project can be found at the bottom of the Libraries Summary.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rasa_metaform-0.2.7.tar.gz (4.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page