# Get slots name and their values

**URL:** <https://forum.rasa.com/t/get-slots-name-and-their-values/22491>\
**Category:** Rasa Open Source\
**Created:** [December 16, 2019, 8:50am UTC](https://forum.rasa.com/t/get-slots-name-and-their-values/22491 "2019-12-16T08:50:43Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![nadachaabani1](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/nadachaabani1/32/5919_2.png) [@nadachaabani1](https://forum.rasa.com/u/nadachaabani1)\
**Post date:** [December 16, 2019, 8:50am UTC](https://forum.rasa.com/t/get-slots-name-and-their-values/22491/1 "2019-12-16T08:50:43Z")

</div>

I have migrate Rasa from rasa core==0.13.2 to Rasa==1.5.1 in the previous version i have insert user slots in mongo database using validate() in form action:

```
    slot_values = self.extract_other_slots(dispatcher, tracker, domain)
    conversation_id = tracker.get_slot('conversation_id')
    for slot, value in slot_values.items():

        # insert user information
        params = {
                slot : value,
                "completed": False
        }
        database_connexion.connection(conversation_id, params)

# function to insert users informations in mongo database
def connection(conversation_id,params):

    client = MongoClient(host='localhost',port=27017)

    if client is None:
        return

    try:        
        db=client.meera_simulation.user_informations
        db.update_one({"_id": conversation_id },{"$set":params},upsert=True)
        print("params :", params)

    except Exception as e:
        print("Unable to connect to %s.", e)  

```

But in the current version the validate function don’t exists. I need `slot : value` in every step of the conversation. Please any ideas about how can i achive that ?

---

<div class="post-metadata">

**Author:** ![amn41](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/amn41/32/20_2.png) [@amn41](https://forum.rasa.com/u/amn41)\
**Post date:** [December 19, 2019, 12:02pm UTC](https://forum.rasa.com/t/get-slots-name-and-their-values/22491/2 "2019-12-19T12:02:58Z")

</div>

Hi @nadachaabani1! What do you mean when you say ‘the validate function doesn’t exist’ ? We didn’t remove it, you can still do custom slot validation [Forms](https://rasa.com/docs/rasa/core/forms/#validating-user-input)

---

<div class="post-metadata">

**Author:** ![nadachaabani1](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/nadachaabani1/32/5919_2.png) [@nadachaabani1](https://forum.rasa.com/u/nadachaabani1)\
**Post date:** [December 19, 2019, 2:11pm UTC](https://forum.rasa.com/t/get-slots-name-and-their-values/22491/3 "2019-12-19T14:11:21Z")

</div>

hey @amn41, in this version we should add a validation function for every slot using `validate_{slot-name}` . But a single function that access to all slots still exists ? because i need the loop : `for slot, value in slot_values.items():`

---

<div class="post-metadata">

**Author:** ![nadachaabani1](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/nadachaabani1/32/5919_2.png) [@nadachaabani1](https://forum.rasa.com/u/nadachaabani1)\
**Post date:** [December 19, 2019, 3:04pm UTC](https://forum.rasa.com/t/get-slots-name-and-their-values/22491/4 "2019-12-19T15:04:55Z")

</div>

@amn41, thank you so much now it works fine. in the last time, i couldn’t access to `REQUIRED_SLOT` variable but now it works. i have used the same actions script and i have update rasa\_core\_sdk to rasa\_sdk
