# Cannot retrieve class from path credentials

**URL:** <https://forum.rasa.com/t/cannot-retrieve-class-from-path-credentials/10177>\
**Category:** \[Deprecated\] Rasa X Community Edition\
**Created:** [May 22, 2019, 2:44pm UTC](https://forum.rasa.com/t/cannot-retrieve-class-from-path-credentials/10177 "2019-05-22T14:44:20Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![CyrilBjn](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/cyrilbjn/32/2812_2.png) [@CyrilBjn](https://forum.rasa.com/u/CyrilBjn)\
**Post date:** [May 22, 2019, 2:44pm UTC](https://forum.rasa.com/t/cannot-retrieve-class-from-path-credentials/10177/1 "2019-05-22T14:44:20Z")

</div>

Hello everyone, I have a project which was running. I try to test RASA X, but it raised this error :

> Process SpawnProcess-1: Traceback (most recent call last): File “c:\users\cyril\anaconda3\lib\site-packages\rasa\core\run.py”, line 48, in \_create\_single\_channel input\_channel\_class = utils.class\_from\_module\_path(channel) File “c:\users\cyril\anaconda3\lib\site-packages\rasa\core\utils.py”, line 66, in class\_from\_module\_path raise ImportError(“Cannot retrieve class from path {}.”.format(module\_path)) ImportError: Cannot retrieve class from path credentials.
> 
> During handling of the above exception, another exception occurred:
> 
> Traceback (most recent call last): File “c:\users\cyril\anaconda3\lib\multiprocessing\process.py”, line 297, in \_bootstrap self.run() File “c:\users\cyril\anaconda3\lib\multiprocessing\process.py”, line 99, in run self.\_target(\*self.\_args, \*\*self.\_kwargs) File “c:\users\cyril\anaconda3\lib\site-packages\rasa\cli\x.py”, line 74, in \_rasa\_service jwt\_method=args.jwt\_method, File “c:\users\cyril\anaconda3\lib\site-packages\rasa\core\run.py”, line 132, in serve\_application input\_channels = create\_http\_input\_channels(channel, credentials) File “c:\users\cyril\anaconda3\lib\site-packages\rasa\core\run.py”, line 37, in create\_http\_input\_channels return [\_create\_single\_channel(c, k) for c, k in all\_credentials.items()] File “c:\users\cyril\anaconda3\lib\site-packages\rasa\core\run.py”, line 37, in return [\_create\_single\_channel(c, k) for c, k in all\_credentials.items()] File “c:\users\cyril\anaconda3\lib\site-packages\rasa\core\run.py”, line 56, in \_create\_single\_channel “is a proper name of a class in a module.”.format(channel) Exception: Failed to find input channel class for ‘credentials’. Unknown input channel. Check your credentials configuration to make sure the mentioned channel is not misspelled. If you are creating your own channel, make sure it is a proper name of a class in a module.

I Don’t understand what it mean, so I come to you for help 🙂

Best, Cyril

---

<div class="post-metadata">

**Author:** ![erohmensing](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/erohmensing/32/1789_2.png) [@erohmensing](https://forum.rasa.com/u/erohmensing)\
**Post date:** [May 22, 2019, 3:48pm UTC](https://forum.rasa.com/t/cannot-retrieve-class-from-path-credentials/10177/2 "2019-05-22T15:48:42Z")

</div>

Hi there Cyril. Can you post the format of your `credentials.yml` (you can replace any sensitive info)? seems like you might have `credentials:` as a channel name in there, which is incorrect.

---

<div class="post-metadata">

**Author:** ![CyrilBjn](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/cyrilbjn/32/2812_2.png) [@CyrilBjn](https://forum.rasa.com/u/CyrilBjn)\
**Post date:** [May 23, 2019, 7:47am UTC](https://forum.rasa.com/t/cannot-retrieve-class-from-path-credentials/10177/3 "2019-05-23T07:47:27Z")

</div>

I got this

> rest:
> 
> # # you don’t need to provide anything here - this channel doesn’t
> 
> # # require any credentials
> 
> rasa: url: “[http://localhost:5002/api](http://localhost:5002/api)” facebook: verify: “#########” secret: “#########################” page-access-token: “####################################”
> 
> credentials: GOOGLE\_KEY: “###################################”

It seems to be google key, but I previously used it to call in actions the Google Maps APIs

---

<div class="post-metadata">

**Author:** ![erohmensing](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/erohmensing/32/1789_2.png) [@erohmensing](https://forum.rasa.com/u/erohmensing)\
**Post date:** [May 23, 2019, 7:54am UTC](https://forum.rasa.com/t/cannot-retrieve-class-from-path-credentials/10177/4 "2019-05-23T07:54:02Z")

</div>

How did you access the credentials from the actions before? I don’t think this is the proper way to go about it — `credentials.yml` is for credentials for your input/output channels. It would be best in your custom actions to use environment variables for your keys and check them in the custom actions. E.g. we have a config [here](https://github.com/RasaHQ/rasa-demo/blob/master/demo/config.py) where we pick up environment variables and then can use them in our actions code [here](https://github.com/RasaHQ/rasa-demo/blob/master/demo/actions.py#L63).

---

<div class="post-metadata">

**Author:** ![CyrilBjn](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/cyrilbjn/32/2812_2.png) [@CyrilBjn](https://forum.rasa.com/u/CyrilBjn)\
**Post date:** [May 23, 2019, 7:57am UTC](https://forum.rasa.com/t/cannot-retrieve-class-from-path-credentials/10177/5 "2019-05-23T07:57:21Z")

</div>

Okay, I was using for exemple : [tutorial-rasa-google-assistant/credentials.yml at master · RasaHQ/tutorial-rasa-google-assistant · GitHub](https://github.com/RasaHQ/tutorial-rasa-google-assistant/blob/master/place_finder/credentials.yml)

I’ll do the way you say 😊

---

<div class="post-metadata">

**Author:** ![erohmensing](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/erohmensing/32/1789_2.png) [@erohmensing](https://forum.rasa.com/u/erohmensing)\
**Post date:** [May 23, 2019, 7:59am UTC](https://forum.rasa.com/t/cannot-retrieve-class-from-path-credentials/10177/6 "2019-05-23T07:59:15Z")

</div>

Ah I see. Yes, a tutorial from last septemper is bound to be out of date as we’ve released like 3 new major releases since then. Sorry about that!
